From cee4e362c81af4c93c87f40e77649e9af5a591c6 Mon Sep 17 00:00:00 2001
From: zyf <1071160500@qq.com>
Date: 星期一, 02 六月 2025 20:05:54 +0800
Subject: [PATCH] 修改工单生产数量更新的逻辑,现在只有检验合格的才更新生产数量,清除检验合格的结果也会更新

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

diff --git a/MES.Service/service/QC/SJService.cs b/MES.Service/service/QC/SJService.cs
index db188ef..268d7ae 100644
--- a/MES.Service/service/QC/SJService.cs
+++ b/MES.Service/service/QC/SJService.cs
@@ -3,6 +3,8 @@
 using MES.Service.Modes;
 using MES.Service.util;
 using SqlSugar;
+using System.Data;
+using DbType = System.Data.DbType;
 
 namespace MES.Service.service.QC;
 
@@ -57,6 +59,11 @@
                 StringUtil.IsNotNullOrEmpty(queryObj.Result) &&
                 !"鏈畬鎴�".Equals(queryObj.Result),
                 a => a.Result != "鏈畬鎴�")
+            //鍔犵瓫閫夋潯浠�,鏍规嵁渚涘簲鍟嗭紝鐗╂枡缂栫爜锛岀墿鏂欏悕绉版悳绱�
+            //.WhereIF(queryObj.SearchValue!=null && queryObj.SearchValue!="", (a) => a.SuppName == queryObj.SearchValue|| a.ItemName == queryObj.SearchValue || a.ItemNo == queryObj.SearchValue )
+            .WhereIF(queryObj.SearchValue != null && queryObj.SearchValue != "",
+            (a) => (a.Daa003.ToLower().Contains(queryObj.SearchValue.ToLower())
+            || a.ItemNo.ToLower().Contains(queryObj.SearchValue.ToLower())))
             .OrderBy(a => a.BillNo, OrderByType.Desc)
             .ToPageList(queryObj.PageIndex, queryObj.Limit);
 
@@ -92,18 +99,26 @@
     //                 result = "鏈娴�"
     //             }).ToList();
     // }
-    public List<QsItemIpiItem> SetQSItems(string itemNo)
+    public List<QsItemIpiItem> SetQSItems(string itemNo,string lineNo)
     {
         var db = SqlSugarHelper.GetInstance();
 
+
+        //鏍规嵁绾夸綋缂栧彿鑾峰彇宸ュ簭ID
+
+
+        decimal? procid = db.Queryable<MesLine>().Where(s => s.LineNo == lineNo).Select(s => s.ProcId).First();
+
+        if (procid == null) { procid = 99999999; };
+
         var count = db.Queryable<MesQa>().Where(s => s.QsType == "1"
-            && s.ItemNo == itemNo && s.Fsubmit == 1).Count();
+            && s.ItemNo == itemNo && s.Fsubmit == 1 && s.procid == procid).Count();
 
         if (count <= 0) return [];
 
         return db
             .Queryable<MesQualityStandard>()
-            .Where(b => b.QsType == "1" && b.ItemNo == itemNo).Select(
+            .Where(b => b.QsType == "1" && b.ItemNo == itemNo && b.ProcId == procid).Select(
                 b => new QsItemIpiItem
                 {
                     ProjName = b.ProjName,
@@ -455,4 +470,50 @@
 
         return withOracle;
     }
+
+    public bool QaSubmit(LLJDto dto)
+    {
+        
+        try
+        {
+            // 瀹氫箟杈撳嚭鍙傛暟
+            var outputResult = new SugarParameter("C_RES", null,
+                DbType.Int32, ParameterDirection.Output,
+                4000);
+
+            var outputMessage = new SugarParameter("C_MSG", null,DbType.String,
+                ParameterDirection.Output, 4000);
+
+            // 瀹氫箟杈撳叆鍙傛暟
+            var parameters = new List<SugarParameter>
+            {
+                 
+                new("P_ID", dto.id, DbType.String,
+                    ParameterDirection.Input),
+                new("P_USER", dto.userNo, DbType.String,
+                    ParameterDirection.Input),
+                outputResult,
+                outputMessage
+            };
+
+            var db = SqlSugarHelper.GetInstance();
+
+            // 浣跨敤 SqlSugar 鎵ц瀛樺偍杩囩▼
+            db.Ado.ExecuteCommand(
+                "BEGIN PRC_FPI_OK_GEN_IPI(:P_ID, :P_USER, :C_RES, :C_MSG); END;",
+                parameters.ToArray());
+
+            // 鑾峰彇杈撳嚭鍙傛暟鐨勫��
+            var resultValue = outputResult.Value?.ToString();
+            var messageValue = outputMessage.Value?.ToString();
+
+            if ("1".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