// GET: /FMM/MaterialChestParameter/Detail public async Task <ActionResult> Detail(string productCode) { using (MaterialChestParameterServiceClient client = new MaterialChestParameterServiceClient()) { MethodReturnResult <MaterialChestParameter> result = await client.GetAsync(productCode); if (result.Code == 0) { MaterialChestParameterViewModel viewModel = new MaterialChestParameterViewModel() { ProductCode = result.Data.Key, ColorLimit = result.Data.ColorLimit, GradeLimit = result.Data.GradeLimit, PowerLimit = result.Data.PowerLimit, IscLimit = result.Data.IscLimit, FullChestQty = result.Data.FullChestQty, InChestFullPackageQty = result.Data.InChestFullPackageQty, IsPackagedChest = result.Data.IsPackagedChest, OrderNumberLimit = result.Data.OrderNumberLimit, LastChestMaterialLimit = result.Data.LastChestMaterialLimit, Creator = result.Data.Creator, CreateTime = result.Data.CreateTime, Editor = result.Data.Editor, EditTime = result.Data.EditTime }; return(PartialView("_InfoPartial", viewModel)); } else { ModelState.AddModelError("", result.Message); } } return(PartialView("_InfoPartial")); }
public async Task <ActionResult> Delete(string productCode) { MethodReturnResult result = new MethodReturnResult(); using (MaterialChestParameterServiceClient client = new MaterialChestParameterServiceClient()) { result = await client.DeleteAsync(productCode); if (result.Code == 0) { result.Message = string.Format(FMMResources.StringResource.MaterialChestParameter_Delete_Success, productCode); } return(Json(result)); } }
// 获取柜信息--当前数量/是否尾包/库位 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 async Task <ActionResult> SaveModify(MaterialChestParameterViewModel model) { using (MaterialChestParameterServiceClient client = new MaterialChestParameterServiceClient()) { MethodReturnResult <MaterialChestParameter> result = await client.GetAsync(model.ProductCode); if (result.Code == 0) { MethodReturnResult rst = new MethodReturnResult(); if (model.FullChestQty < 0) { rst.Code = 1001; rst.Message = String.Format("满柜数量不可小于0"); return(Json(rst)); } if (model.InChestFullPackageQty < 0) { rst.Code = 1001; rst.Message = String.Format("柜最大满包数量不可小于0"); return(Json(rst)); } result.Data.Key = model.ProductCode; result.Data.ColorLimit = model.ColorLimit; result.Data.GradeLimit = model.GradeLimit; result.Data.PowerLimit = model.PowerLimit; result.Data.IscLimit = model.IscLimit; result.Data.FullChestQty = model.FullChestQty; result.Data.InChestFullPackageQty = model.InChestFullPackageQty; result.Data.IsPackagedChest = model.IsPackagedChest; result.Data.OrderNumberLimit = model.OrderNumberLimit; result.Data.LastChestMaterialLimit = model.LastChestMaterialLimit; result.Data.Editor = User.Identity.Name; result.Data.EditTime = DateTime.Now; rst = await client.ModifyAsync(result.Data); if (rst.Code == 0) { rst.Message = string.Format(FMMResources.StringResource.MaterialChestParameter_SaveModify_Success, result.Data.Key); } return(Json(rst)); } return(Json(result)); } }
public async Task <ActionResult> Save(MaterialChestParameterViewModel model) { using (MaterialChestParameterServiceClient client = new MaterialChestParameterServiceClient()) { MethodReturnResult rst = new MethodReturnResult(); if (model.FullChestQty < 0) { rst.Code = 1001; rst.Message = String.Format("满柜数量不可小于0"); return(Json(rst)); } if (model.InChestFullPackageQty < 0) { rst.Code = 1001; rst.Message = String.Format("柜最大满包数量不可小于0"); return(Json(rst)); } MaterialChestParameter obj = new MaterialChestParameter() { Key = model.ProductCode, ColorLimit = model.ColorLimit, GradeLimit = model.GradeLimit, PowerLimit = model.PowerLimit, IscLimit = model.IscLimit, FullChestQty = model.FullChestQty, InChestFullPackageQty = model.InChestFullPackageQty, IsPackagedChest = model.IsPackagedChest, OrderNumberLimit = model.OrderNumberLimit, LastChestMaterialLimit = model.LastChestMaterialLimit, Creator = User.Identity.Name, CreateTime = DateTime.Now, Editor = User.Identity.Name, EditTime = DateTime.Now, }; rst = await client.AddAsync(obj); if (rst.Code == 0) { rst.Message = string.Format(FMMResources.StringResource.MaterialChestParameter_Save_Success, obj.Key); } return(Json(rst)); } }
public async Task <ActionResult> PagingQuery(string where, string orderBy, int?currentPageNo, int?currentPageSize) { if (ModelState.IsValid) { int pageNo = currentPageNo ?? 0; int pageSize = currentPageSize ?? 20; if (Request["PageNo"] != null) { pageNo = Convert.ToInt32(Request["PageNo"]); } if (Request["PageSize"] != null) { pageSize = Convert.ToInt32(Request["PageSize"]); } using (MaterialChestParameterServiceClient client = new MaterialChestParameterServiceClient()) { await Task.Run(() => { PagingConfig cfg = new PagingConfig() { PageNo = pageNo, PageSize = pageSize, Where = where ?? string.Empty, OrderBy = orderBy ?? string.Empty }; MethodReturnResult <IList <MaterialChestParameter> > result = client.Get(ref cfg); if (result.Code == 0) { ViewBag.PagingConfig = cfg; ViewBag.List = result.Data; } }); } } return(PartialView("_ListPartial")); }
//GET: /FMM/MaterialChestParameter/ public async Task <ActionResult> Index(string productCode) { using (MaterialServiceClient client = new MaterialServiceClient()) { MethodReturnResult <Material> result = await client.GetAsync(productCode ?? string.Empty); if (result.Code > 0 || result.Data == null) { return(RedirectToAction("Index", "Material")); } ViewBag.Material = result.Data; } using (MaterialChestParameterServiceClient client = new MaterialChestParameterServiceClient()) { await Task.Run(() => { PagingConfig cfg = new PagingConfig() { OrderBy = " Key ", Where = string.Format(" Key = '{0}'", productCode) }; MethodReturnResult <IList <MaterialChestParameter> > result = client.Get(ref cfg); if (result.Code == 0) { ViewBag.PagingConfig = cfg; ViewBag.List = result.Data; } }); } return(View(new MaterialChestParameterQueryViewModel() { ProductCode = productCode })); }
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)); }