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 |  128 ++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 121 insertions(+), 7 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 f4a625a..306a960 100644
--- a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs
@@ -7,6 +7,7 @@
 using DocumentFormat.OpenXml.Office.CustomUI;
 using Microsoft.CodeAnalysis.Operations;
 using Admin.NET.Application.Service.WmsTask.WmsRbLineTask.Dto;
+using Furion.DatabaseAccessor;
 
 namespace Admin.NET.Application;
 /// <summary>
@@ -21,12 +22,16 @@
     private readonly SqlSugarRepository<SysConfig> _sysConfigRep;
     private readonly SqlSugarRepository<Mes_BatchOrderUPI_New> _mesBatchOrderUpiRep;
     private readonly SqlSugarRepository<Mes_Order_Gather> _mesOrderGatherRep;
+    private readonly SqlSugarRepository<WmsRecordUpiProcess> _wmsRecordUpiProcessRep;
+    private readonly SqlSugarRepository<WmsRecordPackageProcess> _wmsRecordPackageProcessRep;
 
     public WmsOperationTaskService(SqlSugarRepository<WmsRbLineTask> rep, SqlSugarRepository<WmsStockQuan> wmsStockQuanRep
         , SqlSugarRepository<Mes_Package_Gather> mesPackageGatherRep
         , SqlSugarRepository<SysConfig> sysConfigRep
         , SqlSugarRepository<Mes_BatchOrderUPI_New> mesBatchOrderUpiRep
         , SqlSugarRepository<Mes_Order_Gather> mesOrderGatherRep
+        , SqlSugarRepository<WmsRecordUpiProcess> wmsRecordUpiProcessRep
+        , SqlSugarRepository<WmsRecordPackageProcess> wmsRecordPackageProcessRep
         )
     {
         _sysConfigRep = sysConfigRep;
@@ -35,6 +40,8 @@
         _wmsStockQuanRep = wmsStockQuanRep;
         _mesBatchOrderUpiRep = mesBatchOrderUpiRep;
         _mesOrderGatherRep = mesOrderGatherRep;
+        _wmsRecordUpiProcessRep = wmsRecordUpiProcessRep;
+        _wmsRecordPackageProcessRep = wmsRecordPackageProcessRep;
     }
 
 
@@ -47,6 +54,7 @@
     [HttpPost]
     [ApiDescriptionSettings(Name = "ForceOutbound")]
     [Description("WmsOperationTask/ForceOutbound")]
+    [UnitOfWork]
     public async Task ForceOutbound(ForceOutboundInput input)
     {
         if (input == null || input.PackageCodeList?.Count == 0)
@@ -85,6 +93,7 @@
     [HttpPost]
     [ApiDescriptionSettings(Name = "ValdateQiTao")]
     [Description("WmsOperationTask/ValdateQiTao")]
+    [UnitOfWork]
     public async Task<ValidateQiTaoOutput> ValdateQiTao(ValidateQiTaoInput input)
     {
         ValidateQiTaoOutput output = new ValidateQiTaoOutput();
@@ -106,10 +115,13 @@
         {
             throw Oops.Oh($"娌℃湁閰嶇疆 鍒ゆ柇榻愬 鍊�");
         }
-        if (!string.IsNullOrEmpty(sysConfig.Value) && sysConfig.Value != "鏃�")
+        if (!string.IsNullOrEmpty(sysConfig.Value) && sysConfig.Value.Trim() != "鏃�")
         {
             throw Oops.Oh($"鍒ゆ柇榻愬鍊煎凡缁忓瓨鍦ㄥ�納sysConfig.Value},涓嶅厑璁告搷浣�");
         }
+
+        //璁板綍宸ヤ綔鏃堕棿鍜屽伐浣滀汉
+        var curUserName = App.User.FindFirst(ClaimConst.RealName)?.Value;
 
         var setValue = "";
         var _QiTaoReuslt = "";
@@ -118,21 +130,40 @@
         if (num > 0)
         {
             //涓嶉綈濂�
-            setValue = $"{input.PackageCode}|涓嶉綈濂�";
+            setValue = $"{input.PackageCode}|涓嶉綈濂梶" + curUserName;
             _QiTaoReuslt = "涓嶉綈濂�";
         }
         else
         {
-            setValue = $"{input.PackageCode}|榻愬";
+            setValue = $"{input.PackageCode}|榻愬|" + curUserName;
             _QiTaoReuslt = "榻愬";
         }
 
-
-
+        //涓存椂灞忚斀
+        /*
         sysConfig.Value = setValue;
         await _sysConfigRep.UpdateAsync(sysConfig);
+        //*/
 
-        //璁板綍宸ヤ綔鏃堕棿鍜屽伐浣滀汉
+
+        var sysConfig_wms_unline_oper = await _sysConfigRep.GetFirstAsync(x => x.Code == CommonConst.wms_unline_oper);
+        if (sysConfig_wms_unline_oper == null)
+        {
+            throw Oops.Oh($"娌℃湁閰嶇疆 鍖呰涓嬬嚎鎿嶄綔浜� 鍊�");
+        }
+        if (sysConfig_wms_unline_oper.Value != curUserName)
+        {
+            sysConfig_wms_unline_oper.Value = curUserName;
+            await _sysConfigRep.UpdateAsync(sysConfig_wms_unline_oper);
+
+            var sysConfig_wms_unline_time = await _sysConfigRep.GetFirstAsync(x => x.Code == CommonConst.wms_unline_time);
+            if (sysConfig_wms_unline_time == null)
+            {
+                throw Oops.Oh($"娌℃湁閰嶇疆 鍖呰涓嬬嚎鐧婚檰鏃堕棿 鍊�");
+            }
+            sysConfig_wms_unline_time.Value = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
+            await _sysConfigRep.UpdateAsync(sysConfig_wms_unline_time);
+        }
 
 
         output = package.Adapt<ValidateQiTaoOutput>();
@@ -149,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)
@@ -171,10 +203,92 @@
         {
             throw Oops.Oh($"娌℃湁鎵惧埌鍖呭彿{input.PackageCode}鐨勬眹鎬绘暟鎹�");
         }
+
+        WmsRecordPackageProcess wmsRecordPackage = new WmsRecordPackageProcess();
+        wmsRecordPackage = singlePackage.Adapt<WmsRecordPackageProcess>();
+        wmsRecordPackage.CreateTime = DateTime.Now;
+        wmsRecordPackage.Location = "BZ29";
+        wmsRecordPackage.OperRemark = "鏍稿鏍囩";
+        await _wmsRecordPackageProcessRep.InsertAsync(wmsRecordPackage);
+
+        WmsRecordUpiProcess wmsRecordUpi = new WmsRecordUpiProcess();
+        wmsRecordUpi = singleUpi.Adapt<WmsRecordUpiProcess>();
+        wmsRecordUpi.CreateTime = DateTime.Now;
+        wmsRecordUpi.Location = "BZ29";
+        wmsRecordUpi.OperRemark = "鏍稿鏍囩";
+        await _wmsRecordUpiProcessRep.InsertAsync(wmsRecordUpi);
+
         return singlePackage;
     }
 
 
-   
+    /// <summary>
+    /// NG鍖呬笅绾�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [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("鍘熷洜涓嶈兘涓虹┖");
+        }
+
+        var singlePackage = await _mesPackageGatherRep.AsQueryable().Where(x => x.PackageCode == input.PackageCode).FirstAsync();
+        if (singlePackage == null)
+        {
+            throw Oops.Oh($"娌℃湁鎵惧埌鍖呭彿{input.PackageCode}鐨勬眹鎬绘暟鎹�");
+        }
+
+        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