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.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Xml.Linq; using DataLibrary; using Sybase.DataWindow; namespace Saving.Criteria { public partial class u_cri_proc_share_dept_loan : PageWebSheet, WebSheet { protected String app; protected String gid; protected String rid; protected String pdf; protected String runProcess; protected String popupReport; protected String GetGroup; protected String GetGroup2; private DwThDate tdw_criteria; #region WebSheet Members public String outputProcess; public void InitJsPostBack() { HdOpenIFrame.Value = "False"; runProcess = WebUtil.JsPostBack(this, "runProcess"); } //protected void Page_Load(object sender, EventArgs e) public void WebSheetLoadBegin() { //InitJsPostBack(); //this.ConnectSQLCA(); //dw_criteria.SetTransaction(sqlca); DwUtil.RetrieveDDDW(dw_criteria, "start_membgroup_1", "criteria.pbl", state.SsCoopControl); DwUtil.RetrieveDDDW(dw_criteria, "end_membgroup_1", "criteria.pbl", state.SsCoopControl); if (IsPostBack) { dw_criteria.RestoreContext(); } else { //default values. dw_criteria.InsertRow(0); dw_criteria.SetItemDecimal(1, "select_year", 2553); dw_criteria.SetItemDecimal(1, "select_month", 1); string[] minmax = ReportUtil.GetMinMaxMembgroup(); dw_criteria.SetItemString(1, "start_membgroup_1", minmax[0]); dw_criteria.SetItemString(1, "end_membgroup_1", minmax[1]); } //--- Page Arguments try { app = Request["app"].ToString(); } catch { } if (app == null || app == "") { app = state.SsApplication; } try { gid = Request["gid"].ToString(); } catch { } try { rid = Request["rid"].ToString(); } catch { } //Report Name. try { Sta ta = new Sta(state.SsConnectionString); String sql = ""; sql = @"SELECT REPORT_NAME FROM WEBREPORTDETAIL WHERE ( GROUP_ID = '" + gid + @"' ) AND ( REPORT_ID = '" + rid + @"' )"; Sdt dt = ta.Query(sql); ReportName.Text = dt.Rows[0]["REPORT_NAME"].ToString(); ta.Close(); } catch { ReportName.Text = "[" + rid + "]"; } //Link back to the report menu. LinkBack.PostBackUrl = String.Format("~/ReportDefault.aspx?app={0}&gid={1}", app, gid); } public void CheckJsPostBack(string eventArg) { if (eventArg == "runProcess") { RunProcess(); } else if (eventArg == "popupReport") { PopupReport(); } else if (eventArg == "GetGroup") { Sdt f = WebUtil.QuerySdt("select membgroup_desc from mbucfmembgroup where trim(membgroup_code) = '" + dw_criteria.GetItemString(1, "start_membgroup").Trim() + "' "); if (f.Next()) { dw_criteria.SetItemString(1, "start_membgroup_1", f.GetString("membgroup_desc")); } } else if (eventArg == "GetGroup2") { Sdt f = WebUtil.QuerySdt("select membgroup_desc from mbucfmembgroup where trim(membgroup_code) = '" + dw_criteria.GetItemString(1, "end_membgroup").Trim() + "' "); if (f.Next()) { dw_criteria.SetItemString(1, "end_membgroup_1", f.GetString("membgroup_desc")); } } } public void SaveWebSheet() { } public void WebSheetLoadEnd() { } #endregion #region Report Process private void RunProcess() { //อ่านค่าจากหน้าจอใส่ตัวแปรรอไว้ก่อน. Decimal select_year = dw_criteria.GetItemDecimal(1, "select_year"); Decimal select_month = dw_criteria.GetItemDecimal(1, "select_month"); String start_membgroup = dw_criteria.GetItemString(1, "start_membgroup_1"); String end_membgroup = dw_criteria.GetItemString(1, "end_membgroup_1"); try { WebUtil.QuerySdt(" delete from CMCLOSESHLNCOMONTH where MONTH_NO = " + select_month + " and ACCOUNT_YEAR = " + select_year + " "); Sdt d = WebUtil.QuerySdt("select mbmembmaster.member_no,shsharemaster.sharestk_amt from mbmembmaster inner join shsharemaster on mbmembmaster.member_no = shsharemaster.member_no where (trim(mbmembmaster.membgroup_code) between '" + start_membgroup.Trim() + "' and '" + end_membgroup.Trim() + "') and mbmembmaster.member_status=1 "); while (d.Next()) { String sqlinsert = "insert into CMCLOSESHLNCOMONTH(ACCOUNT_YEAR,MONTH_NO,seq_no,sharestk_bal,member_no) " + "values(" + select_year + "," + select_month + ",1," + d.GetDecimal("sharestk_amt") + ",'" + d.GetString("member_no") + "') "; WebUtil.QuerySdt(sqlinsert); // หนี้ Sdt dt = WebUtil.QuerySdt("select trim(lncontmaster.loancontract_no)as loancontract_no,lncontmaster.principal_balance,lncontmaster.principal_arrear,lncontmaster.intyear_arrear,lncontmaster.fineyear_arrear,lnloantype.loangroup_code from lncontmaster inner join lnloantype on " + " lncontmaster.loantype_code = lnloantype.loantype_code where lncontmaster.member_no = '" + d.GetString("member_no") + "' and contract_status = 1 "); while (dt.Next()) { int s = 1; if (dt.GetString("loangroup_code") == "01") { WebUtil.QuerySdt(" update CMCLOSESHLNCOMONTH set eloancontract_no = '" + dt.GetString("loancontract_no") + "' , eloan_balance =" + dt.GetDecimal("principal_balance") + "" + ", ebal_arramt=" + dt.GetDecimal("principal_arrear") + " ,eint_arrear=" + dt.GetDecimal("intyear_arrear") + " , efine_arrear =" + dt.GetDecimal("fineyear_arrear") + "" + " where MONTH_NO = " + select_month + " and ACCOUNT_YEAR = " + select_year + " and member_no = '" + d.GetString("member_no") + "' and seq_no=" + s + " "); } else { String ssql = "update CMCLOSESHLNCOMONTH set nloancontract_no=" + dt.GetString("loancontract_no") + " ,nloan_balance=" + dt.GetDecimal("principal_balance") + " , nbal_arramt =" + dt.GetDecimal("principal_arrear") + "" + ", nint_arrear=" + dt.GetDecimal("intyear_arrear") + " ,nfine_arrear=" + dt.GetDecimal("fineyear_arrear") + " " + " where MONTH_NO = " + select_month + " and ACCOUNT_YEAR = " + select_year + " and member_no = '" + d.GetString("member_no") + "' and seq_no=" + s + " "; WebUtil.QuerySdt(" update CMCLOSESHLNCOMONTH set nloancontract_no='" + dt.GetString("loancontract_no") + "' ,nloan_balance=" + dt.GetDecimal("principal_balance") + " , nbal_arramt =" + dt.GetDecimal("principal_arrear") + "" + ", nint_arrear=" + dt.GetDecimal("intyear_arrear") + " ,nfine_arrear=" + dt.GetDecimal("fineyear_arrear") + " " + " where MONTH_NO = " + select_month + " and ACCOUNT_YEAR = " + select_year + " and member_no = '" + d.GetString("member_no") + "' and seq_no=" + s + " "); } s++; } // เงินฝาก Sdt dp = WebUtil.QuerySdt(" select deptaccount_no,prncbal from dpdeptmaster where member_no = '" + d.GetString("member_no") + "' and deptclose_status=0"); if(dp.Next()){ WebUtil.QuerySdt(" update CMCLOSESHLNCOMONTH set deptaccount_no = '" + dp.GetString("deptaccount_no") + "' , dept_prncbal =" + dp.GetDecimal("prncbal") + " where "+ "MONTH_NO = " + select_month + " and ACCOUNT_YEAR = " + select_year + " and member_no = '" + d.GetString("member_no") + "' and seq_no=1 "); } } } catch (Exception e) { LtServerMessage.Text = WebUtil.ErrorMessage(e.ToString()); } //แปลง Criteria ให้อยู่ในรูปแบบมาตรฐาน. ReportHelper lnv_helper = new ReportHelper(); lnv_helper.AddArgument(select_year.ToString(), ArgumentType.Number); lnv_helper.AddArgument(select_month.ToString(), ArgumentType.Number); lnv_helper.AddArgument(start_membgroup, ArgumentType.String); lnv_helper.AddArgument(end_membgroup, ArgumentType.String); //---------------------------------------------------------------- //ชื่อไฟล์ PDF = YYYYMMDDHHMMSS__.PDF String pdfFileName = DateTime.Now.ToString("yyyyMMddHHmmss", WebUtil.EN); pdfFileName += "_" + gid + "_" + rid + ".pdf"; pdfFileName = pdfFileName.Trim(); //ส่งให้ ReportService สร้าง PDF ให้ {โดยปกติจะอยู่ใน C:\GCOOP\Saving\PDF\}. try { //CoreSavingLibrary.WcfReport.ReportClient lws_report = wcf.Report; //String criteriaXML = lnv_helper.PopArgumentsXML(); //this.pdf = lws_report.GetPDFURL(state.SsWsPass) + pdfFileName; //String li_return = lws_report.Run(state.SsWsPass, app, gid, rid, criteriaXML, pdfFileName); //if (li_return == "true") //{ // HdOpenIFrame.Value = "True"; //} string printer = "PDF"; String criteriaXML = lnv_helper.PopArgumentsXML(); outputProcess = WebUtil.runProcessingReport(state, app, gid, rid, criteriaXML, pdfFileName, printer); } catch (Exception ex) { LtServerMessage.Text = WebUtil.ErrorMessage(ex); return; } } public void PopupReport() { //เด้ง Popup ออกรายงานเป็น PDF. String pop = "Gcoop.OpenPopup('" + pdf + "')"; ClientScript.RegisterClientScriptBlock(this.GetType(), "DsReport", pop, true); } #endregion } }