From 7e4085b2b97386abb8b7dc5626953dc79b1f1b45 Mon Sep 17 00:00:00 2001
From: 啊鑫 <t2856754968@163.com>
Date: 星期三, 08 一月 2025 08:24:48 +0800
Subject: [PATCH] 11

---
 service/Warehouse/TransferOutManager.cs |   91 +++++++++++++++++----------------------------
 1 files changed, 34 insertions(+), 57 deletions(-)

diff --git a/service/Warehouse/TransferOutManager.cs b/service/Warehouse/TransferOutManager.cs
index 2788646..0524c81 100644
--- a/service/Warehouse/TransferOutManager.cs
+++ b/service/Warehouse/TransferOutManager.cs
@@ -7,13 +7,13 @@
 namespace NewPdaSqlServer.service.Warehouse;
 
 /// <summary>
-/// 璋冩嫧鍑哄簱绠$悊绫�
-/// 璐熻矗澶勭悊璋冩嫧鍑哄簱鐩稿叧鐨勪笟鍔¢�昏緫
+///     璋冩嫧鍑哄簱绠$悊绫�
+///     璐熻矗澶勭悊璋冩嫧鍑哄簱鐩稿叧鐨勪笟鍔¢�昏緫
 /// </summary>
 public class TransferOutManager : Repository<TransferOut>
 {
     /// <summary>
-    /// 鑾峰彇鏈畬鎴愮殑璋冩嫧鍑哄簱鍗曞彿鍒楄〃
+    ///     鑾峰彇鏈畬鎴愮殑璋冩嫧鍑哄簱鍗曞彿鍒楄〃
     /// </summary>
     /// <returns>鏈畬鎴愮殑璋冩嫧鍑哄簱鍗曞彿鍒楄〃</returns>
     public List<string> GetTransferOutNoList()
@@ -28,8 +28,8 @@
             .Select(g => new
             {
                 pid = g.Key,
-                sq = g.Sum(x => x.ShNum),  // 鐢宠鏁伴噺鍚堣
-                ys = g.Sum(x => x.YsNum)   // 宸叉壂鏁伴噺鍚堣
+                sq = g.Sum(x => x.ShNum), // 鐢宠鏁伴噺鍚堣
+                ys = g.Sum(x => x.YsNum) // 宸叉壂鏁伴噺鍚堣
             })
             .Where(x => (x.sq ?? 0) != (x.ys ?? 0))
             .Select(x => x.pid)
@@ -45,7 +45,7 @@
     }
 
     /// <summary>
-    /// 鏍规嵁鍗曟嵁鍙疯幏鍙栧緟澶勭悊鐨勮皟鎷ㄥ嚭搴撴槑缁嗗垪琛�
+    ///     鏍规嵁鍗曟嵁鍙疯幏鍙栧緟澶勭悊鐨勮皟鎷ㄥ嚭搴撴槑缁嗗垪琛�
     /// </summary>
     /// <param name="query">鏌ヨ鍙傛暟,鍖呭惈鍗曟嵁鍙�</param>
     /// <returns>寰呭鐞嗙殑璋冩嫧鍑哄簱鏄庣粏鍒楄〃</returns>
