From f1d1d3b67316c4dd7d36c15a82df5e66fde74a69 Mon Sep 17 00:00:00 2001
From: cdk <2441919651@qq.com>
Date: 星期三, 10 九月 2025 19:22:11 +0800
Subject: [PATCH] 增加agc点位

---
 service/Wom/WomdaaManager.cs |  112 +++++++++++++++++++++++---------------------------------
 1 files changed, 46 insertions(+), 66 deletions(-)

diff --git a/service/Wom/WomdaaManager.cs b/service/Wom/WomdaaManager.cs
index 579d1df..547ff5b 100644
--- a/service/Wom/WomdaaManager.cs
+++ b/service/Wom/WomdaaManager.cs
@@ -2,6 +2,7 @@
 using System.Data.SqlClient;
 using System.Text;
 using Masuit.Tools;
+using Masuit.Tools.Hardware;
 using Microsoft.SqlServer.Server;
 using NewPdaSqlServer.DB;
 using NewPdaSqlServer.Dto.service;
@@ -61,20 +62,19 @@
 
         // 淇锛氳ˉ鍏呰幏鍙� womdaa 瀵硅薄
         var daa001Value = query.daa001?.ToString();
-        var womdaa = Db.Queryable<Womdaa>().Where(s => s.Daa001 == daa001Value).First();
+        var womdaa = Db.Ado.SqlQuery<dynamic>("EXEC prc_pda_getDaaInfo @daa001", parameters).First();
 
-        var womcaa = Db.Queryable<Womcaa>().Where(s => s.Guid == womdaa.CaaGuid).First();
-
-        if (womcaa == null)
+        if (womdaa == null)
         {
-            throw new Exception("鐢熶骇浠诲姟鍗曚笉瀛樺湪");
+            throw new Exception("璇ュ伐鍗曚俊鎭笉瀛樺湪锛岃鏍稿锛�");
         }
 
         var dto = new ProductionPickDto
         {
             daa001 = query.daa001,
-            PlanNo = womcaa.Caa020,
-            startTime = womdaa.mesStartProd,
+            daaInfo = womdaa,
+            PlanNo = womdaa.workNo,
+            startTime = womdaa.startTime,
             items = DS_list,
             Ysitems = YS_list
         };
@@ -474,10 +474,11 @@
         if (string.IsNullOrEmpty(query.Kbbarcode?.ToString()))
             throw new ArgumentException("鍗℃澘鏉$爜涓嶅厑璁镐负绌�", nameof(query.userName));
 
