From 9f1c20b47db5ca023ab864def323e99fe1267f08 Mon Sep 17 00:00:00 2001
From: 南骏 池 <chiffly@163.com>
Date: 星期四, 20 二月 2025 14:49:09 +0800
Subject: [PATCH] 1.期初入库新增库存组织。 2.委外领料完成 3.委外补料正常领料完成,拆分还未测试.

---
 service/Wom/WwGdManager.cs            |   69 ++++++++++++++++++++++++----------
 service/Warehouse/InventoryManager.cs |   11 +++--
 Controllers/Wom/WwGdController.cs     |   11 +++++
 entity/WwGdDetail.cs                  |   20 +++++-----
 4 files changed, 76 insertions(+), 35 deletions(-)

diff --git a/Controllers/Wom/WwGdController.cs b/Controllers/Wom/WwGdController.cs
index e643409..fc2baf2 100644
--- a/Controllers/Wom/WwGdController.cs
+++ b/Controllers/Wom/WwGdController.cs
@@ -20,7 +20,7 @@
     /// <returns>ResponseResult瀵硅薄锛屽寘鍚姸鎬併�佹秷鎭拰鏁版嵁</returns>
     /// // Demo Request:
     // POST /api/WwGd/ScanCode
-    // Body:
+    // BodyGetItemsByDaa001
     // {
     //     "query": {
     //         "Code": "SampleCode",
@@ -35,6 +35,15 @@
             // 璋冪敤WwGdManager鐨凷canCode鏂规硶杩涜鎵爜鎿嶄綔
             dynamic resultInfos = new ExpandoObject();
             resultInfos.tbBillList = m.ScanCode(query);
+            if (resultInfos.tbBillList.result == "2")
+            {
+                return new ResponseResult
+                {
+                    status = Convert.ToInt32(resultInfos.tbBillList.result),
+                    message = resultInfos.tbBillList.strMsg,
+                    data = resultInfos
+                };
+            }
             return new ResponseResult
             {
                 status = 0,
diff --git a/entity/WwGdDetail.cs b/entity/WwGdDetail.cs
index 5410d89..81053bc 100644
--- a/entity/WwGdDetail.cs
+++ b/entity/WwGdDetail.cs
@@ -39,14 +39,14 @@
     ///     闇�棰�
     /// </summary>
     [SugarColumn(ColumnName = "dab006")]
-    public int? Dab006 { get; set; }
+    public decimal? Dab006 { get; set; }
 
     /// <summary>
     ///     宸查
     ///     榛樿鍊�: ((0))
     /// </summary>
     [SugarColumn(ColumnName = "dab007")]
-    public int? Dab007 { get; set; }
+    public decimal? Dab007 { get; set; }
 
     /// <summary>
     ///     鍗曚綅
@@ -59,46 +59,46 @@
     ///     榛樿鍊�: ((0))
     /// </summary>
     [SugarColumn(ColumnName = "dab020")]
-    public int? Dab020 { get; set; }
+    public decimal? Dab020 { get; set; }
 
     /// <summary>
     ///     琛ラ鏁伴噺
     ///     榛樿鍊�: ((0))
     /// </summary>
     [SugarColumn(ColumnName = "dab021")]
-    public int? Dab021 { get; set; }
+    public decimal? Dab021 { get; set; }
 
     /// <summary>
     ///     閫�鏂欐暟閲�
     ///     榛樿鍊�: ((0))
     /// </summary>
     [SugarColumn(ColumnName = "dab022")]
-    public int? Dab022 { get; set; }
+    public decimal? Dab022 { get; set; }
 
     /// <summary>
     ///     瓒呴鏁伴噺
     ///     榛樿鍊�: ((0))
     /// </summary>
     [SugarColumn(ColumnName = "dab023")]
-    public int? Dab023 { get; set; }
+    public decimal? Dab023 { get; set; }
 
     /// <summary>
     ///     鑹搧閫�鏂�
     /// </summary>
     [SugarColumn(ColumnName = "lp_tl")]
-    public int? LpTl { get; set; }
+    public decimal? LpTl { get; set; }
 
     /// <summary>
     ///     鏉ユ枡涓嶈壇
     /// </summary>
     [SugarColumn(ColumnName = "ll_bl")]
-    public int? LlBl { get; set; }
+    public decimal? LlBl { get; set; }
 
     /// <summary>
     ///     浣滀笟涓嶈壇
     /// </summary>
     [SugarColumn(ColumnName = "zy_bl")]
-    public int? ZyBl { get; set; }
+    public decimal? ZyBl { get; set; }
 
     /// <summary>
     ///     浠撳簱id
@@ -122,7 +122,7 @@
     ///     缁勬垚鐢ㄩ噺
     /// </summary>
     [SugarColumn(ColumnName = "dab012")]
-    public int? Dab012 { get; set; }
+    public decimal? Dab012 { get; set; }
 
     /// <summary>
     ///     搴忓彿
diff --git a/service/Warehouse/InventoryManager.cs b/service/Warehouse/InventoryManager.cs
index 68195fe..c3ccba8 100644
--- a/service/Warehouse/InventoryManager.cs
+++ b/service/Warehouse/InventoryManager.cs
@@ -57,7 +57,7 @@
                 ))
             .Where((a, b) => a.DepotSectionCode == p_section_code)
             .Select((a, b) => new
-                { a.DepotSectionName, b.DepotCode, b.DepotName, b.DepotId })
+                { a.DepotSectionName, b.DepotCode, b.DepotName, b.DepotId,b.FSubsidiary })
             .Single();
 
         // 濡傛灉搴撲綅浠g爜涓嶅瓨鍦紝鍒欒繑鍥為敊璇俊鎭�
@@ -133,7 +133,8 @@
                             ? "1"
                             : "0",
                     CbillNo = c_mes_inv_item_barcodes.BillNo,
-                    Fstatus = 0
+                    Fstatus = 0,
+                    ReceiveOrgId = depotSection.FSubsidiary,
                 };
                 db.Insertable(newMesInvItemIns)
                     .IgnoreColumns(true)
@@ -173,7 +174,8 @@
                 UrgentFlag = c_mes_inv_item_barcodes.UrgentFlag,
                 BoardStyle = c_mes_inv_item_barcodes.BoardStyle,
                 TaskNo = c_mes_inv_item_barcodes.TaskNo,
-                ItemId = c_mes_inv_item_barcodes.ItemId
+                ItemId = c_mes_inv_item_barcodes.ItemId,
+                ReceiveOrgId = depotSection.FSubsidiary,
             }).IgnoreColumns(true).ExecuteCommand();
 
 
@@ -228,7 +230,8 @@
                 // ItemUnit = c_mes_inv_item_barcodes.Unit,
                 SuppNo = c_mes_inv_item_barcodes.SuppNo,
                 ItemId = c_mes_inv_item_barcodes.ItemId,
-                IndepUserCode = c_user
+                IndepUserCode = c_user,
+                StockOrgId = depotSection.FSubsidiary,
                 // Fsubsidiary = c_organize
             }).IgnoreColumns(true).ExecuteCommand();
 
diff --git a/service/Wom/WwGdManager.cs b/service/Wom/WwGdManager.cs
index 2254eb1..1552913 100644
--- a/service/Wom/WwGdManager.cs
+++ b/service/Wom/WwGdManager.cs
@@ -58,7 +58,9 @@
                         daa001 = query.daa001,
                         barcodeNum = barcodeNum,
                         splitNum = splitNum,
-                        barcode = query.barcode
+                        barcode = query.barcode,
+                        strMsg = _strMsg,
+                        result = _intSum
                     };
 
                     return dto;
@@ -147,7 +149,7 @@
         var wwgd = Db.Queryable<WwGd, MesItems>((a, i) =>
                 new JoinQueryInfos(JoinType.Left,
                     a.Daa003 == i.ItemId))