@@ -62,16 +62,16 @@
                     JoinType.Left, b.Pid == a.Guid,
                     JoinType.Left, b.ItemId == s.Id))
             .Where((b, a, s) =>
-                (b.ShNum ?? 0) - (b.YsNum ?? 0) > 0  // 鏈畬鎴愭暟閲忓ぇ浜�0
-                && a.BillNo == p_bill_no             // 鍖归厤鍗曟嵁鍙�
-                && a.Status == 1)                    // 鍗曟嵁宸插鏍�
+                (b.ShNum ?? 0) - (b.YsNum ?? 0) > 0 // 鏈畬鎴愭暟閲忓ぇ浜�0
+                && a.BillNo == p_bill_no // 鍖归厤鍗曟嵁鍙�
+                && a.Status == 1) // 鍗曟嵁宸插鏍�
             .OrderBy((b, a, s) => s.ItemNo)
             .Select((b, a, s) => new TransferOutDetail
             {
                 ItemNo = s.ItemNo,
                 ItemModel = s.ItemModel,
-                ShNum = b.ShNum,      // 鐢宠鏁伴噺
-                YsNum = b.YsNum,      // 宸叉壂鏁伴噺
+                ShNum = b.ShNum, // 鐢宠鏁伴噺
+                YsNum = b.YsNum, // 宸叉壂鏁伴噺
                 // 淇濈暀鍏朵粬蹇呰瀛楁...
                 Pid = b.Pid,
                 ItemId = b.ItemId,
@@ -83,7 +83,7 @@
     }
 
     /// <summary>
-    /// 鎵弿鏉$爜杩涜璋冩嫧鍑哄簱澶勭悊
+    ///     鎵弿鏉$爜杩涜璋冩嫧鍑哄簱澶勭悊
     /// </summary>
     /// <param name="query">鍖呭惈鍗曟嵁鍙枫�佺敤鎴峰悕鍜屾潯鐮佷俊鎭殑鏌ヨ鍙傛暟</param>
     /// <returns>澶勭悊鍚庣殑琛ㄥ崟鍜屽緟澶勭悊鏄庣粏鍒楄〃</returns>
@@ -94,23 +94,17 @@
         var c_user = query.userName;
         var p_item_barcode = query.barcode;
 
-        var p_bill_type_id = 300;     // 鍗曟嵁绫诲瀷ID
-        var p_transaction_no = 301;    // 浜ゆ槗缂栧彿
+        var p_bill_type_id = 300; // 鍗曟嵁绫诲瀷ID
+        var p_transaction_no = 301; // 浜ゆ槗缂栧彿
 
         // 楠岃瘉鍗曟嵁鍙�
-        if (string.IsNullOrEmpty(p_bill_no))
-        {
-            throw new Exception("璇烽�夊彇鍗曟嵁鍙凤紒");
-        }
+        if (string.IsNullOrEmpty(p_bill_no)) throw new Exception("璇烽�夊彇鍗曟嵁鍙凤紒");
 
         // 鏌ヨ鍑哄簱鍗曞苟楠岃瘉鐘舵��
         var transferOut = Db.Queryable<TransferOut>()
             .Where(x => x.BillNo == p_bill_no && x.Status == 1)
             .First();
-        if (transferOut == null)
-        {
-            throw new Exception("鏈壘鍒拌皟鎷ㄧ敵璇峰崟鎴栬�呰皟鎷ㄧ敵璇峰崟娌″鏍�");
-        }
+        if (transferOut == null) throw new Exception("鏈壘鍒拌皟鎷ㄧ敵璇峰崟鎴栬�呰皟鎷ㄧ敵璇峰崟娌″鏍�");
 
         // 鏌ヨ鏉$爜搴撳瓨淇℃伅骞堕獙璇�
         var stock = Db.Queryable<MesInvItemStocks>()
@@ -118,42 +112,29 @@
                         && x.Quantity > 0
                         && !string.IsNullOrEmpty(x.DepotsCode))
             .First();
-        if (stock == null)
-        {
-            throw new Exception($"搴撳瓨涓棤姝ゆ潯鐮侊紝璇锋牳瀵癸紒{p_item_barcode}");
-        }
+        if (stock == null) throw new Exception($"搴撳瓨涓棤姝ゆ潯鐮侊紝璇锋牳瀵癸紒{p_item_barcode}");
 
         // 楠岃瘉浠撳簱涓�鑷存��
         if (stock.DepotsCode != transferOut.InvCode)
-        {
             throw new Exception(
                 $"鏉$爜搴撳瓨浠撳簱{stock.DepotsCode}鍜岀敵璇蜂粨搴撲笉涓�鑷磠transferOut.InvCode}");
-        }
 
         // 鏌ヨ鐗╂枡淇℃伅
         var item = Db.Queryable<MesItems>()
             .Where(x => x.Id == stock.ItemId)
             .First();
-        if (item == null)
-        {
-            throw new Exception("鏈壘鍒扮墿鏂�");
-        }
+        if (item == null) throw new Exception("鏈壘鍒扮墿鏂�");
 
         // 鏌ヨ璋冩嫧鏄庣粏骞堕獙璇�
         var detail = Db.Queryable<TransferOutDetail>()
             .Where(x => x.ItemId == stock.ItemId && x.Pid == transferOut.Guid)
             .First();