-        var sql = string.Format(@"SELECT QUANTITY,
+        var sql = string.Format(@"SELECT QUANTITY,agvPostion,
        ISNULL((SELECT COUNT(1) FROM MES_INV_ITEM_BARCODES_TBMX WHERE ABOUT_TB_BARCODE = '{0}'), 0) AS YSum,
        DAA001
 FROM MES_INV_ITEM_BARCODES A LEFT JOIN WOMDAA B ON A.ABOUT_GUID = B.guid
+left join MES_WORKSHOP_LINE C ON DAA015 = C.id AND iSAgV = 1
 WHERE ITEM_BARCODE = '{0}' ",  query.Kbbarcode);
 
         var ZsBarInfo = Db.Ado.SqlQuery<dynamic>(sql);
@@ -755,7 +756,7 @@
 
 
     //鏍规嵁宸ュ崟鍙疯繑鍥炰骇鍝佸瀷鍙峰拰寰呴鐗╂枡
-    public XcslResultDto GetItemsXcsl(WarehouseQuery query)
+    public dynamic GetItemsXcsl(WarehouseQuery query)
     {
         if (string.IsNullOrEmpty(query.daa001)) throw new Exception("宸ュ崟鍙蜂负绌�");
 
@@ -774,73 +775,49 @@
 
         if (womdaa?.Daa001 == null) throw new Exception("宸ュ崟鍙蜂笉瀛樺湪");
 
-        // 浣跨敤鍙傛暟鍖栨煡璇㈤槻姝QL娉ㄥ叆
-        var sqlParams = new List<SugarParameter> { new("@daa001", query.daa001) };
+        if (womdaa?.Daa001 == null) throw new Exception("宸ュ崟鍙蜂笉瀛樺湪");
 
-        var sql1 = @"SELECT A.item_out_no,
-       SUM(B.QUANTITY)         AS BL_Num,
-       ISNULL(Sub.JS_Sum, 0) AS JS_Num, -- 浣跨敤LEFT JOIN瀛愭煡璇㈢殑缁撴灉
-       C.item_no,
-       C.item_name,
-       C.item_model,
-       D.USER_NAME
-FROM MES_INV_ITEM_OUTS A
-         LEFT JOIN MES_INV_ITEM_OUT_C_DETAILS B ON A.GUID = B.ITEM_OUT_ID
-         LEFT JOIN MES_ITEMS C ON B.ITEM_ID = C.item_id
-         LEFT JOIN SYS_USER D ON A.create_by = D.ACCOUNT
--- 鏂板LEFT JOIN鑱氬悎瀛愭煡璇�
-         LEFT JOIN (SELECT B1.ITEM_ID,
-                           SUM(B1.QUANTITY) AS JS_Sum
-                    FROM MES_INV_ITEM_OUTS A1
-                             LEFT JOIN MES_INV_ITEM_OUT_C_DETAILS B1 ON A1.GUID = B1.ITEM_OUT_ID
-                    WHERE A1.out_type = '鐢熶骇棰嗘枡'
-                      AND A1.task_no = @daa001
-                      AND ISNULL(B1.IS_XCSL, '0') = 1
-                    GROUP BY B1.ITEM_ID -- 鎸塈TEM_ID鎻愬墠鑱氬悎
-) AS Sub ON Sub.ITEM_ID = C.item_id
-WHERE A.out_type = '鐢熶骇棰嗘枡'
-  AND A.task_no = @daa001
-GROUP BY A.item_out_no,
-         C.item_no,
-         C.item_name,
-         C.item_model,
-         D.USER_NAME,
-         C.item_id,
-         ISNULL(Sub.JS_Sum, 0);";
+        // 浣跨敤ADO.NET鐩存帴璋冪敤瀛樺偍杩囩▼
+        var ds = new DataSet();
 
-        var XcslItem = Db.Ado.SqlQuery<dynamic>(sql1, sqlParams);
+        // 鍋囪鎮ㄤ娇鐢ㄧ殑鏄疭QL Server锛屽垱寤篠qlConnection
+        using (var conn = new SqlConnection(DbHelperSQL.strConn))
+        {
+            conn.Open();
 
-        var sql2 = @"SELECT B.ITEM_BARCODE ,B.QUANTITY,C.item_no,C.item_name,D.USER_NAME,A.create_date 
-FROM MES_INV_ITEM_OUTS A
-LEFT JOIN MES_INV_ITEM_OUT_C_DETAILS B ON A.GUID = B.ITEM_OUT_ID
-LEFT JOIN MES_ITEMS C ON B.ITEM_ID = C.item_id
-LEFT JOIN SYS_USER D ON A.create_by = D.ACCOUNT
-WHERE out_type = '鐢熶骇棰嗘枡' 
-AND A.task_no = @daa001 
-AND ISNULL(IS_XCSL,'0') = 0";
+            using (var cmd = new SqlCommand("prc_pda_xcsl_detailList", conn))
+            {
+                cmd.CommandType = CommandType.StoredProcedure;
 
-        var XcslWjsBar = Db.Ado.SqlQuery<dynamic>(sql2, sqlParams);
+                // 娣诲姞鍙傛暟
+                cmd.Parameters.Add(new SqlParameter("@daa001", query.daa001));
+                cmd.Parameters.Add(new SqlParameter("@pi_orgId", DBNull.Value));
+                cmd.Parameters.Add(new SqlParameter("@inP1", DBNull.Value));
+                cmd.Parameters.Add(new SqlParameter("@inP2", DBNull.Value));
+                cmd.Parameters.Add(new SqlParameter("@inP3", DBNull.Value));
+                cmd.Parameters.Add(new SqlParameter("@inP4", DBNull.Value));
 
-        var sql3 = @"SELECT B.ITEM_BARCODE ,B.QUANTITY,C.item_no,C.item_name,D.USER_NAME,B.XCSL_CREATE_DATE 
-FROM MES_INV_ITEM_OUTS A
-LEFT JOIN MES_INV_ITEM_OUT_C_DETAILS B ON A.GUID = B.ITEM_OUT_ID
-LEFT JOIN MES_ITEMS C ON B.ITEM_ID = C.item_id
-LEFT JOIN SYS_USER D ON B.XCSL_CREATE_BY = D.ACCOUNT
-WHERE out_type = '鐢熶骇棰嗘枡' 
-AND A.task_no = @daa001  
-AND ISNULL(IS_XCSL,'0') = 1";
+                using (var adapter = new System.Data.SqlClient.SqlDataAdapter(cmd))
+                {
+                    adapter.Fill(ds);
+                }
+            }
+        }
 
-        var XcslYjsBar = Db.Ado.SqlQuery<dynamic>(sql3, sqlParams);
+        // 杞崲缁撴灉
+        var XcslItem = Db.Utilities.DataTableToDynamic(ds.Tables[0]);
+        var XcslWjsBar = Db.Utilities.DataTableToDynamic(ds.Tables[1]);
+        var XcslYjsBar = Db.Utilities.DataTableToDynamic(ds.Tables[2]);
+        var daaInfo = Db.Utilities.DataTableToDynamic(ds.Tables[3]);
 
-
-        var dto = new XcslResultDto
+        var dto = new 
         {
             GD_Num = womdaa.Daa008,
             workNo = womdaa.Daa021,
             XcslItemList = XcslItem,
             XcslWjsBarList = XcslWjsBar,
-            XcslYjsBarList = XcslYjsBar
-
+            XcslYjsBarList = XcslYjsBar,
+            DaaInfoList = daaInfo
         };
 
         return dto;
@@ -1013,11 +990,13 @@
         {
             new SugarParameter("@selectKey", unity.selectKey),
             new SugarParameter("@inP1", orgId), // 鍙�夊弬鏁�
-            new SugarParameter("@inP2", null), // 鍙�夊弬鏁�
+            new SugarParameter("@inP2", unity.selDaaType), // 鍙�夊弬鏁�
+            new SugarParameter("@inP3", null), // 鍙�夊弬鏁�
+            new SugarParameter("@inP4", null), // 鍙�夊弬鏁�
             // ...鍏朵粬鍙�夊弬鏁�
         };
 
-        var result = Db.Ado.SqlQuery<dynamic>("EXEC prc_pda_getWorkOrderInfo @selectKey, @inP1, @inP2", parameters);
+        var result = Db.Ado.SqlQuery<dynamic>("EXEC prc_pda_getWorkOrderInfo @selectKey, @inP1, @inP2, @inP3, @inP4", parameters);
 
 
         return result;
@@ -1443,6 +1422,7 @@
                 {
                     new("@pi_user", SqlDbType.NVarChar, 100) { Value = query.userAccount },
                     new("@pi_kb_barcode", SqlDbType.NVarChar, 100) { Value = query.KbBar },
+                    new("@in1", SqlDbType.NVarChar, 100) { Value = query.AgvDw },
                     new("@outMsg", SqlDbType.NVarChar, 2500) { Direction = ParameterDirection.Output },
                     new("@outSum", SqlDbType.Int) { Direction = ParameterDirection.Output }
                 };

--
Gitblit v1.9.3