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

---
 appsettings.json                               |    3 +
 service/Wom/WomdaaManager.cs                   |    2 
 service/Warehouse/MesCgthSqManager.cs          |    2 
 service/Warehouse/MesItemBlManager.cs          |    2 
 service/Warehouse/MesSctkManager.cs            |    2 
 Controllers/Warehouse/MesItemQtrkController.cs |   26 +++++++++++++
 service/Warehouse/MesItemQtrkManager.cs        |   57 +++++++++++++---------------
 7 files changed, 58 insertions(+), 36 deletions(-)

diff --git a/Controllers/Warehouse/MesItemQtrkController.cs b/Controllers/Warehouse/MesItemQtrkController.cs
index 7c773f3..d881817 100644
--- a/Controllers/Warehouse/MesItemQtrkController.cs
+++ b/Controllers/Warehouse/MesItemQtrkController.cs
@@ -116,10 +116,36 @@
     [HttpPost("GetQtckDetailList")]
     public ResponseResult GetQtckDetailList([FromBody] WarehouseQuery query)
     {
+        //try
+        //{
+        //    dynamic resultInfos = new ExpandoObject();
+        //    resultInfos.tbBillList = _manager.GetQtckDetailList(query);
+        //    return new ResponseResult
+        //    {
+        //        status = 0,
+        //        message = "OK",
+        //        data = resultInfos
+        //    };
+        //}
+        //catch (Exception ex)
+        //{
+        //    return ResponseResult.ResponseError(ex);
+        //}
         try
         {
             dynamic resultInfos = new ExpandoObject();
             resultInfos.tbBillList = _manager.GetQtckDetailList(query);
+
+            //if(resultInfos.tbBillList.Count < 1)
+            //{
+            //    return new ResponseResult
+            //    {
+            //        status = 1,
+            //        message = "璇ョ敵璇峰崟鍙蜂笉瀛樺湪鎴栨湭瀹℃牳锛侊紒锛�",
+            //        data = ""
+            //    };
+            //}
+
             return new ResponseResult
             {
                 status = 0,
diff --git a/appsettings.json b/appsettings.json
index 09b39ee..7df8dbe 100644
--- a/appsettings.json
+++ b/appsettings.json
@@ -9,6 +9,7 @@
   "AppSettings": {
     "TestErpUrl": "http://192.168.1.149:8066/WebService1.asmx/MesToErpinfoTest",
     "ProductionErpUrl": "http://192.168.1.149:8066/WebService1.asmx/MesToErpinfoTest",
-    "DataBaseConn": "Data Source=192.168.1.146;Initial Catalog=GS_MES;User ID=sa;Password =qixi123;Encrypt=True;TrustServerCertificate=True;"
+    "DataBaseConn": "Data Source=192.168.1.146;Initial Catalog=TEST_MES;User ID=sa;Password =qixi123;Encrypt=True;TrustServerCertificate=True;"
+    //"DataBaseConn": "Data Source=192.168.1.146;Initial Catalog=GS_MES;User ID=sa;Password =qixi123;Encrypt=True;TrustServerCertificate=True;"
   }
 }
diff --git a/service/Warehouse/MesCgthSqManager.cs b/service/Warehouse/MesCgthSqManager.cs
index d4634cf..45e7b9b 100644
--- a/service/Warehouse/MesCgthSqManager.cs
+++ b/service/Warehouse/MesCgthSqManager.cs
@@ -27,7 +27,7 @@
         if (mesInvItemOuts == null) throw new Exception("閲囪喘閫�璐х敵璇峰崟涓嶅瓨鍦�");
 
         var sql = string.Format(@"SELECT c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel,A.SQ_NUM FQty,A.YS_NUM SQty,A.SQ_NUM - A.YS_NUM DSQty,
-       dbo.F_QX_GETRECODEPOTSE(A.ITEM_ID) as RecoKw
+       dbo.F_QX_GETRECODEPOTSE(A.ITEM_ID,'','','') as RecoKw
 fROM MES_CGTH_SQ_DETAIL A
          LEFT JOIN MES_CGTH_SQ B ON A.MID = B.ID
          LEFT JOIN MES_ITEMS C ON A.ITEM_ID = C.item_id
diff --git a/service/Warehouse/MesItemBlManager.cs b/service/Warehouse/MesItemBlManager.cs
index ca78cba..762d934 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))
diff --git a/service/Warehouse/MesItemQtrkManager.cs b/service/Warehouse/MesItemQtrkManager.cs
index 73d3026..81eceda 100644
--- a/service/Warehouse/MesItemQtrkManager.cs
+++ b/service/Warehouse/MesItemQtrkManager.cs
@@ -1,6 +1,7 @@
 锘縰sing NewPdaSqlServer.DB;
 using NewPdaSqlServer.Dto.service;
 using NewPdaSqlServer.entity;
+using NewPdaSqlServer.entity.Base;
 using NewPdaSqlServer.util;
 using SqlSugar;
 using System.Text.RegularExpressions;
@@ -17,42 +18,36 @@
             .ToList();
     }
 
