From 5adecb7ffd986930d2f4e195c0273e4db73b5315 Mon Sep 17 00:00:00 2001
From: kyy <3283105747@qq.com>
Date: 星期五, 07 二月 2025 18:36:51 +0800
Subject: [PATCH] 优化首检

---
 MES.Service/service/QC/SJService.cs |   67 ++++++++++++++++++++++++++++-----
 1 files changed, 57 insertions(+), 10 deletions(-)

diff --git a/MES.Service/service/QC/SJService.cs b/MES.Service/service/QC/SJService.cs
index e1cb463..2042c15 100644
--- a/MES.Service/service/QC/SJService.cs
+++ b/MES.Service/service/QC/SJService.cs
@@ -1,8 +1,10 @@
-锘縰sing MES.Service.DB;
+锘縰sing System.Data;
+using MES.Service.DB;
 using MES.Service.Dto.service;
 using MES.Service.Modes;
 using MES.Service.util;
 using SqlSugar;
+using DbType = System.Data.DbType;
 
 namespace MES.Service.service.QC;
 
@@ -92,18 +94,18 @@
     //                 result = "鏈娴�"
     //             }).ToList();
     // }
-    public List<QsItemIpiItem> SetQSItems(string itemNo)
+    public List<QsItemIpiItem> SetQSItems(decimal itemId)
     {
         var db = SqlSugarHelper.GetInstance();
 
         var count = db.Queryable<MesQa>().Where(s => s.QsType == "1"
-                                                     && s.ItemNo == itemNo && s.Fsubmit == 1).Count();
+                                                     && s.ItemId == itemId && s.Fsubmit == 1).Count();
 
         if (count <= 0) return new List<QsItemIpiItem>();
 
         return db
             .Queryable<MesQualityStandard>()
-            .Where(b => b.QsType == "1" && b.ItemNo == itemNo).Select(
+            .Where(b => b.QsType == "1" && b.ItemId == itemId).Select(
                 b => new QsItemIpiItem
                 {
                     ProjName = b.ProjName,
@@ -111,11 +113,11 @@
                     InspectionMethod = b.InspectionMethod,
                     UsingInstruments = b.UsingInstruments,
                     LevelNum = SqlFunc.IsNull(
-                        SqlFunc.IsNull(b.LevelNum * b.InspectionLevel, 1),
-                        b.InspectionLevel),
-                    MaxValue = b.MaxValue,
-                    StandardValue = b.StandardValue,
-                    MinValue = b.MinValue,
+                        SqlFunc.IsNull( Convert.ToDecimal(b.LevelNum) * Convert.ToDecimal(b.InspectionLevel) , 1),
+                        Convert.ToDecimal(b.InspectionLevel)),
+                    MaxValue = Convert.ToDecimal(b.MaxValue),
+                    StandardValue = Convert.ToDecimal(b.StandardValue),
+                    MinValue = Convert.ToDecimal(b.MinValue),
                     Notes = b.Notes,
                     FcheckLevel = b.FcheckLevel,
                     FacLevel = b.FacLevel,
@@ -134,7 +136,8 @@
         var qsItemIpiItems = db
             .Queryable<QsItemIpiItem>()
             .WhereIF(pid > 0, a => a.Pid == pid)
-            .WhereIF(id > 0, a => a.Id == id).ToList();
+            .WhereIF(id > 0, a => a.Id == id)
+            .ToList();
 
         var array = qsItemIpiItems.Select(s => s.Id).ToArray();
         var qsItemIpiItemDetails = db.Queryable<QsItemIpiItemDetail>()
@@ -455,4 +458,48 @@
 
         return withOracle;
     }
+    
+    public bool SJQaSubmit(QsItem item)
+    {
+        var (factory, company) = UserUtil.GetFactory(item.userNo);
+        try
+        {
+            // 瀹氫箟杈撳嚭鍙傛暟
+            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("p_Id", item.gid, DbType.Int32,ParameterDirection.Input),
+                new("p_Flag", 1, DbType.Int32,ParameterDirection.Input),
+                new("p_User", item.userNo, DbType.String, ParameterDirection.Input),
+                outputResult,
+                outputMessage
+            };
+
+            var db = SqlSugarHelper.GetInstance();
+
+            // 浣跨敤 SqlSugar 鎵ц瀛樺偍杩囩▼
+            db.Ado.ExecuteCommand(
+                "BEGIN PRC_WOMDAA_SJ_UPDATE_RES(:p_Id,:p_Flag,:p_User,:o_Result, :o_Msg); END;",
+                parameters.ToArray());
+
+            // 鑾峰彇杈撳嚭鍙傛暟鐨勫��
+            var resultValue = outputResult.Value?.ToString();
+            var messageValue = outputMessage.Value?.ToString();
+
+            if ("1".Equals(resultValue)) {throw new Exception(messageValue);} 
+            if ("0".Equals(resultValue)) {throw new Exception(messageValue);}
+          
+            return true;
+        }
+        catch (Exception ex)
+        {
+            throw new Exception(ex.Message);
+        }
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.3