From 44fcdab03ff6b1136af7504641a4254276c73b78 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周二, 17 12月 2024 13:25:01 +0800
Subject: [PATCH] 2
---
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