using System; using CoreSavingLibrary; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using CoreSavingLibrary.WcfShrlon; using System.Xml.Linq; using CoreSavingLibrary.WcfCommon; using DataLibrary; using CoreSavingLibrary.WcfBusscom; using Sybase.DataWindow; namespace Saving.Applications.shrlon.dlg { public partial class w_dlg_sl_contcredit_new : PageWebDialog, WebDialog { private WebState state; private DwTrans sqlca; private String pbl = "sl_loancredit.pbl"; string memno = ""; Decimal birth_age; Decimal member_age; private DwThDate tdwMain; private ShrlonClient shrlonService; private BusscomClient BusscomService; protected String jsGetMemberInfo; protected string jsmaxcreditperiod; protected string savewebsheet; protected string jsContPeriod; protected string jsChecksalabal; protected string jsExpensebankbrRetrieve; protected string jsSetBank; protected string jsGetexpensememno; protected string jsExpenseBank; public void InitJsPostBack() { jsExpenseBank = WebUtil.JsPostBack(this, "jsExpenseBank"); jsGetexpensememno = WebUtil.JsPostBack(this, "jsGetexpensememno"); jsGetMemberInfo = WebUtil.JsPostBack(this, "jsGetMemberInfo"); savewebsheet = WebUtil.JsPostBack(this, "savewebsheet"); jsmaxcreditperiod = WebUtil.JsPostBack(this, "jsmaxcreditperiod"); jsContPeriod = WebUtil.JsPostBack(this, "jsContPeriod"); jsChecksalabal = WebUtil.JsPostBack(this, "jsChecksalabal"); jsExpensebankbrRetrieve = WebUtil.JsPostBack(this, "jsExpensebankbrRetrieve"); jsSetBank = WebUtil.JsPostBack(this, "jsSetBank"); tdwMain = new DwThDate(dw_main, this); tdwMain.Add("operate_date", "operate_tdate"); tdwMain.Add("startcont_date", "startcont_tdate"); tdwMain.Add("expirecont_date", "expirecont_tdate"); } public void WebDialogLoadBegin() { try { shrlonService = wcf.Shrlon; BusscomService = wcf.Busscom; } catch { LtServerMessage.Text = WebUtil.ErrorMessage("ติดต่อ Web Service ไม่ได้"); return; } state = new WebState(Session, Request); sqlca = new DwTrans(); if (IsPostBack) { try { dw_main.RestoreContext(); dw_detail.RestoreContext(); } catch { } } try { memno = Request["memno"].ToString(); } catch { } if (dw_main.RowCount < 1) { dw_main.InsertRow(0); DwUtil.RetrieveDDDW(dw_main, "loantype_code_1", pbl, null); DwUtil.RetrieveDDDW(dw_main, "loanrcv_code", pbl, null); dw_main.SetItemString(1, "loanrcv_code", "CBT"); DwUtil.RetrieveDDDW(dw_main, "loanrcv_bank_1", pbl, null); DwUtil.RetrieveDDDW(dw_main, "loanrcv_branch_1", pbl, "034"); dw_main.SetItemDate(1, "operate_date", state.SsWorkDate); tdwMain.Eng2ThaiAllRow(); JsGetMemberInfo(); } } private void JsExpenseBank() { try { //wa String bankCode; try { bankCode = dw_main.GetItemString(1, "loanrcv_bank").Trim(); } catch { bankCode = "034"; } String bankbranch; try { bankbranch = dw_main.GetItemString(1, "loanrcv_branch").Trim(); } catch { bankbranch = "0000"; } dw_main.SetItemString(1, "loanrcv_branch", ""); DataWindowChild dwExpenseBranch = dw_main.GetChild("loanrcv_branch_1"); DwUtil.RetrieveDDDW(dw_main, "loanrcv_branch_1", "sl_loancredit.pbl", bankCode); //dwExpenseBranch.SetFilter("CMUCFBANKBRANCH.bank_code ='" + bankCode + "'"); //dwExpenseBranch.Filter(); //dw_main.SetItemDouble(1, "retrive_bk_branchflag", 1); } catch (Exception ex) { LtServerMessage.Text = WebUtil.ErrorMessage(ex); } } private void JsExpensebankbrRetrieve() { try { String bankCode; try { bankCode = dw_main.GetItemString(1, "loanrcv_bank").Trim(); } catch { bankCode = "034"; } DwUtil.RetrieveDDDW(dw_main, "loanrcv_branch_1", "sl_loancredit.pbl", bankCode); } catch { } } public void CheckJsPostBack(string eventArg) { if (eventArg == "jsGetMemberInfo") { JsGetMemberInfo(); } else if (eventArg == "savewebsheet") { SaveWebSheet(); } else if (eventArg == "jsmaxcreditperiod") { Jsmaxcreditperiod(); } else if (eventArg == "jsContPeriod") { JsContPeriod(); } else if (eventArg == "jsChecksalabal") { JsChecksalabal(); } else if (eventArg == "jsExpensebankbrRetrieve") { JsExpensebankbrRetrieve(); } else if (eventArg == "jsSetBank") { dw_main.SetItemString(1, "loanrcv_bank", ""); dw_main.SetItemString(1, "loanrcv_branch", ""); dw_main.SetItemString(1, "loanrcv_accid", ""); JsSetBank(); } else if (eventArg == "jsGetexpensememno") { dw_main.SetItemString(1, "loanrcv_bank", ""); dw_main.SetItemString(1, "loanrcv_branch", ""); dw_main.SetItemString(1, "loanrcv_accid", ""); JsGetexpensememno(); } else if (eventArg == "jsExpenseBank") { JsExpenseBank(); } } private void JsGetexpensememno() { try { string strsql = @"select expense_code,expense_bank, expense_branch, expense_accid from mbmembmaster where coop_id = {0} and member_no = {1}"; strsql = WebUtil.SQLFormat(strsql, state.SsCoopControl, dw_main.GetItemString(1, "member_no")); try { Sdt dtloanrcv = WebUtil.QuerySdt(strsql); if (dtloanrcv.GetRowCount() <= 0) { LtServerMessage.Text = WebUtil.WarningMessage("ไม่พบเลขที่บัญชีเงินธนาคารของสมาชิก " + memno); } if (dtloanrcv.Next()) { string loanrcv_code = dtloanrcv.GetString("expense_code"); string loanrcv_bank = dtloanrcv.GetString("expense_bank"); string loanrcv_branch = dtloanrcv.GetString("expense_branch"); string loanrcv_accid = dtloanrcv.GetString("expense_accid"); if (loanrcv_code != null) { dw_main.SetItemString(1, "loanrcv_code", loanrcv_code); dw_main.SetItemString(1, "loanrcv_bank", loanrcv_bank); dw_main.SetItemString(1, "loanrcv_branch", loanrcv_branch); dw_main.SetItemString(1, "loanrcv_accid", loanrcv_accid); } else { dw_main.SetItemString(1, "loanrcv_code", "CBT"); } // if (loanrcv_code == "CBT" && loanrcv_bank.Length > 2) // { // string sql_bkk = "select branch_name from cmucfbankbranch where bank_code = '" + loanrcv_bank + "' and branch_id = '" + loanrcv_branch + "'"; // Sdt dtk = WebUtil.QuerySdt(sql_bkk); // string bankbranch = ""; // if (dtk.Next()) // { // bankbranch = dtk.GetString("branch_name").Trim(); // dw_main.SetItemString(1, "bank_branch", bankbranch); // dw_main.SetItemDouble(1, "retrive_bk_branchflag", 0); // // dw_main.SetItemString(1, "expense_branch_1", bankbranch); // // } // } //} //JsExpenseBank(); JsExpensebankbrRetrieve(); } } catch { } } catch { } } private void JsSetBank() { string loanrcv_code = dw_main.GetItemString(1, "loanrcv_code"); if ((loanrcv_code == "CHQ") || (loanrcv_code == "TRN") || (loanrcv_code == "CBT") || (loanrcv_code == "DRF") || (loanrcv_code == "TBK")) { dw_main.Modify("t_18.visible =1"); dw_main.Modify("loanrcv_bank.visible =1"); dw_main.Modify("loanrcv_accid.visible =1"); dw_main.Modify("loanrcv_bank_1.visible =1"); dw_main.Modify("t_17.visible =1"); dw_main.Modify("loanrcv_branch.visible =1"); dw_main.Modify("t_16.visible =1"); dw_main.Modify("loanrcv_branch_1.visible =1"); try { DwUtil.RetrieveDDDW(dw_main, "loanrcv_bank_1", "sl_loancredit.pbl", null); //DwUtil.RetrieveDDDW(dw_main, "expense_branch_1", "sl_loan_requestment_cen.pbl", "006"); //DataWindowChild dwExpenseBranch = dw_main.GetChild("expense_branch_1"); //DataWindowChild dwExpenseBank = dw_main.GetChild("expense_bank_1"); // DwUtil.RetrieveDDDW(dw_main, "loantype_code_1", pbl, null); // JsGetexpensememno(); } catch (Exception ex) { LtServerMessage.Text = WebUtil.ErrorMessage(ex); } } else if ((loanrcv_code == "CSH") || (loanrcv_code == "BEX") || (loanrcv_code == "MON") || (loanrcv_code == "MOS") || (loanrcv_code == "MOO")) { dw_main.Modify("t_18.visible =0"); dw_main.Modify("loanrcv_bank.visible =0"); dw_main.Modify("loanrcv_accid.visible =0"); dw_main.Modify("loanrcv_bank_1.visible =0"); dw_main.Modify("t_17.visible =0"); dw_main.Modify("loanrcv_branch.visible =0"); dw_main.Modify("t_16.visible =0"); dw_main.Modify("loanrcv_branch_1.visible =0"); } if (loanrcv_code == "CBT") { JsGetexpensememno(); } } private void JsGetMemberInfo() { try { Decimal ldc_sharestk, ldc_periodshramt, ldc_periodshrvalue, ldc_shrvalue, ldc_loanrequeststatus = 0; Decimal ldc_salary = 0, ldc_incomemth = 0, ldc_paymonth; Decimal ldc_shrstkvalue = 0; int li_shrpaystatus, li_lastperiod = 0, li_membertype, sequest_status = 0; DateTime ldtm_birth = new DateTime(), ldtm_member = new DateTime(), ldtm_work = new DateTime(), ldtm_retry = new DateTime(); string ls_position, ls_remark, ls_membname, ls_membgroup, ls_groupname; string ls_membtypedesc = "", ls_controlname = "", ls_membcontrol = "", ls_appltype, ls_memno, ls_CoopControl; Decimal lndroploanall_flag = 0, li_memberstatus = 1, li_resignstatus = 0; String member_no = Request["memno"].ToString(); dw_main.SetItemString(1, "member_no", member_no); ls_CoopControl = state.SsCoopControl; //สาขาที่ทำรายการ try { //เช็คสิทธิ์ ก่อนขอกู้ว่ามีสัญญาเก่าค้างหรือไม่ String ls_memcoopid; ls_memcoopid = state.SsCoopControl; String sqlstr = @" SELECT a.membgroup_control, b.membgroup_desc as control_desc, a.membgroup_code, a.membgroup_desc , MBMEMBMASTER.BIRTH_DATE, MBMEMBMASTER.MEMBER_DATE, MBMEMBMASTER.WORK_DATE, MBMEMBMASTER.RETRY_DATE, MBMEMBMASTER.SALARY_AMOUNT, MBMEMBMASTER.INCOMEETC_AMT, MBMEMBMASTER.MEMBTYPE_CODE, MBUCFMEMBTYPE.MEMBTYPE_DESC, SHSHAREMASTER.LAST_PERIOD, SHSHAREMASTER.PERIODSHARE_AMT, mbucfprename.prename_desc||mbmembmaster.memb_name||' '||mbmembmaster.memb_surname as member_name, SHSHAREMASTER.PAYMENT_STATUS, MBMEMBMASTER.POSITION_DESC, MBMEMBMASTER.POSITION_CODE, MBMEMBMASTER.REMARK, MBMEMBMASTER.MEMBER_STATUS, MBMEMBMASTER.RESIGN_STATUS, SHSHAREMASTER.SHARESTK_AMT, SHSHARETYPE.UNITSHARE_VALUE, MBMEMBMASTER.MEMBER_TYPE, MBMEMBMASTER.APPLTYPE_CODE, MBMEMBMASTER.RETRY_STATUS, MBMEMBMASTER.DROPLOANALL_FLAG, MBMEMBMASTER.MEMBER_NO, MBMEMBMASTER.PAUSEKEEP_FLAG, MBMEMBMASTER.PAUSEKEEP_DATE, SHSHAREMASTER.sequest_status, MBMEMBMASTER.COOP_ID ,MBMEMBMASTER.CREMATION_STATUS FROM MBMEMBMASTER, MBUCFMEMBGROUP a , MBUCFMEMBGROUP b, MBUCFPRENAME, MBUCFMEMBTYPE, SHSHAREMASTER, SHSHARETYPE WHERE ( a.MEMBGROUP_CODE = MBMEMBMASTER.MEMBGROUP_CODE ) and a.membgroup_control = b.membgroup_code(+) and a.coop_id = b.coop_id(+) and ( SHSHAREMASTER.MEMBER_NO = MBMEMBMASTER.MEMBER_NO ) and ( MBMEMBMASTER.PRENAME_CODE = MBUCFPRENAME.PRENAME_CODE ) and ( MBMEMBMASTER.MEMBTYPE_CODE = MBUCFMEMBTYPE.MEMBTYPE_CODE ) and ( SHSHAREMASTER.SHARETYPE_CODE = SHSHARETYPE.SHARETYPE_CODE ) and ( MBMEMBMASTER.COOP_ID = a.COOP_ID ) and ( MBMEMBMASTER.MEMBER_STATUS=1) AND ( MBMEMBMASTER.COOP_ID = SHSHAREMASTER.COOP_ID ) and ( SHSHAREMASTER.COOP_ID = SHSHARETYPE.COOP_ID ) and ( ( mbmembmaster.member_no = '" + member_no + @"' ) AND ( shsharemaster.sharetype_code = '01' ) ) and MBMEMBMASTER.COOP_ID ='" + ls_memcoopid + @"' "; Sdt dt = WebUtil.QuerySdt(sqlstr);//เป็น service if (dt.GetRowCount() < 1) { LtServerMessage.Text = WebUtil.ErrorMessage("ไม่พบข้อมูลสมาชิก หรือ สมาชิกท่านได้ปิดบัญชีสมาชิกแล้ว"); } while (dt.Next()) { try { lndroploanall_flag = dt.GetDecimal("LNDROPLOANALL_FLAG"); } catch { lndroploanall_flag = 0; } try { sequest_status = dt.GetInt32("sequest_status"); } catch { sequest_status = 0; } ls_membname = dt.GetString("member_name"); ls_membcontrol = dt.GetString("membgroup_control"); ls_controlname = dt.GetString("control_desc"); ls_membgroup = dt.GetString("membgroup_code"); ls_groupname = dt.GetString("membgroup_desc"); ldc_salary = dt.GetDecimal("salary_amount"); li_lastperiod = dt.GetInt32("last_period"); li_memberstatus = dt.GetInt32("member_status"); li_resignstatus = dt.GetInt32("resign_status"); ldtm_birth = dt.GetDate("birth_date"); try { ldtm_member = dt.GetDate("member_date"); } catch { } try { ldtm_work = dt.GetDate("work_date"); } catch { } try { ldc_incomemth = dt.GetDecimal("incomeetc_amt"); } catch { ldc_incomemth = 0; } ldc_paymonth = 0; ls_position = dt.GetString("position_desc"); ls_remark = dt.GetString("remark"); ldc_shrvalue = dt.GetDecimal("unitshare_value"); ldc_sharestk = dt.GetDecimal("sharestk_amt"); ldc_periodshramt = dt.GetDecimal("periodshare_amt"); li_shrpaystatus = dt.GetInt32("payment_status"); li_membertype = dt.GetInt32("member_type"); ls_memno = dt.GetString("member_no"); ls_memcoopid = dt.GetString("coop_id"); // ls_membtype = dt.GetString("membtype_code"); ls_membtypedesc = dt.GetString("membtype_desc"); ldc_shrstkvalue = Convert.ToDecimal((Convert.ToInt32(ldc_shrvalue) * Convert.ToInt32(ldc_sharestk))); ldc_periodshrvalue = Convert.ToDecimal((Convert.ToInt32(ldc_periodshramt) * Convert.ToInt32(ldc_shrvalue))); if (li_resignstatus == 1) { LtServerMessage.Text = WebUtil.WarningMessage("สมาชิกท่านได้ลาออกจากสหกรณ์แล้ว กรุณาตรวจสอบ"); } dw_main.SetItemDecimal(1, "salary_amt", ldc_salary); dw_main.SetItemDecimal(1, "share_lastperiod", li_lastperiod); dw_main.SetItemDecimal(1, "sharestk_value", ldc_shrstkvalue); dw_main.SetItemDecimal(1, "periodshare_value", ldc_periodshrvalue); try { ///<หาอายุสมาชิก> birth_age = BusscomService.of_cal_yearmonth(state.SsWsPass, ldtm_birth, DateTime.Now); } catch { birth_age = BusscomService.of_cal_yearmonth(state.SsWsPass, DateTime.Now, DateTime.Now); } try { ///<หาอายุการเป็นสมาชิก> member_age = BusscomService.of_cal_yearmonth(state.SsWsPass, ldtm_member, DateTime.Now); } catch { member_age = BusscomService.of_cal_yearmonth(state.SsWsPass, DateTime.Now, DateTime.Now); } DwUtil.RetrieveDataWindow(dw_detail, pbl, null, member_no); if (dw_detail.RowCount > 0) { decimal ldc_balance = 0; decimal ldc_intest = 0; string ls_loantypeclr; double intrate = 0.00; for (int ii = 1; ii <= dw_detail.RowCount; ii++) { ldc_balance = dw_detail.GetItemDecimal(ii, "principal_balance"); ls_loantypeclr = dw_detail.GetItemString(ii, "loantype_code"); intrate = this.of_getinterestrate(ls_loantypeclr); intrate = intrate / 100; ldc_intest = ldc_balance * 30 * Convert.ToDecimal(intrate) / 365; dw_detail.SetItemDecimal(ii, "interest_estimate", ldc_intest); } } JsExpensedefault(); } } catch { LtServerMessage.Text = WebUtil.ErrorMessage("ไม่สามารถดึงรายการสมาชิกมาทำรายการได้"); } } catch (Exception ex) { LtServerMessage.Text = WebUtil.ErrorMessage("กรุณาเลือกประเภทเงินกู้ที่จะทำรายการ" + ex); } } private double of_getinterestrate(string loantype_code) { double intrate = 0; string ls_intratetab = wcf.Busscom.of_getattribloantype(state.SsWsPass, loantype_code, "inttabrate_code").ToString(); String sqlint = @" SELECT INTEREST_RATE FROM LNCFLOANINTRATEDET WHERE ( COOP_ID ='" + state.SsCoopControl + @"' ) AND ( LOANINTRATE_CODE ='" + ls_intratetab + "' ) order by effective_date "; Sdt dtint = WebUtil.QuerySdt(sqlint); while (dtint.Next()) { intrate = dtint.GetDouble("INTEREST_RATE"); } return intrate; } /// /// หาสิทธิ์กู้สูงสุดจากอายุสมาชิก /// private void Jsmaxcreditperiod() { try { JsSetloantype(); String ls_loantype = dw_main.GetItemString(1, "loantype_code"); string member_no = dw_main.GetItemString(1, "member_no"); int ldc_share_lastperiod = Convert.ToInt16(dw_main.GetItemDecimal(1, "share_lastperiod")); Decimal ldc_shrstkvalue = dw_main.GetItemDecimal(1, "sharestk_value"); Decimal ldc_salary = dw_main.GetItemDecimal(1, "salary_amt"); String ls_memcoopid = state.SsCoopId; ///<หาอายุงานของาสมาชิก> Decimal[] max_creditperiod = new Decimal[4]; string loanrighttype_code = "01"; Decimal loancredit_amt = 0, loanright_type = 1; int li_timemb = ldc_share_lastperiod;// Convert.ToInt16(ls_timembyear.Substring(0, 2)) * 12 + Convert.ToInt16(ls_timembyear.Substring(3, 2)); //ert.ToInt16(Math.Truncate(ldc_timembyear) * 12 + ((ldc_timembyear * 100) % 100)); int li_timeage = 20; decimal customtime_type = 0; decimal maxloan_amt = 0; string loantype_code = dw_main.GetItemString(1, "loantype_code"); string sqlpauseloan = "select loantype_code , pauseloan_cause, expirefix_flag, expirefix_date from lnmembpauseloan where member_no = '" + member_no + "' and loantype_code = '" + loantype_code + "'"; Sdt dtp = WebUtil.QuerySdt(sqlpauseloan); string pauseloan_desc = ""; DateTime expirefix_date; decimal expirefix_flag = 0; if (dtp.Next()) { dw_main.SetItemDecimal(1, "loancredit_amt", 0); pauseloan_desc = dtp.GetString("pauseloan_cause"); expirefix_flag = dtp.GetDecimal("expirefix_flag"); expirefix_date = dtp.GetDate("expirefix_date"); dw_main.DisplayOnly = false; dw_main.Enabled = false; dw_main.EnableViewState = false; dw_main.Modify("b_save.enabled = false"); dw_main.Modify("loancredit_amt.protect = 1"); dw_detail.DisplayOnly = false; if (expirefix_flag == 1) { LtServerMessage.Text = WebUtil.ErrorMessage("สมาชิกท่านนี้ได้ถูกห้ามกู้ประเภทนี้อยู่ " + loantype_code + " เหตผล " + pauseloan_desc + " ถึงวันที่ " + Convert.ToString(expirefix_date.ToLongDateString())); } else { LtServerMessage.Text = WebUtil.ErrorMessage("สมาชิกท่านนี้ได้ถูกห้ามกู้ประเภทนี้อยู่ " + loantype_code + " เหตผล " + pauseloan_desc); } } if (dtp.GetRowCount() <= 0) { string sqllntype = @"select loanrighttype_code,customtime_type, loanright_type,maxloan_amt from lnloantype where loantype_code ='" + ls_loantype + @"' "; Sdt dtrigtht = WebUtil.QuerySdt(sqllntype); if (dtrigtht.Next()) { loanrighttype_code = dtrigtht.GetString("loanrighttype_code"); customtime_type = dtrigtht.GetDecimal("customtime_type"); loanright_type = dtrigtht.GetDecimal("loanright_type"); maxloan_amt = dtrigtht.GetDecimal("maxloan_amt"); } try { max_creditperiod = shrlonService.Calloanpermisssurin(state.SsWsPass, ls_memcoopid, ls_loantype, ldc_salary, ldc_shrstkvalue, li_timemb, member_no, li_timeage); //max_creditperiod = shrlonService.Calloanpermiss(state.SsWsPass, ls_memcoopid, ls_loantype, ldc_salary, ldc_shrstkvalue, li_timemb, member_no, li_timeage); } catch (Exception ex) { LtServerMessage.Text = WebUtil.ErrorMessage("shrlonService.Calloanpermisssurine " + ex); } Decimal ldc_percenshare = max_creditperiod[2]; Decimal ldc_percensaraly = max_creditperiod[3]; loancredit_amt = ldc_percensaraly * ldc_salary; //max_creditperiod[0]; if (loancredit_amt > maxloan_amt) { loancredit_amt = maxloan_amt; } //mong String ll_roundloan = wcf.Busscom.of_getattribloantype(state.SsWsPass, ls_loantype, "reqround_factor"); int roundloan = Convert.ToInt16(ll_roundloan); if (loancredit_amt % roundloan > 0) { loancredit_amt = loancredit_amt - (loancredit_amt % roundloan); } dw_main.SetItemDecimal(1, "maxcredit_amt", loancredit_amt); dw_main.SetItemDecimal(1, "loancredit_amt", loancredit_amt); dw_main.SetItemDecimal(1, "maxperiod_payamt", max_creditperiod[1]); dw_main.SetItemDecimal(1, "contract_time", 36); dw_main.SetItemDateTime(1, "startcont_date", state.SsWorkDate); DateTime expire_date = state.SsWorkDate.AddMonths(Convert.ToInt16(36)); dw_main.SetItemDateTime(1, "expirecont_date", expire_date); tdwMain.Eng2ThaiAllRow(); ////สิทธิกู้ตามเงินเดือนคงเลหือ JsSetMonthpayCoop(); JsCalMaxLoanpermiss(); JsContPeriod(); HdPeriodMax.Value = max_creditperiod[1].ToString(); HdCreditMax.Value = loancredit_amt.ToString(format:"###0"); } } catch (Exception ex) { // LtServerMessage.Text = WebUtil.ErrorMessage("Jsmaxcreditperiod===>" + ex); } } private void JsSetloantype() { string loantype = dw_main.GetItemString(1, "loantype_code"); string sqllntype = @"select mangrtpermgrp_code, notmoreshare_flag, loanrighttype_code, customtime_type, loanright_type, maxloan_amt,loanpermgrp_code, contint_type, contractint_rate, inttabrate_code,salperct_balance,salamt_balance,loanpayment_type,loanpayment_status,reqround_factor,payround_factor, lngrpcutright_flag, inttabrate_code from lnloantype where loantype_code ='" + loantype + @"' "; Sdt dtlntype = WebUtil.QuerySdt(sqllntype); string intcontinttabcode = "INT01"; double intcontintrate = 0.065; decimal intcontinttype = 2; decimal payment_stauts = 1; decimal ldc_minpercsal = 0; decimal ldc_maxloan = 0; decimal customtime_type = 4; decimal notmoreshare_flag = 0; decimal loanright_type = 2; decimal reqround_factor = 0; decimal payround_factor = 0; decimal lngrpcutright_flag = 0; string inttabrate_code = "01"; string loanpermissgroup = "01"; string loanrighttype_code = "01"; string mangrtpermgrp_code = "01"; decimal ldc_minsalaamt = 0, ldc_paymenttype = 1; if (dtlntype.Next()) { intcontinttabcode = dtlntype.GetString("inttabrate_code"); intcontinttype = dtlntype.GetDecimal("contint_type"); ldc_minpercsal = dtlntype.GetDecimal("salperct_balance"); ldc_minsalaamt = dtlntype.GetDecimal("salamt_balance"); ldc_paymenttype = dtlntype.GetDecimal("loanpayment_type"); ldc_maxloan = dtlntype.GetDecimal("maxloan_amt"); loanpermissgroup = dtlntype.GetString("loanpermgrp_code"); payment_stauts = dtlntype.GetDecimal("loanpayment_status"); reqround_factor = dtlntype.GetDecimal("reqround_factor"); payround_factor = dtlntype.GetDecimal("payround_factor"); lngrpcutright_flag = dtlntype.GetDecimal("lngrpcutright_flag"); inttabrate_code = dtlntype.GetString("inttabrate_code"); customtime_type = dtlntype.GetDecimal("customtime_type"); loanright_type = dtlntype.GetDecimal("loanright_type"); notmoreshare_flag = dtlntype.GetDecimal("notmoreshare_flag"); mangrtpermgrp_code = dtlntype.GetString("mangrtpermgrp_code"); } string sqlint = @"select interest_rate from lncfloanintratedet where loanintrate_code =(select inttabrate_code from lnloantype where loantype_code = '" + loantype + @"') "; Sdt dtint = WebUtil.QuerySdt(sqlint); while (dtint.Next()) { intcontintrate = dtint.GetDouble("interest_rate"); // intcontintrate = intcontintrate / 100; } dw_main.SetItemDecimal(1, "int_continttype", intcontinttype); dw_main.SetItemDouble(1, "int_contintrate", intcontintrate); dw_main.SetItemString(1, "int_continttabcode", intcontinttabcode); dw_main.SetItemDecimal(1, "minsalary_perc", ldc_minpercsal); dw_main.SetItemDecimal(1, "minsalary_amt", ldc_minsalaamt); dw_main.SetItemDecimal(1, "loanpayment_type", ldc_paymenttype); } private decimal JsSetMonthpayCoop() { try { string ls_loantype; int li_index, li_count; int li_clrstatus, li_paytype; Decimal ldc_shrperiod, ldc_payment, ldc_intestm; Decimal ldc_sumpay = 0; // ดึงรายการหุ้น ldc_shrperiod = dw_main.GetItemDecimal(1, "periodshare_value"); // ดึงรายการหนี้ li_count = dw_detail.RowCount; Decimal ldc_loamappamt = 0; for (li_index = 1; li_index <= li_count; li_index++) { li_clrstatus = Convert.ToInt32(dw_detail.GetItemDecimal(li_index, "operate_flag")); ls_loantype = dw_detail.GetItemString(li_index, "loantype_code"); if (li_clrstatus == 1) { li_paytype = Convert.ToInt32(dw_detail.GetItemDecimal(li_index, "loanpayment_type")); ldc_payment = dw_detail.GetItemDecimal(li_index, "period_payment"); ldc_loamappamt = dw_detail.GetItemDecimal(li_index, "loanapprove_amt"); try { ldc_intestm = dw_detail.GetItemDecimal(li_index, "interest_estimate"); } catch { ldc_intestm = 0; } if (li_paytype == 1) { ldc_sumpay += ldc_payment + ldc_intestm; } else { ldc_sumpay += ldc_payment; } } } ldc_sumpay = ldc_sumpay + ldc_shrperiod; dw_main.SetItemDecimal(1, "paymonth_coop", ldc_sumpay); return ldc_sumpay; } catch { } return 0; } private void JsContPeriod() { try { string ls_loantype = dw_main.GetItemString(1, "loantype_code"); Decimal period_payamt = dw_main.GetItemDecimal(1, "maxperiod_payamt"); Decimal loanrequest_amt = dw_main.GetItemDecimal(1, "loancredit_amt"); decimal loanpayment_type = dw_main.GetItemDecimal(1, "loanpayment_type"); decimal ldc_intrate = 5 / 100; try { ldc_intrate = dw_main.GetItemDecimal(1, "int_contintrate"); } catch { ldc_intrate = 5 / 100; } Decimal period_payment = 0; // ปัดยอดชำระ String ll_roundpay = wcf.Busscom.of_getattribloantype(state.SsWsPass, ls_loantype, "payround_factor"); //String ll_roundpay = "100"; int roundpay = Convert.ToInt16(ll_roundpay); double ldc_fr = 1, ldc_temp = 1, loapayment_amt = 0; if (loanpayment_type == 1) { //คงต้น period_payment = loanrequest_amt / period_payamt; } else { int li_fixcaltype = Convert.ToInt16(wcf.Busscom.of_getattribconstant(state.SsWsPass, "fixpaycal_type")); //คงยอด //ธกส เปลี่ยนการใส่อัตราดอกเบี้ย ldc_intrate = ldc_intrate / 100; if (li_fixcaltype == 1) { // ด/บ ทั้งปี / 12 //ldc_fr = exp( - ai_period * log( ( 1 + adc_intrate / 12 ) ) ) //ldc_payamt = adc_principal * ( adc_intrate / 12 ) / ( 1 - ldc_fr ) ldc_temp = Math.Log(1 + (Convert.ToDouble(ldc_intrate / 12))); ldc_fr = Math.Exp(-Convert.ToDouble(period_payamt) * ldc_temp); loapayment_amt = (Convert.ToDouble(loanrequest_amt) * (Convert.ToDouble(ldc_intrate) / 12)) / ((1 - ldc_fr)); } else { // ด/บ 30 วัน/เดือน //ldc_fr = exp( - ai_period * log( ( 1 + adc_intrate * ( 30/365 ) ) ) ) //ldc_payamt = adc_principal * ( adc_intrate * 30/365 ) / ( 1 - ldc_fr ) ldc_temp = Math.Log(1 + (Convert.ToDouble(ldc_intrate * (30 / 365)))); ldc_fr = Math.Exp(-Convert.ToDouble(period_payamt) * ldc_temp); loapayment_amt = (Convert.ToDouble(loanrequest_amt) * (Convert.ToDouble(ldc_intrate) * (30 / 365))) / ((1 - ldc_fr)); //แบบสุโขทัย //ldc_fr = ( adc_intrate * ( 1+ adc_intrate) ^ ai_period )/ (((1 + adc_intrate ) ^ ai_period ) - 1 ) //ldc_payamt = adc_principal / ldc_fr } period_payment = Math.Ceiling(Convert.ToDecimal(loapayment_amt)); } if (roundpay > 0) { //by mong //period_payamt = Math.Round(period_payamt / 10) * 10; //period_payment = Math.Ceiling(Convert.ToDecimal(loapayment_amt)); //period_payment = Math.Round(period_payment, roundpay, MidpointRounding.AwayFromZero);// *roundpay; if (period_payment % roundpay > 0) { period_payment = period_payment + roundpay - (period_payment % roundpay); } } dw_main.SetItemDecimal(1, "period_payment", period_payment); JsChecksalabal(); } catch { } } private void JsExpensedefault() { string member_no = dw_main.GetItemString(1, "member_no"); string strsql = @"select expense_code, expense_bank, expense_branch, expense_accid from mbmembmaster where member_no = '" + member_no + "'"; try { Sdt dtloanrcv = WebUtil.QuerySdt(strsql); if (dtloanrcv.GetRowCount() <= 0) { LtServerMessage.Text = WebUtil.WarningMessage("ไม่พบเลขที่บัญชีเงินธนาคารของสมาชิก " + member_no); } if (dtloanrcv.Next()) { string loanrcv_code = dtloanrcv.GetString("expense_code"); string loanrcv_bank = dtloanrcv.GetString("expense_bank"); string loanrcv_branch = dtloanrcv.GetString("expense_branch"); string loanrcv_accid = dtloanrcv.GetString("expense_accid"); dw_main.SetItemString(1, "loanrcv_code", loanrcv_code); dw_main.SetItemString(1, "loanrcv_bank", loanrcv_bank); dw_main.SetItemString(1, "loanrcv_branch", loanrcv_branch); dw_main.SetItemString(1, "loanrcv_accid", loanrcv_accid); //string sql_bkk = "select branch_name from cmucfbankbranch where bank_code = '" + loanrcv_bank + "' and branch_id = '" + loanrcv_branch + "'"; //Sdt dtk = WebUtil.QuerySdt(sql_bkk); //string bankbranch = ""; //if (dtk.Next()) //{ // bankbranch = dtk.GetString("branch_name").Trim(); // dw_main.SetItemString(1, "loanrcv_branch_1", bankbranch); //} if (loanrcv_code == "CBT" || loanrcv_code == "CBO") { JsExpensebankbrRetrieve(); } } } catch { } } private void SaveWebSheet() { string newContNo, member_no, loantype_code, maxcredit_amt, loancredit_amt, loancreditbal_amt, contract_time, salary_amt, share_lastperiod, sharestk_value, periodshare_value, paymonth_coop, paymonth_other; string intestimate_amt, loanpayment_type, minsalary_perc, minsalary_amt, maxperiod_payamt, period_payment, contcredit_status, remark, entry_id, coopbranch_id, loanrcv_code, loanrcv_branch, loanrcv_bank; string loanrcv_accid, int_continttype, int_contintrate, int_contintincrease, int_intsteptype, int_continttabcode; DateTime operate_date, startcont_date, expirecont_date, entry_date; try { newContNo = wcf.Common.GetNewDocNo(state.SsWsPass, "CREDITDOCNO"); tdwMain.Thai2EngAllRow(); //DwUtil.InsertDataWindow(dw_main, "", "LNCONTCREDIT"); try { member_no = dw_main.GetItemString(1, "MEMBER_NO"); } catch { member_no = ""; } try { loantype_code = dw_main.GetItemString(1, "LOANTYPE_CODE"); } catch { loantype_code = ""; } try { operate_date = dw_main.GetItemDateTime(1, "OPERATE_DATE"); } catch { operate_date = state.SsWorkDate; } try { maxcredit_amt = dw_main.GetItemString(1, "MAXCREDIT_AMT"); } catch { maxcredit_amt = "0"; } try { loancredit_amt = dw_main.GetItemString(1, "LOANCREDIT_AMT"); } catch { loancredit_amt = "0"; } try { loancreditbal_amt = dw_main.GetItemString(1, "LOANCREDIT_AMT"); } catch { loancreditbal_amt = "0"; } try { contract_time = dw_main.GetItemString(1, "CONTRACT_TIME"); } catch { contract_time = "0"; } try { startcont_date = dw_main.GetItemDateTime(1, "STARTCONT_DATE"); } catch { startcont_date = state.SsWorkDate; } try { expirecont_date = dw_main.GetItemDateTime(1, "EXPIRECONT_DATE"); } catch { expirecont_date = state.SsWorkDate; } try { salary_amt = dw_main.GetItemString(1, "SALARY_AMT"); } catch { salary_amt = "0"; } try { share_lastperiod = dw_main.GetItemString(1, "SHARE_LASTPERIOD"); } catch { share_lastperiod = "0"; } try { sharestk_value = dw_main.GetItemString(1, "SHARESTK_VALUE"); } catch { sharestk_value = "0"; } try { periodshare_value = dw_main.GetItemString(1, "PERIODSHARE_VALUE"); } catch { periodshare_value = "0"; } try { paymonth_coop = dw_main.GetItemString(1, "PAYMONTH_COOP"); } catch { paymonth_coop = "0"; } try { paymonth_other = dw_main.GetItemString(1, "PAYMONTH_OTHER"); } catch { paymonth_other = "0"; } try { intestimate_amt = dw_main.GetItemString(1, "INTESTIMATE_AMT"); } catch { intestimate_amt = "0"; } try { loanpayment_type = dw_main.GetItemString(1, "LOANPAYMENT_TYPE"); } catch { loanpayment_type = ""; } try { minsalary_perc = dw_main.GetItemString(1, "MINSALARY_PERC"); } catch { minsalary_perc = "0"; } try { minsalary_amt = dw_main.GetItemString(1, "MINSALARY_AMT"); } catch { minsalary_amt = "0"; } try { maxperiod_payamt = dw_main.GetItemString(1, "MAXPERIOD_PAYAMT"); } catch { maxperiod_payamt = "0"; } try { period_payment = dw_main.GetItemString(1, "PERIOD_PAYMENT"); } catch { period_payment = "0"; } try { contcredit_status = dw_main.GetItemString(1, "CONTCREDIT_STATUS"); } catch { contcredit_status = ""; } try { remark = dw_main.GetItemString(1, "REMARK"); } catch { remark = ""; } try { entry_id = dw_main.GetItemString(1, "ENTRY_ID"); } catch { entry_id = ""; } try { entry_date = dw_main.GetItemDateTime(1, "ENTRY_DATE"); } catch { entry_date = state.SsWorkDate; } try { coopbranch_id = dw_main.GetItemString(1, "COOPBRANCH_ID"); } catch { coopbranch_id = ""; } try { loanrcv_code = dw_main.GetItemString(1, "LOANRCV_CODE"); } catch { loanrcv_code = ""; } try { loanrcv_branch = dw_main.GetItemString(1, "LOANRCV_BRANCH"); } catch { loanrcv_branch = ""; } try { loanrcv_bank = dw_main.GetItemString(1, "LOANRCV_BANK"); } catch { loanrcv_bank = ""; } try { loanrcv_accid = dw_main.GetItemString(1, "LOANRCV_ACCID"); } catch { loanrcv_accid = ""; } try { int_continttype = dw_main.GetItemString(1, "INT_CONTINTTYPE"); } catch { int_continttype = ""; } try { int_contintrate = dw_main.GetItemString(1, "INT_CONTINTRATE"); } catch { int_contintrate = "0"; } //try //{ // int_contintabcode = dw_main.GetItemString(1, "INT_CONTINTTABCODE"); //} //catch { } try { int_contintincrease = dw_main.GetItemString(1, "INT_CONTINTINCREASE"); } catch { int_contintincrease = "0"; } try { int_intsteptype = dw_main.GetItemString(1, "INT_INTSTEPTYPE"); } catch { int_intsteptype = "0"; } string ls_entryid = state.SsUsername; DateTime ldtm_today = state.SsWorkDate; string ls_sqlexc = @" update lncontcredit set contcredit_status = -9, cancel_id = '" + ls_entryid + "', cancel_date = to_date('" + ldtm_today.ToString("yyyy-MM-dd HH:mm:ss", WebUtil.EN) + @"', 'yyyy-mm-dd hh24:mi:ss') where ( member_no = '" + member_no + "' ) "; //Sta ta = new Sta(state.SsConnectionString); try { //sql = WebUtil.SQLFormat(sql, arr); int sql_q = WebUtil.ExeSQL(ls_sqlexc); //ส่งค่า start_membgroup ไปให้ Stored Procedures ชื่อ SP_RPT_COLL_DETAIL //ta.Exe(ls_sqlexc); //ta.Commit(true); LtServerMessage.Text = WebUtil.CompleteMessage("ยกเลิกวงเงินเรียบร้อย"); //ta.Close(); } catch (Exception ex) { LtServerMessage.Text = WebUtil.ErrorMessage("เกิดข้อผิดพลาดในการ ยกเลิกวงเงิน " + ex); } string sql = @" INSERT INTO LNCONTCREDIT ( CONTCREDIT_NO, MEMBER_NO, LOANTYPE_CODE, OPERATE_DATE, MAXCREDIT_AMT, LOANCREDIT_AMT, LOANCREDITBAL_AMT, CONTRACT_TIME, STARTCONT_DATE, EXPIRECONT_DATE, SALARY_AMT, SHARE_LASTPERIOD, SHARESTK_VALUE, PERIODSHARE_VALUE, PAYMONTH_COOP, PAYMONTH_OTHER, INTESTIMATE_AMT, LOANPAYMENT_TYPE, MINSALARY_PERC, MINSALARY_AMT, MAXPERIOD_PAYAMT, PERIOD_PAYMENT, CONTCREDIT_STATUS, REMARK, ENTRY_ID, ENTRY_DATE, COOPBRANCH_ID, LOANRCV_CODE, LOANRCV_BANK, LOANRCV_BRANCH, INT_CONTINTTYPE, INT_CONTINTRATE, INT_CONTINTINCREASE, INT_INTSTEPTYPE, COOP_ID, loanrcv_accid) 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}) "; object[] arr = new object[36]; int ii = 0; arr[0] = newContNo; arr[1] = member_no; arr[2] = loantype_code; arr[3] = operate_date; arr[4] = maxcredit_amt; arr[5] = loancredit_amt; arr[6] = loancreditbal_amt; arr[7] = contract_time; try { arr[8] = dw_main.GetItemDateTime(1, "startcont_date");// startcont_date;//---- } catch { arr[8] = new DateTime(1500, 1, 1); } try { arr[9] = dw_main.GetItemDateTime(1, "expirecont_date");// expirecont_date; } catch { arr[9] = new DateTime(1500, 1, 1); } arr[10] = salary_amt; arr[11] = share_lastperiod; arr[12] = sharestk_value; arr[13] = periodshare_value; arr[14] = paymonth_coop; arr[15] = paymonth_other; arr[16] = intestimate_amt; arr[17] = loanpayment_type; arr[18] = minsalary_perc; arr[19] = minsalary_amt; arr[20] = maxperiod_payamt; arr[21] = period_payment; arr[22] = contcredit_status; arr[23] = remark; arr[24] = state.SsUsername; arr[25] = state.SsWorkDate; arr[26] = coopbranch_id; arr[27] = loanrcv_code; arr[28] = loanrcv_bank; arr[29] = loanrcv_branch; arr[30] = int_continttype; arr[31] = int_contintrate; arr[32] = int_contintincrease; arr[33] = int_intsteptype; arr[34] = state.SsCoopId; arr[35] = loanrcv_accid; // Sdt ins = WebUtil.QuerySdt(sql_ins); sql = WebUtil.SQLFormat(sql, arr); int a = WebUtil.ExeSQL(sql); LtServerMessage.Text = WebUtil.CompleteMessage("บันทึกสำเร็จ"); this.SetOnLoadedScript("parent.jsPostMember() \n parent.RemoveIFrame()"); } catch (Exception ex) { LtServerMessage.Text = WebUtil.ErrorMessage(ex); } dw_detail.Reset(); dw_detail.DisplayOnly = true; } private void JsChecksalabal() { try { decimal salary_amt = dw_main.GetItemDecimal(1, "salary_amt"); decimal ldc_sumpay = dw_main.GetItemDecimal(1, "paymonth_coop"); decimal monthetc_pay = dw_main.GetItemDecimal(1, "paymonth_other"); decimal loanperiod_payment = dw_main.GetItemDecimal(1, "period_payment"); decimal ldc_minsalaamt = dw_main.GetItemDecimal(1, "minsalary_amt"); decimal salary_bal = salary_amt - ldc_sumpay - monthetc_pay - loanperiod_payment; LtServerMessage.Text = ""; // dw_main.SetItemDecimal(1, "paymonth_coop", salary_bal); if (salary_bal < ldc_minsalaamt) { //LtServerMessage.Text = WebUtil.ErrorMessage("สมาชิกนี้มีเงินเดือนคงเหลือน้อยกว่า ขั้นต่ำที่กำหนด คือ " + ldc_minsalaamt.ToString() + " บาท คงเหลือแค่ " + salary_bal.ToString()); LtServerMessage.Text = WebUtil.ErrorMessage("เงินเดือนคงเหลือไม่ถึงตามกำหนด คงเหลือขั้นต่ำ 2,000 มีเงินเดือนคงเหลือ " + salary_bal.ToString() +" บาท กรุณาตรวจสอบด้วย"); } } catch { } } private void JsCalMaxLoanpermiss() { //คำนวณสิทธิกู้จากยอดเงินเดือนคงเหลือขั้นต่ำ string loantype_code = dw_main.GetItemString(1, "loantype_code"); decimal ldc_salary = dw_main.GetItemDecimal(1, "salary_amt"); decimal ldc_mthcoop = JsSetMonthpayCoop();// dw_main.GetItemDecimal(1, "paymonth_coop"); //decimal ldc_minpercsal = dw_main.GetItemDecimal(1, "minsalary_perc"); decimal ldc_minsalaamt = 2000;// dw_main.GetItemDecimal(1, "minsalary_amt"); decimal ldc_maxloan = dw_main.GetItemDecimal(1, "maxcredit_amt"); decimal ldc_periodsend = dw_main.GetItemDecimal(1, "maxperiod_payamt"); decimal ldc_paymenttype = dw_main.GetItemDecimal(1, "loanpayment_type"); decimal ldc_intrate = dw_main.GetItemDecimal(1, "int_contintrate"); decimal ldc_incomeetc = 0;// dw_main.GetItemDecimal(1, "incomemonth_fixed"); decimal ldc_paymtmetc = dw_main.GetItemDecimal(1, "paymonth_other"); decimal ldc_sharestk = dw_main.GetItemDecimal(1, "sharestk_value"); // ธกส เปลี่ยนการใส่อัตราดอกเบี้ย จาก 0.05 เป็น 5 ldc_intrate = ldc_intrate / 100; decimal salary_balance = ldc_salary - ldc_minsalaamt - ldc_mthcoop + ldc_incomeetc - ldc_paymtmetc; // if (ldc_minsalaamt <= 0) { salary_balance = ldc_salary; } decimal ldc_permamt; double li_maxperiod = Convert.ToDouble(ldc_periodsend); if (ldc_paymenttype == 1) { //คงต้น double ldc_dayyear = Convert.ToDouble(30) / Convert.ToDouble(366); double ldc_ddd = 1.00; double ldc_temp = Convert.ToDouble(ldc_periodsend) * (Convert.ToDouble(ldc_intrate) * ldc_dayyear) + ldc_ddd; ldc_permamt = Convert.ToDecimal((Convert.ToDouble(salary_balance) * Convert.ToDouble(ldc_periodsend)) / ldc_temp); } else { //คงยอด int li_fixcaltype = 1;//fixpaycal_type double ldc_permamttmp = 1.00, ldc_fr = 1.00, ldc_temp = 1.00; if (li_fixcaltype == 1) { // ด/บ ทั้งปี / 12 // ldc_permamt = salary_balance * ((((1 + (ldc_intrate / 12)) ^ li_maxperiod) - 1) / ((ldc_intrate / 12) * ((1 + (ldc_intrate / 12)) ^ li_maxperiod))); ldc_temp = Math.Log(1 + (Convert.ToDouble(Convert.ToDouble(ldc_intrate) / 12.00))); ldc_fr = Math.Exp(-li_maxperiod * ldc_temp); ldc_permamttmp = (Convert.ToDouble(salary_balance) * (1.00 - ldc_fr)) / ((Convert.ToDouble(ldc_intrate) / 12)); } else { // ด/บ 30 วัน/เดือน ldc_temp = Math.Log(1 + (Convert.ToDouble(Convert.ToDouble(ldc_intrate) / (30.00 / 365.00)))); ldc_fr = Math.Exp(-li_maxperiod * ldc_temp); ldc_permamttmp = (Convert.ToDouble(salary_balance) * (1.00 - ldc_fr)) / ((Convert.ToDouble(ldc_intrate) / (30.00 / 365.00))); } ldc_permamt = Convert.ToDecimal(ldc_permamttmp); decimal loan_credit = dw_main.GetItemDecimal(1, "maxcredit_amt"); if (ldc_permamt > loan_credit) { ldc_permamt = loan_credit; } } // ปัดยอดขอกู้ String ll_roundloan = wcf.Busscom.of_getattribloantype(state.SsWsPass, loantype_code, "reqround_factor"); int roundloan = Convert.ToInt16(ll_roundloan); if (roundloan > 0) { if (ldc_permamt > 0) { // by mong loanrequest_amt = Math.Round((loanrequest_amt) / roundloan) * roundloan; if (ldc_permamt % roundloan > 0) { ldc_permamt = ldc_permamt - (ldc_permamt % roundloan); } } } if (ldc_permamt > ldc_maxloan) { ldc_permamt = ldc_maxloan; } decimal ldc_shr90 = Convert.ToDecimal(ldc_sharestk * Convert.ToDecimal(0.90)); if (ldc_permamt > ldc_shr90) { ldc_permamt = ldc_shr90; } dw_main.SetItemDecimal(1, "loancredit_amt", ldc_permamt); } /// /// จน.งวด==> หายอดชำระ public void WebDialogLoadEnd() { try { sqlca.Disconnect(); } catch { } } } }