-    public List<MesItemQtrrDetail> GetQtckDetailList(WarehouseQuery query)
+    public ProductionPickDto GetQtckDetailList(WarehouseQuery query)
     {
-        // 1. 楠岃瘉鐢宠鍗曟槸鍚﹀瓨鍦�
-        var qtrk = Db.Queryable<MesItemQtrk>()
-            .Where(x => x.Qtck == query.billNo)
-            .First();
-        if (qtrk == null)
-            throw new Exception($"鏈煡璇㈠埌姝ゅ叾浠栧叆搴撶敵璇峰崟 {query.billNo}");
+        // 鍏宠仈鏌ヨ鐗╂枡琛ㄣ�佺墿鏂欐槑缁嗚〃鍜岀墿鏂欏熀纭�淇℃伅琛�
+        if (string.IsNullOrEmpty(query.billNo)) throw new Exception("鐢宠鍗曞彿涓虹┖");
 
-        // 2. 楠岃瘉鐢宠鍗曠姸鎬�
-        if (qtrk.Qt015 != 1)
-            throw new Exception($"鍏朵粬鍏ュ簱鐢宠鍗� {query.billNo} 鏈鏍革紝璇风‘璁わ紒");
+        var mesInvItemOuts = base.GetSingle(it => it.Qtck == query.billNo);
+        if (mesInvItemOuts == null) throw new Exception("鍏朵粬鍏ュ簱鐢宠鍗曚笉瀛樺湪");
 
-        if (qtrk.Qt014 == 1)
-            throw new Exception($"鍏朵粬鍏ュ簱鐢宠鍗� {query.billNo} 宸插畬缁擄紝璇风‘璁わ紒");
+        var sql = string.Format(@"SELECT c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel,A.qd007 FQty,A.qd008 SQty,A.qd007 - A.qd008 DSQty
+fROM MES_ITEM_QTRR_DETAIL A
+         LEFT JOIN MES_ITEM_QTRK B ON A.qtrkGuid = B.guid
+         LEFT JOIN MES_ITEMS C ON A.itemId = C.item_id
+WHERE B.qtck = '{0}'", query.billNo);
 
-        // 3. 鏌ヨ鐢宠鍗曟槑缁�
-        var details = Db.Queryable<MesItemQtrk, MesItemQtrrDetail, MesItems>(
-                (a, b, c) => new JoinQueryInfos(
-                    JoinType.Left, a.Guid == b.QtrkGuid,
-                    JoinType.Left, c.Id.ToString() == b.ItemId))
-            .Where((a, b, c) =>
-                a.Qtck == query.billNo &&
-                (b.Qd007 ?? 0) - (b.Qd008 ?? 0) > 0)
-            .OrderBy((a, b, c) => b.Qd002)
-            .Select((a, b, c) => new MesItemQtrrDetail
-            {
-                Qtck = a.Qtck,
-                ItemNo = c.ItemNo,
-                ItemName = c.ItemName,
-                Qd007 = b.Qd007 ?? 0,
-                Qd008 = b.Qd008 ?? 0
-            })
-            .ToList();
+        var womdabs = Db.Ado.SqlQuery<ItemDetailModel>(sql);
 
-        return details;
+
+        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 = womdaa.Daa001,
+            //PlanNo = womcaa.Caa020,
+            items = DS_list,
+            Ysitems = YS_list
+        };
+
+        return dto;
     }
 
     public string ScanInDepotsQT(WarehouseQuery query)
diff --git a/service/Warehouse/MesSctkManager.cs b/service/Warehouse/MesSctkManager.cs
index c5798ef..7a1d9bf 100644
--- a/service/Warehouse/MesSctkManager.cs
+++ b/service/Warehouse/MesSctkManager.cs
@@ -28,7 +28,7 @@
         if (mesInvItemOuts == null) throw new Exception("閲囪喘閫�璐х敵璇峰崟涓嶅瓨鍦�");
 
         var sql = string.Format(@"SELECT c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel,A.SQ_NUM FQty,A.YS_NUM SQty,A.SQ_NUM - A.YS_NUM DSQty,
-       dbo.F_QX_GETRECODEPOTSE(A.ITEM_ID) as RecoKw
+       dbo.F_QX_GETRECODEPOTSE(A.ITEM_ID,'','','') as RecoKw
 fROM MES_SCTH_SQ_DETAIL A
          LEFT JOIN MES_SCTH_SQ B ON A.MID = B.ID
          LEFT JOIN MES_ITEMS C ON A.ITEM_ID = C.item_id
diff --git a/service/Wom/WomdaaManager.cs b/service/Wom/WomdaaManager.cs
index a56f9dd..23dddc8 100644
--- a/service/Wom/WomdaaManager.cs
+++ b/service/Wom/WomdaaManager.cs
@@ -204,7 +204,7 @@
         //    .ToList();
 
         var sql =string.Format(@"SELECT c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel,b.dab006 FQty,b.dab007 SQty,b.dab006 - b.dab007 DSQty ,
-       dbo.F_QX_GETRECODEPOTSE(B.dab003) as RecoKw
+       dbo.F_QX_GETRECODEPOTSE(B.dab003,'','','') as RecoKw
     FROM WOMDAB B
     LEFT JOIN WOMDAA A ON A.guid = B.daaGuid
     LEFT JOIN MES_ITEMS C ON  B.dab003 = C.item_id

--
Gitblit v1.9.3