using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using CoreSavingLibrary; using DataLibrary; using System.Data; using System.Drawing; namespace Saving.Applications.trading.ws_cancle_scales_ctrl { public partial class ws_cancle_scales : PageWebSheet, WebSheet { [JsPostBack] public string PostRetrieve { get; set; } [JsPostBack] public string PostSearch { get; set; } [JsPostBack] public string Check_Flag { get; set; } [JsPostBack] public string Check_BEFORE_FLAG { get; set; } string store_id = string.Empty; string slip_no = string.Empty; TradingService _TradService = new TradingService(); public void InitJsPostBack() { dsList.InitdsList(this); dsMain.InitdsMain(this); } public void WebSheetLoadBegin() { coop_id = state.SsCoopId; store_id = state.SsStoreId; if (!IsPostBack) { dsMain.DATA[0].start_date = _TradService.GetWorkDate(coop_id, store_id); dsMain.DATA[0].end_date = _TradService.GetWorkDate(coop_id, store_id); dsMain.DATA[0].status_after = 1; dsMain.DATA[0].status_before = 1; RetiveSlip(); dsMain.RetriveProduct_no(); } } public void CheckJsPostBack(string eventArg) { if (eventArg == "PostSearch") { RetiveSlip(); } else if (eventArg == "Check_BEFORE_FLAG") { int i = Convert.ToInt32(HdRow.Value); if (dsList.DATA[i].STATUS_AFTER == "Y" && dsList.DATA[i].STATUS_AFTER_FLAG == 0) { this.SetOnLoadedScript("alert('ไม่สามารถ ยกเลิกชั่งเข้าได้ เพราะคุณยังไม่ได้ทำการ ยกเลิกชั่งออก !!')"); dsList.DATA[i].STATUS_AFTER_FLAG = 1; } } else if (eventArg == "Check_Flag") { int i = dsList.GetRowFocus(); if (dsList.DATA[i].S_FLAG == 1) { Color myRgbColor = new Color(); myRgbColor = Color.FromArgb(230, 249, 59); dsList.FindTextBox(i, "REGISTRATION").BackColor = myRgbColor; dsList.FindTextBox(i, "MEMBER_NO").BackColor = myRgbColor; dsList.FindTextBox(i, "MEM_FULL").BackColor = myRgbColor; dsList.FindTextBox(i, "WEIGHT_BEFORE").BackColor = myRgbColor; dsList.FindTextBox(i, "WEIGHT_AFTER").BackColor = myRgbColor; dsList.FindTextBox(i, "MAKE_MONEY").BackColor = myRgbColor; dsList.FindTextBox(i, "PRODUCT_NO").BackColor = myRgbColor; dsList.FindCheckBox(i, "S_FLAG").BackColor = myRgbColor; // dsList.FindCheckBox(i, "PRODUCT_NO").BackColor = myRgbColor; } else { Color myRgbColor = new Color(); myRgbColor = Color.FromArgb(255, 255, 255); dsList.FindTextBox(i, "REGISTRATION").BackColor = myRgbColor; dsList.FindTextBox(i, "MEMBER_NO").BackColor = myRgbColor; dsList.FindTextBox(i, "MEM_FULL").BackColor = myRgbColor; dsList.FindTextBox(i, "WEIGHT_BEFORE").BackColor = myRgbColor; dsList.FindTextBox(i, "WEIGHT_AFTER").BackColor = myRgbColor; dsList.FindTextBox(i, "MAKE_MONEY").BackColor = myRgbColor; dsList.FindTextBox(i, "PRODUCT_NO").BackColor = myRgbColor; dsList.FindCheckBox(i, "S_FLAG").BackColor = myRgbColor; } } } protected void RetiveSlip() { try { string ssql = ""; if (dsMain.DATA[0].member_no != "") { ssql += " and stscales_slip.member_no like '%" + dsMain.DATA[0].member_no + "' "; } if (dsMain.DATA[0].registration != "") { ssql += " and stscales_slip.registration like '%" + dsMain.DATA[0].registration + "' "; } if (dsMain.DATA[0].product_no != "") { ssql += " and stscales_slip.product_no ='" + dsMain.DATA[0].product_no + "' "; } if (dsMain.DATA[0].status_before > 0) { ssql += " and status_before ='Y' "; } else { ssql += " and status_before ='N' "; } if (dsMain.DATA[0].status_after > 0) { ssql += " and status_after ='Y' "; } else { ssql += " and status_after ='N' "; } string sql = @"select slip_no,stscales_slip.member_no,mem_full,registration,price,weight_before,weight_after, weight_net,moisture_amt,etc_amt, status_before , status_after, make_money, product_desc as product_no , ft_cnvtdate(slip_date,3) as slip_date from stscales_slip inner join stproductmaster on stscales_slip.product_no = stproductmaster.product_no where stscales_slip.coop_id = '" + state.SsCoopId + @"' and stscales_slip.slip_status=1 and stscales_slip.slip_date between {1} and {2} " + ssql + @" order by slip_date desc,stscales_slip.slip_no desc"; sql = WebUtil.SQLFormat(sql, coop_id, dsMain.DATA[0].start_date, dsMain.DATA[0].end_date); DataTable dt = WebUtil.Query(sql); dsList.ImportData(dt); } catch (Exception ex) { LtServerMessage.Text = WebUtil.ErrorMessage(ex); } } public void SaveWebSheet() { for (int i = 0; i < dsList.RowCount; i++) { if (dsList.DATA[i].S_FLAG == 1) { //ยกเลิกชั่งออก if (dsList.DATA[i].STATUS_AFTER_FLAG == 1) { //check stock UpdateStock(i); //อัพเดท สถานะชั่ง string sql = null; sql = "update stscales_slip set weight_after = null,time_after = null,weight_net=" + dsList.DATA[i].WEIGHT_BEFORE + " ,weight_balance=" + dsList.DATA[i].WEIGHT_BEFORE + ",make_money=0,make_money_text='',entry_id_after='',status_after='N'"; sql += " where coop_id = '" + state.SsCoopId + "' and slip_no = '" + dsList.DATA[i].SLIP_NO + "'"; WebUtil.QuerySdt(sql); } //ยกเลิกชั่งเข้า if (dsList.DATA[i].STATUS_BEFORE_FLAG == 1) { //check ชั่งออก ถ้าชั่งออกแล้ว ให้ไปยกเลิกชั่งออกก่อน if (dsList.DATA[i].STATUS_AFTER == "Y" && dsList.DATA[i].STATUS_AFTER_FLAG == 0) { this.SetOnLoadedScript("alert('ไม่สามารถ ยกเลิกชั่งเข้าได้ เพราะคุณยังไม่ได้ทำการ ยกเลิกชั่งออก !!')"); dsList.DATA[i].STATUS_AFTER_FLAG = 1; } //อัพเดท สถานะชั่ง string sql = @"update stscales_slip set slip_status=-9 where coop_id={0} and slip_no={1}"; sql = WebUtil.SQLFormat(sql, coop_id, dsList.DATA[i].SLIP_NO); WebUtil.QuerySdt(sql); } } } RetiveSlip(); LtServerMessage.Text = WebUtil.CompleteMessage("ยกเลิกการชั่ง สำเร็จ "); } private void UpdateStock(int i) { decimal slip_status = dsList.DATA[i].SLIP_STATUS; string slip_no = dsList.DATA[i].SLIP_NO; string coop_id = state.SsCoopId; string sql = ""; decimal type_flag = 1; string debt_no = dsList.DATA[i].MEMBER_NO; string remark = ""; //เช็คประเภทว่าจะเพิ่มเข้าหรือลบออก //type_flag = get_itemtype(coop_id, sliptype_code); if ( slip_status >0) { //update slip_status try { sql = @"delete from ststockslip where coop_id={1} and store_id={2} and slip_no={3}"; sql = WebUtil.SQLFormat(sql, "-9", coop_id, store_id, slip_no, remark); WebUtil.QuerySdt(sql); try { sql = @"delete from ststockslipdet where coop_id={1} and store_id={2} and slip_no={3}"; sql = WebUtil.SQLFormat(sql, "-9", coop_id, store_id, slip_no); WebUtil.QuerySdt(sql); try { sql = @"delete from ststockcard where coop_id={1} and store_id={2} and slip_no={3}"; sql = WebUtil.SQLFormat(sql, "-9", coop_id, store_id, slip_no); WebUtil.QuerySdt(sql); try { sql = @"select product_no, item_qty, lot_no , item_amt,itemnet_amt from ststockslipdet where coop_id={0} and store_id={1} and slip_no={2} "; sql = WebUtil.SQLFormat(sql, coop_id, store_id, slip_no); Sdt dt = WebUtil.QuerySdt(sql); while (dt.Next()) { string lot_no = "", product_no = ""; Decimal item_qty = 0; lot_no = dt.GetString("lot_no"); product_no = dt.GetString("product_no"); item_qty = dt.GetDecimal("item_qty"); if (item_qty < 0) { item_qty = 0; } try { string stocklot_status = ""; Decimal lot_qty = 0, balance_qty = 0, lotb_qty = 0, lotb_sum = 0, sumlot_qty = 0; string sql1 = @"select trim(ststocklot.lot_qty) as lot_qty, trim(ststocklot.stocklot_status) as stocklot_status, trim(ststockmaster.balance_qty) as balance_qty,trim(ststocklot.balance_qty) as lotb_qty from ststocklot, ststockmaster where ststocklot.product_no=ststockmaster.product_no and ststocklot.lot_no={0} and ststockmaster.store_id ={1} and ststockmaster.product_no={2}"; sql1 = WebUtil.SQLFormat(sql1, lot_no, store_id, product_no); Sdt dt1 = WebUtil.QuerySdt(sql1); if (dt1.Next()) { stocklot_status = dt1.GetString("stocklot_status"); lot_qty = dt1.GetDecimal("lot_qty"); balance_qty = dt1.GetDecimal("balance_qty"); lotb_qty = dt1.GetDecimal("lotb_qty"); lotb_sum = 0; sumlot_qty = 0; } //เช็คประเภทว่าจะเพิ่มเข้าหรือลบออก if (type_flag == 1) { lotb_sum = lotb_qty - item_qty; balance_qty = balance_qty - item_qty; sumlot_qty = lot_qty; } else if (type_flag == -1) { lotb_sum = lotb_qty + item_qty; balance_qty = balance_qty + item_qty; sumlot_qty = lot_qty; } if (stocklot_status == "") { try { //set stocklot_status ว่าง กรณีซื้อ/ขายติดลบ try { string sqlqty = @"select balance_qty from ststockmaster where product_no={0} and store_id ={1} and coop_id={2}"; sqlqty = WebUtil.SQLFormat(sqlqty, product_no, store_id, coop_id); Sdt dtt = WebUtil.QuerySdt(sqlqty); if (dtt.Next()) { balance_qty = dtt.GetDecimal("balance_qty"); } if (type_flag == 1) { balance_qty = balance_qty - item_qty; } else if (type_flag == -1) { balance_qty = balance_qty + item_qty; } sql1 = @"update ststockmaster set balance_qty={0} where coop_id={1} and store_id={2} and product_no={3}"; sql1 = WebUtil.SQLFormat(sql1, balance_qty, coop_id, store_id, product_no); WebUtil.QuerySdt(sql1); } catch (Exception ex) { LtServerMessage.Text = WebUtil.ErrorMessage(ex); } } catch (Exception ex) { LtServerMessage.Text = WebUtil.ErrorMessage(ex); } } else if (stocklot_status == "0") { try { //set stocklot_status=1 if (item_qty == lot_qty) { if (type_flag == 1) { sql1 = @"update ststocklot set stocklot_status=-9 where coop_id={0} and store_id={1} and lot_no={2} and product_no={3}"; sql1 = WebUtil.SQLFormat(sql1, coop_id, store_id, lot_no, product_no); WebUtil.QuerySdt(sql1); } else if (type_flag == -1) { sql1 = @"update ststocklot set stocklot_status=1 , balance_qty={4} where coop_id={0} and store_id={1} and lot_no={2} and product_no={3}"; sql1 = WebUtil.SQLFormat(sql1, coop_id, store_id, lot_no, product_no, lotb_sum); WebUtil.QuerySdt(sql1); } } else if (item_qty < lot_qty) { sql1 = @"update ststocklot set stocklot_status=1, lot_qty={0} ,balance_qty={1} where coop_id={2} and store_id={3} and lot_no={4} and product_no={5}"; sql1 = WebUtil.SQLFormat(sql1, sumlot_qty, lotb_sum, coop_id, store_id, lot_no, product_no); WebUtil.QuerySdt(sql1); } try { sql1 = @"update ststockmaster set balance_qty={0} where coop_id={1} and store_id={2} and product_no={3}"; sql1 = WebUtil.SQLFormat(sql1, balance_qty, coop_id, store_id, product_no); WebUtil.QuerySdt(sql1); LtServerMessage.Text = WebUtil.CompleteMessage("บันทึกสำเร็จ"); } catch (Exception ex) { LtServerMessage.Text = WebUtil.ErrorMessage(ex); } } catch (Exception ex) { LtServerMessage.Text = WebUtil.ErrorMessage(ex); } } else if (stocklot_status == "1") { try { //not set stocklot_status if (item_qty == lot_qty) { if (type_flag == 1) { sql1 = @"update ststocklot set stocklot_status=-9 where coop_id={0} and store_id={1} and lot_no={2} and product_no={3}"; sql1 = WebUtil.SQLFormat(sql1, coop_id, store_id, lot_no, product_no); WebUtil.QuerySdt(sql1); } else if (type_flag == -1) { sql1 = @"update ststocklot set stocklot_status=1 , balance_qty={4} where coop_id={0} and store_id={1} and lot_no={2} and product_no={3}"; sql1 = WebUtil.SQLFormat(sql1, coop_id, store_id, lot_no, product_no, lotb_sum); WebUtil.QuerySdt(sql1); } } else if (item_qty < lot_qty) { sql1 = @"update ststocklot set stocklot_status=1, lot_qty={0} ,balance_qty={1} where coop_id={2} and store_id={3} and lot_no={4} and product_no={5}"; sql1 = WebUtil.SQLFormat(sql1, sumlot_qty, lotb_sum, coop_id, store_id, lot_no, product_no); WebUtil.QuerySdt(sql1); } try { sql1 = @"update ststockmaster set balance_qty={0} where coop_id={1} and store_id={2} and product_no={3}"; sql1 = WebUtil.SQLFormat(sql1, balance_qty, coop_id, store_id, product_no); WebUtil.QuerySdt(sql1); } catch (Exception ex) { LtServerMessage.Text = WebUtil.ErrorMessage(ex); } } catch (Exception ex) { LtServerMessage.Text = WebUtil.ErrorMessage(ex); } } } catch (Exception ex) { LtServerMessage.Text = WebUtil.ErrorMessage(ex); } } } catch (Exception ex) { LtServerMessage.Text = WebUtil.ErrorMessage(ex); } } catch (Exception ex) { LtServerMessage.Text = WebUtil.ErrorMessage(ex); } } catch (Exception ex) { LtServerMessage.Text = WebUtil.ErrorMessage(ex); } } catch (Exception ex) { LtServerMessage.Text = WebUtil.ErrorMessage(ex); } } } public void WebSheetLoadEnd() { Color myRgbColor = new Color(); myRgbColor = Color.FromArgb(255, 255, 255); for(int i=0;i