From 612b2285b823072809d811d456787432a3234fc3 Mon Sep 17 00:00:00 2001
From: zyf <1071160500@qq.com>
Date: 星期五, 21 十一月 2025 15:04:19 +0800
Subject: [PATCH] 首检巡检功能优化

---
 MES.Service/service/QC/XJService.cs |   68 ++++++++++++++++++++++++++++++----
 1 files changed, 60 insertions(+), 8 deletions(-)

diff --git a/MES.Service/service/QC/XJService.cs b/MES.Service/service/QC/XJService.cs
index 2749b53..9af8b55 100644
--- a/MES.Service/service/QC/XJService.cs
+++ b/MES.Service/service/QC/XJService.cs
@@ -2,6 +2,7 @@
 using MES.Service.Dto.service;
 using MES.Service.Modes;
 using MES.Service.util;
+using Newtonsoft.Json.Linq;
 using SqlSugar;
 using static Microsoft.EntityFrameworkCore.DbLoggerCategory;
 
@@ -14,7 +15,7 @@
     private readonly BaseService _baseService = new();
 
 
-    private readonly string[] statusArray = ["寮�宸�", "寰呭紑宸�","宸插紑宸�"];
+    private readonly string[] statusArray = ["寮�宸�", "寰呭紑宸�","宸插紑宸�" ,"鏈紑宸�"];
 
     //鐢熸垚鏈�鏂扮殑妫�楠屽崟鍙�
     public string getMaxReleaseNo()
@@ -39,16 +40,42 @@
         return "XJN" + date + number;
     }
 
-    public List<Womdaa> getItem(string daa001)
+    public class DaaInfoDto
+    {
+        public decimal? Id { get; set; }
+        public string Daa001 { get; set; }
+        public string? Daa003 { get; set; }
+        public string? Daa004 { get; set; }
+        public decimal? Daa008 { get; set; }
+        public string? Daa015 { get; set; }
+        public string? Daa020 { get; set; }
+        public string? ItemNo { get; set; }   // 鏉ヨ嚜鍏宠仈琛�
+        public string? ItemName { get; set; }
+    }
+
+    public List<DaaInfoDto> getItem(string daa001)
     {
         var db = SqlSugarHelper.GetInstance();
 
         //in鐨勫啓娉� https://www.donet5.com/Home/Doc?typeId=1187
 
-        return db.Queryable<Womdaa>()
+        return db.Queryable<Womdaa,MesItems>((a, b) => new JoinQueryInfos(
+            JoinType.Inner, a.Daa002 == b.Id.ToString()))
             .Where(a =>
                 a.Daa001 == daa001 &&
                 statusArray.Contains(a.Daa018))
+            .Select((a, b) => new DaaInfoDto
+            {
+                Daa001= daa001,
+                Daa003=a.Daa003,
+                Daa004=a.Daa004,
+                Daa008=a.Daa008,
+                Daa015=a.Daa015,
+                Daa020=a.Daa020,
+                ItemNo=b.ItemNo,
+                ItemName = b.ItemName,
+                Id =a.Id
+            })
             .ToList();
     }
 
@@ -65,15 +92,19 @@
             }).OrderBy("LINENO").ToList();
     }
 
-    public List<Womdaa> getDaa001(string daa020, string item)
+
+
+    public List<Womdaa> getDaa001(JObject data)
     {
+        var daa020 = data["daa020"]?.ToString();
+        var item = data["item"]?.ToString();
+
         var db = SqlSugarHelper.GetInstance();
         return db.Queryable<Womdaa, MesItems>((a, b) =>
                 new JoinQueryInfos(JoinType.Inner, a.Daa002 == b.Id.ToString()))
-            .Where((a, b) =>
-                a.Daa015 == daa020 &&
-                b.ItemNo == item &&
-                statusArray.Contains(a.Daa018))
+            .WhereIF(!string.IsNullOrEmpty(daa020), (a, b) => a.Daa015 == daa020)
+            .WhereIF(!string.IsNullOrEmpty(item), (a, b) => b.ItemNo == item)
+            .Where((a, b) => statusArray.Contains(a.Daa018))
             .Select<Womdaa>(a => new Womdaa
             {
                 Id = a.Id,
@@ -341,6 +372,27 @@
                     .ExecuteCommand();
             });
 
+        var db = SqlSugarHelper.GetInstance();
+        // 鍒涘缓鍙傛暟
+        var FID = new SugarParameter("P_ID", rkjDto.gid);
+
+
+        var FRes = new SugarParameter("c_result", null, true);            // 杈撳嚭鍙傛暟
+        var FMsg = new SugarParameter("c_msg", null, true);
+
+        // 鎵ц瀛樺偍杩囩▼
+        db.Ado.UseStoredProcedure().GetDataTable("PRC_XJ_UPDATE_RES_JK", FID, FRes, FMsg);
+
+        int result = int.Parse((string)FRes.Value);
+        string message = FMsg.Value == DBNull.Value ? string.Empty : (string)FMsg.Value;
+        if (result == 1)
+        {
+            //瀛樺偍杩囩▼澶辫触鍒欎簨鍔¤繘琛屽洖婊�
+            //db.Ado.RollbackTran();
+            throw new Exception(message);
+        }
+
+
         return useTransactionWithOracle > 0;
     }
 

--
Gitblit v1.9.3