From b289e477c13910c2814d89915342a7edabee5a8d Mon Sep 17 00:00:00 2001
From: xwt <2740516069@qq.com>
Date: 星期四, 14 八月 2025 08:45:01 +0800
Subject: [PATCH] 巡检入库检修改

---
 StandardInterface/MES.Service/service/QC/LljService.cs          |    4 
 StandardInterface/MES.Service/Modes/Womdaa.cs                   |    2 
 StandardInterface/MES.Service/service/QC/XJService.cs           |   93 +++++++++++++++++-------------
 StandardInterface/MES.Service/Modes/QsQaItemXj.cs               |    2 
 StandardInterface/MESApplication/Controllers/QC/XJController.cs |   54 +++++++++++++----
 StandardInterface/MESApplication/appsettings.json               |    2 
 6 files changed, 98 insertions(+), 59 deletions(-)

diff --git a/StandardInterface/MES.Service/Modes/QsQaItemXj.cs b/StandardInterface/MES.Service/Modes/QsQaItemXj.cs
index 8a1e420..969b335 100644
--- a/StandardInterface/MES.Service/Modes/QsQaItemXj.cs
+++ b/StandardInterface/MES.Service/Modes/QsQaItemXj.cs
@@ -82,7 +82,7 @@
     /// <summary>
     ///     杞﹂棿
     /// </summary>
-    [SugarColumn(ColumnName = "WORKSHOP")]
+    [SugarColumn(IsIgnore = true)]
     public string? WorkShop { get; set; }
 
     /// <summary>
diff --git a/StandardInterface/MES.Service/Modes/Womdaa.cs b/StandardInterface/MES.Service/Modes/Womdaa.cs
index 1f81fa9..3cd62f8 100644
--- a/StandardInterface/MES.Service/Modes/Womdaa.cs
+++ b/StandardInterface/MES.Service/Modes/Womdaa.cs
@@ -12,7 +12,7 @@
     ///     鑷鍒�
     /// </summary>
     [SugarColumn(ColumnName = "ID", IsPrimaryKey = true)]
-    public decimal? Id { get; set; }
+    public decimal Id { get; set; }
 
     /// <summary>
     ///     鎺掍骇ID
diff --git a/StandardInterface/MES.Service/service/QC/LljService.cs b/StandardInterface/MES.Service/service/QC/LljService.cs
index 272b38a..341a0a4 100644
--- a/StandardInterface/MES.Service/service/QC/LljService.cs
+++ b/StandardInterface/MES.Service/service/QC/LljService.cs
@@ -67,8 +67,8 @@
                         .Contains(queryObj.SearchValue.ToLower()))
             //  .OrderByDescending((a, b,
 
-            .OrderBy("CASE WHEN a.EMERGENCY = 1 THEN 0 ELSE 1 END, a.IQC_DATE desc, CASE WHEN a.STATUS = '宸叉彁浜�' THEN 0 ELSE 1 END, a.ID asc")
-            .ToPageList(queryObj.PageIndex, queryObj.Limit, ref totalCount); 
+            .OrderBy("CASE WHEN a.EMERGENCY = 1 THEN 0 ELSE 1 END, CASE WHEN a.STATUS = '宸叉彁浜�' THEN 0 ELSE 1 END, a.IQC_DATE desc, a.ID asc")
+            .ToPageList(queryObj.PageIndex, queryObj.Limit, ref totalCount);
 
         var emergencyValues = pageList.Select(item => item.EMERGENCY).ToList(); 
         return (pageList, totalCount);
diff --git a/StandardInterface/MES.Service/service/QC/XJService.cs b/StandardInterface/MES.Service/service/QC/XJService.cs
index efcf669..af5750a 100644
--- a/StandardInterface/MES.Service/service/QC/XJService.cs
+++ b/StandardInterface/MES.Service/service/QC/XJService.cs
@@ -71,21 +71,43 @@
             }).OrderBy("b.LINE_NO").ToList();
     }
 
-    public List<Womdaa> getDaa001(string daa020, string item)
+    public List<Womdaa> getDaa001(string daa020)
     {
         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))
-            .Select<Womdaa>(a => new Womdaa
+        return db.Queryable<Womdaa>()
+            .Where(a => a.Daa015 == daa020 && statusArray.Contains(a.Daa018))
+            .Select(a => new Womdaa
             {
                 Id = a.Id,
                 Daa001 = a.Daa001,
                 Daa003 = a.Daa003,
                 Daa008 = a.Daa008
+            }).ToList();
+    }
+
+    /// <summary>
+    /// 鑾峰彇宸ュ崟璇︾粏淇℃伅锛堝寘鍚墿鏂欎俊鎭級
+    /// </summary>
+    /// <param name="daa020">绾夸綋缂栧彿</param>
+    /// <returns>宸ュ崟鍒楄〃锛堝寘鍚墿鏂欎俊鎭級</returns>
+    public List<WorkOrderWithItemDto> getWorkOrderWithItem(string daa020)
+    {
+        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 && statusArray.Contains(a.Daa018))
+            .Select((a, b) => new WorkOrderWithItemDto
+            {
+                Id = a.Id, 
+                Daa001 = a.Daa001, 
+                Daa002 = a.Daa002, 
+                Daa003 = a.Daa003, 
+                Daa008 = a.Daa008, 
+                Daa015 = a.Daa015, 
+                Daa020 = a.Daa020,
+                ItemNo = b.ItemNo, 
+                ItemName = b.ItemName, 
+                ItemModel = b.ItemModel
             }).ToList();
     }
 