-        if (detail == null)
-        {
-            throw new Exception("鏈壘鍒版潯鐮佺墿鏂欑浉搴旂殑璋冩嫧鐢宠");
-        }
+        if (detail == null) throw new Exception("鏈壘鍒版潯鐮佺墿鏂欑浉搴旂殑璋冩嫧鐢宠");
 
         // 楠岃瘉鏁伴噺鏄惁瓒呭嚭鏈壂鏁伴噺
         if ((detail.ShNum ?? 0) - (detail.YsNum ?? 0) < stock.Quantity)
-        {
             throw new Exception("鏉$爜鏁伴噺澶т簬鐢宠鏈壂鏁伴噺锛岃鎷嗗垎浜嗗啀鎵爜");
-        }
-        
+
         // 浣跨敤浜嬪姟澶勭悊鏁版嵁鏇存柊
         UseTransaction(db =>
         {
@@ -164,7 +145,7 @@
                             && (x.Status ?? 0) == 0)
                 .First();
 
-            var commit = 0;  // 璁板綍鏇存柊鎿嶄綔娆℃暟
+            var commit = 0; // 璁板綍鏇存柊鎿嶄綔娆℃暟
             var c_id = Guid.Empty;
 
             // 澶勭悊绉诲簱涓昏〃璁板綍
@@ -241,7 +222,7 @@
                 SuppNo = stock.SuppNo,
                 ItemId = stock.ItemId,
                 EbelnK3id = stock.EbelnK3id,
-                LineK3id = stock.LineK3id,
+                LineK3id = stock.LineK3id
                 // RkDepot = transferOut.RkDepot,
                 // CkDepot = transferOut.CkDepot
             };
@@ -284,7 +265,7 @@
                 SuppNo = stock.SuppNo,
                 ItemId = (int)stock.ItemId,
                 EbelnK3id = stock.EbelnK3id,
-                LineK3id = stock.LineK3id,
+                LineK3id = stock.LineK3id
                 // RkDepot = transferOut.RkDepot,
                 // CkDepot = transferOut.CkDepot
             };
@@ -321,7 +302,7 @@
                     WorkLine = stock.WorkLine,
                     EbelnK3id = (int)stock.EbelnK3id,
                     LineK3id = (int)stock.LineK3id,
-                    Quantity = stock.Quantity,
+                    Quantity = stock.Quantity
                     // Unit = stock.ItemUnit
                 };
 
@@ -342,35 +323,31 @@
                     .Where(x => x.Guid == detail.Guid)
                     .ExecuteCommand();
             }
-            
+
             // 妫�鏌ユ槸鍚︽墍鏈夋槑缁嗛兘宸插畬鎴�
-            var totals = db.Queryable<TransferOutDetail, TransferOut>((b, a) => 
-                new JoinQueryInfos(JoinType.Left, b.Pid == a.Guid))
+            var totals = db.Queryable<TransferOutDetail, TransferOut>((b, a) =>
+                    new JoinQueryInfos(JoinType.Left, b.Pid == a.Guid))
                 .Where((b, a) => a.BillNo == p_bill_no)
-                .Select((b, a) => new {
-                    ShNum = SqlFunc.AggregateSum(b.ShNum),  // 鐢宠鎬绘暟閲�
-                    YsNum = SqlFunc.AggregateSum(b.YsNum)   // 宸叉壂鎬绘暟閲�
+                .Select((b, a) => new
+                {
+                    ShNum = SqlFunc.AggregateSum(b.ShNum), // 鐢宠鎬绘暟閲�
+                    YsNum = SqlFunc.AggregateSum(b.YsNum) // 宸叉壂鎬绘暟閲�
                 })
                 .First();
 
             // 濡傛灉鐢宠鏁伴噺绛変簬宸叉壂鏁伴噺锛屾洿鏂板崟鎹畬鎴愮姸鎬�
             if (totals.ShNum == totals.YsNum)
-            {
                 commit += db.Updateable<TransferOut>()
                     .SetColumns(x => x.IsWc == 1)
                     .Where(x => x.BillNo == p_bill_no)
                     .ExecuteCommand();
-            }
-            
+
             // 鏇存柊杩斿洖鍙傛暟
             query.itemNo = item.ItemNo;
             query.Num = stock.Quantity;
-            
+
             // 楠岃瘉鏇存柊鎿嶄綔鏄惁鍏ㄩ儴鎴愬姛
-            if (commit < 4)
-            {
-                throw new Exception("鏇存柊澶辫触");
-            }
+            if (commit < 4) throw new Exception("鏇存柊澶辫触");
 
             return commit;
         });

--
Gitblit v1.9.3