-            .Where((a, i) => a.Daa001 == query.daa001)
+            .Where((a, i) => a.Daa001 == query.daa001 && (a.PcSh ?? 0) == 1)
             .Select((a, i) => new
             {
                 a.Daa001, a.RwdGuid
@@ -162,8 +164,7 @@
                         JoinType.Left,
                         a.Id == b.Pid,
                         JoinType.Inner,
-                        c.Id ==
-                        b.Dab003,
+                        c.Id == b.Dab003,
                         JoinType.Inner, b.Erpid.ToString() == d.ErpId
                     ))
             .Where((a, b, c, d) =>
@@ -668,6 +669,11 @@
             .Where(a => a.Daa001 == query.billNo)
             .First();
 
+        // 妫�鏌ュ伐鍗曚俊鎭�
+        var WWRWD = Db.Queryable<ProductionOrder>()
+            .Where(a => a.OrderNo == wwgd.Daa014)
+            .First();
+
         if (wwgd == null)
             throw new Exception($"宸ュ崟 {query.billNo} 涓嶅瓨鍦紝璇风‘璁わ紒");
 
@@ -678,6 +684,11 @@
 
         if (womdab == null)
             throw new Exception($"澶囨枡鏄庣粏涓嶅瓨鍦ㄦ鐗╂枡 {stockBarcode.ItemNo} 璇风‘璁わ紒");
+
+
+        var depots = Db.Queryable<MesDepots>()
+            .Where(t => t.DepotId == stockBarcode.DepotId)
+            .First();
 
         if (stockBarcode.Quantity > quantity)
         {
@@ -707,13 +718,24 @@
         // 寮�鍚簨鍔″鐞�
         var success = UseTransaction(db =>
         {
+            query.Type = "濮斿琛ユ枡";
+            var outNoType = "WWBL(濮斿琛ユ枡)";
+            if (query.Type == "鐢熶骇琛ユ枡")
+            {
+                outNoType = "SCBL(鐢熶骇琛ユ枡)";
+            }
+            else
+            {
+                outNoType = "SCCL(鐢熶骇瓒呴)";
+            }
+            outNoType = "WWBL(濮斿琛ユ枡)";
             // 鑾峰彇鎴栧垱寤哄嚭搴撳崟
             var outId = Guid.NewGuid();
-            var outNo = BillNo.GetBillNo("BL(宸ュ崟琛ユ枡)");
+            var outNo = BillNo.GetBillNo(outNoType);
 
             var existingOut = db.Queryable<MesInvItemOuts>()
-                .Where(a => a.BbillNo == query.blNo
-                            && a.DepotCode == womdab.Dab017
+                .Where(a => a.TaskNo == query.blNo
+                            && a.DepotId == stockBarcode.DepotId
                             && a.OutDate.Value.Date.ToString("yyyy-MM-dd") ==
                             DateTime.Now.Date.ToString("yyyy-MM-dd")
                             && a.BillTypeId == 200
@@ -741,33 +763,36 @@
                     BillTypeId = 200,
                     TransactionNo = 209,
                     Remark = mesItemBl.Bl007,
-                    DepotCode = womdab.Dab017,
-                    OutPart = wwgd.Daa013.ToString(),
+                    DepotCode = depots.DepotCode,
+                    OutPart = wwgd.DepartId.ToString(),
+                    OutType = query.Type,
                     FType = 0,
                     Factory = stockBarcode.Factory,
                     Company = stockBarcode.Company,
-                    // WorkNo = wwgd.Daa021,
-                    // BoardItem = wwgd.Daa002,
+                    WorkNo = WWRWD.ErpProductionOrderNo,
+                    BoardItem = wwgd.Daa003.ToString(),
                     PbillNo = wwgd.Daa001,
                     OutDate = DateTime.Now,
                     Status = 0,
-                    BbillNo = query.blNo
+                    DepotId = stockBarcode.DepotId,
+                    THORGID = stockBarcode.StockOrgId,
+                    //BbillNo = query.billNo
                 }).IgnoreColumns(true).ExecuteCommand();
             }
 
             // 妫�鏌ュ苟鏇存柊鍑哄簱鍗曠墿鏂欐槑缁�
             var itemCount = db.Queryable<MesInvItemOutItems>()
                 .Where(i =>
-                    i.ItemOutId == outId && i.ItemId == stockBarcode.ItemId)
+                    i.ItemOutId == outId && i.ItemId == stockBarcode.ItemId && i.ItemOutId == outId && i.DepotId == stockBarcode.DepotsId.ToString())
                 .Count();
 
             if (itemCount > 0)
                 // 鏇存柊宸插瓨鍦ㄧ殑鐗╂枡鏄庣粏鏁伴噺
                 db.Updateable<MesInvItemOutItems>()
                     .SetColumns(i =>
-                        i.Quantity == i.Quantity + stockBarcode.Quantity)
+                        i.TlQty == i.TlQty + stockBarcode.Quantity)
                     .Where(i =>
-                        i.ItemOutId == outId && i.ItemId == stockBarcode.ItemId)
+                        i.ItemOutId == outId && i.ItemId == stockBarcode.ItemId && i.ItemOutId == outId && i.DepotId == stockBarcode.DepotsId.ToString())
                     .ExecuteCommand();
             else
                 // 鎻掑叆鏂扮殑鐗╂枡鏄庣粏璁板綍
