public ActionResult Query(BoxQueryViewModel model) { using (PackageQueryServiceClient client = new PackageQueryServiceClient()) { PagingConfig cfg = new PagingConfig() { OrderBy = "Key.PackageNo,ItemNo", Where = GetQueryCondition(model) }; MethodReturnResult <IList <PackageDetail> > result = client.GetDetail(ref cfg); if (result.Code == 0) { ViewBag.PagingConfig = cfg; ViewBag.List = result.Data; } } if (Request.IsAjaxRequest()) { return(PartialView("_ListPartial", new PackageViewModel())); } else { return(View("Index", model)); } }
public async Task <ActionResult> Query(LotPackageSEModulesViewModel model) { if (ModelState.IsValid) { using (PackageQueryServiceClient client = new PackageQueryServiceClient()) { await Task.Run(() => { PagingConfig cfg = new PagingConfig() { OrderBy = "Key", Where = GetQueryCondition(model) }; MethodReturnResult <IList <Package> > result = client.Get(ref cfg); if (result.Code == 0) { ViewBag.PagingConfig = cfg; ViewBag.List = result.Data; } }); } } if (Request.IsAjaxRequest()) { return(PartialView("_ListPartial", new LotPackageSEModulesViewModel())); } else { return(View("Index", model)); } }
public async Task<ActionResult> QueryPackage(IVTestDataForPackageQueryViewModel model) { if (ModelState.IsValid) { using (PackageQueryServiceClient client = new PackageQueryServiceClient()) { await Task.Run(() => { PagingConfig cfg = new PagingConfig() { OrderBy = "Key.PackageNo,ItemNo", Where = GetQueryCondition(model) }; MethodReturnResult<IList<PackageDetail>> result = client.GetDetail(ref cfg); if (result.Code == 0) { ViewBag.PagingConfig = cfg; ViewBag.List = result.Data; } }); } } if (Request.IsAjaxRequest()) { return PartialView("_ListPartialPackage", new IVTestDataForPackageViewModel()); } else { return View("IndexPackage", model); } }
public MethodReturnResult GetPackage(string packageNo) { MethodReturnResult result = new MethodReturnResult(); MethodReturnResult <Package> rst = null; Package obj = null; using (PackageQueryServiceClient client = new PackageQueryServiceClient()) { rst = client.Get(packageNo); if (rst.Code <= 0 && rst.Data != null) { obj = rst.Data; } else { result.Code = rst.Code; result.Message = rst.Message; result.Detail = rst.Detail; return(result); } } if (obj == null || obj.Quantity <= 0) { result.Code = 2001; result.Message = string.Format("包装 {0} 不存在。", packageNo); return(result); } return(rst); }
public ActionResult Query(string boxNo) { if (!string.IsNullOrEmpty(boxNo)) { using (PackageQueryServiceClient client = new PackageQueryServiceClient()) { PagingConfig cfg = new PagingConfig() { IsPaging = false, OrderBy = "ItemNo", Where = string.Format(@"Key.PackageNo='{0}' AND EXISTS(FROM Package as p WHERE p.Key=self.Key.PackageNo AND PackageState='{1}' AND PackageType='{2}')" , boxNo , Convert.ToInt32(EnumPackageState.Packaging) , Convert.ToInt32(EnumPackageType.Box)) }; MethodReturnResult <IList <PackageDetail> > result = client.GetDetail(ref cfg); if (result.Code == 0) { ViewBag.PackageDetailList = result.Data; } } } return(PartialView("_ListPartial", new PackageViewModel())); }
/// <summary> /// 获取装箱信息。 /// </summary> /// <param name="boxNo"></param> /// <returns></returns> public ActionResult GetBoxInfo(string boxNo) { double currentQuantity = 0; if (!string.IsNullOrEmpty(boxNo)) { //获取当前数量 using (PackageQueryServiceClient client = new PackageQueryServiceClient()) { MethodReturnResult <Package> rst2 = client.Get(boxNo); if (rst2.Code == 1000) { return(Json(rst2)); } if (rst2.Code <= 0 && rst2.Data != null && rst2.Data.PackageState == EnumPackageState.Packaging) { currentQuantity = rst2.Data.Quantity; } } } return(Json(new{ CurrentQuantity = currentQuantity }, JsonRequestBehavior.AllowGet)); }
public ActionResult QueryPackageNo(String packageNo) { if (!string.IsNullOrEmpty(packageNo)) { using (PackageQueryServiceClient client = new PackageQueryServiceClient()) { MethodReturnResult <Package> result2 = client.Get(packageNo.Trim().ToUpper()); if (result2.Code == 0) { ViewBag.Package = result2.Data; } PagingConfig cfg = new PagingConfig() { IsPaging = false, Where = string.Format(@"Key.PackageNo='{0}'", packageNo.Trim().ToUpper()), OrderBy = "ItemNo" }; MethodReturnResult <IList <PackageDetail> > result = client.GetDetail(ref cfg); if (result.Code == 0) { ViewBag.PackageDetailList = result.Data; } } } return(PartialView("_ListPackageQuery", new ZPVMLotPackageViewModel())); }
public ActionResult PagingQueryPackage(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 (PackageQueryServiceClient client = new PackageQueryServiceClient()) { PagingConfig cfg = new PagingConfig() { PageNo = pageNo, PageSize = pageSize, Where = where ?? string.Empty, OrderBy = orderBy ?? string.Empty }; MethodReturnResult<IList<PackageDetail>> result = client.GetDetail(ref cfg); if (result.Code == 0) { ViewBag.PagingConfig = cfg; ViewBag.List = result.Data; }; } } return PartialView("_ListPartialPackage", new IVTestDataForPackageViewModel()); }
public Package GetPackage(string packageNo) { using (PackageQueryServiceClient client = new PackageQueryServiceClient()) { MethodReturnResult <Package> result = client.Get(packageNo); return(result.Data); } }
public ActionResult UnPackage(string packageNo, int itemNo, string lotNumber) { MethodReturnResult result = new MethodReturnResult(); //进行批次包装作业。 PackageParameter p = new PackageParameter() { Creator = User.Identity.Name, LotNumbers = new List<string>(), OperateComputer = Request.UserHostAddress, Operator = User.Identity.Name, PackageNo = packageNo.ToUpper(), }; p.LotNumbers.Add(lotNumber.ToUpper()); try { //获取包装记录 using (PackageQueryServiceClient client = new PackageQueryServiceClient()) { MethodReturnResult<Package> rst1 = client.Get(packageNo); if (rst1.Code > 0 || rst1.Data == null) { return Json(rst1); } //判断包装记录目前是否处于包装中状态。 //if (rst1.Data.PackageState != EnumPackageState.Packaging) //{ // result.Code = 1001; // result.Message = string.Format("包装{0}为非{1}状态,不能删除。" // , packageNo // , EnumPackageState.Packaging.GetDisplayName()); // return Json(result); //} } using (LotPackageServiceClient client = new LotPackageServiceClient()) { result = client.UnPackage(p); if (result.Code == 0 ) { result.Message = string.Format("拆包({1})成功。" , p.PackageNo); } } return Json(result); } catch (Exception ex) { result.Code = 1000; result.Message = ex.Message; result.Detail = ex.ToString(); } // 如果我们进行到这一步时某个地方出错,则重新显示表单 return Json(result); }
public ActionResult TrackOutPackage(LotPackageViewModel model) { MethodReturnResult result = new MethodReturnResult(); try { //如果包装号为空。 if (string.IsNullOrEmpty(model.PackageNo)) { result.Code = 1001; result.Message = string.Format("包装号不能为空。"); return Json(result); } Package obj = null; //如果当前数量为空,获取当前数量 using (PackageQueryServiceClient client = new PackageQueryServiceClient()) { MethodReturnResult<Package> rst2 = client.Get(model.PackageNo); if (rst2.Code > 0) { return Json(rst2); } //检查包装状态 if (rst2.Data.PackageState != EnumPackageState.Packaged) { result.Code = 1001; result.Message = string.Format("包 {0} 非{1}状态,不能操作。" , model.PackageNo.ToUpper() , EnumPackageState.Packaged.GetDisplayName()); return Json(result); } } //result = Package(model); //返回包装结果。 if (result.Code <= 0) { MethodReturnResult<LotPackageViewModel> rstFinal = new MethodReturnResult<LotPackageViewModel>() { 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 Query(string packageNo) { //获取需要录入的批次号自定义特性 IList <BaseAttribute> lstAttribute = new List <BaseAttribute>(); using (BaseAttributeServiceClient client = new BaseAttributeServiceClient()) { PagingConfig cfg = new PagingConfig() { IsPaging = false, Where = string.Format("Key.CategoryName='{0}'", "LotPackageAttribute") }; MethodReturnResult <IList <BaseAttribute> > result = client.Get(ref cfg); if (result.Code <= 0 && result.Data != null && result.Data.Count > 0) { lstAttribute = result.Data; } } ViewBag.AttributeList = lstAttribute; if (!string.IsNullOrEmpty(packageNo)) { using (PackageQueryServiceClient client = new PackageQueryServiceClient()) { PagingConfig cfg = new PagingConfig() { IsPaging = false, OrderBy = "ItemNo", Where = string.Format(@"Key.PackageNo='{0}' AND EXISTS(FROM Package as p WHERE p.Key=self.Key.PackageNo AND ( PackageState='{1}' or PackageState='{2}') AND PackageType='{3}')" , packageNo.ToUpper() , Convert.ToInt32(EnumPackageState.Packaging) , Convert.ToInt32(EnumPackageState.Packaged) , Convert.ToInt32(EnumPackageType.Packet)) }; MethodReturnResult <Package> result2 = client.Get(packageNo.ToUpper()); if (result2.Code == 0) { ViewBag.Package = result2.Data; } MethodReturnResult <IList <PackageDetail> > result = client.GetDetail(ref cfg); if (result.Code == 0) { ViewBag.PackageDetailList = result.Data; } } } return(PartialView("_ListPartial", new ZPVMLotViewModel())); }
/// <summary> /// 获取包装信息。 /// </summary> /// <param name="packageNo"></param> /// <returns></returns> public ActionResult GetPackageInfo(string packageNo) { double currentQuantity = 0; double fullQuantity = 25; string orderNumber = string.Empty; bool isLastestPackage = false; if (!string.IsNullOrEmpty(packageNo)) { //获取当前数量 using (PackageQueryServiceClient client = new PackageQueryServiceClient()) { MethodReturnResult<Package> rst2 = client.Get(packageNo); if (rst2.Code == 1000) { return Json(rst2); } if (rst2.Code <= 0 && rst2.Data != null && rst2.Data.PackageState==EnumPackageState.Packaging) { currentQuantity = rst2.Data.Quantity; orderNumber = rst2.Data.OrderNumber; isLastestPackage = rst2.Data.IsLastPackage; } } if (!string.IsNullOrEmpty(orderNumber)) { //获取满包数量 using (WorkOrderAttributeServiceClient client = new WorkOrderAttributeServiceClient()) { MethodReturnResult<WorkOrderAttribute> rst1 = client.Get(new WorkOrderAttributeKey() { OrderNumber = orderNumber, AttributeName = "FullPackageQuantity" }); if (rst1.Code == 1000) { return Json(rst1); } if (rst1.Data != null && !string.IsNullOrEmpty(rst1.Data.AttributeValue)) { double.TryParse(rst1.Data.AttributeValue, out fullQuantity); } } } } return Json(new{ CurrentQuantity = currentQuantity, FullQuantity = fullQuantity, IsLastestPackage = isLastestPackage }, JsonRequestBehavior.AllowGet); }
/// <summary> /// 获取包装信息。 /// </summary> /// <param name="packageNo"></param> /// <returns></returns> public ActionResult GetPackageInfo(string packageNo) { double currentQuantity = 0; double fullPackageQty = 0; string orderNumber = string.Empty; string materialCode = string.Empty; bool isLatestPackage = false; int nPackageState = 0; if (!string.IsNullOrEmpty(packageNo)) { //获取当前数量 using (PackageQueryServiceClient client = new PackageQueryServiceClient()) { MethodReturnResult <Package> rst2 = client.Get(packageNo); if (rst2.Code == 1000) { return(Json(rst2)); } if (rst2.Code <= 0 && rst2.Data != null && rst2.Data.PackageState == EnumPackageState.Packaging) { currentQuantity = rst2.Data.Quantity; orderNumber = rst2.Data.OrderNumber; materialCode = rst2.Data.MaterialCode; isLatestPackage = rst2.Data.IsLastPackage; nPackageState = Convert.ToInt32(rst2.Data.PackageState); } } if (!string.IsNullOrEmpty(orderNumber)) { //获取满包数量 using (WorkOrderRuleServiceClient client = new WorkOrderRuleServiceClient()) { MethodReturnResult <WorkOrderRule> rst1 = client.Get(new WorkOrderRuleKey() { OrderNumber = orderNumber, MaterialCode = materialCode }); if (rst1.Code == 0 && rst1.Data != null) { fullPackageQty = rst1.Data.FullPackageQty; } } } } return(Json(new{ CurrentQuantity = currentQuantity, FullPackageQty = fullPackageQty, IsLastestPackage = isLatestPackage, PackageState = nPackageState }, JsonRequestBehavior.AllowGet)); }
//获取托数据 public Package GetPackage(string PackageNo) { using (PackageQueryServiceClient client = new PackageQueryServiceClient()) { MethodReturnResult <Package> result = client.Get(PackageNo); if (result.Code <= 0 && result.Data != null) { return(result.Data); } } return(null); }
private bool SetPrintObject(Package obj, ref dynamic d) { //获取箱第一包的数据 string packageNo = string.Empty; PackageInfo packageInfo = new PackageInfo(); using (PackageQueryServiceClient client = new PackageQueryServiceClient()) { PagingConfig cfg = new PagingConfig() { PageNo = 0, PageSize = 1, Where = string.Format("Key.PackageNo='{0}' AND Key.ObjectType='{1}'" , obj.Key , Convert.ToInt32(EnumPackageObjectType.Packet)), OrderBy = "ItemNo" }; MethodReturnResult <IList <PackageDetail> > rst = client.GetDetail(ref cfg); if (rst.Code <= 0 && rst.Data != null && rst.Data.Count > 0) { packageNo = rst.Data[0].Key.ObjectNumber; } } if (string.IsNullOrEmpty(packageNo)) { return(false); } using (PackageInfoServiceClient client = new PackageInfoServiceClient()) { MethodReturnResult <PackageInfo> rst = client.Get(packageNo); if (rst.Code <= 0 && rst.Data != null) { packageInfo = rst.Data; } else { return(false); } } d.CartonNo = obj.Key.ToUpper(); d.Color = packageInfo.Color; d.Date = obj.CreateTime.Value.ToString("yyyy.MM.dd"); d.Eff = packageInfo.EfficiencyName; d.Grade = packageInfo.Grade; d.PartNo = packageInfo.ConfigCode; d.PNType = packageInfo.PNType; d.ProdID = packageInfo.ProductId; d.Qty = string.Format("{0}PCS", obj.Quantity); return(true); }
public MethodReturnResult GetBox(BoxPrintViewModel model) { MethodReturnResult result = new MethodReturnResult(); MethodReturnResult <IList <Package> > rst = null; IList <Package> lst = null; using (PackageQueryServiceClient client = new PackageQueryServiceClient()) { PagingConfig cfg = new PagingConfig() { IsPaging = false, OrderBy = "Key" }; cfg.Where = string.Format("PackageType='{0}'", Convert.ToInt32(EnumPackageType.Box)); if (!string.IsNullOrEmpty(model.BoxNo1) && !string.IsNullOrEmpty(model.BoxNo)) { cfg.Where += string.Format(" AND Key>='{0}' AND Key<='{1}'", model.BoxNo, model.BoxNo1); } else { cfg.Where += string.Format(" AND Key='{0}'", model.BoxNo); } rst = client.Get(ref cfg); if (rst.Code <= 0 && rst.Data != null) { lst = rst.Data; } else { result.Code = rst.Code; result.Message = rst.Message; result.Detail = rst.Detail; return(result); } } if (lst == null || lst.Count == 0) { result.Code = 2001; string message = string.Format("{0}-{1}", model.BoxNo, model.BoxNo1); result.Message = string.Format("电池箱数据 {0} 不存在。", message); return(result); } return(rst); }
public ActionResult Detail(string packageNo) { using (PackageQueryServiceClient client = new PackageQueryServiceClient()) { MethodReturnResult <DataSet> result = client.GetPackageTransaction(packageNo); if (result.Code == 0) { ViewBag.List = result.Data.Tables[0]; } ; } return(View("DetailPartial")); }
// 获取托号信息 private MethodReturnResult GetPackage(string packageNo) { MethodReturnResult result = new MethodReturnResult(); MethodReturnResult <Package> rst = null; Package obj = null; using (PackageQueryServiceClient client = new PackageQueryServiceClient()) { rst = client.Get(packageNo); if (rst.Code <= 0 && rst.Data != null) { obj = rst.Data; } else { result.Code = rst.Code; result.Message = rst.Message; result.Detail = rst.Detail; return(result); } } if (obj == null) { result.Code = 2001; result.Message = string.Format(@"包装号[{0}]不存在。", packageNo); return(result); } else if (obj.ContainerNo != null && obj.ContainerNo != "") { result.Code = 2002; result.Message = string.Format("包装号[{0}]已入柜[{1}]。", packageNo, obj.ContainerNo); return(result); } //else if (obj.PackageState != EnumPackageState.ToWarehouse && obj.PackageState != EnumPackageState.Shipped) //{ // result.Code = 2003; // result.Message = string.Format("包装号[{0}]未入库。", packageNo); // return result; //} else if (obj.PackageState == EnumPackageState.Packaging || obj.PackageState == EnumPackageState.InFabStore || obj.PackageState == EnumPackageState.Shipped) { result.Code = 2003; result.Message = string.Format("包装号[{0}]当前状态[{1}],不可入柜!", packageNo, obj.PackageState.GetDisplayName()); return(result); } return(rst); }
/// <summary> /// 获取包装号数据 /// </summary> /// <param name="model"></param> /// <returns></returns> public ActionResult GetRPTPackageNoInfo(PackageNoAddDesViewModel model) { using (PackageQueryServiceClient client = new PackageQueryServiceClient()) { RPTpackagelistParameter param = new RPTpackagelistParameter(); param.PackageNo = model.PackageNo; MethodReturnResult <DataSet> result = client.GetRPTPackageNoInfo(param); if (result.Code == 0) { ViewBag.List = result.Data.Tables[0]; } ; } return(PartialView("_ListPartial")); }
//获取托明细 public PackageDetail GetPackageDetail(string PackageNo) { using (PackageQueryServiceClient client = new PackageQueryServiceClient()) { PagingConfig cfg = new PagingConfig() { IsPaging = false, Where = string.Format("Key.PackageNo ='{0}' and ItemNo=1", PackageNo) }; MethodReturnResult <IList <PackageDetail> > result = client.GetDetail(ref cfg); if (result.Code <= 0 && result.Data != null) { return(result.Data[0]); } } return(null); }
private MethodReturnResult GetPackage(string packageNo) { //如果本次请求有成功获取到电池小包对象,直接返回。 if (ViewBag.Package != null) { return(ViewBag.Package); } MethodReturnResult result = new MethodReturnResult(); MethodReturnResult <Package> rst = null; Package obj = null; using (PackageQueryServiceClient client = new PackageQueryServiceClient()) { rst = client.Get(packageNo); if (rst.Code <= 0 && rst.Data != null) { obj = rst.Data; ViewBag.Package = rst; } else { result.Code = rst.Code; result.Message = rst.Message; result.Detail = rst.Detail; return(result); } } if (obj == null) { result.Code = 2001; result.Message = string.Format("电池小包 {0} 不存在。", packageNo); return(result); } else if (obj.PackageState == EnumPackageState.Packaged) { result.Code = 2002; result.Message = string.Format("电池小包 {0} 已装箱。", packageNo); return(result); } return(rst); }
public ActionResult CleanBin(CleanBinViewModel model) { MethodReturnResult result = new MethodReturnResult(); using (PackageQueryServiceClient client = new PackageQueryServiceClient()) { result = client.CleanBin(model.LineCode, model.BinNo); if (result.Code == 0) { if (model.BinNo == null) { result.Message = string.Format("清{0}线Bin成功!", model.LineCode); } else { result.Message = string.Format("清{0}线{1}号Bin成功!", model.LineCode, model.BinNo); } } ; } return(Json(result)); }
public ActionResult SaveModify(PackageNoAddDesViewModel model) { using (PackageQueryServiceClient client = new PackageQueryServiceClient()) { MethodReturnResult <Package> result = client.Get(model.PackageNo); if (result.Code == 0) { result.Data.Description = model.Description; MethodReturnResult rst = client.UpdateAdd(result.Data, model.Action); if (rst.Code == 0) { rst.Message = string.Format("包装号{0}添加描述成功" , result.Data.Key); } return(Json(rst)); } else { result.Message = string.Format("包装号{0}不存在于当前库,已归档", model.PackageNo); return(Json(result)); } } }
//public ActionResult GetPackageTransaction(PackageTransactionQueryViewModel model) //{ // using (PackageQueryServiceClient client = new PackageQueryServiceClient()) // { // MethodReturnResult<DataSet> result = client.GetPackageTransaction(model.PackageNo); // if (result.Code == 0) // { // ViewBag.List = result.Data.Tables[0]; // }; // } // return PartialView("_ListPartial"); //} /// <summary>包装历史记录数据查询(存储过程获取数据) </summary> /// <param name="model"></param> /// <returns></returns> public ActionResult GetPackageTransaction(PackageTransactionViewModel model) { string strErrorMessage = string.Empty; MethodReturnResult <DataSet> result = new MethodReturnResult <DataSet>(); try { RPTpackagelistParameter param = GetQueryConditionP(model); using (PackageQueryServiceClient client = new PackageQueryServiceClient()) { MethodReturnResult <DataSet> ds = client.GetPackageTransactionQueryDb(ref param); ViewBag.ListData = ds.Data.Tables[0]; ViewBag.PagingConfig = new PagingConfig() { PageNo = model.PageNo, PageSize = model.PageSize, Records = param.TotalRecords }; model.TotalRecords = param.TotalRecords; } } catch (Exception ex) { result.Code = 1000; result.Message = ex.Message; result.Detail = ex.ToString(); } if (Request.IsAjaxRequest()) { return(PartialView("_ListPartial", model)); } else { return(View("Index", model)); } }
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 (PackageQueryServiceClient client = new PackageQueryServiceClient()) { await Task.Run(() => { PagingConfig cfg = new PagingConfig() { PageNo = pageNo, PageSize = pageSize, Where = where ?? string.Empty, OrderBy = orderBy ?? string.Empty }; MethodReturnResult <IList <Package> > result = client.Get(ref cfg); if (result.Code == 0) { ViewBag.PagingConfig = cfg; ViewBag.List = result.Data; } }); } } return(PartialView("_ListPartial", new LotPackageSEModulesViewModel())); }
public ActionResult Save(LotPackageViewModel model) { MethodReturnResult result = new MethodReturnResult(); try { //获取批次数据。 string lotNumber = model.LotNumber.ToUpper(); result = GetLot(lotNumber); if (result.Code > 0) { return(Json(result)); } MethodReturnResult <Lot> rst = result as MethodReturnResult <Lot>; Lot obj = rst.Data; //如果包装号为空。生成包装号。 if (string.IsNullOrEmpty(model.PackageNo)) { using (LotPackageServiceClient client = new LotPackageServiceClient()) { MethodReturnResult <string> rst1 = client.Generate(model.LotNumber, model.IsLastestPackage); if (rst1.Code > 0) { return(Json(rst1)); } else { model.PackageNo = rst1.Data; } } } //重新获取当前数量。 using (PackageQueryServiceClient client = new PackageQueryServiceClient()) { MethodReturnResult <Package> rst2 = client.Get(model.PackageNo); if (rst2.Code == 1000) { return(Json(rst2)); } //检查包装状态 if (rst2.Data != null && rst2.Data.PackageState != EnumPackageState.Packaging) { result.Code = 1001; result.Message = string.Format("包 {0} 非 [{1}] 状态,不能包装。" , model.PackageNo.ToUpper() , EnumPackageState.Packaging.GetDisplayName()); return(Json(result)); } //设置当前数量。 if (rst2.Code <= 0 && rst2.Data != null) { model.CurrentQuantity = rst2.Data.Quantity; } } //如果满包数量为空,获取满包数量 if (model.FullQuantity == 0) { using (WorkOrderAttributeServiceClient client = new WorkOrderAttributeServiceClient()) { MethodReturnResult <WorkOrderAttribute> rst1 = client.Get(new WorkOrderAttributeKey() { OrderNumber = obj.OrderNumber, AttributeName = "FullPackageQuantity" }); double fullQuantity = 25; if (rst1.Code == 1000) { return(Json(rst1)); } if (rst1.Data != null && !string.IsNullOrEmpty(rst1.Data.AttributeValue)) { double.TryParse(rst1.Data.AttributeValue, out fullQuantity); } model.FullQuantity = fullQuantity; } } double newCurrentQuantity = model.CurrentQuantity + obj.Quantity; //当前数量超过满包数量,不能继续包装。 if (newCurrentQuantity > model.FullQuantity) { result.Code = 1; result.Message = string.Format("包({0}) 当前数量({1})加上批次({2})数量({3}),超过满包数量。" , model.PackageNo.ToUpper() , model.CurrentQuantity , obj.Key , obj.Quantity); return(Json(result)); } model.CurrentQuantity = newCurrentQuantity; //判断批次工序是否在当前工序。 if (obj.RouteStepName != model.RouteOperationName) { result.Code = 2; result.Message = string.Format("批次({0})当前所在工序({1}),不能在({2})工序上操作。" , obj.Key , obj.RouteStepName , model.RouteOperationName); return(Json(result)); } //判断批次所在车间和当前线所在车间是否匹配。 //获取线别车间。 string locationName = string.Empty; using (ProductionLineServiceClient client = new ProductionLineServiceClient()) { MethodReturnResult <ProductionLine> r = client.Get(model.LineCode); if (r.Code <= 0) { locationName = r.Data.LocationName; } } if (!string.IsNullOrEmpty(locationName)) { using (LocationServiceClient client = new LocationServiceClient()) { MethodReturnResult <Location> r = client.Get(locationName); if (r.Code <= 0) { locationName = r.Data.ParentLocationName; } } } //检查批次车间和线别车间是否匹配。 if (obj.LocationName != locationName) { result.Code = 3; result.Message = string.Format("批次({0})属于({1})车间,不能在({2})车间线别上操作。" , lotNumber.ToUpper() , obj.LocationName , locationName); return(Json(result)); } result = Package(model); //返回包装结果。 if (result.Code <= 0) { MethodReturnResult <LotPackageViewModel> rstFinal = new MethodReturnResult <LotPackageViewModel>() { 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 Delete(string packageNo, int itemNo, string lotNumber) { MethodReturnResult result = new MethodReturnResult(); try { //获取包装记录 using (PackageQueryServiceClient client = new PackageQueryServiceClient()) { MethodReturnResult <Package> rst1 = client.Get(packageNo); if (rst1.Code > 0 || rst1.Data == null) { return(Json(rst1)); } //判断包装记录目前是否处于包装中状态。 if (rst1.Data.PackageState != EnumPackageState.Packaging) { result.Code = 1001; result.Message = string.Format("包装{0}为非{1}状态,不能删除。" , packageNo , EnumPackageState.Packaging.GetDisplayName()); return(Json(result)); } } //获取最后一笔包装记录。 IList <string> lstTransactionKey = new List <string>(); using (LotQueryServiceClient client = new LotQueryServiceClient()) { PagingConfig cfg = new PagingConfig() { IsPaging = false, Where = string.Format("LotNumber='{0}' AND UndoFlag=0" , lotNumber) }; MethodReturnResult <IList <LotTransaction> > rst1 = client.GetTransaction(ref cfg); if (rst1.Code <= 0 && rst1.Data != null) { var lnq = from item in rst1.Data orderby item.CreateTime descending select item; foreach (LotTransaction item in lnq) { lstTransactionKey.Add(item.Key); if (item.Activity == EnumLotActivity.Package) { break; } } } else { return(Json(rst1)); } } //可撤销操作主键不为空。 if (lstTransactionKey.Count > 0) { UndoParameter p = new UndoParameter() { Creator = User.Identity.Name, LotNumbers = new List <string>(), OperateComputer = Request.UserHostAddress, Operator = User.Identity.Name, UndoTransactionKeys = new Dictionary <string, IList <string> >() }; p.LotNumbers.Add(lotNumber); p.UndoTransactionKeys.Add(lotNumber, lstTransactionKey); using (LotUndoServiceClient client = new LotUndoServiceClient()) { result = client.Undo(p); if (result.Code == 0) { result.Message = string.Format("删除 ({0}:{1}:{2}) 成功。" , packageNo, itemNo, lotNumber); } } } } catch (Exception ex) { result.Code = 1000; result.Message = ex.Message; result.Detail = ex.ToString(); } // 如果我们进行到这一步时某个地方出错,则重新显示表单 return(Json(result)); }
public ActionResult Finish(LotPackageViewModel model) { MethodReturnResult result = new MethodReturnResult(); try { //如果包装号为空。 if (string.IsNullOrEmpty(model.PackageNo)) { result.Code = 1001; result.Message = string.Format("包装号不能为空。"); return(Json(result)); } Package obj = null; //如果当前数量为空,获取当前数量 using (PackageQueryServiceClient client = new PackageQueryServiceClient()) { MethodReturnResult <Package> rst2 = client.Get(model.PackageNo); if (rst2.Code > 0) { return(Json(rst2)); } //检查包装状态 if (rst2.Data.PackageState != EnumPackageState.Packaging) { result.Code = 1001; result.Message = string.Format("包 {0} 非{1}状态,不能操作。" , model.PackageNo.ToUpper() , EnumPackageState.Packaging.GetDisplayName()); return(Json(result)); } //设置当前数量。 if (rst2.Code <= 0 && rst2.Data != null) { obj = rst2.Data; model.CurrentQuantity = rst2.Data.Quantity; } } //如果满包数量为空,获取满包数量 if (model.FullQuantity == 0) { using (WorkOrderAttributeServiceClient client = new WorkOrderAttributeServiceClient()) { MethodReturnResult <WorkOrderAttribute> rst1 = client.Get(new WorkOrderAttributeKey() { OrderNumber = obj.OrderNumber, AttributeName = "FullPackageQuantity" }); double fullQuantity = 25; if (rst1.Code == 1000) { return(Json(rst1)); } if (rst1.Data != null && !string.IsNullOrEmpty(rst1.Data.AttributeValue)) { double.TryParse(rst1.Data.AttributeValue, out fullQuantity); } model.FullQuantity = fullQuantity; } } //非尾包,不能完成包装并过站 if (model.IsFinishPackage == true && model.IsLastestPackage == false && model.CurrentQuantity != model.FullQuantity) { result.Code = 1; result.Message = string.Format("包({0})非尾包,包装数量未达到满包数量,不能完成包装。" , model.PackageNo); return(Json(result)); } //判断批次所在车间和当前线所在车间是否匹配。 //获取线别车间。 string locationName = string.Empty; using (ProductionLineServiceClient client = new ProductionLineServiceClient()) { MethodReturnResult <ProductionLine> r = client.Get(model.LineCode); if (r.Code <= 0) { locationName = r.Data.LocationName; } } if (!string.IsNullOrEmpty(locationName)) { using (LocationServiceClient client = new LocationServiceClient()) { MethodReturnResult <Location> r = client.Get(locationName); if (r.Code <= 0) { locationName = r.Data.ParentLocationName; } } } //获取包装号所在车间。 string currentLocationName = string.Empty; using (WorkOrderServiceClient client = new WorkOrderServiceClient()) { MethodReturnResult <WorkOrder> rst1 = client.Get(obj.OrderNumber); if (rst1.Code <= 0 && rst1.Data != null) { currentLocationName = rst1.Data.LocationName; } } //检查包所在车间和线别车间是否匹配。 if (currentLocationName != locationName) { result.Code = 3; result.Message = string.Format("包({0})属于({1})车间,不能在({2})车间线别上操作。" , obj.Key , currentLocationName , locationName); return(Json(result)); } result = Package(model); //返回包装结果。 if (result.Code <= 0) { MethodReturnResult <LotPackageViewModel> rstFinal = new MethodReturnResult <LotPackageViewModel>() { 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 UnCheck(string chestNo, string packageNo) { MethodReturnResult result = new MethodReturnResult(); try { using (PackageQueryServiceClient client = new PackageQueryServiceClient()) { //判断托号是否已检验 MethodReturnResult <Package> rst1 = client.Get(packageNo); if (rst1.Code > 0) { return(Json(rst1)); } else { if (rst1.Data.PackageState != EnumPackageState.Checked) { result.Code = 2000; result.Message = string.Format(@"托号{0}未检验", packageNo); } else { using (PackageInChestServiceClient clientOfChest = new PackageInChestServiceClient()) { result = clientOfChest.UnCheckPackageInChest(packageNo, chestNo, User.Identity.Name); if (result.Code > 0) { return(Json(result)); } } } } } ChestViewModel model = new ChestViewModel() { PackageNo = packageNo, ChestNo = chestNo }; //返回包装结果。 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)); }