public ActionResult QueryChestDetail(String chestNo) { if (!string.IsNullOrEmpty(chestNo)) { using (PackageInChestServiceClient client = new PackageInChestServiceClient()) { MethodReturnResult <Chest> result2 = client.Get(chestNo.Trim().ToUpper()); if (result2.Code == 0) { ViewBag.Chest = result2.Data; } PagingConfig cfg = new PagingConfig() { IsPaging = false, Where = string.Format(@"Key.ChestNo='{0}'", chestNo.Trim().ToUpper()), OrderBy = "ItemNo" }; MethodReturnResult <IList <ChestDetail> > result = client.GetDetail(ref cfg); if (result.Code == 0) { ViewBag.ChestDetailList = result.Data; } } } return(PartialView("_ListChestDetailQuery", new ChestMonitorViewModel())); }
//获取柜信息 public Chest GetChest(string key) { using (PackageInChestServiceClient client = new PackageInChestServiceClient()) { MethodReturnResult <Chest> rst = client.Get(key); if (rst.Code <= 0) { return(rst.Data); } } return(null); }
// 获取柜信息--当前数量/是否尾包/库位 public ActionResult GetChestInfo(string chestNo) { double currentQuantity = 0; bool isLastestPackage = false; string storeLocation = ""; double fullQuantity = 0; int code = 0; if (!string.IsNullOrEmpty(chestNo)) { //获取当前数量 using (PackageInChestServiceClient client = new PackageInChestServiceClient()) { MethodReturnResult <Chest> rst2 = client.Get(chestNo); if (rst2.Code == 1000) { return(Json(rst2)); } if (rst2.Code <= 0 && rst2.Data != null) { using (MaterialChestParameterServiceClient client1 = new MaterialChestParameterServiceClient()) { MethodReturnResult <MaterialChestParameter> rst3 = client1.Get(rst2.Data.MaterialCode); if (rst3.Data != null) { fullQuantity = rst3.Data.FullChestQty; } else { return(Json(rst3, JsonRequestBehavior.AllowGet)); } } currentQuantity = rst2.Data.Quantity; isLastestPackage = rst2.Data.IsLastPackage; storeLocation = rst2.Data.StoreLocation; } } } return(Json(new { Code = code, CurrentQuantity = currentQuantity, IsLastestPackage = isLastestPackage, StoreLocation = storeLocation, FullQuantity = fullQuantity }, JsonRequestBehavior.AllowGet)); }
public ActionResult Query(ChestMonitorQueryViewModel model) { if (ModelState.IsValid) { StringBuilder where = new StringBuilder(); where.AppendFormat(string.Format(@" (ChestState = 0 OR ChestState = 6)")); if (model.OrderNumber != null && model.OrderNumber != "") { where.AppendFormat(" {0} OrderNumber = '{1}'" , where.Length > 0 ? "AND" : string.Empty , model.OrderNumber.Trim().ToUpper()); } if (model.MaterialCode != null && model.MaterialCode != "") { where.AppendFormat(" {0} MaterialCode = '{1}'" , where.Length > 0 ? "AND" : string.Empty , model.MaterialCode.Trim().ToUpper()); } if (model.PowerName != null && model.PowerName != "") { where.AppendFormat(" {0} PowerName LIKE '{1}%'" , where.Length > 0 ? "AND" : string.Empty , model.PowerName.Trim().ToUpper()); } if (model.Grade != null && model.Grade != "") { where.AppendFormat(" {0} Grade LIKE '{1}%'" , where.Length > 0 ? "AND" : string.Empty , model.Grade.Trim().ToUpper()); } if (model.Color != null && model.Color != "") { where.AppendFormat(" {0} Color LIKE '{1}%'" , where.Length > 0 ? "AND" : string.Empty , model.Color.Trim().ToUpper()); } if (model.PowerSubCode != null && model.PowerSubCode != "") { where.AppendFormat(" {0} PowerSubCode = '{1}'" , where.Length > 0 ? "AND" : string.Empty , model.PowerSubCode.Trim().ToUpper()); } using (PackageInChestServiceClient client = new PackageInChestServiceClient()) { PagingConfig cfg = new PagingConfig() { IsPaging = false, OrderBy = "EditTime", Where = where.ToString() }; MethodReturnResult <IList <Chest> > result = client.Get(ref cfg); if (result.Code == 0) { ViewBag.List = result.Data; } } } if (Request.IsAjaxRequest()) { return(PartialView("_ListPartial", model)); } else { return(View(model)); } }
public ActionResult RefreshChestList(string orderNumber, string materialCode, string grade, string powerName, string color, string powerSubCode) { if (ModelState.IsValid) { StringBuilder where = new StringBuilder(); where.AppendFormat(string.Format(@" (ChestState = 0 OR ChestState = 6)")); if (orderNumber != null && orderNumber != "") { where.AppendFormat(" {0} OrderNumber = '{1}'" , where.Length > 0 ? "AND" : string.Empty , orderNumber.Trim().ToUpper()); } if (materialCode != null && materialCode != "") { where.AppendFormat(" {0} MaterialCode = '{1}'" , where.Length > 0 ? "AND" : string.Empty , materialCode.Trim().ToUpper()); } if (powerName != null && powerName != "") { where.AppendFormat(" {0} PowerName LIKE '{1}%'" , where.Length > 0 ? "AND" : string.Empty , powerName.Trim().ToUpper()); } if (grade != null && grade != "") { where.AppendFormat(" {0} Grade LIKE '{1}%'" , where.Length > 0 ? "AND" : string.Empty , grade.Trim().ToUpper()); } if (color != null && color != "") { where.AppendFormat(" {0} Color LIKE '{1}%'" , where.Length > 0 ? "AND" : string.Empty , color.Trim().ToUpper()); } if (powerSubCode != null && powerSubCode != "") { where.AppendFormat(" {0} PowerSubCode = '{1}'" , where.Length > 0 ? "AND" : string.Empty , powerSubCode.Trim().ToUpper()); } using (PackageInChestServiceClient client = new PackageInChestServiceClient()) { PagingConfig cfg = new PagingConfig() { IsPaging = false, OrderBy = "EditTime", Where = where.ToString() }; MethodReturnResult <IList <Chest> > result = client.Get(ref cfg); if (result.Code == 0) { ViewBag.List = result.Data; } } } return(PartialView("_ListPartial", new ChestMonitorQueryViewModel())); }
public ActionResult UnPackageInChest(string chestNo, int itemNo, string packageNo) { MethodReturnResult result = new MethodReturnResult(); if (packageNo == null || packageNo == "") { result.Code = 1001; result.Message = string.Format("托号不可为空。"); return(Json(result)); } //进行批次包装作业。 ChestParameter p = new ChestParameter() { Editor = User.Identity.Name, ChestNo = chestNo.ToUpper(), PackageNo = packageNo.ToUpper(), ModelType = 0 }; try { //获取包装记录 using (PackageInChestServiceClient client = new PackageInChestServiceClient()) { MethodReturnResult <Chest> rst1 = client.Get(chestNo); if (rst1.Code > 0 || rst1.Data == null) { return(Json(rst1)); } else { #region 注释--出柜条件 //if (rst1.Data.ChestState != EnumChestState.Packaging) //{ // result.Code = 1001; // result.Message = string.Format("柜[{0}]已完成入柜,不可出柜。", chestNo); // return Json(result); //} #endregion } } using (PackageInChestServiceClient client = new PackageInChestServiceClient()) { result = client.UnPackageInChest(p); if (result.Code == 0) { result.Message = string.Format("托号[{0}]出柜({1})成功。" , p.PackageNo, p.ChestNo); } } return(Json(result)); } catch (Exception ex) { result.Code = 1000; result.Message = ex.Message; result.Detail = ex.ToString(); } // 如果我们进行到这一步时某个地方出错,则重新显示表单 return(Json(result)); }
public ActionResult Check(ChestViewModel model) { MethodReturnResult result = new MethodReturnResult(); if (model.PackageNo == null || model.PackageNo == "") { result.Code = 1001; result.Message = string.Format("托号不可为空。"); return(Json(result)); } else { model.PackageNo = model.PackageNo.ToUpper().Trim(); } try { using (PackageQueryServiceClient client = new PackageQueryServiceClient()) { //判断托号是否已检验 MethodReturnResult <Package> rst1 = client.Get(model.PackageNo); if (rst1.Code > 0) { rst1.Message += string.Format(@"或托号{0}已归档", model.PackageNo); return(Json(rst1)); } else { if (rst1.Data != null) { #region 明细检验 if (rst1.Data.PackageState != EnumPackageState.Checked) { using (PackageInChestServiceClient clientOfChest = new PackageInChestServiceClient()) { result = clientOfChest.CheckPackageInChest(model.PackageNo, model.ChestNo, User.Identity.Name); if (result.Code <= 0) { result.Message = string.Format(@"托号{0}检验成功", model.PackageNo); model.ChestNo = result.Detail; } } } else { using (PackageInChestServiceClient clientOfChest = new PackageInChestServiceClient()) { MethodReturnResult <Chest> rst2 = clientOfChest.Get(rst1.Data.ContainerNo); if (rst2.Code > 0) { return(Json(rst2)); } if (rst2.Code <= 0 && rst2.Data != null) { model.ChestNo = rst2.Data.Key; result.Message = string.Format(@"托号{0}已检验过,并检验成功", model.PackageNo); result.Detail = rst2.Data.Key; result.ObjectNo = Convert.ToInt32(rst2.Data.ChestState).ToString(); } } } #endregion } } } //返回包装结果。 if (result.Code <= 0) { MethodReturnResult <ChestViewModel> rstFinal = new MethodReturnResult <ChestViewModel>() { Code = result.Code, Data = model, Detail = result.Detail, HelpLink = result.HelpLink, Message = result.Message, ObjectNo = ((EnumChestState)Convert.ToInt32(result.ObjectNo)).GetDisplayName() }; return(Json(rstFinal)); } } catch (Exception ex) { result.Code = 1000; result.Message = ex.Message; result.Detail = ex.ToString(); } // 如果我们进行到这一步时某个地方出错,则重新显示表单 return(Json(result)); }
public ActionResult Finish(ChestViewModel model) { MethodReturnResult result = new MethodReturnResult(); try { //如果柜号为空。 if (string.IsNullOrEmpty(model.ChestNo)) { result.Code = 1001; result.Message = string.Format("柜号不能为空。"); return(Json(result)); } else { model.ChestNo = model.ChestNo.ToUpper().Trim(); } Chest obj = null; //如果当前数量为空,获取当前数量 using (PackageInChestServiceClient client = new PackageInChestServiceClient()) { MethodReturnResult <Chest> rst2 = client.Get(model.ChestNo); if (rst2.Code > 0) { return(Json(rst2)); } if (rst2.Code <= 0 && rst2.Data != null) { //检查柜状态 if (rst2.Data.ChestState != EnumChestState.Packaging) { result.Code = 1001; result.Message = string.Format("柜 {0} 非{1}状态,不能执行手动完成入柜。" , model.ChestNo.ToUpper() , EnumChestState.Packaging.GetDisplayName()); return(Json(result)); } //设置当前数量。 obj = rst2.Data; model.CurrentQuantity = rst2.Data.Quantity; if (model.CurrentQuantity == 0) { result.Code = 1001; result.Message = string.Format("柜 {0} 数量为0,不能执行手动完成入柜。", model.ChestNo.ToUpper()); return(Json(result)); } } } //如果满柜数量为空,获取满柜数量 if (model.FullQuantity == 0) { using (MaterialChestParameterServiceClient client1 = new MaterialChestParameterServiceClient()) { MethodReturnResult <MaterialChestParameter> rst3 = client1.Get(obj.MaterialCode); if (rst3.Data != null) { model.FullQuantity = rst3.Data.FullChestQty; } else { return(Json(rst3)); } } } //非尾柜,不能完成入柜 if (model.IsLastestPackageInChest == false && obj.IsLastPackage == false) { result.Code = 1; result.Message = string.Format("柜({0})非尾柜,不能手动完成入柜。", model.ChestNo); return(Json(result)); } //判断柜号所在库位和当前界面所选库位是否匹配。 if (!string.IsNullOrEmpty(obj.StoreLocation)) { if (obj.StoreLocation != model.StoreLocation) { model.StoreLocation = obj.StoreLocation; } } else { ////获取柜内第一块组件 //ChestDetail chestDetail = new ChestDetail(); //PagingConfig cfg = new PagingConfig() //{ // IsPaging = false, // OrderBy = " ItemNo ", // Where = string.Format(@" Key = '{0}' and ItemNo = 1 ", obj.Key) //}; //PackageInChestServiceClient client = new PackageInChestServiceClient(); //MethodReturnResult<IList<ChestDetail>> lstChestDetail = client.GetDetail(ref cfg); //if (lstChestDetail.Data != null && lstChestDetail.Data.Count > 0) //{ // chestDetail = lstChestDetail.Data[0]; // result.Code = 1; // result.Message = string.Format("柜({0})未设置库位,请使用包装清单打印界面选择库位并输入托号[{1}]查询按钮设置。" // , model.ChestNo,chestDetail.Key.ObjectNumber); // return Json(result); //} //else //{ // result.Code = 1; // result.Message = string.Format("柜({0})内无明细。", model.ChestNo); // return Json(result); //} if (model.StoreLocation == null || model.StoreLocation == "") { result.Code = 1; result.Message = string.Format("柜({0})未设置库位,请在界面选择所需的库位后再点击手动完成入柜按钮。" , model.ChestNo); return(Json(result)); } } model.IsFinishPackage = true; result = FinishChest(model); //result = Package(model); //返回包装结果。 if (result.Code <= 0) { MethodReturnResult <ChestViewModel> rstFinal = new MethodReturnResult <ChestViewModel>() { Code = result.Code, Data = model, Detail = result.Detail, HelpLink = result.HelpLink, Message = result.Message }; return(Json(rstFinal)); } } catch (Exception ex) { result.Code = 1000; result.Message = ex.Message; result.Detail = ex.ToString(); } // 如果我们进行到这一步时某个地方出错,则重新显示表单 return(Json(result)); }
public ActionResult Save(ChestViewModel model) { MethodReturnResult result = new MethodReturnResult(); //Package obj = null; if (model.PackageNo == null || model.PackageNo == "") { result.Code = 1001; result.Message = string.Format("托号不可为空。"); return(Json(result)); } else { model.PackageNo = model.PackageNo.ToUpper().Trim(); } try { using (PackageInChestServiceClient client = new PackageInChestServiceClient()) { //取得最佳柜号 MethodReturnResult <string> rst1 = client.GetChestNo(model.PackageNo.ToUpper().Trim(), model.ChestNo, model.IsLastestPackageInChest, model.IsManual); if (rst1.Code > 0) { return(Json(rst1)); } else { model.ChestNo = rst1.Data; } } MethodReturnResult <Chest> rst2 = null; //重新获取当前数量。 using (PackageInChestServiceClient client = new PackageInChestServiceClient()) { rst2 = client.Get(model.ChestNo); if (rst2.Code == 1000) { return(Json(rst2)); } //检查柜状态 if (rst2.Data != null && rst2.Data.ChestState != EnumChestState.Packaging && rst2.Data.ChestState != EnumChestState.InFabStore) { result.Code = 1001; result.Message = string.Format("柜 {0} 非 [{1}或{2}] 状态,不能入柜。" , model.ChestNo.ToUpper() , EnumChestState.Packaging.GetDisplayName() , EnumChestState.InFabStore.GetDisplayName()); return(Json(result)); } //设置满柜数量。 if (rst2.Code <= 0 && rst2.Data != null) { model.CurrentQuantity = rst2.Data.Quantity; } MethodReturnResult <Package> rstOfPackage = null; using (PackageQueryServiceClient clientOfPackage = new PackageQueryServiceClient()) { rstOfPackage = clientOfPackage.Get(model.PackageNo.ToUpper().Trim()); } using (MaterialChestParameterServiceClient client1 = new MaterialChestParameterServiceClient()) { MethodReturnResult <MaterialChestParameter> rst3 = client1.Get(rstOfPackage.Data.MaterialCode); if (rst3.Data != null) { model.FullQuantity = rst3.Data.FullChestQty; } else { return(Json(rst3)); } } } //如果满柜数量为空,提示 if (model.FullQuantity == 0) { result.Code = 1001; result.Message = string.Format("托号内产品编码【{0}】设置的满柜数量为0,请联系成柜规则设定人员修改。", rst2.Data.MaterialCode); return(Json(result)); } double newCurrentQuantity = model.CurrentQuantity + 1; //当前数量超过满柜数量,不能继续入柜。 if (newCurrentQuantity > model.FullQuantity) { result.Code = 1; result.Message = string.Format("柜({0}) 当前数量({1})加上该托号({2})数量({3}),超过满柜数量。" , model.ChestNo.ToUpper() , model.CurrentQuantity , model.PackageNo.ToUpper().Trim() , 1); return(Json(result)); } model.CurrentQuantity = newCurrentQuantity; result = Chest(model); //返回成柜结果。 if (result.Code <= 0) { model.StoreLocation = result.Detail.Split('-')[1]; MethodReturnResult <ChestViewModel> rstFinal = new MethodReturnResult <ChestViewModel>() { Code = result.Code, Data = model, Detail = result.Detail, HelpLink = result.HelpLink, Message = result.Message }; return(Json(rstFinal)); } } catch (Exception ex) { result.Code = 1000; result.Message = ex.Message; result.Detail = ex.ToString(); } // 如果我们进行到这一步时某个地方出错,则重新显示表单 return(Json(result)); }