From 135599eb59bccb5f8f8a567ad174cc2af4357887 Mon Sep 17 00:00:00 2001
From: 南骏 池 <chiffly@163.com>
Date: 星期五, 13 六月 2025 14:39:25 +0800
Subject: [PATCH] 1.采购退货单优化 2.采购退料单拆分 3.采购入库优化

---
 service/Warehouse/MesItemBlManager.cs |   71 ++++++++++++++++++++++++++++++++++-
 1 files changed, 69 insertions(+), 2 deletions(-)

diff --git a/service/Warehouse/MesItemBlManager.cs b/service/Warehouse/MesItemBlManager.cs
index ca78cba..0f0b52d 100644
--- a/service/Warehouse/MesItemBlManager.cs
+++ b/service/Warehouse/MesItemBlManager.cs
@@ -69,7 +69,7 @@
 
         //return (mesItemBl.Bl001, blDetails);
         var sql = string.Format(@"SELECT c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel,A.BLD007 FQty,A.BLD008 SQty,A.BLD007 - A.BLD008 DSQty,
-       dbo.F_QX_GETRECODEPOTSE(A.bld012) as RecoKw,D.daa001
+       dbo.F_QX_GETRECODEPOTSE(A.bld012,'','','') as RecoKw,D.daa001
 fROM MES_ITEM_BL_DETAIL A
          LEFT JOIN MES_ITEM_BL B ON A.MID = B.ID
          LEFT JOIN MES_ITEMS C ON A.bld012 = CAST(C.item_id AS VARCHAR(50))
@@ -323,7 +323,7 @@
                     ErpAutoid = womdab.Erpid,
                     PbillNo = query.billNo,
                     ItemId = blDetail.Bld012,
-                    DepotId = stockBarcode.DepotsId.ToString(),
+                    DepotId = stockBarcode.DepotId.ToString(),
                     ItemDabid = blDetail.Id,
                     // Unit = blDetail.Bld009,
                     // DepotId = (int)stockBarcode.DepotsId
@@ -1815,5 +1815,72 @@
         return (true, pendingList);
     }
 
+
+    /// <summary>
+    ///     鏍规嵁鍗曞彿鑾峰彇鐢熶骇琛ユ枡鍗曟槑缁�  prc_rf_pda_scan_zout_showbl
+    /// </summary>
+    /// <param name="billNo">琛ユ枡鍗曞彿</param>
+    /// <returns>琛ユ枡鍗曟槑缁嗗垪琛�</returns>
+    public ProductionPickDto
+        GetMesItemWWBlDetailByBillNo(
+            WarehouseQuery query)
+    {
+        if (string.IsNullOrEmpty(query.billNo))
+            throw new Exception("璇烽�夊崟鎹彿锛�");
+
+        // 妫�鏌ヨˉ鏂欏崟鏄惁瀛樺湪涓斾负鐢熶骇琛ユ枡绫诲瀷
+        var mesItemBl = Db.Queryable<MesItemBl>()
+            .Where(a => a.BlNo == query.billNo && a.Bl008 == query.Type && a.Bl018 == true)
+            .First();
+
+        if (mesItemBl == null)
+            throw new Exception("鍗曟嵁鍙蜂笉瀛樺湪鎴栨湭瀹℃牳锛�");
+
+        //if (mesItemBl.Bl019 == true)
+        //    throw new Exception("鍗曟嵁鍙峰凡瀹屾垚锛�");
+
+        //// 鑾峰彇鏈畬鎴愮殑琛ユ枡鍗曟槑缁�
+        //var blDetails = Db.Queryable<MesItemBl, MesItemBlDetail>((a, b) =>
+        //        new JoinQueryInfos(JoinType.Left, a.Id == b.Mid))
+        //    .Where((a, b) => a.BlNo == query.billNo
+        //                     && (b.Bld007 ?? 0) - (b.Bld008 ?? 0) > 0)
+        //    .Select((a, b) => new MesItemBlDetail
+        //    {
+        //        Bld012 = b.Bld012,
+        //        Bld002 = b.Bld002,
+        //        Bld003 = b.Bld003,
+        //        Bld004 = b.Bld004,
+        //        Bld007 = b.Bld007,
+        //        Bld008 = b.Bld008
+        //    })
+        //    .ToList();
+
+        //return (mesItemBl.Bl001, blDetails);
+        var sql = string.Format(@"SELECT c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel,A.BLD007 FQty,A.BLD008 SQty,A.BLD007 - A.BLD008 DSQty,
+       dbo.F_QX_GETRECODEPOTSE(A.bld012,'','','') as RecoKw,D.daa001
+fROM MES_ITEM_BL_DETAIL A
+         LEFT JOIN MES_ITEM_BL B ON A.MID = B.ID
+         LEFT JOIN MES_ITEMS C ON A.bld012 = CAST(C.item_id AS VARCHAR(50))
+         LEFT JOIN WW_GD D ON B.about_guid = D.ID
+WHERE B.bl_no = '{0}'", query.billNo);
+
+        var womdabs = Db.Ado.SqlQuery<ItemDetailModel>(sql);
+
+
+        var DS_list = womdabs.Where(s => s.DSQty > 0).ToList();
+
+        var YS_list = womdabs.Where(s => s.SQty > 0).ToList();
+
+        var dto = new ProductionPickDto
+        {
+            daa001 = womdabs[0].DAA001,
+            //PlanNo = womcaa.Caa020,
+            items = DS_list,
+            Ysitems = YS_list
+        };
+
+        return dto;
+    }
+
     #endregion
 }
\ No newline at end of file

--
Gitblit v1.9.3