public HttpResponseBase HashAll() { string jsonStr = String.Empty; try { Iloc m = new Iloc(); _IlocMgr = new IlocMgr(mySqlConnectionString); if (_IlocMgr.HashAll() > 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.ToString()); this.Response.End(); return this.Response; }
public int GetLocCount(Iloc loc) { StringBuilder sql = new StringBuilder(); try { int result = 0; sql.AppendFormat(@" SELECT row_id from iloc where loc_id='{0}' and lcat_id='S' and lsta_id='F' and loc_status=1", loc.loc_id.ToString().ToUpper()); if (_dbAccess.getDataTable(sql.ToString()).Rows.Count > 0) { result = _dbAccess.getDataTable(sql.ToString()).Rows.Count; return result; } else { return result; } } catch (Exception ex) { throw new Exception("IplasDao-->GetLocCount-->" + ex.Message + sql.ToString(), ex); } }
public JsonResult UpdateIlocActive() { string jsonStr = string.Empty; try { _IlocMgr = new IlocMgr(mySqlConnectionString); Iloc loc = new Iloc(); int id = Convert.ToInt32(Request.Params["id"]); string active = Request.Params["active"]; if (active == "F") { loc.lsta_id = "H"; } else if (active == "H") { loc.lsta_id = "F"; } loc.row_id = id; loc.change_user = int.Parse((System.Web.HttpContext.Current.Session["caller"] as Caller).user_id.ToString()); loc.change_dtim = DateTime.Now; if (_IlocMgr.UpdateIlocLock(loc) > 0) { return Json(new { success = "true" }); } 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" }); } }
public HttpResponseBase IlocUploadExcel() { string newName = string.Empty; string json = string.Empty; List<IlocQuery> store = new List<IlocQuery>(); HashEncrypt hashpt = new HashEncrypt(); try { DTIlocExcel.Clear(); DTIlocExcel.Columns.Clear(); DTIlocExcel.Columns.Add("料位編號", typeof(String)); DTIlocExcel.Columns.Add("料位類型", typeof(String)); DTIlocExcel.Columns.Add("所在層數"); DTIlocExcel.Columns.Add("不能匯入的原因", typeof(String)); int result = 0; int count = 0;//總匯入數 int entercount = 0;//插入失敗個數 int errorcount = 0;//數據異常個數 int create_user = (Session["caller"] as Caller).user_id; if (Request.Files["ImportExcelFile"] != null && Request.Files["ImportExcelFile"].ContentLength > 0) { HttpPostedFileBase excelFile = Request.Files["ImportExcelFile"]; newName = Server.MapPath(excelPath) + excelFile.FileName; excelFile.SaveAs(newName); DataTable dt = new DataTable(); NPOI4ExcelHelper helper = new NPOI4ExcelHelper(newName); dt = helper.SheetData(); if (dt.Rows.Count > 0) { _IlocMgr = new IlocMgr(mySqlConnectionString); _IiplasMgr = new IplasMgr(mySqlConnectionString); int i = 0; foreach (DataRow dr in dt.Rows) { StringBuilder strsql = new StringBuilder(); Iloc ic = new BLL.gigade.Model.Iloc(); i++; try { if (!string.IsNullOrEmpty(dr[0].ToString()) && Regex.IsMatch(dr[0].ToString(), @"^[A-Z]{2}\d{3}[A-Z]\d{2}$") && !string.IsNullOrEmpty(dr[1].ToString()) && (dr[1].ToString() == "S" || dr[1].ToString() == "R")) { int loc_id_exsit = _IiplasMgr.YesOrNoLocIdExsit(dr[0].ToString());//判斷料位是否存在 ic.loc_id = dr[0].ToString(); ic.lsta_id = "F"; ic.lcat_id = dr[1].ToString(); ic.create_dtim = DateTime.Now; ic.change_dtim = DateTime.Now; ic.create_user = create_user; ic.change_user = create_user; ic.loc_status = 1; ic.lev = GetIntByString(dr[2].ToString()); if (loc_id_exsit > 0) { DataRow drtwo = DTIlocExcel.NewRow(); drtwo[0] = dr[0].ToString(); drtwo[1] = dr[1].ToString(); drtwo[2] = dr[2].ToString(); drtwo[3] = "該料位已存在"; DTIlocExcel.Rows.Add(drtwo); errorcount++; continue; } else//料位不存在 { string has = hashpt.Md5Encrypt(ic.loc_id, "16"); strsql.AppendFormat(@"insert into iloc(dc_id,whse_id,loc_id,llts_id,bkfill_loc,ldes_id, ldim_id,x_coord,y_coord,z_coord,bkfill_x_coord,bkfill_y_coord, bkfill_z_coord,lsta_id,sel_stk_pos,sel_seq_loc,sel_pos_hgt,rsv_stk_pos, rsv_pos_hgt,stk_lmt,stk_pos_wid,lev,lhnd_id,ldsp_id, create_user,create_dtim,comingle_allow,change_user,change_dtim,lcat_id, space_remain,max_loc_wgt,loc_status,stk_pos_dep,hash_loc_id ) 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}');", ic.dc_id, ic.whse_id, ic.loc_id, ic.llts_id, ic.bkfill_loc, ic.ldes_id, ic.ldim_id, ic.x_coord, ic.y_coord, ic.z_coord, ic.bkfill_x_coord, ic.bkfill_y_coord, ic.bkfill_z_coord, ic.lsta_id, ic.sel_stk_pos, ic.sel_seq_loc, ic.sel_pos_hgt, ic.rsv_stk_pos, ic.rsv_pos_hgt, ic.stk_lmt, ic.stk_pos_wid, ic.lev, ic.lhnd_id, ic.ldsp_id, ic.create_user, BLL.gigade.Common.CommonFunction.DateTimeToString(ic.create_dtim), ic.comingle_allow, ic.change_user, BLL.gigade.Common.CommonFunction.DateTimeToString(ic.change_dtim), ic.lcat_id, ic.space_remain, ic.max_loc_wgt, ic.loc_status, ic.stk_pos_dep, has ); result = _IlocMgr.SaveBySql(strsql.ToString()); if (result > 0) { count++; continue; } else { DataRow drtwo = DTIlocExcel.NewRow(); drtwo[0] = dr[0].ToString(); drtwo[1] = dr[1].ToString(); drtwo[2] = dr[2].ToString(); drtwo[3] = "料位插入數據庫時失敗"; DTIlocExcel.Rows.Add(drtwo); entercount++; continue; } } } else { DataRow drtwo = DTIlocExcel.NewRow(); drtwo[0] = dr[0].ToString(); drtwo[1] = dr[1].ToString(); drtwo[2] = dr[2].ToString(); drtwo[3] = "料位編號或者料位類型或者所在層數不符合格式"; DTIlocExcel.Rows.Add(drtwo); errorcount++; continue; } } catch { DataRow drtwo = DTIlocExcel.NewRow(); drtwo[0] = dr[0].ToString(); drtwo[1] = dr[1].ToString(); drtwo[2] = dr[2].ToString(); drtwo[3] = "數據異常"; DTIlocExcel.Rows.Add(drtwo); errorcount++; continue; } } if (count > 0) { json = "{success:true,total:" + count + ",error:" + errorcount + ",entercount:" + entercount + "}"; } else { json = "{success:true,total:" + 0 + ",error:" + errorcount + ",entercount:" + entercount + "}"; } } else { json = "{success:true,total:" + 0 + ",error:" + 0 + ",entercount" + 0 + "}"; } } } 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,data:" + "" + "}"; } this.Response.Clear(); this.Response.Write(json); this.Response.End(); return this.Response; }
// 判斷料號是否重複 public HttpResponseBase GetLoc_id() { string json = string.Empty; Iloc loc = new Iloc(); int result = 0; try { _IlocMgr = new IlocMgr(mySqlConnectionString); if (String.IsNullOrEmpty(Request.Params["row_id"]))//如果是新增 { loc.loc_id = Request.Params["id"].ToString().ToUpper(); result = _IlocMgr.GetLoc_id(loc); } else { loc.loc_id = Request.Params["id"].ToUpper(); int row_id = Convert.ToInt32(Request.Params["row_id"]); string loc_id = _IlocMgr.GetLoc_idByRow_id(row_id); if (loc_id == loc.loc_id) { result = 0;//當編輯沒有改變時,則表示此料位沒有重複 } else { result = _IlocMgr.GetLoc_id(loc); } } IsoDateTimeConverter timeConverter = new IsoDateTimeConverter(); //这里使用自定义日期格式,如果不使用的话,默认是ISO8601格式 timeConverter.DateTimeFormat = "yyyy-MM-dd HH:mm:ss"; json = "{success:true,data:" + result + "}";//返回json數據 } 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,totalCount:0,data:[]}"; } this.Response.Clear(); this.Response.Write(json); this.Response.End(); return this.Response; }
public HttpResponseBase DeleteLocid() { string jsonStr = String.Empty; _IlocMgr = new IlocMgr(mySqlConnectionString); Iloc loc = new Iloc(); try { string str = Request.Params["row_id"];//獲取類型 str = str.Substring(0, str.LastIndexOf(",")); loc.loc_id = str;//這個是row拼接的結果 loc.change_dtim = DateTime.Now; loc.change_user = (System.Web.HttpContext.Current.Session["caller"] as Caller).user_id; int j = _IlocMgr.DeleteLocidByIloc(loc); //更改iloc表中的狀態 if (j > 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; }
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 HttpResponseBase InestIloc() { string jsonStr = String.Empty; try { Iloc m = new Iloc(); _IlocMgr = new IlocMgr(mySqlConnectionString); m.dc_id = Int32.Parse(Request.Params["dc_id"].ToString()); m.whse_id = Int32.Parse(Request.Params["whse_id"].ToString()); m.loc_id = Request.Params["loc_id"].ToString().ToUpper(); m.llts_id = Request.Params["llts_id"].ToString(); m.ldes_id = Request.Params["ldes_id"].ToString(); m.lcat_id = Request.Params["lcat_id"]; if (m.lcat_id == "S")//表示如果是主料位 { if (!string.IsNullOrEmpty(Request.Params["sel_stk_pos"])) { m.sel_stk_pos = Int32.Parse(Request.Params["sel_stk_pos"]); } else { m.sel_stk_pos = 0; } if (!string.IsNullOrEmpty(Request.Params["sel_pos_hgt"])) { m.sel_pos_hgt = Int32.Parse(Request.Params["sel_pos_hgt"]); } else { m.sel_pos_hgt = 0; } m.rsv_stk_pos = 0; m.rsv_pos_hgt = 0; } else if (m.lcat_id == "R")//表示如果是副料位 { if (!string.IsNullOrEmpty(Request.Params["rsv_stk_pos"])) { m.rsv_stk_pos = Int32.Parse(Request.Params["rsv_stk_pos"]); } else { m.rsv_stk_pos = 0; } if (!string.IsNullOrEmpty(Request.Params["rsv_pos_hgt"])) { m.rsv_pos_hgt = Int32.Parse(Request.Params["rsv_pos_hgt"]); } else { m.rsv_pos_hgt = 0; } m.sel_stk_pos = 0; m.sel_pos_hgt = 0; } m.loc_status = 1; m.stk_lmt = Int32.Parse(Request.Params["stk_lmt"]); m.stk_pos_wid = Int32.Parse(Request.Params["stk_pos_wid"]); m.lev = Int32.Parse(Request.Params["lev"]); m.lhnd_id = Request.Params["lhnd_id"]; m.stk_pos_dep = Int32.Parse(Request.Params["stk_pos_dep"]); m.comingle_allow = Request.Params["comingle_allow"]; //m.ldsp_id = Request.Params["ldsp_id"]; m.ldsp_id = string.Empty; if (String.IsNullOrEmpty(Request.Params["row_id"])) { m.create_dtim = DateTime.Now; //創建時間 m.create_user = (System.Web.HttpContext.Current.Session["caller"] as Caller).user_id; m.change_dtim = DateTime.Now; //編輯時間 m.change_user = (System.Web.HttpContext.Current.Session["caller"] as Caller).user_id; if (_IlocMgr.IlocInsert(m) > 0) { jsonStr = "{success:true}"; } else { jsonStr = "{success:false}"; } } else { m.row_id = Convert.ToInt32(Request.Params["row_id"]); m.change_dtim = DateTime.Now; m.change_user = (System.Web.HttpContext.Current.Session["caller"] as Caller).user_id; if (_IlocMgr.IlocEdit(m) > 0) { jsonStr = "{success:true,msg:0}";//返回json數據 } else { jsonStr = "{success:false,msg:0}";//返回json數據 } } } 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 HttpResponseBase IplasUploadExcel() { string newName = string.Empty; string json = string.Empty; List<IplasQuery> store = new List<IplasQuery>(); try { DTIplasExcel.Clear(); DTIplasExcel.Columns.Clear(); DTIplasExcel.Columns.Add("商品細項編號", typeof(String)); DTIplasExcel.Columns.Add("主料位", typeof(String)); DTIplasExcel.Columns.Add("不能匯入的原因", typeof(String)); int result = 0; int count = 0;//總匯入數 int errorcount = 0;//數據異常個數 int comtentcount = 0;//內容不符合格式 int create_user = (Session["caller"] as Caller).user_id; int item_idcount = 0;//商品細項編號不存在 int item_id_have_locid = 0;//商品細項編號已存在主料位 int locid_lock = 0;//商品料位已經被鎖定 StringBuilder strsql = new StringBuilder(); if (Request.Files["ImportExcelFile"] != null && Request.Files["ImportExcelFile"].ContentLength > 0) { HttpPostedFileBase excelFile = Request.Files["ImportExcelFile"]; //FileManagement fileManagement = new FileManagement(); newName = Server.MapPath(excelPath) + excelFile.FileName; excelFile.SaveAs(newName); DataTable dt = new DataTable(); NPOI4ExcelHelper helper = new NPOI4ExcelHelper(newName); dt = helper.SheetData(); if (dt.Rows.Count > 0) { _IiplasMgr = new IplasMgr(mySqlConnectionString); #region 循環Excel的數據 Iloc ic = new BLL.gigade.Model.Iloc(); Iplas ips = new Iplas(); int i = 0; foreach (DataRow dr in dt.Rows) { i++; try { if (!string.IsNullOrEmpty(dr[0].ToString()) && Regex.IsMatch(dr[0].ToString(), @"^\d{6}$") && !string.IsNullOrEmpty(dr[1].ToString()) && Regex.IsMatch(dr[1].ToString(), @"^[A-Z]{2}\d{3}[A-Z]\d{2}$")) { ic.loc_id = dr[1].ToString(); ic.lsta_id = "F"; ic.lcat_id = "S"; ic.create_dtim = DateTime.Now; ic.change_dtim = DateTime.Now; ic.create_user = create_user; ic.change_user = create_user; ic.loc_status = 1; ips.item_id = Convert.ToUInt32(dr[0]); ips.loc_id = dr[1].ToString(); ips.change_user = create_user; ips.create_user = create_user; ips.create_dtim = DateTime.Now; ips.change_dtim = DateTime.Now; //根據商品編號查看是否存在主料位 int item_id_exsit = _IiplasMgr.YesOrNoExist(Convert.ToInt32(dr[0]));//檢查item_id是否存在主料位 int loc_id_exsit = _IiplasMgr.YesOrNoLocIdExsit(dr[1].ToString());//判斷料位是否存在 int loc_id_lock = _IiplasMgr.GetLocCount(ic);//判斷料位是否鎖定 if (_IiplasMgr.IsTrue(ips) == "false")//首先判斷item_id是否存在 { DataRow drtwo = DTIplasExcel.NewRow(); drtwo[0] = dr[0].ToString(); drtwo[1] = dr[1].ToString(); drtwo[2] = "商品細項編號不存在"; DTIplasExcel.Rows.Add(drtwo); errorcount++; item_idcount++; continue; } else//如果存在item_id { if (item_id_exsit > 0)//表示已經存在主料位 { DataRow drtwo = DTIplasExcel.NewRow(); drtwo[0] = dr[0].ToString(); drtwo[1] = dr[1].ToString(); drtwo[2] = "商品細項編號已存在主料位"; DTIplasExcel.Rows.Add(drtwo); errorcount++; item_id_have_locid++; continue; } #region if (loc_id_exsit > 0)//如果料位存在 { if (loc_id_lock > 0)//如果料位存在並且沒有被鎖定 { strsql.AppendFormat("Insert into iplas (dc_id,whse_id,loc_id,change_dtim,change_user,create_dtim,create_user,lcus_id,luis_id,item_id,prdd_id,loc_rpln_lvl_uoi,loc_stor_cse_cap,ptwy_anch,flthru_anch,pwy_loc_cntl) Values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}','{13}','{14}','{15}');", ips.dc_id, ips.whse_id, ips.loc_id.ToString().ToUpper(), CommonFunction.DateTimeToString(ips.change_dtim), ips.change_user, CommonFunction.DateTimeToString(ips.create_dtim), ips.create_user, ips.lcus_id, ips.luis_id, ips.item_id, ips.prdd_id, ips.loc_rpln_lvl_uoi, ips.loc_stor_cse_cap, ips.ptwy_anch, ips.flthru_anch, ips.pwy_loc_cntl);//插入數據到表iplas表中 strsql.AppendFormat(@" set sql_safe_updates = 0; update iloc set lsta_id='{0}',change_user='******',change_dtim='{2}' where loc_id='{3}';set sql_safe_updates = 1; ", "A", ips.change_user, BLL.gigade.Common.CommonFunction.DateTimeToString(ips.change_dtim), ips.loc_id.ToString().ToUpper()); count++; } else { DataRow drtwo = DTIplasExcel.NewRow(); drtwo[0] = dr[0].ToString(); drtwo[1] = dr[1].ToString(); drtwo[2] = "主料位已經被鎖定"; DTIplasExcel.Rows.Add(drtwo); errorcount++; locid_lock++; continue; } } else//料位不存在 { strsql.AppendFormat(@"insert into iloc(dc_id,whse_id,loc_id,llts_id,bkfill_loc,ldes_id, ldim_id,x_coord,y_coord,z_coord,bkfill_x_coord,bkfill_y_coord, bkfill_z_coord,lsta_id,sel_stk_pos,sel_seq_loc,sel_pos_hgt,rsv_stk_pos, rsv_pos_hgt,stk_lmt,stk_pos_wid,lev,lhnd_id,ldsp_id, create_user,create_dtim,comingle_allow,change_user,change_dtim,lcat_id, space_remain,max_loc_wgt,loc_status,stk_pos_dep ) 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}');", ic.dc_id, ic.whse_id, ic.loc_id, ic.llts_id, ic.bkfill_loc, ic.ldes_id, ic.ldim_id, ic.x_coord, ic.y_coord, ic.z_coord, ic.bkfill_x_coord, ic.bkfill_y_coord, ic.bkfill_z_coord, ic.lsta_id, ic.sel_stk_pos, ic.sel_seq_loc, ic.sel_pos_hgt, ic.rsv_stk_pos, ic.rsv_pos_hgt, ic.stk_lmt, ic.stk_pos_wid, ic.lev, ic.lhnd_id, ic.ldsp_id, ic.create_user, BLL.gigade.Common.CommonFunction.DateTimeToString(ic.create_dtim), ic.comingle_allow, ic.change_user, BLL.gigade.Common.CommonFunction.DateTimeToString(ic.change_dtim), ic.lcat_id, ic.space_remain, ic.max_loc_wgt, ic.loc_status, ic.stk_pos_dep ); strsql.AppendFormat("Insert into iplas (dc_id,whse_id,loc_id,change_dtim,change_user,create_dtim,create_user,lcus_id,luis_id,item_id,prdd_id,loc_rpln_lvl_uoi,loc_stor_cse_cap,ptwy_anch,flthru_anch,pwy_loc_cntl) Values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}','{13}','{14}','{15}');", ips.dc_id, ips.whse_id, ips.loc_id.ToString().ToUpper(), CommonFunction.DateTimeToString(ips.change_dtim), ips.change_user, CommonFunction.DateTimeToString(ips.create_dtim), ips.create_user, ips.lcus_id, ips.luis_id, ips.item_id, ips.prdd_id, ips.loc_rpln_lvl_uoi, ips.loc_stor_cse_cap, ips.ptwy_anch, ips.flthru_anch, ips.pwy_loc_cntl);//插入數據到表iplas表中 strsql.AppendFormat(@" set sql_safe_updates = 0; update iloc set lsta_id='{0}',change_user='******',change_dtim='{2}' where loc_id='{3}';set sql_safe_updates = 1; ", "A", ips.change_user, BLL.gigade.Common.CommonFunction.DateTimeToString(ips.change_dtim), ips.loc_id.ToString().ToUpper()); count++; } #endregion } } else { DataRow drtwo = DTIplasExcel.NewRow(); drtwo[0] = dr[0].ToString(); drtwo[1] = dr[1].ToString(); drtwo[2] = "商品細項編號或者主料位不符合格式"; DTIplasExcel.Rows.Add(drtwo); errorcount++; comtentcount++; continue; } } catch { DataRow drtwo = DTIplasExcel.NewRow(); drtwo[0] = dr[0].ToString(); drtwo[1] = dr[1].ToString(); drtwo[2] = "數據異常"; DTIplasExcel.Rows.Add(drtwo); errorcount++; continue; } } #endregion if (strsql.ToString().Trim() != "") { result = _IiplasMgr.ExcelImportIplas(strsql.ToString()); if (result > 0) { json = "{success:true,total:" + count + ",error:" + errorcount + ",item_idcount:" + item_idcount + ",item_id_have_locid:" + item_id_have_locid + ",comtentcount:" + comtentcount + ",locid_lock:" + locid_lock + "}"; } else { json = "{success:false}"; } } else { json = "{success:true,total:" + 0 + ",error:" + errorcount + ",item_idcount:" + item_idcount + ",item_id_have_locid:" + item_id_have_locid + ",comtentcount:" + comtentcount + ",locid_lock:" + locid_lock + "}"; } } else { json = "{success:true,total:" + 0 + ",error:" + errorcount + ",item_idcount:" + item_idcount + ",item_id_have_locid:" + item_id_have_locid + ",comtentcount:" + comtentcount + ",locid_lock:" + locid_lock + "}"; } } } 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,data:" + "" + "}"; } this.Response.Clear(); this.Response.Write(json); this.Response.End(); return this.Response; }
//商品指定主料位-互搬 public HttpResponseBase IplasUploadExcelEnter() { string newName = string.Empty; string json = string.Empty; List<IplasQuery> store = new List<IplasQuery>(); try { DTIplasEnterExcel.Clear(); DTIplasEnterExcel.Columns.Clear(); DTIplasEnterExcel.Columns.Add("商品細項編號", typeof(String)); DTIplasEnterExcel.Columns.Add("原料位", typeof(String)); DTIplasEnterExcel.Columns.Add("新料位", typeof(String)); DTIplasEnterExcel.Columns.Add("不能搬移的原因", typeof(String)); int result = 0; int count = 0;//總匯入數 int errorcount = 0;//數據異常個數 int comtentcount = 0;//內容不符合格式 int create_user = (Session["caller"] as Caller).user_id; int item_idcount = 0;//商品細項編號不存在 int item_id_have_locid = 0;//商品細項編號已存在主料位 int locid_lock = 0;//商品料位已經被鎖定 StringBuilder strsql = new StringBuilder(); if (Request.Files["IplasImportExcelFile"] != null && Request.Files["IplasImportExcelFile"].ContentLength > 0) { HttpPostedFileBase excelFile = Request.Files["IplasImportExcelFile"]; //FileManagement fileManagement = new FileManagement(); newName = Server.MapPath(excelPath) + excelFile.FileName; excelFile.SaveAs(newName); DataTable dt = new DataTable(); NPOI4ExcelHelper helper = new NPOI4ExcelHelper(newName); dt = helper.SheetData(); if (dt.Rows.Count > 0) { _IiplasMgr = new IplasMgr(mySqlConnectionString); #region 測試 #region 循環Excel的數據 Iloc ic = new BLL.gigade.Model.Iloc(); Iplas ips = new Iplas(); int i = 0; if (dt.Columns.Count < 3) { DataRow drtwo = DTIplasEnterExcel.NewRow(); drtwo[0] = "這個是商品細項編號"; drtwo[1] = "這個是商品原料位"; drtwo[2] = "這個是商品新料位"; drtwo[3] = "請匯入足夠的列數"; DTIplasEnterExcel.Rows.Add(drtwo); errorcount++; } else { foreach (DataRow dr in dt.Rows) { if (string.IsNullOrEmpty(dr[0].ToString()) && string.IsNullOrEmpty(dr[1].ToString()) && string.IsNullOrEmpty(dr[2].ToString())) { continue; } i++; try { if (!string.IsNullOrEmpty(dr[0].ToString()) && Regex.IsMatch(dr[0].ToString(), @"^\d{6}$") && !string.IsNullOrEmpty(dr[1].ToString()) && Regex.IsMatch(dr[1].ToString(), @"^[A-Z]{2}\d{3}[A-Z]\d{2}$") && !string.IsNullOrEmpty(dr[2].ToString()) && Regex.IsMatch(dr[2].ToString(), @"^[A-Z]{2}\d{3}[A-Z]\d{2}$")) { ic.loc_id = dr[2].ToString(); //ic.lsta_id = "F"; //ic.lcat_id = "S"; //ic.create_dtim = DateTime.Now; //ic.change_dtim = DateTime.Now; //ic.create_user = 2; //ic.change_user = 2; //ic.loc_status = 1; ips.item_id = Convert.ToUInt32(dr[0]); ips.loc_id = dr[1].ToString(); //根據商品編號查看是否存在主料位 int item_id_exsit = _IiplasMgr.YesOrNoExist(Convert.ToInt32(dr[0]));//檢查item_id是否存在 int loc_id_exsit = _IiplasMgr.YesOrNoLocIdExsit(dr[1].ToString());//判斷原料位是否存在 int item_loc_id = _IiplasMgr.YesOrNoLocIdExsit(Convert.ToInt32(dr[0]), dr[1].ToString());//判斷原料位是否為該商品的主料位 int New_loc_id_exsit = _IiplasMgr.YesOrNoLocIdExsit(dr[2].ToString());//判斷新料位是否存在 int loc_id_lock = _IiplasMgr.GetLocCount(ic);//判斷新料位是否鎖定 if (_IiplasMgr.IsTrue(ips) == "false")//首先判斷item_id是否存在 { DataRow drtwo = DTIplasEnterExcel.NewRow(); drtwo[0] = dr[0].ToString(); drtwo[1] = dr[1].ToString(); drtwo[2] = dr[2].ToString(); drtwo[3] = "商品細項編號不存在"; DTIplasEnterExcel.Rows.Add(drtwo); errorcount++; item_idcount++; continue; } else//如果存在item_id { if (loc_id_exsit <= 0)//表示原料為不存在料位//------------------------------ { DataRow drtwo = DTIplasEnterExcel.NewRow(); drtwo[0] = dr[0].ToString(); drtwo[1] = dr[1].ToString(); drtwo[2] = dr[2].ToString(); drtwo[3] = "商品原料位不存在"; DTIplasEnterExcel.Rows.Add(drtwo); errorcount++; locid_lock++; continue; } if (item_loc_id <= 0)//表示原料位不是此商品的原料位//------------------------------ { DataRow drtwo = DTIplasEnterExcel.NewRow(); drtwo[0] = dr[0].ToString(); drtwo[1] = dr[1].ToString(); drtwo[2] = dr[2].ToString(); drtwo[3] = "原料位不是此商品的料位"; DTIplasEnterExcel.Rows.Add(drtwo); errorcount++; locid_lock++; continue; } if (New_loc_id_exsit <= 0)//表示新料位不存在//------------------------------ { DataRow drtwo = DTIplasEnterExcel.NewRow(); drtwo[0] = dr[0].ToString(); drtwo[1] = dr[1].ToString(); drtwo[2] = dr[2].ToString(); drtwo[3] = "新料位不存在"; DTIplasEnterExcel.Rows.Add(drtwo); errorcount++; item_id_have_locid++; continue; } else { if (loc_id_lock > 0)//如果新料位存在並且沒有被鎖定--plas新增,iloc更改狀態 { ips = _IiplasMgr.getplas(ips); ips.loc_id = dr[2].ToString(); ips.change_user = (Session["caller"] as Caller).user_id; ips.change_dtim = DateTime.Now; ips.item_id = Convert.ToUInt32(dr[0]); if (_IiplasMgr.UpIplas(ips) > 0) { strsql.Append(ips.loc_id); //strsql.AppendFormat("Insert into iplas (dc_id,whse_id,loc_id,change_dtim,change_user,create_dtim,create_user,lcus_id,luis_id,item_id,prdd_id,loc_rpln_lvl_uoi,loc_stor_cse_cap,ptwy_anch,flthru_anch,pwy_loc_cntl) Values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}','{13}','{14}','{15}');", ips.dc_id, ips.whse_id, ips.loc_id.ToString().ToUpper(), CommonFunction.DateTimeToString(ips.change_dtim), ips.change_user, CommonFunction.DateTimeToString(ips.create_dtim), ips.create_user, ips.lcus_id, ips.luis_id, ips.item_id, ips.prdd_id, ips.loc_rpln_lvl_uoi, ips.loc_stor_cse_cap, ips.ptwy_anch, ips.flthru_anch, ips.pwy_loc_cntl);//插入數據到表iplas表中 //strsql.AppendFormat(@" set sql_safe_updates = 0; update iloc set lsta_id='{0}',change_user='******',change_dtim='{2}' where loc_id='{3}';set sql_safe_updates = 1; ", "A", ips.change_user, BLL.gigade.Common.CommonFunction.DateTimeToString(ips.change_dtim), ips.loc_id.ToString().ToUpper()); count++; result++; } else { DataRow drtwo = DTIplasEnterExcel.NewRow(); drtwo[0] = dr[0].ToString(); drtwo[1] = dr[1].ToString(); drtwo[2] = dr[2].ToString(); drtwo[3] = "未知原因導入失敗"; DTIplasEnterExcel.Rows.Add(drtwo); errorcount++; continue; } } else { DataRow drtwo = DTIplasEnterExcel.NewRow(); drtwo[0] = dr[0].ToString(); drtwo[1] = dr[1].ToString(); drtwo[2] = dr[2].ToString(); drtwo[3] = "新料位已經被鎖定或非主料位"; DTIplasEnterExcel.Rows.Add(drtwo); errorcount++; item_id_have_locid++; continue; } } } } else { DataRow drtwo = DTIplasEnterExcel.NewRow(); drtwo[0] = dr[0].ToString(); drtwo[1] = dr[1].ToString(); drtwo[2] = dr[2].ToString(); drtwo[3] = "商品細項編號或者料位不符合格式"; DTIplasEnterExcel.Rows.Add(drtwo); errorcount++; comtentcount++; continue; } } catch { DataRow drtwo = DTIplasEnterExcel.NewRow(); drtwo[0] = dr[0].ToString(); drtwo[1] = dr[1].ToString(); drtwo[2] = dr[2].ToString(); drtwo[3] = "數據異常"; DTIplasEnterExcel.Rows.Add(drtwo); errorcount++; continue; } } } #endregion #endregion if (strsql.ToString().Trim() != "") { //result = _IiplasMgr.ExcelImportIplas(strsql.ToString()); if (result > 0) { json = "{success:true,total:" + count + ",error:" + errorcount + ",item_idcount:" + item_idcount + ",item_id_have_locid:" + item_id_have_locid + ",comtentcount:" + comtentcount + ",locid_lock:" + locid_lock + "}"; } else { json = "{success:false}"; } } else { json = "{success:true,total:" + 0 + ",error:" + errorcount + ",item_idcount:" + item_idcount + ",item_id_have_locid:" + item_id_have_locid + ",comtentcount:" + comtentcount + ",locid_lock:" + locid_lock + "}"; } } else { json = "{success:true,total:" + 0 + ",error:" + errorcount + ",item_idcount:" + item_idcount + ",item_id_have_locid:" + item_id_have_locid + ",comtentcount:" + comtentcount + ",locid_lock:" + locid_lock + "}"; } } } 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,data:" + "" + "}"; } this.Response.Clear(); this.Response.Write(json); this.Response.End(); return this.Response; }
//刪除沒有商品佔據的主料位 public HttpResponseBase DeleteIplasById() { string jsonStr = String.Empty; _IlocMgr = new IlocMgr(mySqlConnectionString); _IiplasMgr = new IplasMgr(mySqlConnectionString); Iloc loc = new Iloc(); IplasQuery plasQuery = new IplasQuery(); IinvdQuery nvdQery = new IinvdQuery(); try { string str = Request.Params["loc_id"].ToString().ToUpper();//獲取類型 str = str.Substring(0, str.LastIndexOf(",")); int sum = 0; string[] strs = str.Split(','); for (int i = 0; i < strs.Length; i++) { nvdQery.loc_id = strs[i]; sum = sum + _IiplasMgr.GetIinvdItemId(nvdQery); } if (sum > 0) { jsonStr = "{success:true,sum:" + sum + "}";//大於0表示算選包含庫存量 } else { int counts = 0; for (int i = 0; i < strs.Length; i++) { plasQuery.loc_id = strs[i]; counts = counts + _IiplasMgr.DeleteIplasById(plasQuery); } if (counts > 0) { jsonStr = "{success:true,count:" + counts + "}"; } 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; }
public HttpResponseBase GetIPlasEdit() { string json = string.Empty; IplasQuery iplas = new IplasQuery(); Iloc iloc = new Iloc(); Iupc upc = new Iupc(); _IiplasMgr = new IplasMgr(mySqlConnectionString); _IlocMgr = new IlocMgr(mySqlConnectionString); _ipalet = new PalletMoveMgr(mySqlConnectionString); try { if (string.IsNullOrEmpty(Request.Params["plas_id"]))//首先考慮添加情況 { string itemid = Request.Params["item_id"]; DataTable dt = _ipalet.GetProdInfo(itemid); if (dt.Rows.Count > 0) { iplas.item_id = uint.Parse(dt.Rows[0]["item_id"].ToString()); } else { iplas.item_id = 0; } if (_IiplasMgr.IsTrue(iplas) == "false") { json = "{success:false,msg:\"" + "商品編號不存在" + "\"}"; this.Response.Clear(); this.Response.Write(json); this.Response.End(); return this.Response; } if (_IiplasMgr.GetIplasid(iplas) > 0) { json = "{success:false,msg:\"" + "此商品已存在主料位" + "\"}"; this.Response.Clear(); this.Response.Write(json); this.Response.End(); return this.Response; } iloc.loc_id = Request.Params["loc_id"].ToString().ToUpper(); if (_IiplasMgr.GetLocCount(iloc) <= 0) { json = "{success:false,msg:\"" + "非主料位或主料位已鎖定" + "\"}"; this.Response.Clear(); this.Response.Write(json); this.Response.End(); return this.Response; } iplas.loc_id = Request.Params["loc_id"].ToString().ToUpper(); if (_IiplasMgr.GetIplasCount(iplas).Count > 0)//主料位重複 { json = "{success:false,msg:\"" + "主料位重複" + "\"}"; this.Response.Clear(); this.Response.Write(json); this.Response.End(); return this.Response; } iplas.loc_stor_cse_cap = int.Parse(Request.Params["loc_stor_cse_cap"]); iplas.create_user = (Session["caller"] as Caller).user_id; iplas.create_dtim = DateTime.Now; iplas.change_user = (Session["caller"] as Caller).user_id; iplas.change_dtim = DateTime.Now; _IiplasMgr.InsertIplas(iplas);//判斷主料位和商品編號沒有問題,插入Iplas表的同時.操作iloc表,設置其為已指派料位 json = "{success:true}"; } else//編輯 { iplas.plas_id = int.Parse(Request.Params["plas_id"]); upc.upc_id = Request.Params["upcid"]; iplas.item_id = uint.Parse(Request.Params["item_id"]); iplas.loc_id = Request.Params["loc_id"].ToString().ToUpper(); iloc.loc_id = iplas.loc_id; if (_IiplasMgr.GetLocCount(iloc) <= 0) { json = "{success:false,msg:\"" + "非主料位或主料位已鎖定" + "\"}"; this.Response.Clear(); this.Response.Write(json); this.Response.End(); return this.Response; } if (_IiplasMgr.GetIplasCount(iplas).Count > 0)//主料位重複 { json = "{success:false,msg:\"" + "該主料位不可用!" + "\"}"; this.Response.Clear(); this.Response.Write(json); this.Response.End(); return this.Response; } iplas.loc_stor_cse_cap = int.Parse(Request.Params["loc_stor_cse_cap"]); iplas.change_user = (Session["caller"] as Caller).user_id; iplas.change_dtim = DateTime.Now; _IiplasMgr.UpIplas(iplas); json = "{success:true}"; } } 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 SaveIinvd() { string json = "{success:false,message:'系統異常'}"; try { int temp = 0; if (int.TryParse(Request.Params["prod_qty"], out temp)) { if (temp > 0) { IinvdQuery iinvd = new IinvdQuery(); if (!string.IsNullOrEmpty(Request.Params["loc_id"])) { iinvd.plas_loc_id = Request.Params["loc_id"]; } if (!string.IsNullOrEmpty(Request.Params["item_id"])) { if (int.TryParse(Request.Params["item_id"], out temp)) { iinvd.item_id = uint.Parse(Request.Params["item_id"]); } } #region 判斷是否指定主料位 IlocQuery ilocquery = new IlocQuery(); _IiplasMgr = new IplasMgr(mySqlConnectionString); IplasQuery iplasquery = new IplasQuery(); iplasquery.item_id = iinvd.item_id; IIlocImplMgr ilocMgr = new IlocMgr(mySqlConnectionString); IplasDao iplasdao = new IplasDao(mySqlConnectionString); int total = 0; ilocquery.loc_id = iinvd.plas_loc_id; ilocquery.lcat_id = "0"; ilocquery.lsta_id = ""; ilocquery.IsPage = false; List<IlocQuery> listiloc = ilocMgr.GetIocList(ilocquery, out total); if (listiloc.Count > 0) { string lcat_id = listiloc.Count == 0 ? "" : listiloc[0].lcat_id; if (lcat_id == "S") { string item_id = iplasdao.Getlocid(ilocquery.loc_id); if (item_id == "") { Iplas iplas = new Iplas(); if (int.TryParse(Request.Params["item_id"], out temp)) { iplas.item_id = uint.Parse(Request.Params["item_id"]); if (_IiplasMgr.IsTrue(iplas) == "false") { json = "{success:false,message:'不存在該商品編號'}"; this.Response.Clear(); this.Response.Write(json); this.Response.End(); return this.Response; } if (_IiplasMgr.GetIplasid(iplasquery) > 0) { json = "{success:false,message:'此商品主料位非該料位'}"; this.Response.Clear(); this.Response.Write(json); this.Response.End(); return this.Response; } Iloc iloc = new Iloc(); iloc.loc_id = iinvd.plas_loc_id; if (_IiplasMgr.GetLocCount(iloc) <= 0) { json = "{success:false,message:'該料位已鎖定或被指派'}"; this.Response.Clear(); this.Response.Write(json); this.Response.End(); return this.Response; } iplas.loc_id = iloc.loc_id; iplas.loc_stor_cse_cap = 100; iplas.create_user = (Session["caller"] as Caller).user_id; iplas.create_dtim = DateTime.Now; iplas.change_user = (Session["caller"] as Caller).user_id; iplas.change_dtim = DateTime.Now; _IiplasMgr.InsertIplas(iplas); } } } } #endregion iinvd.create_user = (Session["caller"] as Caller).user_id; iinvd.create_dtim = DateTime.Now; iinvd.change_user = iinvd.create_user; iinvd.change_dtim = iinvd.create_dtim; iinvd.ista_id = "A"; if (!string.IsNullOrEmpty(Request.Params["loc_id"])) { iinvd.plas_loc_id = Request.Params["loc_id"]; } int change_prod_qty = int.Parse(Request.Params["prod_qty"]); iinvd.prod_qty = change_prod_qty; if (!string.IsNullOrEmpty(Request.Params["st_qty"])) { if (int.TryParse(Request.Params["st_qty"], out temp)) { iinvd.st_qty = int.Parse(Request.Params["st_qty"]); } } if (!string.IsNullOrEmpty(Request.Params["item_id"])) { if (int.TryParse(Request.Params["item_id"], out temp)) { iinvd.item_id = uint.Parse(Request.Params["item_id"]); } } DateTime date = DateTime.Now; if (DateTime.TryParse(Request.Params["datetimepicker1"], out date)) { iinvd.made_date = date; } else { iinvd.made_date = DateTime.Now; } _iinvd = new IinvdMgr(mySqlConnectionString); if (Request.Params["pwy_dte_ctl"] == "Y") { iinvd.pwy_dte_ctl = "Y"; IProductExtImplMgr productExt = new ProductExtMgr(mySqlConnectionString); int Cde_dt_incr = productExt.GetCde_dt_incr((int)iinvd.item_id); iinvd.cde_dt = date.AddDays(Cde_dt_incr); } else { iinvd.cde_dt = DateTime.Now; } iinvd.prod_qtys = _iinvd.GetProd_qty(Convert.ToInt32(iinvd.item_id), iinvd.plas_loc_id, "", iinvd.row_id.ToString()); IialgQuery iialg = new IialgQuery(); iialg.cde_dt = iinvd.cde_dt; int prod_qty = 0;// _iinvd.GetProd_qty((int)iinvd.item_id, iinvd.plas_loc_id, "", ""); int row = _iinvd.GetIinvdCount(iinvd); if (row > 1) { prod_qty = row - 1; json = "{success:true}"; } else { if (_iinvd.Insert(iinvd) == 1) { json = "{success:true}"; } } iialg.qty_o = prod_qty; iialg.loc_id = iinvd.plas_loc_id; iialg.item_id = iinvd.item_id; iialg.iarc_id = "循環盤點"; iialg.adj_qty = change_prod_qty; iialg.create_dtim = DateTime.Now; iialg.create_user = iinvd.create_user; iialg.type = 2; iialg.doc_no = "C" + DateTime.Now.ToString("yyyyMMddHHmmss"); iialg.made_dt = iinvd.made_date; iialg.cde_dt = iinvd.cde_dt; _iialgMgr = new IialgMgr(mySqlConnectionString); _iialgMgr.insertiialg(iialg); IstockChangeQuery istock = new IstockChangeQuery(); istock.sc_trans_id = iialg.doc_no; istock.item_id = iinvd.item_id; istock.sc_istock_why = 2; istock.sc_trans_type = 2; istock.sc_num_old = iinvd.prod_qtys; istock.sc_num_chg = iialg.adj_qty; istock.sc_num_new = _iinvd.GetProd_qty((int)iinvd.item_id, iinvd.plas_loc_id,"N",""); istock.sc_time = iinvd.create_dtim; istock.sc_user = iinvd.create_user; istock.sc_note = "循環盤點"; IstockChangeMgr istockMgr = new IstockChangeMgr(mySqlConnectionString); istockMgr.insert(istock); } else { json = "{success:false,message:'庫存不能小於1'}"; } } else { json = "{success:false,message:'庫存請輸入數字'}"; } } 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 ActionResult IinvdCheck() { _IlocMgr = new IlocMgr(mySqlConnectionString); StringBuilder strHtml = new StringBuilder(); string loc_id = Request.Params["loc_id"]; IlocQuery ilocquery=new IlocQuery(); ilocquery.loc_id = loc_id; loc_id = _IlocMgr.GetIlocCount(ilocquery); ViewBag.loc_id = loc_id; ViewBag.lcat_id = ""; ViewBag.upc_id = ""; ViewBag.iplas = ""; _iinvd = new IinvdMgr(mySqlConnectionString); if (loc_id != "") { List<IinvdQuery> list = _iinvd.GetIinvdList(loc_id); IupcQuery iupc = new IupcQuery(); _IiupcMgr = new IupcMgr(mySqlConnectionString); if (list.Count > 0) { ViewBag.product_name = list[0].product_name; ViewBag.spec = list[0].spec; ViewBag.item_id = list[0].item_id.ToString() ; ViewBag.pwy_dte_ctl = list[0].pwy_dte_ctl; iupc.item_id=uint.Parse(ViewBag.item_id); List<IupcQuery> listiupc=new List<IupcQuery>(); if (iupc.item_id!=0) { listiupc = _IiupcMgr.GetIupcByItemID(iupc); } if (listiupc.Count > 0) { ViewBag.upc_id = listiupc[0].upc_id; } if (list[0].pwy_dte_ctl == "Y") { ViewBag.count = list.Count; } else { int prod_qty = 0; for (int i = 0; i < list.Count; i++) { prod_qty += list[i].prod_qty; } list[0].prod_qty = prod_qty; ViewBag.count = 1; } ViewBag.data = list; IlocQuery lsta_id = _IlocMgr.GetIlocLsta_id(loc_id); Iloc iloc = new Iloc(); if (lsta_id != null) { if (lsta_id.lsta_id == "F") { iloc.row_id = lsta_id.row_id; iloc.lsta_id = "A"; iloc.change_dtim = DateTime.Now; iloc.change_user = (Session["caller"] as Caller).user_id; _IlocMgr.UpdateIlocLock(iloc); } } } else { ViewBag.product_name =""; ViewBag.spec = ""; ViewBag.item_id = "此料位暫無商品"; IinvdQuery iinvd = new IinvdQuery(); iinvd.prod_qty = 0; list.Add(iinvd); ViewBag.pwy_dte_ctl = Request.Params["pwy_dte_ctl"]; ; ViewBag.count = 0; ViewBag.data = list; IIlocImplMgr ilocMgr = new IlocMgr(mySqlConnectionString); IplasDao iplas = new IplasDao(mySqlConnectionString); int total = 0; ilocquery.loc_id = loc_id; ilocquery.lcat_id = "0"; ilocquery.lsta_id = ""; ilocquery.IsPage = false; List<IlocQuery> listiloc = ilocMgr.GetIocList(ilocquery, out total); if (listiloc.Count > 0) { string lcat_id =listiloc.Count==0?"": listiloc[0].lcat_id; if (lcat_id == "S") { string item_id = iplas.Getlocid(loc_id); if (item_id != "") { ViewBag.item_id = item_id; iupc.item_id = uint.Parse(ViewBag.item_id); List<IupcQuery> listiupc = _IiupcMgr.GetIupcByItemID(iupc); if (listiupc.Count > 0) { ViewBag.upc_id = listiupc[0].upc_id; } DataTable table = iplas.GetProduct(item_id); if (table.Rows.Count > 0) { ViewBag.product_name = table.Rows[0]["product_name"]; ViewBag.spec = table.Rows[0]["spec"]; ViewBag.lcat_id = lcat_id; } DataTable tablePwy = _iinvd.Getprodubybar(item_id); if (tablePwy.Rows.Count > 0) { ViewBag.pwy_dte_ctl = tablePwy.Rows[0]["pwy_dte_ctl"].ToString(); } } else { IlocQuery lsta_id = _IlocMgr.GetIlocLsta_id(loc_id); Iloc iloc = new Iloc(); if (lsta_id != null) { if (lsta_id.lsta_id != "H") { iloc.row_id = lsta_id.row_id; iloc.lsta_id = "F"; iloc.change_dtim = DateTime.Now; iloc.change_user = (Session["caller"] as Caller).user_id; _IlocMgr.UpdateIlocLock(iloc); } } ViewBag.iplas = "false"; ViewBag.pwy_dte_ctl = "N"; } } else { IlocQuery lsta_id = _IlocMgr.GetIlocLsta_id(loc_id); Iloc iloc = new Iloc(); if(lsta_id!=null) { if(lsta_id.lsta_id!="H") { iloc.row_id=lsta_id.row_id; iloc.lsta_id = "F"; iloc.change_dtim = DateTime.Now; iloc.change_user = (Session["caller"] as Caller).user_id; _IlocMgr.UpdateIlocLock(iloc); } } ViewBag.pwy_dte_ctl = "N"; } } } if (ViewBag.pwy_dte_ctl==null) { ViewBag.pwy_dte_ctl = ""; } } return View(); }
public int GetLocCount(Iloc loc) { try { return _IplasDao.GetLocCount(loc); } catch (Exception ex) { throw new Exception("IplasMgr-->GetLocCount-->" + ex.Message, ex); } }