@@ -137,7 +159,7 @@
             .WhereIF(
                 StringUtil.IsNotNullOrEmpty(queryObj.result) &&
                 !"鏈畬鎴�".Equals(queryObj.result),
-                (s, a, c, b) => s.Fsubmit != 1)
+                (s, a, c, b) => s.Fsubmit == 1)
             .WhereIF(id > 0, (s, a, c, b) => s.Id == id)
             .Select((s, a, c, b) => new QsQaItemXj
             {
@@ -259,6 +281,7 @@
 
             xj.CreateBy = userNo;
             xj.CreateDate = DateTime.Now;
+            xj.Fsubmit = 0; // 璁剧疆榛樿鐘舵�佷负鏈彁浜�
 
             var pid = db.Insertable(xj).ExecuteReturnIdentity();
 
@@ -273,8 +296,10 @@
             return commit;
         });
 
+        // 閲嶆柊鑾峰彇妫�楠岄」鐩紙鍖呭惈ID锛�
         xjDto.items = getJYItem(xj.Id, null);
 
+        // 鑷姩涓烘病鏈変笂涓嬮檺鐨勬楠岄」鐩敓鎴愰粯璁ょ殑鍚堟牸璁板綍
         xjDto.items.ForEach(s =>
         {
             if (s.MaxValue != null || s.StandardValue != null ||
@@ -288,6 +313,9 @@
             detail.count = (int?)s.LevelNum;
             SetQSItemDetail(detail);
         });
+
+        // 閲嶆柊鑾峰彇妫�楠岄」鐩紙鍖呭惈鑷姩鐢熸垚鐨勭粨鏋滐級
+        xjDto.items = getJYItem(xj.Id, null);
 
         return Convert.ToInt32(xj.Id);
     }
