From d5d0d54d8ba486a5b2b669fb16df824a129faaeb Mon Sep 17 00:00:00 2001
From: zjh <2207896513@qq.com>
Date: 星期五, 12 九月 2025 18:01:31 +0800
Subject: [PATCH] 新增iqc异常处置单接口

---
 StandardPda/MES.Service/service/QC/LljService.cs |  153 ++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 102 insertions(+), 51 deletions(-)

diff --git a/StandardPda/MES.Service/service/QC/LljService.cs b/StandardPda/MES.Service/service/QC/LljService.cs
index 5b2ad6e..9ec05f4 100644
--- a/StandardPda/MES.Service/service/QC/LljService.cs
+++ b/StandardPda/MES.Service/service/QC/LljService.cs
@@ -4,6 +4,7 @@
 using MES.Service.Dto.service;
 using MES.Service.Modes;
 using MES.Service.util;
+using Microsoft.Extensions.Configuration;
 using Newtonsoft.Json;
 using SqlSugar;
 using System.Data;
@@ -18,6 +19,10 @@
 public class LljService
 {
     private static readonly HttpClient client = new();
+    private static IConfiguration configuration = new ConfigurationBuilder()
+                .SetBasePath(Directory.GetCurrentDirectory())
+                .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
+                .Build();
 
     public (List<LtsLlj> item, int TotalCount) GetPage(XJPageResult queryObj)
     {
@@ -349,6 +354,50 @@
         // 浣跨敤 SqlSugar 鎵ц瀛樺偍杩囩▼
         db.Ado.ExecuteCommand(
             "BEGIN PRC_MES_IQC_QC_SYSSUBMIT(:PI_BILLNO,:PI_USER,:PI_SAMPLE_STATUS,:PI_SAMPLE_TYPE,:PI_SAMPLE_REASON,:PI_INSPECT_TYPE,:PI_SAMPLE_PREPARATION,:PI_URGENCY,:PI_FIRMWAREVERSION,:PI_HARDWAREVERSION,:PI_REMARK, :o_Result, :o_Msg); END;",
+            parameters.ToArray());
+
+        // 鑾峰彇杈撳嚭鍙傛暟鐨勫��
+        var resultValue = outputResult.Value?.ToString();
+        var messageValue = outputMessage.Value?.ToString();
+        var msg = new string[2];
+        msg[0] = resultValue;
+        msg[1] = messageValue;
+        return msg;
+    }
+
+
+    public string[] SaveYCCZSubmit(YCCZSubmit sysSubmit)
+    {
+        // 瀹氫箟杈撳嚭鍙傛暟
+        var outputResult = new SugarParameter("o_Result", null,
+            DbType.Int32, ParameterDirection.Output,
+            4000);
+
+        var outputMessage = new SugarParameter("o_Msg", null,
+            DbType.String,
+            ParameterDirection.Output, 4000);
+
+        // 瀹氫箟杈撳叆鍙傛暟
+        var parameters = new List<SugarParameter>
+        {
+            new("PI_BILLNO", sysSubmit.PI_BILLNO,
+                DbType.String, ParameterDirection.Input),
+            new("PI_USER", sysSubmit.PI_USER,
+                DbType.String, ParameterDirection.Input),
+            new("PTOTAL_QTY", sysSubmit.PI_QTY,
+                DbType.String, ParameterDirection.Input),
+            new("PNG_QTY", sysSubmit.PI_BADQTY,
+                DbType.String, ParameterDirection.Input),
+
+            outputResult,
+            outputMessage
+        };
+
+        var db = SqlSugarHelper.GetInstance();
+
+        // 浣跨敤 SqlSugar 鎵ц瀛樺偍杩囩▼
+        db.Ado.ExecuteCommand(
+            "BEGIN PRC_MES_IQC_QC_YCCZ(:PI_BILLNO,:PI_USER,:PTOTAL_QTY,:PNG_QTY,:o_Result, :o_Msg); END;",
             parameters.ToArray());
 
         // 鑾峰彇杈撳嚭鍙傛暟鐨勫��
@@ -1843,14 +1892,14 @@
         {
             var apiParam = new ApiCommonParam
             {
-                // 鍙戞惡瀹簯鎻愪緵鐨刟ppKey
-                appKey = DataAcquisitionConfiguration.APP_KEY,
+                //// 鍙戞惡瀹簯鎻愪緵鐨刟ppKey
+                appKey = (configuration["AppSettings:XKYamgylchedd"] == "1") ? DataAcquisitionConfiguration.APP_KEY : DataAcquisitionConfiguration.TEST_APP_KEY,
                 // 鎺ュ彛鐗堟湰
                 version = "1.0",
                 // 鎿嶄綔鑰呮墍灞炲叕鍙哥紪鐮�
-                operateCompanyCode = DataAcquisitionConfiguration.COMPANY_CODE,
+                operateCompanyCode = (configuration["AppSettings:XKYamgylchedd"] == "1") ? DataAcquisitionConfiguration.COMPANY_CODE : DataAcquisitionConfiguration.TEST_COMPANY_CODE,
                 // 鏁版嵁鎵�灞炲叕鍙哥紪鐮侊紝闈為泦鍥㈠叕鍙搁粯璁よ祴鍊间负鎿嶄綔鍏徃
-                ownerCompanyCode = DataAcquisitionConfiguration.COMPANY_CODE,
+                ownerCompanyCode = (configuration["AppSettings:XKYamgylchedd"] == "1") ? DataAcquisitionConfiguration.COMPANY_CODE : DataAcquisitionConfiguration.TEST_COMPANY_CODE,
                 // 褰撳墠鏃堕棿瀵瑰簲鐨勬椂闂存埑锛堢鏁帮級
                 timestamps = DateTimeOffset.UtcNow.ToUnixTimeSeconds()
             };
@@ -1873,14 +1922,14 @@
         {
             var apiParam = new ApiCommonParam
             {
-                // 鍙戞惡瀹簯鎻愪緵鐨刟ppKey
-                appKey = DataAcquisitionConfiguration.TEST_APP_KEY,
+                //// 鍙戞惡瀹簯鎻愪緵鐨刟ppKey
+                appKey = (configuration["AppSettings:XKYamgylchedd"] == "1") ? DataAcquisitionConfiguration.APP_KEY : DataAcquisitionConfiguration.TEST_APP_KEY,
                 // 鎺ュ彛鐗堟湰
                 version = "1.0",
                 // 鎿嶄綔鑰呮墍灞炲叕鍙哥紪鐮�
-                operateCompanyCode = DataAcquisitionConfiguration.TEST_COMPANY_CODE,
+                operateCompanyCode = (configuration["AppSettings:XKYamgylchedd"] == "1") ? DataAcquisitionConfiguration.COMPANY_CODE : DataAcquisitionConfiguration.TEST_COMPANY_CODE,
                 // 鏁版嵁鎵�灞炲叕鍙哥紪鐮侊紝闈為泦鍥㈠叕鍙搁粯璁よ祴鍊间负鎿嶄綔鍏徃
-                ownerCompanyCode = DataAcquisitionConfiguration.TEST_COMPANY_CODE,
+                ownerCompanyCode = (configuration["AppSettings:XKYamgylchedd"] == "1") ? DataAcquisitionConfiguration.COMPANY_CODE : DataAcquisitionConfiguration.TEST_COMPANY_CODE,
                 // 褰撳墠鏃堕棿瀵瑰簲鐨勬椂闂存埑锛堢鏁帮級
                 timestamps = DateTimeOffset.UtcNow.ToUnixTimeSeconds()
             };
@@ -1908,29 +1957,31 @@
 
         public static XkyinnerVendorParam GetInit()
         {
+            
             var apiParam = new ApiCommonParam
             {
-                //// 鍙戞惡瀹簯鎻愪緵鐨刟ppKey
-                //appKey = DataAcquisitionConfiguration.APP_KEY,
-                //// 鎺ュ彛鐗堟湰
-                //version = "1.0",
-                //// 鎿嶄綔鑰呮墍灞炲叕鍙哥紪鐮�
-                //operateCompanyCode = DataAcquisitionConfiguration.COMPANY_CODE,
-                //// 鏁版嵁鎵�灞炲叕鍙哥紪鐮侊紝闈為泦鍥㈠叕鍙搁粯璁よ祴鍊间负鎿嶄綔鍏徃
-                //ownerCompanyCode = DataAcquisitionConfiguration.COMPANY_CODE,
-                //// 褰撳墠鏃堕棿瀵瑰簲鐨勬椂闂存埑锛堢鏁帮級
-                //timestamps = DateTimeOffset.UtcNow.ToUnixTimeSeconds()
 
-                // 鍙戞惡瀹簯鎻愪緵鐨刟ppKey
-                appKey = DataAcquisitionConfiguration.TEST_APP_KEY,
+                //// 鍙戞惡瀹簯鎻愪緵鐨刟ppKey
+                appKey = (configuration["AppSettings:XKYamgylchedd"]=="1")?DataAcquisitionConfiguration.APP_KEY: DataAcquisitionConfiguration.TEST_APP_KEY,
                 // 鎺ュ彛鐗堟湰
                 version = "1.0",
                 // 鎿嶄綔鑰呮墍灞炲叕鍙哥紪鐮�
-                operateCompanyCode = DataAcquisitionConfiguration.TEST_COMPANY_CODE,
+                operateCompanyCode = (configuration["AppSettings:XKYamgylchedd"] == "1")?DataAcquisitionConfiguration.COMPANY_CODE:DataAcquisitionConfiguration.TEST_COMPANY_CODE,
                 // 鏁版嵁鎵�灞炲叕鍙哥紪鐮侊紝闈為泦鍥㈠叕鍙搁粯璁よ祴鍊间负鎿嶄綔鍏徃
-                ownerCompanyCode = DataAcquisitionConfiguration.TEST_COMPANY_CODE,
+                ownerCompanyCode = (configuration["AppSettings:XKYamgylchedd"] == "1")?DataAcquisitionConfiguration.COMPANY_CODE: DataAcquisitionConfiguration.TEST_COMPANY_CODE,
                 // 褰撳墠鏃堕棿瀵瑰簲鐨勬椂闂存埑锛堢鏁帮級
                 timestamps = DateTimeOffset.UtcNow.ToUnixTimeSeconds()
+
+                // 鍙戞惡瀹簯鎻愪緵鐨刟ppKey
+                //appKey = DataAcquisitionConfiguration.TEST_APP_KEY,
+                //// 鎺ュ彛鐗堟湰
+                //version = "1.0",
+                //// 鎿嶄綔鑰呮墍灞炲叕鍙哥紪鐮�
+                //operateCompanyCode = DataAcquisitionConfiguration.TEST_COMPANY_CODE,
+                //// 鏁版嵁鎵�灞炲叕鍙哥紪鐮侊紝闈為泦鍥㈠叕鍙搁粯璁よ祴鍊间负鎿嶄綔鍏徃
+                //ownerCompanyCode = DataAcquisitionConfiguration.TEST_COMPANY_CODE,
+                //// 褰撳墠鏃堕棿瀵瑰簲鐨勬椂闂存埑锛堢鏁帮級
+                //timestamps = DateTimeOffset.UtcNow.ToUnixTimeSeconds()
             };
 
 
@@ -1958,28 +2009,28 @@
         public static XkyFlushedrVendorParam GetInit()
         {
             var apiParam = new ApiCommonParam
-            {
+            { 
                 //// 鍙戞惡瀹簯鎻愪緵鐨刟ppKey
-                //appKey = DataAcquisitionConfiguration.APP_KEY,
-                //// 鎺ュ彛鐗堟湰
-                //version = "1.0",
-                //// 鎿嶄綔鑰呮墍灞炲叕鍙哥紪鐮�
-                //operateCompanyCode = DataAcquisitionConfiguration.COMPANY_CODE,
-                //// 鏁版嵁鎵�灞炲叕鍙哥紪鐮侊紝闈為泦鍥㈠叕鍙搁粯璁よ祴鍊间负鎿嶄綔鍏徃
-                //ownerCompanyCode = DataAcquisitionConfiguration.COMPANY_CODE,
-                //// 褰撳墠鏃堕棿瀵瑰簲鐨勬椂闂存埑锛堢鏁帮級
-                //timestamps = DateTimeOffset.UtcNow.ToUnixTimeSeconds()
-
-                // 鍙戞惡瀹簯鎻愪緵鐨刟ppKey
-                appKey = DataAcquisitionConfiguration.TEST_APP_KEY,
+                appKey = (configuration["AppSettings:XKYamgylchedd"] == "1") ? DataAcquisitionConfiguration.APP_KEY : DataAcquisitionConfiguration.TEST_APP_KEY,
                 // 鎺ュ彛鐗堟湰
                 version = "1.0",
                 // 鎿嶄綔鑰呮墍灞炲叕鍙哥紪鐮�
-                operateCompanyCode = DataAcquisitionConfiguration.TEST_COMPANY_CODE,
+                operateCompanyCode = (configuration["AppSettings:XKYamgylchedd"] == "1") ? DataAcquisitionConfiguration.COMPANY_CODE : DataAcquisitionConfiguration.TEST_COMPANY_CODE,
                 // 鏁版嵁鎵�灞炲叕鍙哥紪鐮侊紝闈為泦鍥㈠叕鍙搁粯璁よ祴鍊间负鎿嶄綔鍏徃
-                ownerCompanyCode = DataAcquisitionConfiguration.TEST_COMPANY_CODE,
+                ownerCompanyCode = (configuration["AppSettings:XKYamgylchedd"] == "1") ? DataAcquisitionConfiguration.COMPANY_CODE : DataAcquisitionConfiguration.TEST_COMPANY_CODE,
                 // 褰撳墠鏃堕棿瀵瑰簲鐨勬椂闂存埑锛堢鏁帮級
                 timestamps = DateTimeOffset.UtcNow.ToUnixTimeSeconds()
+
+                // 鍙戞惡瀹簯鎻愪緵鐨刟ppKey
+                //appKey = DataAcquisitionConfiguration.TEST_APP_KEY,
+                //// 鎺ュ彛鐗堟湰
+                //version = "1.0",
+                //// 鎿嶄綔鑰呮墍灞炲叕鍙哥紪鐮�
+                //operateCompanyCode = DataAcquisitionConfiguration.TEST_COMPANY_CODE,
+                //// 鏁版嵁鎵�灞炲叕鍙哥紪鐮侊紝闈為泦鍥㈠叕鍙搁粯璁よ祴鍊间负鎿嶄綔鍏徃
+                //ownerCompanyCode = DataAcquisitionConfiguration.TEST_COMPANY_CODE,
+                //// 褰撳墠鏃堕棿瀵瑰簲鐨勬椂闂存埑锛堢鏁帮級
+                //timestamps = DateTimeOffset.UtcNow.ToUnixTimeSeconds()
             };
 
 
@@ -2009,26 +2060,26 @@
             var apiParam = new ApiCommonParam
             {
                 //// 鍙戞惡瀹簯鎻愪緵鐨刟ppKey
-                //appKey = DataAcquisitionConfiguration.APP_KEY,
-                //// 鎺ュ彛鐗堟湰
-                //version = "1.0",
-                //// 鎿嶄綔鑰呮墍灞炲叕鍙哥紪鐮�
-                //operateCompanyCode = DataAcquisitionConfiguration.COMPANY_CODE,
-                //// 鏁版嵁鎵�灞炲叕鍙哥紪鐮侊紝闈為泦鍥㈠叕鍙搁粯璁よ祴鍊间负鎿嶄綔鍏徃
-                //ownerCompanyCode = DataAcquisitionConfiguration.COMPANY_CODE,
-                //// 褰撳墠鏃堕棿瀵瑰簲鐨勬椂闂存埑锛堢鏁帮級
-                //timestamps = DateTimeOffset.UtcNow.ToUnixTimeSeconds()
-
-                // 鍙戞惡瀹簯鎻愪緵鐨刟ppKey
-                appKey = DataAcquisitionConfiguration.TEST_APP_KEY,
+                appKey = (configuration["AppSettings:XKYamgylchedd"] == "1") ? DataAcquisitionConfiguration.APP_KEY : DataAcquisitionConfiguration.TEST_APP_KEY,
                 // 鎺ュ彛鐗堟湰
                 version = "1.0",
                 // 鎿嶄綔鑰呮墍灞炲叕鍙哥紪鐮�
-                operateCompanyCode = DataAcquisitionConfiguration.TEST_COMPANY_CODE,
+                operateCompanyCode = (configuration["AppSettings:XKYamgylchedd"] == "1") ? DataAcquisitionConfiguration.COMPANY_CODE : DataAcquisitionConfiguration.TEST_COMPANY_CODE,
                 // 鏁版嵁鎵�灞炲叕鍙哥紪鐮侊紝闈為泦鍥㈠叕鍙搁粯璁よ祴鍊间负鎿嶄綔鍏徃
-                ownerCompanyCode = DataAcquisitionConfiguration.TEST_COMPANY_CODE,
+                ownerCompanyCode = (configuration["AppSettings:XKYamgylchedd"] == "1") ? DataAcquisitionConfiguration.COMPANY_CODE : DataAcquisitionConfiguration.TEST_COMPANY_CODE,
                 // 褰撳墠鏃堕棿瀵瑰簲鐨勬椂闂存埑锛堢鏁帮級
                 timestamps = DateTimeOffset.UtcNow.ToUnixTimeSeconds()
+
+                // 鍙戞惡瀹簯鎻愪緵鐨刟ppKey
+                //appKey = DataAcquisitionConfiguration.TEST_APP_KEY,
+                //// 鎺ュ彛鐗堟湰
+                //version = "1.0",
+                //// 鎿嶄綔鑰呮墍灞炲叕鍙哥紪鐮�
+                //operateCompanyCode = DataAcquisitionConfiguration.TEST_COMPANY_CODE,
+                //// 鏁版嵁鎵�灞炲叕鍙哥紪鐮侊紝闈為泦鍥㈠叕鍙搁粯璁よ祴鍊间负鎿嶄綔鍏徃
+                //ownerCompanyCode = DataAcquisitionConfiguration.TEST_COMPANY_CODE,
+                //// 褰撳墠鏃堕棿瀵瑰簲鐨勬椂闂存埑锛堢鏁帮級
+                //timestamps = DateTimeOffset.UtcNow.ToUnixTimeSeconds()
             };
 
 

--
Gitblit v1.9.3