From 2905c63ec884f531152a4e97a4d67034e8149d6d Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周二, 17 12月 2024 10:28:43 +0800 Subject: [PATCH] 22 --- LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs | 99 +++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 94 insertions(+), 5 deletions(-) diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs index 9d0bbd7..05fade2 100644 --- a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs +++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs @@ -115,6 +115,10 @@ packageObj.UpiStatus = UpiStatusEnum.宸蹭笅绾�; await _mesPackageGatherRep.UpdateAsync(packageObj); + + //涓嬬嚎鏇存柊 璁㈠崟琛ㄦ暟鎹� _mesOrderGatherRep + await UpdateOrderGather(packageObj, true); + foreach (var quan in quanList) { //娓呯悊 闃熷垪琛� @@ -393,7 +397,7 @@ /// <summary> - /// NG鍖呬笅绾�-鎵弿鍖呭彿 + /// NG鍖呬笅绾挎垨 姝e父鍖� 涓嬬嚎 -鎵弿鍖呭彿 /// </summary> /// <param name="input"></param> /// <returns></returns> @@ -415,6 +419,13 @@ //{ // throw Oops.Oh("鍘熷洜涓嶈兘涓虹┖"); //} + string _OperRemark = "姝e父浜哄伐涓嬬嚎"; + UpiFlagEnum upiFlagEnum = UpiFlagEnum.姝e父; + if (input.IsNG) + { + upiFlagEnum = UpiFlagEnum.NG; + _OperRemark = "NG涓嬬嚎"; + } var singlePackage = await _mesPackageGatherRep.AsQueryable().Where(x => x.PackageCode == input.PackageCode).FirstAsync(); if (singlePackage == null) @@ -422,7 +433,12 @@ throw Oops.Oh($"娌℃湁鎵惧埌鍖呭彿{input.PackageCode}鐨勬眹鎬绘暟鎹�"); } - singlePackage.UpiFlag = UpiFlagEnum.NG; + if (singlePackage.UpiStatus == UpiStatusEnum.宸蹭笅绾�) + { + throw Oops.Oh($"鍖呭彿{input.PackageCode}宸茬粡涓嬬嚎"); + } + + singlePackage.UpiFlag = upiFlagEnum; singlePackage.UpdateTime = DateTime.Now; singlePackage.UpiStatus = UpiStatusEnum.宸蹭笅绾�; singlePackage.AreaCode = AreaCodeEnum.涓嬬嚎鍖哄煙; @@ -453,7 +469,7 @@ wmsRecordUpi.CreateTime = DateTime.Now; wmsRecordUpi.CreateUserName = _cretaorName; wmsRecordUpi.Location = ""; - wmsRecordUpi.OperRemark = "NG涓嬬嚎"; + wmsRecordUpi.OperRemark = _OperRemark; await _wmsRecordUpiProcessRep.InsertAsync(wmsRecordUpi); WmsRecordUpiNg wmsRecordUpiNg = new WmsRecordUpiNg(); @@ -461,7 +477,7 @@ wmsRecordUpiNg.Id = Yitter.IdGenerator.YitIdHelper.NextId(); wmsRecordUpiNg.CreateTime = DateTime.Now; wmsRecordUpiNg.CreateUserName = _cretaorName; - wmsRecordUpiNg.OperRemark = "NG涓嬬嚎"; + wmsRecordUpiNg.OperRemark = _OperRemark; await _wmsRecordUpiNgRep.InsertAsync(wmsRecordUpiNg); @@ -482,12 +498,15 @@ } + //涓嬬嚎鏇存柊 璁㈠崟琛ㄦ暟鎹� _mesOrderGatherRep + await UpdateOrderGather(singlePackage, input.IsNG); + WmsRecordPackageProcess wmsRecordPackage = new WmsRecordPackageProcess(); wmsRecordPackage = singlePackage.Adapt<WmsRecordPackageProcess>(); wmsRecordPackage.Id = Yitter.IdGenerator.YitIdHelper.NextId(); wmsRecordPackage.Location = ""; - wmsRecordPackage.OperRemark = "NG涓嬬嚎"; + wmsRecordPackage.OperRemark = _OperRemark; wmsRecordPackage.CreateTime = DateTime.Now; wmsRecordPackage.CreateUserName = _cretaorName; await _wmsRecordPackageProcessRep.InsertAsync(wmsRecordPackage); @@ -496,6 +515,56 @@ await _mesPackageGatherRep.UpdateAsync(singlePackage); await _mesBatchOrderUpiRep.UpdateRangeAsync(upiList); + } + + /// <summary> + /// 涓嬬嚎鏇存柊 璁㈠崟琛ㄦ暟鎹� + /// </summary> + /// <param name="singlePackage"></param> + /// <returns></returns> + private async Task UpdateOrderGather(Mes_Package_Gather singlePackage, bool isNG) + { + //涓嬬嚎鏇存柊 璁㈠崟琛ㄦ暟鎹� _mesOrderGatherRep + bool isAdd = false; + var order = await _mesOrderGatherRep.AsQueryable().Where(x => x.Info5 == singlePackage.Info5).FirstAsync(); + if (order == null) + { + isAdd = true; + order = new Mes_Order_Gather() + { + Info5 = singlePackage.Info5, + OrderId = singlePackage.OrderId, + PlanNo = singlePackage.PlanNo, + }; + } + var packageList = await _mesPackageGatherRep.AsQueryable().Where(x => x.Info5 == singlePackage.Info5).ToListAsync(); + order.PackageNum = packageList.Count(); + order.UnLinePackageNum = packageList.Where(x => x.UpiStatus == UpiStatusEnum.宸蹭笅绾�).Count() + 1; + + order.NgPackageNum = packageList.Where(x => x.UpiStatus == UpiStatusEnum.宸蹭笅绾� && x.UpiFlag == UpiFlagEnum.NG).Count(); + if (isNG) + { + order.NgPackageNum = order.NgPackageNum + 1; + } + + order.NoUnLinePackageNum = order.PackageNum - order.UnLinePackageNum; + + order.AllPackageArea = packageList.Sum(x => Convert.ToDecimal(x.Info13)); + order.ScanPackageArea = packageList.Where(x => x.UpiStatus == UpiStatusEnum.宸蹭笅绾� && x.UpiFlag == (int)UpiFlagEnum.姝e父).Sum(x => Convert.ToDecimal(x.Info13)); + if (isNG == false) + { + order.ScanPackageArea = order.ScanPackageArea + Convert.ToDecimal(singlePackage.Info13); + } + + order.NoScanPackageArea = order.AllPackageArea - order.ScanPackageArea; + if (isAdd) + { + await _mesOrderGatherRep.InsertAsync(order); + } + else + { + await _mesOrderGatherRep.UpdateAsync(order); + } } /// <summary> @@ -673,5 +742,25 @@ } + + /// <summary> + /// 鎵爜璁板綍娓呴櫎 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpPost] + [ApiDescriptionSettings(Name = "PartClear")] + [Description("WmsOperationTask/PartClear")] + public async Task PartClear() + { + //妯″紡鍒ゆ柇 + var client = await WCFServiceHelper.GetWCFService_SAPCC_Client(_sysConfigRep); + var res = await client.WriteStation_PartClearAsync(); + if (res.result == false) + { + throw Oops.Oh(res.resMsg); + } + } + } -- Gitblit v1.9.3