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; }
//收貨上架匯出 public void IinvdExcelList() { string json = string.Empty; IinvdQuery iivd = new IinvdQuery(); DataTable dtIinvdExcel = new DataTable(); DateTime dtime = DateTime.Now; _IiupcMgr = new IupcMgr(mySqlConnectionString); try { iivd.Start = Convert.ToInt32(Request.Params["start"] ?? "0");//用於分頁的變量 iivd.Limit = Convert.ToInt32(Request.Params["limit"] ?? "25");//用於分頁的變量 string content = string.Empty; if (!string.IsNullOrEmpty(Request.Params["search_type"])) { iivd.serch_type = int.Parse(Request.Params["search_type"]); if (!string.IsNullOrEmpty(Request.Params["searchcontent"]) && Request.Params["searchcontent"].Trim().Length > 0) { switch (iivd.serch_type) { case 1: case 2: iivd.serchcontent = Request.Params["searchcontent"].Trim(); break; case 3: #region 之後的更改 content = Request.Params["searchcontent"].Replace(',', ',').Replace('|', ',').Replace(' ', ',');//.Replace(' ',',') string[] list = content.Split(','); string test = "^[0-9]*$"; int count = 0;//實現最後一個不加, for (int i = 0; i < list.Length; i++) { if (!string.IsNullOrEmpty(list[i])) { if (Regex.IsMatch(list[i], test)) { count = count + 1; if (count == 1) { iivd.serchcontent = list[i]; } else { iivd.serchcontent = iivd.serchcontent + "," + list[i]; } } else { iivd.serchcontent = iivd.serchcontent + list[i] + ","; } } } #endregion break; default: break; } } } DateTime time; if (DateTime.TryParse(Request.Params["starttime"].ToString(), out time)) { iivd.starttime = DateTime.Parse(time.ToString("yyyy-MM-dd HH:mm:ss")); } if (DateTime.TryParse(Request.Params["endtime"].ToString(), out time)) { iivd.endtime = DateTime.Parse(time.ToString("yyyy-MM-dd HH:mm:ss")); } List<IinvdQuery> store = new List<IinvdQuery>(); _iinvd = new IinvdMgr(mySqlConnectionString); store = _iinvd.GetIinvdExprotList(iivd); #region 列名 dtIinvdExcel.Columns.Add("商品細項編號", typeof(String)); dtIinvdExcel.Columns.Add("商品名稱", typeof(String)); dtIinvdExcel.Columns.Add("數量", typeof(String)); dtIinvdExcel.Columns.Add("有效日期", typeof(String)); dtIinvdExcel.Columns.Add("上架料位", typeof(String)); dtIinvdExcel.Columns.Add("主料位", typeof(String)); dtIinvdExcel.Columns.Add("允收天數", typeof(String)); dtIinvdExcel.Columns.Add("建立日期", typeof(String)); dtIinvdExcel.Columns.Add("建立人員", typeof(String)); dtIinvdExcel.Columns.Add("鎖定狀態", typeof(String)); dtIinvdExcel.Columns.Add("庫鎖原因", typeof(String)); dtIinvdExcel.Columns.Add("店內碼", typeof(String)); dtIinvdExcel.Columns.Add("國際碼", typeof(String)); dtIinvdExcel.Columns.Add("庫鎖備註", typeof(String)); #endregion for (int i = 0; i < store.Count; i++) { string upc = ""; Iupc iu = new Iupc(); DataRow newRow = dtIinvdExcel.NewRow(); newRow[0] = store[i].item_id.ToString(); #region 添加店內碼 if (DateTime.TryParse(store[i].cde_dt.ToString(), out dtime)) { upc = CommonFunction.GetUpc(store[i].item_id.ToString(), store[i].vendor_id.ToString(), dtime.ToString("yyMMdd")); } else { upc = CommonFunction.GetUpc(store[i].item_id.ToString(), store[i].vendor_id.ToString(), dtime.ToString("yyMMdd")); } iu.upc_id = upc; iu.item_id = uint.Parse(store[i].item_id.ToString()); iu.upc_type_flg = "2";//店內碼 iu.create_user = (Session["caller"] as Caller).user_id; string result = _IiupcMgr.IsExist(iu);//是否有重複的條碼 if (result == "0") { _IiupcMgr.Insert(iu); } #endregion newRow[1] = store[i].product_name.ToString(); newRow[2] = store[i].prod_qty.ToString(); newRow[3] = store[i].cde_dt.ToString(); newRow[4] = store[i].plas_loc_id.ToString(); newRow[5] = store[i].loc_id.ToString(); newRow[6] = store[i].cde_dt_var.ToString(); newRow[7] = store[i].create_dtim.ToString(); newRow[8] = store[i].user_name.ToString(); newRow[9] = store[i].ista_id.ToString(); newRow[10] = store[i].qity_name.ToString(); newRow[11] = " " + upc; newRow[12] = " " + store[i].upc_id.ToString(); iivd.item_id = uint.Parse(store[i].item_id.ToString()); iivd.plas_loc_id = store[i].plas_loc_id.ToString(); iivd.made_date = store[i].made_date; if (store[i].ista_id.ToString() == "H") { newRow[13] = _iinvd.remark(iivd); } else { newRow[13] = ""; } dtIinvdExcel.Rows.Add(newRow); } if (dtIinvdExcel.Rows.Count > 0) { string fileName = "收貨上架_" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls"; MemoryStream ms = ExcelHelperXhf.ExportDT(dtIinvdExcel, "收貨上架_" + DateTime.Now.ToString("yyyyMMddHHmmss")); Response.AddHeader("Content-Disposition", "attachment; filename=" + fileName); Response.BinaryWrite(ms.ToArray()); } else { Response.Write("匯出數據不存在"); } } 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); } }
//條碼新增修改 public HttpResponseBase SaveIupc() { string json = string.Empty; try { Iupc iupc = new Iupc(); iupc.item_id = uint.Parse(Request.Params["item_id"].Trim()); iupc.upc_id = Request.Params["upc_id"].Trim(); if (!string.IsNullOrEmpty(Request.Params["upc_type_flg"])) { iupc.upc_type_flg = Request.Params["upc_type_flg"]; } if (!string.IsNullOrEmpty(Request.Params["row_id"])) { iupc.row_id = int.Parse(Request.Params["row_id"]); } else { iupc.row_id = 0; } _IiupcMgr = new IupcMgr(mySqlConnectionString); string result = _IiupcMgr.IsExist(iupc); if (result == "0") { //新增 if (string.IsNullOrEmpty(Request.Params["row_id"])) { iupc.create_user = (Session["caller"] as Caller).user_id; iupc.create_dtim = DateTime.Now; _IiupcMgr.Insert(iupc); json = "{success:true,msg:\"" + "新增成功!" + "\"}"; } //修改 else { iupc.row_id = int.Parse(Request.Params["row_id"]); _IiupcMgr.Update(iupc); json = "{success:true,msg:\"" + "修改成功!" + "\"}"; } } else { json = "{success:false,msg:\"" + result + "\"}"; } } 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,msg:\"" + "" + "\"}"; } this.Response.Clear(); this.Response.Write(json); this.Response.End(); return this.Response; }