public HttpResponseBase KutiaoAddorReduce() { string jsonStr = String.Empty; _iinvd = new IinvdMgr(mySqlConnectionString); _iagMgr = new IialgMgr(mySqlConnectionString); Iinvd invd = new Iinvd(); iialg iag = new iialg(); IstockChange Icg = new IstockChange(); ProductItem Proitems = new ProductItem(); int results = 0; try { invd.row_id = Convert.ToInt32(Request.Params["row_id"]);//行號碼 int resultcount = 0; int kucuncount = Convert.ToInt32(Request.Params["benginnumber"]);//庫存數量 int tiaozhengcount = Convert.ToInt32(Request.Params["changenumber"]); int kucuntype = Convert.ToInt32(Request.Params["kutiaotype"]); if (!string.IsNullOrEmpty(Request.Params["item_id"]))//商品細項編號 { Icg.item_id = Convert.ToUInt32(Request.Params["item_id"]); Proitems.Item_Id = Icg.item_id; } int oldsumcount = _iinvd.GetProqtyByItemid(Convert.ToInt32(Icg.item_id));//總庫存 string iarc_id = ""; if (!string.IsNullOrEmpty(Request.Params["iarcid"])) { iarc_id = Request.Params["iarcid"];//庫調原因 } #region 庫存調整的時候,商品庫存也要調整 _proditemMgr = new ProductItemMgr(mySqlConnectionString); int item_stock = 0; #endregion if (kucuntype == 1)//表示選擇了加 { resultcount = kucuncount + tiaozhengcount; item_stock = tiaozhengcount; } else//表示選擇了減號 { resultcount = kucuncount - tiaozhengcount; item_stock = -tiaozhengcount; } Proitems.Item_Stock = item_stock; invd.prod_qty = resultcount;//此時為更改后的庫存 invd.change_dtim = DateTime.Now; invd.change_user = (System.Web.HttpContext.Current.Session["caller"] as Caller).user_id; Icg.sc_trans_type = 2; Icg.sc_num_old = oldsumcount; Icg.sc_time = DateTime.Now; Icg.sc_user = (System.Web.HttpContext.Current.Session["caller"] as Caller).user_id; if (!string.IsNullOrEmpty(Request.Params["po_id"])) { Icg.sc_cd_id = Request.Params["po_id"];//採購單編號 } if (!string.IsNullOrEmpty(Request.Params["doc_no"])) { Icg.sc_trans_id = Request.Params["doc_no"];//庫調單號 } if (!string.IsNullOrEmpty(Request.Params["remarks"])) { Icg.sc_note = Request.Params["remarks"];//備註 } _istockMgr = new IstockChangeMgr(mySqlConnectionString); int j = _iinvd.kucunTiaozheng(invd); //更改iloc表中的狀態並且在iialg表中插入數據 string path = "/WareHouse/KutiaoAddorReduce"; Caller call = new Caller(); call = (System.Web.HttpContext.Current.Session["caller"] as Caller); int k = 0; if (iarc_id == "NE" || iarc_id == "RF")//庫存調整-不改動前台庫存 { k = 1; } else { k = _proditemMgr.UpdateItemStock(Proitems, path, call); } int newsumcount = _iinvd.GetProqtyByItemid(Convert.ToInt32(Icg.item_id));//總庫存 Icg.sc_num_chg = newsumcount - oldsumcount; Icg.sc_num_new = newsumcount; Icg.sc_istock_why = 2; if (oldsumcount != newsumcount) { results = _istockMgr.insert(Icg); } else { results = 1; } if (j > 0 && results > 0 && k > 0) { jsonStr = "{success:true}"; } else { jsonStr = "{success:false}"; } } catch (Exception ex) { Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage(); logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message); logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name; log.Error(logMessage); jsonStr = "{success:false}"; } this.Response.Clear(); this.Response.Write(jsonStr); this.Response.End(); return this.Response; }
// 更新表Iinvd庫存鎖的狀態 public JsonResult UpdateIinvdActive() { string jsonStr = string.Empty; try { _iinvd = new IinvdMgr(mySqlConnectionString); Iinvd nvd = new Iinvd(); IialgQuery q = new IialgQuery(); _iagMgr = new IialgMgr(mySqlConnectionString); int id = Convert.ToInt32(Request.Params["id"]); string active = Request.Params["active"]; string lock_id = Request.Params["lock_id"]; if (!string.IsNullOrEmpty(Request.Params["po_id"].ToString())) { q.po_id = Request.Params["po_id"].ToString(); } if (!string.IsNullOrEmpty(Request.Params["remarks"].ToString())) { q.remarks = Request.Params["remarks"].ToString(); } if (active == "H") { nvd.ista_id = "A"; nvd.qity_id = 0; } else if (active == "A") { nvd.qity_id = Convert.ToInt32(lock_id); nvd.ista_id = "H"; } nvd.row_id = id; nvd.change_user = int.Parse((System.Web.HttpContext.Current.Session["caller"] as Caller).user_id.ToString()); nvd.change_dtim = DateTime.Now; if (_iinvd.UpdateIinvdLock(nvd, q) > 0) { //加鎖成功往iialg插入一條數據;解鎖不需要記錄 if (active == "A") { Iinvd store = _iinvd.GetIinvd(nvd).FirstOrDefault(); q.loc_id = store.plas_loc_id; q.item_id = store.item_id; q.iarc_id = "KS"; q.qty_o = store.prod_qty; q.type = 1; q.adj_qty = -store.prod_qty; q.create_dtim = DateTime.Now; q.create_user = int.Parse((System.Web.HttpContext.Current.Session["caller"] as Caller).user_id.ToString()); q.made_dt = store.made_date; q.cde_dt = store.cde_dt; if (_iagMgr.insertiialg(q) > 0) { Caller call = new Caller(); call = (System.Web.HttpContext.Current.Session["caller"] as Caller); ProductItem proitem = new ProductItem(); _proditemMgr = new ProductItemMgr(mySqlConnectionString); int item_stock = store.prod_qty; proitem.Item_Stock = -item_stock; proitem.Item_Id = store.item_id; string path = "/WareHouse/KutiaoAddorReduce"; _proditemMgr.UpdateItemStock(proitem, path, call); return Json(new { success = "true" }); } else { return Json(new { success = "false" }); } } else { Iinvd store = _iinvd.GetIinvd(nvd).FirstOrDefault(); q.loc_id = store.plas_loc_id; q.item_id = store.item_id; q.iarc_id = "KS"; q.qty_o = 0; q.type = 1; q.adj_qty = store.prod_qty; q.create_dtim = DateTime.Now; q.create_user = int.Parse((System.Web.HttpContext.Current.Session["caller"] as Caller).user_id.ToString()); q.made_dt = store.made_date; q.cde_dt = store.cde_dt; if (_iagMgr.insertiialg(q) > 0) { Caller call = new Caller(); call = (System.Web.HttpContext.Current.Session["caller"] as Caller); ProductItem proitem = new ProductItem(); _proditemMgr = new ProductItemMgr(mySqlConnectionString); int item_stock = store.prod_qty; proitem.Item_Stock = item_stock; proitem.Item_Id = store.item_id; string path = "/WareHouse/KutiaoAddorReduce"; _proditemMgr.UpdateItemStock(proitem, path, call); return Json(new { success = "true" }); } else { return Json(new { success = "false" }); } } } else { return Json(new { success = "false" }); } } catch (Exception ex) { Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage(); logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message); logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name; log.Error(logMessage); return Json(new { success = "false" }); } }
//RF直接庫調 public HttpResponseBase RFKT() { string json = string.Empty; IialgQuery q = new IialgQuery(); uint id = 0; DateTime dt = new DateTime(); int sun = 0; _proditemMgr = new ProductItemMgr(mySqlConnectionString); ProductItem Proitems = new ProductItem(); try { if (uint.TryParse(Request.Params["item_id"].ToString(), out id)) {//商品id q.item_id = id; Proitems.Item_Id = id; } if (DateTime.TryParse(Request.Params["made_date"].ToString(), out dt)) {//商品製造日期 q.made_dt = dt; } if (int.TryParse(Request.Params["prod_qty"].ToString(), out sun)) {//商品原有數量 q.qty_o = sun; } if (int.TryParse(Request.Params["pnum"].ToString(), out sun)) {//商品撿貨數量 q.pnum = sun; } if (!string.IsNullOrEmpty(Request.Params["loc_id"].ToString())) {//商品撿貨數量 q.loc_id = Request.Params["loc_id"]; } if (!string.IsNullOrEmpty(Request.Params["order_id"])) { q.order_id = Request.Params["order_id"]; } q.create_user = (System.Web.HttpContext.Current.Session["caller"] as Caller).user_id; //進行庫調 _iagMgr = new IialgMgr(mySqlConnectionString); Caller call = new Caller(); call = (System.Web.HttpContext.Current.Session["caller"] as Caller); string path = "/WareHouse/KutiaoAddorReduce"; if (q.loc_id == "YY999999") { json = "{success:false}"; } else { Proitems.Item_Stock = q.pnum - q.qty_o; int result = _iagMgr.addIialgIstock(q); if (result == 2) { json = "{success:true,msg:2}"; } if (result == 100) { _proditemMgr.UpdateItemStock(Proitems, path, call); json = "{success:true,msg:100}"; } } } catch (Exception ex) { Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage(); logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message); logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name; log.Error(logMessage); json = "{success:false}"; } this.Response.Clear(); this.Response.Write(json); this.Response.End(); return this.Response; }
public HttpResponseBase InsertIinvd() { string jsonStr = String.Empty; Int64 aaa = 0; //無用變數 uint p = 0; //無用變數 try { Iinvd m = new Iinvd(); IialgQuery ia = new IialgQuery(); Iupc iu = new Iupc(); ProductItem proitem = new ProductItem(); Caller call = new Caller(); IstockChangeQuery stock = new IstockChangeQuery(); call = (System.Web.HttpContext.Current.Session["caller"] as Caller); string path = ""; _iinvd = new IinvdMgr(mySqlConnectionString); _iagMgr = new IialgMgr(mySqlConnectionString); _IiupcMgr = new IupcMgr(mySqlConnectionString); #region 獲取數據往 if (Int64.TryParse(Request.Params["item_id"].ToString(), out aaa)) { if (uint.TryParse(Request.Params["item_id"].ToString(), out p)) { m.item_id = uint.Parse(Request.Params["item_id"].ToString()); } if (Request.Params["item_id"].ToString().Length > 6) { m.item_id = uint.Parse(_iinvd.Getprodubybar(Request.Params["item_id"].ToString()).Rows[0]["item_id"].ToString()); } } else { if (Request.Params["item_id"].ToString().Length > 6) { m.item_id = uint.Parse(_iinvd.Getprodubybar(Request.Params["item_id"].ToString()).Rows[0]["item_id"].ToString()); } } m.dc_id = 1; m.whse_id = 1; m.prod_qty = Int32.Parse(Request.Params["prod_qty"].ToString());//數量 DateTime today = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd")); DateTime dtime; if (DateTime.TryParse(Request.Params["startTime"].ToString(), out dtime)) {//用戶填寫創建時間算出有效日期 DateTime start = DateTime.Parse(Request.Params["startTime"].ToString()); m.made_date = start; if (uint.TryParse(Request.Params["cde_dt_incr"].ToString(), out p)) { m.cde_dt = start.AddDays(Int32.Parse(Request.Params["cde_dt_incr"].ToString())); } else { m.cde_dt = DateTime.Now; } } else { if (DateTime.TryParse(Request.Params["cde_dt"].ToString(), out dtime)) {//用戶填寫有效日期算出製造日期 m.cde_dt = DateTime.Parse(Request.Params["cde_dt"].ToString());//有效時間 if (uint.TryParse(Request.Params["cde_dt_incr"].ToString(), out p)) { m.made_date = m.cde_dt.AddDays(-Int32.Parse(Request.Params["cde_dt_incr"].ToString())); } else { m.made_date = today; } } else { m.cde_dt = today; m.made_date = today; } } m.cde_dt = DateTime.Parse(m.cde_dt.ToShortDateString()); m.made_date = DateTime.Parse(m.made_date.ToShortDateString()); m.plas_loc_id = Request.Params["plas_loc_id"].ToString().ToUpper();//上架料位 string loc_id = Request.Params["loc_id"].ToString().ToUpper(); m.change_dtim = DateTime.Now;//編輯時間 m.receipt_dtim = DateTime.Now;//收貨時間 m.create_user = (Session["caller"] as Caller).user_id; #endregion #region 獲取數據添加打iialg ia.loc_id = m.plas_loc_id.ToString().ToUpper(); ia.item_id = m.item_id; stock.sc_trans_type = 0; if (!string.IsNullOrEmpty(Request.Params["iarc_id"].ToString())) { ia.iarc_id = Request.Params["iarc_id"].ToString(); } else { ia.iarc_id = "PC"; stock.sc_trans_type = 1;//收貨上架 } //if (ia.iarc_id == "DR" || ia.iarc_id == "KR") //{ // type = 2;//RF理貨 //} ia.create_dtim = DateTime.Now; ia.create_user = m.create_user; ia.doc_no = "P" + DateTime.Now.ToString("yyyyMMddHHmmss"); if (!string.IsNullOrEmpty(Request.Params["doc_num"])) { ia.doc_no = Request.Params["doc_num"]; stock.sc_trans_id = ia.doc_no;//交易單號 } if (!string.IsNullOrEmpty(Request.Params["Po_num"])) { ia.po_id = Request.Params["Po_num"]; stock.sc_cd_id = ia.po_id;//前置單號 } if (!string.IsNullOrEmpty(Request.Params["remark"])) { ia.remarks = Request.Params["remark"]; stock.sc_note = ia.remarks;//備註 } ia.made_dt = m.made_date; ia.cde_dt = m.cde_dt; #endregion #region 獲取店內條碼-=添加條碼 if (!string.IsNullOrEmpty(Request.Params["vendor_id"].ToString())) { iu.upc_id = CommonFunction.GetUpc(m.item_id.ToString(), Request.Params["vendor_id"].ToString(), m.cde_dt.ToString("yyMMdd")); } iu.item_id = m.item_id; iu.upc_type_flg = "2";//店內碼 iu.create_user = m.create_user; string result = _IiupcMgr.IsExist(iu);//是否有重複的條碼 if (result == "0") { if (_IiupcMgr.Insert(iu) < 1) { jsonStr = "{success:true,msg:2}"; } } #endregion #region 新增/編輯 #region 庫存調整的時候,商品庫存也要調整 _proditemMgr = new ProductItemMgr(mySqlConnectionString); int item_stock = m.prod_qty; proitem.Item_Stock = item_stock; proitem.Item_Id = m.item_id; #endregion if (_iinvd.IsUpd(m, stock) > 0) {//編輯 ia.qty_o = _iinvd.Selnum(m); ia.adj_qty = m.prod_qty; m.prod_qty = ia.qty_o + m.prod_qty; if (m.prod_qty >= 0) { if (_iinvd.Upd(m) > 0) { if (Request.Params["iialg"].ToString() == "Y") {// if (ia.iarc_id != "PC" && ia.iarc_id != "NE")//------------庫存調整的時候商品庫存也更改,收貨上架的時候不更改,RF理貨的時候也是不更改 { path = "/WareHouse/KutiaoAddorReduce"; _proditemMgr.UpdateItemStock(proitem, path, call); } if (_iagMgr.insertiialg(ia) > 0) { jsonStr = "{success:true,msg:0}";//更新成功 } else { jsonStr = "{success:false,msg:1}";//更新失敗 } } else { jsonStr = "{success:true,msg:0}";//更新成功 } } else { jsonStr = "{success:false,msg:1}";//更新失敗 } } else { jsonStr = "{success:false,msg:1}";//庫存為負數 } } else {//新增 m.ista_id = "A"; m.create_dtim = DateTime.Now; //創建時間 if (_iinvd.Insert(m) > 0) { _IlocMgr = new IlocMgr(mySqlConnectionString); Iloc loc = new BLL.gigade.Model.Iloc(); loc.change_user = int.Parse((System.Web.HttpContext.Current.Session["caller"] as Caller).user_id.ToString()); loc.change_dtim = DateTime.Now; loc.loc_id = m.plas_loc_id.ToString().ToUpper(); if (loc_id.Trim() != m.plas_loc_id.Trim())//判斷如果是主料位不需要進行多餘的操作 { if (_IlocMgr.SetIlocUsed(loc) > 0) { if (Request.Params["iialg"].ToString() == "Y") { if (ia.iarc_id != "PC" && ia.iarc_id != "NE")//------------庫存調整的時候商品庫存也更改,收貨上架的時候不更改,RF理貨的時候也是不更改 { path = "/WareHouse/KutiaoAddorReduce"; _proditemMgr.UpdateItemStock(proitem, path, call); } ia.qty_o = 0; ia.adj_qty = m.prod_qty; if (_iagMgr.insertiialg(ia) > 0) { jsonStr = "{success:true,msg:0}";//更新成功 } else { jsonStr = "{success:false,msg:1}";//更新失敗 } } else { jsonStr = "{success:true,msg:0}";//新增成功 } } else { jsonStr = "{success:false,msg:1}";//新增失敗 } } else { if (Request.Params["iialg"].ToString() == "Y") { if (ia.iarc_id != "PC" && ia.iarc_id != "NE")//------------庫存調整的時候商品庫存也更改,收貨上架的時候不更改,RF理貨的時候也是不更改 { path = "/WareHouse/KutiaoAddorReduce"; _proditemMgr.UpdateItemStock(proitem, path, call); } ia.qty_o = 0; ia.adj_qty = m.prod_qty; if (_iagMgr.insertiialg(ia) > 0) { jsonStr = "{success:true,msg:0}";//更新成功 } else { jsonStr = "{success:false,msg:1}";//更新失敗 } } else { jsonStr = "{success:true,msg:0}";//新增成功 } } } else { jsonStr = "{success:false,msg:1}"; } } #endregion } catch (Exception ex) { Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage(); logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message); logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name; log.Error(logMessage); jsonStr = "{success:false}"; } this.Response.Clear(); this.Response.Write(jsonStr.ToString()); this.Response.End(); return this.Response; }