From 1be2fc056943ba8b9e62328430e15beee03e8a9f Mon Sep 17 00:00:00 2001
From: 南骏 池 <chiffly@163.com>
Date: 星期一, 02 六月 2025 13:46:48 +0800
Subject: [PATCH] 1.生产补料优化 2.首检开发-v1

---
 service/QC/IpqcService.cs |  175 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 173 insertions(+), 2 deletions(-)

diff --git a/service/QC/IpqcService.cs b/service/QC/IpqcService.cs
index 58c47fb..5fb5477 100644
--- a/service/QC/IpqcService.cs
+++ b/service/QC/IpqcService.cs
@@ -5,6 +5,8 @@
 using NewPdaSqlServer.entity;
 using NewPdaSqlServer.util;
 using SqlSugar;
+using System.Data;
+using System.Data.SqlClient;
 using static Azure.Core.HttpHeader;
 using static Microsoft.EntityFrameworkCore.DbLoggerCategory;
 
@@ -85,7 +87,11 @@
                 a.Order,
                 a.Ybsl,
                 a.ISRZXX,
-                a.IPQCRZXX
+                a.IPQCRZXX,
+                a.IPQCRZXXDate,
+                a.IPQCRZXXNum,
+                a.IPQCpscs,
+                a.FcheckType,
             }).Select((a, b) => new MesQaItemsDetectDetail5
             {
                 Guid = a.Guid,
@@ -110,7 +116,11 @@
                 Ybsl = a.Ybsl,
                 YbslIn = Ybsl_In,
                 ISRZXX = a.ISRZXX,
-                IPQCRZXX = a.IPQCRZXX
+                IPQCRZXX = a.IPQCRZXX,
+                IPQCRZXXDate = a.IPQCRZXXDate.ToString(),
+                IPQCRZXXNum = a.IPQCRZXXNum,
+                IPQCpscs = a.IPQCpscs,
+                FcheckType =a.FcheckType,
             }).OrderBy(a => a.Order)
             .ToList();
     }
@@ -164,4 +174,165 @@
 
         return withOracle;
     }
