using System;
using CoreSavingLibrary;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
//using CoreSavingLibrary.WcfNShrlon;
using CoreSavingLibrary.WcfNShrlon;
using Sybase.DataWindow;
using System.Web.Services.Protocols;
using DataLibrary;
using System.Data;
using System.Globalization;
namespace Saving.Applications.shrlon
{
public partial class w_sheet_loanreq_ksmk : PageWebSheet, WebSheet
{
public String lc_loantype = null;
public int ii_righttype;
public int ii_apvtype;
public string is_massalert = ""; //เก็บข้อความเตือน
public Boolean ibl_step = true; //ใช้ตรวจสอบการดึง dlg ประเภท ดูจากหลักประกัน ดูจากเงินฝาก
private DwThDate tDwMain;
private DwThDate tDwperiodpay;
//*******ประกาศตัวเกี่ยวกับ Javascript********//
protected string jsPostmember;
protected string jsPostSetPeriodSend;
protected string jsPostSumClear;
protected string jsPostSetPeriodPay;
protected string jsPostChangePeriodPay;
protected string jsPostRePermiss;
protected string jsPostRightColl;
protected String jsExpenseBank;
protected String jsExpenseCode;
protected String jsGetMemberCollno;
protected String jsReNewPage;
protected String jsOpenOldDocNo;
protected String jsPostSetZero;
protected String jsCancelRequest;
protected String jsRefresh;
protected String jsSetDataList;
protected string jsSetloantypechg;
protected string jsPostDelOtherclr;
protected string jsExpensebankbrRetrieve;
protected string jsGetitemdescetc;
protected string jsGetexpensememno;
protected string jsPostGetCollPermiss;
protected string jsPostRequestamt;
protected string jsPostDelMthexp;
protected string jsGetitemdescmthexp;
protected string jsPostPrtRpt;
protected string jsPostCalInt;
protected string jsPostExpireperiod_date;
protected string jsPostprincipal_payment;
protected string jsPostloanobjective_code;
protected string getcollall;
protected string jsSumObjcode;
protected string jsGetObjcode;
protected string jsGetloantype;
protected string jsCheckloancontract_no;
protected string kk;
protected string jsPostPeople;
protected string jsPostPeople2;
protected string jsPostSet_Foscus_contcount;
protected string jsPostSet_Foscus_loancontract_no;
protected string jsPostSet_Foscus_loanrequest_amt;
protected string jsPostSet_Foscus_period_payamt;
protected string jsPostSet_Foscus_loanrcvfix_tdate;
protected string jsPostSet_Foscus_people_no2;
protected string jsPostSet_Foscus_loanobjective_code;
protected string jsPostSet_Foscus_collactive_amt;
protected string jsPostSet_Foscus_type2_code1;
protected string jsPostSet_Foscus_recieve_land1;
protected string jsPostSet_Foscus_type_land1;
protected string jsPostSet_Foscus_recieve_pay1;
protected string jsPostSet_Foscus_recieve_amt1;
protected string jsPostSet_Foscus_type3_code1;
protected string choose_province;
protected string jsGetObjcode2;
protected string genRowsColl;
protected string choose_province2;
protected string choose_province3;
protected string jsPostDelobj;
string reqdoc_no = "";
String member_no = "";
int x = 1;
static string apvlist = "";
static string loan = "";
private n_shrlonClient shrlonService;
String ls_membtype = "";
String loantype = "";
String pbl = "sl_loanreq_ksmk.pbl";
private int flag;//ตรวจสอบการดึงข้อมูล
Sdt dt; Sdt dt2;
Sta ta;
///
/// Check Init JavascriptC:\ICOOP_ALL\IEXT\ICOOP\Saving\Applications\shrlonclsproc\
///
public void InitJsPostBack()
{
//this.SetFocusScript("");
jsPostmember = WebUtil.JsPostBack(this, "jsPostmember");
jsPostSetPeriodSend = WebUtil.JsPostBack(this, "jsPostSetPeriodSend");
jsPostSumClear = WebUtil.JsPostBack(this, "jsPostSumClear");
jsPostSetPeriodPay = WebUtil.JsPostBack(this, "jsPostSetPeriodPay");
jsPostChangePeriodPay = WebUtil.JsPostBack(this, "jsPostChangePeriodPay");
jsPostRePermiss = WebUtil.JsPostBack(this, "jsPostRePermiss");
jsPostRightColl = WebUtil.JsPostBack(this, "jsPostRightColl");
jsGetexpensememno = WebUtil.JsPostBack(this, "jsGetexpensememno");
jsExpenseCode = WebUtil.JsPostBack(this, "jsExpenseCode");
jsExpenseBank = WebUtil.JsPostBack(this, "jsExpenseBank");
jsGetMemberCollno = WebUtil.JsPostBack(this, "jsGetMemberCollno");
jsReNewPage = WebUtil.JsPostBack(this, "jsReNewPage");
jsOpenOldDocNo = WebUtil.JsPostBack(this, "jsOpenOldDocNo");
jsPostSetZero = WebUtil.JsPostBack(this, "jsPostSetZero");
jsCancelRequest = WebUtil.JsPostBack(this, "jsCancelRequest");
jsRefresh = WebUtil.JsPostBack(this, "jsRefresh");
jsSetDataList = WebUtil.JsPostBack(this, "jsSetDataList");
jsPostDelOtherclr = WebUtil.JsPostBack(this, "jsPostDelOtherclr");
jsSetloantypechg = WebUtil.JsPostBack(this, "jsSetloantypechg");
jsExpensebankbrRetrieve = WebUtil.JsPostBack(this, "jsExpensebankbrRetrieve");
jsPostGetCollPermiss = WebUtil.JsPostBack(this, "jsPostGetCollPermiss");
jsGetitemdescetc = WebUtil.JsPostBack(this, "jsGetitemdescetc");
jsPostRequestamt = WebUtil.JsPostBack(this, "jsPostRequestamt");
jsPostDelMthexp = WebUtil.JsPostBack(this, "jsPostDelMthexp");
jsGetitemdescmthexp = WebUtil.JsPostBack(this, "jsGetitemdescmthexp");
jsPostPrtRpt = WebUtil.JsPostBack(this, "jsPostPrtRpt");
jsPostCalInt = WebUtil.JsPostBack(this, "jsPostCalInt");
jsPostExpireperiod_date = WebUtil.JsPostBack(this, "jsPostExpireperiod_date");
jsPostprincipal_payment = WebUtil.JsPostBack(this, "jsPostprincipal_payment");
jsPostloanobjective_code = WebUtil.JsPostBack(this, "jsPostloanobjective_code");
jsGetObjcode = WebUtil.JsPostBack(this, "jsGetObjcode");
jsSumObjcode = WebUtil.JsPostBack(this, "jsSumObjcode");
getcollall = WebUtil.JsPostBack(this, "getcollall");
jsCheckloancontract_no = WebUtil.JsPostBack(this, "jsCheckloancontract_no");
jsGetloantype = WebUtil.JsPostBack(this, "jsGetloantype");
kk = WebUtil.JsPostBack(this, "kk");
jsGetObjcode2 = WebUtil.JsPostBack(this, "jsGetObjcode2");
jsPostDelobj = WebUtil.JsPostBack(this, "jsPostDelobj");
choose_province2 = WebUtil.JsPostBack(this, "choose_province2");
choose_province3 = WebUtil.JsPostBack(this, "choose_province3");
jsPostPeople = WebUtil.JsPostBack(this,"jsPostPeople");
jsPostPeople2 = WebUtil.JsPostBack(this, "jsPostPeople2");
tDwMain = new DwThDate(dw_main, this);
tDwMain.Add("loanrequest_date", "loanrequest_tdate");
tDwMain.Add("loanrcvfix_date", "loanrcvfix_tdate");
tDwMain.Add("loanrequest_date", "remark");
tDwperiodpay = new DwThDate(dw_periodpay, this);
tDwperiodpay.Add("expireperiod_date", "expireperiod_tdate");
jsPostSet_Foscus_loancontract_no = WebUtil.JsPostBack(this, "jsPostSet_Foscus_loancontract_no");
jsPostSet_Foscus_loanrequest_amt = WebUtil.JsPostBack(this, "jsPostSet_Foscus_loanrequest_amt");
jsPostSet_Foscus_period_payamt = WebUtil.JsPostBack(this, "jsPostSet_Foscus_period_payamt");
jsPostSet_Foscus_loanrcvfix_tdate = WebUtil.JsPostBack(this, "jsPostSet_Foscus_loanrcvfix_tdate");
jsPostSet_Foscus_people_no2 = WebUtil.JsPostBack(this, "jsPostSet_Foscus_people_no2");
jsPostSet_Foscus_loanobjective_code = WebUtil.JsPostBack(this, "jsPostSet_Foscus_loanobjective_code");
jsPostSet_Foscus_collactive_amt = WebUtil.JsPostBack(this, "jsPostSet_Foscus_collactive_amt");
jsPostSet_Foscus_type2_code1 = WebUtil.JsPostBack(this, "jsPostSet_Foscus_type2_code1");
jsPostSet_Foscus_recieve_land1 = WebUtil.JsPostBack(this, "jsPostSet_Foscus_recieve_land1");
jsPostSet_Foscus_type_land1 = WebUtil.JsPostBack(this, "jsPostSet_Foscus_type_land1");
jsPostSet_Foscus_recieve_pay1 = WebUtil.JsPostBack(this, "jsPostSet_Foscus_recieve_pay1");
jsPostSet_Foscus_recieve_amt1 = WebUtil.JsPostBack(this, "jsPostSet_Foscus_recieve_amt1");
jsPostSet_Foscus_type3_code1 = WebUtil.JsPostBack(this, "jsPostSet_Foscus_type3_code1");
choose_province = WebUtil.JsPostBack(this, "choose_province");
genRowsColl = WebUtil.JsPostBack(this, "genRowsColl");
}
public void WebSheetLoadBegin()
{
try
{
this.ConnectSQLCA();
ta = new Sta(sqlca.ConnectionString);
sqlca = new DwTrans();
sqlca.Connect();
try
{
shrlonService = wcf.NShrlon;
}
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);
this.RestoreContextDw(dw_periodpay);
this.RestoreContextDw(dw_printcont);
this.RestoreContextDw(dw_contractNo);
this.RestoreContextDw(dw_obj);
this.RestoreContextDw(dw_collmate);
LtServerMessagecoll.Text = "";
}
else
{
JsReNewPage();
DwUtil.RetrieveDataWindow(dw_contractNo, pbl, null, state.SsCoopControl);
HdShowRemark.Value = "false";
}
if (dw_main.RowCount > 1)
{
dw_main.DeleteRow(dw_main.RowCount);
}
// DwUtil.RetrieveDDDW(dw_main, "loantype_code_1", pbl, null);
dw_message.Reset();
dw_message.InsertRow(0);
dw_message.DisplayOnly = false;
dw_message.Visible = false;
HdCheckRemark.Value = "false";
LtServerMessage.Text = "";
// Panel1.Visible = true;
}
catch (Exception ex) { LtServerMessage.Text = WebUtil.ErrorMessage(ex.ToString()); }
}
///
/// Check PostBack Javascript
///
///
public void CheckJsPostBack(string eventArg)
{
if (eventArg == "jsPostmember")
{
// this.SetFocusScript("loancontract_no");
// dw_printcont.InsertRow(0);
// RetreiveDDDW();
// clear_periodpayment();
JsPostmember();
// of_calperiodpayment();
// of_initclearshare();
// of_Setperiodpaydet();
// CalSumTotal();
this.SetFocusScript("loancontract_no");
}
else if (eventArg == "choose_province2")
{
string province = dw_collmate.GetItemString(Convert.ToInt32(HdRowMate.Value), "province");
Sdt d = WebUtil.QuerySdt("select province_code from mbucfprovince where province_desc like '%"+province+"%' ");
if (d.Next())
{
province = d.GetString("province_code");
WebUtil.RetrieveDDDW(dw_collmate, "amphur", pbl, d.GetString("province_code"));
}
}
else if (eventArg == "choose_province3")
{
string province = dw_collmate.GetItemString(Convert.ToInt32(HdRowMate.Value), "amphur");
Sdt d = WebUtil.QuerySdt("select district_code from mbucfdistrict where district_desc like '%" + province + "%' ");
if (d.Next())
{
province = d.GetString("district_code");
WebUtil.RetrieveDDDW(dw_collmate, "tambol", pbl, d.GetString("district_code"));
}
}
else if (eventArg == "choose_province")
{
dw_collmate.Reset();
dw_collmate.InsertRow(0);
dw_collmate.InsertRow(0);
WebUtil.RetrieveDDDW(dw_collmate, "prename_code", pbl, null);
WebUtil.RetrieveDDDW(dw_collmate, "province", pbl, null);
String sqls = " select prename_code,tambol_code,amphur_code,province_code,tambol_desc,t_amphur,t_province from mbmembmaster where member_no = '" + dw_main.GetItemString(1, "member_no") + "' ";
Sdt d = WebUtil.QuerySdt(sqls);
if (d.Next())
{
//if (d.GetString("prename_code") == "01")
//{
// dw_collmate.SetItemString(1, "prename_code", "นาง");
//}
//else
//{
// dw_collmate.SetItemString(1, "prename_code", "นาย");
//}
dw_collmate.SetItemString(1, "tambol", d.GetString("tambol_desc"));
dw_collmate.SetItemString(1, "amphur", d.GetString("t_amphur"));
dw_collmate.SetItemString(1, "province", d.GetString("t_province"));
dw_collmate.SetItemString(2, "tambol", d.GetString("tambol_desc"));
dw_collmate.SetItemString(2, "amphur", d.GetString("t_amphur"));
dw_collmate.SetItemString(2, "province", d.GetString("t_province"));
//WebUtil.RetrieveDDDW(dw_collmate, "tambol", pbl, null);
//WebUtil.RetrieveDDDW(dw_collmate, "amphur", pbl, null);
WebUtil.RetrieveDDDW(dw_collmate, "amphur", pbl, d.GetString("province_code"));
WebUtil.RetrieveDDDW(dw_collmate, "tambol", pbl, d.GetString("amphur_code"));
}
int o = 1;
for (int i = 1; i <= dw_coll.RowCount; i++)
{
if (dw_coll.GetItemString(i, "loancolltype_code") == "04")
{
dw_collmate.SetItemString(o, "mate_name", dw_coll.GetItemString(i, "description"));
dw_collmate.SetItemString(o, "mate_no", dw_coll.GetItemString(i, "ref_collno"));
o++;
}
}
//int g = Convert.ToInt32( HdRowNumber.Value);
//String ss = dw_collmate.GetItemString(g, "province_code");
//WebUtil.RetrieveDDDW(dw_collmate,"amphur",pbl, ss);
}
//else if (eventArg == "choose_province2")
//{
// int g = Convert.ToInt32(HdRowNumber.Value);
// String ss = dw_collmate.GetItemString(g, "province_code");
// WebUtil.RetrieveDDDW(dw_collmate, "amphur", pbl, ss);
//}
else if (eventArg == "jsPostSet_Foscus_loancontract_no")
{
this.SetFocusScript("loantype_code_1");
}
else if (eventArg == "genRowsColl")
{
int r = dw_coll.RowCount;
try
{
if (dw_coll.GetItemString(1, "ref_collno") == "")
{
r = r - 1;
}
for (int y = 1 + r; y <= 2 + r; y++)
{
dw_coll.InsertRow(0);
dw_coll.SetItemString(y, "loancolltype_code", "04");
}
}
catch (Exception e)
{
for (int y = 1; y <= 2; y++)
{
dw_coll.InsertRow(0);
dw_coll.SetItemString(y, "loancolltype_code", "04");
}
// dw_coll.DeleteRow(dw_coll.RowCount);
}
}
else if (eventArg == "jsPostSet_Foscus_loanrequest_amt")
{
this.SetFocusScript("loanrequest_amt");
}
else if (eventArg == "jsPostSet_Foscus_period_payamt")
{
this.SetFocusScript("period_payamt");
}
else if (eventArg == "jsPostSet_Foscus_loanrcvfix_tdate")
{
this.SetFocusScript("people_no1");
}
else if (eventArg == "jsPostSet_Foscus_people_no2")
{
this.SetFocusScript("people_no2");
}
else if (eventArg == "loanobjective_code")
{
this.SetFocusScript("jsPostSet_Foscus_loanobjective_code");
}
else if (eventArg == "jsPostSet_Foscus_collactive_amt")
{
this.SetFocusScript("type_code1");
}
else if (eventArg == "jsPostSet_Foscus_type2_code1")
{
this.SetFocusScript("type2_code1");
}
else if (eventArg == "jsPostSet_Foscus_type_land1")
{
this.SetFocusScript("type_amt1");
}
else if (eventArg == "jsPostSet_Foscus_recieve_pay1")
{
this.SetFocusScript("recieve_pay1");
}
else if (eventArg == "jsPostSet_Foscus_recieve_amt1")
{
this.SetFocusScript("recieve_amt1");
}
else if (eventArg == "jsPostSet_Foscus_type3_code1")
{
this.SetFocusScript("type3_code1");
}
else if (eventArg == "jsPostPeople")
{
String sql = "select full_name from amsecusers where user_id like '" + dw_main.GetItemString(1, "people_no2") + "%' and coop_id = '" + state.SsCoopControl + "'";
Sdt d = WebUtil.QuerySdt(sql);
if (d.Next())
{
dw_main.SetItemString(1, "people_name2", d.GetString("full_name"));
}
this.SetFocusScript("t_docno");
}
else if (eventArg == "jsPostPeople2")
{
String sql = "select full_name from amsecusers where trim(user_id) like '" + dw_main.GetItemString(1, "people_no1").Trim() + "%' and coop_id = '" + state.SsCoopControl + "'";
Sdt d = WebUtil.QuerySdt(sql);
if (d.Next())
{
dw_main.SetItemString(1, "people_name1", d.GetString("full_name"));
}
this.SetFocusScript("t_docno");
}
else if (eventArg == "jsGetloantype")
{
try
{
string loan_desc = "";
string loan_code = "";
loan_desc = HdLoandesc.Value;
loan_code = HdLoantype.Value;
// LtServerMessage.Text = WebUtil.ErrorMessage(loan_code+" "+loan_desc+" "+dw_printcont.GetItemString(1, loan_code));
dw_printcont.SetItemString(1, loan_desc, of_Postloanobjective_code(dw_printcont.GetItemString(1, loan_code)));
this.SetFocusScript(Hidden_type_code1.Value);
}
catch (Exception e) { LtServerMessage.Text = WebUtil.ErrorMessage(e); }
}
else if (eventArg == "jsPostSetPeriodSend")
{
of_initperiodsend();
of_calperiodpayment();
}
else if (eventArg == "jsCheckloancontract_no")
{
String loancontract_no = "";
loancontract_no = dw_main.GetItemString(1, "loancontract_no");
//loancontract_no = loancontract_no.Substring(0, 5);
if (loancontract_no.Length < 6)
{
if (loancontract_no.Substring(3, 2) == "/1")
{
String sqlSpp2 = @" select (cmdocumentcontrol.last_documentno+1)as last_documentno,cmdocumentcontrol.document_code from cmdocumentcontrol where cmdocumentcontrol.document_code='CONTNO11_1' and cmdocumentcontrol.coop_id = '" + state.SsCoopId + "' ";
Sdt dtdoc = WebUtil.QuerySdt(sqlSpp2);
if (dtdoc.Next())
{
string lncont_no = dtdoc.GetString("last_documentno"), last_condocno = "", ls_lastdocnonew = "";// dw_master.GetItemString(i, "loancontract_no");
int lendocno = lncont_no.Length;//lncont_no.Length - 4
double lastdocno = Convert.ToDouble(lncont_no.Substring(0, Convert.ToInt16(lendocno)));
string coop_id = state.SsCoopId;
lastdocno--;
string ls_lastdocno = "000" + lastdocno.ToString();
ls_lastdocno = ls_lastdocno.Substring(ls_lastdocno.Length - 4);
ls_lastdocno = loancontract_no.Substring(0, 5) + ls_lastdocno;
dw_main.SetItemString(1, "loancontract_no", ls_lastdocno);
lastdoc.Value = dtdoc.GetString("document_code");
/* String sqlupdate = " update cmdocumentcontrol last_documentno set last_documentno = last_documentno+1 where document_code = '" + dtdoc.GetString("document_code") + "'";
WebUtil.QuerySdt(sqlupdate);*/
}
}
else if (loancontract_no.Substring(3, 2) == "/ข")
{
String sqlSpp2 = @" select (cmdocumentcontrol.last_documentno+1)as last_documentno ,cmdocumentcontrol.document_code from cmdocumentcontrol where cmdocumentcontrol.document_code='CONTNO14_1' and cmdocumentcontrol.coop_id = '" + state.SsCoopId + "' ";
Sdt dtdoc = WebUtil.QuerySdt(sqlSpp2);
if (dtdoc.Next())
{
string lncont_no = dtdoc.GetString("last_documentno"), last_condocno = "", ls_lastdocnonew = "";// dw_master.GetItemString(i, "loancontract_no");
int lendocno = lncont_no.Length;//lncont_no.Length - 4
double lastdocno = Convert.ToDouble(lncont_no.Substring(0, Convert.ToInt16(lendocno)));
string coop_id = state.SsCoopId;
lastdocno--;
string ls_lastdocno = "000" + lastdocno.ToString();
ls_lastdocno = ls_lastdocno.Substring(ls_lastdocno.Length - 4);
ls_lastdocno = loancontract_no.Substring(0, 5) + ls_lastdocno;
dw_main.SetItemString(1, "loancontract_no", ls_lastdocno);
lastdoc.Value = dtdoc.GetString("document_code");
/* String sqlupdate = " update cmdocumentcontrol last_documentno set last_documentno = last_documentno+1 where document_code = '" + dtdoc.GetString("document_code") + "'";
WebUtil.QuerySdt(sqlupdate);*/
}
}
else if (loancontract_no.Substring(3, 2) == "/2")
{
String sqlSpp2 = @" select (cmdocumentcontrol.last_documentno+1)as last_documentno ,cmdocumentcontrol.document_code from cmdocumentcontrol where cmdocumentcontrol.document_code='CONTNO23' and cmdocumentcontrol.coop_id = '" + state.SsCoopId + "' ";
Sdt dtdoc = WebUtil.QuerySdt(sqlSpp2);
if (dtdoc.Next())
{
string lncont_no = dtdoc.GetString("last_documentno"), last_condocno = "", ls_lastdocnonew = "";// dw_master.GetItemString(i, "loancontract_no");
int lendocno = lncont_no.Length;//lncont_no.Length - 4
double lastdocno = Convert.ToDouble(lncont_no.Substring(0, Convert.ToInt16(lendocno)));
string coop_id = state.SsCoopId;
lastdocno--;
string ls_lastdocno = "000" + lastdocno.ToString();
ls_lastdocno = ls_lastdocno.Substring(ls_lastdocno.Length - 4);
ls_lastdocno = loancontract_no.Substring(0, 5) + ls_lastdocno;
dw_main.SetItemString(1, "loancontract_no", ls_lastdocno);
lastdoc.Value = dtdoc.GetString("document_code");
/*String sqlupdate = " update cmdocumentcontrol last_documentno set last_documentno = last_documentno+1 where document_code = '" + dtdoc.GetString("document_code") + "'";
WebUtil.QuerySdt(sqlupdate);*/
}
}
else
{
String sqlSpp2 = @" select (cmdocumentcontrol.last_documentno+1)as last_documentno,cmdocumentcontrol.document_code from lnloantype left join cmdocumentcontrol on trim(lnloantype.document_code) = trim(cmdocumentcontrol.document_code) where lnloantype.loantype_code ='" + dw_main.GetItemString(1, "loantype_code") + "' and lnloantype.coop_id = '" + state.SsCoopId + "' ";
Sdt dtdoc = WebUtil.QuerySdt(sqlSpp2);
if (dtdoc.Next())
{
string lncont_no = dtdoc.GetString("last_documentno"), last_condocno = "", ls_lastdocnonew = "";// dw_master.GetItemString(i, "loancontract_no");
int lendocno = lncont_no.Length;//lncont_no.Length - 4
double lastdocno = Convert.ToDouble(lncont_no.Substring(0, Convert.ToInt16(lendocno)));
string coop_id = state.SsCoopId;
lastdocno--;
string ls_lastdocno = "000" + lastdocno.ToString();
ls_lastdocno = ls_lastdocno.Substring(ls_lastdocno.Length - 4);
ls_lastdocno = loancontract_no.Substring(0, 5) + ls_lastdocno;
dw_main.SetItemString(1, "loancontract_no", ls_lastdocno);
lastdoc.Value = dtdoc.GetString("document_code");
/* String sqlupdate = " update cmdocumentcontrol last_documentno set last_documentno = last_documentno+1 where document_code = '" + dtdoc.GetString("document_code") + "'";
WebUtil.QuerySdt(sqlupdate);*/
}
}
}
String sqlSpp = @" select * from lncontmaster where loancontract_no ='" + loancontract_no + "' and coop_id = '" + state.SsCoopId + "' ";
Sdt dt22 = WebUtil.QuerySdt(sqlSpp);
String req_no = "";
if (dt22.Next())
{
req_no = dt22.GetString("loanrequest_docno");
this.SetOnLoadedScript(" alert('เลขสัญญานี้ มีอยู่ในระบบแล้ว!! \\nเลขสัญญา:" + loancontract_no + "') ");
this.SetFocusScript("loancontract_no");
}
this.SetFocusScript("loanrequest_amt");
}
else if (eventArg == "getcollall")
{
try
{
string memNo = dw_main.GetItemString(1, "member_no");
String sqlStrde = @" select collmast_no,mortgage_price, estimate_price, est_percent,collmast_desc from lncollmaster where member_no ='" + memNo + "' and coop_id = '" + state.SsCoopId + "' and redeem_flag = 0 ";
Sdt dt = WebUtil.QuerySdt(sqlStrde);
int y = 1;
while (dt.Next())
{//
dw_coll.InsertRow(0);
dw_coll.SetItemString(y, "loancolltype_code", "03");
dw_coll.SetItemString(y, "ref_collno", dt.GetString("collmast_no"));
dw_coll.SetItemDecimal(y, "collbase_amt", dt.GetDecimal("mortgage_price"));
dw_coll.SetItemDecimal(y, "collbase_percent", dt.GetDecimal("est_percent"));
dw_coll.SetItemDecimal(y, "collmax_amt", dt.GetDecimal("mortgage_price"));
dw_coll.SetItemString(y, "description", dt.GetString("collmast_desc"));
dw_coll.SetItemDecimal(y, "collbalance_amt", dt.GetDecimal("estimate_price"));
dw_coll.SetItemDecimal(y, "collactive_amt", dt.GetDecimal("estimate_price"));
dw_coll.SetItemDecimal(y, "collactive_percent", dt.GetDecimal("est_percent"));
dw_coll.SetItemDecimal(y, "collused_amt", 0);
//CheckCollPermiss();
y++;
}
}
catch (Exception e)
{
LtServerMessage.Text = e.Message;
}
}
else if (eventArg == "jsPostloanobjective_code")
{
string objective_code = of_Postloanobjective_code(dw_main.GetItemString(1, "loanobjective_code"));
dw_main.SetItemString(1, "loanobjective_desc", objective_code);
}
else if (eventArg == "jsPostprincipal_payment")
{
string str_ref = "";
str_ref = Hdmthexprow.Value;
int row = Convert.ToInt32(str_ref);
Decimal principal_payment = 0, loanrequest_amt = 0, period = 0, principal_payment2 = 0;
principal_payment = dw_periodpay.GetItemDecimal(row, "principal_payment");
loanrequest_amt = dw_main.GetItemDecimal(1, "loanrequest_amt");
period = dw_main.GetItemDecimal(1, "period_payamt");
//loanrequest_amt = loanrequest_amt - principal_payment;
//principal_payment2 = loanrequest_amt / (period - 1);
dw_main.SetItemDecimal(1, "period_payment", dw_periodpay.GetItemDecimal(1, "principal_payment"));
for (int j = 1; j < row; j++)
{
principal_payment += dw_periodpay.GetItemDecimal(j, "principal_payment");
}
loanrequest_amt = loanrequest_amt - principal_payment;
principal_payment2 = loanrequest_amt / (period - row);
for (int i = row; i < period; i++)
{
dw_periodpay.SetItemDecimal(i + 1, "principal_payment", principal_payment2);
}
}
else if (eventArg == "jsPostExpireperiod_date")
{
try
{
int row = Int32.Parse(Hdmthexprow.Value);
CultureInfo th = System.Globalization.CultureInfo.GetCultureInfo("th-TH");
DateTime ss = dw_periodpay.GetItemDate(row, "expireperiod_date");
String dayss = dw_periodpay.GetItemString(row, "expireperiod_tdate");
Int16 month = Convert.ToInt16(dayss.Substring(2, 2));
// month = month;
DateTime today = DateTime.ParseExact(dayss, "ddmmyyyy", null);
// today = new DateTime(today.Year, today.Month, today.Day);
DateTime today2 = today.AddMonths(month - 1);
// DateTime today = DateTime.ParseExact(dayss, "ddmmyyyy", CultureInfo.InvariantCulture);
decimal period_amt = 0, loanrequest_amt = 0;
period_amt = dw_main.GetItemDecimal(1, "period_payamt");
loanrequest_amt = dw_main.GetItemDecimal(1, "loanrequest_amt");
DateTime end_date2 = today2.AddYears((Convert.ToInt16(period_amt - 1)));
// dw_main.SetItemString(1, "loanrcvfix_tdate", (end_date2).ToString("ddMMyyyy"));
dw_main.SetItemDecimal(1, "loanrcvfix_flag", 1);
if (loanrequest_amt <= 0)
{
return;
}
Decimal rowp = dw_periodpay.RowCount;
int rowpint = 0;
decimal period_payment = dw_main.GetItemDecimal(1, "period_payment");
decimal sumpay = 0;
rowp = dw_periodpay.RowCount;
for (int ii = 1; ii <= rowp; ii++)
{
sumpay = loanrequest_amt - period_payment;
DateTime end_date = today2.AddYears((ii - 1));
if (loanrequest_amt < period_payment)
{
period_payment = loanrequest_amt;
}
dw_periodpay.SetItemDecimal(ii, "period", Convert.ToDecimal(ii));
// dw_periodpay.SetItemDecimal(ii, "principal_payment", period_payment);
dw_periodpay.SetItemString(ii, "expireperiod_tdate", (end_date).ToString("ddMMyyyy"));
dw_periodpay.SetItemDateTime(ii, "expireperiod_date", end_date.AddYears(-543));
dw_main.SetItemString(1, "loanrcvfix_tdate", (end_date).ToString("ddMMyyyy"));
dw_main.SetItemDateTime(1, "loanrcvfix_date", (end_date.AddYears(-543)));
}
}
catch (Exception)
{
}
}
else if (eventArg == "jsPostSumClear")
{
of_initpaymonthcoop();
of_initpermiss();
of_calperiodpayment();
of_initotherpay_fsv();
// of_initclearshare();
of_recalcollpermiss();
of_initwarnings();
CalSumTotal();
}
else if (eventArg == "jsGetObjcode")
{
of_obj();
this.SetFocusScript("type_land1");
// this.SetFocusScript("ref_collno");
}
else if (eventArg == "jsGetObjcode2")
{
of_obj2();
this.SetFocusScript("type_land1");
// this.SetFocusScript("ref_collno");
}
else if (eventArg == "jsSumObjcode")
{
Decimal loanobjective_amt = 0;
string str_ref = "";
str_ref = Hdmthexprow.Value;
int row = Convert.ToInt32(str_ref);
//for (int i = 1; i < row; i++)
//{
// loanobjective_amt += dw_obj.GetItemDecimal(i, "objective_amt");
//}
//Decimal loan_amt = dw_main.GetItemDecimal(1, "loanrequest_amt") - loanobjective_amt;
//dw_obj.SetItemDecimal(row, "objective_amt", loan_amt);
}
else if (eventArg == "jsPostSetPeriodPay")//ระบุ จำนวน งวด
{
dw_periodpay.Reset();
of_calperiodpayment();
of_Setperiodpaydet();
// clear_periodpayment();
of_initclearshare();
CalSumTotal();
//for (int i = 0; i < 1; i++)
//{
// dw_coll.InsertRow(0);
//}
this.SetFocusScript("people_no2");
}
else if (eventArg == "jsPostRequestamt") // ยอดขอกู้
{
// of_setintestimateloanreq();
dw_periodpay.Reset();
decimal ldc_reqamt = dw_main.GetItemDecimal(1, "loanreqregis_amt"); //pom
string ls_loantype = dw_main.GetItemString(1, "loantype_Code"); //pom
decimal reqamt = dw_main.GetItemDecimal(1, "loanrequest_amt");
//เช็ค ยอดขอกู้ว่าเกิน ค่าคงที่ไหม
String sqlStrde = @" select maxloan_amt from lnloantype where loantype_code ='" + ls_loantype + "' and coop_id = '" + state.SsCoopId + "' ";
Sdt dt = WebUtil.QuerySdt(sqlStrde);
decimal maxloan_amt = 0;
if (dt.Next())
{//
maxloan_amt = dt.GetInt32("maxloan_amt");
}
if (reqamt > maxloan_amt)
{
this.SetOnLoadedScript("alert('ยอดข้อกู้ เกินจำนวนเงินที่สามารถให้กู้ได้ คุณสามารถกู้ได้สูงสุด :" + maxloan_amt + "')");
dw_main.SetItemDecimal(1, "loanrequest_amt", maxloan_amt);
}
//if (u == 1)
//{
//}
//else
//{
of_initmaxperiod(ls_loantype, ldc_reqamt); //pom
of_initperiodsend();
of_lastperiodpay();
of_calperiodpayment();
of_initclearshare();
of_Setperiodpaydet();
of_initloanclr(member_no);
of_initloancredit(ls_loantype);
if (ibl_step == true)
{
of_initreqloanregis(member_no, ls_loantype);
// of_initpaymonthcoop();
of_initpermiss();
// of_initotherpay_fsv();
of_initwarnings();
//of_initcolluse();
}
CalSumTotal();
//}
this.SetFocusScript("t_docno");
}
else if (eventArg == "jsPostChangePeriodPay")
{
int li_maxsend = 0;
decimal li_period = 0;
decimal ldc_salarybal = 0, ldc_periodpay = 0, ldc_minsalary;
li_maxsend = Convert.ToInt32(dw_main.GetItemDecimal(1, "maxsend_payamt"));
// decimal ldc_salary = dw_main.GetItemDecimal(1, "salary_amt");
decimal ldc_incomefixed = dw_main.GetItemDecimal(1, "incomemonth_fixed");
decimal ldc_incomeoth = dw_main.GetItemDecimal(1, "incomemonth_other");
decimal ldc_paycoop = dw_main.GetItemDecimal(1, "paymonth_coop");
decimal ldc_paylnreq = dw_main.GetItemDecimal(1, "paymonth_lnreq");
decimal ldc_payexp = dw_main.GetItemDecimal(1, "paymonth_exp");
decimal ldc_payoth = dw_main.GetItemDecimal(1, "paymonth_other");
decimal loanrequest_amt = dw_main.GetItemDecimal(1, "loanrequest_amt");
ldc_periodpay = dw_main.GetItemDecimal(1, "period_payment");
ldc_minsalary = dw_main.GetItemDecimal(1, "minsalary_amt");
int li_payflag = Convert.ToInt32(dw_main.GetItemDecimal(1, "custompayment_flag"));
if (li_payflag == 1)
{
return;
}
li_period = dw_main.GetItemDecimal(1, "period_payamt");
int ii = 1;
// for (int ii = 1; ii <= li_period; ii++)
do
{
loanrequest_amt = loanrequest_amt - ldc_periodpay;
dw_periodpay.SetItemDecimal(ii, "principal_payment", ldc_periodpay);
ii++;
} while (ii < li_period);
int period = Convert.ToInt32(li_period);
dw_periodpay.SetItemDecimal(period, "principal_payment", loanrequest_amt);
//if (li_period > li_maxsend)
//{
// dw_main.SetItemDecimal(1, "period_payment", Convert.ToDecimal(Hdperiodpay.Value));
// LtServerMessage.Text = WebUtil.ErrorMessage("ชำระ/งวด น้อยเกินไป ทำให้จำนวนงวดเกิน งวดที่สามารถส่งได้");
// return;
//}
//else
//{
//decimal ldc_loanreq = dw_main.GetItemDecimal(1, "loanrequest_amt");
//dw_main.SetItemDecimal(1, "period_payamt", li_period);
//dw_main.SetItemDecimal(1, "period_payment", 1);
//of_setpaymthlnreq();
// }
// }
CalSumTotal();
}
else if (eventArg == "jsPostRePermiss")
{
of_initpermiss();
of_calperiodpayment();
of_initclearshare();
}
else if (eventArg == "jsPostRightColl")
{
try
{
string ls_loantype = dw_main.GetItemString(1, "loantype_code");
string ls_membno = dw_main.GetItemString(1, "member_no");
string ls_coll = Hdcoll.Value;
string ls_contclr = Hdcontclr.Value;
string[] larr_contclr = ls_contclr.Split(',');
for (int r = 0; r < larr_contclr.Length; r++)
{
for (int row = 1; row <= dw_clear.RowCount; row++)
{
string ls_contno = dw_clear.GetItemString(row, "loancontract_no");
if (ls_contno == larr_contclr[r])
{
dw_clear.SetItemDecimal(row, "clear_status", 1);
}
}
}
of_initreqloanregis(ls_membno, ls_loantype);
decimal ldc_maxreq = dw_main.GetItemDecimal(1, "loanreqregis_amt"); //pom
of_initmaxperiod(ls_loantype, ldc_maxreq); //pom
of_initpaymonthcoop();
of_initperiodsend();
of_initpermiss();
string[] larr_coll = ls_coll.Split(',').ToArray();
for (int i = 0; i < larr_coll.Length; i++)
{
string[] larr_colltemp = larr_coll[i].Split(':').ToArray();
HdRefcoll.Value = larr_colltemp[larr_colltemp.Length - 1];
HdRefcollrow.Value = (i + 1).ToString();
int li_collrow = dw_coll.InsertRow(0);
dw_coll.SetItemString(li_collrow, "loancolltype_code", larr_colltemp[0]);
dw_coll.SetItemString(li_collrow, "ref_collno", HdRefcoll.Value);
CheckCollPermiss();
}
//string[] larr_coll = ls_coll.Split(',').Select(t => t.Split(':')).ToArray();
//for (int i = 0; i < larr_coll.GetLength(0); i++)
//{
// for (int j = 0; j < larr_coll.GetLength(0); j++)
// {
// string val = larr_coll[i][j];
// }
//}
of_calperiodpayment();
of_initotherpay_fsv();
of_initclearshare();
}
catch (Exception ex)
{
LtServerMessage.Text = WebUtil.ErrorMessage(ex);
}
}
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")
{
CheckCollPermiss();
// this.SetFocusScript("collactive_amt");
}
else if (eventArg == "jsReNewPage")
{
JsReNewPage();
}
else if (eventArg == "jsOpenOldDocNo")
{
JsOpenOldDocNo();
}
else if (eventArg == "jsPostSetZero")
{
}
else if (eventArg == "jsCancelRequest")
{
JsCancelRequest();
}
else if (eventArg == "jsRefresh")
{
}
else if (eventArg == "jsSetDataList")
{
JsSetDataList();
}
else if (eventArg == "jsExpensebankbrRetrieve")
{
JsExpensebankbrRetrieve();
}
else if (eventArg == "jsGetexpensememno")
{
JsGetexpensememno();
}
else if (eventArg == "jsPostGetCollPermiss")
{
HdCondition.Value = "true";
int row_coll; //แถว ค้ำประกัน
string as_collno = "", loancolltype_code = "";
try { row_coll = Convert.ToInt32(HdRefcollrow.Value); }
catch { row_coll = 1; }
as_collno = dw_coll.GetItemString(row_coll, "ref_collno");
loancolltype_code = dw_coll.GetItemString(row_coll, "loancolltype_code");
Boolean result_chk = ChkSameColl(as_collno, row_coll, loancolltype_code);
if (result_chk == true && as_collno != "")
{
GetCollPermiss();
}
}
else if (eventArg == "jsGetitemdescetc")
{
JsGetitemdescetc();
}
else if (eventArg == "jsPostDelOtherclr")
{
int row = int.Parse(HdRowNumber.Value);
dw_otherclr.DeleteRow(row);
CalSumTotal();
}
else if (eventArg == "jsPostDelobj")
{
int row = int.Parse(HdRowNumber.Value);
dw_obj.DeleteRow(row);
}
else if (eventArg == "jsGetitemdescmthexp")
{
JsGetitemdescmthexp();
}
else if (eventArg == "jsPostPrtRpt")
{
try
{
iReportArgument args = new iReportArgument();
string coop_id = state.SsCoopControl;
string loanreq_docno = dw_main.GetItemString(1, "loanrequest_docno");
//ใส่อกิวเม้น
//loanreq_docno = "Q570001197";
args.Add("as_loanreq_docno", iReportArgumentType.String, loanreq_docno);
args.Add("as_coop_id", iReportArgumentType.String, coop_id);
iReportBuider report1 = new iReportBuider(this, "หนังสือเสนอกรรมการ");
report1.AddCriteria("r_sl_loan_req_paper", "เปิด เพื่อพิมพ์หนังสือเสนอกรรมการ", ReportType.pdf, args);
report1.AutoOpenPDF = true;
report1.Retrieve();
}
catch (Exception ex)
{
LtServerMessage.Text = WebUtil.ErrorMessage("พิมพ์หนังสือไม่สำเร็จ " + ex);
}
}
else if (eventArg == "jsPostCalInt")
{
string ls_clrcontno = "";
for (int ll_row = 1; ll_row <= dw_clear.RowCount; ll_row++)
{
if (dw_clear.GetItemDecimal(ll_row, "clear_status") == 1)
{
if (ls_clrcontno == "")
{
ls_clrcontno = dw_clear.GetItemString(ll_row, "loancontract_no");
}
else
{
ls_clrcontno = "," + dw_clear.GetItemString(ll_row, "loancontract_no");
}
}
}
dw_clear.Reset();
of_initloanclr(dw_main.GetItemString(1, "member_no"));
if (ls_clrcontno != "")
{
string[] larr_contclr = ls_clrcontno.Split(',');
for (int i = 0; i <= larr_contclr.Length; i++)
{
for (int j = 1; j <= dw_clear.RowCount; j++)
{
if (dw_clear.GetItemString(j, "loancontract_no") == larr_contclr[i].ToString())
{
dw_clear.SetItemDecimal(j, "clear_status", 1);
}
}
}
}
}
}
///
/// get วัตถุประสงค์
///
private string of_Postloanobjective_code(string p)
{
string obj_desc = "";
string sql = "SELECT loanobjective_desc FROM lnucfloanobjective where loanobjective_code = '" + p + "' and coop_id='" + state.SsCoopId + "'";
sql = WebUtil.SQLFormat(sql);
Sdt dt = WebUtil.QuerySdt(sql);
if (dt.Next())
{
obj_desc = dt.GetString("loanobjective_desc");
}
return obj_desc;
}
///
/// get ยอดวัตถุประสงค์
///
private decimal of_getobjective_amt(string p)
{
decimal obj_desc = 0;
string sql = "SELECT loanobjective_amt FROM lnucfloanobjective where loanobjective_code = '" + p + "' and coop_id='" + state.SsCoopId + "'";
sql = WebUtil.SQLFormat(sql);
Sdt dt = WebUtil.QuerySdt(sql);
if (dt.Next())
{
obj_desc = dt.GetDecimal("loanobjective_amt");
}
return obj_desc;
}
///
/// reset หน้าใหม่
///
private void JsReNewPage()
{
try
{
dw_main.Reset();
dw_main.InsertRow(0);
dw_coll.Reset();
dw_clear.Reset();
dw_otherclr.Reset();
dw_periodpay.Reset();
dw_printcont.Reset();
dw_obj.Reset();
dw_intspc.Reset();
dw_main.SetItemString(1, "memcoop_id", state.SsCoopControl);
dw_main.SetItemString(1, "coop_id", state.SsCoopId);
dw_main.SetItemDateTime(1, "loanrequest_date", state.SsWorkDate);
//dw_main.SetItemDate(1, "loanrcvfix_date", state.SsWorkDate); // edit by bank
tDwMain.Eng2ThaiAllRow();
RetreiveDDDW();
HdIsPostBack.Value = "false";
HdCheckRemark.Value = "false";
HdShowRemark.Value = "false";
Ltjspopup.Text = " ";
Ltjspopupclr.Text = "";
TextBox1.Text = "";
}
catch (Exception e) { LtServerMessage.Text = WebUtil.ErrorMessage(e.Message); }
}
///
/// retreive datawindows dropdown
///
public void RetreiveDDDW()
{
try
{
loantype = Session["loantypeCode"].ToString();
Session.Remove("loantype");
}
catch
{
String sql = "";
// sql = "select min(loantype_code) from lnloantype where coop_id = '" + state.SsCoopControl + "' and loangroup_code = '03'";
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
{
dw_main.SetItemString(1, "loantype_code", loantype);
}
DwUtil.RetrieveDDDW(dw_main, "expense_code", pbl, null);
DwUtil.RetrieveDDDW(dw_main, "expense_bank_1", pbl, null);
// DwUtil.RetrieveDDDW(dw_main, "loanobjective_code_1", pbl, null);
DwUtil.RetrieveDDDW(dw_otherclr, "clrothertype_code", pbl, null);
DwUtil.RetrieveDDDW(dw_printcont, "type1", pbl, null);
DwUtil.RetrieveDDDW(dw_printcont, "recieve1", pbl, null);
DwUtil.RetrieveDDDW(dw_printcont, "type_pay1", pbl, null);
DwUtil.RetrieveDDDW(dw_printcont, "type2", pbl, null);
DwUtil.RetrieveDDDW(dw_printcont, "recieve2", pbl, null);
DwUtil.RetrieveDDDW(dw_printcont, "type_pay2", pbl, null);
DwUtil.RetrieveDDDW(dw_printcont, "type3", pbl, null);
DwUtil.RetrieveDDDW(dw_printcont, "recieve3", pbl, null);
DwUtil.RetrieveDDDW(dw_printcont, "type_pay3", pbl, null);
DwUtil.RetrieveDDDW(dw_printcont, "type4", pbl, null);
DwUtil.RetrieveDDDW(dw_printcont, "recieve4", pbl, null);
DwUtil.RetrieveDDDW(dw_obj, "loanobjective_code", pbl, null);
DwUtil.RetrieveDDDW(dw_printcont, "type_pay4", pbl, null);
DwUtil.RetrieveDDDW(dw_obj, "loanobjective_code", pbl, null);
}
catch (Exception ex) { LtServerMessage.Text = WebUtil.ErrorMessage(ex); }
}
///
/// init ใบคำขอเก่า
///
private void of_initlnreq()
{
try
{
string ls_coopid = "", ls_reqloandocno = "";
ls_coopid = dw_main.GetItemString(1, "coop_id");
ls_reqloandocno = dw_main.GetItemString(1, "loanrequest_docno");
txt_reqNo.Text = ls_reqloandocno;
txt_member_no.Text = member_no;
string[] arg = new string[2] { ls_coopid, ls_reqloandocno };
string[] arg2 = new string[2] { ls_reqloandocno, ls_coopid };
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(); }
try { DwUtil.RetrieveDataWindow(dw_intspc, pbl, null, arg); }
catch (Exception ex) { ex.ToString(); }
try { DwUtil.RetrieveDataWindow(dw_periodpay, pbl, null, arg2); }
catch (Exception ex) { ex.ToString(); }
//try { DwUtil.RetrieveDataWindow(dw_printcont, pbl, null, arg); }
//catch (Exception ex) { ex.ToString(); }
try { DwUtil.RetrieveDataWindow(dw_contractNo, pbl, null, state.SsCoopControl); }
catch (Exception ex) { ex.ToString(); }
try { DwUtil.RetrieveDataWindow(dw_collmate, pbl, null, ls_reqloandocno); }
catch (Exception ex) { ex.ToString(); }
try { DwUtil.RetrieveDataWindow(dw_obj, pbl, null, arg); }
catch (Exception ex) { ex.ToString(); }
try { DwUtil.RetrieveDataWindow(dw_printcont, pbl, null, arg2); }
catch (Exception ex) { ex.ToString(); }
Sdt objsql = WebUtil.QuerySdt("select LOANOBJECTIVE_CODE,LOANOBJECTIVE_DESC,OBJECTIVE_AMT, LOANREQUEST_DOCNO FROM LNCONTOBJECTIVE where LOANREQUEST_DOCNO = '"+ls_reqloandocno+"' ");
int y=1;
while (objsql.Next())
{
dw_obj.InsertRow(0);
dw_obj.SetItemString(y, "loanobjective_code", objsql.GetString("LOANOBJECTIVE_CODE"));
dw_obj.SetItemString(y, "loanobjective_desc", objsql.GetString("LOANOBJECTIVE_DESC"));
dw_obj.SetItemDecimal(y, "objective_amt", objsql.GetDecimal("OBJECTIVE_AMT"));
y++;
}
//String sql = "select full_name,user_id from amsecusers where user_name = '" + state.SsUsername + "' and coop_id = '" + state.SsCoopControl + "'";
//Sdt d = WebUtil.QuerySdt(sql);
//if (d.Next())
//{
// dw_main.SetItemString(1, "people_name1", d.GetString("full_name"));
// dw_main.SetItemString(1, "people_no1", d.GetString("user_id"));
//}
RetreiveDDDW();
of_Setperiodpaydet2(ls_reqloandocno, ls_coopid);
}
catch (Exception ex)
{
LtServerMessage.Text = WebUtil.ErrorMessage(ex);
}
}
private void of_Setperiodpaydet2(string req_docno, string coop_id) //กล้า แก้เพิ่ม
{
try
{
CultureInfo th = System.Globalization.CultureInfo.GetCultureInfo("th-TH");
//DateTime day = state.SsWorkDate;
// String dayss = "31/03/" + year;
//today = DateTime.ParseExact(dayss, "dd/MM/yyyy", CultureInfo.InvariantCulture);
//DateTime end_date2 = today.AddYears(543));
DateTime today;
// rowp = dw_periodpay.RowCount;
string sql = "SELECT expireperiod_date FROM lnreqloanperiodpaydet where loanrequest_docno = '" + req_docno + "' and coop_id='" + coop_id + "'";
sql = WebUtil.SQLFormat(sql);
Sdt dt = WebUtil.QuerySdt(sql);
int ii = 1;
while (dt.Next())
{
today = dt.GetDate("expireperiod_date");
// DateTime end_date = today.AddYears(543);
dw_periodpay.SetItemString(ii, "expireperiod_tdate", (today).ToString("ddMMyyyy", th));
dw_periodpay.SetItemDateTime(ii, "expireperiod_date", today);
ii++;
dw_main.SetItemDateTime(1, "loanrcvfix_date", (today));
dw_main.SetItemString(1, "loanrcvfix_tdate", (today).ToString("ddMMyyyy", th));
}
}
catch (Exception ex)
{
}
}
///
/// เช็คใบคำขอเก่า
///
private Boolean of_checklnreq(string member_no)
{
try
{
string ls_CoopControl = state.SsCoopControl; //สาขาที่ทำรายการ
String ls_loantype = "",
ls_lnrequestdate = "";
ls_loantype = dw_main.GetItemString(1, "loantype_code");
ls_lnrequestdate = dw_main.GetItemString(1, "loanrequest_tdate");
string sqlStr = @"select loanrequest_docno,
loanrequest_status,
loanrequest_date
from lnreqloan
where loanrequest_status in (11,8)
and coop_id = {0}
and member_no = {1}
and loantype_code = {2}";
sqlStr = WebUtil.SQLFormat(sqlStr, state.SsCoopControl, member_no, ls_loantype);
Sdt dtchk = WebUtil.QuerySdt(sqlStr);
if (dtchk.Next())
{
dw_main.SetItemString(1, "loanrequest_docno", dtchk.GetString("loanrequest_docno"));
DateTime ldtm_lnreq = dtchk.GetDate("loanrequest_date");
String entry_date = ldtm_lnreq.AddYears(543).ToString();
LtServerMessage.Text = WebUtil.WarningMessage("มีใบคำขอกู้สำหรับวันที่ " + entry_date + " แล้ว ระบบจะดึงข้อมูลใบคำขอให้อัตโนมัติ");
of_initlnreq();
return false;
}
}
catch (Exception ex)
{
LtServerMessage.Text = WebUtil.ErrorMessage("of_checklnreq" + ex);
}
return true;
}
public String selectMemNo(String member_no)
{
String member = "";
String sqlStr2 = @"select member_no
from mbmembmaster
where mbmembmaster.coop_id = {0}
and mbmembmaster.member_no like '%" + member_no + "' and ROWNUM <= 1 order by member_no desc";
sqlStr2 = WebUtil.SQLFormat(sqlStr2, state.SsCoopControl);
Sdt dt121 = WebUtil.QuerySdt(sqlStr2);
if (dt121.Next())
{
member = dt121.GetString("member_no");
}
return member;
}
///
/// Post เลขสมาชิก
///
private void JsPostmember()
{
DataTable dt = getCountMember_no();
if (dt.Rows.Count <= 1)
{
try
{
string member_no = WebUtil.MemberNoFormat(dw_main.GetItemString(1, "member_no"));
// string member_no = dw_main.GetItemString(1, "member_no");
string ls_loantype = dw_main.GetItemString(1, "loantype_code");
JsReNewPage();
// DwUtil.RetrieveDDDW(dw_main, "membtype_desc", pbl,0);
dw_obj.Reset();
dw_periodpay.Reset();
dw_printcont.InsertRow(0);
dw_obj.InsertRow(0);
if (dw_coll.GetColumnNumber() > 0)
{
for (int i = 0; i < dw_coll.GetColumnNumber(); i++)
{
dw_coll.DeleteRow(0);
}
}
else
{
for (int i = 0; i < 1; i++)
{
dw_coll.InsertRow(0);
}
}
// member_no = selectMemNo(member_no);
String membtype_desc = "";
String sqlStr = @"select mbucfmembtype.membtype_code,mbucfmembtype.membtype_desc , lnloanmbtypelevel.MEMBTYPE_DESC as MEMBTYPE_DESC2
from mbmembmaster left join mbucfmembtype on mbmembmaster.membtype_code=mbucfmembtype.membtype_code
left join lnloanmbtypelevel
on mbmembmaster.MEMBTYPE_LEVEL = lnloanmbtypelevel.MEMBTYPE_LEVEL
where mbmembmaster.coop_id = {0}
and mbmembmaster.member_no like '%" + member_no + "'";
sqlStr = WebUtil.SQLFormat(sqlStr, state.SsCoopControl);
Sdt dt11 = WebUtil.QuerySdt(sqlStr);
String MEMBTYPE_DESC2 = "";
if (dt11.Next())
{
membtype_desc = dt11.GetString("membtype_desc");
MEMBTYPE_DESC2 = dt11.GetString("MEMBTYPE_DESC2");
}
dw_main.SetItemString(1, "membtype_desc", MEMBTYPE_DESC2);
// LtServerMessage.Text = WebUtil.CompleteMessage(MEMBTYPE_DESC2);
dw_main.SetItemString(1, "membtype_code", membtype_desc);
dw_main.SetItemString(1, "member_no", member_no);
dw_main.SetItemString(1, "loantype_code", ls_loantype);
Boolean isvalid_result = false,
lnreq_result = true;
lnreq_result = of_checklnreq(member_no);
if (lnreq_result == true)
{
isvalid_result = of_isvalidmember(member_no);
}
int num = 0;
num = dw_clear.GetColumnNumber();
for (int i = 0; i < num; i++)
{
dw_clear.SetItemDecimal(i, "clear_status", 0);
}
if (isvalid_result == true)
{
of_setmemberinfo(member_no);
of_setloantypeinfo(ls_loantype);
of_setexpensedefault(member_no); ////pom : setexpense-default 2
String sd = " select full_name from amsecusers where user_id like '%002%' and coop_id = '" + state.SsCoopControl + "'";
Sdt d2 = WebUtil.QuerySdt(sd);
if (d2.Next())
{
dw_main.SetItemString(1, "people_name2", d2.GetString("full_name"));
dw_main.SetItemString(1, "people_no2", "002");
}
of_initloanclr(member_no);
of_initloancredit(ls_loantype);
//DateTime day = state.SsWorkDate;
//String dayss = "13/03/" + day.Year;
////DateTime ss = Convert.ToDateTime(dayss);
//DateTime dt = DateTime.ParseExact(dayss, "dd/MM/yyyy", CultureInfo.InvariantCulture);
if (ibl_step == true)
{
of_initreqloanregis(member_no, ls_loantype);
//of_initmaxperiod(ls_loantype, 1); 3240857 //pom
decimal ldc_maxreq = dw_main.GetItemDecimal(1, "loanreqregis_amt"); //pom
// of_initmaxperiod(ls_loantype, ldc_maxreq); //pom
// of_initperiodsend();
// of_initpaymonthcoop();
// of_initpermiss_begin();
// of_calperiodpayment();
// of_initclearshare();
// of_initotherpay_fsv();
of_initwarnings();
of_initcolluse();
sqlStr = @"select count(collmast_no)as dd from lncollmaster
where coop_id = {0} and redeem_flag = 0
and member_no = {1}";
sqlStr = WebUtil.SQLFormat(sqlStr, state.SsCoopControl, member_no);
Sdt dt1 = WebUtil.QuerySdt(sqlStr);
if (dt1.Next())
{
of_initcollmast();
Litcoll.Text = "สมาชิก ท่านนี้ มีหลักทรัพย์ จำนวน :" + dt1.GetDecimal("dd") + " รายการ";
}
else
{
Litcoll.Text = "สมาชิก ท่านนี้ ไม่มี มีหลักทรัพย์ !!";
}
}
}
String sql = "select full_name,user_id from amsecusers where user_name = '" + state.SsUsername + "' and coop_id = '" + state.SsCoopControl + "'";
Sdt d = WebUtil.QuerySdt(sql);
if (d.Next())
{
dw_main.SetItemString(1, "people_name1", d.GetString("full_name"));
dw_main.SetItemString(1, "people_no1", d.GetString("user_id"));
}
}
catch (Exception re) { LtServerMessage.Text = WebUtil.ErrorMessage(re); }
}
else {
Page.ClientScript.RegisterStartupScript(this.GetType(), "CheckCountMemberNo", "CheckCountMemberNo(" + dw_main.GetItemString(1, "member_no") + ")", true);
}
}
private void of_initcollmast()
{
try
{
Decimal coll_percent = 0;
String sqlpersen = "select lnloantypecolluse.coll_percent from lnloantypecolluse left join lnloantype on lnloantype.loantype_code = lnloantypecolluse.loantype_code " +
"where lnloantype.loantype_code = '" + dw_main.GetItemString(1, "loantype_code") + "' and lnloantypecolluse.loancolltype_code='03' and rownum=1 and lnloantypecolluse.coop_id = '" + state.SsCoopControl + "'";
Sdt df = WebUtil.QuerySdt(sqlpersen);
if (df.Next())
{
coll_percent = df.GetDecimal("coll_percent");
}
string memNo = dw_main.GetItemString(1, "member_no");
int size_rai = 0, size_ngan = 0, size_wa = 0;
String sqlStrde = @" select collmast_no,mortgage_price, estimate_price, est_percent,collmast_desc,size_rai,size_ngan,size_wa from lncollmaster where member_no ='" + memNo + "' and coop_id = '" + state.SsCoopId + "' and redeem_flag=0 ";
Sdt dt = WebUtil.QuerySdt(sqlStrde);
int y = 1;
while (dt.Next())
{//
dw_coll.InsertRow(0);
dw_coll.SetItemString(y, "loancolltype_code", "03");
dw_coll.SetItemString(y, "ref_collno", dt.GetString("collmast_no"));
dw_coll.SetItemDecimal(y, "collbase_amt", dt.GetDecimal("mortgage_price"));
dw_coll.SetItemDecimal(y, "collbase_percent", coll_percent);
//dw_coll.SetItemDecimal(y, "collmax_amt", dt.GetDecimal("mortgage_price"));
dw_coll.SetItemString(y, "description", dt.GetString("collmast_desc"));
dw_coll.SetItemDecimal(y, "collbalance_amt", dt.GetDecimal("estimate_price"));
// dw_coll.SetItemDecimal(y, "collactive_amt", dt.GetDecimal("estimate_price"));
//dw_coll.SetItemDecimal(y, "collactive_percent", dt.GetDecimal("est_percent"));
// dw_coll.SetItemDecimal(y, "collused_amt", 0);
// CheckCollPermiss();
size_rai += dt.GetInt32("size_rai");
size_ngan += dt.GetInt32("size_ngan");
size_wa += dt.GetInt32("size_wa");
dw_coll.SetItemDecimal(y, "collactive_amt", (coll_percent * dw_coll.GetItemDecimal(y, "collbase_amt")) / 100);
y++;
}
if (size_wa > 100)
{
size_ngan += (size_wa/100);
size_wa = (size_wa % 100);
}
if (size_ngan > 4)
{
size_rai += (size_ngan/4);
size_ngan = (size_ngan % 4);
}
TextBox1.Text = "เนื้อที่ รวม : "+size_rai+" ไร่ : "+size_ngan+" งาน : "+size_wa+" วา";
}
catch (Exception e)
{
LtServerMessage.Text = e.Message;
}
}
private DataTable getCountMember_no()
{
string memberno = dw_main.GetItemString(1, "member_no");
string sql = "select member_no from mbmembmaster where member_no Like '%" + memberno + "%'";
DataTable dt = WebUtil.Query(sql);
return dt;
}
///
/// ตรวจสอบการขอกู้ของสมาชิก
///
private Boolean of_isvalidmember(string member_no)
{
string sqlStr = "",
pauseloan_cause = "",
ls_memtypedesc = "",
ls_lnmemtypedesc = "",
membtype_code = "",
loancontract_no = "",
ls_loantype = "";
int resign_status = 0,
droploanall_flag = 0,
member_type = 0,
li_lnmemtype = 0;
string loantype_code = dw_main.GetItemString(1, "loantype_code");
sqlStr = @"select resign_status,
droploanall_flag,
member_type,
membtype_code
from mbmembmaster
where coop_id = {0}
and member_no = {1}";
sqlStr = WebUtil.SQLFormat(sqlStr, state.SsCoopControl, member_no);
Sdt dt1 = WebUtil.QuerySdt(sqlStr);
if (dt1.Next())
{
resign_status = dt1.GetInt32("resign_status");
droploanall_flag = dt1.GetInt32("droploanall_flag");
member_type = dt1.GetInt32("member_type");
membtype_code = dt1.GetString("membtype_code");
if (resign_status == 1)
{
LtServerMessage.Text = WebUtil.ErrorMessage("สมาชิกคนนี้ได้ลาออกแล้ว ไม่สามารถทำรายการกู้เงินได้อีก");
return false;
}
if (droploanall_flag == 1)
{
LtServerMessage.Text = WebUtil.ErrorMessage("สมาชิกคนนี้ งดกู้ทุกประเภท");
return false;
}
}
else
{
LtServerMessage.Text = WebUtil.ErrorMessage("ไม่พบเลขทะเบียนสมาชิกคนนี้ #" + member_no + " กรุณาตรวจสอบ");
return false;
}
// ตรวจสอบว่ามีการงดกู้บางประเภทหรือเปล่า
sqlStr = @"select pauseloan_cause
from lnmembpauseloan
where coop_id = {0}
and loantype_code = {1}
and member_no = {2}";
sqlStr = WebUtil.SQLFormat(sqlStr, state.SsCoopControl, loantype_code, member_no);
Sdt dt2 = WebUtil.QuerySdt(sqlStr);
if (dt2.Next())
{
pauseloan_cause = dt2.GetString("pauseloan_cause");
LtServerMessage.Text = WebUtil.ErrorMessage("สมาชิกคนนี้ เป็นสมาชิกที่งดกู้เงินประเภทนี้อยู่ เหตุผล " + pauseloan_cause);
return false;
}
sqlStr = @"select member_type
from lnloantype
where ( coop_id = {0} )
and ( loantype_code = {1} )";
sqlStr = WebUtil.SQLFormat(sqlStr, state.SsCoopControl, loantype_code);
Sdt dt3 = WebUtil.QuerySdt(sqlStr);
if (dt3.Next())
{
li_lnmemtype = dt3.GetInt32("member_type");
if (li_lnmemtype != 0)
{
if (member_type != li_lnmemtype)
{
if (member_type == 1)
{
ls_memtypedesc = "สมาชิกปกติ";
}
else
{
ls_memtypedesc = "สมาชิกสมทบ";
}
if (li_lnmemtype == 1)
{
ls_lnmemtypedesc = "สมาชิกปกติ";
}
else
{
ls_lnmemtypedesc = "สมาชิกสมทบ";
}
LtServerMessage.Text = WebUtil.ErrorMessage("สมาชิกคนนี้เป็น '" + ls_memtypedesc + "' ไม่สามารถกู้เงินประเภทนี้ได้ เงินกู้นี้ให้กู้ได้เฉพาะ '" + ls_lnmemtypedesc + "' เท่านั้น");
return false;
}
}
}
// ตรวจสอบกลุ่มย่อยของสมาชิกสมทบว่ากู้ได้หรือเปล่า
if (member_type == 2)
{
sqlStr = @"select membtype_code
from lnloantypembtype
where ( coop_id = {0} )
and ( loantype_code = {1} )
and ( membtype_code = {2} )";
sqlStr = WebUtil.SQLFormat(sqlStr, state.SsCoopControl, loantype_code, membtype_code);
Sdt dt4 = WebUtil.QuerySdt(sqlStr);
if (dt4.Rows.Count < 0)
{
LtServerMessage.Text = WebUtil.ErrorMessage("สมาชิกสมทบกลุ่มนี้ไม่ได้รับอนุญาติให้กู้เงินประเภทนี้ กรุณาตรวจสอบ");
return false;
}
}
sqlStr = @"select a.loancontract_no, a.loantype_code
from lncontmaster a, lnloantypepause b
where ( a.coop_id = b.coop_id )
and ( a.loantype_code = b.loantype_code )
and ( a.memcoop_id = {0} )
and ( a.member_no = {1} )
and ( a.contract_status > 0 )
and ( b.coop_id = {0} )
and ( b.loantype_pause = {2} )";
sqlStr = WebUtil.SQLFormat(sqlStr, state.SsCoopControl, member_no, loantype_code);
Sdt dt5 = WebUtil.QuerySdt(sqlStr);
if (dt5.Rows.Count < 0)
{
loancontract_no = dt5.GetString("loancontract_no");
ls_loantype = dt5.GetString("loantype_code");
LtServerMessage.Text = WebUtil.ErrorMessage("สมาชิกคนนี้มีเงินกู้ " + loancontract_no + "(" + ls_loantype + ") อยู่ ไม่สามารถกู้เงินประเภทนี้ได้อีก");
return false;
}
return true;
}
///
/// set ข้อมูลสมาชิก
///
private void of_setmemberinfo(string member_no)
{
try
{
string ls_membtypedesc = "";
decimal ldc_sharestk = 0, ldc_periodshramt = 0, ldc_shrstkvalue = 0, ldc_periodshrvalue = 0;
decimal ldc_retryage = 0;
DateTime ldtm_birth = DateTime.Now, ldtm_reqdate;
ldtm_reqdate = dw_main.GetItemDateTime(1, "loanrequest_date");
String sqlstr = @"select mbmembmaster.coop_id,
mbmembmaster.member_no,
mbmembmaster.membgroup_code,
mbucfmembgroup.membgroup_desc ,
nvl(mbmembmaster.birth_date,to_date('01/01/1975','dd/mm/yyyy')) as birth_date,
nvl(mbmembmaster.member_date,to_date('01/01/2011','dd/mm/yyyy')) as member_date,
(ft_calage(birth_date,to_date('2016-02-24 00:00:00', 'yyyy-mm-dd hh24:mi:ss'),4 )) as birth_age,
(ft_calage(member_date,to_date('2016-02-24 00:00:00', 'yyyy-mm-dd hh24:mi:ss'),8 )) as member_age,
mbmembmaster.salary_amount,
mbmembmaster.membtype_code,
mbucfmembtype.membtype_desc,
shsharemaster.last_period,
shsharemaster.sharestk_amt,
shsharemaster.periodshare_amt,
mbucfprename.prename_desc||mbmembmaster.memb_name||' '||mbmembmaster.memb_surname as member_name,
shsharemaster.payment_status,
mbmembmaster.remark,
mbmembmaster.rememb_flag,
mbmembmaster.retry_status
from mbmembmaster,
mbucfmembgroup,
mbucfprename,
mbucfmembtype,
shsharemaster
where ( mbmembmaster.coop_id = mbucfmembgroup.coop_id )
and ( trim(mbmembmaster.membgroup_code) = trim(mbucfmembgroup.membgroup_code) )
and ( mbmembmaster.prename_code = mbucfprename.prename_code )
and ( mbmembmaster.coop_id = mbucfmembtype.coop_id )
and trim( mbmembmaster.membtype_code) = trim(mbucfmembtype.membtype_code)
and ( mbmembmaster.coop_id = shsharemaster.coop_id )
and ( mbmembmaster.member_no = shsharemaster.member_no )
and ( ( mbmembmaster.coop_id = {0} )
and ( mbmembmaster.member_no = {1} )
and ( shsharemaster.sharetype_code = '01' ) )";
sqlstr = WebUtil.SQLFormat(sqlstr, state.SsCoopControl, member_no, ldtm_reqdate);
Sdt dt = WebUtil.QuerySdt(sqlstr);
if (dt.Next())
{
ldc_retryage = dt.GetDecimal("retry_age");
if (ldc_retryage < 0)
{
ldc_retryage = 0;
}
ldc_sharestk = dt.GetDecimal("sharestk_amt");
ldc_periodshramt = dt.GetDecimal("periodshare_amt");
ls_membtype = dt.GetString("membtype_code");
ls_membtypedesc = dt.GetString("membtype_desc");
ldc_shrstkvalue = ldc_sharestk * 10;
ldc_periodshrvalue = ldc_periodshramt * 10;
if (dt.GetInt32("payment_status") != 1)
{
ldc_periodshrvalue = 0;
}
dw_main.SetItemString(1, "coop_id", dt.GetString("coop_id"));
dw_main.SetItemString(1, "member_name", dt.GetString("member_name"));
dw_main.SetItemString(1, "membgroup_code", dt.GetString("membgroup_code"));
dw_main.SetItemString(1, "membgroup_desc", dt.GetString("membgroup_desc"));
dw_main.SetItemDecimal(1, "salary_amt", dt.GetDecimal("salary_amount"));
dw_main.SetItemDecimal(1, "share_lastperiod", dt.GetInt32("last_period"));
dw_main.SetItemDateTime(1, "birth_date", dt.GetDate("birth_date"));
dw_main.SetItemDateTime(1, "member_date", dt.GetDate("member_date"));
dw_main.SetItemDecimal(1, "retry_status", dt.GetInt32("retry_status"));
dw_main.SetItemDecimal(1, "birth_age", dt.GetDecimal("birth_age"));
dw_main.SetItemDecimal(1, "member_age", dt.GetDecimal("member_age"));
dw_main.SetItemDecimal(1, "incomemonth_other", 0);
dw_main.SetItemDecimal(1, "paymonth_other", 0);
// dw_main.SetItemString(1, "member_remark", dt.GetString("remark"));
dw_main.SetItemDecimal(1, "share_balance", ldc_shrstkvalue);
dw_main.SetItemDecimal(1, "share_periodvalue", ldc_periodshrvalue);
dw_main.SetItemDecimal(1, "intestimate_amt", 0);
dw_main.SetItemDecimal(1, "rememb_flag", dt.GetInt32("rememb_flag"));
}
// //set เงินหักเงินเพิ่ม
// sqlstr = @"select nvl(sum( case when sign_flag = 1 then mthexpense_amt else 0 end ), 0) as incomemonth_fixed ,
// nvl(sum( case when sign_flag = -1 then mthexpense_amt else 0 end ), 0) as paymonth_exp
// from mbmembmthexpense
// where coop_id = {0}
// and member_no = {1}";
// sqlstr = WebUtil.SQLFormat(sqlstr, state.SsCoopControl, member_no);
// dt = WebUtil.QuerySdt(sqlstr);
// if (dt.Next())
// {
// decimal paymonth_exp = dt.GetDecimal("paymonth_exp");
// dw_main.SetItemDecimal(1, "incomemonth_fixed", dt.GetDecimal("incomemonth_fixed"));
// dw_main.SetItemDecimal(1, "paymonth_exp", paymonth_exp);
// Hdpaymouthexp.Value = Convert.ToString(paymonth_exp);
// }
of_initexpense(member_no);
}
catch (Exception ex)
{
LtServerMessage.Text = WebUtil.ErrorMessage("of_setmemberinfo" + ex);
}
}
///
/// init ประเภทการจ่ายเงิน
///
private void of_initexpense(string as_membno)
{
try
{
string strsql = @"select expense_code, expense_bank, expense_branch, expense_accid
from mbmembmaster where member_no = '" + as_membno + "'";
Sdt dtloanrcv = WebUtil.QuerySdt(strsql);
if (dtloanrcv.GetRowCount() <= 0)
{
LtServerMessage.Text = WebUtil.WarningMessage("ไม่พบเลขที่บัญชีเงินธนาคารของสมาชิก " + as_membno);
}
if (dtloanrcv.Next())
{
string loanrcv_code = "", loanrcv_bank = "";
try { loanrcv_code = dw_main.GetItemString(1, "expense_code"); }
catch { loanrcv_code = ""; }
if (loanrcv_code == "" || loanrcv_code == null) { loanrcv_code = dtloanrcv.GetString("expense_code"); }
try { loanrcv_bank = dw_main.GetItemString(1, "expense_bank"); }
catch { loanrcv_bank = ""; }
if (loanrcv_bank == "" || loanrcv_bank == null) { 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);
dw_main.SetItemString(1, "expense_bank", loanrcv_bank);
if (loanrcv_branch == "" || loanrcv_branch == null)
{
DwUtil.RetrieveDDDW(dw_main, "expense_branch_1", "sl_loan_requestment_dol.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_dol.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();
JsExpensebankbrRetrieve();
}
}
if (loanrcv_code == "CBO" && 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();
JsExpensebankbrRetrieve();
}
}
}
}
catch { }
if(state.SsCoopId =="000401"){
dw_main.SetItemString(1, "expense_code", "CSH");
}
}
///
/// set ข้อมูลประเภทเงินกู้
///
private void of_setloantypeinfo(string loantype_code)
{
try
{
string ls_salarycode = "", ls_intratetab = "", ls_intfixtab, ls_lnpermgrp;
int li_apvflag = 0, li_salarychk = 0, li_chkdept, li_inttype = 0, li_intsteptype = 0;
int li_intcertstatus, li_intcertlntype = 0, li_lnpaycount = 0;
decimal ldc_minsalamt, ldc_minsalinc = 0, ldc_salamt, ldc_maxloan;
decimal ldc_minsalperc, ldc_intincrease = 0, ldc_intfixrate = 0, ldc_idenintrate = 0;
DateTime ldtm_reqdate;
string sqlStr;
ii_apvtype = 0;
ldtm_reqdate = dw_main.GetItemDateTime(1, "loanrequest_date");
sqlStr = @"select lnt.defaultobj_code,
lnt.salarybal_status,
lnt.salarybal_code, lnt.loangroup_code,
lnt.loanright_type,
lnt.loanpayment_type,
lnt.contract_time,
lnt.od_flag,
lnt.intstep_type,
lnt.intcertificate_status,
lnt.approve_flag,
ft_getlntypintrate({0}, {1},1,{2},1) as idenintrate,
lnt.contint_type,
lnt.inttabrate_code,
lnt.inttabfix_code,
lnt.intrate_increase,
lnt.loanpayment_type,
lnt.loanpayment_status,
lnt.reqround_factor,
lnt.payround_factor,
lnt.inttabfix_code,
lnt.lngrpcutright_flag,
lnt.inttabrate_code,
lnt.resign_timeadd,
lnt.retryloansend_time,
lnt.retryloansend_type,
lnt.loanpayment_count,
lnt.loanpermgrp_code,
lnc.fixpaycal_type,
lnt.maxloan_amt
from lnloantype lnt,
lnloanconstant lnc
where lnt.coop_id = lnc.coop_id
and lnt.coop_id = {0}
and lnt.loantype_code = {1}";
sqlStr = WebUtil.SQLFormat(sqlStr, state.SsCoopControl, loantype_code, ldtm_reqdate);
Sdt dtlntype = WebUtil.QuerySdt(sqlStr);
if (dtlntype.Next())
{
li_salarychk = dtlntype.GetInt32("salarybal_status");
ls_salarycode = dtlntype.GetString("salarybal_code");
li_intcertlntype = dtlntype.GetInt32("intcertificate_status");
li_apvflag = dtlntype.GetInt32("approve_flag");
try
{
ldc_idenintrate = dtlntype.GetDecimal("idenintrate");
}
catch { ldc_idenintrate = 0; }
//HARD CODE พ.ศ
string sqlyear = @"select account_year from cmaccountyear where {0} between accstart_date and accend_date and coop_id={1}";
sqlyear = WebUtil.SQLFormat(sqlyear,state.SsWorkDate,state.SsCoopId);
Sdt dt3_year = WebUtil.QuerySdt(sqlyear);
String year = Convert.ToString(state.SsWorkDate.Year + 543).Substring(2, 2);
if (dt3_year.Next())
{
year = dt3_year.GetString("account_year").Substring(2, 2);
}
if (dtlntype.GetString("loangroup_code") == "01")
{
dw_main.SetItemString(1,"loancontract_no","1"+year+"/");
}
else if (dtlntype.GetString("loangroup_code") == "02")
{
// String year = Convert.ToString(state.SsWorkDate.Year+543).Substring(2, 2);
dw_main.SetItemString(1, "loancontract_no", "2" + year + "/");
}
else if (dtlntype.GetString("loangroup_code") == "03")
{
// String year = Convert.ToString(state.SsWorkDate.Year + 543).Substring(2, 2);
dw_main.SetItemString(1, "loancontract_no", "3" + year + "/");
}
li_inttype = dtlntype.GetInt32("contint_type");
ls_intratetab = dtlntype.GetString("inttabrate_code");
ls_intfixtab = dtlntype.GetString("inttabfix_code");
ldc_intincrease = dtlntype.GetDecimal("intrate_increase");
li_lnpaycount = dtlntype.GetInt32("loanpayment_count");
ldc_maxloan = dtlntype.GetDecimal("maxloan_amt");
// กำหนดรายละเอียดทั่วไปลงใบขอกู้
dw_main.SetItemDecimal(1, "loanright_type", dtlntype.GetInt32("loanright_type"));
dw_main.SetItemDecimal(1, "loanpayment_type", dtlntype.GetInt32("loanpayment_type"));
dw_main.SetItemDecimal(1, "contract_time", dtlntype.GetInt32("contract_time"));
dw_main.SetItemString(1, "loanobjective_code", "01");
dw_main.SetItemDecimal(1, "od_flag", dtlntype.GetInt32("od_flag"));
dw_main.SetItemDecimal(1, "int_intsteptype", dtlntype.GetInt32("intstep_type"));
dw_main.SetItemDecimal(1, "retryloansend_type", dtlntype.GetInt32("retryloansend_type"));
dw_main.SetItemDecimal(1, "lnoverretry_period", dtlntype.GetInt32("retryloansend_time"));
dw_main.SetItemDecimal(1, "reqround_factor", dtlntype.GetDecimal("reqround_factor"));
dw_main.SetItemDecimal(1, "payround_factor", dtlntype.GetDecimal("payround_factor"));
dw_main.SetItemDecimal(1, "fixpaycal_type", dtlntype.GetInt32("fixpaycal_type"));
//dw_main.SetItemDecimal(1, "intcertlntype_status", li_intcertlntype);
//dw_main.SetItemDecimal(1, "intcertificate_status", li_intcertstatus);
ls_lnpermgrp = dtlntype.GetString("loanpermgrp_code");
if (ls_lnpermgrp != null && ls_lnpermgrp != "")
{
sqlStr = @"select maxpermiss_amt from lngrploanpermiss
where coop_id = {0}
and loanpermgrp_code = {1}";
sqlStr = WebUtil.SQLFormat(sqlStr, state.SsCoopControl, ls_lnpermgrp);
Sdt dt = WebUtil.QuerySdt(sqlStr);
if (dt.Next())
{
dw_main.SetItemDecimal(1, "loangrpcredit_amt", dt.GetDecimal("maxpermiss_amt"));
}
else
{
dw_main.SetItemDecimal(1, "loangrpcredit_amt", 999999999999);
}
}
else
{
dw_main.SetItemDecimal(1, "loangrpcredit_amt", 999999999999);
}
}
ldc_minsalperc = 0;
ldc_minsalamt = 0;
if (li_intcertlntype == 1)
{
li_intcertstatus = 1;
}
else
{
li_intcertstatus = 0;
}
//กำหนดรูปแบบการชำระ
if (li_lnpaycount == 0)
{
dw_main.SetItemString(1, "loanpay_code", "KOT");
}
else
{
dw_main.SetItemString(1, "loanpay_code", "KEP");
}
// การให้อนุมัติเลย
if (li_apvflag == 1)
{
if (ii_apvtype == 0)
{
ii_apvtype = 1;
}
dw_main.SetItemDecimal(1, "apvimmediate_status", ii_apvtype);
}
else
{
ii_apvtype = 0;
dw_main.SetItemDecimal(1, "apvimmediate_status", 0);
}
// อัตรา ด/บ ที่ใช้ในสัญญา
dw_main.SetItemDecimal(1, "identifycont_intrate", ldc_idenintrate);
switch (li_inttype)
{
case 0:
// ไม่คิดด/บ
dw_main.SetItemDecimal(1, "int_continttype", li_inttype);
dw_main.SetItemDecimal(1, "int_contintrate", 0);
dw_main.SetItemString(1, "int_continttabcode", "");
dw_main.SetItemDecimal(1, "int_contintincrease", 0);
break;
case 1:
// อัตรา ด/บ คงที่
//ldc_intfixrate = inv_intsrv.of_getloanintrate( ls_intfixtab, ldtm_reqdate )
dw_main.SetItemDecimal(1, "int_continttype", li_inttype);
dw_main.SetItemDecimal(1, "int_contintrate", ldc_intfixrate);
dw_main.SetItemString(1, "int_continttabcode", "");
dw_main.SetItemDecimal(1, "int_contintincrease", 0);
break;
case 2:
// อัตรา ด/บ ตามประกาศ
dw_main.SetItemDecimal(1, "int_continttype", li_inttype);
dw_main.SetItemDecimal(1, "int_contintrate", 0);
dw_main.SetItemString(1, "int_continttabcode", ls_intratetab);
dw_main.SetItemDecimal(1, "int_contintincrease", ldc_intincrease);
break;
case 3:
// อัตรา ด/บ พิเศษเป็นช่วง
dw_main.SetItemDecimal(1, "int_continttype", li_inttype);
dw_main.SetItemDecimal(1, "int_contintrate", 0);
dw_main.SetItemString(1, "int_continttabcode", "");
dw_main.SetItemDecimal(1, "int_contintincrease", 0);
sqlStr = @"select coop_id, seq_no,
inttime_type, inttime_amt,
intrate_type, intratetab_code,
intratefix_rate, intrate_increase,
inttabrate_code
from lnloantypeintspc
where coop_id = {0}
and loantype_code = {1}";
sqlStr = WebUtil.SQLFormat(sqlStr, state.SsCoopControl, loantype_code);
Sdt dt3 = WebUtil.QuerySdt(sqlStr);
int i = 0;
while (dt3.Next())
{
i = dw_intspc.InsertRow(0);
dw_intspc.SetItemString(i, "coop_id", state.SsCoopControl);
dw_intspc.SetItemDecimal(i, "seq_no", i);
dw_intspc.SetItemDecimal(i, "int_continttype", dt3.GetInt32("intrate_type"));
dw_intspc.SetItemDecimal(i, "int_contintrate", dt3.GetDecimal("intratefix_rate"));
dw_intspc.SetItemString(i, "int_continttabcode", dt3.GetString("intratetab_code"));
dw_intspc.SetItemDecimal(i, "int_contintincrease", dt3.GetDecimal("intrate_increase"));
dw_intspc.SetItemDecimal(i, "int_timetype", dt3.GetInt32("inttime_type"));
dw_intspc.SetItemDecimal(i, "int_timeamt", dt3.GetInt32("inttime_amt"));
i++;
}
break;
case 4:
// อัตรา ด/บ ตามประกาศของเงินฝาก
dw_main.SetItemDecimal(1, "int_continttype", li_inttype);
dw_main.SetItemDecimal(1, "int_contintrate", 0);
dw_main.SetItemString(1, "int_continttabcode", ls_intratetab);
dw_main.SetItemDecimal(1, "int_contintincrease", ldc_intincrease);
break;
case 5:
// อัตรา ด/บ ตามเงินฝากที่มาใช้กู้
dw_main.SetItemDecimal(1, "int_continttype", li_inttype);
dw_main.SetItemDecimal(1, "int_contintrate", 0);
dw_main.SetItemString(1, "int_continttabcode", "");
dw_main.SetItemDecimal(1, "int_contintincrease", ldc_intincrease);
break;
};
}
catch (Exception ex)
{
LtServerMessage.Text = WebUtil.ErrorMessage("of_setloantypeinfo" + ex);
}
}
///
/// set ข้อมูลหักกลบ
///
private void of_initloanclr(string member_no)
{
string ls_loantype, ls_lntypeclr;
int li_lastperiod, li_minperiod, li_finetype;
int ll_row = 0;
decimal ldc_apvamt, ldc_wtdamt, ldc_prnbal;
decimal ldc_intrate, ldc_intestim, ldc_payperc;
decimal ldc_minpercent, ldc_fineamt, ldc_fineperc, ldc_finemax, ldc_finemin;
Boolean lb_period = true, lb_payment = true;
string sqlStr, ls_clr = "";
try
{
sqlStr = @"select lm.coop_id, lm.loancontract_no, lm.loantype_code,
lm.loanapprove_amt, lm.withdrawable_amt, lm.principal_balance,
lm.loanpayment_type, lm.period_payment, lm.last_periodpay,
nvl( lm.lastcalint_date, to_date('19000101','yyyymmdd') ) as lastcalint_date, lm.interest_arrear,
nvl( lm.lastprocess_date, to_date('19000101','yyyymmdd') ) as lastprocess_date, lm.rkeep_principal,
lm.rkeep_interest, lm.contract_status, lm.transfer_status, lm.loanpay_code,
ft_getcontintrate( lm.coop_id, lm.loancontract_no, lm.lastcalint_date ) as contint_rate,
lt.loanpermgrp_code, lt.shrstkcount_flag , nvl( lm.startcont_date, to_date('19000101','yyyymmdd') ) as startcont_date,
nvl( lm.loanapprove_date, to_date('19000101','yyyymmdd') ) as loanapprove_date
from lncontmaster lm, lnloantype lt
where ( lm.coop_id = lt.coop_id )
and ( lm.loantype_code = lt.loantype_code )
and ( lm.memcoop_id = {0} )
and ( lm.member_no = {1} )
and ( lm.contract_status > 0 )
order by lm.loantype_code";
sqlStr = WebUtil.SQLFormat(sqlStr, state.SsCoopControl, member_no);
Sdt dt = WebUtil.QuerySdt(sqlStr);
while (dt.Next())
{
ll_row = dw_clear.InsertRow(0);
ldc_prnbal = dt.GetDecimal("principal_balance");
ldc_intrate = dt.GetDecimal("contint_rate");
dw_clear.SetItemString(ll_row, "loanpermgrp_code", dt.GetString("loanpermgrp_code"));
dw_clear.SetItemDecimal(ll_row, "shrstkcount_flag", dt.GetInt32("shrstkcount_flag"));
dw_clear.SetItemString(ll_row, "concoop_id", dt.GetString("coop_id"));
dw_clear.SetItemString(ll_row, "loancontract_no", dt.GetString("loancontract_no"));
dw_clear.SetItemString(ll_row, "loantype_code", dt.GetString("loantype_code"));
dw_clear.SetItemDecimal(ll_row, "loanapprove_amt", dt.GetDecimal("loanapprove_amt"));
//dw_clear.SetItemDecimal(ll_row, "loanapprove_date", dt.GetDecimal("loanapprove_date"));
dw_clear.SetItemDateTime(ll_row, "startcont_date", dt.GetDate("startcont_date"));
dw_clear.SetItemDecimal(ll_row, "principal_balance", ldc_prnbal);
dw_clear.SetItemDecimal(ll_row, "withdrawable_amt", dt.GetDecimal("withdrawable_amt"));
dw_clear.SetItemDecimal(ll_row, "loanpayment_type", dt.GetInt32("loanpayment_type"));
dw_clear.SetItemDecimal(ll_row, "period_payment", dt.GetDecimal("period_payment"));
dw_clear.SetItemDecimal(ll_row, "last_periodpay", dt.GetInt32("last_periodpay"));
dw_clear.SetItemString(ll_row, "loanpay_code", dt.GetString("loanpay_code"));
// dw_clear.SetItemDateTime(ll_row, "lastcalint_date", dt.GetDate("lastcalint_date"));
dw_clear.SetItemDecimal(ll_row, "intarrear_amt", dt.GetDecimal("intarrear_amt"));
dw_clear.SetItemDecimal(ll_row, "intestimate_rate", ldc_intrate);
//dw_clear.SetItemDateTime(ll_row, "lastprocess_date", dt.GetDate("lastprocess_date"));
dw_clear.SetItemDecimal(ll_row, "rkeep_principal", dt.GetDecimal("rkeep_principal"));
dw_clear.SetItemDecimal(ll_row, "rkeep_interest", dt.GetDecimal("rkeep_interest"));
dw_clear.SetItemDecimal(ll_row, "contract_status", dt.GetInt32("contract_status"));
dw_clear.SetItemDecimal(ll_row, "clear_status", 0);
dw_clear.SetItemDecimal(ll_row, "clear_amount", 0);
dw_clear.SetItemDecimal(ll_row, "fine_amt", 0);
dw_clear.SetItemDecimal(ll_row, "transfer_status", dt.GetInt32("transfer_status"));
// ด/บ ประมาณการ 30 วัน สำหรับประมาณการชำระ / เดือน
ldc_intestim = Convert.ToDecimal(Convert.ToDouble(ldc_prnbal) * (Convert.ToDouble(ldc_intrate) / 100.00) * (30.00 / 365.00));
dw_clear.SetItemDecimal(ll_row, "intestimate_amt", ldc_intestim);
//
//เพิ่ม :
}
sqlStr = @"select loantype_clear, minperiod_pay, minpercent_pay, finecond_type, fine_amt, fine_percent, fine_maxamt
from lnloantypeclr
where ( coop_id = {0} )
and ( loantype_code = {1} )";
sqlStr = WebUtil.SQLFormat(sqlStr, state.SsCoopControl, dw_main.GetItemString(1, "loantype_code"));
Sdt dt1 = WebUtil.QuerySdt(sqlStr);
while (dt1.Next())
{
ls_lntypeclr = dt1.GetString("loantype_clear");
for (int i = 1; i <= dw_clear.RowCount; i++)
{
ls_loantype = dw_clear.GetItemString(i, "loantype_code");
if (ls_lntypeclr == ls_loantype)
{
li_minperiod = dt1.GetInt32("minperiod_pay");
ldc_minpercent = dt1.GetDecimal("minpercent_pay");
ldc_apvamt = dw_clear.GetItemDecimal(i, "loanapprove_amt");
ldc_wtdamt = dw_clear.GetItemDecimal(i, "withdrawable_amt");
ldc_prnbal = dw_clear.GetItemDecimal(i, "principal_balance");
li_lastperiod = Convert.ToInt32(dw_clear.GetItemDecimal(i, "last_periodpay"));
// % การชำระ (คิดจากยอดรับเงินไปแล้ว เทียบกับยอดคงเหลือ)
ldc_payperc = (((ldc_apvamt - ldc_wtdamt) - ldc_prnbal) / (ldc_apvamt - ldc_wtdamt)) * 100;
// ตรวจสอบว่างวดชำระถึงที่กำหนดหรือเปล่า
if (li_lastperiod < li_minperiod || ldc_payperc < ldc_minpercent)
{
if (li_lastperiod < li_minperiod)
{
lb_period = false;
}
if (ldc_payperc < ldc_minpercent)
{
lb_payment = false;
}
//เตือนชำระไม่ถึงกำหนด
if (lb_period == false || lb_payment == false)
{
string ls_contno = dw_clear.GetItemString(i, "loancontract_no");
ls_clr += "\\nสัญญา " + ls_contno + " งวดชำระแล้ว = " + li_lastperiod.ToString() + ", %ชำระแล้ว = " + ldc_payperc.ToString("#,##0.00") + "%";
}
li_finetype = dt1.GetInt32("finecond_type");
ldc_fineperc = dt1.GetDecimal("fine_percent");
ldc_finemin = dt1.GetDecimal("fine_amt");
ldc_finemax = dt1.GetDecimal("fine_maxamt");
if ((li_finetype == 1 && (lb_period == false || lb_payment == false)) || (li_finetype == 2 && lb_period == false && lb_payment == false))
{
// ส่วนของค่าปรับกรณีชำระไม่ครบตามที่กำหนด
ldc_fineamt = ldc_prnbal * (ldc_fineperc / 100);
if (ldc_fineamt < ldc_finemin) { ldc_fineamt = ldc_finemin; }
if (ldc_fineamt > ldc_finemax) { ldc_fineamt = ldc_finemax; }
dw_clear.SetItemDecimal(i, "fine_amt", ldc_fineamt);
if (ldc_fineamt > 0)
{
ls_clr += " ต้องคิดค่าบริการ เป็นจำนวนเงิน " + ldc_fineamt.ToString("#,##0.00");
}
}
}
dw_clear.SetItemDecimal(i, "clear_status", 0);
dw_clear.SetItemDecimal(i, "clear_amount", dw_clear.GetItemDecimal(i, "principal_balance"));
}
}
if (ls_clr != "")
{
is_massalert = "\\nมีสัญญาเก่าชำระหนี้ไม่ถึงตามที่กำหนด " + ls_clr;
}
}
of_setclearintreal();
}
catch (Exception ex)
{
// LtServerMessage.Text = WebUtil.ErrorMessage("of_initloanclr" + ex);
}
}
///
/// set สิทธิ์กู้
///
private void of_initloancredit(string as_loantype)
{
try
{
string ls_memno, ls_ccdtno;
int li_mintime = 0, li_membtime, li_ccdtperiod;
int li_righttype = 0, li_timefrom = 0, li_righttime = 0, li_resignaddtime = 0, li_remembflag;
decimal ldc_salary, ldc_shrstkvalue, ldc_permissamt = 0;
DateTime ldtm_membdate, ldtm_workdate, ldtm_expcont, ldtm_rqdate;
string sqlStr;
sqlStr = @"select loanright_type, customtime_type, member_time, resign_timeadd, maxloan_amt
from lnloantype
where ( coop_id = {0} )
and ( loantype_code = {1} )";
sqlStr = WebUtil.SQLFormat(sqlStr, state.SsCoopControl, as_loantype);
Sdt dt = WebUtil.QuerySdt(sqlStr);
if (dt.Next())
{
li_mintime = dt.GetInt32("member_time");
li_resignaddtime = dt.GetInt32("resign_timeadd");
li_righttype = dt.GetInt32("loanright_type");
li_timefrom = dt.GetInt32("customtime_type");
}
// ดึงค่าต่างๆ ที่ใช้ในการคำนวณสิทธิ
ldc_salary = dw_main.GetItemDecimal(1, "salary_amt");
if (dw_main.IsItemNull(1, "rememb_flag"))
{
li_remembflag = 0;
}
else
{
li_remembflag = Convert.ToInt32(dw_main.GetItemDecimal(1, "rememb_flag"));
}
//ldtm_membdate = dw_main.GetItemDateTime(1, "member_date");
//ldtm_workdate = dw_main.GetItemDateTime(1, "work_date");
switch (li_righttype)
{
case 1:// แบบดูจากหลักประกัน
case 4:// แบบดูจากเงินฝาก
ls_memno = dw_main.GetItemString(1, "member_no");
// this.SetOnLoadedScript("Gcoop.OpenIFrame2Extend('760', '600', 'ws_dlg_rightcoll.aspx', '?memb_no=" + ls_memno + "&loan_type=" + as_loantype + "')");
ibl_step = false;
break;
case 2:// แบบกำหนดเอง
ldc_shrstkvalue = dw_main.GetItemDecimal(1, "share_balance");
switch (li_timefrom)
{
case 1: // อายุการเป็นสมาชิก
li_righttime = Convert.ToInt32(dw_main.GetItemDecimal(1, "member_age"));
break;
//case 2: // อายุการทำงาน
// li_righttime = Convert.ToInt32(dw_main.GetItemDecimal(1, "work_age"));
// break;
case 2: // งวดหุ้น
li_righttime = Convert.ToInt32(dw_main.GetItemDecimal(1, "share_lastperiod"));
break;
}
ldc_permissamt = this.of_callncredit_custom(as_loantype, li_righttime, ldc_shrstkvalue, ldc_salary);
break;
case 3:// แบบดูจากสัญญาหลัก
ls_memno = dw_main.GetItemString(1, "member_no");
ldtm_rqdate = dw_main.GetItemDateTime(1, "loanrequest_date");
sqlStr = @"select contcredit_no, loancreditbal_amt, expirecont_date, maxperiod_payamt , loanrcv_code , loanrcv_bank , loanrcv_branch , loanrcv_accid
from lncontcredit
where ( coop_id = {0} )
and ( member_no = {1} )
and ( loantype_code = {2} )
and ( contcredit_status = 1 )
order by contcredit_no desc";
sqlStr = WebUtil.SQLFormat(sqlStr, state.SsCoopControl, ls_memno, as_loantype);
Sdt dt1 = WebUtil.QuerySdt(sqlStr);
if (dt1.Next())
{
ls_ccdtno = dt1.GetString("contcredit_no");
ldc_permissamt = dt1.GetDecimal("loancreditbal_amt");
ldtm_expcont = dt1.GetDate("expirecont_date");
li_ccdtperiod = dt1.GetInt32("maxperiod_payamt");
}
else
{
LtServerMessage.Text = WebUtil.ErrorMessage("ไม่พบข้อมูลวงเงินกู้ในสัญญาหลักของสมาชิกทะเบียน " + ls_memno + " ประเภทเงินกู้ " + as_loantype + " กรุณาไปกำหนดวงเงินกู้ก่อน");
break;
}
if (ldtm_expcont < ldtm_rqdate)
{
LtServerMessage.Text = WebUtil.ErrorMessage("สัญญา " + ls_ccdtno + " หมดอายุสัญญาไปแล้ว วันที่ " + ldtm_expcont.ToString("dd/mm/") + ldtm_expcont.ToString("yyyy") + 543);
}
// เพราะดูจากสัญญาหลัก ถ้าไม่ error ให้ใส่ค่าให้เลย
dw_main.SetItemDecimal(1, "maxperiod_payamt", li_ccdtperiod);
dw_main.SetItemDecimal(1, "maxsend_payamt", li_ccdtperiod);
dw_main.SetItemString(1, "ref_contmastno", ls_ccdtno);
dw_main.SetItemString(1, "expense_code", dt1.GetString("loanrcv_code"));
dw_main.SetItemString(1, "expense_bank", dt1.GetString("loanrcv_bank"));
dw_main.SetItemString(1, "expense_branch", dt1.GetString("loanrcv_branch"));
dw_main.SetItemString(1, "expense_accid", dt1.GetString("loanrcv_accid"));
break;
}
dw_main.SetItemDecimal(1, "loancredit_amt", 10000000);
dw_main.SetItemDecimal(1, "loanreqregis_amt", 10000000);
}
catch (Exception ex)
{
LtServerMessage.Text = WebUtil.ErrorMessage("of_callncredit" + ex);
}
}
///
/// คำนวณสิทธิ์กู้
///
private decimal of_callncredit_custom(string as_lntypereq, int ai_righttime, decimal adc_sharestk, decimal adc_salary)
{
string sqlStr;
decimal ldc_maxpermiss = 0, ldc_permiss, ldc_abspermiss = 0;
decimal ldc_mulsalary, ldc_mulshare;
try
{
// สิทธิกู้สุทธิกำหนดให้ unlimit ไว้ก่อน
ldc_abspermiss = 99999999999;
sqlStr = @"select multiple_share, multiple_salary, maxloan_amt
from lnloantypecustom
where ( coop_id = {0} )
and ( loantype_code = {1} )
and ( {2} between startmember_time and endmember_time )
and ( {3} between startshare_amt and endshare_amt )
and ( {4} between startsalary_amt and endsalary_amt )";
sqlStr = WebUtil.SQLFormat(sqlStr, state.SsCoopControl, as_lntypereq, ai_righttime, adc_sharestk, adc_salary);
Sdt dt = WebUtil.QuerySdt(sqlStr);
while (dt.Next())
{
// สิทธิกู้ขั้นนี้
ldc_mulshare = dt.GetDecimal("multiple_share");
// ldc_mulsalary = dt.GetDecimal("multiple_salary");
ldc_maxpermiss = dt.GetDecimal("maxloan_amt");
ldc_abspermiss = ldc_maxpermiss;
}
}
catch (Exception ex) { LtServerMessage.Text = WebUtil.ErrorMessage("of_callncredit_custom" + ex); }
return ldc_abspermiss;
}
///
/// set ยอดขอกู้
///
private void of_initpermiss()
{
try
{
decimal ldc_permissamt, ldc_grpuse, ldc_maxloan = 0, ldc_request = 0, ldc_loancredit, ldc_grpcredit, ldc_loanregis, ldc_collperc, ldc_sharestk, ldc_temp;
decimal ldc_loanreq, ldc_roundfacter = 0;
string ls_permissgrp = "", ls_loantype;
int li_kpsumflag = 0, li_lngrpcutright = 0, li_notmoreshare = 0, li_showright, li_roundtype = 0;
string sqlStr;
ls_loantype = dw_main.GetItemString(1, "loantype_code");
ldc_loancredit = dw_main.GetItemDecimal(1, "loancredit_amt");
ldc_grpcredit = dw_main.GetItemDecimal(1, "loangrpcredit_amt");
ldc_loanregis = dw_main.GetItemDecimal(1, "loanreqregis_amt");
ldc_request = dw_main.GetItemDecimal(1, "loanrequest_amt");
Decimal coll_percen = 0;
sqlStr = @"select lngrpcutright_flag, notmoreshare_flag, maxloan_amt, loanpermgrp_code, lngrpkeepsum_flag, showright_flag,
reqround_factor, reqround_type
from lnloantype
where ( coop_id = {0} )
and ( loantype_code = {1} )";
sqlStr = WebUtil.SQLFormat(sqlStr, state.SsCoopControl, ls_loantype);
Sdt dt = WebUtil.QuerySdt(sqlStr);
if (dt.Next())
{
li_lngrpcutright = dt.GetInt32("lngrpcutright_flag");
li_notmoreshare = dt.GetInt32("notmoreshare_flag");
ldc_maxloan = dt.GetDecimal("maxloan_amt");
ls_permissgrp = dt.GetString("loanpermgrp_code");
li_kpsumflag = dt.GetInt32("lngrpkeepsum_flag");
li_showright = dt.GetInt32("showright_flag");
li_roundtype = dt.GetInt32("reqround_type");
ldc_roundfacter = dt.GetDecimal("reqround_factor");
}
//lngrpcutright_flag ขอกู้ได้ไม่เกินวงเงินกู้กลุ่ม
//notmoreshare_flag กู้ได้ไม่เกินหุ้นที่มี
//maxloan_amt วงเงินกู้สูงสุดของเงินกู้ประเภทนี้
//loanpermgrp_code เงินกู้ประเภทนี้อยู่ในกลุ่มเงินกู้รหัสอะไร
//lngrpkeepsum_flag การนับเงินกู้รวมใช้ไปหักยอดรอเรียกเก็บหรือเปล่า
//showright_flag แสดงสิทธิกู้ตอนคำนวณสิทธิ์เสร็จแล้วหรือเปล่า
ldc_permissamt = ldc_maxloan;
// วงเงินกู้รวมใช้ไป
ldc_grpuse = of_calpermissloangrpused(ls_permissgrp, li_kpsumflag);
// ตรวจว่าต้องตัดยอดขอกู้จากยอดกู้กลุ่มหรือไม่
if (li_lngrpcutright == 1)
{
if (ldc_permissamt > (ldc_loancredit - ldc_grpuse))
{
ldc_permissamt = (ldc_loancredit - ldc_grpuse);
}
if (ldc_permissamt < 0)
{
ldc_permissamt = 0;
}
}
// check กับยอด credit
if (ldc_permissamt > (ldc_grpcredit - ldc_grpuse))
{
ldc_permissamt = (ldc_grpcredit - ldc_grpuse);
}
if (ldc_permissamt > ldc_loancredit)
{
ldc_permissamt = ldc_loancredit;
}
if (ldc_permissamt > ldc_maxloan)
{
ldc_permissamt = ldc_maxloan;
}
// ตรวจว่าห้ามกู้เกินหุ้นหรือเปล่า
if (li_notmoreshare == 1)
{
sqlStr = @"select coll_percent
from lnloantypecolluse
where coop_id = {0}
and loantype_code = {1}
and loancolltype_code = '01'";
sqlStr = WebUtil.SQLFormat(sqlStr, state.SsCoopControl, ls_loantype);
Sdt dt1 = WebUtil.QuerySdt(sqlStr);
if (dt.Next())
{
ldc_collperc = dt.GetDecimal("coll_percent");
ldc_sharestk = dw_main.GetItemDecimal(1, "share_balance");
ldc_temp = ldc_sharestk * ldc_collperc;
// ถ้ามากกว่าหุ้นที่ใช้ได้ตัดยอดลง
if (ldc_permissamt > ldc_temp)
{
ldc_permissamt = ldc_temp;
}
}
}
if (ldc_permissamt < 0)
{
ldc_permissamt = 0;
}
dw_main.SetItemDecimal(1, "loanpermiss_amt", ldc_permissamt);
// ค่าเงินที่จะขอกู้ได้
if (ldc_permissamt > ldc_loanregis)
{
ldc_loanreq = ldc_loanregis;
}
else
{
ldc_loanreq = ldc_permissamt;
}
// ปัดยอดขอกู้
if (ldc_roundfacter != 0)
{
decimal ldc_tempfacter = Math.Abs(ldc_roundfacter);
if ((ldc_loanreq % ldc_roundfacter) > 0)
{
if (ldc_roundfacter > 0)
{
ldc_loanreq = ldc_loanreq - (ldc_loanreq % ldc_roundfacter) + ldc_roundfacter;
}
else
{
ldc_loanreq = ldc_loanreq - (ldc_loanreq % ldc_roundfacter);
}
}
}
//dw_main.SetItemDecimal(1, "loanrequest_amt", ldc_loanreq);
if (ldc_request > ldc_maxloan) { ldc_request = ldc_maxloan; }
dw_main.SetItemDecimal(1, "loanrequest_amt", ldc_request);
HdCondition.Value = "true";
//pom - คิดงวดตามยอดขอกู้
of_initmaxperiod(ls_loantype, ldc_loanreq);
// of_setintestimateloanreq();
}
catch (Exception ex) { LtServerMessage.Text = WebUtil.ErrorMessage("of_initpermiss " + ex); }
}
///
/// set ยอดขอกู้ PostMember
///
private void of_initpermiss_begin()
{
try
{
decimal ldc_permissamt, ldc_grpuse, ldc_maxloan = 0, ldc_loancredit, ldc_grpcredit, ldc_loanregis, ldc_collperc, ldc_sharestk, ldc_temp;
decimal ldc_loanreq, ldc_roundfacter = 0;
string ls_permissgrp = "", ls_loantype;
int li_kpsumflag = 0, li_lngrpcutright = 0, li_notmoreshare = 0, li_showright, li_roundtype = 0;
string sqlStr;
ls_loantype = dw_main.GetItemString(1, "loantype_code");
ldc_loancredit = dw_main.GetItemDecimal(1, "loancredit_amt");
ldc_grpcredit = dw_main.GetItemDecimal(1, "loangrpcredit_amt");
ldc_loanregis = dw_main.GetItemDecimal(1, "loanreqregis_amt");
Decimal coll_percen = 0;
string sqlStr2 = @"select coll_percent
from LNLOANTYPECOLLUSE
where ( coop_id = {0} )
and ( loantype_code = {1} ) and loancolltype_code = '01'";
sqlStr2 = WebUtil.SQLFormat(sqlStr2, state.SsCoopControl, ls_loantype);
Sdt dt2 = WebUtil.QuerySdt(sqlStr2);
if (dt2.Next())
{
coll_percen = dt2.GetDecimal("coll_percent");
}
sqlStr = @"select lngrpcutright_flag, notmoreshare_flag, maxloan_amt, loanpermgrp_code, lngrpkeepsum_flag, showright_flag,
reqround_factor, reqround_type
from lnloantype
where ( coop_id = {0} )
and ( loantype_code = {1} )";
sqlStr = WebUtil.SQLFormat(sqlStr, state.SsCoopControl, ls_loantype);
Sdt dt = WebUtil.QuerySdt(sqlStr);
if (dt.Next())
{
li_lngrpcutright = dt.GetInt32("lngrpcutright_flag");
li_notmoreshare = dt.GetInt32("notmoreshare_flag");
ldc_maxloan = dt.GetDecimal("maxloan_amt");
ls_permissgrp = dt.GetString("loanpermgrp_code");
li_kpsumflag = dt.GetInt32("lngrpkeepsum_flag");
li_showright = dt.GetInt32("showright_flag");
li_roundtype = dt.GetInt32("reqround_type");
ldc_roundfacter = dt.GetDecimal("reqround_factor");
}
//lngrpcutright_flag ขอกู้ได้ไม่เกินวงเงินกู้กลุ่ม
//notmoreshare_flag กู้ได้ไม่เกินหุ้นที่มี
//maxloan_amt วงเงินกู้สูงสุดของเงินกู้ประเภทนี้
//loanpermgrp_code เงินกู้ประเภทนี้อยู่ในกลุ่มเงินกู้รหัสอะไร
//lngrpkeepsum_flag การนับเงินกู้รวมใช้ไปหักยอดรอเรียกเก็บหรือเปล่า
//showright_flag แสดงสิทธิกู้ตอนคำนวณสิทธิ์เสร็จแล้วหรือเปล่า
ldc_permissamt = ldc_maxloan;
// วงเงินกู้รวมใช้ไป
ldc_grpuse = of_calpermissloangrpused(ls_permissgrp, li_kpsumflag);
// ตรวจว่าต้องตัดยอดขอกู้จากยอดกู้กลุ่มหรือไม่
if (li_lngrpcutright == 1)
{
if (ldc_permissamt > (ldc_loancredit - ldc_grpuse))
{
ldc_permissamt = (ldc_loancredit - ldc_grpuse);
}
if (ldc_permissamt < 0)
{
ldc_permissamt = 0;
}
}
// check กับยอด credit
if (ldc_permissamt > (ldc_grpcredit - ldc_grpuse))
{
ldc_permissamt = (ldc_grpcredit - ldc_grpuse);
}
if (ldc_permissamt > ldc_loancredit)
{
ldc_permissamt = ldc_loancredit;
}
if (ldc_permissamt > ldc_maxloan)
{
ldc_permissamt = ldc_maxloan;
}
// ตรวจว่าห้ามกู้เกินหุ้นหรือเปล่า
if (li_notmoreshare == 1)
{
sqlStr = @"select coll_percent
from lnloantypecolluse
where coop_id = {0}
and loantype_code = {1}
and loancolltype_code = '01'";
sqlStr = WebUtil.SQLFormat(sqlStr, state.SsCoopControl, ls_loantype);
Sdt dt1 = WebUtil.QuerySdt(sqlStr);
if (dt.Next())
{
ldc_collperc = dt.GetDecimal("coll_percent");
ldc_sharestk = dw_main.GetItemDecimal(1, "share_balance");
ldc_temp = ldc_sharestk * ldc_collperc;
// ถ้ามากกว่าหุ้นที่ใช้ได้ตัดยอดลง
if (ldc_permissamt > ldc_temp)
{
ldc_permissamt = ldc_temp;
}
}
}
if (ldc_permissamt < 0)
{
ldc_permissamt = 0;
}
dw_main.SetItemDecimal(1, "loanpermiss_amt", ldc_permissamt);
// ค่าเงินที่จะขอกู้ได้
if (ldc_permissamt > ldc_loanregis)
{
ldc_loanreq = ldc_loanregis;
}
else
{
ldc_loanreq = ldc_permissamt;
}
// ปัดยอดขอกู้
if (ldc_roundfacter != 0)
{
decimal ldc_tempfacter = Math.Abs(ldc_roundfacter);
if ((ldc_loanreq % ldc_roundfacter) > 0)
{
if (ldc_roundfacter > 0)
{
ldc_loanreq = ldc_loanreq - (ldc_loanreq % ldc_roundfacter) + ldc_roundfacter;
}
else
{
ldc_loanreq = ldc_loanreq - (ldc_loanreq % ldc_roundfacter);
}
}
}
//dw_main.SetItemDecimal(1, "loanrequest_amt", ldc_loanreq);
Decimal share = dw_main.GetItemDecimal(1, "share_balance");
ldc_maxloan = share * (coll_percen / 100);
dw_main.SetItemDecimal(1, "loanrequest_amt", ldc_maxloan);
HdCondition.Value = "true";
//pom - คิดงวดตามยอดขอกู้
of_initmaxperiod(ls_loantype, ldc_loanreq);
//of_setintestimateloanreq();
}
catch (Exception ex) { LtServerMessage.Text = WebUtil.ErrorMessage("of_initpermiss " + ex); }
}
///
/// set ดอกเบี้ยประมาณการ สำหรับคำนวณเงินเดือนคงเหลือ
///
private void of_setintestimateloanreq()
{
decimal ldc_loanreq, ldc_intrate, ldc_intestimate;
ldc_loanreq = dw_main.GetItemDecimal(1, "loanrequest_amt");
ldc_intrate = dw_main.GetItemDecimal(1, "identifycont_intrate");
ldc_intestimate = Convert.ToDecimal((Convert.ToDouble(ldc_loanreq) * (Convert.ToDouble(ldc_intrate) / 100.00) * (30.00 / 365.00)));
dw_main.SetItemDecimal(1, "intestimate_amt", ldc_intestimate);
}
///
/// เช็คยอดขอกู้ว่าเกิน ยอดให้กู้ในค่าคงที่ไหม
///
private int of_checkLoanReq(string loantype, decimal loan_amt)
{
int y = 0;
String sqlStrde = @" select maxloan_amt from lnloantype where loantype_code ='" + loantype + "' and coop_id = '" + state.SsCoopId + "' ";
Sdt dt = WebUtil.QuerySdt(sqlStrde);
decimal maxloan_amt = 0;
if (dt.Next())
{//
maxloan_amt = dt.GetInt32("maxloan_amt");
}
if (loan_amt > maxloan_amt)
{
y = 1;
}
else
{
y = 0;
}
return y;
}
///
/// set ยอดหักจากใบคำขอ
///
private void of_setpaymthlnreq()
{
string ls_loanpay;
int li_lnpaytype;
decimal ldc_intestimate, ldc_paymthlnreq = 0, ldc_reqpay;
ls_loanpay = dw_main.GetItemString(1, "loanpay_code");
li_lnpaytype = Convert.ToInt32(dw_main.GetItemDecimal(1, "loanpayment_type"));
ldc_reqpay = dw_main.GetItemDecimal(1, "period_payment");
ldc_intestimate = dw_main.GetItemDecimal(1, "intestimate_amt");
if (ls_loanpay != "KEP")
{
ldc_paymthlnreq = 0;
}
else
{
if (li_lnpaytype == 0)
{
ldc_paymthlnreq = 0;
}
else if (li_lnpaytype == 1)
{
ldc_paymthlnreq = ldc_reqpay + ldc_intestimate;
}
else if (li_lnpaytype == 2)
{
ldc_paymthlnreq = ldc_reqpay;
}
else if (li_lnpaytype == 3)
{
ldc_paymthlnreq = ldc_intestimate;
}
}
dw_main.SetItemDecimal(1, "paymonth_lnreq", ldc_paymthlnreq);
}
///
/// คำนวณยอดขอกู้จากการชำระต่องวด
///
private decimal of_calnetlnpermiss(int ai_paymenttype, int ai_period, decimal adc_netmthpay, decimal adc_intrate)
{
decimal ldc_permamt = 0;
try
{
string sqlStr;
int li_fixcaltype = 1;
double ldc_temp, ldb_dayyear, ldc_ft = 1.00;
ldb_dayyear = Convert.ToDouble(30) / Convert.ToDouble(365);
adc_intrate = adc_intrate / 100;
switch (ai_paymenttype)
{
case 0://ไม่มีการเรียกเก็บ
ldc_permamt = 999999999999;
break;
case 1://คงต้น
ldc_temp = Convert.ToDouble(ai_period) * (Convert.ToDouble(adc_intrate) * ldb_dayyear) + ldc_ft;
ldc_permamt = Convert.ToDecimal((Convert.ToDouble(adc_netmthpay) * Convert.ToDouble(ai_period)) / ldc_temp);
break;
case 2://คงยอด
double ldc_permamttmp = 1.00, ldc_fr = 0.00;
//ดึงค่า config การคำนวณดอกเบี้ยเฉลี่ยต่อเดือน 1 คือ 30/365, 2 คือ /12
sqlStr = @"select fixpaycal_type
from lnloanconstant
where coop_id = '" + state.SsCoopControl + "'";
Sdt dt = WebUtil.QuerySdt(sqlStr);
if (dt.Next())
{
li_fixcaltype = dt.GetInt32("fixpaycal_type");
}
if (li_fixcaltype == 1)
{
// ด/บ ทั้งปี / 12
ldc_temp = Math.Log(1 + (Convert.ToDouble(Convert.ToDouble(adc_intrate) / 12.00)));
ldc_fr = Math.Exp(-ai_period * ldc_temp);
ldc_permamttmp = (Convert.ToDouble(adc_netmthpay) * (ldc_ft - ldc_fr)) / ((Convert.ToDouble(adc_intrate) / 12));
}
else
{
// ด/บ 30 วัน/เดือน
ldc_temp = Math.Log(1 + (Convert.ToDouble(Convert.ToDouble(adc_intrate) / ldb_dayyear)));
ldc_fr = Math.Exp(-ai_period * ldc_temp);
ldc_permamttmp = (Convert.ToDouble(adc_netmthpay) * (ldc_ft - ldc_fr)) / ((Convert.ToDouble(adc_intrate) / ldb_dayyear));
}
ldc_permamt = Convert.ToDecimal(ldc_permamttmp);
break;
case 3://เก็บแต่ดอกเบี้ย
if (li_fixcaltype == 1)
{
ldc_permamt = Convert.ToDecimal(((Convert.ToDouble(adc_netmthpay) * 12) / Convert.ToDouble(adc_intrate)));
}
else
{
ldc_permamt = Convert.ToDecimal((Convert.ToDouble(adc_netmthpay) / (Convert.ToDouble(adc_intrate) * ldb_dayyear)));
}
break;
}
}
catch (Exception ex) { LtServerMessage.Text = WebUtil.ErrorMessage("of_initpermiss" + ex); }
return ldc_permamt;
}
///
/// คำนวณยอดขอกู้จากเงินเดือนคงเหลือ
///
private decimal of_calmaxreqforsal()
{
decimal ldc_netreq = 100000;
return ldc_netreq;
}
///
/// คำนวณเงินกู้กลุ่มที่ใช้ไป
///
private decimal of_calpermissloangrpused(string as_permissgrp, int ai_kpsumflag)
{
decimal ldc_withdraw, ldc_balance, ldc_rkeepprin, ldc_grpuse = 0;
int li_clrstatus, li_trnfer;
string ls_lnpermgrp;
for (int i = 1; i <= dw_clear.RowCount; i++)
{
ldc_withdraw = dw_clear.GetItemDecimal(i, "withdrawable_amt");
ldc_balance = dw_clear.GetItemDecimal(i, "principal_balance");
ldc_rkeepprin = dw_clear.GetItemDecimal(i, "rkeep_principal");
li_clrstatus = Convert.ToInt32(dw_clear.GetItemDecimal(i, "clear_status"));
li_trnfer = Convert.ToInt32(dw_clear.GetItemDecimal(i, "transfer_status"));
ls_lnpermgrp = dw_clear.GetItemString(i, "loanpermgrp_code");
if (li_clrstatus == 0 && li_trnfer == 0 && ls_lnpermgrp == as_permissgrp)
{
if (ai_kpsumflag == 1)
{
ldc_grpuse += ((ldc_withdraw + ldc_balance) - ldc_rkeepprin);
}
else
{
ldc_grpuse += (ldc_withdraw + ldc_balance);
}
}
}
return ldc_grpuse;
}
///
/// คำนวณยอดชำระ
///
private void of_calperiodpayment()
{
decimal period = dw_main.GetItemDecimal(1, "period_payamt");
string ls_loantype2 = dw_main.GetItemString(1, "loantype_Code"); //pom
if (dw_main.GetItemDecimal(1, "period_payamt") < 1)
{
string Setperiodpaydet = "select max_period from lnloantypeperiod where loantype_code ='" + ls_loantype2 + "' and coop_id = '" + state.SsCoopId + "' ";
Sdt dtgrt = WebUtil.QuerySdt(Setperiodpaydet);
if (dtgrt.Next())
{
period = dtgrt.GetDecimal("max_period");
}
}
dw_main.SetItemDecimal(1, "period_payamt", period);
decimal ldc_roundfacter = dw_main.GetItemDecimal(1, "payround_factor");
string ls_loantype = dw_main.GetItemString(1, "loantype_code");
Decimal li_installment = dw_main.GetItemDecimal(1, "period_payamt");
Decimal ldc_loanreq = dw_main.GetItemDecimal(1, "loanrequest_amt");
int li_paymenttype = Convert.ToInt32(dw_main.GetItemDecimal(1, "loanpayment_type"));
decimal ldc_intrate = dw_main.GetItemDecimal(1, "identifycont_intrate"); //ดอกเบี้ย
Decimal ldc_periodpay = 0, ldc_lastperiodpay = 0;
//กำหนด ดอกเบี้ย ตั้งไว้ก่อน
ldc_intrate = 1;
if (ldc_intrate == 0) { LtServerMessage.Text = WebUtil.ErrorMessage("ไม่พบอัตราดอกเบี้ย กรุณาตรวจสอบ"); }
double ldc_fr = 1, ldc_temp = 1;
switch (li_paymenttype)
{
case 0:
ldc_periodpay = 0;
ldc_lastperiodpay = ldc_loanreq;
break;
case 1:
if (li_installment == 0)
{
//Edit By BankCM
//LtServerMessage.Text = WebUtil.ErrorMessage("กรุณาระบุงวดชำระ ของเงินกู้ประเภท " + ls_loantype);
dw_main.SetItemDecimal(1, "period_payamt", 1);
li_installment = 1;
//dw_main.SetRow(1);
//dw_main.SetColumn("period_payamt");
}
ldc_periodpay = ldc_loanreq / li_installment;
break;
case 2:
if (li_installment == 0)
{
LtServerMessage.Text = WebUtil.ErrorMessage("กรุณาระบุงวดชำระ ของเงินกู้ประเภท " + ls_loantype);
// dw_main.SetItemString(1, "period_payamt", "กรอกเลข ที่นี่!!");
}
int li_fixpaycaltype = Convert.ToInt32(dw_main.GetItemDecimal(1, "fixpaycal_type"));
double ldb_fd = 0.00;
if (li_fixpaycaltype == 1)
{
ldb_fd = 1.00 / 12.00;
}
else
{
ldb_fd = 30.00 / 365.00;
}
ldc_intrate = ldc_intrate / 100;
ldc_temp = Math.Log(1.00 + (Convert.ToDouble(ldc_intrate) * ldb_fd));
ldc_fr = Math.Exp(-Convert.ToDouble(li_installment) * ldc_temp);
ldc_periodpay = Convert.ToDecimal((Convert.ToDouble(ldc_loanreq) * (Convert.ToDouble(ldc_intrate) * ldb_fd)) / ((1.00 - ldc_fr)));
break;
case 3:
ldc_periodpay = 0;
ldc_lastperiodpay = ldc_loanreq;
break;
}
//ปัดยอดชำระ
if (ldc_roundfacter != 0)
{
decimal ldc_tempfacter = Math.Abs(ldc_roundfacter);
if ((ldc_periodpay % ldc_roundfacter) > 0)
{
if (ldc_roundfacter > 0)
{
ldc_periodpay = ldc_periodpay - (ldc_periodpay % ldc_roundfacter) + ldc_roundfacter;
}
else
{
ldc_periodpay = ldc_periodpay - (ldc_periodpay % ldc_roundfacter);
}
}
}
dw_main.SetItemDecimal(1, "period_payment", ldc_periodpay);
of_lastperiodpay();//pom : Lastperiodpay.01
of_setpaymthlnreq();
}
///
/// คำนวณ
///
private int of_calinstallment()
{
//--------------------------
// หาจำนวน งวดที่ต้องผ่อนชำระ โดยการส่งค่า
//
// argument
// 1. adc_principal เงินต้น
// 2. adc_payamt จำนวนชำระต่องวด (ref)
// 3. adc_lastperiod จำนวนชำระงวดสุดท้าย (ref)
// 4. ai_paytype รูปแบบการชำระ (คงต้น = 1, คงยอด = 2)
// 5. adc_intrate อัตราดอกเบี้ย
// 6. al_factor จำนวนหลักที่จะปัดตามกำหนด
// 7. ai_roundtype รูปแบบการปัด<ขึ้น,ลง>
// 8. ai_fixcaltype รูปแบบการคำนวณแบบคงยอด ( monthaverage = 1, 30/month= 2 )
//
// return
// จำนวนงวดที่ต้องผ่อนชำระ
// -1 สำหรับกรณีผิดพลาด
//--------------------------
int li_period = 0, li_factor = 0, li_paytype = 0;
decimal ldc_mod = 0, ldc_principal = 0, ldc_payamt = 0;
ldc_principal = dw_main.GetItemDecimal(1, "loanrequest_amt");
ldc_payamt = dw_main.GetItemDecimal(1, "period_payment");
li_paytype = Convert.ToInt32(dw_main.GetItemDecimal(1, "loanpayment_type"));
//li_factor = Convert.ToInt32(dw_main.GetItemDecimal(1, "payround_factor"));
//// parameter check
//if (ldc_principal == 0 || ldc_payamt == 0)
//{
// return -1;
//}
//// ปรับค่าจำนวนชำระต่องวดด้วย factor
//if (li_factor != 0)
//{
// ldc_payamt = ldc_payamt + li_factor;
//}
//if al_factor > 0 then
// ldc_mod = mod( adc_payamt, al_factor)
// if ldc_mod > 0 then
// adc_payamt = adc_payamt - ldc_mod
// if ai_roundtype = 1 then
// adc_payamt = adc_payamt + al_factor
// end if
// if adc_payamt <= 0 then
// adc_payamt = al_factor
// end if
// end if
//end if
switch (li_paytype)
{
case 1:
li_period = Convert.ToInt32((int)Math.Ceiling(ldc_principal / ldc_payamt));
break;
case 2:
decimal ldc_interest = 0, ldc_prinpay = 0, ldc_identifyintrate;
int li_fixcaltype = 1;
li_fixcaltype = Convert.ToInt32(dw_main.GetItemDecimal(1, "fixpaycal_type"));
ldc_identifyintrate = dw_main.GetItemDecimal(1, "identifycont_intrate");
while (ldc_principal > 0)
{
if (li_fixcaltype == 1)
{
ldc_interest = Convert.ToDecimal((Convert.ToDouble(ldc_principal) * (Convert.ToDouble(ldc_identifyintrate) / 100.00)) / 12.00);
}
else
{
ldc_interest = Convert.ToDecimal(((Convert.ToDouble(ldc_principal) * (Convert.ToDouble(ldc_identifyintrate) / 100.00)) / 365.00) * 30.00);
}
// check ว่ายอด ด/บ มากกว่ายอดชำระ/งวด หรือไม่
if (ldc_interest >= ldc_payamt)
{
LtServerMessage.Text = WebUtil.ErrorMessage("ชำระต่อเดือน, ยอดชำระต่อเดือน น้อยกว่ายอด ด/บ ที่คิดได้ ( เงินต้น = " + ldc_principal.ToString("#,##") + ")" + "\nยอดชำระต่อเดือน = " + ldc_payamt.ToString("#,##") + "\nยอดดอกเบี้ยที่คิดได้ = " + ldc_interest.ToString("#,##") + "\nโปรแกรมไม่สามารถคำนวณงวดการชำระได้");
return -1;
}
ldc_prinpay = ldc_payamt - ldc_interest;
if (ldc_prinpay > ldc_principal)
{
ldc_prinpay = ldc_principal;
}
ldc_principal = ldc_principal - ldc_prinpay;
li_period++;
}
break;
}
return li_period;
}
/// คำนวน งวดสุดท้าย ย้อนกลับ
private void of_lastperiodpay() //pom : of_lastperiodpay คำนวณงวดสุดท้ายและ
{
string ls_loantype = dw_main.GetItemString(1, "loantype_code");
Decimal maxsend_payamt = dw_main.GetItemDecimal(1, "maxsend_payamt");
Decimal period_payamt = dw_main.GetItemDecimal(1, "period_payamt");
Decimal period_payment = dw_main.GetItemDecimal(1, "period_payment");
Decimal loanrequest_amt = dw_main.GetItemDecimal(1, "loanrequest_amt");
decimal loanpayment_type = dw_main.GetItemDecimal(1, "loanpayment_type");
decimal custompayment_flag = dw_main.GetItemDecimal(1, "custompayment_flag");
//decimal loanpayment_status = dw_main.GetItemDecimal(1, "loanpayment_status");
//decimal ldc_intrate = dw_main.GetItemDecimal(1, "int_contintrate");
decimal ldc_intrate = dw_main.GetItemDecimal(1, "identifycont_intrate");
//คำนวณงวดสุดท้าย
decimal ldc_period_lastpayment, ldc_tmp, ldc_diff, ldc_newpayamt;
ldc_period_lastpayment = period_payment;
ldc_newpayamt = 0;
if (loanpayment_type == 1)
{
// ldc_newpayamt = Math.Ceiling(loanrequest_amt / period_payment);
//ldc_tmp = ldc_newpayamt * period_payment;
ldc_tmp = period_payment;
// period_payamt = ldc_newpayamt;
if (ldc_tmp != loanrequest_amt)
{
ldc_diff = ldc_tmp - loanrequest_amt;
if (ldc_diff > period_payment)
{
ldc_diff = ldc_diff - period_payment;
period_payamt = period_payamt - 1;
}
ldc_period_lastpayment = period_payment - ldc_diff;
}
else
{
ldc_period_lastpayment = period_payment;
}
}
else
{
decimal ldc_temptot, ldc_tempint, ldc_tempay, ldc_tempreq;
int i;
int li_fixcaltype = 1;
//ldc_intrate = dw_main.GetItemDecimal(1, "int_contintrate");
ldc_intrate = ldc_intrate / 100; //ตั้งแต่ BAAC
ldc_tempreq = loanrequest_amt;
ldc_temptot = 0;
for (i = 1; (i <= period_payamt); i++)
{
if (ldc_temptot >= loanrequest_amt) break;
ldc_tempay = 0;
ldc_tempint = 0;
if (li_fixcaltype == 1) //เฉลี่ยรายเดือน
{
ldc_tempint = (ldc_tempreq * ldc_intrate) * (1 / 12);
ldc_tempay = period_payamt - ldc_tempint;
}
else if (li_fixcaltype == 2) //เฉลี่ยรายวัน
{
ldc_tempint = (ldc_tempreq * ldc_intrate) * (30 / 365);
ldc_tempay = period_payamt - ldc_tempint;
}
if ((ldc_tempreq - ldc_temptot) < ldc_tempay)
{
ldc_period_lastpayment = ldc_tempay + ldc_tempint;
}
else
{
ldc_period_lastpayment = period_payment;
}
ldc_temptot = ldc_temptot + ldc_tempay;
ldc_tempreq = ldc_tempreq - ldc_tempay;
}
}
dw_main.SetItemDecimal(1, "period_lastpayment", ldc_period_lastpayment);
dw_main.SetItemDecimal(1, "period_payamt", period_payamt);
}
///
/// set ค่าจากข้อมูลลงรับ
///
private void of_initreqloanregis(string member_no, string loantype_code)
{
try
{
string SqlLoanRegis = "select reqregister_docno, loanrequest_amt,loanapprove_amt,remark " +
" from lnreqloanregister " +
" where member_no = '" + member_no + "' " +
" and loantype_code = '" + loantype_code + "' " +
" and reqregister_status = 8 " +
" and rownum = 1 " +
" order by lnreqreceive_date desc ";
Sdt DtLoanRegis = WebUtil.QuerySdt(SqlLoanRegis);
if (DtLoanRegis.Rows.Count > 0)
{
dw_main.SetItemDecimal(1, "loanreqregis_amt", Convert.ToDecimal(DtLoanRegis.Rows[0]["loanrequest_amt"].ToString()));
dw_main.SetItemString(1, "ref_registerno", DtLoanRegis.GetString("reqregister_docno"));
}
}
catch (Exception ex) { LtServerMessage.Text = WebUtil.ErrorMessage("of_Initreqloanregis" + ex); }
}
///
/// set ยอดหักจากสหกรณ์
///
private void of_initpaymonthcoop()
{
try
{
decimal ldc_sumpay = 0, ldc_periodpay = 0, ldc_sumloan = 0, ldc_shrperiod, ldc_intest;
int li_clrstatus, li_shrpaystatus, li_paytype;
string ls_loanpay, ls_reqloanpay;
// ดึงรายการหุ้น
ldc_shrperiod = dw_main.GetItemDecimal(1, "share_periodvalue");
//ดึงรายการหนี้
for (int i = 1; i <= dw_clear.RowCount; i++)
{
li_clrstatus = Convert.ToInt32(dw_clear.GetItemDecimal(i, "clear_status"));
string contno = dw_clear.GetItemString(i, "loancontract_no");
if (li_clrstatus == 0)
{
try
{
ls_loanpay = dw_clear.GetItemString(i, "loanpay_code");
}
catch
{
ls_loanpay = "KEP";
}
if (ls_loanpay == "KEP")
{
li_paytype = Convert.ToInt32(dw_clear.GetItemDecimal(i, "loanpayment_type"));
ldc_periodpay = dw_clear.GetItemDecimal(i, "period_payment");
ldc_intest = dw_clear.GetItemDecimal(i, "intestimate_amt");
if (li_paytype == 0)
{
ldc_periodpay = 0;
}
else if (li_paytype == 1)
{
ldc_periodpay += ldc_intest;
}
else if (li_paytype == 3)
{
ldc_periodpay = ldc_intest;
}
ldc_sumloan = ldc_sumloan + ldc_periodpay;
}
}
}
ldc_sumpay = ldc_sumloan + ldc_shrperiod;
dw_main.SetItemDecimal(1, "paymonth_coop", ldc_sumpay);
}
catch (Exception ex) { LtServerMessage.Text = WebUtil.ErrorMessage("of_initpaymonthcoop" + ex); }
}
///
/// set งวดสูงสุด
///
private void of_initmaxperiod(string as_loantype, decimal adc_requestamt)
{
try
{
string sqlStr;
sqlStr = @"select max_period
from lnloantypeperiod
where coop_id = {0}
and loantype_code = {1}
and {2} between money_from and money_to";
sqlStr = WebUtil.SQLFormat(sqlStr, state.SsCoopControl, as_loantype, adc_requestamt);
Sdt dt = WebUtil.QuerySdt(sqlStr);
if (dt.Next())
{
dw_main.SetItemDecimal(1, "maxperiod_payamt", dt.GetInt32("max_period"));
dw_main.SetItemDecimal(1, "period_payamt", dt.GetInt32("max_period"));
}
}
catch (Exception ex) { LtServerMessage.Text = WebUtil.ErrorMessage("of_initmaxperiod" + ex); }
}
///
/// set งวดส่ง
///
private void of_initperiodsend()
{
int li_loanright = 0;
li_loanright = Convert.ToInt32(dw_main.GetItemDecimal(1, "loanright_type"));
if (li_loanright == 3)
{
dw_main.SetItemDecimal(1, "period_payamt", dw_main.GetItemDecimal(1, "maxsend_payamt"));
return;
}
try
{
int li_periodpay = 0, li_lnoverretry, li_retrysendtype, li_lnoverstatus, period_payamt;
// li_maxperiod = 0,li_retryage,
string ls_loantype = dw_main.GetItemString(1, "loantype_code");
li_lnoverretry = Convert.ToInt32(dw_main.GetItemDecimal(1, "lnoverretry_period"));
li_retrysendtype = Convert.ToInt32(dw_main.GetItemDecimal(1, "retryloansend_type"));
li_lnoverstatus = Convert.ToInt32(dw_main.GetItemDecimal(1, "lnoverretry_status"));
period_payamt = Convert.ToInt32(dw_main.GetItemDecimal(1, "maxsend_payamt"));
// li_retryage = Convert.ToInt32(dw_main.GetItemDecimal(1, "retry_age"));
// li_maxperiod = Convert.ToInt32(dw_main.GetItemDecimal(1, "maxperiod_payamt"));
//ห้ามส่งเกินเกษียณ
/* if (li_retrysendtype == 0)
{
li_periodpay = li_retryage;
}
//ส่งเกินได้ตามงวดที่ระบุ ไม่ตรวจสอบเงินไข
if (li_retrysendtype == 1)
{
li_periodpay = li_retryage + li_lnoverretry;
}
//ส่งเกินได้ตามงวดที่ระบุ ตรวจสอบเงินไข
if (li_retrysendtype == 2)
{
if (li_lnoverstatus == 1)
{
li_periodpay = li_retryage + li_lnoverretry;
}
else
{
li_periodpay = li_retryage;
}
}*/
/* if (li_periodpay > li_maxperiod)
{
li_periodpay = li_maxperiod;
}*/
// dw_main.SetItemDecimal(1, "maxsend_payamt", period_payamt);
// dw_main.SetItemDecimal(1, "period_payamt", period_payamt);
// dw_main.SetItemDecimal(1, "maxsend_payamt", period_payamt);
// dw_main.SetItemDecimal(1, "period_payamt", period_payamt);
}
catch (Exception ex) { LtServerMessage.Text = WebUtil.ErrorMessage("of_initperiodsend" + ex); }
}
///
/// init ค่าธรรมเนียมค่าบริการ
///
private void of_initotherpay_fsv()
{
string ls_itemcode, ls_contno;
int li_clrstatus, li_lastperiod = 0;
decimal ldc_fineamt = 0, ldc_sumfine = 0, ldc_lnapprove = 0, ldc_paypercent = 0, ldc_prnbalance = 0, ldc_withdraw = 0, ldc_loanamt = 0, ldc_payamt;
for (int i = 1; i <= dw_clear.RowCount; i++)
{
li_clrstatus = Convert.ToInt32(dw_clear.GetItemDecimal(i, "clear_status"));
ldc_fineamt = dw_clear.GetItemDecimal(i, "fine_amt");
if (li_clrstatus == 1 && ldc_fineamt > 0)
{
ldc_sumfine += ldc_fineamt;
//ls_contno = dw_clear.GetItemString(i, "loancontract_no");
//li_lastperiod = Convert.ToInt32(dw_clear.GetItemDecimal(i, "last_periodpay"));
//ldc_lnapprove = dw_clear.GetItemDecimal(i, "loanapprove_amt");
//ldc_prnbalance = dw_clear.GetItemDecimal(i, "principal_balance");
//ldc_withdraw = dw_clear.GetItemDecimal(i, "withdrawable_amt");
//ldc_loanamt = ldc_lnapprove - ldc_withdraw;
//ldc_payamt = ldc_loanamt - ldc_prnbalance;
//ldc_paypercent = (ldc_payamt * 100) / ldc_loanamt;
//is_massalert += "\\nสัญญา " + ls_contno + " งวดชำระแล้ว = " + li_lastperiod.ToString() + ",% ชำระแล้ว = " + ldc_paypercent.ToString("#,##0.00") + "% ต้องคิดค่าบริการ เป็นจำนวนเงิน " + ldc_fineamt.ToString("#,##0.00");
}
}
if (ldc_sumfine > 0)
{
int row = 0;
for (int r = 1; r <= dw_otherclr.RowCount; r++)
{
ls_itemcode = dw_otherclr.GetItemString(r, "clrothertype_code");
if (ls_itemcode == "FSV")
{
row = r;
break;
}
}
if (row == 0)
{
row = dw_otherclr.InsertRow(0);
}
dw_otherclr.SetItemString(row, "clrothertype_code", "FSV");
dw_otherclr.SetItemString(row, "clrother_desc", "ค่าธรรมเนียมในการบริหาร");
dw_otherclr.SetItemDecimal(row, "clrother_amt", ldc_sumfine);
dw_otherclr.SetItemDecimal(row, "clear_status", 1);
//is_massalert = "\\nมีสัญญาเก่าชำระหนี้ไม่ถึงตามที่กำหนด " + is_massalert;
}
}
///
/// ซื้อหุ้นเพิ่ม
///
private void of_initclearshare()
{
try
{
string sqlStr, ls_loantype, ls_lnpermgrp, ls_clrpermgrp;
int li_shrbuytype, li_clrstatus, li_shrcntflag;
decimal ldc_calamt = 0, ldc_loanreq = 0, ldc_shrpercent = 0, ldc_shrstk = 0, ldc_reqshare, ldc_clrshare;
ls_loantype = dw_main.GetItemString(1, "loantype_code");
ldc_loanreq = dw_main.GetItemDecimal(1, "loanrequest_amt");
ldc_shrstk = dw_main.GetItemDecimal(1, "share_balance");
sqlStr = @"select shrstk_buytype
from lnloantype
where coop_id = {0}
and loantype_code = {1}";
sqlStr = WebUtil.SQLFormat(sqlStr, state.SsCoopControl, ls_loantype);
Sdt dt = WebUtil.QuerySdt(sqlStr);
if (dt.Next())
{
li_shrbuytype = dt.GetInt32("shrstk_buytype");
if (li_shrbuytype == 0)
{
return;
}
switch (li_shrbuytype)
{
case 1://เทียบ %หุ้น ที่มีกับยอดขอกู้
ldc_calamt = 0;
break;
case 2://เทียบ %หุ้น ที่มีกับยอดหนี้คงเหลือทั้งหมดกับยอดขอกู้
for (int r = 1; r <= dw_clear.RowCount; r++)
{
li_clrstatus = Convert.ToInt32(dw_clear.GetItemDecimal(r, "clear_status"));
li_shrcntflag = Convert.ToInt32(dw_clear.GetItemDecimal(r, "shrstkcount_flag"));
if (li_clrstatus == 0 && li_shrcntflag == 1)
{
ldc_calamt += dw_clear.GetItemDecimal(r, "principal_balance");
}
}
break;
case 3://เทียบ %หุ้น ที่มีกับยอดหนี้ขอกลุ่มเงินกู้นี้
ls_lnpermgrp = dw_main.GetItemString(1, "loanpermgrp_code");
for (int r = 1; r <= dw_clear.RowCount; r++)
{
li_clrstatus = Convert.ToInt32(dw_clear.GetItemDecimal(r, "clear_status"));
li_shrcntflag = Convert.ToInt32(dw_clear.GetItemDecimal(r, "shrstkcount_flag"));
ls_clrpermgrp = dw_clear.GetItemString(r, "loanpermgrp_code");
if (li_clrstatus == 0 && li_shrcntflag == 1 && ls_lnpermgrp == ls_clrpermgrp)
{
ldc_calamt += dw_clear.GetItemDecimal(r, "principal_balance");
}
}
break;
}
ldc_calamt = ldc_calamt + ldc_loanreq;
sqlStr = @"select sharestk_percent
from lnloantypebuyshare
where coop_id = {0}
and loantype_code = {1}
and {2} between startloan_amt and endloan_amt";
sqlStr = WebUtil.SQLFormat(sqlStr, state.SsCoopControl, ls_loantype, ldc_calamt);
dt = WebUtil.QuerySdt(sqlStr);
if (dt.Next())
{
int row = 0;
for (int r = 1; r <= dw_otherclr.RowCount; r++)
{
string ls_item = dw_otherclr.GetItemString(r, "clrothertype_code");
if (ls_item == "SHR")
{
row = r;
}
}
ldc_shrpercent = dt.GetDecimal("sharestk_percent");
ldc_reqshare = ldc_calamt * (ldc_shrpercent / 100);
if (ldc_reqshare % 10 != 0)
{
decimal sharemod = ldc_reqshare % 10;
ldc_reqshare = ldc_reqshare + (10 - sharemod);
}
//if (ldc_shrstk > ldc_reqshare && row > 0)
//{
// //dw_otherclr.DeleteRow(row);
//}
//else
////if (ldc_shrstk < ldc_reqshare) เก่า
//{
//ldc_clrshare = ldc_reqshare - ldc_shrstk;
////if ((ldc_clrshare % 10) > 0)
////{
//// ldc_clrshare = ldc_clrshare - (ldc_clrshare % 10) + 10;
////}
//if (row == 0)
//{
// row = dw_otherclr.InsertRow(0);
//}
//dw_otherclr.SetItemString(row, "clrothertype_code", "SHR");
//dw_otherclr.SetItemString(row, "clrother_desc", "ซื้อหุ้นเพิ่ม");
//dw_otherclr.SetItemDecimal(row, "clear_status", 1);
//dw_otherclr.SetItemDecimal(row, "clrother_amt", ldc_clrshare);
if (row == 0) // เงื่อนไข การซื้อหุ้นเพิ่ม กล้า
{
row = dw_otherclr.InsertRow(0);
}
if (ldc_reqshare < 10)
{
ldc_reqshare = 10;
}
else
{
dw_otherclr.SetItemString(row, "clrothertype_code", "SHR");
dw_otherclr.SetItemString(row, "clrother_desc", "ซื้อหุ้นเพิ่ม");
dw_otherclr.SetItemDecimal(row, "clear_status", 1);
dw_otherclr.SetItemDecimal(row, "clrother_amt", ldc_reqshare);
// is_massalert += "\\n\\nมีทุนเรือนหุ้นไม่ถึงตามที่กำหนด \\nมูลค่าหนี้เงินกู้ที่นำมาคำนวณการซื้อหุ้น = " + ldc_calamt.ToString("#,##0.00") + "\\nต้องซื้อหุ้นเพิ่มเป็นจำนวนเงิน = " + ldc_reqshare.ToString("#,##0.00");
}
}
}
//}
else
{
for (int r = 1; r <= dw_otherclr.RowCount; r++)
{
string ls_item = dw_otherclr.GetItemString(r, "clrothertype_code");
if (ls_item == "SHR")
{
dw_otherclr.DeleteRow(r);
break;
}
}
}
}
catch (Exception ex) { LtServerMessage.Text = WebUtil.ErrorMessage("of_initclearshare" + ex); };
}
///
/// alert ข้อความแจ้งเตือนต่างๆ
///
private void of_initwarnings()
{
if (is_massalert != "")
{
this.SetOnLoadedScript("alert('" + is_massalert + "')");
}
}
///
/// init หลักประกันตามค่าคงที่
///
private void of_initcolluse()
{
string sqlStr, ls_loantype;
int li_useshare = 0, li_useman, li_row = 0;
decimal ldc_loanreq;
ls_loantype = dw_main.GetItemString(1, "loantype_code");
ldc_loanreq = dw_main.GetItemDecimal(1, "loanrequest_amt");
if (ldc_loanreq <= 0)
{
ldc_loanreq = 1;
}
sqlStr = @"select useman_amt,
useshare_flag
from lnloantypereqgrt
where coop_id = {0}
and loantype_code = {1}
and {2} between money_from and money_to";
sqlStr = WebUtil.SQLFormat(sqlStr, state.SsCoopControl, ls_loantype, ldc_loanreq);
dt = WebUtil.QuerySdt(sqlStr);
if (dt.Next())
{
li_useman = dt.GetInt32("useman_amt");
li_useshare = dt.GetInt32("useshare_flag");
if (li_useshare == 1)
{
//for (int r = 1; r <= dw_coll.RowCount; r++)
//{
// string ls_colltype;
// ls_colltype = dw_coll.GetItemString(r, "loancolltype_code");
// if (ls_colltype == "02")
// {
// li_row = r;
// CheckCollPermiss();
// }
//}
if (dw_coll.GetColumnNumber() > 0)
{
dw_coll.SetItemString(1, "loancolltype_code", "01");
CheckCollPermiss();
}
else
{
dw_coll.InsertRow(0);
dw_coll.SetItemString(1, "loancolltype_code", "01");
CheckCollPermiss();
}
}
//if (li_row <= 0) //ไม่ต้อง __เพิ่มหุ้นค้ำอัตโนมัติ
//{
// li_row = dw_coll.InsertRow(0);
// dw_coll.SetItemString(li_row, "loancolltype_code", "02");
// HdRefcollrow.Value = li_row.ToString();
// CheckCollPermiss();
//}
if (li_useman > 0)
{
li_row = 0;
for (int r = 1; r <= li_useman; r++)
{
li_row = dw_coll.InsertRow(0);
dw_coll.SetItemString(li_row, "loancolltype_code", "04");
}
}
}
}
///
/// ตรวจสอบหลักประกัน
///
private void CheckCollPermiss()
{
string as_loantype = "", as_colltype = "", as_collno = "";
int row_coll; //แถว ค้ำประกัน
try { row_coll = Convert.ToInt32(HdRefcollrow.Value); }
catch { row_coll = 1; }
as_loantype = dw_main.GetItemString(1, "loantype_code");
try { as_colltype = dw_coll.GetItemString(row_coll, "loancolltype_code"); }
catch { as_colltype = ""; }
as_collno = HdRefcoll.Value;
//ประเภทหลักประกันเป็น หุ้น
if (as_colltype == "01")
{
//try { as_collno = dw_main.GetItemString(1, "member_no"); }
try { as_collno = WebUtil.MemberNoFormat(dw_main.GetItemString(1, "member_no")); }
catch { as_collno = ""; }
}//ประเภทหลักประกันเป็น หลักทรัพย์
else if (as_colltype == "03")
{
try { as_collno = HdRefcollNO.Value; }
catch { as_collno = ""; }
}//ประเภทหลักประกันเป็น เงินฝาก
else if (as_colltype == "02")
{
try { as_collno = dw_coll.GetItemString(row_coll, "ref_collno"); }
catch { as_collno = ""; }
}//ประเภทหลักประกัน ตำแหน่ง
else if (as_colltype == "55")
{
try { as_collno = dw_main.GetItemString(1, "member_no"); }
catch { as_collno = ""; }
}
else if (as_collno != "")
{
try
{
as_collno = WebUtil.MemberNoFormat(as_collno);
}
catch { as_collno = ""; }
}
try
{
Boolean result_chk = ChkSameColl(as_collno, row_coll, as_colltype);
if (result_chk == true && as_collno != "")
{
string sqlStr = "";
string description = "";
//คน
if (as_colltype == "04")
{
//เช็คสิทธิ์การค้ำประกัน (as_reqlntype, as_colltype, as_refcoopid, as_refcollno);
// int result = wcf.Shrlon.of_isvalidcoll(state.SsWsPass, as_loantype, as_colltype, state.SsCoopControl, as_collno);//pb120
int result = wcf.NShrlon.of_isvalidcoll(state.SsWsPass, as_loantype, as_colltype, state.SsCoopControl, as_collno); //pn125
if (result == 1 && as_collno != "")
{
DateTime ldtm_loanreq = dw_main.GetItemDateTime(1, "loanrequest_date");
int li_retryage = 0;
string sql = @"select mbucfprename.prename_desc||mbmembmaster.memb_name||' '||mbmembmaster.memb_surname as member_name
from mbmembmaster,
mbucfprename
where ( mbmembmaster.prename_code = mbucfprename.prename_code )
and ( mbmembmaster.coop_id = {0} )
and ( mbmembmaster.member_no = {1} )";
sql = WebUtil.SQLFormat(sql, state.SsCoopControl, as_collno, ldtm_loanreq);
dt = ta.Query(sql);
if (dt.Next())
{
description = dt.GetString("member_name");
dw_coll.SetItemString(row_coll, "ref_collno", as_collno);
dw_coll.SetItemString(row_coll, "description", description);
//li_retryage = dt.GetInt32("retry_age");
//int li_periodpay = Convert.ToInt32(dw_main.GetItemDecimal(1, "period_payamt"));
//if (li_retryage < li_periodpay)
//{
// LtServerMessagecoll.Text = WebUtil.WarningMessage("ผู้ค้ำคนนี้ ค้ำประกันได้สูงสุด " + li_retryage + " งวด ซื่งน้อยกว่างวดขอกู้");
//}
}
dw_coll.SetItemDecimal(row_coll, "collbase_amt", 0);
dw_coll.SetItemDecimal(row_coll, "collbase_percent", 0);
dw_coll.SetItemDecimal(row_coll, "collmax_amt", 0);
dw_coll.SetItemDecimal(row_coll, "collbalance_amt", 0);
dw_coll.SetItemDecimal(row_coll, "collactive_amt", 0);
dw_coll.SetItemDecimal(row_coll, "collactive_percent", 0);
dw_coll.SetItemDecimal(row_coll, "collused_amt", 0);
}
GetCollPermiss();
}//หุ้น
else if (as_colltype == "01")
{
dw_coll.SetItemString(row_coll, "ref_collno", as_collno);
dw_coll.SetItemString(row_coll, "description", "ทุนเรือนหุ้น " + dw_main.GetItemString(1, "member_name"));
GetCollPermiss();
}
else if (as_colltype == "02")
{
sqlStr = @"select deptaccount_name
from dpdeptmaster
where deptclose_status = 0
and deptaccount_no = '" + as_collno + "'";
dt = ta.Query(sqlStr);
if (dt.Next())
{
description = dt.GetString("deptaccount_name");
dw_coll.SetItemString(row_coll, "ref_collno", as_collno);
dw_coll.SetItemString(row_coll, "description", "บัญชี" + description);
}
GetCollPermiss();
}//หลักทรัพย์
else if (as_colltype == "03")
{
sqlStr = @"select collmast_desc , redeem_flag
from lncollmaster
where collmast_no = '" + as_collno + "'";
dt = ta.Query(sqlStr);
if (dt.Next())
{
description = dt.GetString("collmast_desc");
dw_coll.SetItemString(row_coll, "ref_collno", as_collno);
dw_coll.SetItemString(row_coll, "description", description);
}
GetCollPermiss();
}
//Edit By BankCM For get position coll
else if (as_colltype == "55")
{
decimal collactive_percent = 0, collpermiss = 0, collmaxcoll = 0;
if ((dw_coll.RowCount - 1) <= 1)
{
for (int i = 1; i <= dw_coll.RowCount - 1; i++)
{
collactive_percent = 0;
collpermiss = 0;
try
{
collpermiss = collpermiss + dw_coll.GetItemDecimal(i, "collactive_amt");
}
catch { collpermiss = collpermiss + 0; }
try
{
collactive_percent = collactive_percent + dw_coll.GetItemDecimal(i, "collactive_percent");
}
catch { collactive_percent = collactive_percent + 0; }
}
collpermiss = dw_main.GetItemDecimal(1, "loanrequest_amt") - collpermiss;
collactive_percent = 100 - collactive_percent;
collmaxcoll = dw_main.GetItemDecimal(1, "loanrequest_amt");
}
else
{
collpermiss = dw_main.GetItemDecimal(1, "loanrequest_amt");
collactive_percent = 100;
collmaxcoll = dw_main.GetItemDecimal(1, "loanrequest_amt");
}
dw_coll.SetItemString(row_coll, "ref_collno", dw_main.GetItemString(1, "member_no"));
dw_coll.SetItemString(row_coll, "description", dw_main.GetItemString(1, "member_name"));
dw_coll.SetItemDecimal(row_coll, "collbalance_amt", collpermiss);
dw_coll.SetItemDecimal(row_coll, "collbase_amt", collpermiss);
dw_coll.SetItemDecimal(row_coll, "collactive_amt", collpermiss);
dw_coll.SetItemDecimal(row_coll, "collactive_percent", collactive_percent);
dw_coll.SetItemDecimal(row_coll, "collbase_percent", 100);
dw_coll.SetItemDecimal(row_coll, "collmax_amt", collmaxcoll);
}
}
}
catch (Exception ex) { LtServerMessagecoll.Text += WebUtil.ErrorMessage(ex); }
}
///
/// ตรวจสอบสิทธิ์ค้ำ
///
private void of_recalcollpermiss()
{
HdCondition.Value = "true";
string ls_memno = "", ls_loantype = "", ls_colltype = "", ls_collno = "", ls_reqdocno, ls_excludecont = "";
decimal ldc_collbaseamt = 0, ldc_maxcoll = 0, ldc_collbasepercent = 0, ldc_collusecont = 0, ldc_collusereq = 0, ldc_collbal = 0;
int li_clrstatus = 0;
DateTime ldtm_lnreq;
ls_memno = dw_main.GetItemString(1, "member_no");
ls_loantype = dw_main.GetItemString(1, "loantype_code");
ls_reqdocno = dw_main.GetItemString(1, "loanrequest_docno");
ldtm_lnreq = dw_main.GetItemDateTime(1, "loanrequest_date");
for (int i = 1; i <= dw_clear.RowCount; i++)
{//ดึงเลขที่สัญญาหักกลบที่ถูกเลือก
li_clrstatus = Convert.ToInt32(dw_clear.GetItemDecimal(i, "clear_status"));
if (li_clrstatus == 1)
{
ls_excludecont += "," + dw_clear.GetItemString(i, "loancontract_no");
}
}
if (ls_excludecont != "")
{
ls_excludecont = ls_excludecont.Substring(1);
}
for (int r = 1; r <= dw_coll.RowCount; r++)
{
ls_colltype = dw_coll.GetItemString(r, "loancolltype_code");
ls_collno = dw_coll.GetItemString(r, "ref_collno");
if (ls_collno.Trim() == "")
{
continue;
}
try
{//สิทธิค้ำสูงสุด
if (ls_colltype == "04")
{
string sql = @"select est_price, est_percent from lncollmaster where ( coop_id = {0} ) and ( collmast_no = {1} )";
sql = WebUtil.SQLFormat(sql, state.SsCoopControl, ls_collno);
dt = ta.Query(sql);
if (dt.Next())
{
ldc_collbaseamt = dt.GetDecimal("est_price");
ldc_collbasepercent = dt.GetDecimal("est_percent");
ldc_maxcoll = ldc_collbaseamt;
}
}
else
{
wcf.NShrlon.of_getcollpermiss(state.SsWsPass, ls_loantype, ls_colltype, state.SsCoopControl, ls_collno, ldtm_lnreq, ref ldc_collbaseamt, ref ldc_maxcoll, ref ldc_collbasepercent); //pb125
}
dw_coll.SetItemDecimal(r, "collbase_amt", ldc_collbaseamt);
dw_coll.SetItemDecimal(r, "collbase_percent", ldc_collbasepercent);
dw_coll.SetItemDecimal(r, "collmax_amt", ldc_maxcoll);
}
catch (Exception ex)
{
LtServerMessagecoll.Text += WebUtil.WarningMessage(ex);
}
//เฉพาะคนค้ำต้องตรวจนับสัญญา
if (ls_colltype == "01")
{
try
{
//int result = wcf.Shrlon.of_checkcollmancount(state.SsWsPass, state.SsCoopControl, ls_collno, ls_memno, ls_loantype, ls_excludecont, ls_reqdocno); //pb120
int result = wcf.NShrlon.of_checkcollmancount(state.SsWsPass, state.SsCoopControl, ls_collno, ls_memno, ls_loantype, ls_excludecont, ls_reqdocno); //pb125
}
catch (Exception ex)
{
LtServerMessagecoll.Text += WebUtil.ErrorMessage(ex);
}
}
try
{//สิทธิ์ค้ำที่ใช้ไปของใบคำขอ
//ldc_collusecont = wcf.Shrlon.of_getcollusecontamt(state.SsWsPass, state.SsCoopControl, ls_collno, ls_loantype, ls_colltype, ls_excludecont, ls_reqdocno); //pb120
ldc_collusecont = wcf.NShrlon.of_getcollusecontamt(state.SsWsPass, state.SsCoopControl, ls_collno, ls_loantype, ls_colltype, ls_excludecont, ls_reqdocno); //pb125
}
catch (Exception ex) { ex.ToString(); }
try
{//เช็คจำนวนสัญญาที่สามารถใช้ค้ำได้
//ldc_collusereq = wcf.Shrlon.of_getcollusereqamt(state.SsWsPass, state.SsCoopControl, ls_collno, ls_loantype, ls_colltype, ls_reqdocno);//pb120//
ldc_collusereq = wcf.NShrlon.of_getcollusereqamt(state.SsWsPass, state.SsCoopControl, ls_collno, ls_loantype, ls_colltype, ls_reqdocno); //pb125
}
catch (Exception ex) { ex.ToString(); }
ldc_collbal = (ldc_collbaseamt - ldc_collusecont - ldc_collusereq) * ldc_collbasepercent / 100;
dw_coll.SetItemDecimal(r, "collbalance_amt", ldc_collbal);
}
}
///
/// ตรวจสอบสิทธิ์ค้ำ
///
private void GetCollPermiss()
{
string as_memno = "", as_loantype = "", as_colltype = "", as_collno = "", as_reqdocno, as_excludecont = "";
int row_coll, row_clr;
decimal clear_status = 0, //สถาณะสัญญาหักกลบ
loanreqregis_amt, //ยอดขอกู้
collpermiss = 0, //สิทธิค้ำสูงสุด
collactive_percent = 0, //% ค้ำ
collmaxcoll = 0; //สิทธิ์ค้ำสูงสุดของสัญญาเงินกู้
decimal permiss = 0, //ref service of_getcollpermiss
percent = 0, //ref service of_getcollpermiss
maxcoll = 0; //ref service of_getcollpermiss
decimal flag_permiss, //flag การคำนวณ เปอร์เซ็นต์
flag_collmancount; //flag การคำนวณ เปอร์เซ็นต์
decimal collusecontamt = 0, //สิทธิ์ค้ำที่ใช้ไปของใบคำขอ
collusereqamt = 0, //เช็คจำนวนสัญญาที่สามารถใช้ค้ำได้
collbalance_amt, //สิทธิค้ำคงเหลือ
collactive_amt = 0; //ค้ำประกัน
Decimal share_balance = 0; //ยอดหุ้น
DateTime adtm_check; //วันที่ทำรายการ
Decimal collactive__amt = dw_main.GetItemDecimal(1, "loanrequest_amt");
try { row_coll = Convert.ToInt32(HdRefcollrow.Value); }
catch { row_coll = 1; }
share_balance = dw_main.GetItemDecimal(1, "share_balance");
as_loantype = dw_main.GetItemString(1, "loantype_code");
adtm_check = dw_main.GetItemDateTime(1, "loanrequest_date");
as_memno = dw_main.GetItemString(1, "member_no");
as_reqdocno = dw_main.GetItemString(1, "loanrequest_docno");
if (as_reqdocno == "Auto") { as_reqdocno = null; }
loanreqregis_amt = dw_main.GetItemDecimal(1, "loanreqregis_amt");
try { as_colltype = dw_coll.GetItemString(row_coll, "loancolltype_code"); }
catch { as_colltype = ""; }
as_collno = dw_coll.GetItemString(row_coll, "ref_collno"); ;
row_clr = dw_clear.RowCount;
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;
}
}
if (as_colltype == "03")
{
string sql = @"select mortgage_price, estimate_price, est_percent from lncollmaster
where ( coop_id = {0} ) and ( collmast_no = {1} )";
// string sql = @"select dol_prince, est_price, est_percent from lncollmaster
// where ( coop_id = {0} ) and ( collmast_no = {1} )";
sql = WebUtil.SQLFormat(sql, state.SsCoopControl, as_collno);
dt = ta.Query(sql);
if (dt.Next())
{
collpermiss = dt.GetDecimal("estimate_price");
collactive_percent = dt.GetDecimal("est_percent");
collmaxcoll = collpermiss;
Decimal tt = dt.GetDecimal("mortgage_price");
percent = 100;
dw_coll.SetItemDecimal(row_coll, "collbase_amt", tt);
dw_coll.SetItemDecimal(row_coll, "collbase_percent", percent);
dw_coll.SetItemDecimal(row_coll, "collmax_amt", collmaxcoll);
dw_coll.SetItemDecimal(row_coll, "collbalance_amt", collpermiss);
dw_coll.SetItemDecimal(row_coll, "collactive_amt", collactive__amt);
dw_coll.SetItemDecimal(row_coll, "collactive_percent", percent);
dw_coll.SetItemDecimal(row_coll, "collused_amt", 0);
}
}
if (as_colltype == "04")//บุคคล
{
/* try
{//เช็คจำนวนสัญญาที่สามารถใช้ค้ำได้
decimal countcoll = 0, maxpeople = 0;
string sql66 = @"select usemangrt_mainmaxvalue from lnloantype
where coop_id = {0} and loantype_code = '" + as_loantype + "' ";
sql66 = WebUtil.SQLFormat(sql66, state.SsCoopControl);
dt = ta.Query(sql66);
if (dt.Next())
{
maxpeople = dt.GetDecimal("usemangrt_mainmaxvalue");
}
if (maxpeople > 0)
{
string sql67 = @"select count(lncontcoll.loancontract_no)as cln from lncontcoll left join lncontmaster on lncontcoll.loancontract_no = lncontmaster.loancontract_no
where ( lncontcoll.coop_id = {0} ) and ( lncontmaster.contract_status = 1 ) and ( lncontcoll.ref_collno = {1} )";
sql67 = WebUtil.SQLFormat(sql67, state.SsCoopControl, as_memno);
dt2 = ta.Query(sql67);
if (dt2.Next())
{
countcoll = dt2.GetDecimal("cln");
}
if (maxpeople < countcoll)
{//ถ้า จำนวนสัญญา ที่สำมารถค้ำได้ มากกว่า สัญญาที่ค้ำอยู่แล้ว
this.SetOnLoadedScript("alert('สมาชิกท่านนี้ ไม่สามารถค้ำประกันได้!! \\n เนื่องจากสมาชิกท่านนี้ ค้ำประกันไปแล้ว :" + countcoll + " สัญญา')");
dw_coll.Reset();
dw_coll.InsertRow(1);
dw_coll.SetItemString(1, "loancolltype_code", "04");
}
}
}
catch (Exception ex) { ex.ToString(); }*/
string word = WebUtil.checkconcoll(as_collno, state.SsCoopId, as_colltype, dw_main.GetItemString(1, "member_no"));
if (word != "")
{
this.SetOnLoadedScript("alert('" + word + "')");
dw_coll.SetItemString(Convert.ToInt32(HdRowNumber.Value.ToString()), "description", "");
dw_coll.SetItemString(Convert.ToInt32(HdRowNumber.Value.ToString()), "ref_collno", "");
}
}
if (as_colltype == "01")//หุ้น
{
int result = wcf.NShrlon.of_getcollpermiss(state.SsWsPass, as_loantype, as_colltype, state.SsCoopControl, as_collno, adtm_check, ref permiss, ref maxcoll, ref percent); //pb125
decimal shrclr_amt = 0;
//แก้ kla
Decimal buyshare = 0, collamt = 0;
if (dw_otherclr.GetColumnNumber() > 0)
{
for (int i = 1; i <= dw_otherclr.RowCount; i++)
{
if (dw_otherclr.GetItemString(i, "clrothertype_code") == "SHR")
{
shrclr_amt += dw_otherclr.GetItemDecimal(i, "clrother_amt");
}
}
collpermiss += shrclr_amt;
collpermiss = collpermiss + share_balance;
}
else
{
collpermiss = permiss;
}
//collactive_percent = percent;
//collmaxcoll = maxcoll;
collactive_percent = percent;
// collamt = share_balance + collpermiss;
collmaxcoll = (collpermiss * collactive_percent) / 100;
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);
try
{//สิทธิ์ค้ำที่ใช้ไปของใบคำขอ
collusecontamt = wcf.NShrlon.of_getcollusecontamt(state.SsWsPass, state.SsCoopControl, as_collno, as_loantype, as_colltype, as_excludecont, as_reqdocno); //pb125
}
catch (Exception ex) { ex.ToString(); }
try
{//เช็คจำนวนสัญญาที่สามารถใช้ค้ำได้
collusereqamt = wcf.NShrlon.of_getcollusereqamt(state.SsWsPass, state.SsCoopControl, as_collno, as_loantype, as_colltype, as_reqdocno); //pb125
//this.SetOnLoadedScript("alert('ยอดข้อกู้ เกินจำนวนเงินที่สามารถให้กู้ได้ คุณสามารถกู้ได้สูงสุด :" + collusereqamt + "')");
}
catch (Exception ex) { ex.ToString(); }
//collbalance_amt = (collpermiss - collusecontamt - collusereqamt) * percent / 100;
collbalance_amt = collmaxcoll;
//ถ้า สิทธิ์ค้ำคงเหลือ มากกว่า สิทธิ์ค้ำสูงสุดของสัญญานี้ ให้ สิทธิ์ค้ำ = สิทธิ์ค้ำสูงสุด
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;
Decimal percent_share = 0, coll_balance = 0;
if (dw_otherclr.GetColumnNumber() < 0)
{
string sql = @"select multiple_share from LNLOANTYPECUSTOM
where ( coop_id = {0} ) and ( loantype_code = {1} )";
sql = WebUtil.SQLFormat(sql, state.SsCoopControl, as_loantype);
dt = ta.Query(sql);
if (dt.Next())
{
percent_share = dt.GetDecimal("multiple_share");
}
coll_balance = dw_otherclr.GetItemDecimal(1, "compute_2");
coll_balance = coll_balance * percent_share;
}
collactive_percent = percent;
if (collbalance_amt > 0)
{
dw_coll.SetItemDecimal(row_coll, "collbalance_amt", collbalance_amt + coll_balance);
dw_coll.SetItemDecimal(row_coll, "collactive_amt", collactive_amt);
dw_coll.SetItemDecimal(row_coll, "collactive_percent", collactive_percent);
dw_coll.SetItemDecimal(row_coll, "collused_amt", collusecontamt);
dw_coll.SetItemDecimal(row_coll, "collbase_percent", collactive_percent);
}
else
{
dw_coll.SetItemDecimal(row_coll, "collbalance_amt", 0);
dw_coll.SetItemDecimal(row_coll, "collactive_amt", 0);
dw_coll.SetItemDecimal(row_coll, "collactive_percent", 0);
}
}
}
///
/// ตรวจสอบการซ้ำของหลักประกัน
///
public Boolean ChkSameColl(String as_collno, int row_coll, string as_colltype)
{
string ref_collno = "", loancolltype_code = "";
Boolean retrn = true;
for (int i = 1; i <= dw_coll.RowCount; i++)
{
if (row_coll != i && as_collno != "")
{
try
{
ref_collno = dw_coll.GetItemString(i, "ref_collno");
loancolltype_code = dw_coll.GetItemString(i, "loancolltype_code");
}
catch { ref_collno = ""; loancolltype_code = ""; }
if (ref_collno != "")
{
if ((as_collno == ref_collno) && (as_colltype == loancolltype_code))
{
LtServerMessagecoll.Text += WebUtil.WarningMessage("พบหลักประกันซ้ำ " + ref_collno);
//Response.Write(@"");
dw_coll.SetItemString(row_coll, "ref_collno", "");
dw_coll.SetItemString(row_coll, "description", "");
retrn = false;
}
else { retrn = true; }
}
}
}
return retrn;
}
///
///บันทึกใบคำขอ
///
public void SaveWebSheet()
{
string loancontract_no = "";
int li_return = JsCheckDataBeforesave();
if (li_return == 1)
{
dw_main.SetItemDecimal(1, "loanrequest_status", 1);
String dwMain_XML = dw_main.Describe("DataWindow.Data.XML");
String dwColl_XML = "";
String dwClear_XML = "";
String dwOtherClr_XML = "";
String dwMthexp_XML = "";
String dwIntspc_XML = "";
String dwPeriodpay_XML = "";
String dwPrincont_XML = "";
//mai กรณี ไม่มีการค้ำประกันให้สามารถบันทึกได้
if (dw_coll.RowCount > 0)
{
dwColl_XML = dw_coll.Describe("DataWindow.Data.XML");
}
if (dw_clear.RowCount > 0)
{
dwClear_XML = dw_clear.Describe("DataWindow.Data.XML");
}
if (dw_otherclr.RowCount > 0)
{
dwOtherClr_XML = dw_otherclr.Describe("DataWindow.Data.XML");
}
if (dw_intspc.RowCount > 0)
{
dwIntspc_XML = dw_intspc.Describe("DataWindow.Data.XML");
}
if (dw_mthexp.RowCount > 0)
{
dwMthexp_XML = dw_mthexp.Describe("DataWindow.Data.XML");
}
if (dw_periodpay.RowCount > 0)
{
dwPeriodpay_XML = dw_periodpay.Describe("DataWindow.Data.XML");
}
if (dw_printcont.RowCount > 0)
{
dwPrincont_XML = dw_printcont.Describe("DataWindow.Data.XML");
}
str_savereqloan strSave = new str_savereqloan();
strSave.xml_main = dwMain_XML;
strSave.xml_clear = dwClear_XML;
strSave.xml_guarantee = dwColl_XML;
strSave.xml_otherclr = dwOtherClr_XML;
strSave.xml_mthexp = dwPeriodpay_XML; //wa เปลียนมาใช้สำหรับส่งไป บันทึกตารางชำระ
strSave.xml_intspc = dwIntspc_XML;
strSave.xml_reqperiod = dwPrincont_XML; // kla เปลี่ยนใช้สำหรับส่งไป บันทึก รายรับจ่าย ประกอบการกู้
// strSave.xml_intcertdet = dwPeriodpay_XML
strSave.entry_id = state.SsUsername;
string loancontract = "";
String docno = dw_main.GetItemString(1, "loanrequest_docno");
// ส่งให้ service save
try
{
wcf.NShrlon.of_save_lnreq(state.SsWsPass, ref strSave);//pb125
reqdoc_no = strSave.request_no;
dw_main.SetItemString(1, "loanrequest_docno", reqdoc_no);
txt_reqNo.Text = reqdoc_no;
txt_member_no.Text = member_no;
strSave.request_no = reqdoc_no;
string sqlcontract = @"select loancontract_no from lnreqloan
where ( coop_id = {0} ) and ( loanrequest_docno = {1} )";
sqlcontract = WebUtil.SQLFormat(sqlcontract, state.SsCoopControl, reqdoc_no);
dt = ta.Query(sqlcontract);
if (dt.Next())
{
loancontract_no = dt.GetString("loancontract_no");
}
if (docno == "Auto" || docno == null)
{
InsertPeriodpaydet(loancontract_no, reqdoc_no);
saveApprove(reqdoc_no, loancontract_no);
//update ครั้งที่ ชุดที่
int r = dw_collmate.RowCount;
if (dw_collmate.RowCount > 0)
{
for (int i = 1; i <= dw_collmate.RowCount; i++)
{
String prename_code = "", memb_name = "", memb_surname = "", card_person = "", addr_moo = "", ref_memno = "", road = "", tambol = "", amphur = "", province = "", tell = "", addr_no = "";
try
{
prename_code = dw_collmate.GetItemString(i, "prename_code");
}
catch (Exception e) { prename_code = ""; }
try
{
memb_name = dw_collmate.GetItemString(i, "memb_name");
}
catch (Exception e) { memb_name = ""; }
try
{
ref_memno = dw_collmate.GetItemString(i, "mate_no");
}
catch (Exception e) { ref_memno = ""; }
try
{
memb_surname = dw_collmate.GetItemString(i, "memb_surname");
}
catch (Exception e) { memb_surname = ""; } try
{
card_person = dw_collmate.GetItemString(i, "card_person");
}
catch (Exception e) { card_person = ""; } try
{
addr_moo = dw_collmate.GetItemString(i, "addr_moo");
}
catch (Exception e) { addr_moo = ""; } try
{
road = dw_collmate.GetItemString(i, "road");
}
catch (Exception e) { road = ""; } try
{
tambol = dw_collmate.GetItemString(i, "tambol");
}
catch (Exception e) { tambol = ""; } try
{
amphur = dw_collmate.GetItemString(i, "amphur");
}
catch (Exception e) { amphur = ""; }
try
{
province = dw_collmate.GetItemString(i, "province");
}
catch (Exception e) { province = ""; } try
{
tell = dw_collmate.GetItemString(i, "tell");
}
catch (Exception e) { tell = ""; } try
{
addr_no = dw_collmate.GetItemString(i, "addr_no");
}
catch (Exception e) { addr_no = ""; }
string sqlinsertcoll = @"insert into lnreqloancollmate(coop_id,loanrequest_docno,prename_code,memb_name,memb_surname,card_person,addr_moo,road,tambol,amphur,province,tell,addr_no,seq_no,ref_memno) values
({0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12},{13},{14})";
sqlinsertcoll = WebUtil.SQLFormat(sqlinsertcoll, state.SsCoopControl, reqdoc_no, prename_code,
memb_name, memb_surname, card_person,
addr_moo, road, tambol, amphur,
province, tell, addr_no, i, ref_memno);
WebUtil.QuerySdt(sqlinsertcoll);
}
}
else
{
try
{
for (int i = 1; i <= 2; i++) //ถ้าไม่กรอกคู่สมรสให้ Insert row ป่าว
{
string sqlinsertcoll = @"insert into lnreqloancollmate(coop_id,loanrequest_docno,seq_no) values({0},{1},{2})";
sqlinsertcoll = WebUtil.SQLFormat(sqlinsertcoll, state.SsCoopControl, reqdoc_no, i);
WebUtil.QuerySdt(sqlinsertcoll);
}
}
catch { }
}
// saveApprove(reqdoc_no, loancontract_no);
//update ครั้งที่ contcount , ชุดที่ contcount_end
string sqlUpdateContcount = @"update lnloanconstant set contcount= {0} ,contcount_end ={1} where coop_id={2}";
sqlUpdateContcount = WebUtil.SQLFormat(sqlUpdateContcount, dw_contractNo.GetItemDecimal(1, "contcount"), dw_contractNo.GetItemDecimal(1, "contcount_end"), state.SsCoopId);
Sdt d = WebUtil.QuerySdt(sqlUpdateContcount);
String sqlupdate = " update cmdocumentcontrol last_documentno set last_documentno = last_documentno+1 where document_code = '" + lastdoc.Value + "'";
WebUtil.QuerySdt(sqlupdate);
}
else
{////////////// Save ท่อนแก้ไข
InsertPeriodpaydet(loancontract_no, reqdoc_no);
updatelncollmate(docno);
UpdateLncontmaster(loancontract_no);
UpdateLncontcoll(loancontract_no);
//String sql33 = @"select loanrequest_docno from lnreqloanperiodpaydet where loanrequest_docno = {0} and coop_id={1}";
//sql33 = WebUtil.SQLFormat(sql33, reqdoc_no, state.SsCoopId);
//Sdt result = WebUtil.QuerySdt(sql33);
//if (result.Next())
//{
//}
}
SaveCountLoan(loancontract_no);
if(dw_printcont.RowCount>0){
savePrintcont(reqdoc_no);
}
savePeriodpaydet(reqdoc_no, state.SsCoopControl, loancontract_no);
LtServerMessage.Text = WebUtil.CompleteMessage("บันทึกข้อมูลเรียบร้อยแล้ว");
}
catch (Exception ex) { LtServerMessage.Text = WebUtil.ErrorMessage(ex); }
int li_apv = Convert.ToInt16(dw_main.GetItemDecimal(1, "apvimmediate_status"));
if (li_apv == 1 || li_apv == 2)
{
//string contno = strSave.loancontract_no;
//Hdcontno.Value = contno;
HdReturn.Value = "11";
}
x = 2;
dw_main.SetItemString(1, "loanrequest_docno", reqdoc_no);
Ltdividen.Text = " ";
Ltjspopup.Text = " ";
if (li_apv == 0)
{
String ls_loantype = dw_main.GetItemString(1, "loantype_code");
Session["loantypeCode"] = ls_loantype;
JsReNewPage();
}
}
}
private void InsertPeriodpaydet(string loancontract_no, string reqdoc_no)
{
string sql2 = @"delete from lnreqloanperiodpaydet where loanrequest_docno = {0} and coop_id={1}";
sql2 = WebUtil.SQLFormat(sql2, reqdoc_no, state.SsCoopId);
WebUtil.QuerySdt(sql2);
string sql28 = @"delete from lnprintcont where loanrequest_docno = {0} and coop_id={1}";
sql28 = WebUtil.SQLFormat(sql28, reqdoc_no, state.SsCoopId);
WebUtil.QuerySdt(sql28);
string sql29 = @"delete from LNCONTOBJECTIVE where loanrequest_docno = {0} and coop_id={1}";
sql29 = WebUtil.SQLFormat(sql29, reqdoc_no, state.SsCoopId);
WebUtil.QuerySdt(sql29);
//}
//else
//{
if (dw_periodpay.RowCount > 0)
{
for (int i = 1; i <= dw_periodpay.RowCount; i++)
{
DateTime timesss = dw_periodpay.GetItemDate(i, "expireperiod_date");
// DateTime sgh = dw_periodpay.GetItemDate(i, "expireperiod_date");
//บันทึก lnreqloanperiodpaydet
string sql24 = @"insert into lnreqloanperiodpaydet(loanrequest_docno,coop_id,period,principal_payment,expireperiod_date) values
({0},{1},{2},{3},{4})";
sql24 = WebUtil.SQLFormat(sql24, reqdoc_no, state.SsCoopId, i, dw_periodpay.GetItemDecimal(i, "principal_payment"), timesss);
// sql2 = WebUtil.SQLFormat(sql2, reqdoc_no, state.SsCoopId, i, dw_periodpay.GetItemDecimal(i, "principal_payment"), sgh);
WebUtil.QuerySdt(sql24);
}
} if (dw_obj.RowCount > 0)
{
for (int h = 1; h <= dw_obj.RowCount; h++)
{
//insert วัตถุประสงค์
string sqlinsCont = @" insert into LNCONTOBJECTIVE (COOP_ID,LOANCONTRACT_NO,LOANREQUEST_DOCNO,LOANOBJECTIVE_CODE,LOANOBJECTIVE_DESC,OBJECTIVE_AMT) values({0},{1},{2},{3},{4},{5})";
sqlinsCont = WebUtil.SQLFormat(sqlinsCont, state.SsCoopId, loancontract_no, reqdoc_no, dw_obj.GetItemString(h, "loanobjective_code"), dw_obj.GetItemString(h, "loanobjective_desc"), dw_obj.GetItemDecimal(h, "objective_amt"));
WebUtil.QuerySdt(sqlinsCont);
}
}
}
private void UpdateLncontcoll(string loancontract_no)
{
string loancolltype_code = "", DESCRIPTION="";
if (dw_coll.RowCount > 0 )
{
WebUtil.QuerySdt("delete from lncontcoll where LOANCONTRACT_NO = '" + loancontract_no + "' and coop_id = '" + state.SsCoopControl + "'");
for (int n = 1; n <= dw_coll.RowCount; n++){
try
{
loancolltype_code = dw_coll.GetItemString(n, "loancolltype_code");
}
catch (Exception e) { loancolltype_code = ""; }
try
{
DESCRIPTION = dw_coll.GetItemString(n, "DESCRIPTION");
}
catch (Exception e) { DESCRIPTION = ""; }
if (loancolltype_code != "")
{
string coll = @" insert into lncontcoll( COOP_ID , LOANCONTRACT_NO , SEQ_NO , LOANCOLLTYPE_CODE , REFCOOP_ID ,
REF_COLLNO , DESCRIPTION , COLL_AMT , COLL_BALANCE , USE_AMT ,
COLL_PERCENT , COLL_STATUS , BASE_PERCENT , RCVTRNLOAN_FLAG , REMARK ,
RECVTRNLOAN_FLAG , COLLBASE_AMT , COLLBASE_PERCENT ,
COLLUSED_AMT , COLLBALANCE_AMT , COLLMAX_AMT , COLLACTIVE_AMT ,
COLLACTIVE_PERCENT , SUMCOLLACTIVE_AMT , LOANREQUEST_AMT , PRINCIPAL_BALANCE) values({0} , {1} , {2} , {3} , {0} ,
{4} , {5} , {6} , {7} , 0 ,
0 , 1 , 0 , 0 , '' ,
0 , 0 , 0 ,
0 , {7} , {7} , {8} ,
0 , 0 , 0 , 0 ) ";
coll = WebUtil.SQLFormat(coll, state.SsCoopControl, loancontract_no, n, dw_coll.GetItemString(n, "loancolltype_code"), dw_coll.GetItemString(n, "ref_collno"),
DESCRIPTION, dw_coll.GetItemString(n, "collbase_amt"), dw_coll.GetItemDecimal(n, "collbalance_amt"), dw_coll.GetItemDecimal(n, "collactive_amt"));
WebUtil.QuerySdt(coll);
}
}
}
}
private void UpdateLncontmaster(string loancontract_no)
{
CultureInfo th = System.Globalization.CultureInfo.GetCultureInfo("th-TH");
// DateTime ss = dw_periodpay.GetItemDate(row, "expireperiod_date");
String dayss = dw_main.GetItemString(1, "loanrequest_tdate");
Int16 month = Convert.ToInt16(dayss.Substring(2, 2));
// month = month;
DateTime today = DateTime.ParseExact(dayss, "ddmmyyyy", null);
DateTime today2 = today.AddMonths(month - 1);
// today = new DateTime(today.Year, today.Month, today.Day);
today2.AddYears(-543);
String dayss2 = dw_main.GetItemString(1, "loanrcvfix_tdate");
Int16 month2 = Convert.ToInt16(dayss2.Substring(2, 2));
// month = month;
DateTime today3 = DateTime.ParseExact(dayss2, "ddmmyyyy", null);
DateTime today4 = today3.AddMonths(month2 - 1);
// today = new DateTime(today.Year, today.Month, today.Day);
today4.AddYears(-543);
String lncont = @"update lncontmaster set loantype_code={0},loanrequest_amt={1},loanapprove_date=to_date({2},'dd/mm/yyyy') ,startcont_date=to_date({3},'dd/mm/yyyy'),loanapprove_amt={4},withdrawable_amt={4},period_lastpayment={4}
,period_payment ={5},expirecont_date =to_date({6},'dd/mm/yyyy')
where loancontract_no= {7} and coop_id={8}";
lncont = WebUtil.SQLFormat(lncont, dw_main.GetItemString(1, "loantype_code"), dw_main.GetItemDecimal(1, "loanrequest_amt"),
today2.AddYears(-543).ToString("dd/MM/yyyy"), today2.AddYears(-543).ToString("dd/MM/yyyy"), dw_main.GetItemDecimal(1, "loanrequest_amt"),
dw_main.GetItemDecimal(1, "period_payment"), today4.AddYears(-543),loancontract_no,state.SsCoopControl);
WebUtil.QuerySdt(lncont);
}
private void SaveCountLoan(String loancontract_no)
{
decimal Contract_interest = -1;
//Contract_interest = dw_main.GetItemDecimal(1, "identifycont_intrate");
//Contract_interest = Contract_interest / 100;
//update ครั้งที่ contcount , ชุดที่ contcount_end
string sqlUpdateContcountMaster = @"update lncontmaster set contcount = {0} ,contract_interest= " + Contract_interest + ", contcount_end ={1} , loanobjective_code = '" + dw_obj.GetItemString(1, "loanobjective_code") + "' where coop_id={2} and loancontract_no={3} ";
sqlUpdateContcountMaster = WebUtil.SQLFormat(sqlUpdateContcountMaster, dw_contractNo.GetItemDecimal(1, "contcount"), dw_contractNo.GetItemDecimal(1, "contcount_end"), state.SsCoopId, loancontract_no);
WebUtil.QuerySdt(sqlUpdateContcountMaster);
String people2="";
try
{
people2 = dw_main.GetItemString(1, "people_no1");
}
catch (Exception e) { people2 = "111"; }
//string UpdateContract_interrest = @"update lncontmaster set contract_interest= {0} where loancontract_no={1} and coop_id={2}";
//UpdateContract_interrest = WebUtil.SQLFormat(UpdateContract_interrest, Contract_interest, loancontract_no,state.SsCoopId);
//WebUtil.QuerySdt(UpdateContract_interrest);
CultureInfo th = System.Globalization.CultureInfo.GetCultureInfo("th-TH");
// DateTime ss = dw_periodpay.GetItemDate(row, "expireperiod_date");
String dayss = dw_main.GetItemString(1, "loanrequest_tdate");
Int16 month = Convert.ToInt16(dayss.Substring(2, 2));
// month = month;
DateTime today = DateTime.ParseExact(dayss, "ddmmyyyy", null);
DateTime today2 = today.AddMonths(month - 1);
// today = new DateTime(today.Year, today.Month, today.Day);
today2.AddYears(-543);
//update ครั้งที่ percent , ชุดที่ cost_amt
string sqlUpdateContcountreq = @"update lnreqloan set loanrequest_date=to_date({4},'dd/mm/yyyy'), cost_percent = {0} , cost_amt ={1},people_no1='" + people2 + "' ,people_no2='" + dw_main.GetItemString(1, "people_no2") + "', loanobjective_code = '" + dw_obj.GetItemString(1, "loanobjective_code") + "' where coop_id={2} and loanrequest_docno={3} ";
sqlUpdateContcountreq = WebUtil.SQLFormat(sqlUpdateContcountreq, dw_contractNo.GetItemDecimal(1, "contcount"), dw_contractNo.GetItemDecimal(1, "contcount_end"), state.SsCoopId, reqdoc_no, today2.AddYears(-543).ToString("dd/MM/yyyy"));
WebUtil.QuerySdt(sqlUpdateContcountreq);
}
private void updatelncollmate(string docno)
{
int r = dw_collmate.RowCount;
if (dw_collmate.RowCount > 0)
{
WebUtil.QuerySdt("delete from lnreqloancollmate where loanrequest_docno = '" + docno + "' ");
for (int i = 1; i <= 2; i++) //ถ้าไม่กรอกคู่สมรสให้ Insert row ป่าว
{
string sqlinsertcoll = @"insert into lnreqloancollmate(coop_id,loanrequest_docno,seq_no) values({0},{1},{2})";
sqlinsertcoll = WebUtil.SQLFormat(sqlinsertcoll, state.SsCoopControl, docno, i);
WebUtil.QuerySdt(sqlinsertcoll);
}
for (int i = 1; i <= dw_collmate.RowCount; i++)
{
String prename_code = "", memb_name = "", memb_surname = "", card_person = "",ref_memno="", addr_moo = "", road = "", tambol = "", amphur = "", province = "", tell = "", addr_no = "";
try
{
prename_code = dw_collmate.GetItemString(i, "prename_code");
}
catch (Exception e) { prename_code = ""; }
try
{
memb_name = dw_collmate.GetItemString(i, "memb_name");
}
catch (Exception e) { memb_name = ""; }
try
{
ref_memno = dw_collmate.GetItemString(i, "mate_no");
}
catch (Exception e) { ref_memno = ""; }
try
{
memb_surname = dw_collmate.GetItemString(i, "memb_surname");
}
catch (Exception e) { memb_surname = ""; } try
{
card_person = dw_collmate.GetItemString(i, "card_person");
}
catch (Exception e) { card_person = ""; } try
{
addr_moo = dw_collmate.GetItemString(i, "addr_moo");
}
catch (Exception e) { addr_moo = ""; } try
{
road = dw_collmate.GetItemString(i, "road");
}
catch (Exception e) { road = ""; } try
{
tambol = dw_collmate.GetItemString(i, "tambol");
}
catch (Exception e) { tambol = ""; } try
{
amphur = dw_collmate.GetItemString(i, "amphur");
}
catch (Exception e) { amphur = ""; }
try
{
province = dw_collmate.GetItemString(i, "province");
}
catch (Exception e) { province = ""; } try
{
tell = dw_collmate.GetItemString(i, "tell");
}
catch (Exception e) { tell = ""; } try
{
addr_no = dw_collmate.GetItemString(i, "addr_no");
}
catch (Exception e) { addr_no = ""; }
string sqlinsertcoll = @"update lnreqloancollmate set prename_code={2} ,memb_name={3} ,memb_surname={4},
card_person={5} ,addr_moo={6} ,road={7} ,tambol={8},amphur={9},province={10},tell={11},addr_no={12},ref_memno={14}
where coop_id={0} and loanrequest_docno={1} and seq_no={13}";
sqlinsertcoll = WebUtil.SQLFormat(sqlinsertcoll, state.SsCoopControl, docno, prename_code,
memb_name, memb_surname, card_person,
addr_moo, road, tambol, amphur,
province, tell, addr_no, i, ref_memno);
WebUtil.QuerySdt(sqlinsertcoll);
}
}
}
private void saveApprove(string reqdoc_no, string loancontract)
{
try
{
Decimal loanrequest = dw_main.GetItemDecimal(1, "loanrequest_amt");
string status = "1";
loan = "'" + loanrequest + "','" + status + "','" + loancontract + "'";
apvlist = "'" + reqdoc_no + "'";
}
catch (Exception ex)
{
LtServerMessage.Text = WebUtil.ErrorMessage(ex);
return;
}
string as_apvid = state.SsUsername;
String ls_xml_main = dw_main.Describe("DataWindow.Data.XML");
Int16 ls_xml = shrlonService.of_saveapv_lnreq(state.SsWsPass, ls_xml_main, as_apvid, state.SsCoopControl, state.SsWorkDate);//SaveLnReqRpv
if (ls_xml > 0)
{
Sdt d = WebUtil.QuerySdt("select loanrcvfix_date from lnreqloan where loanrequest_docno = '"+reqdoc_no+"' and coop_id = '"+state.SsCoopControl+"' ");
if(d.Next()){
// วันที่หมดสัญญา
string sqlUpdateContcountMaster = @"update lncontmaster set expirecont_date= {0} where coop_id={1} and loancontract_no ={2}";
sqlUpdateContcountMaster = WebUtil.SQLFormat(sqlUpdateContcountMaster, d.GetDate("loanrcvfix_date"), state.SsCoopId, loancontract);
WebUtil.QuerySdt(sqlUpdateContcountMaster);
}
LtServerMessage.Text = WebUtil.CompleteMessage("บันทึกสำเร็จ");
}
// ตัด single quotes ตัวแรกและตัวสุดท้ายเพื่อส่งเป็น string argument ให้ ireport
//apvlist = apvlist.Substring(1, apvlist.Length - 2);
}
public void savePeriodpaydet(String loan_docno, String coop_id, String loancontract_no)
{
// string sql = @"insert into lncontperiodpaydet ( loancontract_no, coop_id, period, period_payment,
// prinpaid_amt, expireperiod_date,lastcalfine_date,principal_arrear )
// select {0} , {1} , period, principal_payment, 0, expireperiod_date,expireperiod_date,principal_payment
// from lnreqloanperiodpaydet where loanrequest_docno = {2} and coop_id = {3} ";
WebUtil.QuerySdt("delete from lncontperiodpaydet where loancontract_no ='" + loancontract_no + "' and coop_id = '"+coop_id+"' ");
string sql = @"insert into lncontperiodpaydet ( loancontract_no, coop_id, period, period_payment,
prinpaid_amt, expireperiod_date,lastcalfine_date,principal_arrear )
select {0} , {1} , period, principal_payment, 0, expireperiod_date,expireperiod_date,0
from lnreqloanperiodpaydet where loanrequest_docno = {2} and coop_id = {3} ";
try
{
sql = WebUtil.SQLFormat(sql,
loancontract_no, coop_id, loan_docno, coop_id);
Sdt dtIns = WebUtil.QuerySdt(sql);
}
catch
{
}
}
private void savePrintcont(string reqdoc_no)
{
/*****รับค่าจาก dw_printcont */
Decimal PAY_AMT2 = 0, PAY_AMT1 = 0, PAY_AMT3 = 0, PAY_AMT4 = 0,
RECIEVE_AMT1 = 0, RECIEVE_AMT2 = 0, RECIEVE_AMT3 = 0, RECIEVE_AMT4 = 0,
RECIEVE_PAY1 = 0, RECIEVE_PAY2 = 0, RECIEVE_PAY3 = 0, RECIEVE_PAY4 = 0,
RECIEVE_LAND1 = 0, RECIEVE_LAND2 = 0, RECIEVE_LAND3 = 0, RECIEVE_LAND4 = 0,
TYPE_AMT1 = 0,
TYPE_AMT2 = 0, TYPE_AMT3 = 0, TYPE_AMT4 = 0, TYPE_LAND1 = 0, TYPE_LAND2 = 0, TYPE_LAND3 = 0,
TYPE_LAND4 = 0;
string TYPE4 = "", TYPE3 = "", TYPE2 = "", TYPE1 = "", RECIEVE1 = "", RECIEVE2 = "", RECIEVE3 = "", RECIEVE4 = "",
TYPE_PAY1 = "", TYPE_PAY2 = "", TYPE_PAY3 = "", TYPE_PAY4 = "";
if (dw_printcont.IsItemNull(1, "TYPE1")) { TYPE1 = "-"; }
else
{
TYPE1 = dw_printcont.GetItemString(1, "TYPE1");
}
if (dw_printcont.IsItemNull(1, "TYPE2")) { TYPE2 = "-"; }
else
{
TYPE2 = dw_printcont.GetItemString(1, "TYPE2");
}
if (dw_printcont.IsItemNull(1, "TYPE3")) { TYPE3 = "-"; }
else
{
TYPE3 = dw_printcont.GetItemString(1, "TYPE3");
}
if (dw_printcont.IsItemNull(1, "TYPE4")) { TYPE4 = "-"; }
else
{
TYPE4 = dw_printcont.GetItemString(1, "TYPE4");
}
if (dw_printcont.IsItemNull(1, "TYPE_LAND1")) { TYPE_LAND1 = 0; }
else
{
TYPE_LAND1 = dw_printcont.GetItemDecimal(1, "TYPE_LAND1");
}
if (dw_printcont.IsItemNull(1, "TYPE_LAND2")) { TYPE_LAND2 = 0; }
else
{
TYPE_LAND2 = dw_printcont.GetItemDecimal(1, "TYPE_LAND2");
}
if (dw_printcont.IsItemNull(1, "TYPE_LAND3")) { TYPE_LAND3 = 0; }
else
{
TYPE_LAND3 = dw_printcont.GetItemDecimal(1, "TYPE_LAND3");
}
if (dw_printcont.IsItemNull(1, "TYPE_LAND4")) { TYPE_LAND4 = 0; }
else
{
TYPE_LAND4 = dw_printcont.GetItemDecimal(1, "TYPE_LAND4");
}
if (dw_printcont.IsItemNull(1, "PAY_AMT2")) { PAY_AMT2 = 0; }
else
{
PAY_AMT2 = dw_printcont.GetItemDecimal(1, "PAY_AMT2");
}
if (dw_printcont.IsItemNull(1, "PAY_AMT1")) { PAY_AMT1 = 0; }
else
{
PAY_AMT1 = dw_printcont.GetItemDecimal(1, "PAY_AMT1");
}
if (dw_printcont.IsItemNull(1, "PAY_AMT3")) { PAY_AMT3 = 0; }
else
{
PAY_AMT3 = dw_printcont.GetItemDecimal(1, "PAY_AMT3");
}
if (dw_printcont.IsItemNull(1, "PAY_AMT4")) { PAY_AMT4 = 0; }
else
{
PAY_AMT4 = dw_printcont.GetItemDecimal(1, "PAY_AMT4");
}
if (dw_printcont.IsItemNull(1, "TYPE_PAY1")) { TYPE_PAY1 = "-"; }
else
{
TYPE_PAY1 = dw_printcont.GetItemString(1, "TYPE_PAY1");
}
if (dw_printcont.IsItemNull(1, "TYPE_PAY2")) { TYPE_PAY2 = "-"; }
else
{
TYPE_PAY2 = dw_printcont.GetItemString(1, "TYPE_PAY2");
}
if (dw_printcont.IsItemNull(1, "TYPE_PAY3")) { TYPE_PAY3 = "-"; }
else
{
TYPE_PAY3 = dw_printcont.GetItemString(1, "TYPE_PAY3");
}
if (dw_printcont.IsItemNull(1, "TYPE_PAY4")) { TYPE_PAY4 = "-"; }
else
{
TYPE_PAY4 = dw_printcont.GetItemString(1, "TYPE_PAY4");
}
if (dw_printcont.IsItemNull(1, "RECIEVE_AMT1")) { RECIEVE_AMT1 = 0; }
else
{
RECIEVE_AMT1 = dw_printcont.GetItemDecimal(1, "RECIEVE_AMT1");
}
if (dw_printcont.IsItemNull(1, "RECIEVE_AMT2")) { RECIEVE_AMT2 = 0; }
else
{
RECIEVE_AMT2 = dw_printcont.GetItemDecimal(1, "RECIEVE_AMT2");
}
if (dw_printcont.IsItemNull(1, "RECIEVE_AMT3")) { RECIEVE_AMT3 = 0; }
else
{
RECIEVE_AMT3 = dw_printcont.GetItemDecimal(1, "RECIEVE_AMT3");
}
if (dw_printcont.IsItemNull(1, "RECIEVE_AMT4")) { RECIEVE_AMT4 = 0; }
else
{
RECIEVE_AMT4 = dw_printcont.GetItemDecimal(1, "RECIEVE_AMT4");
}
if (dw_printcont.IsItemNull(1, "RECIEVE_PAY1")) { RECIEVE_PAY1 = 0; }
else
{
RECIEVE_PAY1 = dw_printcont.GetItemDecimal(1, "RECIEVE_PAY1");
}
if (dw_printcont.IsItemNull(1, "RECIEVE_PAY2")) { RECIEVE_PAY2 = 0; }
else
{
RECIEVE_PAY2 = dw_printcont.GetItemDecimal(1, "RECIEVE_PAY2");
}
if (dw_printcont.IsItemNull(1, "RECIEVE_PAY3")) { RECIEVE_PAY3 = 0; }
else
{
RECIEVE_PAY3 = dw_printcont.GetItemDecimal(1, "RECIEVE_PAY3");
}
if (dw_printcont.IsItemNull(1, "RECIEVE_PAY4")) { RECIEVE_PAY4 = 0; }
else
{
RECIEVE_PAY4 = dw_printcont.GetItemDecimal(1, "RECIEVE_PAY4");
}
if (dw_printcont.IsItemNull(1, "RECIEVE_LAND1")) { RECIEVE_LAND1 = 0; }
else
{
RECIEVE_LAND1 = dw_printcont.GetItemDecimal(1, "RECIEVE_LAND1");
}
if (dw_printcont.IsItemNull(1, "RECIEVE_LAND2")) { RECIEVE_LAND2 = 0; }
else
{
RECIEVE_LAND2 = dw_printcont.GetItemDecimal(1, "RECIEVE_LAND2");
}
if (dw_printcont.IsItemNull(1, "RECIEVE_LAND3")) { RECIEVE_LAND3 = 0; }
else
{
RECIEVE_LAND3 = dw_printcont.GetItemDecimal(1, "RECIEVE_LAND3");
}
if (dw_printcont.IsItemNull(1, "RECIEVE_LAND4")) { RECIEVE_LAND4 = 0; }
else
{
RECIEVE_LAND4 = dw_printcont.GetItemDecimal(1, "RECIEVE_LAND4");
}
if (dw_printcont.IsItemNull(1, "RECIEVE1")) { RECIEVE1 = "-"; }
else
{
RECIEVE1 = dw_printcont.GetItemString(1, "RECIEVE1");
}
if (dw_printcont.IsItemNull(1, "RECIEVE2")) { RECIEVE2 = "-"; }
else
{
RECIEVE2 = dw_printcont.GetItemString(1, "RECIEVE2");
}
if (dw_printcont.IsItemNull(1, "RECIEVE3")) { RECIEVE3 = "-"; }
else
{
RECIEVE3 = dw_printcont.GetItemString(1, "RECIEVE3");
}
if (dw_printcont.IsItemNull(1, "RECIEVE4")) { RECIEVE4 = "-"; }
else
{
RECIEVE4 = dw_printcont.GetItemString(1, "RECIEVE4");
}
if (dw_printcont.IsItemNull(1, "TYPE_AMT1")) { TYPE_AMT1 = 0; }
else
{
TYPE_AMT1 = dw_printcont.GetItemDecimal(1, "TYPE_AMT1");
}
if (dw_printcont.IsItemNull(1, "TYPE_AMT2")) { TYPE_AMT2 = 0; }
else
{
TYPE_AMT2 = dw_printcont.GetItemDecimal(1, "TYPE_AMT2");
}
if (dw_printcont.IsItemNull(1, "TYPE_AMT3")) { TYPE_AMT3 = 0; }
else
{
TYPE_AMT3 = dw_printcont.GetItemDecimal(1, "TYPE_AMT3");
}
if (dw_printcont.IsItemNull(1, "TYPE_AMT4")) { TYPE_AMT4 = 0; }
else
{
TYPE_AMT4 = dw_printcont.GetItemDecimal(1, "TYPE_AMT4");
}
WebUtil.QuerySdt("delete from LNPRINTCONT where coop_id = '" + state.SsCoopId + "' and loanrequest_docno='" + reqdoc_no + "' ");
//บันทึก LNPRINTCONT
string sql21 = @"insert into LNPRINTCONT(PAY_AMT2,PAY_AMT1,PAY_AMT3, PAY_AMT4,
TYPE_PAY1, TYPE_PAY2, TYPE_PAY3, TYPE_PAY4,
RECIEVE_AMT1, RECIEVE_AMT2, RECIEVE_AMT3, RECIEVE_AMT4,
RECIEVE_PAY1, RECIEVE_PAY2, RECIEVE_PAY3, RECIEVE_PAY4,
RECIEVE_LAND1, RECIEVE_LAND2, RECIEVE_LAND3, RECIEVE_LAND4,
RECIEVE1, RECIEVE2, RECIEVE3, RECIEVE4, TYPE_AMT1,
TYPE_AMT2, TYPE_AMT3, TYPE_AMT4, TYPE_LAND1, TYPE_LAND2, TYPE_LAND3,
TYPE_LAND4, TYPE4, TYPE3, TYPE2, TYPE1,coop_id,loanrequest_docno) values
({0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12},{13},{14},{15},{16},{17},{18},{19},{20},{21},{22},{23},{24},{25},{26},{27},{28},{29},{30},{31},{32},{33},{34},{35},{36},{37})";
sql21 = WebUtil.SQLFormat(sql21,
PAY_AMT2, PAY_AMT1, PAY_AMT3, PAY_AMT4,
TYPE_PAY1, TYPE_PAY2, TYPE_PAY3, TYPE_PAY4,
RECIEVE_AMT1, RECIEVE_AMT2, RECIEVE_AMT3, RECIEVE_AMT4,
RECIEVE_PAY1, RECIEVE_PAY2, RECIEVE_PAY3, RECIEVE_PAY4,
RECIEVE_LAND1, RECIEVE_LAND2, RECIEVE_LAND3, RECIEVE_LAND4,
RECIEVE1, RECIEVE2, RECIEVE3, RECIEVE4, TYPE_AMT1,
TYPE_AMT2, TYPE_AMT3, TYPE_AMT4, TYPE_LAND1, TYPE_LAND2, TYPE_LAND3,
TYPE_LAND4, TYPE4, TYPE3, TYPE2, TYPE1, state.SsCoopId, reqdoc_no);
Sdt d1 = WebUtil.QuerySdt(sql21);
//* end save printcont */
}
private static string XmlReadVar(string responseData, string szVar)
{
int i1stLoc = responseData.IndexOf("<" + szVar + ">");
if (i1stLoc < 0)
return string.Empty;
int ilstLoc = responseData.IndexOf("" + szVar + ">");
if (ilstLoc < 0)
return string.Empty;
int len = szVar.Length;
return responseData.Substring(i1stLoc + len + 2, ilstLoc - i1stLoc - len - 2);
}
public void WebSheetLoadEnd()
{
try
{
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 { }
HdRefcoll.Value = "";
dw_main.SaveDataCache();//main
dw_coll.SaveDataCache();//หลักประกัน
dw_clear.SaveDataCache();//หักกลบ
dw_otherclr.SaveDataCache();//หักอื่น
dw_periodpay.SaveDataCache();
dw_printcont.SaveDataCache();
dw_contractNo.SaveDataCache();
dw_obj.SaveDataCache();
dw_collmate.SaveDataCache();
is_massalert = "";
Session["loantypeCode"] = dw_main.GetItemString(1, "loantype_code");
}
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;
}
///
/// 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 = "", loanrcv_bank = "";
try { loanrcv_code = dw_main.GetItemString(1, "expense_code"); }
catch { loanrcv_code = ""; }
if (loanrcv_code == "" || loanrcv_code == null) { loanrcv_code = dtloanrcv.GetString("expense_code"); }
try { loanrcv_bank = dw_main.GetItemString(1, "expense_bank"); }
catch { loanrcv_bank = ""; }
if (loanrcv_bank == "" || loanrcv_bank == null) { 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);
dw_main.SetItemString(1, "expense_bank", loanrcv_bank);
if (loanrcv_branch == "" || loanrcv_branch == null)
{
DwUtil.RetrieveDDDW(dw_main, "expense_branch_1", "sl_loan_requestment_dol.pbl", loanrcv_bank);
}
else
{
dw_main.SetItemString(1, "expense_branch", loanrcv_branch);
}
dw_main.SetItemString(1, "expense_accid", loanrcv_accid);
}
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();
JsExpensebankbrRetrieve();
}
}
if (loanrcv_code == "CBO" && 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();
JsExpensebankbrRetrieve();
}
}
}
}
catch { }
}
catch { }
}
private void JsExpenseCode()
{
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"))
{
try
{
DwUtil.RetrieveDDDW(dw_main, "expense_bank_1", "sl_loan_requestment.pbl", null);
}
catch (Exception ex)
{
LtServerMessage.Text = WebUtil.ErrorMessage(ex);
}
}
else if (expendCode == "CBO")
{
//ฝั่งธนาคาร
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");
try
{
DwUtil.RetrieveDDDW(dw_main, "expense_bank_1", "sl_loan_requestment.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");
}
}
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 { }
}
///
/// set รายละเอียด ยอดหักจาก slip เงินเดือน
///
private void JsGetitemdescmthexp()
{
try
{
//int row = Convert.ToInt16(Hdmthexprow.Value);
// string sql_mthexp = "select mthexpense_desc from mbucfmthexpense where mthexpense_code = '" + mthexp_code + "'";
//Sdt dt_mthexp = WebUtil.QuerySdt(sql_mthexp);
//if (dt_mthexp.Next())
//{
// string mthexp_desc = dt_mthexp.GetString("mthexpense_desc");
//}
}
catch { }
}
///
/// Retrieve ธนาคาร
///
private void JsExpenseBank()
{
try
{
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 = "0000"; }
DwUtil.RetrieveDDDW(dw_main, "expense_bank_1", "sl_loan_requestment_dol.pbl", "");
}
catch (Exception ex)
{
LtServerMessage.Text = WebUtil.ErrorMessage(ex);
}
}
///
/// Retrieve สาขาธนาคาร
///
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_dol.pbl", bankCode);
}
catch { }
}
///
/// open ใบคำขอเก่า
///
private void JsOpenOldDocNo()
{
try
{
string ls_reqloandocno = dw_main.GetItemString(1, "loanrequest_docno");
string ls_CoopControl = state.SsCoopControl;
string[] arg = new string[2] { ls_CoopControl, ls_reqloandocno };
// 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);
//DwUtil.RetrieveDataWindow(dw_periodpay, pbl, null, arg);
//tDwMain.Eng2ThaiAllRow();
// string loantype_code = dw_main.GetItemString(1, "loantype_code");
of_initlnreq();
String sd = " select full_name from amsecusers where user_id like '%002%' and coop_id = '" + state.SsCoopControl + "'";
Sdt d2 = WebUtil.QuerySdt(sd);
if (d2.Next())
{
dw_main.SetItemString(1, "people_name2", d2.GetString("full_name"));
dw_main.SetItemString(1, "people_no2", "002");
}
d2.Clear();
String sds = " select amsecusers.full_name as full_name,amsecusers.user_id as user_id from lnreqloan , amsecusers where trim(lnreqloan.people_no1) = trim(amsecusers.user_id) and lnreqloan.loanrequest_docno='" + ls_reqloandocno + "' and coop_id = '" + state.SsCoopControl + "'";
Sdt d2s = WebUtil.QuerySdt(sds);
if (d2s.Next())
{
dw_main.SetItemString(1, "people_name2", d2s.GetString("full_name"));
dw_main.SetItemString(1, "people_no2", d2s.GetString("user_id"));
}
//String sql = "select full_name,user_id from amsecusers where user_id like '%" + dw_main.GetItemString(1, "people_no1") + "%' and coop_id = '" + state.SsCoopControl + "'";
//Sdt d = WebUtil.QuerySdt(sql);
//if (d.Next())
//{
// dw_main.SetItemString(1, "people_name1", d.GetString("full_name"));
// dw_main.SetItemString(1, "people_no1", d.GetString("user_id"));
//}
int o = 1;
//for (int i = 1; i <= dw_coll.RowCount; i++)
//{
// if (dw_coll.GetItemString(i, "loancolltype_code") == "04")
// {
// dw_collmate.SetItemString(o, "mate_name", dw_coll.GetItemString(i, "description"));
// dw_collmate.SetItemString(o, "mate_no", dw_coll.GetItemString(i, "ref_collno"));
// o++;
// }
//}
//try
//{
// RetreiveDDDW();
// DwUtil.RetrieveDDDW(dw_main, "loantype_code_1", pbl, null);
// if (dw_main.RowCount > 1) dw_main.DeleteRow(dw_main.RowCount);
// JsExpenseBank();
// 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;
// }
//}
//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);
}
}
private void JsSetDataList()
{
str_itemchange strList = new str_itemchange();
strList = WebUtil.nstr_itemchange_session(this); //pb12.5
//strList = WebUtil.str_itemchange_session(this); //pb12
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 CalSumTotal() // กล้าเพิ่ม คำนวณ ยอดรับเงินสุทธิ
{
Decimal loanrequest_amt = 0, buyshare = 0, insurance = 0, clear_status = 0;
if (dw_clear.GetColumnNumber() > 0 && dw_otherclr.GetColumnNumber() < 1)
{
clear_status = dw_clear.GetItemDecimal(1, "clear_status");
if (clear_status == 1)
{
loanrequest_amt = dw_main.GetItemDecimal(1, "loanrequest_amt");
// buyshare = dw_otherclr.GetItemDecimal(1, "compute_2");
insurance = dw_clear.GetItemDecimal(1, "compute_1");
dw_main.SetItemDecimal(1, "salary_amt", loanrequest_amt - (insurance));
}
else
{
loanrequest_amt = dw_main.GetItemDecimal(1, "loanrequest_amt");
// buyshare = dw_otherclr.GetItemDecimal(1, "compute_2");
dw_main.SetItemDecimal(1, "salary_amt", loanrequest_amt);
}
}
else if (dw_clear.GetColumnNumber() > 0 && dw_otherclr.GetColumnNumber() > 0)
{
clear_status = dw_clear.GetItemDecimal(1, "clear_status");
if (clear_status == 1)
{
loanrequest_amt = dw_main.GetItemDecimal(1, "loanrequest_amt");
buyshare = dw_otherclr.GetItemDecimal(1, "compute_2");
insurance = dw_clear.GetItemDecimal(1, "compute_1");
dw_main.SetItemDecimal(1, "salary_amt", loanrequest_amt - (buyshare + insurance));
}
else
{
loanrequest_amt = dw_main.GetItemDecimal(1, "loanrequest_amt");
buyshare = dw_otherclr.GetItemDecimal(1, "compute_2");
dw_main.SetItemDecimal(1, "salary_amt", loanrequest_amt - (buyshare));
}
}
else
{
loanrequest_amt = dw_main.GetItemDecimal(1, "loanrequest_amt");
if (dw_otherclr.GetColumnNumber() > 0)
{
buyshare = dw_otherclr.GetItemDecimal(1, "compute_2");
dw_main.SetItemDecimal(1, "salary_amt", loanrequest_amt - (buyshare));
}
else
{
// buyshare = dw_otherclr.GetItemDecimal(1, "compute_2");
dw_main.SetItemDecimal(1, "salary_amt", loanrequest_amt);
}
}
}
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 of_Setperiodpaydet() //กล้า แก้เพิ่ม
{
try
{
//สร้างตารางการชำระรายปี
Decimal loanrequest_amt = dw_main.GetItemDecimal(1, "loanrequest_amt");
Decimal period_amt = 0;
period_amt = dw_main.GetItemDecimal(1, "period_payamt");
String year = "";
string sql = "SELECT ACCOUNT_YEAR FROM ACCACCOUNTYEAR WHERE ACCACCOUNTYEAR.COOP_ID = '" + state.SsCoopControl + "' and CLOSE_ACCOUNT_STAT=0";
sql = WebUtil.SQLFormat(sql);
Sdt dt = WebUtil.QuerySdt(sql);
if (dt.Next())
{
year = dt.GetString("ACCOUNT_YEAR");
}
CultureInfo th = System.Globalization.CultureInfo.GetCultureInfo("th-TH");
DateTime today = Convert.ToDateTime(state.SsWorkDate);
//DateTime day = state.SsWorkDate;
String dayss = "31/03/" + year;
string lnoverretry_shrratio = "select lnoverretry_shrratio from lnloanconstant where coop_id={0}";
lnoverretry_shrratio = WebUtil.SQLFormat(lnoverretry_shrratio,state.SsCoopId);
Sdt dt_lnoverretry_shrratio = WebUtil.QuerySdt(lnoverretry_shrratio);
if (dt_lnoverretry_shrratio.Next())
{
dayss = dt_lnoverretry_shrratio.GetString("lnoverretry_shrratio");
}
today = DateTime.ParseExact(dayss, "dd/MM/yyyy", CultureInfo.InvariantCulture);
DateTime end_date2 = today.AddYears((Convert.ToInt16(period_amt)));
dw_main.SetItemDate(1, "loanrcvfix_date", (end_date2));
dw_main.SetItemString(1, "loanrcvfix_tdate", (end_date2).ToString("ddMMyyyy", th));
dw_main.SetItemDecimal(1, "loanrcvfix_flag", 1);
if (loanrequest_amt <= 0)
{
return;
}
Decimal rowp = dw_periodpay.RowCount;
int rowpint = 0;
//สร้างแถว
if (period_amt > rowpint)
{
rowp = period_amt;
//for (int i = rowpint + 1; i <= rowpint; i++)
//{
// dw_periodpay.InsertRow(0);
//}
rowpint = Convert.ToInt16(rowp);
for (int i = 0; i < rowpint; i++)
{
dw_periodpay.InsertRow(0);
}
}
// DateTime dt = DateTime.Parse(dw_main.GetItemDateTime(1, "loanrequest_tdate"));
// dw_main.SetItemDateTime(1, "loanrequest_date", state.SsWorkDate);
//DateTime end_date = today.AddDays(365 * (ii));
//gen ยอดชำระ
decimal period_payment = dw_main.GetItemDecimal(1, "period_payment");
decimal sumpay = 0;
rowp = dw_periodpay.RowCount;
for (int ii = 1; ii <= rowp; ii++)
{
sumpay = loanrequest_amt - period_payment;
DateTime end_date = today.AddYears((ii));
if (loanrequest_amt < period_payment)
{
period_payment = loanrequest_amt;
}
dw_periodpay.SetItemDecimal(ii, "period", Convert.ToDecimal(ii));
dw_periodpay.SetItemDecimal(ii, "principal_payment", period_payment);
dw_periodpay.SetItemString(ii, "expireperiod_tdate", (end_date).ToString("ddMMyyyy", th));
dw_periodpay.SetItemDateTime(ii, "expireperiod_date", end_date);
}
}
catch (Exception ex)
{
}
}
private void of_setexpensedefault(string as_memno) //pom : setexpense-default
{
string memberNo = as_memno;
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();
}
else if (defaultpaytype == 1) //pom : pay_by_default_loantyp - เงินสด / โอน =ไปเอาเลขบัญชีจากทะเบียนสมาขิก
{
dw_main.SetItemString(1, "expense_code", "CSH");
}
}
catch { }
}
private bool PrintContracConsider(String RequestDocNo)
{
try
{
iReportArgument args = new iReportArgument();
args.Add("req_docno", iReportArgumentType.String, RequestDocNo);
iReportBuider report = new iReportBuider(this, "");
report.AddCriteria("book_reqloan_main_ksmk", "หนังสือคำขอกู้", ReportType.pdf, args);
int coll = 0;
for (int j = 1; j <= dw_coll.RowCount; j++)
{
if (dw_coll.GetItemString(j, "loancolltype_code") == "04")
{
coll += 1;
}
}
if (coll == 2)
{
iReportArgument args2 = new iReportArgument();
args2.Add("req_docno", iReportArgumentType.String, reqdoc_no);
// iReportBuider report = new iReportBuider(this, "");
report.AddCriteria("book_coll_2coll", "หนังสือค้ำประกันเงินกู้ 2 คน", ReportType.pdf, args2);
//report.AutoOpenPDF = true;
//report.Retrieve();
}
else if (coll == 4)
{
iReportArgument args2 = new iReportArgument();
args2.Add("req_docno", iReportArgumentType.String, reqdoc_no);
// iReportBuider report = new iReportBuider(this, "");
report.AddCriteria("book_coll_4coll", "หนังสือค้ำประกันเงินกู้ 4 คน", ReportType.pdf, args2);
//report.AutoOpenPDF = true;
//report.Retrieve();
}
report.AutoOpenPDF = true;
report.Retrieve();
return true;
}
catch(Exception e)
{
LtServerMessage.Text = WebUtil.ErrorMessage(e.Message);
return false;
}
}
private void PrintColl(String RequestDocNo)
{
try
{
//if (dw_coll.RowCount == 2 && dw_coll.GetItemString(1, "loancolltype_code") == "01")
//{
// iReportArgument args = new iReportArgument();
// args.Add("req_docno", iReportArgumentType.String, RequestDocNo);
// iReportBuider report = new iReportBuider(this, "");
// report.AddCriteria("book_coll_2coll", "หนังสือค้ำประกันเงินกู้ 2 คน", ReportType.pdf, args);
// report.AutoOpenPDF = true;
// report.Retrieve();
//}
//else if (dw_coll.RowCount == 4 && dw_coll.GetItemString(1, "loancolltype_code") == "01")
//{
// iReportArgument args = new iReportArgument();
// args.Add("req_docno", iReportArgumentType.String, RequestDocNo);
// iReportBuider report = new iReportBuider(this, "");
// report.AddCriteria("book_coll_4coll", "หนังสือค้ำประกันเงินกู้ 4 คน", ReportType.pdf, args);
// report.AutoOpenPDF = true;
// report.Retrieve();
//}
}
catch
{
}
}
///
/// set ดอกเบี้ยจริง
///
private void of_setclearintreal()
{
string ls_contno = "";
decimal ldc_clearint = 0, ldc_prncalint = 0;
DateTime ldtm_calfrom;
for (int i = 1; i <= dw_clear.RowCount; i++)
{
ldc_prncalint = dw_clear.GetItemDecimal(i, "principal_balance");
if (ldc_prncalint > 0)
{
ls_contno = dw_clear.GetItemString(i, "loancontract_no");
ldtm_calfrom = dw_clear.GetItemDateTime(i, "lastcalint_date");
ldc_clearint = wcf.NShrlon.of_computeinterest_single(state.SsWsPass, state.SsCoopControl, ls_contno, ldc_prncalint, ldtm_calfrom, state.SsWorkDate);
}
else
{
ldc_clearint = 0;
}
dw_clear.SetItemDecimal(i, "intreal_amt", ldc_clearint);
}
}
private void of_obj()
{
try
{
Decimal loanobjective_amt = 0,buyshare=0;
string str_ref = "";
String op ="";
str_ref = Hdmthexprow.Value;
int row = Convert.ToInt32(str_ref);
String objective_code = "";
op = dw_obj.GetItemString(row, "loanobjective_code");
dw_obj.SetItemString(row, "t_docno", op);
if (dw_otherclr.RowCount > 0)
{
buyshare = dw_otherclr.GetItemDecimal(1, "clrother_amt");
}
Decimal objective_amt = of_getobjective_amt(op);
dw_obj.SetItemDecimal(row, "objective_amt", objective_amt);
objective_code = of_Postloanobjective_code(op);
if (dw_otherclr.RowCount > 1)
{
for (int i = 1; i <= row; i++)
{
loanobjective_amt += dw_obj.GetItemDecimal(i, "objective_amt");
}
}
loanobjective_amt = dw_main.GetItemDecimal(1, "loanrequest_amt") - loanobjective_amt;
dw_obj.SetItemString(row, "loanobjective_desc", objective_code);
if (loanobjective_amt <= objective_amt)
{
if (row == 1)
{
loanobjective_amt = loanobjective_amt - buyshare;
}
dw_obj.SetItemDecimal(row, "objective_amt", loanobjective_amt);
}
else
{
if (row == 1)
{
objective_amt = objective_amt - buyshare;
}
// objective_amt = objective_amt - dw_main.GetItemDecimal(1, "loanrequest_amt");
dw_obj.SetItemDecimal(row, "objective_amt", objective_amt);
}
}
catch (Exception e)
{
LtServerMessage.Text = WebUtil.ErrorMessage(e);
}
}
private void of_obj2()
{
try
{
Decimal loanobjective_amt = 0, buyshare = 0;
string str_ref = "";
String op = "";
str_ref = Hdmthexprow.Value;
int row = Convert.ToInt32(str_ref);
String objective_code = "";
op = dw_obj.GetItemString(row, "t_docno");
dw_obj.SetItemString(row, "loanobjective_code", op);
if (dw_otherclr.RowCount > 0)
{
buyshare = dw_otherclr.GetItemDecimal(1, "clrother_amt");
}
Decimal objective_amt = of_getobjective_amt(op);
dw_obj.SetItemDecimal(row, "objective_amt", objective_amt);
objective_code = of_Postloanobjective_code(op);
if (dw_otherclr.RowCount > 1)
{
for (int i = 1; i <= row; i++)
{
loanobjective_amt += dw_obj.GetItemDecimal(i, "objective_amt");
}
}
loanobjective_amt = dw_main.GetItemDecimal(1, "loanrequest_amt") - loanobjective_amt;
dw_obj.SetItemString(row, "loanobjective_desc", objective_code);
if (loanobjective_amt <= objective_amt)
{
if (row == 1)
{
loanobjective_amt = loanobjective_amt - buyshare;
}
dw_obj.SetItemDecimal(row, "objective_amt", loanobjective_amt);
}
else
{
if (row == 1)
{
objective_amt = objective_amt - buyshare;
}
// objective_amt = objective_amt - dw_main.GetItemDecimal(1, "loanrequest_amt");
dw_obj.SetItemDecimal(row, "objective_amt", objective_amt);
}
}
catch (Exception e)
{
LtServerMessage.Text = WebUtil.ErrorMessage(e);
}
}
}
}