From c6d9d8e2c8c5a0dea829164e4a1a5c3ed9703521 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周日, 08 12月 2024 11:19:47 +0800
Subject: [PATCH] 2

---
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs |   78 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 77 insertions(+), 1 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 66cd5c8..6c51f54 100644
--- a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs
@@ -227,7 +227,7 @@
 
 
     /// <summary>
-    /// NG鍖呬笅绾�
+    /// NG鍖呬笅绾�-鎵弿鍖呭彿
     /// </summary>
     /// <param name="input"></param>
     /// <returns></returns>
@@ -300,5 +300,81 @@
 
     }
 
+    /// <summary>
+    /// NG鍖呬笅绾�-鎵弿浠跺彿
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "SetNG")]
+    [Description("WmsOperationTask/SetNG")]
+    [UnitOfWork]
+    public async Task SetNG(SetNGInput input)
+    {
+        if (input == null)
+        {
+            throw Oops.Oh("鍙傛暟涓嶈兘涓虹┖");
+        }
+        if (string.IsNullOrEmpty(input.Upi))
+        {
+            throw Oops.Oh("閮ㄤ欢鏉$爜涓嶈兘涓虹┖");
+        }
+        //if (string.IsNullOrEmpty(input.Reason))
+        //{
+        //    throw Oops.Oh("鍘熷洜涓嶈兘涓虹┖");
+        //}
+
+        var singleUpi = await _mesBatchOrderUpiRep.AsQueryable().Where(x => x.UPI == input.Upi).FirstAsync();
+        if (singleUpi == null)
+        {
+            throw Oops.Oh($"娌℃湁鎵惧埌閮ㄤ欢鏉$爜{input.Upi}鐨勬暟鎹�");
+        }
+        var packageCode = singleUpi.PackageCode;
+        var singlePackage = await _mesPackageGatherRep.AsQueryable().Where(x => x.PackageCode == packageCode).FirstAsync();
+        if (singlePackage == null)
+        {
+            throw Oops.Oh($"娌℃湁鎵惧埌鍖呭彿{packageCode}鐨勬眹鎬绘暟鎹�");
+        }
+
+        singlePackage.UpiFlag = UpiFlagEnum.NG;
+        singlePackage.UpdateTime = DateTime.Now;
+
+        var upiLineQueueList = await _mes_Upi_LineQueueRep.AsQueryable().Where(x => x.PackageCode == packageCode).ToListAsync();
+        if (upiLineQueueList?.Count > 0)
+        {
+            await _mes_Upi_LineQueueRep.DeleteAsync(upiLineQueueList);
+        }
+
+        var upiList = await _mesBatchOrderUpiRep.AsQueryable().Where(x => x.PackageCode == packageCode).ToListAsync();
+        if (upiList == null)
+        {
+            throw Oops.Oh($"娌℃湁鎵惧埌鍖呭彿{packageCode}鐨勬澘浠舵暟鎹�");
+        }
+        foreach (var item in upiList)
+        {
+            item.UpiFlag = UpiFlagEnum.NG;
+            item.UpdateTime = DateTime.Now;
+
+            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