From 2e435c4920c87c4ffc0ebfa300dc438488ceb74c Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周四, 28 11月 2024 10:29:59 +0800
Subject: [PATCH] 增加 强制出库

---
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/StockStatusEnum.cs                    |   15 +++++++
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsTask/WmsOperationTaskService.cs              |   64 ++++++++++++++++++++++++++++++++
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsTask/WmsRbLineTask/Dto/ForceOutboundInput.cs |   19 +++++++++
 3 files changed, 97 insertions(+), 1 deletions(-)

diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/StockStatusEnum.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/StockStatusEnum.cs
index d4e2743..1546829 100644
--- a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/StockStatusEnum.cs
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Enum/ReportCenter/StockStatusEnum.cs
@@ -15,7 +15,20 @@
     /// 宸插喕缁�
     /// </summary>
     [Description("宸插喕缁�")]
-    宸插喕缁� = 2
+    宸插喕缁� = 2,
+
+
+    /// <summary>
+    /// 榻愬寘寰呭嚭搴�
+    /// </summary>
+    [Description("榻愬寘寰呭嚭搴�")]
+    榻愬寘寰呭嚭搴� = 3,
+
+    /// <summary>
+    /// 浜哄伐寮哄埗寰呭嚭搴�
+    /// </summary>
+    [Description("浜哄伐寮哄埗寰呭嚭搴�")]
+    浜哄伐寮哄埗寰呭嚭搴� = 4
 
 
 }
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsTask/WmsOperationTaskService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsTask/WmsOperationTaskService.cs
new file mode 100644
index 0000000..10276d2
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsTask/WmsOperationTaskService.cs
@@ -0,0 +1,64 @@
+锘縰sing Admin.NET.Core.Service;
+using Admin.NET.Application.Entity;
+using Microsoft.AspNetCore.Http;
+using System.Data;
+using System.Web;
+using System.Text;
+namespace Admin.NET.Application;
+/// <summary>
+/// 鎿嶄綔浠诲姟鏈嶅姟
+/// </summary>
+[ApiDescriptionSettings(ApplicationConst.WmsTaskGroupName, Order = 100)]
+public class WmsOperationTaskService : IDynamicApiController, ITransient
+{
+    private readonly SqlSugarRepository<WmsRbLineTask> _rep;
+    private readonly SqlSugarRepository<WmsStockQuan> _wmsStockQuanRep;
+    public WmsOperationTaskService(SqlSugarRepository<WmsRbLineTask> rep, SqlSugarRepository<WmsStockQuan> wmsStockQuanRep)
+    {
+        _rep = rep;
+        _wmsStockQuanRep = wmsStockQuanRep;
+    }
+
+
+
+    /// <summary>
+    /// 寮哄埗鍑哄簱
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "ForceOutbound")]
+    [Description("WmsOperationTask/ForceOutbound")]
+    public async Task ForceOutbound(ForceOutboundInput input)
+    {
+        if (input == null || input.PackageCodeList?.Count == 0)
+        {
+            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()}'锛屼笉鍏佽寮哄埗鍑哄簱");
+            }
+
+            //鏇存柊鐘舵�� 
+            foreach (var quan in quanList)
+            {
+                quan.StockStatus = StockStatusEnum.浜哄伐寮哄埗寰呭嚭搴�;
+                quan.UpdateTime = DateTime.Now;
+                quan.OperReason = "浜哄伐寮哄埗寰呭嚭搴�";
+            }
+            updateQuanList.AddRange(quanList);
+        }
+
+        await _wmsStockQuanRep.UpdateRangeAsync(updateQuanList);
+
+    }
+
+
+}
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsTask/WmsRbLineTask/Dto/ForceOutboundInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsTask/WmsRbLineTask/Dto/ForceOutboundInput.cs
new file mode 100644
index 0000000..40a306d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsTask/WmsRbLineTask/Dto/ForceOutboundInput.cs
@@ -0,0 +1,19 @@
+锘縰sing Admin.NET.Core;
+using System.ComponentModel.DataAnnotations;
+
+namespace Admin.NET.Application;
+
+/// <summary>
+/// 寮哄埗鍑哄簱杈撳叆鍙傛暟
+/// </summary>
+public class ForceOutboundInput
+{
+
+    /// <summary>
+    /// 鍖呰鍙烽泦鍚�
+    /// </summary>
+    public virtual List<string> PackageCodeList { get; set; }
+
+}
+
+

--
Gitblit v1.9.3