From 0010dd10c41c5c990bf6cc1b40ad857a6c956cbe Mon Sep 17 00:00:00 2001
From: 南骏 池 <chiffly@163.com>
Date: 星期四, 05 六月 2025 09:45:43 +0800
Subject: [PATCH] 1.其他入库优化 2.推荐库位函数优化

---
 service/Warehouse/MesItemQtManager.cs |   27 ++++++++++++++-------------
 1 files changed, 14 insertions(+), 13 deletions(-)

diff --git a/service/Warehouse/MesItemQtManager.cs b/service/Warehouse/MesItemQtManager.cs
index 83730c5..9cec852 100644
--- a/service/Warehouse/MesItemQtManager.cs
+++ b/service/Warehouse/MesItemQtManager.cs
@@ -142,9 +142,9 @@
             throw new Exception($"鍏朵粬鍑哄簱鐢宠鍗� {p_bill_no} 涓嶅瓨鍦紝璇风‘璁わ紒");
 
         // 妫�鏌ヤ粨搴撴槸鍚︿竴鑷�
-        if (mesItemQt.Qt011 != stock.DepotsCode)
+        if (Convert.ToInt32(mesItemQt.Qt008)  != stock.DepotId)
             throw new Exception(
-                $"鎵爜鍑鸿揣浠撳簱{stock.DepotsCode}涓庡叾浠栧嚭搴撶敵璇蜂粨搴搟mesItemQt.Qt011}涓嶄竴鑷达紝璇锋牳瀵癸紒");
+                $"鎵爜鍑鸿揣浠撳簱id{mesItemQt.Qt008}涓庡叾浠栧嚭搴撶敵璇蜂粨搴搟stock.DepotId}涓嶄竴鑷达紝璇锋牳瀵癸紒");
 
         // 鑾峰彇鍑哄簱鍗曟槑缁�
         var qtDetail = Db.Queryable<MesItemQtDatall>()
@@ -199,7 +199,7 @@
 
             // 鏌ユ壘褰撳ぉ鏄惁宸插瓨鍦ㄥ嚭搴撳崟
             var existingOut = Db.Queryable<MesInvItemOuts>()
-                .Where(it => it.PbillNo == p_bill_no
+                .Where(it => it.TaskNo == p_bill_no
                              // && it.DepotCode == stock.DepotsCode
                              && it.DepotId == stock.DepotId
                              && it.OutDate.Value.Date.ToString("yyyy-MM-dd") ==
@@ -216,7 +216,7 @@
             {
                 // 鍒涘缓鏂扮殑鍑哄簱鍗�
                 outId = Guid.NewGuid();
-                outNo = BillNo.GetBillNo("INV_OUT_OTHER");
+                outNo = BillNo.GetBillNo("QTCK(鍏朵粬鍑哄簱)");
 
                 var mesItemQt = Db.Queryable<MesItemQt>()
                     .Where(it => it.Qtck == p_bill_no)
@@ -240,9 +240,9 @@
                         : null,
                     OutPart = mesItemQt.Qt012,
                     FType = 0,
-                    WorkNo = p_bill_no,
+                    //WorkNo = p_bill_no,
                     OutType = "鍏朵粬鍑哄簱",
-                    PbillNo = p_bill_no,
+                    //PbillNo = p_bill_no,
                     OutDate = DateTime.Now,
                     Nflag = 0,
                     Reason = mesItemQt.Qt010,
@@ -270,7 +270,7 @@
             // 妫�鏌ユ槸鍚﹀凡瀛樺湪鍑哄簱鐗╂枡璁板綍
             var existingOutItem = Db.Queryable<MesInvItemOutItems>()
                 .Where(it =>
-                    it.ItemOutId == outId && it.ItemId == barcode.ItemId)
+                    it.ItemOutId == outId && it.ItemId == barcode.ItemId && it.ItemDabid == qtDetail.Guid)
                 .First();
 
             if (existingOutItem == null)
@@ -281,7 +281,8 @@
                     Guid = Guid.NewGuid(),
                     ItemOutId = outId,
                     ItemNo = qtDetail.Qd002,
-                    Quantity = stock.Quantity,
+                    Quantity = qtDetail.Qd007,
+                    TlQty = stock.Quantity,
                     CreateBy = c_user,
                     CreateDate = DateTime.Now,
                     LastupdateBy = c_user,
@@ -296,7 +297,9 @@
                     ItemId = !string.IsNullOrEmpty(qtDetail.ItemId)
                         ? long.Parse(qtDetail.ItemId)
                         : null,
-                    FType = 0
+                    FType = 0,
+                    AboutGuid = qtDetail.Guid,
+                    ItemDabid = qtDetail.Guid
                     // Unit = qtDetail.Qd009
                 };
 
@@ -308,10 +311,8 @@
                 // 鏇存柊宸插瓨鍦ㄧ殑鍑哄簱鐗╂枡璁板綍鏁伴噺
                 commit += db.Updateable<MesInvItemOutItems>()
                     .SetColumns(it =>
-                        it.Quantity == (it.Quantity ?? 0) + stock.Quantity)
-                    .Where(it => it.ItemOutId == outId &&
-                                 it.ItemId == barcode.ItemId &&
-                                 it.QtOutId == qtDetail.Guid)
+                        it.TlQty == (it.TlQty ?? 0) + stock.Quantity)
+                    .Where(it => it.ItemOutId == outId && it.ItemId == barcode.ItemId && it.ItemDabid == qtDetail.Guid)
                     .ExecuteCommand();
             }
 

--
Gitblit v1.9.3