@@ -777,21 +802,24 @@
                     ItemOutId = outId,
                     ItemNo = blDetail.Bld002,
                     Quantity = stockBarcode.Quantity,
+                    TlQty = stockBarcode.Quantity,
                     CreateBy = query.userName,
                     CreateDate = DateTime.Now,
                     LastupdateBy = query.userName,
                     LastupdateDate = DateTime.Now,
                     Factory = stockBarcode.Factory,
                     Company = stockBarcode.Company,
-                    DepotCode = womdab.Dab017,
+                    DepotCode = depots.DepotCode,
                     TaskNo = query.blNo,
-                    // WorkNo = wwgd.Daa021,
+                    WorkNo = WWRWD.ErpProductionOrderNo,
                     WorkLine = blDetail.Bld013,
                     ErpItemNo = womdab.Dab003.ToString(),
                     ErpId = womdab.Eid,
                     ErpAutoid = womdab.Erpid,
                     PbillNo = query.billNo,
-                    ItemId = blDetail.Bld012
+                    ItemId = blDetail.Bld012,
+                    DepotId = stockBarcode.DepotsId.ToString(),
+                    ItemDabid = womdab.Id,
                     // Unit = blDetail.Bld009,
                     // DepotId = (int)stockBarcode.DepotsId
                 }).IgnoreColumns(true).ExecuteCommand();
@@ -810,7 +838,7 @@
                 CreateDate = DateTime.Now,
                 LastupdateBy = query.userName,
                 LastupdateDate = DateTime.Now,
-                DepotCode = stockBarcode.DepotsCode,
+                DepotCode = depots.DepotCode,
                 DepotSectionCode = stockBarcode.DepotSectionsCode,
                 Remark = blDetail.Bld010,
                 Factory = stockBarcode.Factory,
@@ -835,7 +863,7 @@
                 Guid = Guid.NewGuid(),
                 Status = 1,
                 BillTypeId = 200, // p_bill_type_id
-                TransactionCode = "210", // p_transaction_no
+                TransactionCode = "209", // p_transaction_no
                 BusinessType = -1,
                 ItemBarcode = stockBarcode.ItemBarcode,
                 ItemNo = stockBarcode.ItemNo,
@@ -871,6 +899,7 @@
                 .Where(it => it.Id == womdab.Id && it.Dab003 == womdab.Dab003)
                 .ExecuteCommand();
 
+
             // 鏇存柊琛ユ枡鍗曟槑缁嗗凡琛ユ暟閲�
             db.Updateable<MesItemBlDetail>()
                 .SetColumns(it => new MesItemBlDetail

--
Gitblit v1.9.3