@@ -563,39 +591,24 @@
     {
         try
         {
-            // 瀹氫箟杈撳嚭鍙傛暟
-            var outputResult = new SugarParameter("c_res", null,
-                System.Data.DbType.Int32, ParameterDirection.Output,
-                4000);
-
-            var outputMessage = new SugarParameter("c_msg", null,
-                System.Data.DbType.String,
-                ParameterDirection.Output, 4000);
-
-            // 瀹氫箟杈撳叆鍙傛暟锛屽浐瀹欶LAG涓�1锛堝鏍革級
-            var parameters = new List<SugarParameter>
-            {
-                new("P_ID", dto.id, System.Data.DbType.Decimal, ParameterDirection.Input),
-                new("P_FLAG", 1, System.Data.DbType.Int32, ParameterDirection.Input),
-                new("P_USER", dto.userNo, System.Data.DbType.String, ParameterDirection.Input),
-                outputResult,
-                outputMessage
-            };
-
             var db = SqlSugarHelper.GetInstance();
+            
+            // 鐩存帴鏇存柊Fsubmit瀛楁涓�1锛堝凡鎻愪氦鐘舵�侊級
+            var result = db.Updateable<QsQaItemXj>()
+                .SetColumns(s => s.Fsubmit == 1)
+                .SetColumns(s => s.FsubmitBy == dto.userNo)
+                .SetColumns(s => s.FsubmitDate == DateTime.Now)
+                .Where(s => s.Id == dto.id)
+                .ExecuteCommand();
 
-            // 浣跨敤 SqlSugar 鎵ц瀛樺偍杩囩▼
-            db.Ado.ExecuteCommand(
-                "BEGIN PRC_WOMDAA_XJ_UPDATE_RES(:P_ID, :P_FLAG, :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;
+            if (result > 0)
+            {
+                return true;
+            }
+            else
+            {
+                throw new Exception("鎻愪氦澶辫触锛氭湭鎵惧埌瀵瑰簲鐨勬楠屽崟");
+            }
         }
         catch (Exception ex)
         {
diff --git a/StandardInterface/MESApplication/Controllers/QC/XJController.cs b/StandardInterface/MESApplication/Controllers/QC/XJController.cs
index 8068a2f..e515b8c 100644
--- a/StandardInterface/MESApplication/Controllers/QC/XJController.cs
+++ b/StandardInterface/MESApplication/Controllers/QC/XJController.cs
@@ -15,7 +15,7 @@
     [HttpPost("getAll")]
     public ResponseResult getAll([FromBody] JObject data)
     {
-        var modify1Flag = Convert.ToInt32(data["modify1Flag"].ToString());
+        var modify1Flag = Convert.ToInt32(data["modify1Flag"]?.ToString() ?? "0");
         try
         {
             dynamic resultInfos = new ExpandoObject();
@@ -88,13 +88,36 @@
     [HttpPost("getDaa001")]
     public ResponseResult getDaa001([FromBody] JObject data)
     {
-        var daa020 = data["daa020"].ToString();
-        var item = data["item"].ToString();
+        var daa020 = data["daa020"]?.ToString() ?? "";
         try
         {
             dynamic resultInfos = new ExpandoObject();
-            var tbBillList =
-                new XJService().getDaa001(daa020, item);
+            var tbBillList = new XJService().getDaa001(daa020);
+            resultInfos.tbBillList = tbBillList;
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = resultInfos
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    /// <summary>
+    ///     鑾峰彇宸ュ崟璇︾粏淇℃伅锛堝寘鍚墿鏂欎俊鎭級
+    /// </summary>
+    [HttpPost("getWorkOrderWithItem")]
+    public ResponseResult getWorkOrderWithItem([FromBody] JObject data)
+    {
+        var daa020 = data["daa020"]?.ToString() ?? "";
+        try
+        {
+            dynamic resultInfos = new ExpandoObject();
+            var tbBillList = new XJService().getWorkOrderWithItem(daa020);
             resultInfos.tbBillList = tbBillList;
             return new ResponseResult
             {
@@ -116,7 +139,7 @@
     [HttpPost("getBoardItem")]
     public ResponseResult getBoardItem([FromBody] JObject data)
     {
-        var lineNo = data["lineNo"].ToString();
+        var lineNo = data["lineNo"]?.ToString() ?? "";
         try
         {
             dynamic resultInfos = new ExpandoObject();
@@ -142,7 +165,7 @@
     [HttpPost("getItem")]
     public ResponseResult getItem([FromBody] JObject data)
     {
-        var daa001 = data["daa001"].ToString();
+        var daa001 = data["daa001"]?.ToString() ?? "";
         try
         {
             dynamic resultInfos = new ExpandoObject();
@@ -166,7 +189,7 @@
     [HttpPost("setJYItem")]
     public ResponseResult setJYItem([FromBody] JObject data)
     {
-        var itemNo = data["itemNo"].ToString();
+        var itemNo = data["itemNo"]?.ToString() ?? "";
         try
         {
             dynamic resultInfos = new ExpandoObject();
@@ -193,9 +216,12 @@
         try
         {
             dynamic resultInfos = new ExpandoObject();
-            var tbBillList =
-                new XJService().save(xjDto);
-            resultInfos.tbBillList = tbBillList;
+            var result = new XJService().save(xjDto);
+            
+            // 杩斿洖瀹屾暣鐨刋JDto瀵硅薄锛屽寘鍚洿鏂板悗鐨刬tems
+            resultInfos.tbBillList = result;
+            resultInfos.xjDto = xjDto; // 鍖呭惈瀹屾暣鐨勬楠岄」鐩俊鎭�
+            
             return new ResponseResult
             {
                 status = 0,
@@ -529,8 +555,8 @@
         try
         {
             var id = Convert.ToDecimal(data["id"]);
-            var departmentId = data["departmentId"].ToString();
-            var departmentName = data["departmentName"].ToString();
+                    var departmentId = data["departmentId"]?.ToString() ?? "";
+        var departmentName = data["departmentName"]?.ToString() ?? "";
 
             dynamic resultInfos = new ExpandoObject();
             var result = new XJService().SaveDepartmentSelection(id, departmentId, departmentName);
@@ -556,7 +582,7 @@
     {
         try
         {
-            var departmentId = data["departmentId"].ToString();
+            var departmentId = data["departmentId"]?.ToString() ?? "";
 
             dynamic resultInfos = new ExpandoObject();
             var tbBillList = new XJService().GetLinesByDepartment(departmentId);
diff --git a/StandardInterface/MESApplication/appsettings.json b/StandardInterface/MESApplication/appsettings.json
index 28cfc2a..59a3601 100644
--- a/StandardInterface/MESApplication/appsettings.json
+++ b/StandardInterface/MESApplication/appsettings.json
@@ -10,6 +10,6 @@
   "AppSettings": {
     "TestErpUrl": "http://192.168.11.120:8098/WebService1.asmx/mesToErpinfo",
     "ProductionErpUrl": "http://192.168.11.120:8098/WebService1.asmx/mesToErpinfoFormal",
-    "DataBaseConn": "Data Source = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.22)(PORT = 1521))(CONNECT_DATA = (SERVICE_NAME = ORCL))); Persist Security Info=True;User ID = hm_prd; Password=hmprd"
+    "DataBaseConn": "Data Source = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.22)(PORT = 1521))(CONNECT_DATA = (SERVICE_NAME = ORCL))); Persist Security Info=True;User ID = test_dev; Password=hmprd"
   }
 }

--
Gitblit v1.9.3