using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CoreSavingLibrary.WcfCommon;
using CoreSavingLibrary.WcfShrlon;
using CoreSavingLibrary.WcfBusscom;
using Sybase.DataWindow;
using System.Web.Services.Protocols;
using DataLibrary;
using System.Data;
using CoreSavingLibrary;
namespace Saving.Applications.shrlon
{
public partial class w_sheet_sl_loan_requestment_pea_emer : PageWebSheet, WebSheet
{
public String lc_loangroup = "02";
public String lc_loantype = null;
private DwThDate tDwMain;
//*******ประกาศตัวเกี่ยวกับ Javascript********//
protected String jsExpenseBank;
protected String jsExpenseCode;
protected String jsGetMemberInfo;
protected String jsGetMemberCollno;
protected String jsReNewPage;
protected String jsOpenOldDocNo;
protected String jsPostSetZero;
protected String jsSetpriod;
protected String jsCancelRequest;
protected String jsRefresh;
protected String jsCollInitP;
protected String jsCollCondition;
protected String jsSetDataList;
protected String jsPostColl;
protected String jsSumOthClr;
protected String jsContPeriod;
protected String jsChangeStartkeep;
protected String jsResumLoanClear;
protected String jsPermissSalary;
protected String jsRevert;
protected String jsPaycoopid;
protected String jsObjective;
protected String jsSetloantype;
protected String jsPostreturn;
protected String jsmaxcreditperiod;
protected String jsLoanpaymenttype;
protected string jssetcollrefcontno;
protected string jsSetloantypechg;
protected string JsReOtherclr;
protected string jsSetFixdate;
protected string jsExpensebankbrRetrieve;
protected string jsGetitemdescetc;
protected string resendStr;
protected string jsSetsalaryid;
protected String postSalaryId;
protected string jsRecalpermissumother;
//*******ประกาศตัวเกี่ยวกับ Reprot********//
string reqdoc_no = "";
String member_no = "";
string fromset = "";
String salary_id = "";
int x = 1;
protected String app;
protected String gid;
protected String rid;
protected String pdf;
protected String runProcess;
protected String popupReport;
protected string jsGetexpensememno;
protected String jsrunProcessLoan;
protected String jsRunProcessInvoice;
protected String jsrunProcessAgreeLoan;
protected String jsrunProcessAgreeColl;
protected String jsrunProcessCollReport;
protected String jsrunProcessDeptReport;
protected String jspopupAgreeLoanReport;
protected String jspopupAgreeCollReport;
protected String jspopupCollReport;
protected String jspopupReportInvoice;
protected String jspopupLoanReport;
protected String jspopupDeptReport;
protected string jsrecalloanpermiss;
protected string jsCheckCollmastrightBalance;
protected string jsCalpemisssalarybal;
//*******end Reprot********//
private ShrlonClient shrlonService;
private BusscomClient BusscomService;
private CommonClient commonService;
String ls_membtype = "";
String loantype = "";
int li_cramationstatus = 0;//สถานะฌาปนกิจ
String pbl = "sl_loan_requestment_cen.pbl";
private int flag;//ตรวจสอบการดึงข้อมูล
Sdt dt;
Sta ta;
///
/// Check Init Javascript
///
public void InitJsPostBack()
{
jsGetexpensememno = WebUtil.JsPostBack(this, "jsGetexpensememno");
jsExpenseCode = WebUtil.JsPostBack(this, "jsExpenseCode");
jsExpenseBank = WebUtil.JsPostBack(this, "jsExpenseBank");
jsGetMemberInfo = WebUtil.JsPostBack(this, "jsGetMemberInfo");
jsGetMemberCollno = WebUtil.JsPostBack(this, "jsGetMemberCollno");
jsReNewPage = WebUtil.JsPostBack(this, "jsReNewPage");
jsOpenOldDocNo = WebUtil.JsPostBack(this, "jsOpenOldDocNo");
jsPostSetZero = WebUtil.JsPostBack(this, "jsPostSetZero");
jsSetpriod = WebUtil.JsPostBack(this, "jsSetpriod");
jsCancelRequest = WebUtil.JsPostBack(this, "jsCancelRequest");
jsRefresh = WebUtil.JsPostBack(this, "jsRefresh");
jsCollInitP = WebUtil.JsPostBack(this, "jsCollInitP");
jsCollCondition = WebUtil.JsPostBack(this, "jsCollCondition");
jsSetDataList = WebUtil.JsPostBack(this, "jsSetDataList");
jsPostColl = WebUtil.JsPostBack(this, "jsPostColl");
jsSumOthClr = WebUtil.JsPostBack(this, "jsSumOthClr");
jsChangeStartkeep = WebUtil.JsPostBack(this, "jsChangeStartkeep");
jsContPeriod = WebUtil.JsPostBack(this, "jsContPeriod");
jsResumLoanClear = WebUtil.JsPostBack(this, "jsResumLoanClear");
jsPermissSalary = WebUtil.JsPostBack(this, "jsPermissSalary");
jsRevert = WebUtil.JsPostBack(this, "jsRevert");
jsPaycoopid = WebUtil.JsPostBack(this, "jsPaycoopid");
jsObjective = WebUtil.JsPostBack(this, "jsObjective");
jsSetloantype = WebUtil.JsPostBack(this, "jsSetloantype");
jsPostreturn = WebUtil.JsPostBack(this, "jsPostreturn");
jsmaxcreditperiod = WebUtil.JsPostBack(this, "jsmaxcreditperiod");
//jsmaxcreditperiod = WebUtil.JsPostBack(this, "jsSetFixdate");
jsrunProcessLoan = WebUtil.JsPostBack(this, "jsrunProcessLoan");
jsRunProcessInvoice = WebUtil.JsPostBack(this, "jsRunProcessInvoice");
jsrunProcessAgreeColl = WebUtil.JsPostBack(this, "jsrunProcessAgreeColl");
jsrunProcessCollReport = WebUtil.JsPostBack(this, "jsrunProcessCollReport");
jsrunProcessAgreeLoan = WebUtil.JsPostBack(this, "jsrunProcessAgreeLoan");
jsrunProcessDeptReport = WebUtil.JsPostBack(this, "jsrunProcessDeptReport");
jspopupAgreeLoanReport = WebUtil.JsPostBack(this, "jspopupAgreeLoanReport");
jspopupAgreeCollReport = WebUtil.JsPostBack(this, "jspopupAgreeCollReport");
jspopupCollReport = WebUtil.JsPostBack(this, "jspopupCollReport");
jspopupReportInvoice = WebUtil.JsPostBack(this, "jspopupReportInvoice");
jspopupLoanReport = WebUtil.JsPostBack(this, "jspopupLoanReport");
jspopupDeptReport = WebUtil.JsPostBack(this, "jspopupDeptReport");
jsrecalloanpermiss = WebUtil.JsPostBack(this, "jsrecalloanpermiss");
JsReOtherclr = WebUtil.JsPostBack(this, "JsReOtherclr");
runProcess = WebUtil.JsPostBack(this, "runProcess");
jssetcollrefcontno = WebUtil.JsPostBack(this, "jssetcollrefcontno");
jsSetloantypechg = WebUtil.JsPostBack(this, "jsSetloantypechg");
jsExpensebankbrRetrieve = WebUtil.JsPostBack(this, "jsExpensebankbrRetrieve");
jsCheckCollmastrightBalance = WebUtil.JsPostBack(this, "jsCheckCollmastrightBalance");
jsSetsalaryid = WebUtil.JsPostBack(this, "jsSetsalaryid");
postSalaryId = WebUtil.JsPostBack(this, "postSalaryId");
jsCalpemisssalarybal = WebUtil.JsPostBack(this, "jsCalpemisssalarybal");
jsRecalpermissumother = WebUtil.JsPostBack(this, "jsRecalpermissumother");
jsGetitemdescetc = WebUtil.JsPostBack(this, "jsGetitemdescetc");
resendStr = WebUtil.JsPostBack(this, "resendStr");
tDwMain = new DwThDate(dw_main, this);
tDwMain.Add("loanrequest_date", "loanrequest_tdate");
tDwMain.Add("loanrcvfix_date", "loanrcvfix_tdate");
tDwMain.Add("startkeep_date", "startkeep_tdate");
}
public void WebSheetLoadBegin()
{
this.ConnectSQLCA();
ta = new Sta(sqlca.ConnectionString);
sqlca = new DwTrans();
sqlca.Connect();
try
{
shrlonService = wcf.Shrlon;
commonService = wcf.Common;
BusscomService = wcf.Busscom;
}
catch
{
LtServerMessage.Text = WebUtil.ErrorMessage("ติดต่อ Web Service ไม่ได้");
return;
}
if (IsPostBack)
{
this.RestoreContextDw(dw_main);
this.RestoreContextDw(dw_coll);
this.RestoreContextDw(dw_clear);
this.RestoreContextDw(dw_otherclr);
String setting = dw_coll.Describe("coop_id.Protect");
bool isChecked = CbCheckcoop.Checked;
if (isChecked)
{
dw_coll.Modify("coop_id.Protect=0");
RetreiveDDDW();
JsExpenseCode();
}
else
{
dw_coll.SetItemString(1, "coop_id", state.SsCoopControl);
dw_coll.Modify("coop_id.Protect=1");
}
}
else
{
HdShowRemark.Value = "false";
}
if (dw_main.RowCount < 1)
{
dw_main.DisplayOnly = false;
dw_clear.DisplayOnly = false;
dw_coll.DisplayOnly = false;
dw_otherclr.DisplayOnly = false;
Session["strItemchange"] = "";
dw_main.InsertRow(0);
dw_main.SetItemString(1, "memcoop_id", state.SsCoopControl);
RetreiveDDDW();
JsChangeStartkeep();
JsSetloantype();
tDwMain.Eng2ThaiAllRow();
NewEmerPEA();//MiW 2014.01.27@PEA
CbCheckcoop.Checked = false;
HdIsPostBack.Value = "false";
HdCheckRemark.Value = "false";
}
if (dw_main.RowCount > 1)
{
dw_main.DeleteRow(dw_main.RowCount);
}
//Session["strItemchange"] = "";
dw_message.Reset();
dw_message.InsertRow(0);
dw_message.DisplayOnly = false;
dw_message.Visible = false;
HdCheckRemark.Value = "false";
}
///
/// Check PostBack Javascript
///
///
public void CheckJsPostBack(string eventArg)
{
if (eventArg == "jsGetMemberInfo")
{
JsGetMemberInfo();
SumDeptMonthAmt();//MiW
CheckSameContract();//MiW
Jsrecalloanpermiss();//MiW
}
else if (eventArg == "jsExpenseBank")
{
JsExpenseBank();
}
else if (eventArg == "jsExpenseCode")
{
dw_main.SetItemString(1, "expense_bank", "");
dw_main.SetItemString(1, "expense_branch", "");
dw_main.SetItemString(1, "expense_accid", "");
JsExpenseCode();
}
else if (eventArg == "jsGetMemberCollno")
{
JsGetMemberCollno();
}
else if (eventArg == "jsReNewPage")
{
JsReNewPage();
}
else if (eventArg == "jsOpenOldDocNo")
{
JsOpenOldDocNo();
JsSumOthClr();//Edit by MiW
}
else if (eventArg == "jsPostSetZero")
{
// LtServerMessage.Text = "ยอดเงินขอกู้มากกว่ายอดเงินสิทธิ์ให้กู้ ";
//hardcode
//dw_main.SetItemDecimal(1, "loanrequest_amt", 0);
}
else if (eventArg == "jsSetpriod")
{
JsSetpriod();
}
else if (eventArg == "jsCancelRequest")
{
JsCancelRequest();
}
else if (eventArg == "jsRefresh")
{
}
else if (eventArg == "jsCollInitP")
{
JsCollInitP();
}
else if (eventArg == "jsCollCondition")
{
JsCollCondition();
}
else if (eventArg == "jsSetDataList")
{
JsSetDataList();
}
else if (eventArg == "jsPostColl")
{
JsPostColl();
}
else if (eventArg == "jsChangeStartkeep")
{
JsChangeStartkeep();
}
else if (eventArg == "jsSumOthClr")
{
JsSumOthClr();
}
else if (eventArg == "jsContPeriod")
{
JsContPeriod();
}
else if (eventArg == "jsResumLoanClear")
{
JsResumLoanClear();
}
else if (eventArg == "jsPermissSalary")
{
JsPermissSalary();
}
else if (eventArg == "jsRevert")
{
JsRevert();
}
else if (eventArg == "jsObjective")
{
JsObjective();
}
else if (eventArg == "jsPaycoopid")
{
JsPaycoopid();
}
else if (eventArg == "jsExpensebankbrRetrieve")
{
JsExpensebankbrRetrieve();
}
else if (eventArg == "jsrunProcessLoan") { JsrunProcessLoan(); }
else if (eventArg == "jsRunProcessInvoice") { JsRunProcessInvoice(); }
else if (eventArg == "jsrunProcessAgreeColl") { JsrunProcessAgreeColl(); }
else if (eventArg == "jsrunProcessCollReport") { JsrunProcessCollReport(); }
else if (eventArg == "jsrunProcessAgreeLoan") { JsrunProcessAgreeLoan(); }
else if (eventArg == "jspopupAgreeLoanReport") { JspopupAgreeLoanReport(); }
else if (eventArg == "jspopupAgreeCollReport") { JspopupAgreeCollReport(); }
else if (eventArg == "jspopupCollReport") { JspopupCollReport(); }
else if (eventArg == "jspopupReportInvoice") { JspopupReportInvoice(); }
else if (eventArg == "jspopupLoanReport") { JspopupLoanReport(); }
else if (eventArg == "jspopupDeptReport") { JspopupDeptReport(); }
else if (eventArg == "jsSetloantype")
{
JsSetloantype();
}
else if (eventArg == "jsmaxcreditperiod")
{
Jsmaxcreditperiod();
}
else if (eventArg == "jssetcollrefcontno")
{
JsSetCollContno();
}
else if (eventArg == "jsGetexpensememno")
{
JsGetexpensememno();
}
else if (eventArg == "jsSetloantypechg")
{
JsSetloantypechg();
}
else if (eventArg == "jsrecalloanpermiss")
{
Jsrecalloanpermiss();
}
else if (eventArg == "jsLoanpaymenttype") { JsLoanpaymenttype(); }
else if (eventArg == "JsReOtherclr")
{
ReOtherMain();
JsSumOthClr();
}
else if (eventArg == "jsSetFixdate")
{
JsSetFixdate();
}
else if (eventArg == "jsCheckCollmastrightBalance")
{
JsCheckCollmastrightBalance();
}
else if (eventArg == "resendStr")
{
ResendStr();
}
else if (eventArg == "jsGetitemdescetc")
{
JsGetitemdescetc();
}
else if (eventArg == "jsSetsalaryid")
{
JsSetMeminfosalaryid();
}
else if (eventArg == "postSalaryId")
{
JsPostSalaryId();
}
else if (eventArg == "jsCalpemisssalarybal")
{
JsCalpemisssalarybal();
}
else if (eventArg == "jsRecalpermissumother")
{
JsRecalpermissumother();
}
}
private void JsCalpemisssalarybal()
{
try
{
//decimal loanpayment_type = dw_main.GetItemDecimal(1, "loanpayment_type");
//decimal period_payment = dw_main.GetItemDecimal(1, "period_payment");//ยอดชำระสัญญาใหม่
//decimal loanpayment_status = dw_main.GetItemDecimal(1, "loanpayment_status");
//decimal intestimate_amt = dw_main.GetItemDecimal(1, "intestimate_amt");
//decimal paymonth_coop = dw_main.GetItemDecimal(1, "paymonth_coop");//ยอดหักจากสหกรณ์
//decimal minsalary_balance = dw_main.GetItemDecimal(1, "minsalary_amt");//เงินเดือนคงเหลือขั้นต่ำ(ตาราง lnloantype)
//decimal salary_amt = dw_main.GetItemDecimal(1, "salary_amt");
//decimal custompay_flag = dw_main.GetItemDecimal(1, "custompayment_flag");
//decimal retrysend_flag = dw_main.GetItemDecimal(1, "tax_amt"); //ส่งเกินงวดเกษียณ
//if (loanpayment_type == 1)
//{
// period_payment += intestimate_amt;
//}
//decimal sumpaymth = paymonth_coop + period_payment;//ยอดหักทั้งหมด
//decimal salary_diff = salary_amt - sumpaymth;//เงินเดือน - ยอดหักทั้งหมด
//decimal total = salary_diff - minsalary_balance;//เงินเดือนคงเหลือ - เงินเดือนคงเหลือขั้นต่ำ
//if ((total < -5))
//{
// if (retrysend_flag == 0 && custompay_flag == 0)
// {
//JsLoanpaymenttype();
JsCalMaxLoanpermiss();
JsSumOthClr();
// }
//}
}
catch (Exception ex) { ex.ToString(); }
}
private void JsSetCalFSV()
{
try
{
string loantype_code = dw_main.GetItemString(1, "loantype_code");
string member_no = dw_main.GetItemString(1, "member_no");
decimal loanapprove_amt = 0,
last_periodpay = 0,
period_payamt = 0,
principal_balance = 0,
ldc_fsv = 0,
percent_stm = 0,
min_percent = 0,
minlastperiod_pay = 0
;
string loantypeclr_code = "",
percent_pay = "",
sql_loanappold = "",
caseAlert = "",
caseAlert2 = "",
flagAlert = "",
loancontract_no = "",
mainloangroup_code = "",
clearloangroup_code = "",
lnsametype = ""
;
int li_clear = 0,
rowcount = dw_clear.RowCount;
for (int i = 1; i <= rowcount; i++)
{
loantypeclr_code = dw_clear.GetItemString(i, "loantype_code");
//if (loantype_code == loantypeclr_code)
//{
loanapprove_amt = dw_clear.GetItemDecimal(i, "loanapprove_amt");
last_periodpay = dw_clear.GetItemDecimal(i, "last_periodpay");
principal_balance = dw_clear.GetItemDecimal(i, "principal_balance");
li_clear = Convert.ToInt16(dw_clear.GetItemDecimal(i, "clear_status"));
loancontract_no = dw_clear.GetItemString(i, "compute_4");//เลขสัญญา
if (li_clear == 1)
{
string sql_fsv = @" SELECT start_loan
, end_loan
, fsv_loanold
, minperiod_pay
, minpercent_pay
FROM lnloantypefsv
WHERE loantype_code = '" + loantypeclr_code + @"'
AND start_loan <= " + loanapprove_amt.ToString() + @"
AND end_loan >= " + loanapprove_amt.ToString();
Sdt dt2 = WebUtil.QuerySdt(sql_fsv);
if (dt2.Next())
{
minlastperiod_pay = dt2.GetDecimal("minperiod_pay");
min_percent = dt2.GetDecimal("minpercent_pay");
percent_stm = (loanapprove_amt - principal_balance) / loanapprove_amt * 100;//%การชำระ = (ยอดอนุมัติ-คงเหลือ) / ยอดอนุมัติ * 100
percent_pay = Convert.ToString(Math.Round(percent_stm, 2));//Miw ปัดเลขทศนิยม
#region Case Alert
#region ถ้างวดชำระ น้อยกว่าเท่ากับ จำนวนงวดชำระขั้นต่ำ(สามัญ : 8, ฉุกเฉิน : 5)
if (last_periodpay < minlastperiod_pay)
{
caseAlert = "1";
flagAlert = "1";
}
#endregion
#endregion
#region Case Detail
#region caseAlert = 1 || caseAlert = 1 (มีสัญญาเก่าชำระหนี้ไม่ถึงตามที่กำหนด)
if (caseAlert == "1" || caseAlert == "1")
{
ldc_fsv = dt2.GetDecimal("fsv_loanold");
//เพิ่มเติม alert(); Edit by MiW
string mainln_code = dw_main.GetItemString(1, "loantype_code");
string clearln_code = dw_clear.GetItemString(i, "loantype_code");
string sql_mainln_code = @"select loangroup_code from lnloantype
where loantype_code = '" + mainln_code + "'";
Sdt dt_mainln_code = WebUtil.QuerySdt(sql_mainln_code);
if (dt_mainln_code.Next())
{
mainloangroup_code = dt_mainln_code.GetString("loangroup_code");
}
string sql_clearln_code = @"select loangroup_code from lnloantype
where loantype_code = '" + clearln_code + "'";
Sdt dt_clearln_code = WebUtil.QuerySdt(sql_clearln_code);
if (dt_clearln_code.Next())
{
clearloangroup_code = dt_clearln_code.GetString("loangroup_code");
}
if (mainloangroup_code == clearloangroup_code)
{
if (flag != 1)
{
Response.Write(@"");//งวดชำระ น้อยกว่าหรือเท่ากับ จำนวนงวดชำระขั้นต่ำ
}
flag = 0;
}
}
#endregion
#endregion
if (last_periodpay < minlastperiod_pay || min_percent > (principal_balance / loanapprove_amt))
{
ldc_fsv = dt2.GetDecimal("fsv_loanold");
}
else
{
ldc_fsv = 0;
}
}
if (ldc_fsv > 0)
{
int li_find = dw_otherclr.FindRow("clrothertype_code = 'FSV'", 1, rowcount);
if (li_find < 1)
{
li_find = dw_otherclr.InsertRow(0);
}
dw_otherclr.SetItemString(li_find, "clrothertype_code", "FSV");
dw_otherclr.SetItemString(li_find, "clrother_desc", "ค่าบริหาร");
dw_otherclr.SetItemDecimal(li_find, "clear_status", 1);
dw_otherclr.SetItemDecimal(li_find, "clrother_amt", ldc_fsv);
}
}
}
}
catch
{
}
}
//private void JsExpensebankbrRetrieve()
//{
// try
// {
// String bankCode;
// try { bankCode = dw_main.GetItemString(1, "expense_bank").Trim(); }
// catch { bankCode = "034"; }
// DwUtil.RetrieveDDDW(dw_main, "expense_branch_1", pbl, bankCode);
// }
// catch { }
//}
private decimal of_getpercentcollmast(string as_coopid, string as_loantype, string as_colltype, string as_collmasttype)
{
decimal percent_collmast = 0;
try
{
string sql_collperc = "select coll_percent from lnloantypecolluse where coop_id = '" + as_coopid + "' and loantype_code = '" + as_loantype + "' and loancolltype_code = '" + as_colltype + "' and collmasttype_code = '" + as_collmasttype + "'";
Sdt dt = WebUtil.QuerySdt(sql_collperc);
if (dt.Next())
{
percent_collmast = dt.GetDecimal("coll_percent");
}
else
{
percent_collmast = 1;
}
}
catch
{
percent_collmast = 0;
}
return percent_collmast;
}
private void JsPostSalaryId()
{
salary_id = dw_main.GetItemString(1, "salary_id");
//ดึงเลขสมาชิกจากเลขพนักงาน
string sqlMemb = "select member_no from mbmembmaster where trim(salary_id) = '" + salary_id.Trim() + "' and member_status = 1";
Sdt dtMemb = WebUtil.QuerySdt(sqlMemb);
if (dtMemb.Next())
{
//เซตค่าของเลขสมาชิกที่ได้มาจากเลขพนักงานให้กับตัวแปร HdMemberNo
HdMemberNo.Value = dtMemb.GetString("member_no");
dw_main.SetItemString(1, "member_no", HdMemberNo.Value);
JsGetMemberInfo();
InsertRowColl();//MiW::19/03/2014
if (salary_id != null || salary_id != "") { dw_main.SetItemString(1, "salary_id", salary_id); }
}
else
{
this.JsReNewPage();
LtServerMessage.Text = WebUtil.ErrorMessage("ไม่สามารถดึงข้อมูลเลขสมาชิก " + HdMemberNo.Value);
}
}
private void JsSetMeminfosalaryid()
{
string salaryid = dw_main.GetItemString(1, "salary_id");
string sql_select = "select member_no from mbmembmaster where salary_id = :salaryid ";
Sdt dtm = WebUtil.QuerySdt(sql_select);
if (dtm.Next())
{
string membno = dtm.GetString("member_no");
JsGetMemberInfo();
}
else
{
LtServerMessage.Text = WebUtil.ErrorMessage("เลขพนักงานท่านนี้ ไม่ได้เป็นสมาชิกสหกรณ์ กรุณาตรวจสอบ");
}
}
private void Jsrecalloanpermiss()
{
Ltjspopupclr.Text = "";
JsSetMonthpayCoop();
//สิทธิกู้ตามเงินเดือนคงเลหือ
JsCalMaxLoanpermiss();
JsContPeriod();
dw_otherclr.Reset();
JsGenBuyshare();
JsBuyMut();
JsInsertRowcoll();
JsCalinsurancepay();
JsSetmutualcoll();
JsSetmutualStability();
Jsfirstperiod();
JsSumOthClr();
// JsSetCalFSV();
for (int rc = 1; rc <= dw_coll.RowCount; rc++)
{
string ref_collno = dw_coll.GetItemString(rc, "ref_collno");
if (ref_collno.Length > 5)
{
HdRefcollrow.Value = rc.ToString();
HdRefcoll.Value = ref_collno;
JsGetMemberCollno();
}
}
}
private void JspopupLoanReport()
{
//เด้ง Popup ออกรายงานเป็น PDF.
//String pop = "Gcoop.OpenPopup('http://localhost/GCOOP/WebService/Report/PDF/20110223093839_shrlonchk_SHRLONCHK001.pdf')";
//String pop = "Gcoop.OpenPopup('" + Session["Loan"].ToString() + "')";
//Ltjspopup.Text = "";
//ClientScript.RegisterClientScriptBlock(this.GetType(), "DsReport", pop, true);
reqdoc_no = txt_reqNo.Text;
member_no = txt_member_no.Text;
string as_xml = "";
try
{
try
{
fromset = state.SsPrinterSet;
}
catch (Exception ex)
{
fromset = "216";
}
string re = wcf.Shrlon.of_printloan(state.SsWsPass, reqdoc_no, fromset, state.SsCoopControl, member_no, ref as_xml);
}
catch (Exception ex) { LtServerMessage.Text = WebUtil.ErrorMessage("ตรวจสอบเครื่องพิมพ์" + ex); }
}
private void JspopupLoanReport(bool isJsPrint, int printMode)
{
reqdoc_no = txt_reqNo.Text;
try
{
Printing.ShrlonPrintLoanReport(this, state.SsCoopId, reqdoc_no, printMode);
}
catch (Exception ex)
{
LtServerMessage.Text = WebUtil.ErrorMessage("ตรวจสอบเครื่องพิมพ์: " + ex.Message);
}
}
private void JspopupLoanCollReport(bool isJsPrint, int printMode)
{
reqdoc_no = txt_reqNo.Text;
try
{
Printing.ShrlonPrintCollReport(this, state.SsCoopId, reqdoc_no, printMode);
}
catch (Exception ex)
{
LtServerMessage.Text = WebUtil.ErrorMessage("ตรวจสอบเครื่องพิมพ์: " + ex.Message);
}
}
private void JspopupLoanReqReport(bool isJsPrint, int printMode)
{
reqdoc_no = txt_reqNo.Text;
try
{
Printing.ShrlonPrintReqReport(this, state.SsCoopId, reqdoc_no, printMode);
}
catch (Exception ex)
{
LtServerMessage.Text = WebUtil.ErrorMessage("ตรวจสอบเครื่องพิมพ์: " + ex.Message);
}
}
private void JspopupLoanExpandReport(bool isJsPrint, int printMode)
{
reqdoc_no = txt_reqNo.Text;
try
{
Printing.ShrlonPrintExpandReport(this, state.SsCoopId, reqdoc_no, printMode);
}
catch (Exception ex)
{
LtServerMessage.Text = WebUtil.ErrorMessage("ตรวจสอบเครื่องพิมพ์: " + ex.Message);
}
}
private void JspopupReportInvoice()
{
//เด้ง Popup ออกรายงานเป็น PDF.
//String pop = "Gcoop.OpenPopup('http://localhost/GCOOP/WebService/Report/PDF/20110223093839_shrlonchk_SHRLONCHK001.pdf')";
//String pop = "Gcoop.OpenPopup('" + Session["pdfinvoice"].ToString() + "')";
//ClientScript.RegisterClientScriptBlock(this.GetType(), "DsReport", pop, true);
}
private void JsRunProcessInvoice()
{
// --- Page Arguments
try
{
app = Request["app"].ToString();
}
catch { }
if (app == null || app == "")
{
app = state.SsApplication;
}
try
{
//gid = Request["gid"].ToString();
gid = "LNNORM_DAILY";
}
catch { }
try
{
//rid = Request["rid"].ToString();
rid = "LNNORM_DAILY13";
}
catch { }
String doc_no = "";// DwMain.GetItemString(1, "loanrequest_docno");
String coop_id;
try { coop_id = dw_main.GetItemString(1, "coop_id"); }
catch { coop_id = state.SsCoopId; }
if (x == 2)
{
doc_no = reqdoc_no;
}
if (doc_no == null || doc_no == "")
{
return;
}
//แปลง Criteria ให้อยู่ในรูปแบบมาตรฐาน.
ReportHelper lnv_helper = new ReportHelper();
lnv_helper.AddArgument(coop_id, ArgumentType.String);
lnv_helper.AddArgument(doc_no, ArgumentType.String);
//ชื่อไฟล์ PDF = YYYYMMDDHHMMSS__.PDF
String pdfFileName = DateTime.Now.ToString("yyyyMMddHHmmss", WebUtil.EN);
pdfFileName += "_" + gid + "_" + rid + ".pdf";
pdfFileName = pdfFileName.Trim();
//ส่งให้ ReportService สร้าง PDF ให้ {โดยปกติจะอยู่ใน C:\GCOOP\Saving\PDF\}.
try
{
CoreSavingLibrary.WcfReport.ReportClient lws_report = wcf.Report;
String criteriaXML = lnv_helper.PopArgumentsXML();
this.pdf = lws_report.GetPDFURL(state.SsWsPass) + pdfFileName;
String li_return = lws_report.Run(state.SsWsPass, app, gid, rid, criteriaXML, pdfFileName);
if (li_return == "true")
{
HdOpenIFrame.Value = "True";
HdcheckPdf.Value = "True";
}
else if (li_return != "true")
{
HdcheckPdf.Value = "False";
}
}
catch (Exception ex)
{
LtServerMessage.Text = WebUtil.ErrorMessage(ex);
return;
}
Session["pdfinvoice"] = pdf;
//PopupReport();
}
private void JspopupCollReport()
{
//เด้ง Popup ออกรายงานเป็น PDF.
//String pop = "Gcoop.OpenPopup('http://localhost/GCOOP/WebService/Report/PDF/20110223093839_shrlonchk_SHRLONCHK001.pdf')";
//String pop = "Gcoop.OpenPopup('" + Session["Coll"].ToString() + "')";
//Ltjspopup.Text = "";
////ClientScript.RegisterClientScriptBlock(this.GetType(), "DsReport", pop, true);
reqdoc_no = txt_reqNo.Text;
member_no = txt_member_no.Text;
string as_xml = "";
try
{
try
{
fromset = state.SsPrinterSet;
}
catch (Exception ex)
{
fromset = "216";
}
string re = wcf.Shrlon.of_printloancoll(state.SsWsPass, reqdoc_no, fromset, state.SsCoopId, member_no, ref as_xml);
}
catch (Exception ex) { LtServerMessage.Text = WebUtil.ErrorMessage("ตรวจสอบเครื่องพิมพ์" + ex); }
}
private void JspopupAgreeCollReport()
{
//เด้ง Popup ออกรายงานเป็น PDF.
//String pop = "Gcoop.OpenPopup('http://localhost/GCOOP/WebService/Report/PDF/20110223093839_shrlonchk_SHRLONCHK001.pdf')";
//String pop = "Gcoop.OpenPopup('" + Session["AgreeColl"].ToString() + "')";
//// ClientScript.RegisterClientScriptBlock(this.GetType(), "DsReport", pop, true);
//Ltjspopup.Text = "";
reqdoc_no = txt_reqNo.Text;
member_no = txt_member_no.Text;
string as_xml = "";
try
{
try
{
fromset = state.SsPrinterSet;
}
catch (Exception ex)
{
fromset = "216";
}
string re = wcf.Shrlon.of_printloancollagree(state.SsWsPass, reqdoc_no, fromset, state.SsCoopId, member_no, ref as_xml);
}
catch (Exception ex) { LtServerMessage.Text = WebUtil.ErrorMessage("ตรวจสอบเครื่องพิมพ์" + ex); }
}
private void JspopupAgreeLoanReport()
{
//เด้ง Popup ออกรายงานเป็น PDF.
//String pop = "Gcoop.OpenPopup('http://localhost/GCOOP/WebService/Report/PDF/20110223093839_shrlonchk_SHRLONCHK001.pdf')";
String pop = "Gcoop.OpenPopup('" + Session["AgreeLoan"].ToString() + "')";
Ltjspopup.Text = "";
//ClientScript.RegisterClientScriptBlock(this.GetType(), "DsReport", pop, true);
//reqdoc_no = DwMain.GetItemString(1, "loanrequest_docno");
//member_no = DwMain.GetItemString(1, "member_no");
//try
//{
// try
// {
// fromset = state.SsPrinterSet;
// }
// catch (Exception ex)
// {
// fromset = "216";
// }
// string re = wcf.Shrlon.of_printloanagree(state.SsWsPass, reqdoc_no, fromset, state.SsCoopId, member_no);
//}
//catch (Exception ex) { LtServerMessage.Text = WebUtil.ErrorMessage("ตรวจสอบเครื่องพิมพ์" + ex); }
}
private void JsrunProcessAgreeLoan()
{
// --- Page Arguments
try
{
app = Request["app"].ToString();
}
catch { }
if (app == null || app == "")
{
app = state.SsApplication;
}
try
{
//gid = Request["gid"].ToString();
gid = "LNNORM_DAILY";
}
catch { }
try
{
//rid = Request["rid"].ToString();
rid = "LNNORM_DAILY18";
}
catch { }
String doc_no = "";
//= dw_main.GetItemString(1, "loanrequest_docno");
String coop_id;
try { coop_id = dw_main.GetItemString(1, "coop_id"); }
catch { coop_id = state.SsCoopId; }
if (x == 2)
{
doc_no = reqdoc_no;
}
if (doc_no == null || doc_no == "")
{
return;
}
//String ls_xmlmain = dw_main.Describe("DataWindow.Data.XML");
//String ls_format = "CAT";
//short li_membtime = 0; Decimal ldc_right25 = 0; Decimal ldc_right33 = 0; Decimal ldc_right35 = 0; Decimal ldc_right26 = 0; Decimal ldc_right40 = 0;
//int re = shrlonService.of_print_callpermiss(state.SsWsPass, ls_xmlmain, ls_format, ref li_membtime, ref ldc_right25, ref ldc_right33, ref ldc_right35, ref ldc_right26, ref ldc_right40);
//Decimal li_membtime_ = li_membtime;
//Decimal ldc_right25_ = ldc_right25;
//Decimal ldc_right33_ = ldc_right33;
//Decimal ldc_right35_ = ldc_right35;
//Decimal ldc_right26_ = ldc_right26;
//Decimal ldc_right40_ = ldc_right40;
//string loan26 = dw_main.GetItemString(1, "loantype_code");
//if (loan26 == "26")
//{
// decimal right26 = dw_main.GetItemDecimal(1, "loancredit_amt");
// ldc_right26_ = right26;
// ldc_right33_ = 0;
// ldc_right35_ = 0;
// ldc_right25_ = 0;
//}
//แปลง Criteria ให้อยู่ในรูปแบบมาตรฐาน.
ReportHelper lnv_helper = new ReportHelper();
lnv_helper.AddArgument(coop_id, ArgumentType.String);
lnv_helper.AddArgument(doc_no, ArgumentType.String);
//lnv_helper.AddArgument(li_membtime_.ToString(), ArgumentType.Number);
//lnv_helper.AddArgument(ldc_right25_.ToString(), ArgumentType.Number);
//lnv_helper.AddArgument(ldc_right33_.ToString(), ArgumentType.Number);
//lnv_helper.AddArgument(ldc_right35_.ToString(), ArgumentType.Number);
//lnv_helper.AddArgument(ldc_right26_.ToString(), ArgumentType.Number);
//lnv_helper.AddArgument(ldc_right40_.ToString(), ArgumentType.Number);
//ชื่อไฟล์ PDF = YYYYMMDDHHMMSS__.PDF
String pdfFileName = DateTime.Now.ToString("yyyyMMddHHmmss", WebUtil.EN);
pdfFileName += "_" + gid + "_" + rid + ".pdf";
pdfFileName = pdfFileName.Trim();
//ส่งให้ ReportService สร้าง PDF ให้ {โดยปกติจะอยู่ใน C:\GCOOP\Saving\PDF\}.
try
{
CoreSavingLibrary.WcfReport.ReportClient lws_report = wcf.Report;
String criteriaXML = lnv_helper.PopArgumentsXML();
this.pdf = lws_report.GetPDFURL(state.SsWsPass) + pdfFileName;
String li_return = lws_report.Run(state.SsWsPass, app, gid, rid, criteriaXML, pdfFileName);
if (li_return == "true")
{
HdOpenIFrame.Value = "True";
HdcheckPdf.Value = "True";
}
else if (li_return != "true")
{
HdcheckPdf.Value = "False";
}
}
catch (Exception ex)
{
LtServerMessage.Text = WebUtil.ErrorMessage(ex);
return;
}
//Session["AgreeLoan"] = pdf;
// PopupReport();
Ltjspopup.Text += "ยินยอมผู้กู้
";
}
private void JsrunProcessCollReport()
{
// --- Page Arguments
try
{
app = Request["app"].ToString();
}
catch { }
if (app == null || app == "")
{
app = state.SsApplication;
}
try
{
//gid = Request["gid"].ToString();
gid = "LNNORM_DAILY";
}
catch { }
try
{
//rid = Request["rid"].ToString();
rid = "LNNORM_DAILY17";
}
catch { }
String doc_no = "";// DwMain.GetItemString(1, "loanrequest_docno");
String coop_id;
try { coop_id = dw_main.GetItemString(1, "coop_id"); }
catch { coop_id = state.SsCoopId; }
if (x == 2)
{
doc_no = reqdoc_no;
}
if (doc_no == null || doc_no == "")
{
return;
}
//String ls_xmlmain = dw_main.Describe("DataWindow.Data.XML");
//String ls_format = "CAT";
//short li_membtime = 0; Decimal ldc_right25 = 0; Decimal ldc_right33 = 0; Decimal ldc_right35 = 0; Decimal ldc_right26 = 0; Decimal ldc_right40 = 0;
//int re = shrlonService.of_print_callpermiss(state.SsWsPass, ls_xmlmain, ls_format, ref li_membtime, ref ldc_right25, ref ldc_right33, ref ldc_right35, ref ldc_right26, ref ldc_right40);
//Decimal li_membtime_ = li_membtime;
//Decimal ldc_right25_ = ldc_right25;
//Decimal ldc_right33_ = ldc_right33;
//Decimal ldc_right35_ = ldc_right35;
//Decimal ldc_right26_ = ldc_right26;
//Decimal ldc_right40_ = ldc_right40;
//string loan26 = dw_main.GetItemString(1, "loantype_code");
//if (loan26 == "26")
//{
// decimal right26 = dw_main.GetItemDecimal(1, "loancredit_amt");
// ldc_right26_ = right26;
// ldc_right33_ = 0;
// ldc_right35_ = 0;
// ldc_right25_ = 0;
//}
//แปลง Criteria ให้อยู่ในรูปแบบมาตรฐาน.
ReportHelper lnv_helper = new ReportHelper();
lnv_helper.AddArgument(coop_id, ArgumentType.String);
lnv_helper.AddArgument(doc_no, ArgumentType.String);
//lnv_helper.AddArgument(li_membtime_.ToString(), ArgumentType.Number);
//lnv_helper.AddArgument(ldc_right25_.ToString(), ArgumentType.Number);
//lnv_helper.AddArgument(ldc_right33_.ToString(), ArgumentType.Number);
//lnv_helper.AddArgument(ldc_right35_.ToString(), ArgumentType.Number);
//lnv_helper.AddArgument(ldc_right26_.ToString(), ArgumentType.Number);
//lnv_helper.AddArgument(ldc_right40_.ToString(), ArgumentType.Number);
//ชื่อไฟล์ PDF = YYYYMMDDHHMMSS__.PDF
String pdfFileName = DateTime.Now.ToString("yyyyMMddHHmmss", WebUtil.EN);
pdfFileName += "_" + gid + "_" + rid + ".pdf";
pdfFileName = pdfFileName.Trim();
//ส่งให้ ReportService สร้าง PDF ให้ {โดยปกติจะอยู่ใน C:\GCOOP\Saving\PDF\}.
try
{
CoreSavingLibrary.WcfReport.ReportClient lws_report = wcf.Report;
String criteriaXML = lnv_helper.PopArgumentsXML();
this.pdf = lws_report.GetPDFURL(state.SsWsPass) + pdfFileName;
String li_return = lws_report.Run(state.SsWsPass, app, gid, rid, criteriaXML, pdfFileName);
if (li_return == "true")
{
HdOpenIFrame.Value = "True";
HdcheckPdf.Value = "True";
}
else if (li_return != "true")
{
HdcheckPdf.Value = "False";
}
}
catch (Exception ex)
{
LtServerMessage.Text = WebUtil.ErrorMessage(ex);
return;
}
// Session["Coll"] = pdf;
Ltjspopup.Text += "สัญญาผู้ค้ำ
";
// PopupReport();
}
private void JsrunProcessAgreeColl()
{
// --- Page Arguments
try
{
app = Request["app"].ToString();
}
catch { }
if (app == null || app == "")
{
app = state.SsApplication;
}
try
{
//gid = Request["gid"].ToString();
gid = "LNNORM_DAILY";
}
catch { }
try
{
//rid = Request["rid"].ToString();
rid = "LNNORM_DAILY16";
}
catch { }
String doc_no = "";// DwMain.GetItemString(1, "loanrequest_docno");
String coop_id;
try { coop_id = dw_main.GetItemString(1, "coop_id"); }
catch { coop_id = state.SsCoopId; }
if (x == 2)
{
doc_no = reqdoc_no;
}
if (doc_no == null || doc_no == "")
{
return;
}
//String ls_xmlmain = dw_main.Describe("DataWindow.Data.XML");
//String ls_format = "CAT";
//short li_membtime = 0; Decimal ldc_right25 = 0; Decimal ldc_right33 = 0; Decimal ldc_right35 = 0; Decimal ldc_right26 = 0; Decimal ldc_right40 = 0;
//int re = shrlonService.of_print_callpermiss(state.SsWsPass, ls_xmlmain, ls_format, ref li_membtime, ref ldc_right25, ref ldc_right33, ref ldc_right35, ref ldc_right26, ref ldc_right40);
//Decimal li_membtime_ = li_membtime;
//Decimal ldc_right25_ = ldc_right25;
//Decimal ldc_right33_ = ldc_right33;
//Decimal ldc_right35_ = ldc_right35;
//Decimal ldc_right26_ = ldc_right26;
//Decimal ldc_right40_ = ldc_right40;
//string loan26 = dw_main.GetItemString(1, "loantype_code");
//if (loan26 == "26")
//{
// decimal right26 = dw_main.GetItemDecimal(1, "loancredit_amt");
// ldc_right26_ = right26;
// ldc_right33_ = 0;
// ldc_right35_ = 0;
// ldc_right25_ = 0;
//}
//แปลง Criteria ให้อยู่ในรูปแบบมาตรฐาน.
ReportHelper lnv_helper = new ReportHelper();
lnv_helper.AddArgument(coop_id, ArgumentType.String);
lnv_helper.AddArgument(doc_no, ArgumentType.String);
//lnv_helper.AddArgument(li_membtime_.ToString(), ArgumentType.Number);
//lnv_helper.AddArgument(ldc_right25_.ToString(), ArgumentType.Number);
//lnv_helper.AddArgument(ldc_right33_.ToString(), ArgumentType.Number);
//lnv_helper.AddArgument(ldc_right35_.ToString(), ArgumentType.Number);
//lnv_helper.AddArgument(ldc_right26_.ToString(), ArgumentType.Number);
//lnv_helper.AddArgument(ldc_right40_.ToString(), ArgumentType.Number);
//ชื่อไฟล์ PDF = YYYYMMDDHHMMSS__.PDF
String pdfFileName = DateTime.Now.ToString("yyyyMMddHHmmss", WebUtil.EN);
pdfFileName += "_" + gid + "_" + rid + ".pdf";
pdfFileName = pdfFileName.Trim();
//ส่งให้ ReportService สร้าง PDF ให้ {โดยปกติจะอยู่ใน C:\GCOOP\Saving\PDF\}.
try
{
CoreSavingLibrary.WcfReport.ReportClient lws_report = wcf.Report;
String criteriaXML = lnv_helper.PopArgumentsXML();
this.pdf = lws_report.GetPDFURL(state.SsWsPass) + pdfFileName;
String li_return = lws_report.Run(state.SsWsPass, app, gid, rid, criteriaXML, pdfFileName);
if (li_return == "true")
{
HdOpenIFrame.Value = "True";
HdcheckPdf.Value = "True";
}
else if (li_return != "true")
{
HdcheckPdf.Value = "False";
}
}
catch (Exception ex)
{
LtServerMessage.Text = WebUtil.ErrorMessage(ex);
return;
}
// Session["AgreeColl"] = pdf;
Ltjspopup.Text += "ยินยอมผู้ค้ำ
";
// PopupReport();
}
private void JsrunProcessLoan()
{
// --- Page Arguments
try
{
app = Request["app"].ToString();
}
catch { }
if (app == null || app == "")
{
app = state.SsApplication;
}
try
{
//gid = Request["gid"].ToString();
gid = "LNNORM_DAILY";
}
catch { }
try
{
//rid = Request["rid"].ToString();
rid = "LNNORM_DAILY15";
}
catch { }
String doc_no = "";// DwMain.GetItemString(1, "loanrequest_docno");
String coop_id;
try { coop_id = dw_main.GetItemString(1, "coop_id"); }
catch { coop_id = state.SsCoopId; }
if (x == 2)
{
doc_no = reqdoc_no;
}
if (doc_no == null || doc_no == "")
{
return;
}
//String ls_xmlmain = dw_main.Describe("DataWindow.Data.XML");
//String ls_format = "CAT";
//short li_membtime = 0; Decimal ldc_right25 = 0; Decimal ldc_right33 = 0; Decimal ldc_right35 = 0; Decimal ldc_right26 = 0; Decimal ldc_right40 = 0;
//int re = shrlonService.of_print_callpermiss(state.SsWsPass, ls_xmlmain, ls_format, ref li_membtime, ref ldc_right25, ref ldc_right33, ref ldc_right35, ref ldc_right26, ref ldc_right40);
//Decimal li_membtime_ = li_membtime;
//Decimal ldc_right25_ = ldc_right25;
//Decimal ldc_right33_ = ldc_right33;
//Decimal ldc_right35_ = ldc_right35;
//Decimal ldc_right26_ = ldc_right26;
//Decimal ldc_right40_ = ldc_right40;
//string loan26 = dw_main.GetItemString(1, "loantype_code");
//if (loan26 == "26")
//{
// decimal right26 = dw_main.GetItemDecimal(1, "loancredit_amt");
// ldc_right26_ = right26;
// ldc_right33_ = 0;
// ldc_right35_ = 0;
// ldc_right25_ = 0;
//}
//แปลง Criteria ให้อยู่ในรูปแบบมาตรฐาน.
ReportHelper lnv_helper = new ReportHelper();
lnv_helper.AddArgument(coop_id, ArgumentType.String);
lnv_helper.AddArgument(doc_no, ArgumentType.String);
//lnv_helper.AddArgument(li_membtime_.ToString(), ArgumentType.Number);
//lnv_helper.AddArgument(ldc_right25_.ToString(), ArgumentType.Number);
//lnv_helper.AddArgument(ldc_right33_.ToString(), ArgumentType.Number);
//lnv_helper.AddArgument(ldc_right35_.ToString(), ArgumentType.Number);
//lnv_helper.AddArgument(ldc_right26_.ToString(), ArgumentType.Number);
//lnv_helper.AddArgument(ldc_right40_.ToString(), ArgumentType.Number);
//ชื่อไฟล์ PDF = YYYYMMDDHHMMSS__.PDF
String pdfFileName = DateTime.Now.ToString("yyyyMMddHHmmss", WebUtil.EN);
pdfFileName += "_" + gid + "_" + rid + ".pdf";
pdfFileName = pdfFileName.Trim();
//ส่งให้ ReportService สร้าง PDF ให้ {โดยปกติจะอยู่ใน C:\GCOOP\Saving\PDF\}.
try
{
CoreSavingLibrary.WcfReport.ReportClient lws_report = wcf.Report;
String criteriaXML = lnv_helper.PopArgumentsXML();
this.pdf = lws_report.GetPDFURL(state.SsWsPass) + pdfFileName;
String li_return = lws_report.Run(state.SsWsPass, app, gid, rid, criteriaXML, pdfFileName);
if (li_return == "true")
{
HdOpenIFrame.Value = "True";
HdcheckPdf.Value = "True";
}
else if (li_return != "true")
{
HdcheckPdf.Value = "False";
}
}
catch (Exception ex)
{
LtServerMessage.Text = WebUtil.ErrorMessage(ex);
return;
}
// Session["Loan"] = pdf;
Ltjspopup.Text += "สัญญาผู้กู้
";
// PopupReport();
}
private void JspopupDeptReport()
{
//เด้ง Popup ออกรายงานเป็น PDF.
//String pop = "Gcoop.OpenPopup('http://localhost/GCOOP/WebService/Report/PDF/20110223093839_shrlonchk_SHRLONCHK001.pdf')";
//String pop = "Gcoop.OpenPopup('" + Session["dept"].ToString() + "')";
//ClientScript.RegisterClientScriptBlock(this.GetType(), "DsReport", pop, true);
reqdoc_no = txt_reqNo.Text;
member_no = txt_member_no.Text;
string as_xml = "";
try
{
try
{
fromset = state.SsPrinterSet;
}
catch (Exception ex)
{
fromset = "216";
}
string re = wcf.Shrlon.of_printloandept(state.SsWsPass, reqdoc_no, fromset, state.SsCoopId, member_no, ref as_xml);
}
catch (Exception ex) { LtServerMessage.Text = WebUtil.ErrorMessage("ตรวจสอบเครื่องพิมพ์" + ex); }
}
private void JspopupDeptReport(bool isJsPrint, int printMode)
{
try
{
reqdoc_no = txt_reqNo.Text;
Printing.ShrlonPrintDeptReport(this, state.SsCoopId, reqdoc_no, printMode);
}
catch (Exception ex)
{
LtServerMessage.Text = WebUtil.ErrorMessage("ตรวจสอบเครื่องพิมพ์: " + ex.Message);
}
}
private void jJsrunProcessDeptReport()
{
// --- Page Arguments
try
{
app = Request["app"].ToString();
}
catch { }
if (app == null || app == "")
{
app = state.SsApplication;
}
try
{
//gid = Request["gid"].ToString();
gid = "LNNORM_DAILY";
}
catch { }
try
{
//rid = Request["rid"].ToString();
rid = "LNNORM_DAILY19";
}
catch { }
String doc_no = "";// DwMain.GetItemString(1, "loanrequest_docno");
String coop_id;
try { coop_id = dw_main.GetItemString(1, "coop_id"); }
catch { coop_id = state.SsCoopId; }
if (x == 2)
{
doc_no = reqdoc_no;
}
if (doc_no == null || doc_no == "")
{
return;
}
//String ls_xmlmain = dw_main.Describe("DataWindow.Data.XML");
//String ls_format = "CAT";
//short li_membtime = 0; Decimal ldc_right25 = 0; Decimal ldc_right33 = 0; Decimal ldc_right35 = 0; Decimal ldc_right26 = 0; Decimal ldc_right40 = 0;
//int re = shrlonService.of_print_callpermiss(state.SsWsPass, ls_xmlmain, ls_format, ref li_membtime, ref ldc_right25, ref ldc_right33, ref ldc_right35, ref ldc_right26, ref ldc_right40);
//Decimal li_membtime_ = li_membtime;
//Decimal ldc_right25_ = ldc_right25;
//Decimal ldc_right33_ = ldc_right33;
//Decimal ldc_right35_ = ldc_right35;
//Decimal ldc_right26_ = ldc_right26;
//Decimal ldc_right40_ = ldc_right40;
//string loan26 = dw_main.GetItemString(1, "loantype_code");
//if (loan26 == "26")
//{
// decimal right26 = dw_main.GetItemDecimal(1, "loancredit_amt");
// ldc_right26_ = right26;
// ldc_right33_ = 0;
// ldc_right35_ = 0;
// ldc_right25_ = 0;
//}
//แปลง Criteria ให้อยู่ในรูปแบบมาตรฐาน.
ReportHelper lnv_helper = new ReportHelper();
lnv_helper.AddArgument(coop_id, ArgumentType.String);
lnv_helper.AddArgument(doc_no, ArgumentType.String);
//lnv_helper.AddArgument(li_membtime_.ToString(), ArgumentType.Number);
//lnv_helper.AddArgument(ldc_right25_.ToString(), ArgumentType.Number);
//lnv_helper.AddArgument(ldc_right33_.ToString(), ArgumentType.Number);
//lnv_helper.AddArgument(ldc_right35_.ToString(), ArgumentType.Number);
//lnv_helper.AddArgument(ldc_right26_.ToString(), ArgumentType.Number);
//lnv_helper.AddArgument(ldc_right40_.ToString(), ArgumentType.Number);
//ชื่อไฟล์ PDF = YYYYMMDDHHMMSS__.PDF
String pdfFileName = DateTime.Now.ToString("yyyyMMddHHmmss", WebUtil.EN);
pdfFileName += "_" + gid + "_" + rid + ".pdf";
pdfFileName = pdfFileName.Trim();
//ส่งให้ ReportService สร้าง PDF ให้ {โดยปกติจะอยู่ใน C:\GCOOP\Saving\PDF\}.
try
{
CoreSavingLibrary.WcfReport.ReportClient lws_report = wcf.Report;
String criteriaXML = lnv_helper.PopArgumentsXML();
this.pdf = lws_report.GetPDFURL(state.SsWsPass) + pdfFileName;
String li_return = lws_report.Run(state.SsWsPass, app, gid, rid, criteriaXML, pdfFileName);
if (li_return == "true")
{
HdOpenIFrame.Value = "True";
HdcheckPdf.Value = "True";
}
else if (li_return != "true")
{
HdcheckPdf.Value = "False";
}
}
catch (Exception ex)
{
LtServerMessage.Text = WebUtil.ErrorMessage(ex);
return;
}
Session["dept"] = pdf;
// PopupReport();
}
private void JspopupReportslipfin()
{
//เด้ง Popup ออกรายงานเป็น PDF.
//String pop = "Gcoop.OpenPopup('http://localhost/GCOOP/WebService/Report/PDF/20110223093839_shrlonchk_SHRLONCHK001.pdf')";
String pop = "Gcoop.OpenPopup('" + Session["pdfslipfin"].ToString() + "')";
ClientScript.RegisterClientScriptBlock(this.GetType(), "DsReport", pop, true);
}
private void JsRunProcessslipfin()
{
// --- Page Arguments
try
{
app = Request["app"].ToString();
}
catch { }
if (app == null || app == "")
{
app = state.SsApplication;
}
try
{
//gid = Request["gid"].ToString();
gid = "LNNORM_DAILY";
}
catch { }
try
{
//rid = Request["rid"].ToString();
rid = "LNNORM_DAILY20";
}
catch { }
String doc_no = "";// DwMain.GetItemString(1, "loanrequest_docno");
String coop_id;
try { coop_id = dw_main.GetItemString(1, "coop_id"); }
catch { coop_id = state.SsCoopId; }
if (x == 2)
{
doc_no = reqdoc_no;
}
if (doc_no == null || doc_no == "")
{
return;
}
//แปลง Criteria ให้อยู่ในรูปแบบมาตรฐาน.
ReportHelper lnv_helper = new ReportHelper();
lnv_helper.AddArgument(coop_id, ArgumentType.String);
lnv_helper.AddArgument(doc_no, ArgumentType.String);
//ชื่อไฟล์ PDF = YYYYMMDDHHMMSS__.PDF
String pdfFileName = DateTime.Now.ToString("yyyyMMddHHmmss", WebUtil.EN);
pdfFileName += "_" + gid + "_" + rid + ".pdf";
pdfFileName = pdfFileName.Trim();
//ส่งให้ ReportService สร้าง PDF ให้ {โดยปกติจะอยู่ใน C:\GCOOP\Saving\PDF\}.
try
{
CoreSavingLibrary.WcfReport.ReportClient lws_report = wcf.Report;
String criteriaXML = lnv_helper.PopArgumentsXML();
this.pdf = lws_report.GetPDFURL(state.SsWsPass) + pdfFileName;
String li_return = lws_report.Run(state.SsWsPass, app, gid, rid, criteriaXML, pdfFileName);
if (li_return == "true")
{
HdOpenIFrame.Value = "True";
HdcheckPdf.Value = "True";
}
else if (li_return != "true")
{
HdcheckPdf.Value = "False";
}
}
catch (Exception ex)
{
LtServerMessage.Text = WebUtil.ErrorMessage(ex);
return;
}
Session["pdfslipfin"] = pdf;
//PopupReport();
}
///
///บันทึกใบคำขอ
///
public void SaveWebSheet()
{
try
{
int li_return = JsCheckDataBeforesave();
if (li_return == 1)
{
//Decimal netincome = dw_main.GetItemDecimal(1, "netincome_amt");
//Decimal return_coop = dw_main.GetItemDecimal(1, "return_coop");
//Decimal return_other = dw_main.GetItemDecimal(1, "return_other");
dw_main.SetItemString(1, "coop_id", state.SsCoopId);
String memcoop_id = dw_main.GetItemString(1, "memcoop_id");
member_no = dw_main.GetItemString(1, "member_no");
String dwMain_XML = dw_main.Describe("DataWindow.Data.XML");
String dwColl_XML = "";
String dwClear_XML = "";
String dwOtherClr_XML = "";
DateTime ldtm_loanrequest = dw_main.GetItemDateTime(1, "loanrequest_date");
string ls_message = "";
Decimal use_amt = 0;
String as_deptaccount = "";
//wa กรณีกู้เพิ่ม
decimal loanrequest_type = dw_main.GetItemDecimal(1, "loanrequest_type");
decimal loanrequest_amt = dw_main.GetItemDecimal(1, "loanrequest_amt");
try
{
for (int i = 1; i <= dw_coll.RowCount; i++)
{
string ref_collno = "";
ref_collno = dw_coll.GetItemString(i, "ref_collno");
if (ref_collno != null || ref_collno != "")
{
dw_coll.SetItemString(i, "coop_id", state.SsCoopId);
dw_coll.SetItemString(i, "refcoop_id", state.SsCoopControl);
}
}
//mai กรณี ไม่มีการค้ำประกันให้สามารถบันทึกได้
if (dw_coll.RowCount > 0)
{
//dw_coll.SetFilter("ref_collno <>'' ");
//dw_coll.Filter();
dwColl_XML = dw_coll.Describe("DataWindow.Data.XML");
}
}
catch { dwColl_XML = ""; }
try
{
for (int i = 1; i <= dw_clear.RowCount; i++)
{
dw_clear.SetItemString(i, "coop_id", state.SsCoopId);
dw_clear.SetItemString(i, "concoop_id", state.SsCoopControl);
}
if (dw_clear.RowCount > 0)
{
dwClear_XML = dw_clear.Describe("DataWindow.Data.XML");
}
}
catch { dwClear_XML = ""; }
try
{
for (int i = 1; i <= dw_otherclr.RowCount; i++)
{
dw_otherclr.SetItemString(i, "coop_id", state.SsCoopId);
}
if (dw_otherclr.RowCount > 0)
{
dwOtherClr_XML = dw_otherclr.Describe("DataWindow.Data.XML");
}
}
catch { dwOtherClr_XML = ""; }
str_itemchange strList = new str_itemchange();
str_savereqloan strSave = new str_savereqloan();
strList = WebUtil.str_itemchange_session(this);
strSave.xml_main = dwMain_XML;
strSave.xml_clear = dwClear_XML;
strSave.xml_guarantee = dwColl_XML;
strSave.xml_otherclr = dwOtherClr_XML;
strSave.contcoopid = state.SsCoopControl;
strSave.format_type = "TKS";
strSave.entry_id = state.SsUsername;
strSave.coop_id = state.SsCoopId;
String period_payamt = dw_main.GetItemDecimal(1, "period_payamt").ToString("0.00");
bool is_point1 = period_payamt.IndexOf(".00") < 0;
String period_payment = dw_main.GetItemDecimal(1, "period_payment").ToString("0.00");
bool is_point2 = period_payment.IndexOf(".00") < 0;
if (is_point1 == true || is_point2 == true)
{
if (is_point1 == true) { LtServerMessage.Text = WebUtil.ErrorMessage("จำนวนงวดเป็นทศนิยม =" + period_payamt); }
else if (is_point2 == true) { LtServerMessage.Text = WebUtil.ErrorMessage("ต้นชำระเป็นทศนิยม =" + period_payment); }
else { LtServerMessage.Text = WebUtil.ErrorMessage("ยอดค้ำน้อยกว่ายอดขอกู้ กรุณาตรวจสอบ หรือกด คำนวณ % ใหม่อีกครั้ง "); }
}
else
{
String runningNo = shrlonService.LoanRightSaveReqloan(state.SsWsPass, ref strSave);
reqdoc_no = strSave.request_no;
txt_reqNo.Text = reqdoc_no;
txt_member_no.Text = member_no;
int li_apv = Convert.ToInt16(dw_main.GetItemDecimal(1, "apvimmediate_flag"));
if (li_apv == 1 || li_apv == 2)
{
string contno = strSave.loancontract_no;
//SoapClientMessage.Equals( = contno;
Hdcontno.Value = contno;
HdReturn.Value = "11";
}
x = 2;
//เช็คอายัดเงินฝากค้ำประกัน
//for (int i = 1; i <= dw_coll.RowCount; i++)
//{
// string loancolltype_code = dw_coll.GetItemString(i, "loancolltype_code");
// if (loancolltype_code == "03")
// {
// use_amt = dw_coll.GetItemDecimal(i, "use_amt");
// as_deptaccount = dw_coll.GetItemString(i, "ref_collno");
// int reslut = shrlonService.of_autosequest(state.SsWsPass, as_deptaccount, state.SsCoopControl, use_amt, ldtm_loanrequest, state.SsClientIp, ref ls_message);
// }
//}
dw_main.SetItemString(1, "loanrequest_docno", reqdoc_no);
LtServerMessage.Text = WebUtil.CompleteMessage("บันทึกข้อมูลเรียบร้อยแล้ว");
Ltdividen.Text = " ";
Ltjspopup.Text = " ";
if (li_apv == 0)
{
String ls_loantype = dw_main.GetItemString(1, "loantype_code");
Session["loantypeCode"] = ls_loantype;
JsReNewPage();
}
}
}
}
catch (Exception ex)
{ LtServerMessage.Text = WebUtil.ErrorMessage(ex); }
}
private void Jscheckloancontarrer()
{
try
{
string membno = dw_main.GetItemString(1, "member_no");
string ls_sql = "select sum( principal_arrear) as prn_arrear, sum(interest_arrear) as int_arrear from lncontmaster where member_no = '" + membno + "'";
Sdt dtcont = WebUtil.QuerySdt(ls_sql);
if (dtcont.Next())
{
decimal prnc_arrear = dtcont.GetDecimal("prn_arrear");
decimal int_arrear = dtcont.GetDecimal("int_arrear");
if (prnc_arrear > 0 || int_arrear > 0)
{
LtServerMessage.Text = WebUtil.WarningMessage(" สมาชิกท่านนี้มียอดค้างชำระกับสหกรณ์ เป็นต้น " + prnc_arrear.ToString() + " และมียอดค้างชำระ ดบ. " + int_arrear.ToString());
}
}
}
catch
{
}
}
public void WebSheetLoadEnd()
{
JsExpenseCode();
try
{
//DataWindowChild dwloantype_code = dw_main.GetChild("loantype_code_1");
//dwloantype_code.SetFilter("LNLOANTYPE.LOANGROUP_CODE ='" + lc_loangroup + "'");
//dwloantype_code.Filter();
//JsSumOthClr();
//DateTime ReqDate = dw_main.GetItemDateTime(1, "loanrequest_date");
//dw_main.SetItemTime(1, "loanrcvfix_date", ReqDate);
//tDwMain.Eng2ThaiAllRow();
//string ReqDate = dw_main.GetItemString(1, "loanrequest_date");
//dw_main.SetItemString(1, "loanrcvfix_tdate", ReqDate);
///5666
str_itemchange strList = new str_itemchange();
strList.xml_main = dw_main.Describe("DataWindow.Data.XML");
if (dw_clear.RowCount == 0)
{ strList.xml_clear = null; }
else { strList.xml_clear = dw_clear.Describe("DataWindow.Data.XML"); }
if (dw_coll.RowCount == 0) { strList.xml_guarantee = null; }
else { strList.xml_guarantee = dw_coll.Describe("DataWindow.Data.XML"); }
Session["strItemchange"] = strList;
//หาจำนวนงวดที่ชำระ
string member_no = dw_main.GetItemString(1, "member_no");
if (member_no != null || member_no != "")
{
DateTime startkeep_date = dw_main.GetItemDate(1, "startkeep_date");
DateTime retry_date = dw_main.GetItemDateTime(1, "retry_date");
Int32 month_ = 12 - (startkeep_date.Month - 1);
Int32 retryage = (retry_date.Year - startkeep_date.Year - 1) * 12 + 9 + month_;
dw_main.SetItemDecimal(1, "retry_age", retryage);
}
}
catch { }
DwUtil.RetrieveDDDW(dw_coll, "loancolltype_code", pbl, null);
dw_main.SaveDataCache();//main
dw_coll.SaveDataCache();//หลักประกัน
dw_clear.SaveDataCache();//หักกลบ
dw_otherclr.SaveDataCache();//หักอื่น
}
///
/// reset หน้าใหม่
///
private void JsReNewPage()
{
try
{
string loantype_code = dw_main.GetItemString(1, "loantype_code");
dw_main.Reset();
dw_main.InsertRow(0);
dw_coll.Reset();
dw_clear.Reset();
dw_otherclr.Reset();
dw_main.SetItemString(1, "memcoop_id", state.SsCoopControl);
dw_main.SetItemString(1, "coop_id", state.SsCoopId);
dw_main.SetItemString(1, "loantype_code", loantype_code);
dw_main.SetItemString(1, "loantype_code_1", loantype_code);
Session["loantypeCode"] = loantype_code;
RetreiveDDDW();
//JsChangeStartkeep();
dw_main.SetItemDateTime(1, "loanrequest_date", state.SsWorkDate);
dw_main.SetItemDate(1, "loanrcvfix_date", state.SsWorkDate); // edit by bank
tDwMain.Eng2ThaiAllRow();
JsSetloantype();
HdIsPostBack.Value = "false";
HdCheckRemark.Value = "false";
HdShowRemark.Value = "false";
Ltjspopup.Text = " ";
Ltjspopupclr.Text = "";
//DataWindowChild dwloantype_code = dw_main.GetChild("loantype_code_1");
//dwloantype_code.SetFilter("LNLOANTYPE.LOANTYPE_CODE in ('20','21','22') ");
//dwloantype_code.Filter();
NewEmerPEA();
}
catch
{
}
}
///
/// retreive datawindows dropdown
///
public void RetreiveDDDW()
{
try
{
loantype = Session["loantypeCode"].ToString();
Session.Remove("loantype");
}
catch
{
String sql = "";
//if (state.SsCoopControl == "001001")
//{
// sql = "select min(loantype_code) from lnloantype where loangroup_code='" + lc_loangroup + "' and coop_id = '" + state.SsCoopControl + "'";
//}
//else
//{
sql = "select min(loantype_code) from lnloantype where coop_id = '" + state.SsCoopControl + "'";
//}
DataTable dt = WebUtil.Query(sql);
if (dt.Rows.Count > 0)
{
lc_loantype = dt.Rows[0][0].ToString().Trim();
loantype = lc_loantype;
Session.Remove("loantype");
}
else
{
throw new Exception("ไม่พบประเภทเงินกู้");
}
}
try
{
DwUtil.RetrieveDDDW(dw_main, "loantype_code_1", pbl, null);
if (loantype == "")
{
///<กำหนดค่าเริ่มต้น เป็นสามัญ>
dw_main.SetItemString(1, "loantype_code", lc_loantype);
}
else
{
//mai แก้ไข retrieve Dropdown
DataWindowChild dwloantype_code = dw_main.GetChild("loantype_code_1");
//dwloantype_code.SetFilter("LNLOANTYPE.LOANGROUP_CODE ='" + lc_loangroup + "'");
//dwloantype_code.Filter();
dw_main.SetItemString(1, "loantype_code", loantype);
}
DwUtil.RetrieveDDDW(dw_main, "expense_code", pbl, "CSH");
DwUtil.RetrieveDDDW(dw_main, "loanobjective_code_1", pbl, loantype);
DwUtil.RetrieveDDDW(dw_main, "membtype_code", pbl, null);
//DwUtil.RetrieveDDDW(dw_main, "coop_id_1", pbl, null);
//DwUtil.RetrieveDDDW(dw_main, "memcoop_id", pbl, null);
//DwUtil.RetrieveDDDW(dw_main, "paytoorder_desc_1", pbl, null);
//wa DwUtil.RetrieveDDDW(dw_main, "expense_branch_1", pbl, null);
//mai แก้ไขเพิ่ม coop_id
//DataWindowChild paytoorder = dw_main.GetChild("paytoorder_desc_1");
//if (state.SsUsername == "Loan01")
//{
// dw_main.SetItemString(1, "paytoorder_desc", "001001");
//}
//else if (state.SsUsername == "Loan02")
//{
// dw_main.SetItemString(1, "paytoorder_desc", "001002");
//}
//else if (state.SsUsername == "Loan03")
//{
// dw_main.SetItemString(1, "paytoorder_desc", "001003");
//}
//else if (state.SsUsername == "Loan04")
//{
// dw_main.SetItemString(1, "paytoorder_desc", "001004");
//}
// else {
dw_main.SetItemString(1, "paytoorder_desc", state.SsCoopId);
//}
//mai เพิ่ม coop_id
dw_main.SetItemString(1, "coop_id", state.SsCoopId);
DwUtil.RetrieveDDDW(dw_coll, "loancolltype_code", pbl, null);
DwUtil.RetrieveDDDW(dw_coll, "coop_id", pbl, null);
DwUtil.RetrieveDDDW(dw_main, "loantype_code_1", pbl, null);
DwUtil.RetrieveDDDW(dw_otherclr, "clrothertype_code", pbl, null);
}
catch (Exception ex) { LtServerMessage.Text = WebUtil.ErrorMessage(ex); }
}
///
/// กำหนดวันที่จ่ายเงินกู้และวันที่เรียกเก็บ
///
private void JsChangeStartkeep()
{
try
{
JsSetFixdate();
DateTime postingdate = new DateTime();
DateTime processdate = new DateTime();
DateTime ldtm_loanreceive = new DateTime();
//dw_main.SetItemDateTime(1, "loanrequest_date", state.SsWorkDate);
DateTime ldtm_loanrequest = dw_main.GetItemDateTime(1, "loanrequest_date");// state.SsWorkDate;
// DateTime ldtm_loanrequest = dw_main.GetItemDateTime(1, "loanrequest_date");
String loantype = dw_main.GetItemString(1, "loantype_code");
ldtm_loanreceive = ldtm_loanrequest;
int year = Convert.ToInt16(ldtm_loanreceive.Year + 543);
short month = Convert.ToInt16(ldtm_loanreceive.Month);
//a hardcode
string ls_memno = "0000000";
try
{
ls_memno = dw_main.GetItemString(1, "member_no");
}
catch { ls_memno = "0000000"; }
String sqlpro = " SELECT MAX(receipt_date)as LASTPROCESS_DATE FROM kptempreceive where member_no = '" + ls_memno + "'";
Sdt dtpro = WebUtil.QuerySdt(sqlpro);
if (dtpro.Next())
{
try
{
processdate = dtpro.GetDate("LASTPROCESS_DATE");
// if (processdate < ldtm_loanrequest) { processdate = ldtm_loanrequest; }
}
catch { processdate = ldtm_loanrequest; }
//กรณี วันที่จ่ายเงิน=วันที่ขอกู้
}
else { processdate = ldtm_loanrequest; }// wcf.Busscom.of_getpostingdate(state.SsWsPass, ldtm_loanreceive);
if (dtpro.GetRowCount() <= 0)
{
decimal day = ldtm_loanrequest.Day;
if (day >= 15)
{
month = Convert.ToInt16(ldtm_loanreceive.Month + 1);
if (month > 12)
{
month = 1;
year = year + 1;
}
}
}
//จ่ายเงินกู้หลังเรียกเก็บหรือไม่
if (ldtm_loanreceive < processdate)
{
month = Convert.ToInt16(ldtm_loanreceive.Month + 1);
if (month > 12)
{
month = 1;
year = year + 1;
postingdate = JsGetPostingdate(year, month, ldtm_loanreceive);
}
short month_old = Convert.ToInt16(ldtm_loanreceive.Month);
DateTime postingdate_old = JsGetPostingdate(year, month, ldtm_loanreceive);// wcf.Busscom.of_getpostingdate2(state.SsWsPass, Convert.ToInt16(year), month_old);
int day = ldtm_loanreceive.DayOfYear - postingdate_old.DayOfYear;
if (day == 1)
{
month = Convert.ToInt16(ldtm_loanreceive.Month + 1);
postingdate = JsGetPostingdate(year, month, postingdate_old); //wcf.Busscom.of_getpostingdate2(state.SsWsPass, Convert.ToInt16(year), month);
}
else
{
month = Convert.ToInt16(processdate.Month + 1);
postingdate = JsGetPostingdate(year, month, postingdate_old); // wcf.Busscom.of_getpostingdate2(state.SsWsPass, Convert.ToInt16(year), month);
}
}
else if (ldtm_loanreceive > processdate)
{
// ldtm_loanreceive = ldtm_loanrequest;// wcf.Busscom.of_relativeworkdate(state.SsWsPass, ldtm_loanreceive, ai_increase);
month = Convert.ToInt16(ldtm_loanreceive.Month);
postingdate = JsGetPostingdate(year, month, ldtm_loanrequest); //wcf.Busscom.of_getpostingdate2(state.SsWsPass, Convert.ToInt16(year), month);
}
else
{
month = Convert.ToInt16(ldtm_loanreceive.Month + 1);
postingdate = JsGetPostingdate(year, month, ldtm_loanrequest); //wcf.Busscom.of_getpostingdate2(state.SsWsPass, Convert.ToInt16(year), month);
}
//dw_main.SetItemDate(1, "loanrcvfix_date", ldtm_loanrequest);
//postingdate = wcf.InterPreter.GetStartkeep(state.SsConnectionIndex, state.SsCoopControl, ldtm_loanrequest);
dw_main.SetItemDate(1, "startkeep_date", postingdate);
tDwMain.Eng2ThaiAllRow();
}
catch (Exception ex)
{
//LtServerMessage.Text = WebUtil.ErrorMessage("JsChangeStartkeep===>" + ex);
}
// Genbaseloanclear();
}
private DateTime JsGetPostingdate(int year, int month, DateTime request_date)
{
string ls_sql = "select postingdate from amworkcalendar where year = " + year.ToString() + " and month = " + month.ToString();
DateTime postingdate = request_date;
Sdt dtpro = WebUtil.QuerySdt(ls_sql);
if (dtpro.Next())
{
try
{
int daypost = dtpro.GetInt32("postingdate");
year = year - 543;
string postdate = daypost.ToString() + "/" + month.ToString() + "/" + year.ToString();
postingdate = Convert.ToDateTime(postdate);
// if (postingdate < request_date) { postingdate = request_date; }
}
catch
{ postingdate = request_date; }
//กรณี วันที่จ่ายเงิน=วันที่ขอกู้
}
else
{
postingdate = request_date;
}
return postingdate;
}
private void JsSetCollContno()
{
try
{
//กรณีเลือกกู้แบบกู้เพิ่ม
string ls_memno = dw_main.GetItemString(1, "member_no");
string ls_loantype = dw_main.GetItemString(1, "loantype_code");
string contno_pri = "";
string ls_sqlcontnopri = @"select max( loancontract_no ) as cont_no, loancredit_amt from lncontmaster where principal_balance > 0 and contract_status <> -9 and member_no = '" + ls_memno + "' and loantype_code = '" + ls_loantype + "' group by loancredit_amt ";
Sdt dt9 = WebUtil.QuerySdt(ls_sqlcontnopri);
if (dt9.Next())
{
contno_pri = dt9.GetString("cont_no");
}
if (dt9.GetRowCount() < 1)
{
LtServerMessage.Text = WebUtil.WarningMessage(" ไม่พบเลขสัญญาเดิมของสมาชิกท่านนี้ ไม่สามารถกู้เพิ่มได้");
}
dw_main.SetItemDecimal(1, "loanrequest_status", 1);
dw_main.SetItemString(1, "loancontract_no", contno_pri);
string sql_memcoll = @" SELECT LNCONTMASTER.MEMBER_NO as member_no,
LNCONTMASTER.LOANCONTRACT_NO as loancontract_no,
LNCONTCOLL.REF_COLLNO as ref_collno,
LNCONTCOLL.DESCRIPTION as DESCRIPTION ,
LNCONTCOLL.COLL_AMT as COLL_AMT ,
LNCONTCOLL.COLL_PERCENT as COLL_PERCENT ,
LNCONTCOLL.BASE_PERCENT as BASE_PERCENT ,'Contno',
LNCONTMASTER.COOP_ID as coop_id,
LNCONTMASTER.loancredit_amt ,
LNCONTMASTER.last_periodrcv
FROM LNCONTCOLL,
LNCONTMASTER
WHERE ( LNCONTCOLL.COOP_ID = LNCONTMASTER.COOP_ID ) and
( LNCONTCOLL.LOANCONTRACT_NO = LNCONTMASTER.LOANCONTRACT_NO ) and
( ( LNCONTCOLL.LOANCOLLTYPE_CODE in ('01') ) AND
( LNCONTMASTER.PRINCIPAL_BALANCE > 0 ) AND LNCONTMASTER.LOANCONTRACT_NO = '" + contno_pri + "')";
Sdt dtcoll = WebUtil.QuerySdt(sql_memcoll);
string collref_no = "", colldesc = "", coop_id = "";
int coll_row = 0;
decimal loancredit_amt = 0;
decimal last_periodrcv = 0;
dw_coll.Reset();
if (dtcoll.GetRowCount() < 1)
{
LtServerMessage.Text = WebUtil.WarningMessage("ไม่พบรายการสมาชิกค้ำประกันสัญญา " + contno_pri);
}
while (dtcoll.Next())
{
collref_no = dtcoll.GetString("ref_collno");
colldesc = dtcoll.GetString("DESCRIPTION");
coop_id = dtcoll.GetString("coop_id");
loancredit_amt = dtcoll.GetDecimal("loanapprove_amt");
last_periodrcv = dtcoll.GetDecimal("last_periodrcv");
coll_row = dw_coll.InsertRow(0);
dw_coll.SetItemString(coll_row, "coop_id", coop_id);
dw_coll.SetItemString(coll_row, "ref_collno", collref_no);
dw_coll.SetItemString(coll_row, "DESCRIPTION", colldesc);
dw_coll.SetItemDecimal(coll_row, "coll_balance", 0);
dw_coll.SetItemDecimal(coll_row, "base_percent", 1);
}
if (loancredit_amt > 0)
{
dw_main.SetItemDecimal(1, "loancredit_amt", loancredit_amt);
}
if (last_periodrcv > 1)
{
dw_main.SetItemDecimal(1, "onlinefee_amt", last_periodrcv);
}
}
catch
{
}
}
private void JsGenrowColllnreq(decimal loancredit_amt)
{
//ตรวจค้ำประกัน
int coll_num = 0;
string loantype_code = dw_main.GetItemString(1, "loantype_code");
decimal loanrequest_amt = dw_main.GetItemDecimal(1, "loanrequest_amt");
int collrow = dw_coll.RowCount;
String sqlpro = @" select useman_amt, useshare_flag from lnloantypereqgrt
where loantype_code = '" + loantype_code + "' and money_from <= " + loancredit_amt.ToString() + @"
and money_to >= " + loancredit_amt.ToString();
Sdt dtgrt = WebUtil.QuerySdt(sqlpro);
if (dtgrt.Next())
{
coll_num = Convert.ToInt32(dtgrt.GetDecimal("useman_amt"));
int coll_share = Convert.ToInt32(dtgrt.GetDecimal("useshare_flag"));
}
else { coll_num = 0; }
HdCountPerson.Value = coll_num.ToString();//2014.01.17::MiW เพิ่มการตรวจสอบการใส่การค้ำประกัน
for (int i = 1; i <= coll_num; i++)
{
dw_coll.InsertRow(0);
//mike แก้ไขลำดับแถวในการใส่ค่า loancolltype_code ของเดิม i+1 -> i และเพิ่มกำหนดค่า seq_no
dw_coll.SetItemString(i, "loancolltype_code", "01");
dw_coll.SetItemDecimal(i, "seq_no", i);
}
}
private void JsSetloantypechg()
{
string membno = " ";
try
{
membno = dw_main.GetItemString(1, "member_no");
}
catch
{
membno = " ";
}
dw_main.SetItemDecimal(1, "otherclr_flag", 0);
dw_main.SetItemDecimal(1, "otherclr_amt", 0);
dw_coll.Reset();
dw_clear.Reset();
dw_otherclr.Reset();
JsSetloantype();
string ls_messagewarning = "";
if (JsCheckLoanrequestwait(ref ls_messagewarning) == 1)
{
if (membno.Length > 5)
{
Jsmaxcreditperiod();
}
}
//JsCalMaxLoanpermiss();
string ls_loantype = dw_main.GetItemString(1, "loantype_code");
Session["loantypeCode"] = ls_loantype;
}
private void JsSetloantype()
{
string membtypecode = Hdmembtype_code.Value;
try
{
loantype = dw_main.GetItemString(1, "loantype_code");
}
catch
{
dw_main.SetItemString(1, "loantype_code", "");
DwUtil.RetrieveDDDW(dw_main, "loantype_code_1", pbl, null);
dw_main.SetItemString(1, "membtype_code", membtypecode);
DataWindowChild dwloantype_code = dw_main.GetChild("loantype_code_1");
dwloantype_code.SetFilter("LNLOANTYPE.LOANGROUP_CODE ='02' and LNLOANMBTYPE.MEMBTYPE_CODE ='" + membtypecode + "' ");
dwloantype_code.Filter();
dw_main.SetItemString(1, "loantype_code", loantype);
}
//wa เพิ่มเติม
DwUtil.RetrieveDDDW(dw_main, "loanobjective_code_1", pbl, loantype);
DataWindowChild dwloantypeobj_code = dw_main.GetChild("loanobjective_code_1");
dwloantypeobj_code.SetFilter("loantype_code = '" + loantype + "' ");
dwloantypeobj_code.Filter();
string sqllntype = @"select intrate_increase, approve_flag,defaultobj_code, mangrtpermgrp_code, notmoreshare_flag, loanrighttype_code, customtime_type, loanright_type, maxloan_amt,loanpermgrp_code, contint_type, contractint_rate, inttabrate_code,salperct_balance,salamt_balance,loanpayment_type,loanpayment_status,reqround_factor,payround_factor,
lngrpcutright_flag, inttabrate_code, resign_timeadd, salarybal_type from lnloantype where loantype_code ='" + loantype + @"' ";
Sdt dtlntype = WebUtil.QuerySdt(sqllntype);
string intcontinttabcode = "INT01";
double intcontintrate = 6.5;
decimal intcontinttype = 2;
decimal payment_stauts = 1;
decimal ldc_minpercsal = 0;
decimal ldc_maxloan = 0;
decimal customtime_type = 4;
decimal notmoreshare_flag = 0;
decimal loanright_type = 2;
decimal reqround_factor = 0;
decimal payround_factor = 0;
decimal lngrpcutright_flag = 0;
string inttabrate_code = "01";
string loanpermissgroup = "01";
string loanrighttype_code = "01";
string mangrtpermgrp_code = "01";
string defaultobj_code = "";
decimal approve_flag = 0;
double int_contintincrease = 0.00;
decimal ldc_minsalaamt = 0, ldc_paymenttype = 1, resign_timeadd = 0;
decimal salarybal_type = 1;
if (dtlntype.Next())
{
defaultobj_code = dtlntype.GetString("defaultobj_code");
intcontinttabcode = dtlntype.GetString("inttabrate_code");
intcontinttype = dtlntype.GetDecimal("contint_type");
ldc_minpercsal = dtlntype.GetDecimal("salperct_balance");
ldc_minsalaamt = dtlntype.GetDecimal("salamt_balance");
ldc_paymenttype = dtlntype.GetDecimal("loanpayment_type");
ldc_maxloan = dtlntype.GetDecimal("maxloan_amt");
loanpermissgroup = dtlntype.GetString("loanpermgrp_code");
payment_stauts = dtlntype.GetDecimal("loanpayment_status");
reqround_factor = dtlntype.GetDecimal("reqround_factor");
payround_factor = dtlntype.GetDecimal("payround_factor");
lngrpcutright_flag = dtlntype.GetDecimal("lngrpcutright_flag");
inttabrate_code = dtlntype.GetString("inttabrate_code");
customtime_type = dtlntype.GetDecimal("customtime_type");
loanright_type = dtlntype.GetDecimal("loanright_type");
notmoreshare_flag = dtlntype.GetDecimal("notmoreshare_flag");
mangrtpermgrp_code = dtlntype.GetString("mangrtpermgrp_code");
resign_timeadd = dtlntype.GetDecimal("resign_timeadd");
approve_flag = dtlntype.GetDecimal("approve_flag");
int_contintincrease = dtlntype.GetDouble("intrate_increase");
salarybal_type = dtlntype.GetDecimal("salarybal_type");
}
string sqlint = "select interest_rate from lncfloanintratedet where loanintrate_code =(select inttabrate_code from lnloantype where loantype_code = '" + loantype + "') and to_date('" + state.SsWorkDate.ToString("dd/MM/yyyy") + "','dd/MM/yyyy') between effective_date and expire_date";
Sdt dtint = WebUtil.QuerySdt(sqlint);
while (dtint.Next())
{
intcontintrate = dtint.GetDouble("interest_rate");
}
Hdreqround_factor.Value = reqround_factor.ToString();
Hdpayround_factor.Value = payround_factor.ToString();
Hdlngrpcutright_flag.Value = lngrpcutright_flag.ToString();
Hdinttabrate_code.Value = inttabrate_code;
Hdcustomtime_type.Value = customtime_type.ToString();
Hdloanright_type.Value = loanright_type.ToString();
Hdloanrighttype_code.Value = loanrighttype_code;
Hdnotmoreshare_flag.Value = notmoreshare_flag.ToString();
Hdmangrtpermgrp_code.Value = mangrtpermgrp_code;
Hdresign_timeadd.Value = resign_timeadd.ToString();
ldc_minpercsal = ldc_minpercsal * 100;
if (payment_stauts == 0) { payment_stauts = 1; }
dw_main.SetItemDecimal(1, "int_continttype", intcontinttype);
dw_main.SetItemDouble(1, "int_contintrate", intcontintrate);
dw_main.SetItemString(1, "int_continttabcode", intcontinttabcode);
dw_main.SetItemDecimal(1, "minsalary_perc", ldc_minpercsal);
dw_main.SetItemDecimal(1, "minsalary_amt", ldc_minsalaamt);
dw_main.SetItemDecimal(1, "loanpayment_type", ldc_paymenttype);
dw_main.SetItemString(1, "instype_code", loanpermissgroup);
dw_main.SetItemDecimal(1, "loanpayment_status", payment_stauts);
dw_main.SetItemDecimal(1, "loanmaxreq_amt", ldc_maxloan);
dw_main.SetItemString(1, "loanobjective_code", defaultobj_code);
dw_main.SetItemDouble(1, "int_contintincrease", int_contintincrease);
dw_main.SetItemDecimal(1, "salarybal_flag", salarybal_type);
string sql_lncontsnt = "select rdintsatang_type from lnloanconstant ";
Sdt dtconsnt = WebUtil.QuerySdt(sql_lncontsnt);
int li_rountint = 1;
if (dtconsnt.Next())
{
li_rountint = dtconsnt.GetInt32("rdintsatang_type");
}
Hdrouninttype.Value = li_rountint.ToString();
if (approve_flag >= 1)
{
dw_main.Modify("apvimmediate_flag.protect = 0");
//dw_main.SetItemDecimal(1, "apvimmediate_flag", approve_flag);
//@กฟภ. default ไม่ระบุเลขที่สัญญา
if (loantype == "10")
{
dw_main.SetItemDecimal(1, "apvimmediate_flag", 0);
}
else
{
dw_main.SetItemDecimal(1, "apvimmediate_flag", approve_flag);
}
}
else
{
dw_main.Modify("apvimmediate_flag.protect = 1");
//@กฟภ. default ไม่ระบุเลขที่สัญญา
if (loantype == "10")
{
dw_main.SetItemDecimal(1, "apvimmediate_flag", 0);
}
else
{
dw_main.SetItemDecimal(1, "apvimmediate_flag", approve_flag);
}
}
//เพิ่มเงินกู้กลุ๋มสูงสุด
string sql_prmgrp = "select maxpermiss_amt,loangrpcredit_type, loantype_code from lngrploanpermiss where loanpermgrp_code = '" + loanpermissgroup + "'";
Sdt dt_prmgrp = WebUtil.QuerySdt(sql_prmgrp);
if (dt_prmgrp.Next())
{
decimal maxpermiss_amt = dt_prmgrp.GetDecimal("maxpermiss_amt");
dw_main.SetItemDecimal(1, "loangrpcredit_amt", maxpermiss_amt);
Hdloangrpcredit_type.Value = dt_prmgrp.GetDecimal("loangrpcredit_type").ToString();
Hdloangrploantype_code.Value = dt_prmgrp.GetString("loantype_code");
}
}
private void JsSetloangrppermiss()
{
try
{
String ls_loantype = dw_main.GetItemString(1, "loantype_code");
string ls_loantypepgrp = Hdloangrploantype_code.Value.Trim();
decimal loancredit_amt = dw_main.GetItemDecimal(1, "loancredit_amt");
if (ls_loantype == ls_loantypepgrp)
{
dw_main.SetItemDecimal(1, "loangrpcredit_amt", loancredit_amt);
return;
}
Decimal ldc_shrstkvalue = dw_main.GetItemDecimal(1, "sharestk_value");
Decimal ldc_salary = dw_main.GetItemDecimal(1, "salary_amt");
String ls_memcoopid = dw_main.GetItemString(1, "memcoop_id");
// String ls_membtypedesc = dw_main.GetItemString(1, "membtype_desc");
String member_no = dw_main.GetItemString(1, "member_no");
decimal li_timeage = dw_main.GetItemDecimal(1, "birth_age");
//decimal ldc_timembyear = Convert.ToInt16(dw_main.GetItemDecimal(1, "member_age"));
decimal ldc_timembyear = dw_main.GetItemDecimal(1, "member_age");
string ls_timembyear = ldc_timembyear.ToString("##00.00");
int li_timemb = Convert.ToInt16(ls_timembyear.Substring(0, 2)) * 12 + Convert.ToInt16(ls_timembyear.Substring(3, 2)); //ert.ToInt16(Math.Truncate(ldc_timembyear) * 12 + ((ldc_timembyear * 100) % 100));
decimal customtime_type = 0, resign_timeadd = 0;
Int16 ldc_share_lastperiod = Convert.ToInt16(dw_main.GetItemDecimal(1, "share_lastperiod"));
customtime_type = Convert.ToInt16(Hdcustomtime_type.Value);
Int16 loanright_type = Convert.ToInt16(Hdloanright_type.Value);
string loanrighttype_code = Hdloanrighttype_code.Value;
if (customtime_type == 1)
{
li_timemb = ldc_share_lastperiod;
}
try
{
decimal[] max_creditperiod = shrlonService.Calloanpermisssurin(state.SsWsPass, ls_memcoopid, ls_loantypepgrp, ldc_salary, ldc_shrstkvalue, li_timemb, member_no, li_timeage);
loancredit_amt = max_creditperiod[0];
}
catch (Exception ex)
{
loancredit_amt = 29999999;
LtServerMessage.Text = WebUtil.ErrorMessage(ex);
}
dw_main.SetItemDecimal(1, "loangrpcredit_amt", loancredit_amt);
}
catch
{
}
}
///
/// fillter ประเภทการจ่ายเงิน
///
///
private void JsGetexpensememno()
{
try
{
string memno = dw_main.GetItemString(1, "member_no");
string strsql = @"select expense_code, expense_bank, expense_branch, expense_accid
from mbmembmaster where member_no = '" + memno + "'";
try
{
Sdt dtloanrcv = WebUtil.QuerySdt(strsql);
if (dtloanrcv.GetRowCount() <= 0)
{
LtServerMessage.Text = WebUtil.WarningMessage("ไม่พบเลขที่บัญชีเงินธนาคารของสมาชิก " + memno);
}
if (dtloanrcv.Next())
{
string loanrcv_code = dtloanrcv.GetString("expense_code");
string loanrcv_bank = dtloanrcv.GetString("expense_bank");
string loanrcv_branch = dtloanrcv.GetString("expense_branch");
string loanrcv_accid = dtloanrcv.GetString("expense_accid");
if (loanrcv_code != null)
{
//dw_main.SetItemString(1, "expense_code", loanrcv_code);//12.03.2014::MiW Comment เนื่องจากเลือกวิธีการจ่ายเป็น เช็ค กับ ดราฟ แล้วมันเด้งกลับ โอนภายใน
dw_main.SetItemString(1, "expense_bank", loanrcv_bank);
if (loanrcv_branch == "" || loanrcv_branch == null)
{
DwUtil.RetrieveDDDW(dw_main, "expense_branch_1", "sl_loan_requestment_cen.pbl", loanrcv_bank);
}
else
{
dw_main.SetItemString(1, "expense_branch", loanrcv_branch);
}
dw_main.SetItemString(1, "expense_accid", loanrcv_accid);
// DwUtil.RetrieveDDDW(dw_main, "expense_branch", "sl_loan_requestment_cen.pbl", null);
}
else
{
dw_main.SetItemString(1, "expense_code", "CBT");
}
if (loanrcv_code == "CBT" && loanrcv_bank.Length > 2)
{
string sql_bkk = "select branch_name from cmucfbankbranch where bank_code = '" + loanrcv_bank + "' and branch_id = '" + loanrcv_branch + "'";
Sdt dtk = WebUtil.QuerySdt(sql_bkk);
string bankbranch = "";
if (dtk.Next())
{
bankbranch = dtk.GetString("branch_name").Trim();
//dw_main.SetItemString(1, "bank_branch", bankbranch);
//dw_main.SetItemDouble(1, "retrive_bk_branchflag", 0);
// dw_main.SetItemString(1, "expense_branch_1", bankbranch);
//JsExpensebankbrRetrieve();
}
}
}
//JsExpenseBank();
}
catch { }
}
catch
{
}
}
private void JsGetitemdescetc()
{
try
{
int row = Convert.ToInt16(Hdothercltrow.Value);
string itemetc_code = dw_otherclr.GetItemString(row, "clrothertype_code");
string sql_prmgrp = "select slipitemtype_desc from slucfslipitemtype where slipitemtype_code = '" + itemetc_code + "'";
Sdt dt_itemetc = WebUtil.QuerySdt(sql_prmgrp);
if (dt_itemetc.Next())
{
string item_desc = dt_itemetc.GetString("slipitemtype_desc");
dw_otherclr.SetItemString(row, "clrother_desc", item_desc);
}
}
catch
{
}
}
private void JsExpenseCode()
{
//str_itemchange strList = new str_itemchange();
//strList = WebUtil.str_itemchange_session(this);
string expendCode = "";
try
{
expendCode = dw_main.GetItemString(1, "expense_code");
}
catch { }
if (expendCode == null || expendCode == "") return;
if ((expendCode == "CHQ") || (expendCode == "TRN") || (expendCode == "CBT") || (expendCode == "DRF") || (expendCode == "TBK"))
{
//ฝั่งธนาคาร
dw_main.Modify("t_20.visible =1");
dw_main.Modify("expense_bank.visible =1");
dw_main.Modify("t_30.visible =1");
dw_main.Modify("expense_bank_1.visible =1");
dw_main.Modify("t_39.visible =1");
dw_main.Modify("expense_branch.visible =1");
dw_main.Modify("t_27.visible =1");
dw_main.Modify("expense_branch_1.visible =1");
dw_main.Modify("b_expense_branch.visible = 1");
JsGetexpensememno();
try
{
DwUtil.RetrieveDDDW(dw_main, "expense_bank_1", "sl_loan_requestment.pbl", null);
//DwUtil.RetrieveDDDW(dw_main, "expense_branch_1", "sl_loan_requestment_cen.pbl", "006");
//DataWindowChild dwExpenseBranch = dw_main.GetChild("expense_branch_1");
//DataWindowChild dwExpenseBank = dw_main.GetChild("expense_bank_1");
// DwUtil.RetrieveDDDW(dw_main, "loantype_code_1", pbl, null);
// JsGetexpensememno();
}
catch (Exception ex)
{
LtServerMessage.Text = WebUtil.ErrorMessage(ex);
}
}
else if ((expendCode == "CSH") || (expendCode == "BEX") || (expendCode == "MON") || (expendCode == "MOS") || (expendCode == "MOO"))
{
//ฝั่งธนาคาร
dw_main.Modify("t_20.visible =0");
dw_main.Modify("expense_bank.visible =0");
dw_main.Modify("t_30.visible =0");
dw_main.Modify("expense_bank_1.visible =0");
dw_main.Modify("t_39.visible =0");
dw_main.Modify("expense_branch.visible =0");
dw_main.Modify("t_27.visible =0");
dw_main.Modify("expense_branch_1.visible =0");
dw_main.Modify("b_expense_branch.visible =0");
dw_main.Modify("t_38.visible =0");
dw_main.Modify("expense_accid.visible =0");
}
if ((expendCode == "MON") || (expendCode == "MOS") || (expendCode == "MOO"))
{
//if ((strList.xml_main == null) || (strList.xml_main == ""))
//{
// //strList.xml_main = dw_main.Describe("DataWindow.Data.XML");
// //strList.xml_main = shrlonService.ReCalFee(state.SsWsPass, strList.xml_main);
// //นำเข้าข้อมูลหลัก
// //dw_main.Reset();
// //dw_main.ImportString(strList.xml_main, FileSaveAsType.Xml);
// ////DwUtil.ImportData(strList.xml_main, dw_main, tDwMain, FileSaveAsType.Xml);
// //if (dw_main.RowCount > 1) dw_main.DeleteRow(dw_main.RowCount);
//}
}
//if (expendCode == "CBT"){
// JsGetexpensememno();
//}
}
///
/// fillter สาขาธนาคาร
///
private void JsExpenseBank()
{
try
{
//wa
String bankCode;
try { bankCode = dw_main.GetItemString(1, "expense_bank").Trim(); }
catch { bankCode = "034"; }
String bankbranch;
try { bankbranch = dw_main.GetItemString(1, "expense_branch").Trim(); }
catch { bankbranch = "000"; }
DataWindowChild dwExpenseBranch = dw_main.GetChild("expense_branch_1");
DwUtil.RetrieveDDDW(dw_main, "expense_branch_1", "sl_loan_requestment_cen.pbl", bankbranch);
dwExpenseBranch.SetFilter("CMUCFBANKBRANCH.bank_code ='" + bankCode + "'");
dwExpenseBranch.Filter();
//dw_main.SetItemDouble(1, "retrive_bk_branchflag", 1);
}
catch (Exception ex)
{
LtServerMessage.Text = WebUtil.ErrorMessage(ex);
}
}
private void JsPaycoopid()
{
if (Hdcoopid.Value.Length > 1)
{
dw_main.SetItemString(1, "paytoorder_desc", Hdcoopid.Value);
dw_main.SetItemString(1, "paytoorder_desc_1", Hdcoopid.Value);
}
else
{
int paycoop_id = Convert.ToInt16(Hdcoopid.Value);
dw_main.SetItemString(1, "paytoorder_desc", "001" + paycoop_id.ToString("000"));
dw_main.SetItemString(1, "paytoorder_desc_1", "001" + paycoop_id.ToString("000"));
}
}
private void JsObjective()
{
Ltjspopup.Text = " ";
//int li_rowcount = dw_otherclr.RowCount;
//int li_find = dw_otherclr.FindRow("clrothertype_code = 'SHR'", 1, li_rowcount);
//if (li_find < 1)
//{
// li_find = dw_otherclr.InsertRow(0);
//}
//dw_otherclr.SetItemString(li_find, "clrothertype_code", "SHR");
//dw_otherclr.SetItemString(li_find, "clrother_desc", "ซื้อหุ้นเพิ่ม");
//dw_otherclr.SetItemDecimal(li_find, "clear_status", 0);
//dw_otherclr.SetItemDecimal(li_find, "clrother_amt", 0);
//JsSumOthClr();
//int objective_code = Convert.ToInt16(Hdobjective.Value);
//dw_main.SetItemString(1, "loanobjective_code", objective_code.ToString("000"));
//dw_main.SetItemString(1, "loanobjective_code_1", objective_code.ToString("000"));
}
///
/// init ข้อมูลสมาชิก
///
///
protected int JsCheckLoanrequestwait(ref string as_message)
{
try
{
String member_no = WebUtil.MemberNoFormat(HdMemberNo.Value);
dw_main.SetItemString(1, "member_no", member_no);
string ls_CoopControl = state.SsCoopControl; //สาขาที่ทำรายการ
String ls_loantype = "";
ls_loantype = dw_main.GetItemString(1, "loantype_code");
string lnrequest_date = dw_main.GetItemString(1, "loanrequest_tdate");
string sql_chkloan = @"select loanrequest_docno, loanrequest_status, loanrequest_date, loanrequest_amt from lnreqloan where loanrequest_status in (11,8) and
member_no = '" + member_no + "' and loantype_code = '" + ls_loantype + "'";
Sdt dtchk = WebUtil.QuerySdt(sql_chkloan);
if (dtchk.Next())
{
string ls_reqloandocno = dtchk.GetString("loanrequest_docno");
decimal ldc_loanreqamt = dtchk.GetDecimal("loanrequest_amt");
DateTime ldtm_lnreq = dtchk.GetDate("loanrequest_date");
String entry_date = ldtm_lnreq.AddYears(543).ToString();
LtServerMessage.Text = WebUtil.WarningMessage("มีใบคำขอกู้สำหรับวันที่" + entry_date + "แล้ว ระบบจะดึงข้อมูลใบคำขอให้อัตโนมัติ");
txt_reqNo.Text = ls_reqloandocno;
txt_member_no.Text = member_no;
Hdcoopid.Value = ls_CoopControl;
string[] arg = new string[2] { ls_reqloandocno, ls_CoopControl };
try { DwUtil.RetrieveDataWindow(dw_main, pbl, null, arg); }
catch (Exception ex) { ex.ToString(); }
tDwMain.Eng2ThaiAllRow();
try { DwUtil.RetrieveDataWindow(dw_clear, pbl, null, arg); }
catch (Exception ex) { ex.ToString(); }
try { DwUtil.RetrieveDataWindow(dw_coll, pbl, null, arg); }
catch (Exception ex) { ex.ToString(); }
try { DwUtil.RetrieveDataWindow(dw_otherclr, pbl, null, arg); }
catch (Exception ex) { ex.ToString(); }
// JsExpensebankbrRetrieve();
return -1;
}
}
catch
{
}
return 1;
}
private void JsGetMemberInfo()
{
try
{
JsReNewPage();
CbCheckcoop.Checked = false;
Decimal ldc_sharestk,
ldc_periodshramt,
ldc_periodshrvalue,
ldc_shrvalue,
ldc_loanrequeststatus = 0,
ldc_salary = 0,
ldc_incomeetc = 0,
ldc_incomemth = 0,
ldc_paymonth,
ldc_shrstkvalue = 0,
lndroploanall_flag = 0,
li_memberstatus = 1,
li_resignstatus = 0
;
int li_shrpaystatus,
li_lastperiod = 0,
li_membertype,
sequest_status = 0
;
DateTime ldtm_birth = new DateTime(),
ldtm_member = new DateTime(),
ldtm_work = new DateTime(),
ldtm_retry = new DateTime()
;
string ls_position,
ls_remark,
ls_membname,
ls_membgroup,
ls_groupname,
ls_membtypedesc = "",
ls_controlname = "",
ls_membcontrol = "",
ls_appltype,
ls_memno,
ls_CoopControl,
ls_messagewarning = " ";
String member_no = WebUtil.MemberNoFormat(HdMemberNo.Value);
dw_main.SetItemString(1, "member_no", member_no);
//เพิ่มจาก ธกส
if (salary_id == null || salary_id == "")
{
//ดึงเลขพนักงานจากเลขสมาชิก
string sqlMemb = @"select Trim(salary_id) as salary_id from mbmembmaster where member_no = '" + member_no + "' and member_status = 1";
Sdt dtMemb = WebUtil.QuerySdt(sqlMemb);
if (dtMemb.Next())
{
//เซตค่าของเลขพนักงานที่ได้มาจากเลขสมาชิกให้กับตัวแปร salary_id
salary_id = dtMemb.GetString("salary_id");
dw_main.SetItemString(1, "salary_id", salary_id);
}
else
{
this.JsReNewPage();
LtServerMessage.Text = WebUtil.ErrorMessage("ไม่สามารถดึงข้อมูลเลขพนักงาน " + salary_id);
}
}
if (JsCheckLoanrequestwait(ref ls_messagewarning) == 1)
{
ls_CoopControl = state.SsCoopControl; //สาขาที่ทำรายการ
string as_xmlmessage = "";
//wa
String ls_loantype = "";
try
{
String ls_memcoopid;
if (HdMemcoopId.Value == "")
{
ls_memcoopid = state.SsCoopControl;
}
else
{
ls_memcoopid = HdMemcoopId.Value;
}
String sqlstr = @" SELECT
a.membgroup_code,
a.membgroup_desc ,
MBMEMBMASTER.BIRTH_DATE,
MBMEMBMASTER.MEMBER_DATE,
MBMEMBMASTER.WORK_DATE,
MBMEMBMASTER.RETRY_DATE,
MBMEMBMASTER.SALARY_AMOUNT,
MBMEMBMASTER.INCOMEETC_AMT,
MBMEMBMASTER.MEMBTYPE_CODE,
MBUCFMEMBTYPE.MEMBTYPE_DESC,
SHSHAREMASTER.LAST_PERIOD,
SHSHAREMASTER.PERIODSHARE_AMT,
mbucfprename.prename_desc||mbmembmaster.memb_name||' '||mbmembmaster.memb_surname as member_name,
SHSHAREMASTER.PAYMENT_STATUS,
MBMEMBMASTER.POSITION_DESC,
MBMEMBMASTER.POSITION_CODE,
MBMEMBMASTER.REMARK,
MBMEMBMASTER.MEMBER_STATUS,
MBMEMBMASTER.RESIGN_STATUS,
SHSHAREMASTER.SHARESTK_AMT,
SHSHARETYPE.UNITSHARE_VALUE,
MBMEMBMASTER.MEMBER_TYPE,
MBMEMBMASTER.APPLTYPE_CODE, MBMEMBMASTER.dropgurantee_flag,
MBMEMBMASTER.RETRY_STATUS, MBMEMBMASTER.DROPLOANALL_FLAG,
MBMEMBMASTER.MEMBER_NO,
MBMEMBMASTER.PAUSEKEEP_FLAG,
MBMEMBMASTER.PAUSEKEEP_DATE, SHSHAREMASTER.sequest_status,
MBMEMBMASTER.COOP_ID ,MBMEMBMASTER.CREMATION_STATUS
FROM MBMEMBMASTER,
MBUCFMEMBGROUP a ,
MBUCFPRENAME,
MBUCFMEMBTYPE,
SHSHAREMASTER,
SHSHARETYPE
WHERE ( a.MEMBGROUP_CODE = MBMEMBMASTER.MEMBGROUP_CODE ) and
( SHSHAREMASTER.MEMBER_NO = MBMEMBMASTER.MEMBER_NO ) and
( MBMEMBMASTER.PRENAME_CODE = MBUCFPRENAME.PRENAME_CODE ) and
( MBMEMBMASTER.MEMBTYPE_CODE = MBUCFMEMBTYPE.MEMBTYPE_CODE ) and
( SHSHAREMASTER.SHARETYPE_CODE = SHSHARETYPE.SHARETYPE_CODE ) and
( MBMEMBMASTER.COOP_ID = a.COOP_ID ) and ( MBMEMBMASTER.MEMBER_STATUS=1) AND
( MBMEMBMASTER.COOP_ID = SHSHAREMASTER.COOP_ID ) and
( SHSHAREMASTER.COOP_ID = SHSHARETYPE.COOP_ID ) and
( ( mbmembmaster.member_no = '" + member_no + @"' ) AND
( shsharemaster.sharetype_code = '01' ) ) and
MBMEMBMASTER.COOP_ID ='" + ls_memcoopid + @"' ";
Sdt dt = WebUtil.QuerySdt(sqlstr);//เป็น service
if (dt.GetRowCount() < 1)
{
LtServerMessage.Text = WebUtil.ErrorMessage("ไม่พบข้อมูลสมาชิก หรือ สมาชิกท่านได้ปิดบัญชีสมาชิกแล้ว");
}
while (dt.Next())
{
try
{
li_cramationstatus = dt.GetInt32("cremation_status");
}
catch { li_cramationstatus = 0; }
try
{
lndroploanall_flag = dt.GetDecimal("DROPLOANALL_FLAG");
}
catch { lndroploanall_flag = 0; }
try { sequest_status = dt.GetInt32("sequest_status"); }
catch { sequest_status = 0; }
ls_membname = dt.GetString("member_name");
ls_membcontrol = dt.GetString("membgroup_control");
ls_controlname = dt.GetString("control_desc");
ls_membgroup = dt.GetString("membgroup_code");
ls_groupname = dt.GetString("membgroup_desc");
ldc_salary = dt.GetDecimal("salary_amount");
ldc_incomeetc = dt.GetDecimal("incomeetc_amt");
ldc_salary += ldc_incomeetc;
li_lastperiod = dt.GetInt32("last_period");
li_memberstatus = dt.GetInt32("member_status");
li_resignstatus = dt.GetInt32("resign_status");
try
{
ldtm_birth = dt.GetDate("birth_date");
}
catch
{
}
ldtm_retry = dt.GetDate("retry_date");
if (ldtm_retry.ToString("ddmmyyyy") == "01011900" || ldtm_retry == null)
{
try
{
///<หาวันที่เกษียณ>
//ldtm_retry = wcf.InterPreter.CalReTryDate(state.SsConnectionIndex, state.SsCoopControl, ldtm_birth);
//ldtm_retry = Convert.ToDateTime( of_getrerydate(ldtm_birth));
string retry_date = of_getrerydate(ldtm_birth);
ldtm_retry = DateTime.ParseExact(retry_date, "dd-MM-yyyy", null);
}
catch { }
}
try
{
ldtm_member = dt.GetDate("member_date");
}
catch { }
try
{
ldtm_work = dt.GetDate("work_date");
}
catch { }
try
{
ldc_incomemth = dt.GetDecimal("incomeetc_amt");
}
catch
{
ldc_incomemth = 0;
}
ldc_paymonth = 0;
ls_position = dt.GetString("position_desc");
ls_remark = dt.GetString("remark");
ldc_shrvalue = dt.GetDecimal("unitshare_value");
ldc_sharestk = dt.GetDecimal("sharestk_amt");
ldc_periodshramt = dt.GetDecimal("periodshare_amt");
li_shrpaystatus = dt.GetInt32("payment_status");
li_membertype = dt.GetInt32("member_type");
ls_appltype = dt.GetString("appltype_code");
ls_memno = dt.GetString("member_no");
//ls_memcoopid = dt.GetString("coop_id");
ls_membtype = dt.GetString("membtype_code");
ls_membtypedesc = dt.GetString("membtype_desc");
ldc_shrstkvalue = Convert.ToDecimal((Convert.ToInt32(ldc_shrvalue) * Convert.ToInt32(ldc_sharestk)));
ldc_periodshrvalue = Convert.ToDecimal((Convert.ToInt32(ldc_periodshramt) * Convert.ToInt32(ldc_shrvalue)));
if (li_resignstatus == 1)
{
LtServerMessage.Text = WebUtil.WarningMessage("สมาชิกท่านได้ลาออกจากสหกรณ์แล้ว กรุณาตรวจสอบ");
}
//dw_main.SetItemString(1, "memcoop_id", ls_memcoopid);
dw_main.SetItemString(1, "coop_id", state.SsCoopId);
dw_main.SetItemString(1, "member_name", ls_membname);
dw_main.SetItemString(1, "membgroup_code", ls_membgroup);
dw_main.SetItemString(1, "membgroup_desc", ls_groupname);
// dw_main.SetItemString(1, "membgroup_desc", ls_controlname);
dw_main.SetItemDecimal(1, "salary_amt", ldc_salary);
dw_main.SetItemDecimal(1, "share_lastperiod", li_lastperiod);
dw_main.SetItemDateTime(1, "birth_date", ldtm_birth);
dw_main.SetItemDateTime(1, "member_date", ldtm_member);
if (ldtm_work.Year < 1700)
{
dw_main.SetItemNull(1, "work_date");
}
else
{
dw_main.SetItemDateTime(1, "work_date", ldtm_work);
}
//dw_main.SetItemString(1, "membtype_code", ls_membtype);
//dw_main.SetItemString(1, "membtype_desc", ls_membtypedesc);
try
{
dw_main.SetItemDateTime(1, "retry_date", ldtm_retry);
}
catch { dw_main.SetItemDateTime(1, "retry_date", DateTime.Now); }
dw_main.SetItemDecimal(1, "incomemonth_other", ldc_incomemth);
dw_main.SetItemDecimal(1, "incomemonth_fixed", ldc_incomemth);
dw_main.SetItemDecimal(1, "paymonth_other", ldc_paymonth);
dw_main.SetItemString(1, "position_desc", ls_position);
dw_main.SetItemString(1, "remark", "");
dw_main.SetItemString(1, "member_remark", ls_remark);
dw_main.SetItemDecimal(1, "sharestk_value", ldc_shrstkvalue);
dw_main.SetItemDecimal(1, "periodshare_value", ldc_periodshrvalue);
dw_main.SetItemDecimal(1, "sharepay_status", li_shrpaystatus);
dw_main.SetItemDecimal(1, "intestimate_amt", 0);
dw_main.SetItemDecimal(1, "member_type", li_membertype);
dw_main.SetItemString(1, "appltype_code", ls_appltype);
//คำนวณอายสมาชิก
JsCalageyearmonth();
string loantype_code = dw_main.GetItemString(1, "loantype_code");
string sqlpauseloan = "select loantype_code , pauseloan_cause, expirefix_flag, expirefix_date from lnmembpauseloan where member_no = '" + member_no + "' and loantype_code = '" + loantype_code + "'";
Sdt dtp = WebUtil.QuerySdt(sqlpauseloan);
string pauseloan_desc = "";
DateTime expirefix_date;
decimal expirefix_flag = 0;
if (dtp.Next())
{
pauseloan_desc = dtp.GetString("pauseloan_cause");
expirefix_flag = dtp.GetDecimal("expirefix_flag");
expirefix_date = dtp.GetDate("expirefix_date");
if (expirefix_flag == 1)
{
LtServerMessage.Text = WebUtil.ErrorMessage("สมาชิกท่านนี้ได้ถูกห้ามกู้ประเภทนี้อยู่ " + loantype_code + " เหตผล " + pauseloan_desc + " ถึงวันที่ " + Convert.ToString(expirefix_date.ToLongDateString()));
}
else
{
LtServerMessage.Text = WebUtil.ErrorMessage("สมาชิกท่านนี้ได้ถูกห้ามกู้ประเภทนี้อยู่ " + loantype_code + " เหตผล " + pauseloan_desc);
}
}
}
Jscheckloancontarrer();
if (sequest_status == 1) //&& loantype == "23"
{
LtServerMessage.Text = WebUtil.ErrorMessage("สมาชิกท่านนี้ ศาลอายัดหุ้นไว้ ไม่สามารถกู้ได้");
}
if (lndroploanall_flag != 0)
{
LtServerMessage.Text = WebUtil.ErrorMessage("สมาชิกท่านนี้ งดกู้");
}
else
{
///<สิทธิ์กู้สูดสุง>
///
// string re_lastperiod = wcf.InterPreter.GetlastperiodShare(li_lastperiod);
//if (re_lastperiod == "1")
//{
Jsmaxcreditperiod();
//}
//else { LtServerMessage.Text = WebUtil.ErrorMessage("งวดการส่งค่าหุ้นหรือ อายุการเป็นสมาชิก ของสมาชิกท่านนี้ยังไม่ถึงเกณฑ์ที่กำหนด"); }
///<ตรวจหาสัญญาที่จะหักกลบ ถ้ามีก็เอามาแสดง ใน dw_clear>
JsSetExpenseDefault(1, member_no);
}
HdPaymonth.Value = dw_main.GetItemDecimal(1, "paymonth_coop_2").ToString();//edit by waw
//HdBalance.Value = dw_clear.GetItemDecimal(1, "principal_balance").ToString();
}
catch
{
LtServerMessage.Text = WebUtil.ErrorMessage("ไม่สามารถทำรายการ");
}
}
else
{//JsCheckLoanrequestwait(ref ls_messagewarning) == -1 //Edit by MiW
JsSumOthClr();
}
JsSetCalFSV();
}
catch (Exception ex)
{
LtServerMessage.Text = WebUtil.ErrorMessage("กรุณาเลือกประเภทเงินกู้ที่จะทำรายการ" + ex);
}
CheckRemark(WebUtil.MemberNoFormat(HdMemberNo.Value));
HdShowRemark.Value = "true";
}
///
/// ดึงข้อมูลสัญญาหักกลบ
///
///
private void of_setloanclearstatus()
{
//wa
Ltjspopupclr.Text = "";
for (int k = 1; k <= dw_clear.RowCount; k++)
{
dw_clear.SetItemDecimal(k, "clear_status", 0);
}
//ตั้งค่าการหักชำระหนี้เก่า
string loantypeclr, loantype, contclr_no;
string ls_memcoopid = dw_main.GetItemString(1, "memcoop_id");
String member_no = dw_main.GetItemString(1, "member_no");
decimal ldc_minpay, li_minperiod, li_checkcontclr, last_payperid, li_calintflag = 0;
string loantypereq_code = dw_main.GetItemString(1, "loantype_code");
String sqlStr1 = @"SELECT LNLOANTYPECLR.LOANTYPE_CODE,
LNLOANTYPECLR.LOANTYPE_CLEAR,
LNLOANTYPECLR.MINPERIOD_PAY,
LNLOANTYPECLR.MINPERCENT_PAY,
LNLOANTYPECLR.CHKCONTCREDIT_FLAG,
LNLOANTYPE.LOANRIGHT_TYPE,
LNLOANTYPECLR.CONTRACT_STATUS ,calint_flag
FROM LNLOANTYPECLR,
LNLOANTYPE
WHERE ( LNLOANTYPECLR.LOANTYPE_CLEAR = LNLOANTYPE.LOANTYPE_CODE ) and
( LNLOANTYPECLR.COOP_ID = LNLOANTYPE.COOP_ID ) and
( ( LNLOANTYPECLR.LOANTYPE_CODE = '" + loantypereq_code + "' ) ) ";
Sdt dt1 = WebUtil.QuerySdt(sqlStr1);
if (dt1.Next())
{
for (int i = 0; i < dt1.GetRowCount(); i++)
{
loantypeclr = Convert.ToString(dt1.Rows[i]["LOANTYPE_CLEAR"]);
li_minperiod = Convert.ToDecimal(dt1.Rows[i]["minperiod_pay"]);
ldc_minpay = Convert.ToDecimal(dt1.Rows[i]["minpercent_pay"]);
li_checkcontclr = Convert.ToDecimal(dt1.Rows[i]["contract_status"]);
li_calintflag = Convert.ToDecimal(dt1.Rows[i]["calint_flag"]);
for (int k = 1; k <= dw_clear.RowCount; k++)
{
contclr_no = dw_clear.GetItemString(k, "loancontract_no");
loantype = dw_clear.GetItemString(k, "loantype_code");
last_payperid = dw_clear.GetItemDecimal(k, "last_periodpay");
if (loantype == loantypeclr) //&& li_minperiod <= last_payperid
{
dw_clear.SetItemDecimal(k, "clear_status", 1);
if (li_minperiod > last_payperid)
{
Ltjspopupclr.Text += WebUtil.WarningMessage(contclr_no + " สัญญาชำระไม่ถึงตามเกณฑ์ที่กำหนด ต้องส่งมาแล้วขั้นต่ำ " + li_minperiod.ToString());
}
}
if (li_calintflag == 0)
{
dw_clear.SetItemDecimal(k, "intestimate_amt", 0);
dw_clear.SetItemDecimal(k, "intclear_amt", 0);
}
}
}
}
}
private double of_getinterestrate(string loantype_code)
{
double intrate = 0;
string ls_intratetab = wcf.Busscom.of_getattribloantype(state.SsWsPass, loantype_code, "inttabrate_code").ToString();
String sqlint = @" SELECT
INTEREST_RATE
FROM LNCFLOANINTRATEDET
WHERE ( COOP_ID ='" + state.SsCoopControl + @"' ) AND
( LOANINTRATE_CODE ='" + ls_intratetab + "' ) order by effective_date ";
Sdt dtint = WebUtil.QuerySdt(sqlint);
while (dtint.Next())
{
intrate = dtint.GetDouble("INTEREST_RATE");
intrate = intrate;
}
return intrate;
}
private void JsrecallInt()
{
//tDwMain.Eng2ThaiAllRow();
DateTime loanrcvfix_date = dw_main.GetItemDate(1, "loanrcvfix_date");
Decimal loanrequest_amt = dw_main.GetItemDecimal(1, "loanrequest_amt");
DateTime startkeep_date = dw_main.GetItemDate(1, "startkeep_date");
Decimal intrate = 0;
string ls_loantype = dw_main.GetItemString(1, "loantype_code");
Genbaseloanclear();
string ls_intratetab = wcf.Busscom.of_getattribloantype(state.SsWsPass, ls_loantype, "inttabrate_code").ToString();
String sqlint = @" SELECT
INTEREST_RATE
FROM LNCFLOANINTRATEDET
WHERE ( COOP_ID ='" + state.SsCoopControl + @"' ) AND
( LOANINTRATE_CODE ='" + ls_intratetab + "' ) ";
Sdt dtint = WebUtil.QuerySdt(sqlint);
if (dtint.Next())
{
intrate = dtint.GetDecimal("INTEREST_RATE");
}
Decimal day_int = startkeep_date.DayOfYear - loanrcvfix_date.DayOfYear;
Decimal intestimate_amt = Math.Round(loanrequest_amt * intrate * day_int / 365);
dw_main.SetItemDecimal(1, "intestimate_amt", intestimate_amt);
}
private void Genbaseloanclear()
{
Ltjspopupclr.Text = "";
String member_no = dw_main.GetItemString(1, "member_no");
DateTime loanrcvfix_date = dw_main.GetItemDate(1, "loanrcvfix_date");
String ls_memcoopid;
try { ls_memcoopid = dw_main.GetItemString(1, "memcoop_id"); }
catch { ls_memcoopid = state.SsCoopControl; }
string ls_contno, ls_conttype, ls_prefix, ls_permgrp, ls_loantype = "", ls_intcontintcode, ls_coopid = "";
Decimal li_minperiod = 0, li_period, li_continttype, li_transfersts = 0, ldc_intestim30 = 0;
Decimal li_paytype, li_contstatus, li_intcontinttype, li_intsteptype;
Decimal li_periodamt, li_contlaw, li_paystatus, li_clearinsure, li_od_flag = 0;
Decimal ldc_appvamt, ldc_balance = 0, ldc_withdrawable, ldc_rkeepprin, ldc_rkeepint, ldc_transbal;
Decimal ldc_intarrear, ldc_payment, ldc_intestim = 0;
Decimal ldc_minpay = 0, ldc_intrate, ldc_intcontintrate, ldc_intincrease;
DateTime ldtm_lastcalint, ldtm_lastproc, ldtm_approve, ldtm_startcont;
int li_interestmethod = 0, li_roundtype = 1;
ls_loantype = dw_main.GetItemString(1, "loantype_code");
li_roundtype = Convert.ToInt16(Hdrouninttype.Value);
String sqlStr = @" SELECT LNCONTMASTER.LOANCONTRACT_NO,
LNCONTMASTER.MEMBER_NO,
LNCONTMASTER.LOANTYPE_CODE,
LNCONTMASTER.LOANAPPROVE_AMT,
LNCONTMASTER.WITHDRAWABLE_AMT,
LNCONTMASTER.PRINCIPAL_BALANCE,
LNCONTMASTER.LAST_PERIODPAY,
LNCONTMASTER.LASTCALINT_DATE,
LNCONTMASTER.LASTPROCESS_DATE,
LNCONTMASTER.INTEREST_ARREAR,
LNCONTMASTER.RKEEP_PRINCIPAL,
LNCONTMASTER.RKEEP_INTEREST,
LNLOANTYPE.PREFIX,
LNCONTMASTER.LOANPAYMENT_TYPE,
LNCONTMASTER.PERIOD_PAYMENT,
LNLOANTYPE.LOANPERMGRP_CODE,
LNCONTMASTER.CONTRACT_STATUS,
LNCONTMASTER.INT_CONTINTTYPE as CONTRACTINT_TYPE,
LNCONTMASTER.INT_CONTINTRATE as CONTRACT_INTEREST,
LNCONTMASTER.LOANAPPROVE_DATE,
LNCONTMASTER.STARTCONT_DATE,
LNCONTMASTER.INT_CONTINTTYPE,
LNCONTMASTER.INT_CONTINTRATE,
LNCONTMASTER.INT_CONTINTTABCODE,
LNCONTMASTER.INT_CONTINTINCREASE,
LNCONTMASTER.INT_INTSTEPTYPE,
LNCONTMASTER.PERIOD_PAYAMT,
LNCONTMASTER.CONTLAW_STATUS,
LNCONTMASTER.PRINCIPAL_TRANSBAL,
LNCONTMASTER.PAYMENT_STATUS,
LNLOANTYPE.CLEARINSURE_FLAG,
LNCONTMASTER.INSURECOLL_FLAG ,
LNLOANTYPE.interest_method,
LNLOANTYPE.od_flag, LNLOANTYPE.shrstk_buytype
FROM LNCONTMASTER,
LNLOANTYPE
WHERE ( LNCONTMASTER.LOANTYPE_CODE = LNLOANTYPE.LOANTYPE_CODE ) and
( LNCONTMASTER.COOP_ID = LNLOANTYPE.COOP_ID ) and
( ( lncontmaster.member_no = '" + member_no + @"' ) AND
( lncontmaster.principal_balance + lncontmaster.withdrawable_amt > 0 ) AND
( lncontmaster.contract_status > 0 ) AND
( LNCONTMASTER.MEMCOOP_ID = '" + ls_memcoopid + @"' ) )
ORDER BY LNCONTMASTER.LOANCONTRACT_NO ASC ";
Sdt dt = WebUtil.QuerySdt(sqlStr);
if (dt.Next())
{
dw_clear.Reset();
int rowCount = dt.GetRowCount();
for (int i = 0; i < rowCount; i++)
{
try { ls_contno = dt.Rows[i]["loancontract_no"].ToString(); }
catch { ls_contno = ""; }
try { ls_conttype = dt.Rows[i]["loantype_code"].ToString(); }
catch { ls_conttype = ""; }
try { ls_prefix = dt.Rows[i]["prefix"].ToString(); }
catch { ls_prefix = ""; }
try { ls_permgrp = dt.Rows[i]["loanpermgrp_code"].ToString(); }// คำนำหน้าประเภทสัญญา
catch { ls_permgrp = ""; }
try { li_paytype = Convert.ToDecimal(dt.Rows[i]["loanpayment_type"]); }// กลุ่มวงเงินกู้
catch { li_paytype = 0; }
try { li_period = Convert.ToDecimal(dt.Rows[i]["last_periodpay"]); }
catch { li_period = 0; }
try { li_contstatus = Convert.ToDecimal(dt.Rows[i]["contract_status"]); }
catch { li_contstatus = 0; }
try { li_continttype = Convert.ToDecimal(dt.Rows[i]["contractint_type"]); }
catch { li_continttype = 0; }
try { ldc_intrate = Convert.ToDecimal(dt.Rows[i]["contract_interest"]); }
catch { ldc_intrate = 0; }
try { ldc_payment = Convert.ToDecimal(dt.Rows[i]["period_payment"]); }
catch { ldc_payment = 0; }
try { ldc_appvamt = Convert.ToDecimal(dt.Rows[i]["loanapprove_amt"]); }
catch { ldc_appvamt = 0; }
try { ldc_withdrawable = Convert.ToDecimal(dt.Rows[i]["withdrawable_amt"]); }
catch { ldc_withdrawable = 0; }
try { ldc_balance = Convert.ToDecimal(dt.Rows[i]["principal_balance"]); }
catch { ldc_balance = 0; }
try { ldc_intarrear = Convert.ToDecimal(dt.Rows[i]["interest_arrear"]); }
catch { ldc_intarrear = 0; }
try { ldc_rkeepprin = Convert.ToDecimal(dt.Rows[i]["rkeep_principal"]); }
catch { ldc_rkeepprin = 0; }
try { ldc_rkeepint = Convert.ToDecimal(dt.Rows[i]["rkeep_interest"]); }
catch { ldc_rkeepint = 0; }
try { ldtm_lastcalint = Convert.ToDateTime(dt.Rows[i]["lastcalint_date"]); }
catch { ldtm_lastcalint = DateTime.Now; }
try { ldtm_lastproc = Convert.ToDateTime(dt.Rows[i]["lastprocess_date"]); }
catch { ldtm_lastproc = DateTime.Now; }
try { ldtm_approve = Convert.ToDateTime(dt.Rows[i]["loanapprove_date"]); }
catch { ldtm_approve = DateTime.Now; }
try { ldtm_startcont = Convert.ToDateTime(dt.Rows[i]["startcont_date"]); }
catch { ldtm_startcont = DateTime.Now; }
try { li_intcontinttype = Convert.ToDecimal(dt.Rows[i]["int_continttype"]); }
catch { li_intcontinttype = 0; }
try { ldc_intcontintrate = Convert.ToDecimal(dt.Rows[i]["int_contintrate"]); }
catch { ldc_intcontintrate = 0; }
try { ls_intcontintcode = dt.Rows[i]["int_continttabcode"].ToString(); }
catch { ls_intcontintcode = ""; }
try { ldc_intincrease = Convert.ToDecimal(dt.Rows[i]["int_contintincrease"]); }
catch { ldc_intincrease = 0; }
try { li_intsteptype = Convert.ToDecimal(dt.Rows[i]["int_intsteptype"]); }
catch { li_intsteptype = 0; }
try { li_periodamt = Convert.ToDecimal(dt.Rows[i]["period_payamt"]); }
catch { li_periodamt = 0; }
try { li_transfersts = Convert.ToDecimal(dt.Rows[i]["transfer_status"]); }
catch { li_transfersts = 0; }
try { ls_coopid = dt.Rows[i]["coop_id"].ToString(); }
catch { ls_coopid = ls_memcoopid; }
try { li_contlaw = Convert.ToDecimal(dt.Rows[i]["shrstk_buytype"]); }//wa เปลียนเป็น ธกส 1 2 ให้นับรวมหนี้เพือคิดหุ้น
catch { li_contlaw = 0; }
try { ldc_transbal = Convert.ToDecimal(dt.Rows[i]["principal_transbal"]); }
catch { ldc_transbal = 0; }
try { li_paystatus = Convert.ToDecimal(dt.Rows[i]["payment_status"]); }
catch { li_paystatus = 0; }
try { li_clearinsure = Convert.ToDecimal(dt.Rows[i]["insurecoll_flag"]); }
catch { li_clearinsure = 0; }
try { li_interestmethod = Convert.ToInt16(dt.Rows[i]["interest_method"]); }
catch { li_interestmethod = 1; }
try { li_od_flag = Convert.ToInt16(dt.Rows[i]["od_flag"]); }
catch { li_od_flag = 0; }
// ldc_intcontintrate = dw_main.GetItemDecimal(1, "int_contintrate");
loanrcvfix_date = dw_main.GetItemDateTime(1, "loanrcvfix_date");
decimal ldc_day = loanrcvfix_date.Day;
decimal ldc_month = loanrcvfix_date.Month;
decimal ldc_year = loanrcvfix_date.Year;
decimal ldc_dayfix = 15;
// ธกส เปลี่ยนการใส่อัตราดอกเบี้ย จาก 0.05 เป็น 5
if (li_interestmethod == 1)
{
//ดอกเบี้ย กฟภ.ใช้ ldc_intestim
//คิด ดบ. รายวัน
Decimal day_int = Convert.ToDecimal((loanrcvfix_date - ldtm_lastcalint).TotalDays);
if (day_int < 0) { day_int = 0; }
//if (ldc_intcontintrate == 0)
//{
ldc_intcontintrate = Convert.ToDecimal(of_getinterestrate(ls_loantype));
//ธกส เปลี่ยนการใส่อัตรราดอกเบี้ย
ldc_intcontintrate = ldc_intcontintrate / 100;
//}
ldc_intestim = ldc_balance * (ldc_intcontintrate) * day_int / 365;
// ldc_intestim = wcf.Shrlon.of_roundmoney(state.SsWsPass, ldc_intestim);
//ldc_intestim = JsRoundMoney(ldc_intestim, li_roundtype); //ของ กฟภ.ไม่ต้องปัดทศนิยม
ldc_intestim30 = ldc_balance * (ldc_intcontintrate) * 30 / 365;
// ldc_intestim30 = wcf.Shrlon.of_roundmoney(state.SsWsPass, ldc_intestim30);
ldc_intestim30 = JsRoundMoney(ldc_intestim30, li_roundtype);
}
else
{
//surin ประเภทเดียวกัน ก่อน วันที่ 12 ไม่คิด 13-15 คิด คึ่งเดือน 16-31 คิดครึ่งเดือน
//ต่างประเภทกัน ก่อน 15 คิด ครึ่งเดือน หลัง 15 คิด 1 เดือน
//if (ldc_day <= 15)
//{
// if (ls_conttype != ls_loantype)
// {
// if ((ls_loantype == "41" && ls_conttype == "44") || (ls_loantype == "44" && ls_conttype == "41"))
// {
// ldc_intestim = 0;
// }
// else
// {
// //ldc_intestim = wcf.Shrlon.of_roundmoney(state.SsWsPass, ldc_balance * (ldc_intcontintrate) * (Convert.ToDecimal(0.5)) / 12);
// ldc_intestim = JsRoundMoney(ldc_balance * (ldc_intcontintrate) * (Convert.ToDecimal(0.5)) / 12, li_roundtype);
// }
// }
// else
// {
// ldc_intestim = 0;
// }
//}
//else
//{
// if (ls_conttype != ls_loantype)
// {
// if ((ls_loantype == "41" && ls_conttype == "44") || (ls_loantype == "44" && ls_conttype == "41"))
// {
// //ldc_intestim = wcf.Shrlon.of_roundmoney(state.SsWsPass, (ldc_balance * (ldc_intcontintrate) / 12) / 2);
// ldc_intestim = JsRoundMoney((ldc_balance * (ldc_intcontintrate) / 12) / 2, li_roundtype);
// }
// else
// {
// //ldc_intestim = wcf.Shrlon.of_roundmoney(state.SsWsPass, ldc_balance * (ldc_intcontintrate) / 12);
// ldc_intestim = JsRoundMoney(ldc_balance * (ldc_intcontintrate) / 12, li_roundtype);
// }
// }
// else
// {
// // ldc_intestim = wcf.Shrlon.of_roundmoney(state.SsWsPass, (ldc_balance * (ldc_intcontintrate) / 12) / 2);
// ldc_intestim = JsRoundMoney((ldc_balance * (ldc_intcontintrate) / 12) / 2, li_roundtype);
// }
//}
}
dw_clear.InsertRow(i + 1);
dw_clear.SetItemString(i + 1, "loancontract_no", ls_contno);
dw_clear.SetItemString(i + 1, "coop_id", state.SsCoopId);
dw_clear.SetItemString(i + 1, "concoop_id", state.SsCoopControl);
dw_clear.SetItemString(i + 1, "loantype_code", ls_conttype);
dw_clear.SetItemString(i + 1, "prefix", ls_prefix);
dw_clear.SetItemDecimal(i + 1, "loanpayment_type", li_paytype);
dw_clear.SetItemDecimal(i + 1, "period_payment", ldc_payment);
dw_clear.SetItemDecimal(i + 1, "loanapprove_amt", ldc_appvamt);
dw_clear.SetItemDecimal(i + 1, "withdrawable_amt", ldc_withdrawable);
dw_clear.SetItemDecimal(i + 1, "principal_balance", ldc_balance);
dw_clear.SetItemDecimal(i + 1, "last_periodpay", li_period);
dw_clear.SetItemDecimal(i + 1, "minperiod_pay", li_minperiod);
dw_clear.SetItemDecimal(i + 1, "minpercent_pay", ldc_minpay);
dw_clear.SetItemDateTime(i + 1, "lastcalint_date", ldtm_lastcalint);
dw_clear.SetItemDecimal(i + 1, "contract_status", li_contstatus);
dw_clear.SetItemString(i + 1, "permissgroup_code", ls_permgrp);
// dw_clear.SetItemDecimal(i + 1, "clear_status", li_status);
dw_clear.SetItemDateTime(i + 1, "lastprocess_date", ldtm_lastproc);
dw_clear.SetItemDecimal(i + 1, "contractint_type", li_continttype);
dw_clear.SetItemDecimal(i + 1, "contract_interest", ldc_intrate);
dw_clear.SetItemDecimal(i + 1, "rkeep_principal", ldc_rkeepprin);
dw_clear.SetItemDecimal(i + 1, "rkeep_interest", ldc_rkeepint);
dw_clear.SetItemDecimal(i + 1, "interest_arrear", ldc_intarrear);//ldc_intarrear
dw_clear.SetItemDateTime(i + 1, "loanapprove_date", ldtm_approve);
dw_clear.SetItemDateTime(i + 1, "startcont_date", ldtm_startcont);
dw_clear.SetItemDecimal(i + 1, "int_continttype", li_intcontinttype);
dw_clear.SetItemDecimal(i + 1, "int_contintrate", ldc_intcontintrate);
dw_clear.SetItemString(i + 1, "int_continttabcode", ls_intcontintcode);
dw_clear.SetItemDecimal(i + 1, "int_contintincrease", ldc_intincrease);
dw_clear.SetItemDecimal(i + 1, "int_intsteptype", li_intsteptype);
dw_clear.SetItemDecimal(i + 1, "period_payamt", li_periodamt);
dw_clear.SetItemDecimal(i + 1, "contlaw_status", li_contlaw);
dw_clear.SetItemDecimal(i + 1, "payment_status", li_paystatus);
dw_clear.SetItemDecimal(i + 1, "principal_transbal", ldc_transbal);
dw_clear.SetItemDecimal(i + 1, "insurecoll_flag", li_clearinsure);
dw_clear.SetItemDecimal(i + 1, "countpay_flag", li_od_flag);
dw_clear.SetItemDecimal(i + 1, "intestimate_amt", Convert.ToDecimal(ldc_intestim));
dw_clear.SetItemDecimal(i + 1, "intclear_amt", Convert.ToDecimal(ldc_intestim));
}
}
}
private void JsGetloangrouppermissuesed()
{
string permissgroup_code;
int clear_status = 0;
decimal principal_balance = 0, ldc_sumloangroup = 0, ldc_rkeepprin = 0;
string loanpermissgroup = dw_main.GetItemString(1, "instype_code");
for (int i = 1; i <= dw_clear.RowCount; i++)
{
permissgroup_code = dw_clear.GetItemString(i, "permissgroup_code");
principal_balance = dw_clear.GetItemDecimal(i, "principal_balance");
try
{
ldc_rkeepprin = dw_clear.GetItemDecimal(i, "rkeep_principal");
}
catch
{
ldc_rkeepprin = 0;
}
clear_status = Convert.ToInt16(dw_clear.GetItemDecimal(i, "clear_status"));
if (loanpermissgroup == permissgroup_code && clear_status == 0)
{
ldc_sumloangroup = ldc_sumloangroup + principal_balance - ldc_rkeepprin;
}
}
dw_main.SetItemDecimal(1, "loangrpuse_amt", ldc_sumloangroup);
}
///
/// 2014.01.03::panupong.s
/// คำนวณสิทธิกู้จากยอดเงินเดือนคงเหลือขั้นต่ำ
///
private void JsCalMaxLoanpermiss()
{
string loantype_code //ประเภทเงินกู้
;
decimal ldc_salary, //เงินเดือน
ldc_mthcoop, //
ldc_minpercsal, //%เงินคงเหลือ
ldc_minsalaamt, //ยอดคงเหลือขั้นต่ำ
ldc_periodsend, //จำนวนงวดที่ส่ง
ldc_paymenttype, //ประเภทส่ง
ldc_intrate, //อัตรา ด/บ
ldc_sharevalue, //ทุนเรือนหุ้น
ldc_incomeetc, //
ldc_paymtmetc, //ยอดหักอื่นฯ
ldc_paystatus, //การเรียกเก็บ
ldc_loanreqregis, //ขอกู้
loan_credit, //สิทธิกู้สูงสุด
loangrpcredit_amt, //
netincome_amt, //ยอดรับสุทธิ
return_other, //ยอดบวกกลับ
return_coop, //ยอดคืนหัก สอ.
salary_balance, //เงินคงเหลือผ่อน
ldc_permamt //
;
double li_maxperiod //จำนวนงวดที่ส่ง
;
try { loantype_code = dw_main.GetItemString(1, "loantype_code"); }
catch { loantype_code = ""; }
try { ldc_salary = dw_main.GetItemDecimal(1, "salary_amt"); }
catch { ldc_salary = 0; }
try { ldc_mthcoop = dw_main.GetItemDecimal(1, "paymonth_coop"); }
catch { ldc_mthcoop = 0; }
try { ldc_minpercsal = dw_main.GetItemDecimal(1, "minsalary_perc"); }
catch { ldc_minpercsal = 0; }
try { ldc_minsalaamt = dw_main.GetItemDecimal(1, "minsalary_amt"); }
catch { ldc_minsalaamt = 0; }
try { ldc_periodsend = dw_main.GetItemDecimal(1, "period_payamt"); }
catch { ldc_periodsend = 0; }
try { ldc_paymenttype = dw_main.GetItemDecimal(1, "loanpayment_type"); }
catch { ldc_paymenttype = 0; }
try { ldc_intrate = dw_main.GetItemDecimal(1, "int_contintrate"); }
catch { ldc_intrate = 0; }
try { ldc_sharevalue = dw_main.GetItemDecimal(1, "sharestk_value"); }
catch { ldc_sharevalue = 0; }
try { ldc_incomeetc = dw_main.GetItemDecimal(1, "incomemonth_fixed"); }
catch { ldc_incomeetc = 0; }
try { ldc_paymtmetc = dw_main.GetItemDecimal(1, "paymonth_other"); }
catch { ldc_paymtmetc = 0; }
try { ldc_paystatus = dw_main.GetItemDecimal(1, "loanpayment_status"); }
catch { ldc_paystatus = 0; }
try { ldc_loanreqregis = dw_main.GetItemDecimal(1, "loanreqregis_amt"); }
catch { ldc_loanreqregis = 0; }
try { loan_credit = dw_main.GetItemDecimal(1, "loancredit_amt"); }
catch { loan_credit = 0; }
try { loangrpcredit_amt = dw_main.GetItemDecimal(1, "loangrpcredit_amt"); }
catch { loangrpcredit_amt = 0; }
try { netincome_amt = dw_main.GetItemDecimal(1, "netincome_amt"); }
catch { netincome_amt = 0; }
try { return_other = dw_main.GetItemDecimal(1, "return_other"); }
catch { return_other = 0; }
try { return_coop = dw_main.GetItemDecimal(1, "return_coop"); }
catch { return_coop = 0; }
try
{ //คำนวณเงินเดือนคงเหลือขั้นต่ำ กรณีมีการเปลี่ยนแปลงเงินเดือน
if (ldc_minsalaamt < (ldc_salary * (ldc_minpercsal / 100)))
{
ldc_minsalaamt = Math.Round(ldc_salary * (ldc_minpercsal / 100));
}
if (loantype_code == "10" && ldc_minsalaamt >= 5000)
{//กฟภ. กรณีเงินกู้ฉกเฉิน หากมีการคำนวนเงินเดือนคงเหลือ 40% แล้วยอดต้องไม่เกิน 5,000 บาท หากเกินให้ใช้ยอด 5,000 ::HC By MiW (And in Compute field on DW)
ldc_minsalaamt = 5000;
}
if (ldc_paystatus == -13)
{ //กรณีงดเรียกเก็บให้คิด ยอดเต็มสิทธิเลย
dw_main.SetItemDecimal(1, "loanpermiss_amt", loan_credit);
dw_main.SetItemDecimal(1, "loanreqregis_amt", 0);
dw_main.SetItemDecimal(1, "loanrequest_amt", 0);
}
else
{ // ธกส เปลี่ยนการใส่อัตราดอกเบี้ย จาก 0.05 เป็น 5
ldc_intrate = ldc_intrate / 100;
//wa pea (x = ยอดรับสุทธิ + ยอดบวกกลับ + ยอดคืนสอ. - ด้วยคงเหลือคันต่ำ - ยอดหักอื่นๆ)
salary_balance = netincome_amt + return_other + return_coop - ldc_minsalaamt - ldc_paymtmetc;
if (ldc_minsalaamt <= 0 && ldc_minpercsal <= 0)
{
salary_balance = ldc_salary;
}
li_maxperiod = Convert.ToDouble(ldc_periodsend);
//dw_main.SetItemDecimal(1, "maxperiod_payamt", salary_balance);//error service large value
#region คงต้น
if (ldc_paymenttype == 1)
{ //คงต้น
double ldc_dayyear = Convert.ToDateTime("31/12/" + state.SsWorkDate.Year).DayOfYear;
double ldc_ddd = 1.00;
double ldc_temp = Convert.ToDouble(ldc_periodsend) * (Convert.ToDouble(ldc_intrate) * ldc_dayyear) + ldc_ddd;
ldc_permamt = Convert.ToDecimal((Convert.ToDouble(salary_balance) * Convert.ToDouble(ldc_periodsend)) / ldc_temp);
}
#endregion
#region คงยอด
else
{ //คงยอด
int li_fixcaltype = 1;
double ldc_permamttmp = 1.00, ldc_fr = 1.00, ldc_temp = 1.00;
if (li_fixcaltype == 1)
{ // ด/บ ทั้งปี / 12
ldc_temp = Math.Log(1 + (Convert.ToDouble(Convert.ToDouble(ldc_intrate) / 12.00)));
ldc_fr = Math.Exp(-li_maxperiod * ldc_temp);
ldc_permamttmp = (Convert.ToDouble(salary_balance) * (1.00 - ldc_fr)) / ((Convert.ToDouble(ldc_intrate) / 12));
}
else
{ // ด/บ 30 วัน/เดือน
ldc_temp = Math.Log(1 + (Convert.ToDouble(Convert.ToDouble(ldc_intrate) / (30.00 / 365.00))));
ldc_fr = Math.Exp(-li_maxperiod * ldc_temp);
ldc_permamttmp = (Convert.ToDouble(salary_balance) * (1.00 - ldc_fr)) / ((Convert.ToDouble(ldc_intrate) / (30.00 / 365.00)));
}
ldc_permamt = Convert.ToDecimal(ldc_permamttmp);
if (ldc_permamt > loan_credit)
{ //ถ้า สิทธิ์กู้ที่คำนวณได้ > สิทธิ์กู้ตามประเภท
ldc_permamt = loan_credit;
}
}
#endregion
//หักยอดกู้กลุ่ม
String lngrpcutrightflag = Hdlngrpcutright_flag.Value;
int lngrpcutright_flag = Convert.ToInt16(lngrpcutrightflag);
if (ldc_permamt > loan_credit)
{ //ถ้า สิทธิ์กู้ที่คำนวณได้ > สิทธิ์กู้ตามประเภท
ldc_permamt = loan_credit;
}
if (ldc_permamt < 0)
{ //ถ้า สิทธิ์กู้ที่คำนวณได้ < 0
ldc_permamt = 0;
}
//ปัดยอดขอกู้
String ll_roundloan = Hdreqround_factor.Value;
int roundloan = Convert.ToInt16(ll_roundloan);
if (roundloan > 0)
{
if (ldc_permamt > 0)
{
if (ldc_permamt % roundloan > 0)
{
ldc_permamt = ldc_permamt - (ldc_permamt % roundloan);
}
}
}
int notmoreshare_flag = Convert.ToInt16(Hdnotmoreshare_flag.Value);
if (notmoreshare_flag == 1 && ldc_permamt > ldc_sharevalue)
{
ldc_permamt = ldc_sharevalue;
}
//dw_main.SetItemDecimal(1, "loanpermiss_amt", ldc_permamt);
dw_main.SetItemDecimal(1, "loanreqregis_amt", ldc_permamt);
dw_main.SetItemDecimal(1, "loanrequest_amt", ldc_permamt);
//if (loantype_code == "10" && HdEmerConfirm.Value == "false")
//{//HC By MiW::@PEA
// dw_main.SetItemDecimal(1, "loanreqregis_amt", 50000);
// dw_main.SetItemDecimal(1, "loanrequest_amt", 50000);
//}
}
decimal intest_amt = of_calintestimatemain();
}
catch
{
LtServerMessage.Text += WebUtil.WarningMessage("คำนวณสิทธิจากเงินเดือนคงเหลือไม่ได้ กรุณาตรวจสอบ");
}
}
///
/// init ข้อมูลคนค้ำ
///
private void JsGetMemberCollno()
{
//GetCollPermiss();//MiW check สิทธิ์ค้ำ พี่โอ้
SwitchColl();//MiW::19/03/2014
#region ตรวจสอบสิทธิ์ค้ำ
LtServerMessagecoll.Text = "";
try
{
int row = Convert.ToInt16(HdRefcollrow.Value);
String ls_memcoopid;
String ref_collno = WebUtil.MemberNoFormat(HdRefcoll.Value);
Decimal period_payamt = dw_main.GetItemDecimal(1, "period_payamt");
String description = "";
String membtype_code = "";
Decimal ldc_salary = 0, retry_age = 0;
DateTime ldtm_member = DateTime.Now;
DateTime ldtm_birth = DateTime.Now;
DateTime ldtm_retry = DateTime.Now;
Decimal lndropgrantee_flag = 0;
String remark = "";
String loancolltype_code = dw_coll.GetItemString(row, "loancolltype_code");
string loantype_code = dw_main.GetItemString(1, "loantype_code");
decimal loanmembtype = dw_main.GetItemDecimal(1, "member_type");
//String member_no = WebUtil.MemberNoFormat(HdMemberNo.Value);
////string reqmem_no=dw_main.GetItemString(1, "member_no");
//if (ref_collno == member_no)
//{
// LtServerMessage.Text = WebUtil.ErrorMessage("ไม่สามารถ ค้ำประกัน ผู้กู้ได้");
//}
DateTime ldtm_reqloan = dw_main.GetItemDateTime(1, "loanrequest_date");
//JsSetDeptnodefault(1); wa
if (loancolltype_code == "01")
{
dw_coll.SetItemString(row, "ref_collno", ref_collno);
decimal coll_memperc = of_getpercentcollmast(state.SsCoopControl, loantype_code, loancolltype_code, "00");
if (HdMemcoopId.Value == "")
{
ls_memcoopid = dw_main.GetItemString(1, "memcoop_id");
}
else
{
ls_memcoopid = HdMemcoopId.Value;
}
dw_coll.SetItemString(row, "coop_id", state.SsCoopControl);
//mong ตรวจสอบการค้ำประกัน จำนวนที่ค้ำประกันได้
if (JsCheckMangrtColl(row, ref_collno) == 1)
{
String sqlstr = @" SELECT MBMEMBMASTER.BIRTH_DATE, MBMEMBMASTER.MEMBER_TYPE,
MBMEMBMASTER.dropgurantee_flag,
MBMEMBMASTER.REMARK,
MBMEMBMASTER.MEMBER_DATE,
MBMEMBMASTER.WORK_DATE,
MBMEMBMASTER.RETRY_DATE,
MBMEMBMASTER.SALARY_AMOUNT,
MBMEMBMASTER.MEMBTYPE_CODE,
MBUCFMEMBTYPE.MEMBTYPE_DESC,
mbucfprename.prename_desc||mbmembmaster.memb_name||' '||mbmembmaster.memb_surname as member_name
FROM MBMEMBMASTER,
MBUCFMEMBGROUP,
MBUCFPRENAME,
MBUCFMEMBTYPE
WHERE ( MBUCFMEMBGROUP.MEMBGROUP_CODE = MBMEMBMASTER.MEMBGROUP_CODE ) and
( MBMEMBMASTER.PRENAME_CODE = MBUCFPRENAME.PRENAME_CODE ) and
( MBMEMBMASTER.MEMBTYPE_CODE = MBUCFMEMBTYPE.MEMBTYPE_CODE ) and
( MBMEMBMASTER.COOP_ID = MBUCFMEMBGROUP.COOP_ID ) and
( mbmembmaster.member_no = '" + ref_collno + @"' ) AND
MBMEMBMASTER.COOP_ID ='" + state.SsCoopControl + @"' ";
Sdt dt = WebUtil.QuerySdt(sqlstr);
decimal collmembertype = 1;
while (dt.Next())
{
lndropgrantee_flag = dt.GetDecimal("dropgurantee_flag");
collmembertype = dt.GetDecimal("member_type");
description = dt.GetString("member_name");
try
{
remark = dt.GetString("remark");
}
catch { remark = ""; }
membtype_code = dt.GetString("membtype_code");
ldc_salary = dt.GetDecimal("salary_amount");
try
{
ldtm_birth = dt.GetDate("BIRTH_DATE");
}
catch { }
try
{
ldtm_retry = dt.GetDate("RETRY_DATE");
if (ldtm_retry.Year < 1700)
{
try
{
ldtm_retry = Convert.ToDateTime(of_getrerydate(ldtm_birth));
}
catch (Exception ex) { }
}
}
catch
{
///<หาวันที่เกษียณ>
//ldtm_retry = wcf.InterPreter.CalReTryDate(state.SsConnectionIndex, state.SsCoopControl, ldtm_birth);
//ldtm_retry = Convert.ToDateTime(of_getrerydate(ldtm_birth));
}
}
if (loanmembtype == 1 && collmembertype == 2)
{
LtServerMessagecoll.Text = WebUtil.ErrorMessage("ใบคำขอกู้นี้สมาชิกสามัญกู้ ไม่สามารถนำสมาชิกสมทบ มาค้ำประกันได้");
}
DateTime loanrequest_date = dw_main.GetItemDateTime(1, "loanrequest_date");
string mangrtpermgrp_code = Hdmangrtpermgrp_code.Value;
String[] mem_coll = shrlonService.GetMembercollwa(state.SsWsPass, ls_memcoopid, ref_collno, loanrequest_date, mangrtpermgrp_code, loantype_code); //,
// decimal retry_age = Math.Round(wcf.Busscom.of_cal_yearmonth(state.SsWsPass, state.SsWorkDate, ldtm_retry) * 12);
// mong
retry_age = (ldtm_retry.Year - ldtm_reqloan.Year) * 12;
retry_age += (ldtm_retry.Month - ldtm_reqloan.Month);
//retry_age = age_year + age_month;
if (mem_coll[3].Length > 9)
{
LtServerMessagecoll.Text = WebUtil.WarningMessage(mem_coll[3]);
}
if (mem_coll[6].Length > 9)
{
LtServerMessagecoll.Text += WebUtil.WarningMessage(mem_coll[6]);
}
//if (retry_age < 0)//MiW Comment HC 2014.01.16 @PEA
//{
// LtServerMessagecoll.Text += WebUtil.ErrorMessage("ผู้ค้ำ " + ref_collno + " เป็นสมาชิกที่เกษียณแล้ว กรณาตรวจสอบด้วย !!!! ");
//}
if (retry_age < period_payamt && retry_age > 0)
{
//LtServerMessagecoll.Text += WebUtil.WarningMessage("งวดเกษียณของผู้ค้ำ ท. " + ref_collno + " น้อยกว่างวดการส่งผ้งวดการส่งชำระ " + retry_age.ToString() + " < " + period_payamt.ToString() + " !!!");//MiW Comment HC 2014.01.16 @PEA
dw_coll.SetItemString(row, "ref_collno", ref_collno);
dw_coll.SetItemString(row, "description", description);
try
{
dw_coll.SetItemDecimal(row, "coll_balance", Convert.ToDecimal(mem_coll[2]));
}
catch { dw_coll.SetItemDecimal(row, "coll_balance", 0); }
dw_coll.SetItemDecimal(row, "base_percent", coll_memperc);
//ying เพิ่มกำหนดจำนวดงวดในการส่งชำระ กฟภ.
//ทัช เพิ่ม กรณี ติดลบ
Decimal payamt = retry_age - Convert.ToDecimal(3);
if (payamt < 0)
{
decimal tmploanrequest_amt = dw_main.GetItemDecimal(1, "loanrequest_amt");
payamt = this.maxperiod(loantype_code, tmploanrequest_amt);
}
dw_main.SetItemDecimal(1, "maxsend_payamt", payamt); //กฟภ.เคลียร์หนี้ให้หมดก่อนเกษียณ 3 งวด
dw_main.SetItemDecimal(1, "period_payamt", payamt);
JsContPeriod();
}
else
{
try
{
if (mem_coll[0] != "")
{
dw_coll.SetItemString(row, "ref_collno", ref_collno);
dw_coll.SetItemString(row, "description", description);
dw_coll.SetItemDecimal(row, "coll_balance", Convert.ToDecimal(mem_coll[2]));
dw_coll.SetItemDecimal(row, "base_percent", coll_memperc);
HUseamt.Value = mem_coll[2];
// JsPostreturn();
}
else
{
dw_coll.SetItemString(row, "ref_collno", ref_collno);
dw_coll.SetItemString(row, "description", description);
dw_coll.SetItemDecimal(row, "coll_balance", Convert.ToDecimal(mem_coll[2]));
dw_coll.SetItemDecimal(row, "base_percent", coll_memperc);
HUseamt.Value = mem_coll[2];
}
}
catch
{
}
}
}
}
else if (loancolltype_code == "02")
{
decimal coll_shrperc = of_getpercentcollmast(state.SsCoopControl, loantype_code, loancolltype_code, "00");
if (coll_shrperc == 0)
{
coll_shrperc = Convert.ToDecimal(0.90);
}
decimal sharestk_value = dw_main.GetItemDecimal(1, "sharestk_value");
decimal coll_amt = sharestk_value * coll_shrperc;
dw_coll.SetItemString(row, "ref_collno", dw_main.GetItemString(1, "member_no"));
dw_coll.SetItemString(row, "description", "ทุนเรือนหุ้น" + dw_main.GetItemString(1, "member_name"));
dw_coll.SetItemDecimal(row, "coll_amt", sharestk_value);
dw_coll.SetItemDecimal(row, "coll_balance", coll_amt);
dw_coll.SetItemDecimal(row, "use_amt", 0);
dw_coll.SetItemDecimal(row, "base_percent", coll_shrperc);
JsCheckCollmastrightBalance();
}
else if (loancolltype_code == "03")
{
decimal coll_dpperc = of_getpercentcollmast(state.SsCoopControl, loantype_code, loancolltype_code, "00");
if (coll_dpperc == 0) { coll_dpperc = Convert.ToDecimal(0.90); }
decimal coll_amtmast = dw_coll.GetItemDecimal(row, "coll_amt");
decimal coll_amt = coll_amtmast * coll_dpperc;
dw_coll.SetItemDecimal(row, "coll_amt", coll_amtmast);
dw_coll.SetItemDecimal(row, "coll_balance", coll_amt);
dw_coll.SetItemDecimal(row, "use_amt", coll_amt);
dw_coll.SetItemDecimal(row, "base_percent", coll_dpperc);
JsCheckCollmastrightBalance();
}
else if (loancolltype_code == "04")
{
//dw_coll.SetItemDecimal(row, "coll_amt", coll_amt);
//dw_coll.SetItemDecimal(row, "coll_balance", coll_amt);
//dw_coll.SetItemDecimal(row, "use_amt", coll_amt);
//dw_coll.SetItemDecimal(row, "base_percent", coll_mastperc);
}
JsCollCondition();
SetZeroColl(loantype_code, state.SsCoopId, row);
}
catch (Exception ex)
{
//LtServerMessage.Text = WebUtil.ErrorMessage("JsGetMemberCollno===>" + ex);
}
#endregion
}
///
/// เปิดใบคำขอเก่าขึ้นมาแก้ไข
///
///
private void JsCalageyearmonth()
{
try
{
DateTime ldtm_birth = DateTime.Now;
DateTime ldtm_retry = DateTime.Now;
DateTime ldtm_reqloan = DateTime.Now;
DateTime ldtm_member = DateTime.Now;
DateTime ldtm_work = DateTime.Now;
try
{
ldtm_birth = dw_main.GetItemDateTime(1, "birth_date");
}
catch { }
try
{
ldtm_retry = dw_main.GetItemDateTime(1, "retry_date");
}
catch { }
try
{
ldtm_reqloan = dw_main.GetItemDateTime(1, "loanrequest_date");
}
catch { }
try
{
ldtm_member = dw_main.GetItemDateTime(1, "member_date");
}
catch { }
try
{
ldtm_work = dw_main.GetItemDateTime(1, "work_date");
}
catch { }
try
{
///<หาเกษียณอายุ>
decimal retry_age = (ldtm_retry.Year - ldtm_reqloan.Year) * 12;
retry_age += (ldtm_retry.Month - ldtm_reqloan.Month);
if (ldtm_reqloan.Day > ldtm_retry.Day) { retry_age--; }
// decimal age_year = Math.Truncate( retry_age / 12);
// decimal age_month = (retry_age % 12) / 100 ;
// retry_age = age_year + age_month;
dw_main.SetItemDecimal(1, "retry_age", retry_age);
}
catch { }
try
{
///<หาอายุ-ของสมาชิก>
///
decimal mbage_age = (ldtm_reqloan.Year - ldtm_birth.Year) * 12;
mbage_age += (ldtm_reqloan.Month - ldtm_birth.Month);
if (ldtm_birth.Day > ldtm_reqloan.Day) { mbage_age--; }
decimal age_year = Math.Truncate(mbage_age / 12);
decimal age_month = (mbage_age % 12) / 100;
mbage_age = age_year + age_month;
dw_main.SetItemDecimal(1, "birth_age", mbage_age);
}
catch { }
try
{
///<หาอายุการเป็นสมาชิก>
///
decimal member_age = (ldtm_reqloan.Year - ldtm_member.Year) * 12;
member_age += (ldtm_reqloan.Month - ldtm_member.Month);
if (ldtm_member.Day > ldtm_reqloan.Day) { member_age--; }
Int16 customtime_type = Convert.ToInt16(Hdcustomtime_type.Value);
//กรณี กำหนด ระยะเวลาดจาก งวดส่งห้นล่าสด
if (customtime_type == 1)
{
member_age = dw_main.GetItemDecimal(1, "share_lastperiod");
}
decimal age_year = Math.Truncate(member_age / 12);
decimal age_month = (member_age % 12) / 100;
member_age = age_year + age_month;
dw_main.SetItemDecimal(1, "member_age", member_age);
}
catch { }
try
{
///<หาอายุการการทำงาน>
///
decimal work_age = (ldtm_reqloan.Year - ldtm_work.Year) * 12;
work_age += (ldtm_reqloan.Month - ldtm_work.Month);
if (ldtm_work.Day > ldtm_reqloan.Day) { work_age--; }
decimal age_year = Math.Truncate(work_age / 12);
decimal age_month = (work_age % 12) / 100;
work_age = age_year + age_month;
dw_main.SetItemDecimal(1, "work_age", work_age);
}
catch { }
}
catch
{
}
}
private void JsOpenOldDocNo()
{
try
{
string ls_reqloandocno = dw_main.GetItemString(1, "loanrequest_docno");
string ls_CoopControl = dw_main.GetItemString(1, "coop_id");
string[] arg = new string[2] { ls_reqloandocno, ls_CoopControl };
DateTime ldtm_now = DateTime.Now;
txt_reqNo.Text = ls_reqloandocno;
txt_member_no.Text = member_no;
Hdcoopid.Value = ls_CoopControl;
DwUtil.RetrieveDataWindow(dw_main, pbl, null, arg);
DwUtil.RetrieveDataWindow(dw_clear, pbl, null, arg);
DwUtil.RetrieveDataWindow(dw_coll, pbl, null, arg);
DwUtil.RetrieveDataWindow(dw_otherclr, pbl, null, arg);
tDwMain.Eng2ThaiAllRow();
string loantype_code = dw_main.GetItemString(1, "loantype_code");
try
{
RetreiveDDDW();
// DwUtil.RetrieveDDDW(dw_main, "loantype_code_1", pbl, null);
if (dw_main.RowCount > 1) dw_main.DeleteRow(dw_main.RowCount);
//คำนวณอาย
JsCalageyearmonth();
// JsExpensebankbrRetrieve();
dw_main.SetItemString(1, "loantype_code", loantype_code);
Decimal loanrequestStatus = dw_main.GetItemDecimal(1, "loanrequest_status");
//เปิดให้แก้ไขได้หลังจาก open
if ((loanrequestStatus != 8) && (loanrequestStatus != 81) && (loanrequestStatus != 11))
{
dw_main.DisplayOnly = true;
dw_clear.DisplayOnly = true;
dw_coll.DisplayOnly = true;
dw_otherclr.DisplayOnly = true;
}
else
{
dw_main.DisplayOnly = false;
dw_clear.DisplayOnly = false;
dw_coll.DisplayOnly = false;
dw_otherclr.DisplayOnly = false;
}
//LinkButton1.Visible = true;
//LinkButton2.Visible = true;
//LinkButton3.Visible = true;
//LinkButton4.Visible = true;
}
catch (Exception ex)
{
//LtServerMessage.Text = WebUtil.ErrorMessage("JsOpenOldDocNo====>" + ex);
}
}
catch
{
}
}
///
/// ยกเลิก ใบคำขอกู้
///
private void JsCancelRequest()
{
String dwXmlMain = dw_main.Describe("DataWindow.Data.XML");
String cancelID = state.SsUsername;
String coop_id = state.SsCoopId;
string cancle_date = state.SsWorkDate.ToShortDateString();
try
{
Decimal loanrequestStatus = dw_main.GetItemDecimal(1, "loanrequest_status");
string loanreqdocno = dw_main.GetItemString(1, "loanrequest_docno");
//เปิดให้แก้ไขได้หลังจาก open
if ((loanrequestStatus == 8) || (loanrequestStatus == 81))
{
string sql_up = "update lnreqloan set loanrequest_status = -9, cancel_id = '" + cancelID + "' where loanrequest_docno = '" + loanreqdocno + "'";
WebUtil.ExeSQL(sql_up);
WebUtil.ExeSQL("commit");
LtServerMessage.Text = "ยกเลิกใบคำขอก้เรียบร้อยแล้ว";
dw_main.DisplayOnly = true;
dw_clear.DisplayOnly = true;
dw_coll.DisplayOnly = true;
dw_otherclr.DisplayOnly = true;
}
}
catch (Exception ex)
{
LtServerMessage.Text = WebUtil.ErrorMessage("JsCancelRequest===>" + ex);
}
}
///
/// set วันที่เริ่มเรียกเก็บ
///
///
///ยอดขอกู้==> หายอดชำระ
///
private void JsSetpriod()
{
string ls_loantype = dw_main.GetItemString(1, "loantype_code");
Decimal loanrequest_amt = dw_main.GetItemDecimal(1, "loanrequest_amt");
Decimal period_payamt = dw_main.GetItemDecimal(1, "period_payamt"); // wa period_payamt
decimal loanpayment_type = dw_main.GetItemDecimal(1, "loanpayment_type");
// ปัดยอดชำระ
//String ll_roundpay = wcf.Busscom.of_getattribloantype(state.SsWsPass, ls_loantype, "payround_factor");
String ll_roundpay = Hdpayround_factor.Value;
//if (ls_loantype == "23")
//{
// dw_main.SetItemDecimal(1, "period_payment", 0);
//}
//else
//{
JsLoanpaymenttype();
//}
Decimal intestimate_amt = of_calintestimatemain();
dw_main.SetItemDecimal(1, "intestimate_amt", intestimate_amt);
Ltjspopupclr.Text = "";
JsGenBuyshare();
JsBuyMut();
JsInsertRowcoll();
JsCalinsurancepay();
//JsSetmutualcoll();
//JsSetmutualStability();
Jsfirstperiod();
//JsSetCalFSV();
JsCollCondition();
JsSumOthClr();
JsInsertRowcoll();
HdIsPostBack.Value = "false";
}
///
/// หาจำนวนงวด
///
private void JsRevert()
{
string ls_loantype = "", //ประเภทเงินกู้
ll_roundpay = "", //ปัดยอดชำระ
ll_roundloan = "" //ปัดยอดขอกู้
;
Decimal period_payamt = new Decimal(0.00) //จำนวนงวดที่ส่ง
;
Decimal loanrequest_amt = 0, //จำนวนให้กู้
period_payment = 0, //ชำระ/งวด
maxsend_payamt = 0, //จำนวนงวดสูงสุด
custompayment_flag = 0, //กำหนดงวดเอง
loanpayment_type = 0 //ประเภทส่ง
;
int roundpay = 0, //ปัดยอดชำระ
roundloan = 0 //ปัดยอดขอกู้
;
try { ls_loantype = dw_main.GetItemString(1, "loantype_code"); }
catch { ls_loantype = ""; }
try { period_payamt = dw_main.GetItemDecimal(1, "period_payamt"); }
catch { period_payamt = 0; }
try { loanrequest_amt = dw_main.GetItemDecimal(1, "loanrequest_amt"); }
catch { loanrequest_amt = 0; }
try { period_payment = dw_main.GetItemDecimal(1, "period_payment"); }
catch { period_payment = 0; }
try { maxsend_payamt = dw_main.GetItemDecimal(1, "maxsend_payamt"); }
catch { maxsend_payamt = 0; }
try { custompayment_flag = dw_main.GetItemDecimal(1, "custompayment_flag"); }
catch { custompayment_flag = 0; }
try { loanpayment_type = dw_main.GetItemDecimal(1, "loanpayment_type"); }
catch { loanpayment_type = 0; }
ll_roundpay = Hdpayround_factor.Value;
roundpay = Convert.ToInt16(ll_roundpay);
if (loanrequest_amt == 0 && period_payamt > 0)
{//ถ้า จำนวนให้กู้ = 0 และ จำนวนงวดที่ > 0
loanrequest_amt = period_payamt * period_payment;
ll_roundloan = Hdreqround_factor.Value;
roundloan = Convert.ToInt16(ll_roundloan);
if (roundloan > 0)
{//ถ้า flag ปัดยอดขอกู้ > 0
if (loanrequest_amt > 0)
{// ถ้า จำนวนให้กู้ > 0
loanrequest_amt = Math.Round((loanrequest_amt) / roundloan) * roundloan;
}
else
{
loanrequest_amt = 0;
}
}
dw_main.SetItemDecimal(1, "loanrequest_amt", loanrequest_amt);
}
else
{
period_payamt = loanrequest_amt / period_payment;
period_payamt = Math.Ceiling(Convert.ToDecimal(period_payamt));
if ((period_payamt * 100) % 100 > 0)
{
period_payamt = Math.Truncate(period_payamt) + 1;
}
if (period_payamt > maxsend_payamt)
{
period_payamt = maxsend_payamt;
period_payment = loanrequest_amt / period_payamt;
}
if (period_payment % roundpay > 0)
{
period_payment = period_payment + roundpay - (period_payment % roundpay);
}
if (custompayment_flag == 0 || loanpayment_type == 1)
{
if (period_payment < 0)
{
period_payment = this.maxperiod(ls_loantype, loanrequest_amt);
}
dw_main.SetItemDecimal(1, "period_payment", period_payment);
dw_main.SetItemDecimal(1, "period_payamt", period_payamt);
}
}
HdIsPostBack.Value = "false";
}
///
/// หายอดชำระ/งวด
///
private void JsContPeriod()
{
string ls_loantype = "", //ประเภทเงินกู้
ll_roundpay = "" //ปัดยอดชำระ
;
Decimal maxsend_payamt = 0, //จำนวนงวดสูงสุด
period_payamt = 0, //จำนวนงวดที่ส่ง
loanrequest_amt = 0, //จำนวนให้กู้
loanpayment_type = 0, //ประเภทส่ง
custompayment_flag = 0, //กำหนดงวดเอง
ldc_intrate = 0, //อัตรา ด/บ
period_payment = 0 //ชำระ/งวด
;
int roundpay = 0 //ปัดยอดชำระ
;
try { ls_loantype = dw_main.GetItemString(1, "loantype_code"); }
catch { ls_loantype = ""; }
try { maxsend_payamt = dw_main.GetItemDecimal(1, "maxsend_payamt"); }
catch { maxsend_payamt = 0; }
try { period_payamt = dw_main.GetItemDecimal(1, "period_payamt"); }
catch { period_payamt = 0; }
try { loanrequest_amt = dw_main.GetItemDecimal(1, "loanrequest_amt"); }
catch { loanrequest_amt = 0; }
try { loanpayment_type = dw_main.GetItemDecimal(1, "loanpayment_type"); }
catch { loanpayment_type = 0; }
try { custompayment_flag = dw_main.GetItemDecimal(1, "custompayment_flag"); }
catch { custompayment_flag = 0; }
try { ldc_intrate = dw_main.GetItemDecimal(1, "int_contintrate"); }
catch { ldc_intrate = 0; }
if (period_payamt == 0) { period_payamt = maxsend_payamt; }
ll_roundpay = Hdpayround_factor.Value;
roundpay = Convert.ToInt16(ll_roundpay);
double ldc_fr = 1, ldc_temp = 1, loapayment_amt = 0;
if (loanpayment_type == 1)
{//คงต้น
period_payment = loanrequest_amt / period_payamt;
}
else
{//คงยอด
int li_fixcaltype = Convert.ToInt16(wcf.Busscom.of_getattribconstant(state.SsWsPass, "fixpaycal_type"));
//ธกส เปลี่ยนการใส่อัตราดอกเบี้ย
ldc_intrate = ldc_intrate / 100;
if (li_fixcaltype == 1)
{// ด/บ ทั้งปี / 12
ldc_temp = Math.Log(1 + (Convert.ToDouble(ldc_intrate / 12)));
ldc_fr = Math.Exp(-Convert.ToDouble(period_payamt) * ldc_temp);
loapayment_amt = (Convert.ToDouble(loanrequest_amt) * (Convert.ToDouble(ldc_intrate) / 12)) / ((1 - ldc_fr));
}
else
{// ด/บ 30 วัน/เดือน
ldc_temp = Math.Log(1 + (Convert.ToDouble(ldc_intrate * (30 / 365))));
ldc_fr = Math.Exp(-Convert.ToDouble(period_payamt) * ldc_temp);
loapayment_amt = (Convert.ToDouble(loanrequest_amt) * (Convert.ToDouble(ldc_intrate) * (30 / 365))) / ((1 - ldc_fr));
}
period_payment = Math.Ceiling(Convert.ToDecimal(loapayment_amt));
}
if (roundpay > 0)
{
if (period_payment % roundpay > 0)
{
period_payment = period_payment + roundpay - (period_payment % roundpay);
}
}
if (custompayment_flag == 0)
{
if (period_payment <= 0)
{
period_payment = this.maxperiod(ls_loantype, loanrequest_amt);
}
dw_main.SetItemDecimal(1, "period_payment", period_payment);
}
HdIsPostBack.Value = "false";
}
private void JsChecksalarybal()
{
try
{
decimal loanpayment_type = dw_main.GetItemDecimal(1, "loanpayment_type");
decimal period_payment = dw_main.GetItemDecimal(1, "period_payment");//ยอดชำระสัญญาใหม่
decimal loanpayment_status = dw_main.GetItemDecimal(1, "loanpayment_status");
decimal intestimate_amt = dw_main.GetItemDecimal(1, "intestimate_amt");
decimal paymonth_coop = dw_main.GetItemDecimal(1, "paymonth_coop");//ยอดหักจากสหกรณ์
decimal minsalary_balance = dw_main.GetItemDecimal(1, "minsalary_amt");//เงินเดือนคงเหลือขั้นต่ำ(ตาราง lnloantype)
decimal salary_amt = dw_main.GetItemDecimal(1, "salary_amt");
decimal custompay_flag = dw_main.GetItemDecimal(1, "custompayment_flag");
decimal retrysend_flag = dw_main.GetItemDecimal(1, "tax_amt"); //ส่งเกินงวดเกษียณ
if (loanpayment_type == 1)
{
period_payment += intestimate_amt;
}
decimal sumpaymth = paymonth_coop + period_payment;//ยอดหักทั้งหมด
decimal salary_diff = salary_amt - sumpaymth;//เงินเดือน - ยอดหักทั้งหมด
decimal total = salary_diff - minsalary_balance;//เงินเดือนคงเหลือ - เงินเดือนคงเหลือขั้นต่ำ
if ((total < -5))
{
LtServerMessage.Text = WebUtil.WarningMessage("สมาชิกคนนี้เงินเดือนไม่พอหัก กรุณาตรวจสอบ เงินเดือนคงเหลือขั้นต่ำ =" + minsalary_balance.ToString("#,##0.00"));
if (retrysend_flag == 0 && custompay_flag == 0)
{
JsCalMaxLoanpermiss();//คำนวณสิทธิ์สูงสุด
JsLoanpaymenttype();
JsSumOthClr();
}
}
}
catch (Exception ex) { ex.ToString(); }
}
private void JsLoanpaymenttype()
{
string ls_loantype = dw_main.GetItemString(1, "loantype_code");
Decimal period_payamt = dw_main.GetItemDecimal(1, "maxsend_payamt");
Decimal loanrequest_amt = dw_main.GetItemDecimal(1, "loanrequest_amt");
decimal loanpayment_type = dw_main.GetItemDecimal(1, "loanpayment_type");
decimal ldc_intrate = dw_main.GetItemDecimal(1, "int_contintrate");
Decimal period_payment = 0;
// ปัดยอดชำระ
//String ll_roundpay = wcf.Busscom.of_getattribloantype(state.SsWsPass, ls_loantype, "payround_factor");
String ll_roundpay = Hdpayround_factor.Value;
int roundpay = Convert.ToInt16(ll_roundpay);
// if (roundpay <= 0) { roundpay = 100; }
double ldc_fr = 1, ldc_temp = 1, loapayment_amt = 0;
if (loanpayment_type == 1)
{
//คงต้น
period_payment = loanrequest_amt / period_payamt;
loapayment_amt = (Convert.ToDouble(period_payment));
}
else
{
int li_fixcaltype = 1;
try
{
li_fixcaltype = Convert.ToInt16(Hdfixpaycal_type.Value);// Convert.ToInt16(wcf.Busscom.of_getattribconstant(state.SsWsPass, "fixpaycal_type"));
}
catch { li_fixcaltype = 1; }
//คงยอด
//ธกส เปลี่ยนการใส่อัตราดอกเบี้ย
ldc_intrate = ldc_intrate / 100;
if (li_fixcaltype == 1)
{
// ด/บ ทั้งปี / 12
//ldc_fr = exp( - ai_period * log( ( 1 + adc_intrate / 12 ) ) )
//ldc_payamt = adc_principal * ( adc_intrate / 12 ) / ( 1 - ldc_fr )
ldc_temp = Math.Log(1 + (Convert.ToDouble(ldc_intrate / 12)));
ldc_fr = Math.Exp(-Convert.ToDouble(period_payamt) * ldc_temp);
loapayment_amt = (Convert.ToDouble(loanrequest_amt) * (Convert.ToDouble(ldc_intrate) / 12)) / ((1 - ldc_fr));
}
else
{
// ด/บ 30 วัน/เดือน
//ldc_fr = exp( - ai_period * log( ( 1 + adc_intrate * ( 30/365 ) ) ) )
//ldc_payamt = adc_principal * ( adc_intrate * 30/365 ) / ( 1 - ldc_fr )
ldc_temp = Math.Log(1 + (Convert.ToDouble(ldc_intrate * (30 / 365))));
ldc_fr = Math.Exp(-Convert.ToDouble(period_payamt) * ldc_temp);
loapayment_amt = (Convert.ToDouble(loanrequest_amt) * (Convert.ToDouble(ldc_intrate) * (30 / 365))) / ((1 - ldc_fr));
//แบบสุโขทัย
//ldc_fr = ( adc_intrate * ( 1+ adc_intrate) ^ ai_period )/ (((1 + adc_intrate ) ^ ai_period ) - 1 )
//ldc_payamt = adc_principal / ldc_fr
}
period_payment = Math.Ceiling(Convert.ToDecimal(loapayment_amt));
}
if (roundpay > 0)
{
//wa
// period_payment = Math.Ceiling(Convert.ToDecimal(loapayment_amt));
//period_payamt = Math.Round(period_payamt / 10) * 10;
// period_payment = Math.Round(period_payment / roundpay) * roundpay;
//period_payment = Math.Round(period_payment, roundpay, MidpointRounding.AwayFromZero);
if (period_payment % roundpay > 0)
{
period_payment = period_payment + roundpay - (period_payment % roundpay);
}
}
////สำหรับครูสุรินทร์
//if (loanpayment_type == 1)
//{
// //คงต้น
// period_payamt = loanrequest_amt / period_payment;
// if ((period_payamt * 100) % 100 > 0)
// {
// period_payamt = Math.Truncate(period_payamt);
// period_payamt++;
// }
//}
if (period_payment <= 0)
{
period_payment = this.maxperiod(ls_loantype, loanrequest_amt);
}
dw_main.SetItemDecimal(1, "period_payment", period_payment);
// dw_main.SetItemDecimal(1, "period_payamt", period_payamt);
HdIsPostBack.Value = "false";
}
private void JsLoanCreditDividend()
{
string loantype = dw_main.GetItemString(1, "loantype_code");
string member_no = dw_main.GetItemString(1, "member_no");
string coop_id = dw_main.GetItemString(1, "coop_id");
//คิดจากยอดหุ้น ยกมา
double ldc_shrstkbegin = 0, ldc_divrate = 0, ldc_shrbuy = 0;
string strat_date = " ", end_date = " ";
String sqlstr = @" SELECT SHSHAREMASTER.SHARESTK_AMT, (SHSHAREMASTER.SHAREBEGIN_AMT * SHSHARETYPE.UNITSHARE_VALUE ) as SHAREBEGIN_AMT,
SHSHARETYPE.UNITSHARE_VALUE, SHSHARETYPE.dividend_rate,SHSHARETYPE.loandivstart_date,SHSHARETYPE.loandivend_date
FROM SHSHAREMASTER,
SHSHARETYPE
WHERE ( SHSHAREMASTER.SHARETYPE_CODE = SHSHARETYPE.SHARETYPE_CODE ) and
( SHSHAREMASTER.COOP_ID = SHSHARETYPE.COOP_ID ) and
( ( SHSHAREMASTER.member_no = '" + member_no + @"' ) AND
( shsharemaster.sharetype_code = '01' ) ) and
SHSHAREMASTER.COOP_ID ='" + coop_id + @"' ";
Sdt dtshare = WebUtil.QuerySdt(sqlstr);
if (dtshare.Next())
{
ldc_shrstkbegin = dtshare.GetDouble("SHAREBEGIN_AMT");
ldc_divrate = dtshare.GetDouble("dividend_rate");
}
double loancredit_amt = ldc_shrstkbegin * ldc_divrate;
decimal ldc_maxcredit = Convert.ToDecimal(loancredit_amt);
//mong
//String ll_roundloan = wcf.Busscom.of_getattribloantype(state.SsWsPass, loantype, "reqround_factor");
String ll_roundloan = Hdreqround_factor.Value;
int roundloan = Convert.ToInt16(ll_roundloan);
if (ldc_maxcredit % roundloan > 0)
{
ldc_maxcredit = ldc_maxcredit - (ldc_maxcredit % roundloan);
}
dw_main.SetItemDecimal(1, "loancredit_amt", ldc_maxcredit);
dw_main.SetItemDecimal(1, "loanrequest_amt", ldc_maxcredit);
dw_main.SetItemDecimal(1, "loanpermiss_amt", ldc_maxcredit);
dw_main.SetItemDecimal(1, "maxsend_payamt", 12);
dw_main.SetItemDecimal(1, "period_payamt", 12);
//คงต้น
// ปัดยอดชำระ
decimal period_payamt = 0, period_payment = 0;
period_payment = 0;
dw_main.SetItemDecimal(1, "period_payment", period_payment);
ldc_divrate = ldc_divrate * 100;
Ltdividen.Text = WebUtil.CompleteMessage("ยอดหุ้นยกมาต้นปี = " + ldc_shrstkbegin.ToString("###,###,###,###.00") + " || อัตราปันผลปีที่แล้ว = " + ldc_divrate.ToString("##.00") + " % ");
}
///
/// ค้ำประกัน
///
///
private int JsCheckMangrtColl(int row, string ref_collno)
{
LtServerMessagecoll.Text = "";
string mangrtpermgrp_code = "01";
string loantype = dw_main.GetItemString(1, "loantype_code");
string membno = dw_main.GetItemString(1, "member_no");
string memcoop_id = dw_main.GetItemString(1, "coop_id");
string sql_lngrtlntype = " select cntmangrtnum_flag,cntmangrtval_flag,grtman_type, grtman_amt, grtman_allmax, mangrtpermgrp_code,countcontgrt_code,cntmangrtnum_type from lnloantype where loantype_code = '" + loantype + "'";
Sdt dtlnt = WebUtil.QuerySdt(sql_lngrtlntype);
decimal lntgrtcountmemglag = 0, lntgrtvalmemglag = 0, grtman_type = 0, grtman_allmax = 0;
if (dtlnt.Next())
{
lntgrtcountmemglag = dtlnt.GetDecimal("cntmangrtnum_flag");
lntgrtvalmemglag = dtlnt.GetDecimal("cntmangrtval_flag");
grtman_type = dtlnt.GetDecimal("grtman_type");
grtman_allmax = dtlnt.GetDecimal("grtman_amt");
mangrtpermgrp_code = dtlnt.GetString("mangrtpermgrp_code");
}
string sql_lnconst = "select grtright_contflag, grtright_memflag, grtright_contract, grtright_member from lnloanconstant ";
Sdt dt = WebUtil.QuerySdt(sql_lnconst);
decimal grtchkcont_flag = 0, grtchkmem_flag = 0, grtcountcont = 0, grtcountmem = 0;
if (dt.Next())
{
grtchkcont_flag = dt.GetDecimal("grtright_contflag");
grtchkmem_flag = dt.GetDecimal("grtright_memflag");
grtcountcont = dt.GetDecimal("grtright_contract");
grtcountmem = dt.GetDecimal("grtright_member");
}
string contno_clr = "", contclr_all = "";
decimal clear_flag = 0;
int k = 0;
for (int i = 1; i <= dw_clear.RowCount; i++)
{
contno_clr = dw_clear.GetItemString(i, "loancontract_no");
clear_flag = dw_clear.GetItemDecimal(i, "clear_status");
if (clear_flag == 1)
{
k++;
if (k > 1) { contclr_all += ","; }
contclr_all += "'" + contno_clr + "'";
}
}
dt.Dispose();
// string sql_memcoll = @" select b.member_no , a.ref_collno , a.coll_status, a.loancontract_no ,
// b.principal_balance from lncontcoll a, lncontmaster b
// where a.loancontract_no = b.loancontract_no and b.principal_balance > 0
// and a.coll_status = 1 and a.ref_collno = '" + ref_collno + @"' and
// a.loancontract_no not in ( " + contclr_all + @") order by b.member_no ";
if ((contclr_all.Length <= 7) || (contclr_all.Trim() == "")) { contclr_all = "'00000'"; }
string sql_memcoll = @" SELECT LNCONTMASTER.MEMBER_NO as member_no,
LNCONTMASTER.LOANCONTRACT_NO as loancontract_no,
LNCONTMASTER.PRINCIPAL_BALANCE as principal_balance ,
LNCONTCOLL.REF_COLLNO as ref_collno,
LNCONTCOLL.DESCRIPTION as DESCRIPTION ,
LNCONTCOLL.COLL_AMT as COLL_AMT ,
LNCONTCOLL.COLL_PERCENT as COLL_PERCENT ,
MBMEMBMASTER.MEMB_NAME,
MBMEMBMASTER.MEMB_SURNAME,
LNCONTCOLL.BASE_PERCENT as BASE_PERCENT ,'Contno'
FROM LNCONTCOLL,
LNCONTMASTER ,MBMEMBMASTER
WHERE ( LNCONTCOLL.COOP_ID = LNCONTMASTER.COOP_ID ) and
( MBMEMBMASTER.MEMBER_NO = LNCONTMASTER.MEMBER_NO) AND
( LNCONTCOLL.LOANCONTRACT_NO = LNCONTMASTER.LOANCONTRACT_NO ) and
( ( LNCONTCOLL.LOANCOLLTYPE_CODE in ( '01') ) AND
( LNCONTMASTER.PRINCIPAL_BALANCE > 0 ) AND LNCONTMASTER.LOANCONTRACT_NO not in (" + contclr_all + @") and
( LNCONTCOLL.REF_COLLNO = '" + ref_collno + @"' ) )
Union
SELECT LNREQLOAN.MEMBER_NO as member_no ,
LNREQLOAN.LOANREQUEST_DOCNO as loancontract_no ,
LNREQLOAN.LOANREQUEST_AMT as principal_balance,
LNREQLOANCOLL.REF_COLLNO as ref_collno ,
LNREQLOANCOLL.DESCRIPTION as DESCRIPTION ,
LNREQLOANCOLL.COLL_AMT as COLL_AMT ,
LNREQLOANCOLL.COLL_PERCENT as COLL_PERCENT,
MBMEMBMASTER.MEMB_NAME,
MBMEMBMASTER.MEMB_SURNAME,
LNREQLOANCOLL.BASE_PERCENT as BASE_PERCENT , 'Lnreqloan'
FROM LNREQLOAN,
LNREQLOANCOLL ,MBMEMBMASTER
WHERE ( LNREQLOAN.COOP_ID = LNREQLOANCOLL.COOP_ID ) and
( MBMEMBMASTER.MEMBER_NO = LNREQLOAN.MEMBER_NO) AND
( LNREQLOAN.LOANREQUEST_DOCNO = LNREQLOANCOLL.LOANREQUEST_DOCNO ) and
( ( LNREQLOANCOLL.LOANCOLLTYPE_CODE = '01' ) AND
( LNREQLOAN.LOANREQUEST_STATUS = 8 ) AND
( LNREQLOANCOLL.REF_COLLNO = '" + ref_collno + @"' ) ) order by member_no ";
Sdt dt_coll = WebUtil.QuerySdt(sql_memcoll);
if (grtchkcont_flag == 1 && dt_coll.GetRowCount() >= grtcountcont)
{
//ตรวจสอบการค้ำประกันเกินสัญญาที่ระบุ
LtServerMessagecoll.Text = WebUtil.WarningMessage("ผู้ค้ำสมาชิกเลขที่ # " + ref_collno + " ได้ค้ำประกันเกินกว่าที่กำหนดไว้ค้ำประกันได้สูงสุด " + grtcountcont.ToString() + " สัญญา ค้ำประกันไปแล้ัว " + dt_coll.GetRowCount().ToString());
dw_coll.SetItemString(row, "ref_collno", "");
dw_coll.SetItemString(row, "description", "");
dw_coll.SetItemDecimal(row, "coll_balance", 0);
return 1;
}
string member_nochk, prememno = "";
int collmem = 0;
decimal principal_balance = 0, ldc_collbalance = 0, ldc_colluse = 0, ldc_collpercent = 0, ldc_collamt = 0;
string ls_msg = "", memb_name = "", memb_surname = "";
while (dt_coll.Next())
{
member_nochk = dt_coll.GetString("member_no");
memb_name = dt_coll.GetString("member_no");
memb_surname = dt_coll.GetString("member_no");
principal_balance = dt_coll.GetDecimal("principal_balande");
ldc_collpercent = dt_coll.GetDecimal("COLL_PERCENT");
ldc_colluse = principal_balance * ldc_collpercent;
ldc_collamt += ldc_colluse;
if (prememno != member_nochk)
{
collmem++;
ls_msg += " , ค้ำประกันสมาชิกเลขที่ " + member_nochk + " " + memb_name.Trim() + " " + memb_surname.Trim() + "/n";
}
if (membno == member_nochk) { collmem--; }
prememno = member_nochk;
}
if (grtchkmem_flag == 1 && collmem >= grtcountmem && lntgrtcountmemglag == 1)
{
//ตรวจสอบการค้ำประกันเกินจำนวนคนที่ระบุ
LtServerMessagecoll.Text = WebUtil.ErrorMessage("ผู้ค้ำสมาชิกเลขที่ # " + ref_collno + " ได้ค้ำประกันสมาชิกเกินกว่าที่กำหนดไว้ค้ำประกันได้สูงสุด " + "\n" + grtcountmem.ToString() + " ค้ำประกันได้ไม่ไม่เกิน " + collmem.ToString() + "\n " + ls_msg);
// Ltdividen.Text = WebUtil.ErrorMessage(ls_msg);
dw_coll.SetItemString(row, "ref_collno", "");
dw_coll.SetItemString(row, "description", "");
dw_coll.SetItemDecimal(row, "coll_balance", 0);
return 1; //-1
}
//เช็คสิทธิค้ำยามยอดเงิน
if (lntgrtvalmemglag == 1)
{
String sqlstr = @" SELECT MBMEMBMASTER.BIRTH_DATE,
MBMEMBMASTER.dropgurantee_flag,
MBMEMBMASTER.REMARK,
MBMEMBMASTER.MEMBER_DATE,
MBMEMBMASTER.WORK_DATE,
MBMEMBMASTER.RETRY_DATE,
MBMEMBMASTER.SALARY_AMOUNT,
MBMEMBMASTER.MEMBTYPE_CODE,
MBUCFMEMBTYPE.MEMBTYPE_DESC,
mbucfprename.prename_desc||mbmembmaster.memb_name||' '||mbmembmaster.memb_surname as member_name
FROM MBMEMBMASTER,
MBUCFMEMBGROUP,
MBUCFPRENAME,
MBUCFMEMBTYPE
WHERE ( MBUCFMEMBGROUP.MEMBGROUP_CODE = MBMEMBMASTER.MEMBGROUP_CODE ) and
( MBMEMBMASTER.PRENAME_CODE = MBUCFPRENAME.PRENAME_CODE ) and
( MBMEMBMASTER.MEMBTYPE_CODE = MBUCFMEMBTYPE.MEMBTYPE_CODE ) and
( MBMEMBMASTER.COOP_ID = MBUCFMEMBGROUP.COOP_ID ) and
( mbmembmaster.member_no = '" + ref_collno + @"' ) AND
MBMEMBMASTER.COOP_ID ='" + memcoop_id + @"' ";
Sdt dtgrt = WebUtil.QuerySdt(sqlstr);
DateTime ldtm_member = DateTime.Now;
while (dtgrt.Next())
{
string membtype_code = dtgrt.GetString("membtype_code");
decimal ldc_salary = dtgrt.GetDecimal("salary_amount");
try
{
ldtm_member = dtgrt.GetDate("MEMBER_DATE");
}
catch { }
DateTime ldtm_reqloan = dw_main.GetItemDateTime(1, "loanrequest_date");
Decimal member_age = 0;// = BusscomService.of_cal_yearmonth(state.SsWsPass, ldtm_member, DateTime.Now);
member_age = (ldtm_reqloan.Year - ldtm_member.Year) * 12;
member_age += (ldtm_reqloan.Month - ldtm_member.Month);
if (ldtm_member.Day > ldtm_reqloan.Day) { member_age--; }
//decimal age_year = Math.Truncate(member_age / 12);
//decimal age_month = (member_age % 12) / 100;
//member_age = age_year + age_month;
//คำนวณสิทธิค้ำประกัน
Decimal coll_amt = wcf.Shrlon.CalloanpermissColl(state.SsWsPass, member_age, ldc_salary, mangrtpermgrp_code);
ldc_collbalance = coll_amt - ldc_collamt;
if (ldc_collbalance < 0) { ldc_collbalance = 0; }
dw_coll.SetItemDecimal(row, "coll_amt", coll_amt);
dw_coll.SetItemDecimal(row, "coll_balance", ldc_collbalance);
dw_coll.SetItemDecimal(row, "coll_useamt", ldc_collamt);
return 1; //-1
}
}
dt_coll.Dispose();
return 1;
}
private void JsCollCondition()
{
string ls_loantype = dw_main.GetItemString(1, "loantype_code");
Decimal coll_balance = 0;
string loancolltype_code = "";
Decimal coll_use = 0;
double collpercent_use = 0.00;
Decimal per90 = new Decimal(0.9);
Decimal sharestk_value = dw_main.GetItemDecimal(1, "sharestk_value");
Decimal loanrequest, loanrequestbal = 0, colluseest_amt = 0;
loanrequest = dw_main.GetItemDecimal(1, "loanrequest_amt");
// loanrequest_amt = loanrequest - sharestk_value;
decimal coll_newbalance = 0;
int i = 0;
loanrequestbal = loanrequest;
//สิทธิยอดหลักทรัพย์ให้เต็มก่อน
// string[] coll_mast = new string[] coll_mast;
string[] coll_mast = new string[3] { "02", "03", "04" };
int li_find = 0;
int rowc = 1;
coll_newbalance = loanrequest;
for (int mrow = 0; mrow <= Convert.ToInt16(2); mrow++) //coll_mast.GetUpperBound()
{
string colltype = coll_mast[mrow];
li_find = dw_coll.FindRow("loancolltype_code = '" + colltype + "'", rowc, dw_coll.RowCount);
while (li_find > 0 && coll_newbalance > 0)
{
if (coll_newbalance > 0)
{
coll_balance = dw_coll.GetItemDecimal(li_find, "coll_balance");
if (coll_balance >= coll_newbalance)
{
coll_use = coll_newbalance;
coll_newbalance = 0;
dw_coll.SetItemDecimal(li_find, "use_amt", coll_use);
}
else
{
coll_use = coll_balance;
coll_newbalance -= coll_use;
dw_coll.SetItemDecimal(li_find, "use_amt", coll_use);
}
}
collpercent_use = Convert.ToDouble(TruncateDecimal(Convert.ToDecimal(coll_use / loanrequest), 4));
dw_coll.SetItemDouble(li_find, "coll_percent", collpercent_use);
li_find++;
if (li_find > dw_coll.RowCount) { break; }
li_find = dw_coll.FindRow("loancolltype_code = '" + colltype + "'", li_find, dw_coll.RowCount);
}
}
//หาว่ามีแถวใช้คนค้ำเหลือกี่แภว
int row = dw_coll.RowCount;
decimal coll_01 = 0;
string ref_collno = "";
for (i = 0; i < row; i++)
{
loancolltype_code = dw_coll.GetItemString(i + 1, "loancolltype_code");
try
{
ref_collno = dw_coll.GetItemString(i + 1, "ref_collno");
}
catch { ref_collno = " "; }
if (loancolltype_code == "01" && ref_collno.Length > 3) { coll_01++; }
}
if (coll_01 > 0 && coll_newbalance > 0)
{
colluseest_amt = coll_newbalance / coll_01;
li_find = dw_coll.FindRow("loancolltype_code = '01'", 1, dw_coll.RowCount);
while (li_find > 0 && coll_newbalance > 0)
{
if (coll_newbalance > 0)
{
coll_balance = dw_coll.GetItemDecimal(li_find, "coll_balance");
if (coll_balance > 500000) { coll_balance = 500000; }
if (colluseest_amt >= coll_balance)
{
if (coll_balance > 500000) { coll_balance = 500000; }
coll_use = coll_balance;
}
else
{
coll_use = colluseest_amt;
}
dw_coll.SetItemDecimal(li_find, "use_amt", coll_use);
coll_newbalance -= coll_use;
collpercent_use = Convert.ToDouble(TruncateDecimal(Convert.ToDecimal(coll_use / loanrequest), 4));
dw_coll.SetItemDouble(li_find, "coll_percent", collpercent_use);
}
li_find++;
if (li_find > row) { break; }
li_find = dw_coll.FindRow("loancolltype_code = '01'", li_find, row);
}
}
if (coll_newbalance > 0)
{
for (i = 0; i < row; i++)
{
if (coll_newbalance <= 0) { continue; }
loancolltype_code = dw_coll.GetItemString(i + 1, "loancolltype_code");
try
{
coll_balance = dw_coll.GetItemDecimal(i + 1, "coll_balance");
}
catch { coll_balance = 0; }
try
{
coll_use = dw_coll.GetItemDecimal(i + 1, "use_amt");
}
catch { coll_use = 0; }
if (coll_balance - coll_use > 0)
{
if (coll_newbalance > coll_balance - coll_use)
{
coll_use += coll_balance - coll_use;
coll_newbalance -= coll_balance - coll_use;
}
else
{
coll_use += coll_newbalance;
if (coll_use > 500000)
{
coll_use = 500000;
coll_newbalance -= coll_use;
}
coll_newbalance = 0;
}
dw_coll.SetItemDecimal(i + 1, "use_amt", coll_use);
collpercent_use = Convert.ToDouble(TruncateDecimal(Convert.ToDecimal(coll_use / loanrequest), 4));
dw_coll.SetItemDouble(i + 1, "coll_percent", collpercent_use);
}
}
}
}
private void JsExpensebankbrRetrieve()
{
try
{
String bankCode;
try { bankCode = dw_main.GetItemString(1, "expense_bank").Trim(); }
catch { bankCode = "034"; }
DwUtil.RetrieveDDDW(dw_main, "expense_branch_1", "sl_loan_requestment_cen.pbl", bankCode);
//dw_main.SetItemDouble(1, "retrive_bk_branchflag", 1);
}
catch { }
JsExpenseBank();
}
private void JsCollInitP()
{
string ls_loantype = dw_main.GetItemString(1, "loantype_code");
Decimal coll_balance = 0;
string loancolltype_code = "";
Decimal per90 = new Decimal(0.9);
Decimal sharestk_value = dw_main.GetItemDecimal(1, "sharestk_value");
Decimal loanrequest = 0;
decimal sumcoll_amt = 0;
decimal coll_use = 0;
double collpercent_use = 0;
double sumcoll_percent = 0;
loanrequest = dw_main.GetItemDecimal(1, "loanrequest_amt");
// loanrequest_amt = loanrequest - sharestk_value;
int row = dw_coll.RowCount;
int i = 0;
for (i = 0; i < row; i++)
{
loancolltype_code = dw_coll.GetItemString(i + 1, "loancolltype_code");
try
{
coll_balance = dw_coll.GetItemDecimal(i + 1, "coll_balance");
}
catch { coll_balance = 0; }
coll_use = dw_coll.GetItemDecimal(i + 1, "use_amt");
// balance = loanrequest_amt * (collbalance / total);
// dw_coll.SetItemDecimal(i + 1, "use_amt", balance);
if (loancolltype_code == "01")
{
dw_coll.SetItemDecimal(i + 1, "base_percent", 1);
}
else
{
dw_coll.SetItemDouble(i + 1, "base_percent", 0.9);
}
collpercent_use = Convert.ToDouble(coll_use / loanrequest);
collpercent_use = Convert.ToDouble(TruncateDecimal(Convert.ToDecimal(collpercent_use), 4));
dw_coll.SetItemDouble(i + 1, "coll_percent", collpercent_use);
sumcoll_percent += collpercent_use;
sumcoll_amt += coll_use;
}
sumcoll_percent = Convert.ToDouble(TruncateDecimal(Convert.ToDecimal(sumcoll_percent), 4));
//หาส่วนต่างของ เปอร์เซ็นที่เหลือ
double diff = 1.00 - sumcoll_percent;
diff = Convert.ToDouble(Math.Round(Convert.ToDecimal(diff), 5));
diff = Convert.ToDouble(TruncateDecimal(Convert.ToDecimal(diff), 4));
if (diff <= 0.0002 && diff > 0.0000)
{
//กรณีส่วนต่าง เหลือแค่ 0.01
for (i = 0; i < row; i++)
{
if (sumcoll_percent >= 1.00) { continue; }
loancolltype_code = dw_coll.GetItemString(i + 1, "loancolltype_code");
coll_balance = dw_coll.GetItemDecimal(i + 1, "coll_balance");
coll_use = dw_coll.GetItemDecimal(i + 1, "use_amt");
if (coll_balance > coll_use)
{
collpercent_use = dw_coll.GetItemDouble(i + 1, "coll_percent");
collpercent_use += diff;
coll_use = loanrequest + coll_use - sumcoll_amt;// Convert.ToDecimal(collpercent_use);
dw_coll.SetItemDouble(i + 1, "coll_percent", collpercent_use);
dw_coll.SetItemDecimal(i + 1, "use_amt", coll_use);
}
sumcoll_percent += diff;
}
}
}
private void JsSetDataList()
{
str_itemchange strList = new str_itemchange();
strList = WebUtil.str_itemchange_session(this);
if (dw_clear.RowCount == 0)
{ strList.xml_clear = null; }
else { strList.xml_clear = dw_clear.Describe("DataWindow.Data.XML"); }
if (dw_coll.RowCount == 0) { strList.xml_guarantee = null; }
else { strList.xml_guarantee = dw_coll.Describe("DataWindow.Data.XML"); }
Session["strItemchange"] = strList;
}
private void JsPostColl()
{
try
{
String columnName = "ref_collno";
if (HdColumnName.Value == "" || HdColumnName.Value == "setcolldetail") { columnName = "setcolldetail"; }
String dwMainXML = dw_main.Describe("DataWindow.Data.XML");
String dwCollXML = dw_coll.Describe("DataWindow.Data.XML");
String dwClearXML = dw_clear.Describe("DataWindow.Data.XML");
String t = dw_main.GetItemString(1, "loantype_code");
str_itemchange strList = new str_itemchange();
// ตรวจสอบว่า HdRowNumber มีค่าหรือไม่ ถ้าไม่มี ไม่ต้องทำอะไร
if (HdRowNumber.Value.ToString() != "")
{
int rowNumber = Convert.ToInt32(HdRowNumber.Value.ToString());
HdColumnName.Value = "";
if ((columnName == "checkmancollperiod") || (columnName == "setcolldetail"))
{
dw_coll.SetItemString(rowNumber, "ref_collno", HdRefcollNO.Value);
dwCollXML = dw_coll.Describe("DataWindow.Data.XML");
}
String refCollNo = "";
try
{
refCollNo = dw_coll.GetItemString(rowNumber, "ref_collno");
HdRefcollNO.Value = refCollNo;
}
catch
{
refCollNo = "";
}
strList.column_name = columnName;
strList.xml_main = dwMainXML;
strList.xml_guarantee = dwCollXML;
strList.xml_clear = dwClearXML;
strList.import_flag = true;
strList.format_type = "CAT";
strList.column_data = dw_coll.GetItemString(rowNumber, "loancolltype_code") + refCollNo;
// เรียก service สำหรับการเปลี่ยนแปลงค่า ของ DW_coll
int result = shrlonService.LoanRightItemChangeColl(state.SsWsPass, ref strList);
Session["strItemchange"] = strList;
//if ((strList.xml_message != null) && (strList.xml_message != ""))
//{
// //dw_message.Reset();MO
// //dw_message.ImportString(strList.xml_message, FileSaveAsType.Xml);
// DwUtil.ImportData(strList.xml_message, dw_message, null, FileSaveAsType.Xml);
// HdMsg.Value = dw_message.GetItemString(1, "msgtext");
// HdMsgWarning.Value = dw_message.GetItemString(1, "msgicon");
//}
if (result == 8)
{
HdReturn.Value = result.ToString();
HdColumnName.Value = strList.column_name;
}
try
{
dw_coll.Reset();
dw_coll.ImportString(strList.xml_guarantee, FileSaveAsType.Xml);
}
catch { dw_coll.Reset(); }
}
}
catch (Exception ex)
{
LtServerMessage.Text = WebUtil.ErrorMessage(ex);
}
}
///
/// sum ชำระหนี้อืนทั้งหมด
///
private void JsSumOthClr()
{
//DateTime loanrcvfix_date = dw_main.GetItemDate(1, "loanrcvfix_date");
String ls_memcoopid,
ls_clrothertype_code = ""
;
Decimal ldc_contintrate = dw_main.GetItemDecimal(1, "int_contintrate");
decimal sumprnclear = 0;
//short year = Convert.ToInt16(loanrcvfix_date.Year + 543);
//short month = Convert.ToInt16(loanrcvfix_date.Month);
//int day_amount = 31;
// DateTime postingdate_bf = wcf.Busscom.of_getpostingdate2(state.SsWsPass, Convert.ToInt16(loanrcvfix_date.Year + 543), Convert.ToInt16(loanrcvfix_date.Month));
// DateTime postingdate = wcf.Busscom.of_getpostingdate2(state.SsWsPass, Convert.ToInt16(postingdate_bf.Year + 543), Convert.ToInt16(postingdate_bf.Month + 1));
//DateTime postingdate_af = wcf.Busscom.of_getpostingdate2(state.SsWsPass, Convert.ToInt16(postingdate.Year + 543), Convert.ToInt16(postingdate.Month + 1));
//DateTime postingdate_bf = wcf.Busscom.of_getpostingdate2(state.SsWsPass, Convert.ToInt16(loanrcvfix_date.Year + 543), Convert.ToInt16(loanrcvfix_date.Month - 1));
//DateTime postingdate = wcf.Busscom.of_getpostingdate(state.SsWsPass, loanrcvfix_date);
//DateTime postingdate_af = wcf.Busscom.of_getpostingdate(state.SsWsPass, postingdate.AddMonths(1));
////จ่ายเงินกู้หลังเรียกเก็บหรือไม่
//if (loanrcvfix_date > postingdate && loanrcvfix_date < postingdate_bf)
//{
// day_amount = loanrcvfix_date.DayOfYear - postingdate_bf.DayOfYear;
//}
//else if (loanrcvfix_date > postingdate_bf && loanrcvfix_date < postingdate)
//{
// // postingdate = wcf.Busscom.of_getpostingdate2(state.SsWsPass, Convert.ToInt16(postingdate_af.Year + 543), Convert.ToInt16(postingdate_af.Month));
// day_amount = loanrcvfix_date.DayOfYear - postingdate_bf.DayOfYear;
//}
//else
//{
// postingdate = wcf.Busscom.of_getpostingdate2(state.SsWsPass, Convert.ToInt16(loanrcvfix_date.Year + 543), Convert.ToInt16(loanrcvfix_date.Month - 1));
// day_amount = loanrcvfix_date.DayOfYear - postingdate.DayOfYear;
//}
try { ls_memcoopid = dw_main.GetItemString(1, "memcoop_id"); }
catch { ls_memcoopid = state.SsCoopControl; }
Decimal clrother_amt = 0, ldc_rkeepprin = 0;
Decimal principal_balance = 0, intestimate_amt = 0;
decimal intclear_amt = 0;
Decimal sum_clear1 = 0;
Decimal otherclr_amt = 0;
decimal period_payment = 0;
Decimal clear_status;
int i, j;
int row_clr = dw_otherclr.RowCount;
int row_clear = dw_clear.RowCount;
if (row_clr > 0)
{
for (i = 0; i < row_clr; i++)
{
//---2014.01.21::MiW---
//init ซื้อหุ้นเพิ่มแต่ไม่ต้องนำไปคำนวน @PEA
try { ls_clrothertype_code = dw_otherclr.GetItemString(i + 1, "clrothertype_code"); }
catch { ls_clrothertype_code = ""; }
//------
try { clrother_amt = dw_otherclr.GetItemDecimal(i + 1, "clrother_amt"); }
catch { clrother_amt = 0; }
if (ls_clrothertype_code != "SHR")
{//2014.01.21::MiW create if's statement @PEA
otherclr_amt = otherclr_amt + clrother_amt;
}
if (otherclr_amt > 0)
{
dw_main.SetItemDecimal(1, "otherclr_flag", 1);
dw_main.SetItemDecimal(1, "otherclr_amt", otherclr_amt);
}
else if (clrother_amt == 0)
{
dw_main.SetItemDecimal(1, "otherclr_flag", 0);
dw_main.SetItemDecimal(1, "otherclr_amt", 0);
}
}
}
else
{
dw_main.SetItemDecimal(1, "otherclr_flag", 0);
dw_main.SetItemDecimal(1, "otherclr_amt", 0);
}
if (row_clear > 0)
{
Decimal maxwrtfund = 0;
Decimal sumwrt_balance = 0;
Decimal paycont_amt = 0;
for (j = 0; j < row_clear; j++)
{
Decimal loanpayment_type = dw_clear.GetItemDecimal(j + 1, "loanpayment_type");
string ls_contno = dw_clear.GetItemString(j + 1, "loancontract_no");
try
{
clear_status = dw_clear.GetItemDecimal(j + 1, "clear_status");
}
catch { clear_status = 0; }
if (clear_status == 1)
{
if (Hdprincipal.Value == null || Hdprincipal.Value == "")
{
try
{
principal_balance = dw_clear.GetItemDecimal(j + 1, "principal_balance");
}
catch { principal_balance = 0; }
try
{
if (loanpayment_type == 1)
{
intestimate_amt = dw_clear.GetItemDecimal(j + 1, "intclear_amt");
}
else { intestimate_amt = 0; }
// dw_clear.SetItemDecimal(j + 1, "intestimate_amt", intestimate_amt);
}
catch { intestimate_amt = 0; }
}
else
{
try
{
principal_balance = dw_clear.GetItemDecimal(j + 1, "principal_balance");
}
catch { principal_balance = 0; }
try
{
ldc_rkeepprin = dw_clear.GetItemDecimal(j + 1, "rkeep_principal");
}
catch
{
ldc_rkeepprin = 0;
}
intestimate_amt = dw_clear.GetItemDecimal(j + 1, "intestimate_amt");
}
period_payment = dw_clear.GetItemDecimal(j + 1, "period_payment");
sumprnclear = sumprnclear + period_payment;
// กฟภ
//sum_clear1 = sum_clear1 + principal_balance;// -ldc_rkeepprin + intestimate_amt;
sum_clear1 = sum_clear1 + principal_balance + intestimate_amt;
//ying1 กสส.
string member_no = dw_main.GetItemString(1, "member_no");
string loancontract_no = dw_clear.GetItemString(j + 1, "loancontract_no");
// Decimal maxwrtfund = 0;
string sql = "select wrtfund_balance from wrtfundstatement where member_no='" + member_no + "' and ref_contno='" + loancontract_no + "' and item_status=1";
Sdt dt = WebUtil.QuerySdt(sql);
if (dt.Next())
{
try
{
maxwrtfund = dt.GetDecimal("wrtfund_balance");
}
catch { maxwrtfund = 0; }
}
sumwrt_balance = sumwrt_balance + maxwrtfund;
Decimal period_payment_cont = dw_clear.GetItemDecimal(j + 1, "period_payment");
paycont_amt = paycont_amt + period_payment_cont;
}
else if (clear_status == 0)
{
}
}
try { dw_main.SetItemDecimal(1, "wrtundret_amt", sumwrt_balance); }
catch { dw_main.SetItemDecimal(1, "wrtundret_amt", 0); }
}
of_calintestimatemain();
Decimal total = sum_clear1;
dw_main.SetItemDecimal(1, "sum_clear", total);
dw_main.SetItemDecimal(1, "return_coop", sumprnclear);
if (total > 0)
{
dw_main.SetItemDecimal(1, "clearloan_flag", 1);
}
else { dw_main.SetItemDecimal(1, "clearloan_flag", 0); }
// decimal ldc_paymonth = dw_main.GetItemDecimal(1, "paymonth_coop");
// dw_main.SetItemDecimal(1, "paymonth_coop", total);
//paymonth_coop_2
// of_recalloanpermiss();
}
///
/// sum ชำระหนี้เก่าทั้งหมด
///
private void JsResumLoanClear()
{
//Session["xmlloandetail"];
String xmlMain = "";
String xmlColl = "";
String xmlClear = "";
String xmlLoanDetail = "";
String xmlMessage = "";
try
{
xmlMain = dw_main.Describe("DataWindow.Data.XML");
xmlLoanDetail = Session["xmlloandetail"].ToString();
if (dw_coll.RowCount == 0)
{ xmlColl = null; }
else { xmlColl = dw_coll.Describe("DataWindow.Data.XML"); }
if (dw_clear.RowCount == 0)
{ xmlClear = null; }
else { xmlClear = dw_clear.Describe("DataWindow.Data.XML"); }
int result = shrlonService.ResumLoanClear(state.SsWsPass, ref xmlMain, ref xmlClear, ref xmlColl, xmlLoanDetail, ref xmlMessage);
if (result == 1)
{
try
{
//นำเข้าข้อมูลหลัก
dw_main.Reset();
dw_main.ImportString(xmlMain, FileSaveAsType.Xml);
//DwUtil.ImportData(xmlMain, dw_main, tDwMain, FileSaveAsType.Xml);
if (dw_main.RowCount > 1) dw_main.DeleteRow(dw_main.RowCount);
}
catch { dw_main.Reset(); dw_main.InsertRow(0); }
try
{
dw_clear.Reset();
dw_clear.ImportString(xmlClear, FileSaveAsType.Xml);
}
catch { dw_clear.Reset(); }
try
{
dw_coll.Reset();
dw_coll.ImportString(xmlColl, FileSaveAsType.Xml);
}
catch { dw_coll.Reset(); }
LtXmlLoanDetail.Text = xmlLoanDetail;
}
if ((xmlMessage != null) && (xmlMessage != ""))
{
dw_message.Reset();
dw_message.ImportString(xmlMessage, FileSaveAsType.Xml);
LtServerMessage.Text = WebUtil.ErrorMessage(dw_message.GetItemString(1, "msgtext"));
}
}
catch (Exception ex)
{
//LtServerMessage.Text = WebUtil.ErrorMessage("JsResumLoanClear===>" + ex);
}
}
public void JsRecalpermissumother()
{
JsSumOthClr();
Jsrecalloanpermiss();
}
///
/// หาสิทธิ์กู้สูงสุดจากอายุสมาชิก
///
private void Jsmaxcreditperiod()
{
try
{
String ls_loantype = dw_main.GetItemString(1, "loantype_code");
string appltype_code;
try { appltype_code = dw_main.GetItemString(1, "appltype_code"); }
catch { appltype_code = ""; }
DateTime ldtm_member;
try
{
ldtm_member = dw_main.GetItemDateTime(1, "member_date");
}
catch { ldtm_member = state.SsWorkDate; }
int ldc_share_lastperiod = Convert.ToInt16(dw_main.GetItemDecimal(1, "share_lastperiod"));
int li_loanrequest_type = Convert.ToInt16(dw_main.GetItemDecimal(1, "loanrequest_type"));
Decimal ldc_shrstkvalue = dw_main.GetItemDecimal(1, "sharestk_value");
Decimal ldc_salary = dw_main.GetItemDecimal(1, "salary_amt");
String ls_memcoopid = dw_main.GetItemString(1, "memcoop_id");
// String ls_membtypedesc = dw_main.GetItemString(1, "membtype_desc");
String member_no = dw_main.GetItemString(1, "member_no");
///<หาอายุงานของาสมาชิก>
///<กำหนดวันที่จ่ายและเรียกเก็บแต่ปละเภทสัญญาวันจ่ายไม่เหมือนกัน>
JsChangeStartkeep();
Decimal[] max_creditperiod = new Decimal[4];
string loanrighttype_code = "01";
Decimal loancredit_amt = 0, loanright_type = 1;
ls_loantype = dw_main.GetItemString(1, "loantype_code");
decimal li_timeage = dw_main.GetItemDecimal(1, "birth_age");
//decimal ldc_timembyear = Convert.ToInt16(dw_main.GetItemDecimal(1, "member_age"));
decimal ldc_timembyear = dw_main.GetItemDecimal(1, "member_age");
string ls_timembyear = ldc_timembyear.ToString("##00.00");
int li_timemb = Convert.ToInt16(ls_timembyear.Substring(0, 2)) * 12 + Convert.ToInt16(ls_timembyear.Substring(3, 2)); //ert.ToInt16(Math.Truncate(ldc_timembyear) * 12 + ((ldc_timembyear * 100) % 100));
decimal customtime_type = 0, resign_timeadd = 0;
customtime_type = Convert.ToInt16(Hdcustomtime_type.Value);
loanright_type = Convert.ToInt16(Hdloanright_type.Value);
loanrighttype_code = Hdloanrighttype_code.Value;
resign_timeadd = Convert.ToDecimal(Hdresign_timeadd.Value);
//งวดหุ้น
if (customtime_type == 1)
{
li_timemb = ldc_share_lastperiod;
}
else if (customtime_type == 3)
{
//เงินวิทยะฐานะ
li_timemb = Convert.ToInt32(dw_main.GetItemDecimal(1, "incomemonth_other"));
ldc_salary = dw_main.GetItemDecimal(1, "incomemonth_other");
} if (loanright_type == 3)
{
//ดูจากสัญญาหลัก คือ อ่านตารางกำหนดวงเงินกู้ OD
decimal ldc_maxloanamt = 0, maxperiod_payamt = 0;
DateTime ldtm_expirecont, ldtm_today;
string ls_contcreditno = "";
string ls_Sql = @" select contcredit_no, loancreditbal_amt, expirecont_date, contract_time,maxperiod_payamt
from lncontcredit where ( member_no = '" + member_no + @"' ) and
( loantype_code = '" + ls_loantype + "') and ( contcredit_status = 1 )";
Sdt dtcreditc = WebUtil.QuerySdt(ls_Sql);
if (dtcreditc.GetRowCount() <= 0)
{
ldc_maxloanamt = 0;
ls_contcreditno = "";
}
if (dtcreditc.Next())
{
try
{
ldc_maxloanamt = dtcreditc.GetDecimal("loancreditbal_amt");
maxperiod_payamt = dtcreditc.GetDecimal("maxperiod_payamt");
ldtm_expirecont = dtcreditc.GetDate("expirecont_date");
ls_contcreditno = dtcreditc.GetString("contcredit_no");
}
catch { ldc_maxloanamt = 0; }
loancredit_amt = ldc_maxloanamt;
if ((maxperiod_payamt == 0)) { maxperiod_payamt = 1; }
dw_main.SetItemDecimal(1, "loancredit_amt", ldc_maxloanamt);
if (maxperiod_payamt < 0)
{
maxperiod_payamt = this.maxperiod(ls_loantype, dw_main.GetItemDecimal(1, "loanrequest_amt"));
}
dw_main.SetItemDecimal(1, "maxsend_payamt", maxperiod_payamt);
dw_main.SetItemString(1, "ref_contmastno", ls_contcreditno);
}
}
else if (loanright_type == 5)
{
//กู้ปันผล
JsLoanCreditDividend();
}
else if (loanright_type == 6)
{
//คิด จาก หลักทรัพย์ที่กำหนดเฉพาะ
loancredit_amt = Convert.ToDecimal(HdLoanrightpermiss.Value);
dw_main.SetItemDecimal(1, "loancredit_amt", loancredit_amt);
dw_main.SetItemDecimal(1, "maxsend_payamt", 1);
dw_main.SetItemDecimal(1, "period_payamt", 1);
dw_main.SetItemDecimal(1, "period_payment", 0);
}
else
{
if (li_timemb < ldc_share_lastperiod) { li_timemb = ldc_share_lastperiod; }
///< หาสิทธิ์กู้สูงสุด,งวดสูงสุด>
///
if (appltype_code == "02" || appltype_code == "03")
{
li_timemb = li_timemb - Convert.ToInt16(resign_timeadd);
LtServerMessage.Text += WebUtil.WarningMessage(" สมาชิกท่านนี้เป็นสมาชิกสมัครใหม่ ที่เคยลาออกแล้ว ");
}
try
{
max_creditperiod = shrlonService.Calloanpermisssurin(state.SsWsPass, ls_memcoopid, ls_loantype, ldc_salary, ldc_shrstkvalue, li_timemb, member_no, li_timeage);
//max_creditperiod = shrlonService.Calloanpermiss(state.SsWsPass, ls_memcoopid, ls_loantype, ldc_salary, ldc_shrstkvalue, li_timemb, member_no, li_timeage);
}
catch (Exception ex)
{
LtServerMessage.Text = WebUtil.ErrorMessage(ex);
}
Decimal ldc_percenshare = max_creditperiod[2];
Decimal ldc_percensaraly = max_creditperiod[3];
loancredit_amt = max_creditperiod[0];
//mong
//String ll_roundloan = wcf.Busscom.of_getattribloantype(state.SsWsPass, ls_loantype, "reqround_factor");
String ll_roundloan = Hdreqround_factor.Value;
int roundloan = Convert.ToInt16(ll_roundloan);
if (roundloan != 0)
{
if (loancredit_amt % roundloan > 0)
{
loancredit_amt = loancredit_amt - (loancredit_amt % roundloan);
}
}
if (li_loanrequest_type == 2)
{
//กรณี กู้เพิ่ม
}
if ((appltype_code == "02" || appltype_code == "03") && loancredit_amt <= 0)
{
li_timemb = li_timemb + Convert.ToInt16(resign_timeadd);
LtServerMessage.Text += WebUtil.WarningMessage(" อายุการเป็นสมาชิกขั้นต่ำ 12 งวด เป็นสมาชิกส่งหุ้นมา " + li_timemb.ToString() + " งวด");
}
dw_main.SetItemDecimal(1, "loancredit_amt", loancredit_amt);
dw_main.SetItemDecimal(1, "maxsend_payamt", max_creditperiod[1]);
}
JsCalperiodSend();//เช็คงวดเกษียณอายุ
if (loanright_type != 6 || loanright_type != 1)
{
Genbaseloanclear(); //หนี้เดิม
of_setloanclearstatus(); //บังคับหักกลบอะไรบ้าง
}
JsSetMonthpayCoop(); //ยอดหักสหกรณ์
int li_loangrpcredit_type = Convert.ToInt16(Hdloangrpcredit_type.Value);
if (li_loangrpcredit_type == 1)
{
//กรณีวงเงินกู้กลุ๋มอ้าองอิงจากประเภทเงินกู้
JsSetloangrppermiss();
}
//สิทธิกู้ตามเงินเดือนคงเลหือ
//56-08-17 มง
//mong 56-01-31
//decimal loanreg_amt = 0;
//string sql_loanreg = "select loanrequest_amt, reqregister_docno from lnreqloanregister where loantype_code = '" + ls_loantype + "' and member_no = '" + member_no + "' and reqregister_status = 8 ";
//Sdt dtreg = WebUtil.QuerySdt(sql_loanreg);
//if (dtreg.Next())
//{
// loanreg_amt = dtreg.GetDecimal("loanrequest_amt");
// string lnloanregist = dtreg.GetString("reqregister_docno");
// dw_main.SetItemString(1, "ref_registerno", lnloanregist);
//}
//if (dtreg.GetRowCount() <= 0) { loanreg_amt = 0; }
//dw_main.SetItemDecimal(1, "loanreqregis_amt", loanreg_amt);
//wa pea ยังไม่ต้องคำนวณ ต้องคีย์ยอดรับสุทธิก่อน
//JsCalMaxLoanpermiss(); //ยอดก้ได้
//JsGenBuyshare();//ซื่้อห้นเพิ่ม
//JsBuyMut();//ซื้อ กสส.
//JsInsertRowcoll();
//JsSetCalFSV(); //คำนวณค่าบริหาร
//JsCalinsurancepay(); //หักเบี้ยประกันชีวิต
//JsSetmutualcoll(); // หักองทนผ้ค้ำ
//JsSetmutualStability(); // หักกองทนความมั่นคง
//if (loanright_type != 5)
//{
// JsContPeriod(); // ยอดชำระ/งวด
//}
// Jsfirstperiod(); // ดบ. ชำระงวดแรก
JsSumOthClr(); //ยอดหักอืนรวม
// JsInsertRowcoll(); //ค้ำประกัน กี่แภว
InsertRowColl();
}
catch (Exception ex)
{
// LtServerMessage.Text = WebUtil.ErrorMessage("Jsmaxcreditperiod===>" + ex);
}
}
private void JsSetMonthpayCoop()
{
try
{
string ls_loantype;
int li_index, li_count;
int li_clrstatus, li_paytype, li_shrpaystatus, li_chkbalacestatus;
Decimal ldc_shrperiod, ldc_payment, ldc_intestm;
Decimal ldc_sumpay = 0, li_paymentstatus = 1;
// ดึงรายการหุ้น
ldc_shrperiod = dw_main.GetItemDecimal(1, "periodshare_value");
li_shrpaystatus = Convert.ToInt32(dw_main.GetItemDecimal(1, "sharepay_status"));
// ถ้างดเก็บค่าุหุ้นให้หุ้นต่อเดือนเป็นศูนย์
if (li_shrpaystatus == -1) { ldc_shrperiod = 0; }
// ดึงรายการหนี้
li_count = dw_clear.RowCount;
Decimal li_odflag = 0, ldc_loamappamt = 0, li_periodamt = 0;
for (li_index = 1; li_index <= li_count; li_index++)
{
li_clrstatus = Convert.ToInt32(dw_clear.GetItemDecimal(li_index, "clear_status"));
ls_loantype = dw_clear.GetItemString(li_index, "loantype_code");
//li_chkbalacestatus = Convert.ToInt32(dw_clear.GetItemDecimal(li_index, "clear_status"));
if (li_clrstatus == 0)
{
li_paytype = Convert.ToInt32(dw_clear.GetItemDecimal(li_index, "loanpayment_type"));
ldc_payment = dw_clear.GetItemDecimal(li_index, "period_payment");
ldc_loamappamt = dw_clear.GetItemDecimal(li_index, "loanapprove_amt");
li_periodamt = dw_clear.GetItemDecimal(li_index, "period_payamt");
ldc_intestm = dw_clear.GetItemDecimal(li_index, "intestimate_amt");
li_odflag = dw_clear.GetItemDecimal(li_index, "countpay_flag");
li_paymentstatus = dw_clear.GetItemDecimal(li_index, "payment_status");
if (li_paymentstatus == -13 || li_paymentstatus == -9)
{
ldc_payment = 0;
ldc_intestm = 0;
}
if (li_odflag == 1)
{
ldc_payment = ldc_loamappamt / li_periodamt;
}
if (li_paytype == 1)
{
ldc_sumpay += ldc_payment + ldc_intestm;
}
else
{
ldc_sumpay += ldc_payment;
}
}
}
ldc_sumpay = ldc_sumpay + ldc_shrperiod;
dw_main.SetItemDecimal(1, "paymonth_coop", ldc_sumpay);
}
catch
{
}
}
private void of_recalloanpermiss()
{
JsSetMonthpayCoop();
//สิทธิกู้ตามเงินเดือนคงเลหือ
JsCalMaxLoanpermiss();
JsContPeriod();
JsGenBuyshare();
JsBuyMut();
JsInsertRowcoll();
JsSumOthClr();
}
///
/// ตรวจสอบสิทธิ์ตามเงินเดือนคงเหลือ
///
protected void JsPermissSalary()
{
//คำนวณสิทธิกู้จากยอดเงินเดือนคงเหลือขั้นต่ำ
JsSetMonthpayCoop();
Decimal ldc_shrstkvalue = dw_main.GetItemDecimal(1, "sharestk_value");
String loantype_code = dw_main.GetItemString(1, "loantype_code");
decimal ldc_salary = dw_main.GetItemDecimal(1, "salary_amt");
decimal ldc_mthcoop = dw_main.GetItemDecimal(1, "paymonth_coop");
decimal ldc_minpercsal = dw_main.GetItemDecimal(1, "minsalary_perc");
decimal ldc_minsalaamt = dw_main.GetItemDecimal(1, "minsalary_amt");
decimal ldc_maxloan = dw_main.GetItemDecimal(1, "loancredit_amt");
decimal ldc_periodsend = dw_main.GetItemDecimal(1, "period_payamt");
decimal ldc_paymenttype = dw_main.GetItemDecimal(1, "loanpayment_type");
decimal ldc_intrate = dw_main.GetItemDecimal(1, "int_contintrate");
decimal retry_age = dw_main.GetItemDecimal(1, "retry_age");
decimal ldc_incomeetc = dw_main.GetItemDecimal(1, "incomemonth_fixed");
decimal ldc_paymtmetc = dw_main.GetItemDecimal(1, "paymonth_other");
String ll_roundloan = wcf.Busscom.of_getattribloantype(state.SsWsPass, loantype_code, "reqround_factor");
int roundloan = Convert.ToInt16(ll_roundloan);
String ll_roundpay = wcf.Busscom.of_getattribloantype(state.SsWsPass, loantype_code, "payround_factor");
int roundpay = Convert.ToInt16(ll_roundpay);
if (ldc_periodsend > retry_age)
{
ldc_periodsend = retry_age;
}
//คำนวณเงินเดือนคงเหลือขั้นต่ำ
if (ldc_minsalaamt < (ldc_salary * ldc_minpercsal))
{
ldc_minsalaamt = Math.Round(ldc_salary * ldc_minpercsal);
}
decimal salary_balance = ldc_salary - ldc_minsalaamt - ldc_mthcoop + ldc_incomeetc - ldc_paymtmetc;
decimal ldc_permamt;
double li_maxperiod = Convert.ToDouble(ldc_periodsend);
if (ldc_paymenttype == 1)
{
//คงต้น
decimal ldc_temp = (ldc_periodsend * (ldc_intrate * (30 / 365)) + 1);
ldc_permamt = (salary_balance * ldc_periodsend) / ldc_temp;
}
else
{ //คงยอด
int li_fixcaltype = 1;//fixpaycal_type
double ldc_permamttmp = 1, ldc_fr = 1, ldc_temp = 1;
if (li_fixcaltype == 1)
{
// ด/บ ทั้งปี / 12
// ldc_permamt = salary_balance * ((((1 + (ldc_intrate / 12)) ^ li_maxperiod) - 1) / ((ldc_intrate / 12) * ((1 + (ldc_intrate / 12)) ^ li_maxperiod)));
ldc_temp = Math.Log(1 + (Convert.ToDouble(ldc_intrate / 12)));
ldc_fr = Math.Exp(-li_maxperiod * ldc_temp);
ldc_permamttmp = (Convert.ToDouble(salary_balance) * (1 - ldc_fr)) / ((Convert.ToDouble(ldc_intrate) / 12));
}
else
{
// ด/บ 30 วัน/เดือน
ldc_temp = Math.Log(1 + (Convert.ToDouble(ldc_intrate / (30 / 365))));
ldc_fr = Math.Exp(-li_maxperiod * ldc_temp);
ldc_permamttmp = (Convert.ToDouble(salary_balance) * (1 - ldc_fr)) / ((Convert.ToDouble(ldc_intrate) / (30 / 365)));
}
ldc_permamt = Convert.ToDecimal(ldc_permamttmp);
decimal loan_credit = dw_main.GetItemDecimal(1, "loancredit_amt");
if (ldc_permamt > loan_credit)
{
ldc_permamt = loan_credit;
}
}
//ตรวจสอบยอดขอกู้กลุ๋ม
// JsGetloangrouppermissuesed();
decimal loan_groupuse = 0;// dw_main.GetItemDecimal(1, "loangrpuse_amt");
ldc_permamt = ldc_permamt - loan_groupuse;
while (ldc_permamt > ldc_maxloan)
{
ldc_permamt = ldc_maxloan - 10;
}
if (ldc_permamt < 0) { ldc_permamt = 0; }
// wa ldc_permamt = Math.Round(ldc_permamt / roundloan) * roundloan;
if (ldc_permamt % roundloan > 0)
{
ldc_permamt = ldc_permamt - (ldc_permamt % roundloan);
}
if (ldc_permamt > ldc_maxloan) { ldc_permamt = ldc_permamt - roundloan; }
decimal period_payment = Math.Round((ldc_permamt / ldc_periodsend) / roundpay) * roundpay;
dw_main.SetItemDecimal(1, "loanpermiss_amt", ldc_permamt);
dw_main.SetItemDecimal(1, "loanrequest_amt", ldc_permamt);
if (period_payment <= 0)
{
period_payment = this.maxperiod(loantype_code, dw_main.GetItemDecimal(1, "loanrequest_amt"));
}
if (ldc_periodsend <= 0)
{
ldc_periodsend = this.maxperiod(loantype_code, dw_main.GetItemDecimal(1, "loanrequest_amt"));
}
dw_main.SetItemDecimal(1, "period_payment", period_payment);
dw_main.SetItemDecimal(1, "period_payamt", ldc_periodsend);
Decimal intestimate_amt = of_calintestimatemain();
dw_main.SetItemDecimal(1, "intestimate_amt", intestimate_amt);
JsGenBuyshare();
JsBuyMut();
JsInsertRowcoll();
}
private int JsCheckDataBeforesave()
{
//ตรวจค้ำประกัน wa
int coll_num = 0;
string loantype_code = dw_main.GetItemString(1, "loantype_code");
decimal loanrequest_amt = dw_main.GetItemDecimal(1, "loanrequest_amt");
int collrow = dw_coll.RowCount;
String sqlpro = @" select useman_amt, useshare_flag from lnloantypereqgrt
where loantype_code = '" + loantype_code + "' and money_from <= " + loanrequest_amt.ToString() + @"
and money_to >= " + loanrequest_amt.ToString();
Sdt dtgrt = WebUtil.QuerySdt(sqlpro);
if (dtgrt.Next())
{
coll_num = Convert.ToInt32(dtgrt.GetDecimal("useman_amt"));
int coll_share = Convert.ToInt32(dtgrt.GetDecimal("useshare_flag"));
}
else { coll_num = 0; }
if (coll_num > collrow)
{
//แสดงข้อความ
LtServerMessage.Text = WebUtil.ErrorMessage("ท่านป้อนสมาชิกค้ำประกันไม่ครบ กรุณาป้อนให้ครบด้วย ต้องระบุคนค้ำประกัน จำนวน " + coll_num.ToString());
return 1;
}
return 1;
}
private void JsInsertRowcoll()
{
try
{
String loantype_code = dw_main.GetItemString(1, "loantype_code");
Decimal ldc_shrstkvalue = dw_main.GetItemDecimal(1, "sharestk_value");
Decimal ldc_permamt = dw_main.GetItemDecimal(1, "loanrequest_amt");
Decimal ldc_useshare_flag = 0, ldc_useman_type = 0, ldc_useman_amt = 0;
String sqlreqgrt = @" SELECT COOP_ID,
LOANTYPE_CODE,
SEQ_NO,
MONEY_FROM,
MONEY_TO,
USESHARE_FLAG,
USEMAN_AMT,
USEMAN_TYPE,
USEMEMMAIN_AMT,
USEMEMCO_AMT,
USEMEM_OPERATION
FROM LNLOANTYPEREQGRT
WHERE COOP_ID ='" + state.SsCoopControl + @"'
and LOANTYPE_CODE='" + loantype_code + @"'
and MONEY_FROM <=" + ldc_permamt + " and MONEY_TO >=" + ldc_permamt + " ";
Sdt dtreqgrt = WebUtil.QuerySdt(sqlreqgrt);
if (dtreqgrt.Next())
{
ldc_useshare_flag = dtreqgrt.GetDecimal("USESHARE_FLAG");
ldc_useman_type = dtreqgrt.GetDecimal("USEMAN_TYPE");
ldc_useman_amt = dtreqgrt.GetDecimal("USEMAN_AMT");
}
if (dtreqgrt.GetRowCount() <= 0)
{
ldc_useshare_flag = 0;
ldc_useman_type = 0;
}
// dw_coll.Reset();
string membno = dw_main.GetItemString(1, "member_no");
string memb_name = dw_main.GetItemString(1, "member_name");
if (ldc_useshare_flag == 1 && dw_clear.RowCount <= 0) // หุ้น
{
dw_coll.Reset();
int row = dw_coll.InsertRow(1);
decimal coll_shrperc = of_getpercentcollmast(state.SsCoopControl, loantype_code, "02", "00");
if (coll_shrperc == 0) { coll_shrperc = Convert.ToDecimal(0.90); }
decimal coll_amt = dw_main.GetItemDecimal(1, "sharestk_value") * coll_shrperc;
dw_coll.SetItemString(row, "loancolltype_code", "02");
dw_coll.SetItemString(row, "ref_collno", dw_main.GetItemString(1, "member_no"));
dw_coll.SetItemString(row, "description", "ทุนเรือนหุ้น" + dw_main.GetItemString(1, "member_name"));
dw_coll.SetItemDecimal(row, "coll_amt", coll_amt);
dw_coll.SetItemDecimal(row, "coll_balance", coll_amt);
if (ldc_permamt < coll_amt) { coll_amt = ldc_permamt; }
decimal coll_percent = coll_amt / ldc_permamt;
dw_coll.SetItemDecimal(row, "use_amt", coll_amt);
dw_coll.SetItemDecimal(row, "base_percent", coll_shrperc);
dw_coll.SetItemDecimal(row, "coll_percent", coll_percent);
JsCheckCollmastrightBalance();
//dw_coll.SetItemString(row, "loancolltype_code", "02");
//dw_coll.SetItemString(row, "ref_collno", membno);
//dw_coll.SetItemString(row, "description", memb_name);
//dw_coll.SetItemDecimal(row, "coll_amt", ldc_permamt);
//dw_coll.SetItemDecimal(row, "coll_balance", ldc_permamt);
//dw_coll.SetItemDecimal(row, "use_amt", ldc_permamt);
//dw_coll.SetItemString(row, "coop_id", state.SsCoopControl);
}
if (ldc_useman_type >= 1)
{
int row = dw_coll.RowCount;
HdCountPerson.Value = ldc_useman_amt.ToString();//2014.01.17::MiW เพิ่มการตรวจสอบการใส่การค้ำประกัน
for (int i = 1; i <= ldc_useman_amt; i++)
{
if (row < ldc_useman_amt)
{
dw_coll.InsertRow(0);
}
else { break; }
}
}
//if (dw_coll.RowCount > ldc_useman_type)
//{
// for (int i = 1; i < dw_coll.RowCount; i++)
// {
// DwUtil.DeleteLastRow(dw_coll);
// }
//}
DwUtil.RetrieveDDDW(dw_coll, "coop_id", pbl, null);
}
catch
{
}
}
///
/// ชื้อหุ้นเพิ่ม
///
private void JsGenBuyshare()
{
try
{
Ltjspopup.Text = " ";
decimal buyshare_amt = 0;
string loantypereq_code = dw_main.GetItemString(1, "loantype_code");
decimal loanrequest_amt = dw_main.GetItemDecimal(1, "loanrequest_amt");
decimal sharestk_val = dw_main.GetItemDecimal(1, "sharestk_value");
decimal shrstk_buytype = 0, shrbuyext_amt = 0, buyshrlnreq_percen = 0, buyshrrecnet_percen = 0;
decimal sharestk_percent = 0, ldc_prnbalance = 0;
string sqllntype = @"select shrstk_buytype
from lnloantype where loantype_code ='" + loantypereq_code + @"' ";
Sdt dtstk = WebUtil.QuerySdt(sqllntype);
if (dtstk.Next())
{
shrstk_buytype = dtstk.GetDecimal("shrstk_buytype");
}
string sql = "select sharestk_percent, buyshrext_amt,buyshrlnreq_percen, buyshrrecnet_percen from lnloantypebuyshare where loantype_code ='" + loantypereq_code + "' and startloan_amt <= " + loanrequest_amt + " and endloan_amt >= " + loanrequest_amt;
Sdt dttype = WebUtil.QuerySdt(sql);
if (dttype.Next())
{
sharestk_percent = dttype.GetDecimal("sharestk_percent");
shrbuyext_amt = dttype.GetDecimal("buyshrext_amt");
buyshrlnreq_percen = dttype.GetDecimal("buyshrlnreq_percen");
buyshrrecnet_percen = dttype.GetDecimal("buyshrrecnet_percen");
}
int li_count = dw_clear.RowCount;
int li_index, li_clrstatus, li_paytype, li_countpayflag;
Decimal ldc_principal_balance = 0, ldc_intestm, ldc_sumpay = 0;
string ls_loantype = "";
if (shrstk_buytype == 1)
{
ldc_principal_balance += loanrequest_amt;
decimal shareperc_val = (sharestk_val / ldc_principal_balance) * 100;
if (shareperc_val <= sharestk_percent)
{
shareperc_val = sharestk_percent - shareperc_val;
buyshare_amt = TruncateDecimal((ldc_principal_balance * shareperc_val) / 100, 0);
decimal ldc_mod = buyshare_amt % 10;
if (ldc_mod >= 1)
{
buyshare_amt = buyshare_amt + (10 - ldc_mod) - 10;
}
//MiW Comment HC 2014.01.16 @PEA
dw_otherclr.InsertRow(0);
dw_otherclr.SetItemString(1, "clrothertype_code", "SHR");
dw_otherclr.SetItemString(1, "clrother_desc", "ซื้อหุ้นเพิ่ม");
dw_otherclr.SetItemDecimal(1, "clear_status", 1);
dw_otherclr.SetItemDecimal(1, "clrother_amt", buyshare_amt);
}
}
else if (shrstk_buytype == 2)
{
//ยอดหนี้ทั้งหมด
decimal total_balance = 0, ldc_mod = 0;
for (li_index = 1; li_index <= li_count; li_index++)
{
li_clrstatus = Convert.ToInt32(dw_clear.GetItemDecimal(li_index, "clear_status"));
ls_loantype = dw_clear.GetItemString(li_index, "loantype_code");
li_countpayflag = Convert.ToInt32(dw_clear.GetItemDecimal(li_index, "contlaw_status"));
if (li_clrstatus == 0 && li_countpayflag >= 1)
{
li_paytype = Convert.ToInt32(dw_clear.GetItemDecimal(li_index, "loanpayment_type"));
ldc_principal_balance = dw_clear.GetItemDecimal(li_index, "principal_balance");
total_balance += ldc_principal_balance;
}
}
total_balance += loanrequest_amt;
decimal shareperc_val = Convert.ToDecimal((Convert.ToDouble(sharestk_val) / Convert.ToDouble(total_balance)) * Convert.ToDouble(100.00));
if (shareperc_val <= sharestk_percent)
{
shareperc_val = TruncateDecimal(shareperc_val, 2);
buyshare_amt = (total_balance * shareperc_val) / 100;
ldc_mod = buyshare_amt % 10;
if (ldc_mod >= 1)
{
buyshare_amt = buyshare_amt + (10 - ldc_mod);
Ltjspopup.Text = WebUtil.WarningMessage(" สมาชิกท่านนี้ต้องซื้อหุ้นเพิ่ม " + buyshare_amt.ToString("#,##0"));
}
}
else
{
if (dw_otherclr.RowCount >= 1) { dw_otherclr.DeleteRow(dw_otherclr.RowCount); }
}
//ยอดรับสุทธิ
if (buyshrlnreq_percen > 0 || buyshrrecnet_percen > 0)
{
ldc_principal_balance = 0;
ldc_prnbalance = 0;
for (li_index = 1; li_index <= li_count; li_index++)
{
li_clrstatus = Convert.ToInt32(dw_clear.GetItemDecimal(li_index, "clear_status"));
ls_loantype = dw_clear.GetItemString(li_index, "loantype_code");
if (li_clrstatus == 1 && loantypereq_code == ls_loantype)
{
li_paytype = Convert.ToInt32(dw_clear.GetItemDecimal(li_index, "loanpayment_type"));
ldc_prnbalance = dw_clear.GetItemDecimal(li_index, "principal_balance");
ldc_principal_balance += ldc_prnbalance;
}
}
}
//wa
if (buyshrlnreq_percen > 0 && ldc_principal_balance == 0)
{
decimal shrbuyinc_amt = Convert.ToDecimal(loanrequest_amt * (buyshrlnreq_percen / 100));
ldc_mod = shrbuyinc_amt % 10;
if (ldc_mod >= 1)
{
shrbuyinc_amt = shrbuyinc_amt + (10 - ldc_mod);
}
Ltjspopup.Text += " ต้องซื้อเพิ่มจากยอดขอกู้ " + shrbuyinc_amt.ToString("#,##0");
buyshare_amt += shrbuyinc_amt;
}
//wa
if (buyshrrecnet_percen > 0 && ldc_principal_balance > 0)
{
decimal loannetreceive_amt = loanrequest_amt - ldc_principal_balance;
decimal shrbuyincnet_amt = Convert.ToDecimal(loannetreceive_amt * (buyshrrecnet_percen / 100));
if (shrbuyincnet_amt > 10000 && loantypereq_code == "13") { shrbuyincnet_amt = 10000; }
ldc_mod = shrbuyincnet_amt % 10;
if (ldc_mod >= 1)
{
shrbuyincnet_amt = shrbuyincnet_amt + (10 - ldc_mod);
}
Ltjspopup.Text += " ต้องซื้อเพิ่มจากยอดกู้เพิ่ม " + shrbuyincnet_amt.ToString("#,##0");
buyshare_amt += shrbuyincnet_amt;
}
//wa
//if (shrbuyext_amt > 0 && sharestk_percent > 0)
//{
buyshare_amt += shrbuyext_amt;
//}
if (buyshare_amt >= 1)
{
//MiW Comment HC 2014.01.16 @PEA
int li_rowcount = dw_otherclr.RowCount;
if (li_rowcount < 1)
{
dw_otherclr.InsertRow(0);
}
dw_otherclr.SetItemString(1, "clrothertype_code", "SHR");
dw_otherclr.SetItemString(1, "clrother_desc", "ซื้อหุ้นเพิ่ม");
dw_otherclr.SetItemDecimal(1, "clear_status", 1);
dw_otherclr.SetItemDecimal(1, "clrother_amt", buyshare_amt);
}
}
else if (shrstk_buytype == 3)
{
//ยอดกลุ่มเงินกู้
}
else if (shrstk_buytype == 4)
{
//ยอดรับสุทธิ
for (li_index = 1; li_index <= li_count; li_index++)
{
li_clrstatus = Convert.ToInt32(dw_clear.GetItemDecimal(li_index, "clear_status"));
ls_loantype = dw_clear.GetItemString(li_index, "loantype_code");
if (li_clrstatus == 1)
{
li_paytype = Convert.ToInt32(dw_clear.GetItemDecimal(li_index, "loanpayment_type"));
ldc_principal_balance = dw_clear.GetItemDecimal(li_index, "principal_balance");
ldc_principal_balance += ldc_principal_balance;
}
}
decimal loannetreceive_amt = loanrequest_amt - ldc_principal_balance;
if (loannetreceive_amt > 0)
{
buyshare_amt = (loannetreceive_amt * sharestk_percent) / 100;
decimal ldc_mod = buyshare_amt % 10;
if (ldc_mod >= 1)
{
buyshare_amt = buyshare_amt + (10 - ldc_mod) - 10;
}
}
else
{
buyshare_amt = 0;
}
if (buyshare_amt > 0)
{
//MiW Comment HC 2014.01.16 @PEA
int li_row0 = dw_otherclr.RowCount;
if (li_row0 < 1)
{
dw_otherclr.InsertRow(0);
}
dw_otherclr.SetItemString(1, "clrothertype_code", "SHR");
dw_otherclr.SetItemString(1, "clrother_desc", "ซื้อหุ้นเพิ่ม");
dw_otherclr.SetItemDecimal(1, "clear_status", 1);
dw_otherclr.SetItemDecimal(1, "clrother_amt", buyshare_amt);
}
}
else
{
if (dw_otherclr.RowCount >= 1) { dw_otherclr.DeleteRow(dw_otherclr.RowCount); }
}
}
catch
{
}
}
///
/// ซื้อ กสส. เฉพาะ กฟภ
///
private void JsBuyMut()
{
string loantype_code = dw_main.GetItemString(1, "loantype_code");
Decimal loanrequest_amt = dw_main.GetItemDecimal(1, "loanrequest_amt");
string mutloantype_code, itemtype_desc = "";
Decimal mut_perc = 0, buymut_amt = 0;
string sqlmut = @" SELECT MUTLOANTYPE_CODE,
LOANTYPE_CODE,
MUT_PERC,
SLIPITEMTYPE_DESC
FROM LNUCFLOANMUT, SLUCFSLIPITEMTYPE
WHERE LOANTYPE_CODE='" + loantype_code + @"'
and SLIPITEMTYPE_CODE='MUT'
and START_REQAMT<= " + loanrequest_amt + " and END_REQAMT>=" + loanrequest_amt + " ";
Sdt dt = WebUtil.QuerySdt(sqlmut);
//Boolean aa = dt.Next();
if (dt.Next())
{
mutloantype_code = dt.GetString("mutloantype_code");
itemtype_desc = dt.GetString("slipitemtype_desc");
try
{
mut_perc = dt.GetDecimal("mut_perc");
}
catch { mut_perc = 0; }
}
if (mut_perc > 0)
{
buymut_amt = loanrequest_amt * (mut_perc / 100);
int li_rowcount = dw_otherclr.RowCount;
int li_find = dw_otherclr.FindRow("clrothertype_code = 'MUT'", 1, li_rowcount);
if (li_find < 1)
{
li_find = dw_otherclr.InsertRow(0);
}
dw_otherclr.SetItemString(li_find, "clrothertype_code", "MUT");
dw_otherclr.SetItemString(li_find, "clrother_desc", itemtype_desc);
dw_otherclr.SetItemDecimal(li_find, "clear_status", 1);
dw_otherclr.SetItemDecimal(li_find, "clrother_amt", buymut_amt);
}
else
{
int li_rowcount = dw_otherclr.RowCount;
int li_find = dw_otherclr.FindRow("clrothertype_code = 'MUT'", 1, li_rowcount);
if (li_find > 0)
{
dw_otherclr.DeleteRow(li_rowcount);
}
}
JsSumOthClr();
}
//หักงวดแรก
private void Jsfirstperiod()
{
try
{
string ls_loantype = dw_main.GetItemString(1, "loantype_code");
string ls_memno = dw_main.GetItemString(1, "member_no");
decimal ldc_calintflag = 0;
String sqlStrcalintfuture = @" SELECT calintfuture_flag
FROM LNLOANTYPE
WHERE LOANTYPE_CODE='" + ls_loantype + "'";
Sdt dt1 = WebUtil.QuerySdt(sqlStrcalintfuture);
if (dt1.GetRowCount() < 1) { ldc_calintflag = 0; }
if (dt1.Next())
{
try
{
ldc_calintflag = dt1.GetDecimal("calintfuture_flag");
}
catch
{
ldc_calintflag = 0;
}
}
Decimal intestimate_amt = 0;
if (ldc_calintflag == 0)
{
}
else if (ldc_calintflag == 1)
{
intestimate_amt = of_calintestimatemain();
try
{
dw_otherclr.InsertRow(0);
int row = dw_otherclr.RowCount;
dw_otherclr.SetItemString(row, "clrothertype_code", "SFP");
dw_otherclr.SetItemString(row, "clrother_desc", "หักฝากชำระงวดแรก");
dw_otherclr.SetItemDecimal(row, "clear_status", 1);
dw_otherclr.SetItemDecimal(row, "clrother_amt", dw_main.GetItemDecimal(1, "period_payment") + intestimate_amt);
JsSumOthClr();
}
catch (Exception ex) { LtServerMessage.Text = WebUtil.ErrorMessage(ex.ToString()); }
}
else
{
if (ldc_calintflag == 2)
{
intestimate_amt = of_calintestimatemain();
}
string sqldeptno = @" SELECT deptaccount_no
FROM mbmembmaster
WHERE member_no='" + ls_memno + "'";
Sdt dt2 = WebUtil.QuerySdt(sqldeptno);
if (dt2.Next())
{
try
{
string ls_deptno = dt2.GetString("deptaccount_no");
dw_otherclr.InsertRow(0);
int row = dw_otherclr.RowCount;
dw_otherclr.SetItemString(row, "clrothertype_code", "DEP");
dw_otherclr.SetItemString(row, "clrother_desc", ls_deptno);
dw_otherclr.SetItemDecimal(row, "clear_status", 1);
dw_otherclr.SetItemDecimal(row, "clrother_amt", intestimate_amt);
}
catch
{
}
}
}
}
catch
{
}
}
//เช็คงวดเกษียณคนค้ำ
private void JsCalperiodSend()
{
DateTime ldtm_retry = dw_main.GetItemDateTime(1, "retry_date");
DateTime ldtm_lnreq = dw_main.GetItemDateTime(1, "loanrequest_date");
DateTime ldtm_birthday = dw_main.GetItemDateTime(1, "birth_date");
string ls_loantype = dw_main.GetItemString(1, "loantype_code");
decimal ldc_maxperiod = dw_main.GetItemDecimal(1, "maxsend_payamt");
decimal ldc_retryperiod = 0, li_retrychkflag = 0, retry_age = 500;
String sqlStrperiod = @" SELECT retryloansend_time,retryloanchk_type
FROM LNLOANTYPE
WHERE LOANTYPE_CODE='" + ls_loantype + "'";
decimal maxsend_payamt = ldc_maxperiod;
Sdt dt1 = WebUtil.QuerySdt(sqlStrperiod);
if (dt1.Next())
{
try
{
ldc_retryperiod = dt1.GetDecimal("retryloansend_time");
li_retrychkflag = dt1.GetDecimal("retryloanchk_type");
}
catch
{
ldc_retryperiod = 0;
}
}
retry_age = dw_main.GetItemDecimal(1, "retry_age");
if (li_retrychkflag == 1)
{
//ตรวจงวดเกษียณปกติ
if (retry_age < 0)
{
retry_age = 0;
}
// retry_age = BusscomService.of_cal_yearmonth(state.SsWsPass, ldtm_lnreq, ldtm_retry) * 12;
//if (retry_age < ldc_maxperiod) //comment by MiW เนื่องจาก จำนวนงวดสูงสุดของเงินกู้บางประเภทแสดงผลผิดพลาด
//{//ถ้า จำนวนวันเกษียณ น้อยกว่า จำนวนงวดสูงสุด
// Decimal before_retry = 3;
// ldc_maxperiod = retry_age - before_retry;//จำนวนงวดสูงสุด = วันเกษียณ - 3
//}
}
if (li_retrychkflag == 2)
{
//ตรวจงวดการส่งถึงแค่อายุ 60
ldtm_retry = ldtm_birthday.AddYears(60);
// retry_age = BusscomService.of_cal_yearmonth(state.SsWsPass, ldtm_lnreq, ldtm_retry);
retry_age = (ldtm_retry.Year - ldtm_lnreq.Year) * 12;
retry_age += (ldtm_retry.Month - ldtm_lnreq.Month);
if (ldtm_lnreq.Day > ldtm_retry.Day) { retry_age--; }
// decimal age_year = Math.Truncate(retry_age / 12);
// decimal age_month = (retry_age % 12) / 100;
// retry_age = age_year + age_month;
if (retry_age < ldc_maxperiod)
{
ldc_maxperiod = retry_age;
}
}
if (ldc_retryperiod > 0)
{
if (retry_age < ldc_maxperiod)
{
retry_age = retry_age + ldc_retryperiod;
}
if (retry_age < ldc_maxperiod)
{
ldc_maxperiod = retry_age;
}
}
if (ldc_maxperiod < 0)
{
ldc_maxperiod = this.maxperiod(ls_loantype, dw_main.GetItemDecimal(1, "loanrequest_amt"));
}
dw_main.SetItemDecimal(1, "maxsend_payamt", ldc_maxperiod);
dw_main.SetItemDecimal(1, "period_payamt", ldc_maxperiod);
}
private void ResendStr()
{
try
{
str_itemchange strList = new str_itemchange();
strList = WebUtil.str_itemchange_session(this);
string xmlcoll = Hdxmlcoll.Value;// strList.xml_guarantee;
string xmlclear = Hdxmlclear.Value;// strList.xml_clear;
//strList.xml_message = null;
//Session["strItemchange"] = strList;
decimal loanpermiss = Convert.ToDecimal(HdLoanrightpermiss.Value);
//นำเข้าข้อมูลหลัก
try
{
JsGetMemberInfo();
}
catch
{
}
dw_main.SetItemDecimal(1, "loancredit_amt", loanpermiss);
string memberno = dw_main.GetItemString(1, "member_no");
string ls_loantype = dw_main.GetItemString(1, "loantype_code");
decimal loanreg_amt = 0;
string sql_loanreg = "select loanrequest_amt, reqregister_docno from lnreqloanregister where loantype_code = '" + ls_loantype + "' and member_no = '" + memberno + "' and reqregister_status = 8 ";
Sdt dtreg = WebUtil.QuerySdt(sql_loanreg);
if (dtreg.Next())
{
loanreg_amt = dtreg.GetDecimal("loanrequest_amt");
string lnloanregist = dtreg.GetString("reqregister_docno");
dw_main.SetItemString(1, "ref_registerno", lnloanregist);
if (loanreg_amt < loanpermiss) { loanpermiss = loanreg_amt; }
}
if (dtreg.GetRowCount() <= 0) { loanreg_amt = loanpermiss; }
dw_main.SetItemDecimal(1, "loanreqregis_amt", loanreg_amt);
if (loanreg_amt < loanpermiss && loanreg_amt > 0) { loanpermiss = loanreg_amt; }
dw_main.SetItemDecimal(1, "loanrequest_amt", loanpermiss);
try
{
dw_coll.Reset();
dw_coll.ImportString(xmlcoll, FileSaveAsType.Xml);
}
catch { dw_coll.Reset(); }
try
{
dw_clear.Reset();
if (xmlclear.Length > 10)
{
dw_clear.ImportString(xmlclear, FileSaveAsType.Xml);
}
}
catch { dw_clear.Reset(); }
Hdxmlcoll.Value = "";
Hdxmlclear.Value = "";
JsCollCondition();
}
catch (Exception ex) { LtServerMessage.Text = WebUtil.ErrorMessage(ex); }
}
///
/// เช็คแลกกันค้ำ โดยใช้สิทธิ์กู้สูงสุดอกตาราง
///
///
///
protected void GenpermissCollLoop(object sender, EventArgs e)
{
//try
//{
// string as_coopid = state.SsCoopId;
// String ls_memcoopid = dw_main.GetItemString(1, "memcoop_id");
// String ls_membtypedesc = dw_main.GetItemString(1, "membtype_desc");
// String member_no = dw_main.GetItemString(1, "member_no");
// DateTime ldtm_member;
// bool isChecked = Checkcollloop.Checked;
// if (isChecked)
// {
// try
// {
// ldtm_member = dw_main.GetItemDateTime(1, "member_date");
// }
// catch { ldtm_member = state.SsWorkDate; }
// ///<หาอายุงานของาสมาชิก>
// int memtime = 0;
// Decimal member_age = dw_main.GetItemDecimal(1, "member_age");
// if (member_age > 1)
// {
// memtime = Convert.ToInt32(BusscomService.of_cal_yearmonth(state.SsWsPass, ldtm_member, state.SsWorkDate) * 12);
// }
// else
// {
// memtime = Convert.ToInt32(member_age * 100);
// }
// String[] max_creditperiod = new String[5];
// Decimal per70 = new Decimal(0.7);
// Decimal per90 = new Decimal(0.9);
// Decimal loancredit_amt = 0;
// Decimal ldc_maxperiod = 0;
// string ls_loantype = dw_main.GetItemString(1, "loantype_code");
// ///< หาสิทธิ์กู้สูงสุด,งวดสูงสุด>
// max_creditperiod = shrlonService.CalloanpermissCollLoop(state.SsWsPass, ls_memcoopid, as_coopid, ls_loantype, member_no, memtime);
// loancredit_amt = Convert.ToDecimal(max_creditperiod[0]);
// ldc_maxperiod = Convert.ToDecimal(max_creditperiod[1]);
// dw_main.SetItemDecimal(1, "loancredit_amt", loancredit_amt);
// dw_main.SetItemDecimal(1, "maxsend_payamt", ldc_maxperiod);
// dw_main.SetItemDecimal(1, "period_payamt", ldc_maxperiod);
// }
// else { Jsmaxcreditperiod(); }
//}
//catch (Exception ex) { LtServerMessage.Text = WebUtil.ErrorMessage("GenpermissCollLoop==>" + ex); }
}
///
/// สำหรับคำนวณดอกเบี้ยประมาณการสำหรับสัญญาใหม่
///
///
public Decimal of_calintestimatemain()
{
string ls_continttabcode, ls_coopid;
string ls_loantype;
int li_continttype, li_intsteptype, li_introundtype;
Decimal ldc_apvamt, ldc_inttotal = 0, ldc_prncalint;
Decimal ldc_contintrate, ldc_intincrease, ldc_Dayint;
DateTime ldtm_calintfrom, ldtm_calintto, ldtm_rcvfix, ldtm_estimate, adc_fixrate;
try
{
// ข้อกำหนดเรื่องดอกเบี้ย
li_continttype = Convert.ToInt32(dw_main.GetItemDecimal(1, "int_continttype"));
ls_continttabcode = dw_main.GetItemString(1, "int_continttabcode");
ldc_contintrate = dw_main.GetItemDecimal(1, "int_contintrate");
ldc_intincrease = dw_main.GetItemDecimal(1, "int_contintincrease");
li_intsteptype = Convert.ToInt32(dw_main.GetItemDecimal(1, "int_intsteptype"));
ls_coopid = dw_main.GetItemString(1, "coop_id");
ls_loantype = dw_main.GetItemString(1, "loantype_code");
ldc_apvamt = dw_main.GetItemDecimal(1, "loanrequest_amt");
ldc_prncalint = dw_main.GetItemDecimal(1, "loanrequest_amt");
ldtm_rcvfix = dw_main.GetItemDateTime(1, "loanrcvfix_date");
li_introundtype = Convert.ToInt16(Hdrouninttype.Value);
ldtm_estimate = ldtm_rcvfix.AddDays(30);
// ถ้าไม่มียอดต้นที่จะคิด ด/บ เป็น 0
if (ldc_prncalint <= 0) { return 0; }
// ถ้าสถานะนี้เป็นไม่คิด ด/บ
if (li_continttype == 0) { return 0; }
// ถ้าวันที่คิดดอกเบี้ยถึงน้อยกว่าวันที่คิดดอกเบี้ยล่าสุด ด/บ 0
if (ldtm_estimate <= ldtm_rcvfix) { return 0; }
// ถ้าไม่ได้ set รูปแบบขั้นดอกเบี้ยไว้ set ให้เป็นจากยอดอนุมัติ
if (li_intsteptype == null) { li_intsteptype = 1; }
ldtm_calintfrom = ldtm_rcvfix;
ldtm_calintto = ldtm_estimate;
ldc_contintrate = ldc_contintrate / 100;
ldc_Dayint = Convert.ToDecimal(30) / Convert.ToDecimal(365);
switch (li_continttype.ToString())
{
case "1": // ตาม rate ที่ระบุ
//// อัตราด/บเพิ่มลดพิเศษ
//inv_intsrv.of_setintincrease( 0 );
//ldc_inttotal = wcf.Shrlon.of_computeinterest(state.SsWsPass, state.SsCoopControl, ls_continttabcode, ldtm_calintto);
// ldc_inttotal = Math.Round(wcf.Shrlon.of_computeintmonth(state.SsWsPass, state.SsCoopControl, ls_loantype, ldc_contintrate, ldtm_calintfrom, ldtm_calintto, ldc_prncalint));
//ldc_inttotal = wcf.Shrlon.of_roundmoney(state.SsWsPass, ldc_prncalint * (ldc_contintrate) * (Convert.ToDecimal(0.5)) / 12);
ldc_inttotal = JsRoundMoney(ldc_prncalint * (ldc_contintrate) * (Convert.ToDecimal(0.5)) / 12, li_introundtype);
break;
case "2": // ตามตารางด/บที่ระบุ
// อัตราด/บเพิ่มลดพิเศษ
//ldc_inttotal = Math.Round(wcf.Shrlon.of_computeinterest2(state.SsWsPass, state.SsCoopControl, ls_continttabcode, ldtm_calintfrom, ldtm_calintto, ldc_prncalint, ldc_apvamt));
//ldc_inttotal = wcf.Shrlon.of_roundmoney(state.SsWsPass, ldc_prncalint * (ldc_contintrate) * (Convert.ToDecimal(0.5)) / 12);
//ldc_inttotal = JsRoundMoney(ldc_prncalint * (ldc_contintrate) * (Convert.ToDecimal(0.5)) / 12, li_introundtype);
//ying update 17-09-2013 ปัญหาดอกเบี้ยประมาณการ Dlg req_monthpay
ldc_inttotal = JsRoundMoney((ldc_prncalint * ldc_contintrate) * (ldc_Dayint), li_introundtype);
break;
default:
// ldc_inttotal = Math.Round(wcf.Shrlon.of_computeintmonth(state.SsWsPass, state.SsCoopControl, ls_loantype, ldc_contintrate, ldtm_calintfrom, ldtm_calintto, ldc_prncalint));
ldc_inttotal = JsRoundMoney(wcf.Shrlon.of_computeintmonth(state.SsWsPass, state.SsCoopControl, ls_loantype, ldc_contintrate, ldtm_calintfrom, ldtm_calintto, ldc_prncalint), li_introundtype);
break;
}
dw_main.SetItemDecimal(1, "intestimate_amt", ldc_inttotal);
}
catch (Exception ex)
{
//LtServerMessage.Text = WebUtil.ErrorMessage("of_calintestimatemain==+>" + ex);
}
return ldc_inttotal;
}
private string of_getrerydate(DateTime birthDate)
{
string retry_date = "";
string coop_id = state.SsCoopControl;
try
{
Sdt dt = WebUtil.QuerySdt("select retry_age,retry_month,retry_day from cmcoopmaster where coop_id ='" + coop_id + "' ");
// dt.next คือเลื่อนเคอร์เซอร์เพื่อไปหาค่าแถวถัดไป
if (dt.Next())
{ //เอาค่า +ปีที่เกษียณ + วันเกิด
int retry_age = dt.GetInt32("retry_age");
int retry_month = dt.GetInt32("retry_month");
int retry_day = dt.GetInt32("retry_day");
//int retry_age = Convert.ToInt16(dt.Rows[0]["retry_age"]);
//int retry_month = Convert.ToInt16(dt.Rows[0]["retry_month"]);
//int retry_day = Convert.ToInt16(dt.Rows[0]["retry_day"]);
int year = birthDate.Year + retry_age;
int month = birthDate.Month;
int day = birthDate.Day;
int loop_day = 0;
//ตั้งค่าวันที่สิ้นสุดของแต่ล่ะเดือน
if (retry_day == 0)
{
int[] daysinmonth = new int[12];
for (int i = 0; i < 12; i++)
{
if (i == 1)
{
daysinmonth[i] = 28;
}
else
{
if (i == 0 || i == 2 || i == 4 || i == 6 || i == 7 || i == 9 || i == 11)
{
daysinmonth[i] = 31;
}
else
{ daysinmonth[i] = 30; }
}
}
for (int i = 0; i < 12; i++)
{
if (day > daysinmonth[i])
{ //เช็ควันที่สิ้นสุดของเดือน กุมภาพันธ์
if (i == 1)
{
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
{
day = 29;
}
}
}
else
{
if (month == i + 1)
{
day = daysinmonth[i];
}
}
}
if (retry_month != 0)
{
loop_day = daysinmonth[retry_month - 1];
day = loop_day;
}
}
else
{
day = retry_day;
}
if (retry_month != 0)
{
//เช็คเกษียณครบรอบ
if (month > retry_month)
{
year = year + 1;
}
month = retry_month;
}
return day.ToString("00") + '-' + month.ToString("00") + '-' + year.ToString("0000");
}
else
{
return retry_date;
}
}
catch
{
return retry_date;
}
}
//private void JsRunProcess()
//{
// // --- Page Arguments
// try
// {
// app = Request["app"].ToString();
// }
// catch { }
// if (app == null || app == "")
// {
// app = state.SsApplication;
// }
// try
// {
// //gid = Request["gid"].ToString();
// gid = "LNNORM_DAILY";
// }
// catch { }
// try
// {
// //rid = Request["rid"].ToString();
// rid = "LNNORM_DAILY15";
// }
// catch { }
// String doc_no = dw_main.GetItemString(1, "loanrequest_docno");
// if (x == 2)
// {
// doc_no = reqdoc_no;
// }
// if (doc_no == null || doc_no == "")
// {
// return;
// }
// //String ls_xmlmain = dw_main.Describe("DataWindow.Data.XML");
// //String ls_format = "CAT";
// //short li_membtime = 0; Decimal ldc_right25 = 0; Decimal ldc_right33 = 0; Decimal ldc_right35 = 0; Decimal ldc_right26 = 0; Decimal ldc_right40 = 0;
// //int re = shrlonService.of_print_callpermiss(state.SsWsPass, ls_xmlmain, ls_format, ref li_membtime, ref ldc_right25, ref ldc_right33, ref ldc_right35, ref ldc_right26, ref ldc_right40);
// //Decimal li_membtime_ = li_membtime;
// //Decimal ldc_right25_ = ldc_right25;
// //Decimal ldc_right33_ = ldc_right33;
// //Decimal ldc_right35_ = ldc_right35;
// //Decimal ldc_right26_ = ldc_right26;
// //Decimal ldc_right40_ = ldc_right40;
// //string loan26 = dw_main.GetItemString(1, "loantype_code");
// //if (loan26 == "26")
// //{
// // decimal right26 = dw_main.GetItemDecimal(1, "loancredit_amt");
// // ldc_right26_ = right26;
// // ldc_right33_ = 0;
// // ldc_right35_ = 0;
// // ldc_right25_ = 0;
// //}
// //แปลง Criteria ให้อยู่ในรูปแบบมาตรฐาน.
// ReportHelper lnv_helper = new ReportHelper();
// lnv_helper.AddArgument(doc_no, ArgumentType.String);
// //lnv_helper.AddArgument(li_membtime_.ToString(), ArgumentType.Number);
// //lnv_helper.AddArgument(ldc_right25_.ToString(), ArgumentType.Number);
// //lnv_helper.AddArgument(ldc_right33_.ToString(), ArgumentType.Number);
// //lnv_helper.AddArgument(ldc_right35_.ToString(), ArgumentType.Number);
// //lnv_helper.AddArgument(ldc_right26_.ToString(), ArgumentType.Number);
// //lnv_helper.AddArgument(ldc_right40_.ToString(), ArgumentType.Number);
// //ชื่อไฟล์ PDF = YYYYMMDDHHMMSS__.PDF
// String pdfFileName = DateTime.Now.ToString("yyyyMMddHHmmss", WebUtil.EN);
// pdfFileName += "_" + gid + "_" + rid + ".pdf";
// pdfFileName = pdfFileName.Trim();
// //ส่งให้ ReportService สร้าง PDF ให้ {โดยปกติจะอยู่ใน C:\GCOOP\Saving\PDF\}.
// try
// {
// Saving.WsReport.Report lws_report = wcf.Report;
// String criteriaXML = lnv_helper.PopArgumentsXML();
// this.pdf = lws_report.GetPDFURL(state.SsWsPass) + pdfFileName;
// String li_return = lws_report.Run(state.SsWsPass, app, gid, rid, criteriaXML, pdfFileName);
// if (li_return == "true")
// {
// HdOpenIFrame.Value = "True";
// HdcheckPdf.Value = "True";
// }
// else if (li_return != "true")
// {
// HdcheckPdf.Value = "False";
// }
// }
// catch (Exception ex)
// {
// LtServerMessage.Text = WebUtil.ErrorMessage(ex);
// return;
// }
// Session["pdf"] = pdf;
// //PopupReport();
//}
//private void JsRunProcessInvoice()
//{
// // --- Page Arguments
// try
// {
// app = Request["app"].ToString();
// }
// catch { }
// if (app == null || app == "")
// {
// app = state.SsApplication;
// }
// try
// {
// //gid = Request["gid"].ToString();
// gid = "LNNORM_DAILY";
// }
// catch { }
// try
// {
// //rid = Request["rid"].ToString();
// rid = "LNNORM_DAILY13";
// }
// catch { }
// String doc_no = dw_main.GetItemString(1, "loanrequest_docno");
// if (x == 2)
// {
// doc_no = reqdoc_no;
// }
// if (doc_no == null || doc_no == "")
// {
// return;
// }
// //แปลง Criteria ให้อยู่ในรูปแบบมาตรฐาน.
// ReportHelper lnv_helper = new ReportHelper();
// lnv_helper.AddArgument(doc_no, ArgumentType.String);
// //ชื่อไฟล์ PDF = YYYYMMDDHHMMSS__.PDF
// String pdfFileName = DateTime.Now.ToString("yyyyMMddHHmmss", WebUtil.EN);
// pdfFileName += "_" + gid + "_" + rid + ".pdf";
// pdfFileName = pdfFileName.Trim();
// //ส่งให้ ReportService สร้าง PDF ให้ {โดยปกติจะอยู่ใน C:\GCOOP\Saving\PDF\}.
// try
// {
// Saving.WsReport.Report lws_report = wcf.Report;
// String criteriaXML = lnv_helper.PopArgumentsXML();
// this.pdf = lws_report.GetPDFURL(state.SsWsPass) + pdfFileName;
// String li_return = lws_report.Run(state.SsWsPass, app, gid, rid, criteriaXML, pdfFileName);
// if (li_return == "true")
// {
// HdOpenIFrame.Value = "True";
// HdcheckPdf.Value = "True";
// }
// else if (li_return != "true")
// {
// HdcheckPdf.Value = "False";
// }
// }
// catch (Exception ex)
// {
// LtServerMessage.Text = WebUtil.ErrorMessage(ex);
// return;
// }
// Session["pdfinvoice"] = pdf;
// //PopupReport();
//}
//public void JspPopupReport()
//{
// //เด้ง Popup ออกรายงานเป็น PDF.
// //String pop = "Gcoop.OpenPopup('http://localhost/GCOOP/WebService/Report/PDF/20110223093839_shrlonchk_SHRLONCHK001.pdf')";
// String pop = "Gcoop.OpenPopup('" + Session["pdf"].ToString() + "')";
// ClientScript.RegisterClientScriptBlock(this.GetType(), "DsReport", pop, true);
//}
//public void JspPopupReportInvoice()
//{
// //เด้ง Popup ออกรายงานเป็น PDF.
// //String pop = "Gcoop.OpenPopup('http://localhost/GCOOP/WebService/Report/PDF/20110223093839_shrlonchk_SHRLONCHK001.pdf')";
// String pop = "Gcoop.OpenPopup('" + Session["pdfinvoice"].ToString() + "')";
// ClientScript.RegisterClientScriptBlock(this.GetType(), "DsReport", pop, true);
//}
private void JsSetExpenseDefault(int row, string as_memno)
{
string memberNo = dw_main.GetItemString(1, "member_no");
string ls_loantype = dw_main.GetItemString(1, "loantype_code");
try
{
decimal defaultpaytype = 1;
String sqlStrdefaultpay = @" SELECT defaultpay_type
FROM LNLOANTYPE
WHERE LOANTYPE_CODE='" + ls_loantype + "'";
Sdt dt1 = WebUtil.QuerySdt(sqlStrdefaultpay);
if (dt1.GetRowCount() < 1) { defaultpaytype = 1; }
if (dt1.Next())
{
try
{
defaultpaytype = dt1.GetDecimal("defaultpay_type");
}
catch
{
defaultpaytype = 1;
}
}
if (defaultpaytype == 2)
{
JsGetexpensememno();
}
}
catch
{
}
DefaultExpenseBank();
}
private void JsSetDeptnodefault(Int16 row)
{
string dept_acc = "";
try
{
string memberNo = dw_main.GetItemString(1, "member_no");
String strSQL = "";
strSQL = @"SELECT DPDEPTMASTER.DEPTACCOUNT_NO,
DPDEPTMASTER.DEPTCLOSE_STATUS,
DPDEPTMASTER.PRNCBAL
FROM DPDEPTMASTER,
MBMEMBMASTER,
DPDEPTTYPE
WHERE ( DPDEPTMASTER.MEMBER_NO = MBMEMBMASTER.MEMBER_NO ) and DPDEPTMASTER.DEPTACCOUNT_NO = MBMEMBMASTER.DEPTACCOUNT_NO and
( DPDEPTMASTER.DEPTTYPE_CODE = DPDEPTTYPE.DEPTTYPE_CODE ) and
( DPDEPTMASTER.MEMCOOP_ID = DPDEPTTYPE.COOP_ID ) and DPDEPTMASTER.DEPTCLOSE_STATUS=0 and
( DPDEPTMASTER.MEMBER_NO = '" + memberNo + "') ";
Sdt dtdept = WebUtil.QuerySdt(strSQL);
if (dtdept.GetRowCount() <= 0)
{
LtServerMessage.Text = WebUtil.WarningMessage("ไม่พบเลขที่บัญชีเงินฝากสมาชิก " + member_no);
}
if (dtdept.Next())
{
dept_acc = dtdept.GetString("DEPTACCOUNT_NO");
}
if (dw_otherclr.RowCount > 0)
{
dw_otherclr.SetItemString(row, "clrother_desc", dept_acc);
}
}
catch
{
}
}
protected void SetAcci_dept()
{
string dept_acc = "";
try
{
string memberNo = dw_main.GetItemString(1, "member_no");
String strSQL = "";
strSQL = @"SELECT DPDEPTMASTER.DEPTACCOUNT_NO,
DPDEPTMASTER.MEMBER_NO,
DPDEPTMASTER.DEPTACCOUNT_NAME,
DPDEPTMASTER.DEPTTYPE_CODE,
MBMEMBMASTER.MEMB_NAME,
MBMEMBMASTER.MEMB_SURNAME,
MBMEMBMASTER.MEMBGROUP_CODE,
DPDEPTMASTER.DEPT_OBJECTIVE,
DPDEPTMASTER.DEPTCLOSE_STATUS,
DPDEPTTYPE.DEPTTYPE_GROUP,
DPDEPTMASTER.PRNCBAL
FROM DPDEPTMASTER,
MBMEMBMASTER,
DPDEPTTYPE
WHERE ( DPDEPTMASTER.MEMBER_NO = MBMEMBMASTER.MEMBER_NO ) and
( DPDEPTMASTER.DEPTTYPE_CODE = DPDEPTTYPE.DEPTTYPE_CODE ) and
( DPDEPTMASTER.MEMCOOP_ID = DPDEPTTYPE.COOP_ID ) and DPDEPTMASTER.DEPTCLOSE_STATUS=0 and
( DPDEPTMASTER.MEMBER_NO = '" + memberNo + "') ORDER BY DPDEPTMASTER.DEPTACCOUNT_NO ASC ";
Sdt dtdept = WebUtil.QuerySdt(strSQL);
if (dtdept.Next())
{
int rowCount = dtdept.GetRowCount();
for (int x = 0; x < rowCount; x++)
{
dept_acc = dtdept.Rows[x]["DEPTACCOUNT_NO"].ToString();
if (x == 0)
{
// dw_main.SetItemString(1, "expense_accid", dept_acc);
}
}
}
}
catch { dept_acc = ""; }
}
#region Report Process
private void RunProcess()
{
try
{
app = state.SsApplication;//Request["app"].ToString();
}
catch { }
if (app == null || app == "")
{
app = state.SsApplication;
}
try
{
gid = "LOAN_DAILY";//Request["gid"].ToString();
}
catch { }
if (HdSelectReport.Value == "1")
{
try
{
rid = "LOAN_DAILY_S1";//Request["rid"].ToString();
}
catch { }
}
else if (HdSelectReport.Value == "2")
{
try
{
rid = "LOAN_DAILY_S2";//Request["rid"].ToString();
}
catch { }
}
String loanrequest_docno = dw_main.GetItemString(1, "loanrequest_docno");
String member_no = dw_main.GetItemString(1, "member_no");
//แปลง Criteria ให้อยู่ในรูปแบบมาตรฐาน.
ReportHelper lnv_helper = new ReportHelper();
lnv_helper.AddArgument(loanrequest_docno, ArgumentType.String);
lnv_helper.AddArgument(member_no, ArgumentType.String);
//ชื่อไฟล์ PDF = YYYYMMDDHHMMSS__.PDF
String pdfFileName = DateTime.Now.ToString("yyyyMMddHHmmss", WebUtil.EN);
pdfFileName += "_" + gid + "_" + rid + ".pdf";
pdfFileName = pdfFileName.Trim();
//ส่งให้ ReportService สร้าง PDF ให้ {โดยปกติจะอยู่ใน C:\GCOOP\Saving\PDF\}.
try
{
CoreSavingLibrary.WcfReport.ReportClient lws_report = new CoreSavingLibrary.WcfReport.ReportClient();
String criteriaXML = lnv_helper.PopArgumentsXML();
this.pdf = lws_report.GetPDFURL(state.SsWsPass) + pdfFileName;
String li_return = lws_report.Run(state.SsWsPass, app, gid, rid, criteriaXML, pdfFileName);
if (li_return == "true")
{
HdOpenIFrame.Value = "True";
}
}
catch (Exception ex)
{
LtServerMessage.Text = WebUtil.ErrorMessage(ex);
return;
}
}
public void PopupReport()
{
//เด้ง Popup ออกรายงานเป็น PDF.
String pop = "Gcoop.OpenPopup('" + pdf + "')";
ClientScript.RegisterClientScriptBlock(this.GetType(), "DsReport", pop, true);
}
#endregion
protected void LinkButton1_Click1(object sender, EventArgs e)
{
if (xmlconfig.ShrlonPrintMode == 0)
{
//JspopupLoanReport();
}
else
{
// LtServerMessage.Text = WebUtil.ErrorMessage("อยู่ระหว่างรอ เพิ่มเติม Process");
JspopupLoanCollReport(true, xmlconfig.ShrlonPrintMode);
}
}
protected void LinkButton4_Click(object sender, EventArgs e)
{
if (xmlconfig.ShrlonPrintMode == 0)
{
//JspopupLoanReport();
}
else
{
JspopupLoanExpandReport(true, xmlconfig.ShrlonPrintMode);
LtServerMessage.Text = WebUtil.ErrorMessage("อยู่ระหว่างรอ เพิ่มเติม Process");
}
}
protected void LinkButton3_Click(object sender, EventArgs e)
{
if (xmlconfig.ShrlonPrintMode == 0)
{
//JspopupLoanReport();
}
else
{
//LtServerMessage.Text = WebUtil.ErrorMessage("อยู่ระหว่างรอ เพิ่มเติม Process");
JspopupLoanReport(true, xmlconfig.ShrlonPrintMode);
}
}
protected void LinkButton2_Click(object sender, EventArgs e)
{
if (xmlconfig.ShrlonPrintMode == 0)
{
//JspopupLoanReport();
}
else
{
//LtServerMessage.Text = WebUtil.ErrorMessage("อยู่ระหว่างรอ เพิ่มเติม Process");
JspopupLoanReqReport(true, xmlconfig.ShrlonPrintMode);
}
}
protected void ReOtherMain()
{
dw_main.SetItemDecimal(1, "otherclr_flag", 0);
dw_main.SetItemDecimal(1, "otherclr_amt", 0);
}
protected void JsSetFixdate()
{
//string loanrcvfix_flag = dw_main.GetItemString(1, "loanrcvfix_flag").Trim();
//if (loanrcvfix_flag == "1")
//{
// string rcvfixdate = dw_main.GetItemString(1,"loanrcvfix_tdate");
// rcvfixdate = WebUtil.ConvertDateThaiToEng(dw_main,"loanrcvfix_tdate",rcvfixdate);
// dw_main.SetItemDateTime(1, "loanrcvfix_date", Convert.ToDateTime(rcvfixdate));
//}
//else
//{
// dw_main.SetItemDateTime(1, "loanrcvfix_date", state.SsWorkDate);
//}
}
protected void CheckRemark(String MemberNo)
{
if (HdShowRemark.Value == "false")
{
String strSQL = "SELECT MBMEMBREMARKSTAT.MEMBER_NO FROM MBMEMBREMARKSTAT WHERE MBMEMBREMARKSTAT.MEMBER_NO = '" + MemberNo + "'";
Sdt dtdept = WebUtil.QuerySdt(strSQL);
if (dtdept.Next())
{
//Response.Redirect("\\CEN\\GCOOP\\Saving\\Applications\\shrlon\\dlg\\w_dlg_ln_remarkstatus.aspx?MemberNo =" + MemberNo + "");
//Response.Write("");
HdCheckRemark.Value = "true";
}
else
{
HdCheckRemark.Value = "false";
}
}
}
private void JsCalinsurancepay() //pom-1
{
string ls_memno = dw_main.GetItemString(1, "member_no");
string ls_loantype = dw_main.GetItemString(1, "loantype_code");
string request_date = dw_main.GetItemString(1, "loanrequest_tdate");
decimal loanrequest_amt = dw_main.GetItemDecimal(1, "loanrequest_amt");
decimal inscost_amt = 0, suminscontbf_amt = 0, insratepay_amt = 0, loancutbf_amt = 1000000;
string sql_chkloantype = " select instype_code, inscost_amt from insucfloanforcetype where loantype_code = '" + ls_loantype + "' and start_loan <= " + Convert.ToString(loanrequest_amt) + " and end_loan >= " + Convert.ToString(loanrequest_amt);
Sdt dtinschkloan = WebUtil.QuerySdt(sql_chkloantype);
if (dtinschkloan.Next())
{
string instype_code = dtinschkloan.GetString("instype_code");
decimal maxinscost_amt = dtinschkloan.GetDecimal("inscost_amt");
string sql_chkins = "select sum( inscost_blance ) as sumcost_amt from insgroupmaster where insmemb_status = 1 and member_no = " + ls_memno;
Sdt dtins = WebUtil.QuerySdt(sql_chkins);
if (dtins.Next())
{
suminscontbf_amt = dtins.GetDecimal("sumcost_amt");
}
inscost_amt = loanrequest_amt - loancutbf_amt - suminscontbf_amt;
if (inscost_amt < 500000) { inscost_amt = 500000; }
if (inscost_amt >= 500001 && inscost_amt < 1000000) { inscost_amt = 1000000; }
if (inscost_amt >= 1000001 && inscost_amt < 9900000) { inscost_amt = 1500000; }
string request_mmdd = request_date.Substring(4, 4) + request_date.Substring(2, 2) + request_date.Substring(0, 2);
// request_mmdd = //request_date.Substring(5, 4) +request_mmdd;
string sql_insrate = "select inspayment_amt from insurancerate where instype_code = '" + instype_code + "' and start_ddmm <= '" + request_mmdd + "' and end_ddmm >= '" + request_mmdd + "'";
Sdt dtrate = WebUtil.QuerySdt(sql_insrate);
if (dtrate.Next())
{
insratepay_amt = dtrate.GetDecimal("inspayment_amt");
}
else
{
insratepay_amt = 0;
}
decimal rowcount = dw_otherclr.RowCount;
string ls_itemtype = "";
int krow = 0;
for (int i = 1; i <= rowcount; i++)
{
ls_itemtype = dw_otherclr.GetItemString(i, "clrothertype_code");
if (ls_itemtype.Trim() == instype_code.Trim())
{
krow = i;
}
}
if (krow > 0)
{
dw_otherclr.SetItemDecimal(krow, "clrother_amt", insratepay_amt);
}
else
{
krow = dw_otherclr.InsertRow(0);
dw_otherclr.SetItemDecimal(krow, "clrother_amt", insratepay_amt);
}
dw_otherclr.SetItemString(krow, "clrothertype_code", instype_code);
dw_otherclr.SetItemDecimal(krow, "clrother_amt", insratepay_amt);
dw_otherclr.SetItemString(krow, "clrother_desc", "ประกันชีวิต");
}
}
private void JsSetmutualcoll()
{
//init กองทุนผู้สค้ำ mumembtype_code = '01'
try
{
string ls_memno = dw_main.GetItemString(1, "member_no");
string ls_loantype = dw_main.GetItemString(1, "loantype_code");
string request_date = dw_main.GetItemString(1, "loanrequest_tdate");
double loanrequest_amt = Convert.ToDouble(dw_main.GetItemDecimal(1, "loanrequest_amt"));
decimal muttotalpay_amt = 0;
string sql_mutloantype = " select percent_amt, mut_amt, maxmut_amt from mutloantype where muttype_code = '01' and loantype_code = '" + ls_loantype + "'";
Sdt dtm = WebUtil.QuerySdt(sql_mutloantype);
if (dtm.Next())
{
double mut_percent = dtm.GetDouble("percent_amt");
decimal mut_amt = dtm.GetDecimal("mut_amt");
decimal mutmax_amt = dtm.GetDecimal("maxmut_amt");
decimal mut_pay = 0;
if (mut_percent > 0)
{
mut_pay = Convert.ToDecimal(mut_percent * Convert.ToDouble(loanrequest_amt));
}
if (mut_amt > 0)
{
mut_pay = mut_amt;
}
if (mut_pay > mutmax_amt) { mut_pay = mutmax_amt; }
string sql_mut = " select totalpay_amt from mumembmaster where member_no = '" + ls_memno + "' and mumembtype_code = '01' ";
Sdt dt_mut = WebUtil.QuerySdt(sql_mut);
if (dt_mut.GetRowCount() > 0)
{
try
{
muttotalpay_amt = dt_mut.GetDecimal("totalpay_amt");
}
catch { muttotalpay_amt = 0; }
}
decimal rowcount = dw_otherclr.RowCount;
string ls_itemtype = "";
int krow = 0;
for (int i = 1; i <= rowcount; i++)
{
ls_itemtype = dw_otherclr.GetItemString(i, "clrother_amt");
if (ls_itemtype == "MUC")
{
krow = i;
}
}
decimal mutpayment_amtd = Convert.ToDecimal(mut_pay);
if (krow <= 0)
{
krow = dw_otherclr.InsertRow(0);
}
dw_otherclr.SetItemString(krow, "clrothertype_code", "MUC");
dw_otherclr.SetItemDecimal(krow, "clrother_amt", muttotalpay_amt);
dw_otherclr.SetItemString(krow, "clrother_desc", "คืนเงินกองทุน");
rowcount = dw_otherclr.RowCount;
for (int i = 1; i <= rowcount; i++)
{
ls_itemtype = dw_otherclr.GetItemString(i, "clrother_amt");
if (ls_itemtype == "MTC")
{
krow = i;
}
}
if (krow <= 0)
{
krow = dw_otherclr.InsertRow(0);
}
dw_otherclr.SetItemString(krow, "clrothertype_code", "MTC");
dw_otherclr.SetItemDecimal(krow, "clrother_amt", mutpayment_amtd);
dw_otherclr.SetItemString(krow, "clrother_desc", "กองทุนช่วยเหลือผู้ค้ำ");
}
}
catch
{
}
}
private void JsSetmutualStability()
{
//init กองทุนเพื่อความมั่นคง mumembtype_code = '02'
try
{
string ls_memno = dw_main.GetItemString(1, "member_no");
string ls_loantype = dw_main.GetItemString(1, "loantype_code");
string request_date = dw_main.GetItemString(1, "loanrequest_tdate");
Decimal loanrequest_amt = dw_main.GetItemDecimal(1, "loanrequest_amt");
String ls_coop_id = dw_main.GetItemString(1, "coop_id");
Decimal mutpayment_amt = 0;
string sql_mutloantype = " select percent_amt, mut_amt, maxmut_amt from mutloantype where muttype_code = '02' and loantype_code = '" + ls_loantype + "'";
Sdt dtm = WebUtil.QuerySdt(sql_mutloantype);
if (dtm.Next())
{
double mut_percent = dtm.GetDouble("percent_amt");
decimal mut_amt = dtm.GetDecimal("mut_amt");
decimal mutmax_amt = dtm.GetDecimal("maxmut_amt");
decimal mut_pay = 0;
if (mut_percent > 0)
{
mut_pay = Convert.ToDecimal(mut_percent * Convert.ToDouble(loanrequest_amt));
}
if (mut_amt > 0)
{
mut_pay = mut_amt;
}
string sql_mut = " select totalpay_amt from mumembmaster where member_no = '" + ls_memno + "' and mumembtype_code = '02' ";
Sdt dt_mut = WebUtil.QuerySdt(sql_mut);
if (dt_mut.GetRowCount() <= 0)
{ //ยังไม่เคยมีการทำกองทุนเพื่อความมั่นคง เก็บ 10000
try
{
string sql_mutrate = " select mupercen ,min_payamt ,max_payamt from muucfpayrate where coop_id = '" + ls_coop_id + "' and min_loanrequestamt <= " + loanrequest_amt + " and " + loanrequest_amt + " < max_loanrequestamt";
Sdt dt_mutrate = WebUtil.QuerySdt(sql_mutrate);
Decimal mu_percen = 0;
Decimal mu_min = 0;
Decimal mu_max = 0;
if (dt_mutrate.GetRowCount() > 0)
{
mu_percen = Convert.ToDecimal(dt_mutrate.Rows[0][0].ToString().Trim()); //dt_mutrate.GetDecimal("mupercen");
mu_min = Convert.ToDecimal(dt_mutrate.Rows[0][1].ToString().Trim());
mu_max = Convert.ToDecimal(dt_mutrate.Rows[0][2].ToString().Trim());
}
mutpayment_amt = (loanrequest_amt * mu_percen) / 100;
if (mutpayment_amt < mu_min)
{
mutpayment_amt = mu_min;
}
if (mutpayment_amt > mu_max)
{
mutpayment_amt = mu_max;
}
}
catch { mutpayment_amt = 0; }
}
decimal rowcount = dw_otherclr.RowCount;
string ls_itemtype = "";
int krow = 0;
for (int i = 1; i <= rowcount; i++)
{
ls_itemtype = dw_otherclr.GetItemString(i, "clrother_amt");
if (ls_itemtype == "MUT")
{
krow = i;
}
}
decimal mutpayment_amtd = Convert.ToDecimal(mutpayment_amt);
if (krow <= 0)
{
krow = dw_otherclr.InsertRow(0);
}
dw_otherclr.SetItemString(krow, "clrothertype_code", "MUT");
dw_otherclr.SetItemDecimal(krow, "clrother_amt", mutpayment_amtd);
dw_otherclr.SetItemString(krow, "clrother_desc", "กองทุนเพื่อความมั่นคง");
}
}
catch
{
}
}
private decimal TruncateDecimal(decimal value, int precision)
{
decimal step = (decimal)Math.Pow(10, precision);
int tmp = (int)Math.Truncate(step * value);
return tmp / step;
}
private decimal JsRoundMoney(decimal adc_money, int ai_roundtype)
{
try
{
decimal tmp = TruncateDecimal(adc_money, 2);
decimal tmp1 = TruncateDecimal(tmp, 0);
decimal factorvalue = tmp - tmp1;
double facvalue = Convert.ToDouble(factorvalue);
decimal ipoint1 = TruncateDecimal(factorvalue, 1);
decimal ipoint2 = factorvalue - ipoint1;
double ipoint22 = Convert.ToDouble(ipoint2);
double tmpround = 0;
switch (ai_roundtype)
{
case 1:
//ปัดที่ละสลึง
tmpround = 0.00;
if (facvalue >= 0.01 && facvalue <= 0.25) { tmpround = 0.25; }
if (facvalue >= 0.26 && facvalue <= 0.50) { tmpround = 0.50; }
if (facvalue >= 0.51 && facvalue <= 0.75) { tmpround = 0.75; }
if (facvalue >= 0.76 && facvalue <= 0.99) { tmpround = 1.00; }
break;
case 2:
//ปัดที่ละ 5 สตางค์
tmpround = 0.00;
if (ipoint22 == 0.00) { return adc_money; }
if (ipoint22 == 0.05) { return adc_money; }
if (ipoint22 >= 0.01 && ipoint22 <= 0.04) { ipoint22 = 0.05; }
if (ipoint22 >= 0.06 && ipoint22 <= 0.09) { ipoint22 = 0.10; }
tmpround = Convert.ToDouble(ipoint1) + ipoint22;
break;
case 3:
//ปัดที่ละ 10 สตางค์
if (ipoint22 == 0.00)
{
return adc_money;
}
else
{
ipoint22 = 0.10;
}
tmpround = Convert.ToDouble(ipoint1) + ipoint22;
break;
case 4:
//ปัดเต็มบาท
if (facvalue > 0.49)
{
tmpround = 1.00;
}
else
{
tmpround = 0.00;
}
break;
case 99:
//ปัดตามตาราง
//li_find = ids_roundfactor.find( "factor_code = '"+is_rdsatangtab+"' and factor_step >= "+string( ldc_facvalue, "0.00" ), 1, ids_roundfactor.rowcount() )
//if li_find <= 0 then
// return adc_money
//end if
//ldc_rdamt = ids_roundfactor.getitemdecimal( li_find, "round_amt" )
tmpround = facvalue;
break;
default:
tmpround = facvalue;
break;
}
tmp = tmp1 + Convert.ToDecimal(tmpround);
return tmp;
}
catch
{
return adc_money;
}
}
private void JsCheckCollmastrightBalance()
{
try
{
int row = Convert.ToInt16(HdRowNumber.Value);
string ref_collno = dw_coll.GetItemString(row, "ref_collno");
string loantype = dw_main.GetItemString(1, "loantype_code");
string membno = dw_main.GetItemString(1, "member_no");
string memcoop_id = dw_main.GetItemString(1, "coop_id");
string loancolltype_code = dw_coll.GetItemString(row, "loancolltype_code");
string loanrequst_docno = dw_main.GetItemString(1, "loanrequest_docno");
string contno_clr = "", contclr_all = "";
decimal clear_flag = 0;
int k = 0;
for (int i = 1; i <= dw_clear.RowCount; i++)
{
contno_clr = dw_clear.GetItemString(i, "loancontract_no");
clear_flag = dw_clear.GetItemDecimal(i, "clear_status");
if (clear_flag == 1)
{
k++;
if (k > 1) { contclr_all += ","; }
contclr_all += "'" + contno_clr + "'";
}
}
if ((contclr_all.Length <= 7) || (contclr_all.Trim() == "")) { contclr_all = "'00000'"; }
string sql_chkcoll = @" SELECT LNCONTMASTER.MEMBER_NO as member_no,
LNCONTMASTER.LOANTYPE_CODE as loantype_code,
LNCONTMASTER.LOANCONTRACT_NO as loancontract_no,
LNCONTMASTER.PRINCIPAL_BALANCE + LNCONTMASTER.withdrawable_amt as principal_balance ,
LNCONTCOLL.REF_COLLNO as ref_collno,
LNCONTCOLL.DESCRIPTION as DESCRIPTION ,
LNCONTCOLL.COLL_AMT as COLL_AMT ,
LNCONTCOLL.COLL_PERCENT as COLL_PERCENT ,
LNCONTCOLL.BASE_PERCENT as BASE_PERCENT ,'Contno'
FROM LNCONTCOLL,
LNCONTMASTER
WHERE ( LNCONTCOLL.COOP_ID = LNCONTMASTER.COOP_ID ) and
( LNCONTCOLL.LOANCONTRACT_NO = LNCONTMASTER.LOANCONTRACT_NO ) and
( ( LNCONTCOLL.LOANCOLLTYPE_CODE = '" + loancolltype_code + @"' ) AND
( LNCONTMASTER.PRINCIPAL_BALANCE + LNCONTMASTER.withdrawable_amt > 0 ) AND LNCONTMASTER.LOANCONTRACT_NO not in (" + contclr_all + @") and
( LNCONTCOLL.REF_COLLNO = '" + ref_collno + @"' ) )
Union
SELECT LNREQLOAN.MEMBER_NO as member_no ,
LNREQLOAN.LOANTYPE_CODE as loantype_code,
LNREQLOAN.LOANREQUEST_DOCNO as loancontract_no ,
LNREQLOAN.LOANREQUEST_AMT as principal_balance,
LNREQLOANCOLL.REF_COLLNO as ref_collno ,
LNREQLOANCOLL.DESCRIPTION as DESCRIPTION ,
LNREQLOANCOLL.COLL_AMT as COLL_AMT ,
LNREQLOANCOLL.COLL_PERCENT as COLL_PERCENT,
LNREQLOANCOLL.BASE_PERCENT as BASE_PERCENT , 'Lnreqloan'
FROM LNREQLOAN,
LNREQLOANCOLL
WHERE ( LNREQLOAN.COOP_ID = LNREQLOANCOLL.COOP_ID ) and
( LNREQLOAN.LOANREQUEST_DOCNO = LNREQLOANCOLL.LOANREQUEST_DOCNO ) and ( LNREQLOAN.LOANREQUEST_DOCNO <> '" + loanrequst_docno + @"' ) and
( ( LNREQLOANCOLL.LOANCOLLTYPE_CODE = '" + loancolltype_code + @"' ) AND
( LNREQLOAN.LOANREQUEST_STATUS = 8 ) AND
( LNREQLOANCOLL.REF_COLLNO = '" + ref_collno + @"' ) ) ";
Sdt dt_coll = WebUtil.QuerySdt(sql_chkcoll);
decimal principal_balance = 0, ldc_basepercent = 0, ldc_colluse = 0, ldc_collpercent = 0, ldc_collamt = 0, ldc_collamtold = 0;
decimal ldc_collamt1 = 0, ldc_collbalance1 = 0;
decimal coll_balance = 0, coll_useamttotal = 0;
while (dt_coll.Next())
{
principal_balance = dt_coll.GetDecimal("principal_balance");
ldc_collamtold = dt_coll.GetDecimal("coll_amt");
ldc_collpercent = dt_coll.GetDecimal("COLL_PERCENT");
ldc_colluse = principal_balance * ldc_collpercent;
ldc_basepercent = dt_coll.GetDecimal("BASE_PERCENT");
ldc_collamt1 = ldc_collamtold;// *ldc_basepercent;
ldc_collbalance1 = ldc_collamt1 - ldc_colluse;
ldc_collbalance1 = ldc_collbalance1 / ldc_basepercent;
ldc_collamt += ldc_colluse;
coll_balance += ldc_collbalance1;
coll_useamttotal += ldc_colluse;
}
if (coll_balance > 0)
{
decimal percen_coll = dw_coll.GetItemDecimal(row, "base_percent");
coll_balance = coll_balance * percen_coll;
dw_coll.SetItemDecimal(row, "coll_balance", coll_balance);
dw_coll.SetItemDecimal(row, "use_amt", coll_balance);
dw_coll.SetItemDecimal(row, "coll_useamt", coll_useamttotal);
}
}
catch { }
try
{
JsCollCondition();
}
catch { }
}
// ทัชเพิ่ม function ดึงค่างวดสูงสุด
private decimal maxperiod(string loan_typecode, decimal money)
{
// ดึงค่างวดสูงสุดมสตามเงื่อนไข ประเภทการกู้ กับ ให้กู้
string sqlmaxperiod = @" SELECT max_period
FROM lnloantypeperiod
where loantype_code = '" + loan_typecode + @"' AND "
+ money + @" >= money_from AND "
+ money + @" < money_to ";
Sdt dtmaxperiod = WebUtil.QuerySdt(sqlmaxperiod);
if (dtmaxperiod.Next())
{
decimal maxperiod = dtmaxperiod.GetDecimal("max_period");
return maxperiod;
}
return 0;
}
///
/// รวมยอดเรียกเก็บเงินฝาก
///
private void SumDeptMonthAmt()
{
string sqlStr;
Sdt dt;
decimal paymonth_other = 0;
decimal deptmonth_amt = 0;//ยอดรวมเรียกเก็บเงินฝาก
member_no = WebUtil.MemberNoFormat(HdMemberNo.Value);
try { paymonth_other = dw_main.GetItemDecimal(1, "paymonth_other"); }
catch { paymonth_other = 0; }
sqlStr = @" SELECT SUM( deptmonth_amt ) AS deptmonth_amt
FROM dpdeptmaster
WHERE member_no = '" + member_no + @"'
AND deptmonth_status = 1
AND deptclose_status = 0
";
dt = WebUtil.QuerySdt(sqlStr);
if (dt.Next())
{
deptmonth_amt = dt.GetDecimal("deptmonth_amt");
paymonth_other += deptmonth_amt;
}
dw_main.SetItemDecimal(1, "paymonth_other", paymonth_other);
}
protected decimal ChkCountColl(string loantype_code)
{
string text1,
sqlStr
;
decimal num1 = 0,
num2 = 0
;
//---
for (int i = 1; 1 <= dw_coll.RowCount; i++)
{
try { text1 = dw_coll.GetItemString(i, "ref_collno"); }
catch { text1 = ""; }
if (text1.Length > 0)
{
num1 += 1;
}
}
//---
try
{
sqlStr = @" SELECT useman_amt
FROM lnloantypereqgrt
WHERE loantype_code = '" + loantype_code + @"'
";
Sdt dt = WebUtil.QuerySdt(sqlStr);
num2 = dt.GetDecimal("useman_amt");
}
catch (Exception ex) { ex.ToString(); }
//---
if (num1 < num2)
{
LtServerMessage.Text = WebUtil.WarningMessage("ท่านป้อนสมาชิกค้ำประกันไม่ครบ กรุณาป้อนให้ครบด้วย ต้องระบุคนค้ำประกัน จำนวน " + num2 + " รายการ");
return 0;
}
else
{
return 1;
}
}
///
/// ตรวจสอบสิทธิ์ค้ำ
///
private void GetCollPermiss()
{
String as_loantype, //ประเภทเงินกู้
as_colltype, //ประเภทการค้ำประกัน
as_coopid, //Coop_id
as_collno, //เลขที่อ้างอิงสัญญาค้ำประกัน
as_memno, //รหัสสมาชิกขอกู้สัญญาปัจจุบัน
as_reqdocno, //เลขที่ใบคำขอสัญญาปัจจุบัน
as_excludecont = ""; //เลขที่สัญญาหักกลบ
String sqlStr; //String SQL
String description = ""; //รายละเอียดค้ำประกัน
DateTime adtm_check; //วันที่ทำรายการ
decimal collpermiss = 0, //สิทธิค้ำสูงสุด
checkcollmancount = 0, //สิทธิ์ค้ำที่ใช้ไปของสัญญาเงินกู้
collmaxcoll = 0; //สิทธิ์ค้ำสูงสุดของสัญญาเงินกู้
int row_coll, //แถว ค้ำประกัน
row_clr; //แถว หักกลบ
decimal collusecontamt = 0, //สิทธิ์ค้ำที่ใช้ไปของใบคำขอ
collusereqamt = 0; //เช็คจำนวนสัญญาที่สามารถใช้ค้ำได้
decimal permiss = 0, //ref service of_getcollpermiss
percent = 0, //ref service of_getcollpermiss
maxcoll = 0; //ref service of_getcollpermiss
decimal collbalance_amt, //สิทธิค้ำคงเหลือ
collactive_amt = 0, //ค้ำประกัน
use_amt_temp = 0, //ค้ำประกัน2
collactive_percent = 0, //% ค้ำ
clear_status, //สถาณะสัญญาหักกลบ
flag = 0, //flag เพิ่ม ',' กรณีสัญญาหักกลบถูกเลือกมากกว่า 1
loanreqregis_amt, //ยอดขอกู้
loanreqregis_amt_temp, //ยอดขอกู้2
flag_permiss, //flag การคำนวณ เปอร์เซ็นต์
flag_collmancount; //flag การคำนวณ เปอร์เซ็นต์
decimal memb_age = 0, //อายุสมาชิก
retry_age = 0, //อายุเกษียณ
work_age = 0, //อายุงาน
period_payamt = 0; //งวด
try { row_coll = Convert.ToInt32(HdRefcollrow.Value); }
catch { row_coll = 1; }
row_clr = dw_clear.RowCount;
try { as_loantype = dw_main.GetItemString(1, "loantype_code"); }
catch { as_loantype = ""; }
try { as_colltype = dw_coll.GetItemString(row_coll, "loancolltype_code"); }
catch { as_colltype = ""; }
try { as_coopid = state.SsCoopId; }
catch { as_coopid = ""; }
if (as_colltype == "02")
{//ถ้าประเภทหลักประกันเป็น หุ้น
try { as_collno = dw_main.GetItemString(1, "member_no"); }
catch { as_collno = ""; }
}
else if (as_colltype == "04")
{
try { as_collno = HdRefcollNO.Value; }
catch { as_collno = ""; }
}
else
{
try { as_collno = WebUtil.MemberNoFormat(HdRefcoll.Value); }
catch { as_collno = ""; }
}
try { adtm_check = dw_main.GetItemDateTime(1, "loanrequest_date"); }
catch { adtm_check = state.SsWorkDate; }
try { as_memno = dw_main.GetItemString(1, "member_no"); }
catch { as_memno = ""; }
try { as_reqdocno = dw_main.GetItemString(1, "loanrequest_docno"); }
catch { as_reqdocno = null; }
if (as_reqdocno == "Auto") { as_reqdocno = null; }
try { loanreqregis_amt = dw_main.GetItemDecimal(1, "loanreqregis_amt"); }
catch { loanreqregis_amt = 0; }
//Boolean result_chk = ChkSameColl(as_collno, row_coll);
//if (result_chk == true)
//{
try
{//เช็คสิทธิ์การค้ำประกัน (as_reqlntype, as_colltype, as_refcoopid, as_refcollno);
int result = wcf.Shrlon.of_isvalidcoll(state.SsWsPass, as_loantype, as_colltype, as_coopid, as_collno);
if (result == 1)
{
try
{
sqlStr = @"SELECT MBMEMBMASTER.BIRTH_DATE,
MBMEMBMASTER.MEMBER_TYPE,
MBMEMBMASTER.dropgurantee_flag,
MBMEMBMASTER.REMARK,
MBMEMBMASTER.MEMBER_DATE,
MBMEMBMASTER.WORK_DATE,
MBMEMBMASTER.RETRY_DATE,
MBMEMBMASTER.SALARY_AMOUNT,
MBMEMBMASTER.MEMBER_TYPE,
MBMEMBMASTER.MEMBTYPE_CODE,
MBUCFMEMBTYPE.MEMBTYPE_DESC,
mbucfprename.prename_desc||mbmembmaster.memb_name||' '||mbmembmaster.memb_surname as member_name,
months_between( sysdate, mbmembmaster.member_date ) - mod( months_between( sysdate, mbmembmaster.member_date ) , 1 ) as memb_age,
months_between( mbmembmaster.retry_date, sysdate ) - mod( months_between( mbmembmaster.retry_date, sysdate ) , 1 ) as retry_age,
months_between( sysdate, mbmembmaster.work_date ) - mod( months_between( sysdate, mbmembmaster.work_date ) , 1 ) as work_age
FROM MBMEMBMASTER,
MBUCFMEMBGROUP,
MBUCFPRENAME,
MBUCFMEMBTYPE
WHERE ( MBUCFMEMBGROUP.MEMBGROUP_CODE = MBMEMBMASTER.MEMBGROUP_CODE ) and
( MBMEMBMASTER.PRENAME_CODE = MBUCFPRENAME.PRENAME_CODE ) and
( MBMEMBMASTER.MEMBTYPE_CODE = MBUCFMEMBTYPE.MEMBTYPE_CODE ) and
( MBMEMBMASTER.COOP_ID = MBUCFMEMBGROUP.COOP_ID ) and
( mbmembmaster.member_no = '" + as_collno + @"' ) AND
MBMEMBMASTER.COOP_ID ='" + state.SsCoopControl + @"' ";
dt = ta.Query(sqlStr);
if (dt.Next())
{
memb_age = dt.GetDecimal("memb_age");
work_age = dt.GetDecimal("work_age");
retry_age = dt.GetDecimal("retry_age");
description = dt.GetString("member_name");
period_payamt = dw_main.GetItemDecimal(1, "period_payamt");
if (retry_age < 0)
{
LtServerMessagecoll.Text += WebUtil.ErrorMessage("ผู้ค้ำ " + as_collno + " เป็นสมาชิกที่เกษียณแล้ว กรุณาตรวจสอบ");
}
else if (retry_age < period_payamt)
{
LtServerMessagecoll.Text += WebUtil.WarningMessage("ผู้ค้ำ " + as_collno + " ค้ำประกันได้สูงสุด " + retry_age.ToString() + " งวด ซึ่งน้อยกว่างวดขอกู้");
}
}
else
{
try
{
sqlStr = @" SELECT collmast_desc
FROM lncollmaster
WHERE collmast_no = '" + as_collno + "'";
dt = ta.Query(sqlStr);
if (dt.Next())
{
description = dt.GetString("collmast_desc");
}
}
catch (Exception ex) { ex.ToString(); }
}
}
catch (Exception ex) { ex.ToString(); }
for (int i = 1; i <= row_clr; i++)
{//ดึงเลขที่สัญญาหักกลบที่ถูกเลือก
clear_status = dw_clear.GetItemDecimal(i, "clear_status");
if (clear_status == 1)
{
if (flag == 1)
{
as_excludecont += ",";
}
as_excludecont += dw_clear.GetItemString(i, "loancontract_no");
flag = 1;
}
}
try
{//สิทธิค้ำสูงสุด
collpermiss = wcf.Shrlon.of_getcollpermiss(state.SsWsPass, as_loantype, as_colltype, as_coopid, as_collno, adtm_check, ref permiss, ref maxcoll, ref percent);
collpermiss = permiss;
collactive_percent = percent;
collmaxcoll = maxcoll;
flag_permiss = 1;
dw_coll.SetItemDecimal(row_coll, "collbase_amt", collpermiss);
dw_coll.SetItemDecimal(row_coll, "collbase_percent", collactive_percent);
dw_coll.SetItemDecimal(row_coll, "collmax_amt", collmaxcoll);
}
catch (Exception ex)
{//สิทธิ์ค้ำประกันเต็มวงเงินแล้ว
flag_permiss = 0;
LtServerMessagecoll.Text += WebUtil.ErrorMessage(ex);
}
try
{//สิทธิ์ค้ำที่ใช้ไปของสัญญาเงินกู้
checkcollmancount = wcf.Shrlon.of_checkcollmancount(state.SsWsPass, as_coopid, as_collno, as_memno, as_loantype, as_excludecont, as_reqdocno);
flag_collmancount = 1;
}
catch
{//สิทธิ์ค้ำประกันเต็มสิทธิ์ค้ำแล้ว
flag_collmancount = 0;
LtServerMessagecoll.Text += WebUtil.ErrorMessage("สมาชิก " + as_collno + "สิทธิ์ค้ำประกันเต็มสิทธิ์ค้ำแล้ว ไม่สามารถค้ำประกันได้");
}
try
{//สิทธิ์ค้ำที่ใช้ไปของใบคำขอ
collusecontamt = wcf.Shrlon.of_getcollusecontamt(state.SsWsPass, as_coopid, as_collno, as_loantype, as_colltype, as_excludecont, as_reqdocno);
}
catch (Exception ex) { ex.ToString(); }
try
{//เช็คจำนวนสัญญาที่สามารถใช้ค้ำได้
collusereqamt = wcf.Shrlon.of_getcollusereqamt(state.SsWsPass, as_coopid, as_collno, as_loantype, as_colltype, as_reqdocno);
}
catch (Exception ex) { ex.ToString(); }
try
{
collbalance_amt = (collpermiss - collusecontamt - collusereqamt) * percent / 100;
//ถ้า สิทธิ์ค้ำคงเหลือ มากกว่า สิทธิ์ค้ำสูงสุดของสัญญานี้ ให้ สิทธิ์ค้ำ = สิทธิ์ค้ำสูงสุด
if (collbalance_amt > maxcoll) { collactive_amt = maxcoll; }
else { collactive_amt = collbalance_amt; }
//ถ้า ขอกู้ น้อยกว่า สิทธิ์ค้ำ ให้ สิทธิ์ค้ำ = ขอกู้
if (loanreqregis_amt <= collactive_amt) { collactive_amt = loanreqregis_amt; }
//หา %ค้ำชำระ
//collactive_percent = collactive_amt * collactive_percent / loanreqregis_amt;
collactive_percent = collactive_amt * 100 / loanreqregis_amt;
//---
if (collbalance_amt > 0)
{
dw_coll.SetItemString(row_coll, "ref_collno", as_collno);
if (as_colltype == "02")
{//ถ้าประเภทหลักประกันเป็น หุ้น
dw_coll.SetItemString(row_coll, "description", "ทุนเรือนหุ้น " + description);
}
else if (as_colltype == "04")
{
dw_coll.SetItemString(row_coll, "description", HdRefcollNO.Value + " " + description);
}
else
{
dw_coll.SetItemString(row_coll, "description", description);
}
dw_coll.SetItemDecimal(row_coll, "collbalance_amt", collbalance_amt);
dw_coll.SetItemDecimal(row_coll, "collactive_amt", collactive_amt);
dw_coll.SetItemDecimal(row_coll, "collactive_percent", collactive_percent);
dw_coll.SetItemDecimal(row_coll, "coll_useamt", collusecontamt);
dw_coll.SetItemDecimal(row_coll, "collbase_percent", percent);
}
else
{
dw_coll.SetItemString(row_coll, "ref_collno", "");
dw_coll.SetItemString(row_coll, "description", "");
dw_coll.SetItemDecimal(row_coll, "collbalance_amt", 0);
dw_coll.SetItemDecimal(row_coll, "collactive_amt", 0);
dw_coll.SetItemDecimal(row_coll, "collactive_percent", 0);
}
}
catch (Exception ex) { ex.ToString(); }
}
}
catch (Exception ex)
{
LtServerMessagecoll.Text += WebUtil.ErrorMessage(ex);
}
//}
}
///
/// ตรวจสอบการซ้ำของหลักประกัน
///
/// เลขหลักประกันที่คีย์เข้ามาใหม่
/// แถวของเลขหลักประกันที่คีย์เข้ามาใหม่
/// true=เจอ/false=ไม่เจอ
public Boolean ChkSameColl(String as_collno, int row_coll)
{
string ref_collno;
Boolean retrn = true;
for (int i = 1; i < dw_coll.RowCount; i++)
{
if (row_coll != i)
{
try
{
ref_collno = dw_coll.GetItemString(i, "ref_collno");
string loancolltype_code = dw_coll.GetItemString(i, "loancolltype_code");
if (loancolltype_code == "01" || loancolltype_code == "02")
{
ref_collno = WebUtil.MemberNoFormat(dw_coll.GetItemString(i, "ref_collno"));
}
}
catch { ref_collno = ""; }
if (ref_collno != "")
{
if (as_collno == ref_collno)
{
Response.Write(@"");
dw_coll.SetItemString(i, "ref_collno", "");
retrn = false;
}
else { retrn = true; }
}
}
}
return retrn;
}
///
/// @PEA
/// 2014.01.16::panupong.s
/// คำนวนงวดตามอายุสมาชิก
///
private void CalPeriodPEA()
{
string ls_loantype = "" //ประเภทเงินกู้
;
decimal period_payment = 0, //เพดานงวดสูงสุด
loanrequest_amt = 0, //จำนวนเงินขอกู้
retry_ageperiod = 60, //อายุสมาชิกที่เกษียณ
member_age = 0, //อายุการเป็นสมาชิก
maxsend_payamt = 0 //จำนวนงวดสูงสุด
;
DateTime lc_NowDate = state.SsWorkDate,
lc_EndYear = Convert.ToDateTime("31/12/" + state.SsWorkDate.Year);
;
int[] tofrom_retry = new int[3];
try { ls_loantype = dw_main.GetItemString(1, ""); }
catch { ls_loantype = ""; }
try { loanrequest_amt = dw_main.GetItemDecimal(1, ""); }
catch { loanrequest_amt = 0; }
try { member_age = dw_main.GetItemDecimal(1, ""); }
catch { member_age = 0; }
period_payment = this.maxperiod(ls_loantype, loanrequest_amt);
tofrom_retry = clsCalAge(lc_NowDate, lc_EndYear);
maxsend_payamt = ((retry_ageperiod - member_age - 1) * 12) + 6 + Convert.ToDecimal(tofrom_retry[1]);
if (maxsend_payamt >= period_payment)
{
maxsend_payamt = period_payment;
}
dw_main.SetItemDecimal(1, "maxsend_payamt", maxsend_payamt);
dw_main.SetItemDecimal(1, "period_payamt", maxsend_payamt);
}
///
/// @PEA
/// 2014.01.16::panupong.s
/// คำนวณหาจำนวนวัน เดือน ปี
///
/// ;วันที่เริ่ม
/// วันที่สิ้นสุด
/// จำนวนวัน จำนวนเดือน จำนวนปี
public int[] clsCalAge(DateTime d1, DateTime d2)
{
DateTime fromDate;
DateTime toDate;
int intyear;
int intmonth;
int intday;
int intCheckedDay = 0;
int[] CalAge = new int[3];
if (d1 > d2)
{
fromDate = d2;
toDate = d1;
}
else
{
fromDate = d1;
toDate = d2;
}
intCheckedDay = 0;
if (fromDate.Day > toDate.Day)
{
intCheckedDay = DateTime.DaysInMonth(fromDate.Year, fromDate.Month);
}
if (intCheckedDay != 0)
{
intday = (toDate.Day + intCheckedDay) - fromDate.Day;
intCheckedDay = 1;
}
else
{
intday = toDate.Day - fromDate.Day;
}
if ((fromDate.Month + intCheckedDay) > toDate.Month)
{
intmonth = (toDate.Month + 12) - (fromDate.Month + intCheckedDay);
intCheckedDay = 1;
}
else
{
intmonth = (toDate.Month) - (fromDate.Month + intCheckedDay);
intCheckedDay = 0;
}
intyear = toDate.Year - (fromDate.Year + intCheckedDay);
CalAge[0] = intday;
CalAge[1] = intmonth;
CalAge[2] = intyear;
return CalAge;
}
///
/// PEA
/// 2014.01.24::MiW
/// แจ้งเตือนเงื่อนไขของสัญญาหักกลบ
///
public void CheckClearAlert()
{
string loantypeclr_code = ""
;
int rowclear = 0
;
}
///
/// @PEA 2014.01.27::MiW
/// กำหนดค่าเริ่มต้นของเงินกู้ฉุกเฉิน
///
protected void NewEmerPEA()
{
string coop_id = "",
loantype_code = "",
member_no = "",
confirm = "",
expense_code = ""
;
decimal defaultpay_type = 0
;
#region getItems
coop_id = state.SsCoopId;
try { loantype_code = dw_main.GetItemString(1, "loantype_code"); }
catch { loantype_code = ""; }
try { member_no = WebUtil.MemberNoFormat(HdMemberNo.Value); }
catch { member_no = ""; }
#endregion
#region Process
if (coop_id == "008001" && (loantype_code == "10"))
{
//select loantype_code, loantype_desc, defaultpay_type from lnloantype where loantype_code in ('10','88');
string sqlStr = "select defaultpay_type from lnloantype where loantype_code in ('10','88');";
dt = ta.Query(sqlStr);
if (dt.Next())
{
defaultpay_type = dt.GetDecimal("defaultpay_type");
}
if (defaultpay_type == 1)
{
expense_code = "CSH";
}
else if (defaultpay_type == 2)
{
expense_code = "CBT";
}
dw_main.SetItemString(1, "expense_code", expense_code);
if (member_no != "" && member_no != "00000000" && member_no != null)
{
EmerPopupPEA();
// Response.Write(@"
// ");
}
}
#endregion
}
///
///
///
protected void EmerPopupPEA()
{
HdFlagEmerPopup.Value = "true";
}
///
/// 2014.01.29::MiW
/// insert row coll @PEA
///
protected void InsertRowColl()
{
string confirm = ""
;
confirm = HdEmerConfirm.Value;
dw_coll.Reset();
if (confirm == "true")
{//หุ้นค้ำ
dw_coll.InsertRow(0);
dw_coll.SetItemString(1, "loancolltype_code", "02");
dw_coll.SetItemString(1, "coop_id", "008001");
dw_coll.SetItemDecimal(1, "seq_no", 1);
HdRefcollrow.Value = "1";
JsGetMemberCollno();
}
else if (confirm == "false")
{//คนค้ำ
dw_coll.InsertRow(0);
dw_coll.SetItemString(1, "loancolltype_code", "01");
dw_coll.SetItemDecimal(1, "seq_no", 1);
HdRefcollrow.Value = "1";
dw_main.SetItemDecimal(1, "loancredit_amt", 50000);
dw_main.SetItemDecimal(1, "loanreqregis_amt", 50000);
dw_main.SetItemDecimal(1, "loanrequest_amt", 50000);
}
}
///
/// 2014.01.29::MiW
/// @PEA
/// set default วิธีการจ่าย เป็น เงินสด
///
private void DefaultExpenseBank()
{
string loantype_code //ประเภทเงินกู้
;
try { loantype_code = dw_main.GetItemString(1, "loantype_code"); }
catch { loantype_code = ""; }
if (loantype_code == "10")
{
dw_main.SetItemString(1, "expense_code", "CSH");
}
}
///
/// 2014.01.30::MiW
/// set สิทธิ์ค้ำให้เป็น 0 บาท สำหรับเงินกู้บางประเภท ที่นับแต่จำนวนคน
///
/// ประเภทเงินกู้
/// รหัสสหกรณ์
/// แถว
private void SetZeroColl(string loantype_code, string ls_memcoopid, int row)
{
if (ls_memcoopid == "008001" && (loantype_code == "10" || loantype_code == "19" || loantype_code == "24"))
{
int row_coll = dw_coll.RowCount;
for (int i = 1; i <= row_coll; i++)
{
dw_coll.SetItemDecimal(i, "use_amt", 0);
}
}
}
///
/// ตรวจสอบสัญญาหักกลบฉุกเฉินหรือฉุกเฉิน ATM หากมีให้ alert เตือน
///
protected void CheckSameContract()
{
string lntype_code = "",
lnsametype = "",
caseAlert2 = "",
loancontract_no = ""
;
int i = 0
;
decimal last_periodpay = 0,
percent_pay = 0
;
try { lntype_code = dw_main.GetItemString(1, "loantype_code"); }
catch { lntype_code = ""; }
for (i = 1; i <= dw_clear.RowCount; i++)
{
#region หากมีสัญญาหักกลบประเภทฉุกเฉินอื่นๆให้แสดงข้อความเตือนด้วย
try { lnsametype = dw_clear.GetItemString(i, "loantype_code"); }
catch { lnsametype = "loantype_code"; }
if ((lnsametype == "10" || lnsametype == "88") && lnsametype != lntype_code)
{
caseAlert2 = "1";
}
#endregion
#region caseAlert2 = 1 (มีสัญญาเก่าชำระหนี้ประเภทเดียวกัน)
if (caseAlert2 == "1")
{
caseAlert2 = "";
try { loancontract_no = dw_clear.GetItemString(i, "compute_4"); }
catch { loancontract_no = ""; }
try { last_periodpay = dw_clear.GetItemDecimal(i, "last_periodpay"); }
catch { last_periodpay = 0; }
try { percent_pay = dw_clear.GetItemDecimal(i, "percent_pay"); }
catch { percent_pay = 0; }
// Response.Write(@"");
Response.Write(@"");
}
#endregion
}
}
protected void SwitchColl()
{
string loancolltype_code //ประเภทการค้ำประกัน
;
decimal loancredit_amt, //สิทธิ์กู้สูงสุด
loanreqregis_amt, //ขอกู้
loanrequest_amt, //ให้กู้
sharestk_value, //หุ้น
percent = Convert.ToDecimal(0.9), //เปอร์เซ็น
lnshrmax_permiss, //สิทธิ์สูงสุดเมื่อใช้หุ้นค้ำ
period_payamt, //จำนวนงวด
compute_23 //เงินคงเหลือผ่อน
;
try { sharestk_value = dw_main.GetItemDecimal(1, "sharestk_value"); }
catch { sharestk_value = 0; }
try { loancolltype_code = dw_coll.GetItemString(1, "loancolltype_code"); }
catch { loancolltype_code = ""; }
try { loanreqregis_amt = dw_main.GetItemDecimal(1, "loanreqregis_amt"); }
catch { loanreqregis_amt = 0; }
try { loanrequest_amt = dw_main.GetItemDecimal(1, "loanreqregis_amt"); }
catch { loanrequest_amt = 0; }
try { period_payamt = dw_main.GetItemDecimal(1, "period_payamt"); }
catch { period_payamt = 0; }
try { compute_23 = dw_main.GetItemDecimal(1, "compute_23"); }
catch { compute_23 = 0; }
if (loancolltype_code == "01")
{//ใช้คนค้ำ
loancredit_amt = 50000;
dw_main.SetItemDecimal(1, "loancredit_amt", loancredit_amt);
try { loancredit_amt = dw_main.GetItemDecimal(1, "loancredit_amt"); }
catch { loancredit_amt = 0; }
if (loanreqregis_amt >= loancredit_amt || loanrequest_amt >= loancredit_amt)
{
dw_main.SetItemDecimal(1, "loanreqregis_amt", loancredit_amt);
dw_main.SetItemDecimal(1, "loanrequest_amt", loancredit_amt);
}
}
else if (loancolltype_code == "02")
{//ใช้หุ้นค้ำ
loancredit_amt = sharestk_value * percent;
lnshrmax_permiss = 100000;
if (loancredit_amt >= lnshrmax_permiss)
{
loancredit_amt = lnshrmax_permiss;
}
dw_main.SetItemDecimal(1, "loancredit_amt", loancredit_amt);
loanreqregis_amt = compute_23 * period_payamt;
if (loanreqregis_amt >= loancredit_amt || loanrequest_amt >= loancredit_amt)
{
dw_main.SetItemDecimal(1, "loanreqregis_amt", loancredit_amt);
dw_main.SetItemDecimal(1, "loanrequest_amt", loancredit_amt);
}
JsSetpriod();
//dw_main.SetItemDecimal(1, "loanreqregis_amt", loancredit_amt);
//dw_main.SetItemDecimal(1, "loanrequest_amt", loancredit_amt);
}
}
}
}