From abf9b6bb33fcfad5b56a17a5d3e99b49782a7316 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周三, 04 12月 2024 15:19:00 +0800
Subject: [PATCH] 22

---
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs |   86 +++++++++++++++++++++++++++---------------
 1 files changed, 55 insertions(+), 31 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 a1bc049..306a960 100644
--- a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs
@@ -54,6 +54,7 @@
     [HttpPost]
     [ApiDescriptionSettings(Name = "ForceOutbound")]
     [Description("WmsOperationTask/ForceOutbound")]
+    [UnitOfWork]
     public async Task ForceOutbound(ForceOutboundInput input)
     {
         if (input == null || input.PackageCodeList?.Count == 0)
@@ -179,6 +180,7 @@
     [HttpPost]
     [ApiDescriptionSettings(Name = "ValdateLabel")]
     [Description("WmsOperationTask/ValdateLabel")]
+    [UnitOfWork]
     public async Task<Mes_Package_Gather> ValdateLabel(ValidateLabelInput input)
     {
         if (input == null || input.PackageCode == null || input.Upi == null)
@@ -228,41 +230,63 @@
     [HttpPost]
     [ApiDescriptionSettings(Name = "UnlineForNGPackage")]
     [Description("WmsOperationTask/UnlineForNGPackage")]
+    [UnitOfWork]
     public async Task UnlineForNGPackage(UnlineForNGPackageInput input)
     {
-        //if (input == null)
-        //{
-        //    throw Oops.Oh("鍙傛暟涓嶈兘涓虹┖");
-        //}
-        //if (string.IsNullOrEmpty(input.PackageCode))
-        //{
-        //    throw Oops.Oh("鍖呭彿涓嶈兘涓虹┖");
-        //}
-        //if (string.IsNullOrEmpty(input.Reason))
-        //{
-        //    throw Oops.Oh("鍘熷洜涓嶈兘涓虹┖");
-        //}
-        //List<WmsStockQuan> updateQuanList = new List<WmsStockQuan>();
-        //foreach (var item in input.PackageCodeList)
-        //{
-        //    var quanList = await _wmsStockQuanRep.AsQueryable().Where(x => x.PackageCode == item).ToListAsync();
-        //    var isExist = quanList.Where(x => x.StockStatus == StockStatusEnum.榻愬寘寰呭嚭搴�).Count();
-        //    if (isExist > 0)
-        //    {
-        //        throw Oops.Oh($"鍖厈item}涓叾涓湁鏉跨姸鎬佹槸'{StockStatusEnum.榻愬寘寰呭嚭搴�.ToString()}'锛屼笉鍏佽寮哄埗鍑哄簱");
-        //    }
+        if (input == null)
+        {
+            throw Oops.Oh("鍙傛暟涓嶈兘涓虹┖");
+        }
+        if (string.IsNullOrEmpty(input.PackageCode))
+        {
+            throw Oops.Oh("鍖呭彿涓嶈兘涓虹┖");
+        }
+        if (string.IsNullOrEmpty(input.Reason))
+        {
+            throw Oops.Oh("鍘熷洜涓嶈兘涓虹┖");
+        }
 
-        //    鏇存柊鐘舵��
-        //    foreach (var quan in quanList)
-        //    {
-        //        quan.StockStatus = StockStatusEnum.浜哄伐寮哄埗寰呭嚭搴�;
-        //        quan.UpdateTime = DateTime.Now;
-        //        quan.OperReason = "浜哄伐寮哄埗寰呭嚭搴�";
-        //    }
-        //    updateQuanList.AddRange(quanList);
-        //}
+        var singlePackage = await _mesPackageGatherRep.AsQueryable().Where(x => x.PackageCode == input.PackageCode).FirstAsync();
+        if (singlePackage == null)
+        {
+            throw Oops.Oh($"娌℃湁鎵惧埌鍖呭彿{input.PackageCode}鐨勬眹鎬绘暟鎹�");
+        }
 
-        //await _wmsStockQuanRep.UpdateRangeAsync(updateQuanList);
+        singlePackage.UpiFlag = UpiFlagEnum.NG;
+        singlePackage.UpdateTime = DateTime.Now;
+        singlePackage.UpiStatus = UpiStatusEnum.宸蹭笅绾�;
+        singlePackage.AreaCode = AreaCodeEnum.涓嬬嚎鍖哄煙;
+
+        var upiList = await _mesBatchOrderUpiRep.AsQueryable().Where(x => x.PackageCode == input.PackageCode).ToListAsync();
+        if (upiList == null)
+        {
+            throw Oops.Oh($"娌℃湁鎵惧埌鍖呭彿{input.PackageCode}鐨勬澘浠舵暟鎹�");
+        }
+        foreach (var item in upiList)
+        {
+            item.UpiFlag = UpiFlagEnum.NG;
+            item.UpdateTime = DateTime.Now;
+            item.UpiStatus = UpiStatusEnum.宸蹭笅绾�;
+            item.AreaCode = AreaCodeEnum.涓嬬嚎鍖哄煙;
+
+            WmsRecordUpiProcess wmsRecordUpi = new WmsRecordUpiProcess();
+            wmsRecordUpi = item.Adapt<WmsRecordUpiProcess>();
+            wmsRecordUpi.CreateTime = DateTime.Now;
+            wmsRecordUpi.Location = "";
+            wmsRecordUpi.OperRemark = "NG涓嬬嚎";
+            await _wmsRecordUpiProcessRep.InsertAsync(wmsRecordUpi);
+        }
+
+
+        WmsRecordPackageProcess wmsRecordPackage = new WmsRecordPackageProcess();
+        wmsRecordPackage = singlePackage.Adapt<WmsRecordPackageProcess>();
+        wmsRecordPackage.Location = "";
+        wmsRecordPackage.OperRemark = "NG涓嬬嚎";
+        await _wmsRecordPackageProcessRep.InsertAsync(wmsRecordPackage);
+
+
+        await _mesPackageGatherRep.UpdateAsync(singlePackage);
+        await _mesBatchOrderUpiRep.UpdateRangeAsync(upiList);
 
     }
 

--
Gitblit v1.9.3