+
+
+    public dynamic CreateByWomdaa(dynamic query)
+    {
+        if (query == null) throw new ArgumentNullException(nameof(query));
+
+        if (string.IsNullOrEmpty(query.userAccount?.ToString()))
+            throw new ArgumentException("鐢ㄦ埛璐﹀彿涓嶈兘涓虹┖", nameof(query.userAccount));
+
+        if (string.IsNullOrEmpty(query.inOrderGuid1?.ToString()))
+            throw new ArgumentException("妫�楠屽崟GUID涓嶈兘涓虹┖", nameof(query.inOrderGuid1));
+
+            if (string.IsNullOrEmpty(query.DAA001?.ToString()))
+                throw new ArgumentException("宸ュ崟鍙蜂笉鑳戒负绌�", nameof(query.inOrderGuid1));
+
+            var _strMsg = "";
+        var _status = -1;
+
+        using (var conn = new SqlConnection(DbHelperSQL.strConn))
+        using (var cmd = new SqlCommand("ipqc_createByWomdaa", conn))
+        {
+            try
+            {
+                conn.Open();
+                cmd.CommandType = CommandType.StoredProcedure;
+
+                SqlParameter[] parameters = 
+                {
+                    new("@po_outMsg", SqlDbType.NVarChar, 150) { Direction = ParameterDirection.Output },
+                    new("@po_outStatus", SqlDbType.Int) { Direction = ParameterDirection.Output },
+                    new("@pi_user", SqlDbType.NVarChar, 150) { Value = query.userAccount },
+                    new("@pi_OrderGuid1", SqlDbType.UniqueIdentifier) { Value = Guid.Parse(query.inOrderGuid1.ToString()) },
+                    new("@pi_DAA001", SqlDbType.NVarChar, 150) { Value = query.DAA001.ToString() },
+                    new("@pi_inP1", SqlDbType.NVarChar, 20) { Value = query.pi_inP1 ?? DBNull.Value },
+                    new("@pi_inP2", SqlDbType.NVarChar, 20) { Value = query.pi_inP2 ?? DBNull.Value }
+                };
+
+                cmd.Parameters.AddRange(parameters);
+                cmd.ExecuteNonQuery();
+
+                _strMsg = parameters[0].Value?.ToString() ?? "";
+                _status = Convert.ToInt32(parameters[1].Value ?? -1);
+
+                if (_status <= 0) throw new Exception(_strMsg);
+
+                return new 
+                {
+                    message = _strMsg,
+                    status = _status
+                };
+            }
+            catch (Exception ex)
+            {
+                throw new Exception($"妫�楠屽崟鏇存柊澶辫触锛歿ex.Message}");
+            }
+        }
+    }
+
+    public int UpdateTableConfig(string selectedWater, string selectedFlow, string tableData, string mxguid)
+    {
+        var sqlParams = new List<SugarParameter> {
+            new("@selectedWater", selectedWater),
+            new("@selectedFlow", selectedFlow),
+            new("@tableData", tableData),
+            new("@mxguid", mxguid)
+        };
+
+        var sql = @"UPDATE MES_QA_ITEMS_DETECT_DETAIL5 
+                    SET ipqc_zrxn_sel1 = @selectedWater,
+                        ipqc_zrxn_sel2 = @selectedFlow,
+                        ipqc_zrxn_table = @tableData 
+                    WHERE guid = @mxguid";
+
+        return Db.Ado.ExecuteCommand(sql, sqlParams);
+    }
+
+    public dynamic GetTableConfig(string mxguid)
+    {
+        var sqlParams = new List<SugarParameter> {
+            new("@mxguid", mxguid)
+        };
+
+        var sql = @"SELECT ipqc_zrxn_sel1,ipqc_zrxn_sel2,ipqc_zrxn_table 
+                    FROM MES_QA_ITEMS_DETECT_DETAIL5 
+                    WHERE guid = @mxguid";
+
+        var result = Db.Ado.SqlQuery<dynamic>(sql, sqlParams).FirstOrDefault();
+        
+        if (result == null)
+            throw new Exception("閰嶇疆淇℃伅鏌ヨ缁撴灉涓虹┖");
+
+        return result;
+    }
+
+    public List<dynamic> GetRzxxList(string mxguid)
+    {
+        var sqlParams = new List<SugarParameter> {
+            new("@mxguid", mxguid)
+        };
+
+        var sql = @"SELECT a.s_type, a.defect_name 
+                    FROM [dbo].[MES_DEFECT_CODE] a 
+                    WHERE a.s_type = '璁よ瘉淇℃伅' 
+                    AND a.pid = ( 
+                        SELECT TOP 1 b.guid 
+                        FROM [dbo].[MES_DEFECT_CODE] b 
+                        INNER JOIN [dbo].[MES_QA_ITEMS_DETECT_DETAIL5] d 
+                            ON b.defect_name = d.fcheck_item 
+                        WHERE d.guid = @mxguid 
+                        ORDER BY b.guid 
+                    )";
+
+        var result = Db.Ado.SqlQuery<dynamic>(sql, sqlParams);
+        
+        if (result == null || result.Count == 0)
+            throw new Exception("鏈壘鍒扮浉鍏宠璇佷俊鎭�");
+
+        return result;
+    }
+
+    public int UpdateScDate(string scDateValue, string mxguid)
+    {
+        var sqlParams = new List<SugarParameter> {
+            new("@scDateValue", scDateValue),
+            new("@mxguid", mxguid)
+        };
+
+        var sql = @"UPDATE MES_QA_ITEMS_DETECT_DETAIL5 
+                    SET ipqc_rzxx_date = @scDateValue 
+                    WHERE guid = @mxguid";
+
+        return Db.Ado.ExecuteCommand(sql, sqlParams);
+    }
+
+    public int UpdateRzxxNum(string ipqcrzxxNum, string mxguid)
+    {
+        var sqlParams = new List<SugarParameter> {
+            new("@ipqcrzxxNum", ipqcrzxxNum),
+            new("@mxguid", mxguid)
+        };
+
+        var sql = @"UPDATE MES_QA_ITEMS_DETECT_DETAIL5 
+                    SET ipqc_rzxx_num = @ipqcrzxxNum 
+                    WHERE guid = @mxguid";
+
+        return Db.Ado.ExecuteCommand(sql, sqlParams);
+    }
+
+    public int UpdateCpscs(string ipqCpscs, string mxguid)
+    {
+        var sqlParams = new List<SugarParameter> {
+            new("@ipqCpscs", ipqCpscs),
+            new("@mxguid", mxguid)
+        };
+
+        var sql = @"UPDATE MES_QA_ITEMS_DETECT_DETAIL5 
+                    SET ipqc_pscs = @ipqCpscs 
+                    WHERE guid = @mxguid";
+
+        return Db.Ado.ExecuteCommand(sql, sqlParams);
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.3