From 7ee2e58c300374a15c212f9145ba9d762d64e0e6 Mon Sep 17 00:00:00 2001
From: fcx <2246384483@qq.com>
Date: 星期六, 20 十二月 2025 15:58:11 +0800
Subject: [PATCH] 1.新增MES_PROJECT.cs

---
 StandardPda/MES.Service/service/QC/XJService.cs |  187 +++++++++++++++++++++++++++++++++++++---------
 1 files changed, 151 insertions(+), 36 deletions(-)

diff --git a/StandardPda/MES.Service/service/QC/XJService.cs b/StandardPda/MES.Service/service/QC/XJService.cs
index dc1a173..d370a2f 100644
--- a/StandardPda/MES.Service/service/QC/XJService.cs
+++ b/StandardPda/MES.Service/service/QC/XJService.cs
@@ -4,6 +4,8 @@
 using MES.Service.util;
 using SqlSugar;
 using System.Data;
+using System.Dynamic;
+using DbType = System.Data.DbType;
 
 namespace MES.Service.service.QC;
 
@@ -14,7 +16,7 @@
     private readonly BaseService _baseService = new();
 
 
-    private readonly string[] statusArray = ["寮�宸�", "寰呭紑宸�"];
+    private readonly string[] statusArray = ["宸插紑宸�", "寰呭紑宸�"];
 
     //鐢熸垚鏈�鏂扮殑妫�楠屽崟鍙�
     public string getMaxReleaseNo()
@@ -87,7 +89,7 @@
                 Daa001 = a.Daa001,
                 Daa003 = a.Daa003,
                 Daa008 = a.Daa008
-            }).ToList();
+            }).Distinct().ToList();
     }
 
     public List<MesItems> getBoardItem(string lineNo)
@@ -105,7 +107,7 @@
                     ItemNo = b.ItemNo,
                     ItemName = b.ItemName,
                     ItemModel = b.ItemModel
-                }).ToList();
+                }).Distinct().ToList();
     }
 
     //public (List<QsQaItemXj> item, int TotalCount) getPage(XJPageResult queryObj)
@@ -174,40 +176,45 @@
         var totalCount = 0;
 
         var pageList = db
-            .Queryable<QsQaItemXj, Womdaa, MesItems>((s, a, b) =>
+            .Queryable<QsQaItemXj, Womdaa, MesItems, Womcaa, MES_PROJECT>((s, a, b,c,d) =>
                 new JoinQueryInfos(
                     JoinType.Inner, s.BillNo == a.Daa001,
-                    JoinType.Left, s.ItemId == b.Id
+                    JoinType.Left, s.ItemId == b.Id,
+                    JoinType.Left,a.Daa021 == c.Caa001,
+                    JoinType.Left ,d.Id == c.Project
                 )
             )
 
             // 猸� 妯$硦鎼滅储锛圔illNo 鎴� ItemNo 鏂板
             .WhereIF(
                 StringUtil.IsNotNullOrEmpty(queryObj.SearchValue),
-                (s, a, b) =>
+                (s, a, b,c,d) =>
                     s.BillNo.Contains(queryObj.SearchValue) ||
-                    s.ItemNo.Contains(queryObj.SearchValue)
+                    s.ItemNo.Contains(queryObj.SearchValue) ||
+                    b.ItemName.Contains(queryObj.SearchValue)||
+                    a.Daa020.Contains(queryObj.SearchValue)||
+                    d.PROJECT_CODE.Contains(queryObj.SearchValue)
             )
 
             // 猸� 鐘舵�佺瓫閫夛細鏈畬鎴�
             .WhereIF(
                 StringUtil.IsNotNullOrEmpty(queryObj.result) &&
                 "鏈畬鎴�".Equals(queryObj.result),
-                (s, a, b) => s.Fsubmit == null || s.Fsubmit == 0
+                (s, a, b,c,d) => s.Fsubmit == null || s.Fsubmit == 0
             )
 
             // 猸� 鐘舵�佺瓫閫夛細宸插畬鎴�
             .WhereIF(
                 StringUtil.IsNotNullOrEmpty(queryObj.result) &&
                 !"鏈畬鎴�".Equals(queryObj.result),
-                (s, a, b) => s.Fsubmit == 1
+                (s, a, b,c,d) => s.Fsubmit == 1
             )
 
             // 猸� ID 鏌ヨ锛堝崟鏉★級
-            .WhereIF(id > 0, (s, a, b) => s.Id == id)
+            .WhereIF(id > 0, (s, a, b,c,d) => s.Id == id)
 
             // 猸� select 瀹炰綋杩斿洖
-            .Select((s, a, b) => new QsQaItemXj
+            .Select((s, a, b,c,d) => new QsQaItemXj
             {
                 Id = s.Id,
                 ReleaseNo = s.ReleaseNo,
@@ -232,7 +239,9 @@
                 // 猸� 棰濆瀛楁锛堟潵鑷繛琛級
                 PlanQty = a.Daa008,
                 ItemName = b.ItemName,
-                ItemModel = b.ItemModel
+                ItemModel = b.ItemModel,
+                DAA020 = a.Daa020,
+                PROJECT_CODE = d.PROJECT_CODE
             })
 
             .OrderBy(s => s.CreateDate, OrderByType.Desc)
@@ -387,6 +396,16 @@
 
 
 
+
+            var sqlPass3 = $@"select ID from  QS_QA_ITEM_XJ 
+    WHERE ID = '{rkjDto.gid}'
+    ";
+            var dtPass3 = SQLHelper.ExecuteQuery(sqlPass3);
+
+            var value4 = dtPass3.Rows[0][0];
+            int sqlPass2 = Convert.ToInt32(value4);
+
+
             if (dt.Rows.Count > 0)
             {
                 var resu = dt.Rows[0]["FCHECK_RESU"]?.ToString();
@@ -399,6 +418,65 @@
           where ID = '" + rkjDto.gid + "'";
                 SQLHelper.ExecuteNonQuery(sqlUpdate);
             }
+
+            var resu1 = dt.Rows[0]["FCHECK_RESU"]?.ToString();
+
+            var fsubmit2 = resu1 == "鍚堟牸" ? 1 : 0;
+
+
+            if (fsubmit2 == 0)
+            {
+                var db = SqlSugarHelper.GetInstance();
+
+                // ===== 杈撳嚭鍙傛暟 =====
+                var outFlag = new SugarParameter("P_FLAG", null,
+                    DbType.Int32, ParameterDirection.Output, 10);
+
+                var outText = new SugarParameter("P_TEXT", null,
+                    DbType.String, ParameterDirection.Output, 4000);
+
+                // ===== 杈撳叆鍙傛暟 =====
+                var parameters = new List<SugarParameter>
+        {
+            new SugarParameter("P_ID", sqlPass2, DbType.Int64, ParameterDirection.Input),
+            new SugarParameter("P_USER", rkjDto.userNo, DbType.String, ParameterDirection.Input),
+            new SugarParameter("P_ISH", 0, DbType.Int64, ParameterDirection.Input),
+            new SugarParameter("P_RELEASE_NO",rkjDto.releaseNo,DbType.String,ParameterDirection.Input),
+
+            // 杈撳嚭鍙傛暟蹇呴』甯︿笂
+            outFlag,
+            outText
+        };
+                // ===== 鎵ц瀛樺偍杩囩▼ =====
+                db.Ado.ExecuteCommand(
+                    "BEGIN PRC_XJ_GENERATE_two(:P_ID, :P_USER, :P_ISH,:P_RELEASE_NO, :P_FLAG, :P_TEXT); END;",
+                    parameters);
+
+                // ===== 璇诲彇杈撳嚭鍙傛暟骞惰浆鎹㈡垚 ResponseResult =====
+                var result = new ResponseResult
+                {
+                    status = outFlag.Value?.ToString() == "1" ? 1 : 0, // 0 琛ㄧず鎴愬姛锛�1 琛ㄧず澶辫触
+                    message = outText.Value?.ToString()
+                };
+
+                var useTransactionWithOracle1 =
+                SqlSugarHelper.UseTransactionWithOracle(db =>
+                {
+                    return db.Updateable<QsQaItemXj>()
+                        .SetColumns(s => s.Fsubmit == 1)
+                        .SetColumns(s => s.FsubmitBy == rkjDto.userNo)
+                        .SetColumns(s => s.FsubmitDate == DateTime.Now)
+                        .Where(s => s.Id == rkjDto.gid)
+                        .ExecuteCommand();
+                });
+                return new ResponseResult
+                {
+                    status = 0,
+                    message = "鎻愪氦鎴愬姛",
+                    data = useTransactionWithOracle1
+                };
+            }
+
 
             var useTransactionWithOracle =
                 SqlSugarHelper.UseTransactionWithOracle(db =>
@@ -942,25 +1020,6 @@
 
 
 
-    /// <summary>
-    /// 鑾峰彇宸℃妫�鍗曟墍鏈変笉鑹弿杩�
-    /// </summary>
-    /// <param name="id">妫�楠屽崟ID</param>
-    /// <returns>涓嶈壇鎻忚堪鏁版嵁琛�</returns>
-    public DataTable ggetBlmsItem1(string id)
-    {
-        OracleSQLHelper SQLHelper = new();
-        // 鏌ヨ棣栨妫�楠屽崟鐨勪笉鑹弿杩�
-        var sql1 = string.Format(
-            @"select PROJ_NAME, REMARKS 
-              from QS_QA_ITEM_XJ01 f 
-              where PID = '" + id + "' and REMARKS is not null  order by PROJ_NAME");
-
-        return SQLHelper.ExecuteQuery(sql1);
-    }
-
-
-
 
     //瀛欒〃淇敼澶囨敞瀛楁
     public int saveRemarksById(XJDto dto)
@@ -973,10 +1032,66 @@
                 .Where(it => it.Id == dto.id)
                 .ExecuteCommand();
         });
-
-
-
-
-
     }
+
+    /// <summary>
+    /// 娣诲姞宸℃鍗�
+    /// </summary>
+    public ResponseResult createInspection(CreateInspectionDto data)
+    {
+        try
+        {
+            
+
+            OracleSQLHelper SQLHelper = new();
+            var db = SqlSugarHelper.GetInstance();
+            // ===== 杈撳嚭鍙傛暟 =====
+            var outFlag = new SugarParameter("P_FLAG", null,
+                DbType.Int32, ParameterDirection.Output, 10);
+
+            var outText = new SugarParameter("P_TEXT", null,
+                DbType.String, ParameterDirection.Output, 4000);
+
+            // ===== 杈撳叆鍙傛暟 =====
+            var parameters = new List<SugarParameter>
+        {
+            new SugarParameter("P_line_type", data.LineNo, DbType.String, ParameterDirection.Input),
+            new SugarParameter("P_Work_order_number", data.Daa001, DbType.String, ParameterDirection.Input),
+            new SugarParameter("P_coding", data.ItemNo, DbType.String, ParameterDirection.Input),
+            new SugarParameter("P_USER", data.account, DbType.String, ParameterDirection.Input),
+            new SugarParameter("P_ISH", 0, DbType.Int64, ParameterDirection.Input),
+
+            // 杈撳嚭鍙傛暟蹇呴』甯︿笂
+            outFlag,
+            outText
+        };
+            // ===== 鎵ц瀛樺偍杩囩▼ =====
+            db.Ado.ExecuteCommand(
+                "BEGIN PRC_XJ_GENERATE_one(:P_line_type,:P_Work_order_number,:P_coding, :P_USER, :P_ISH, :P_FLAG, :P_TEXT); END;",
+                parameters);
+
+            // ===== 璇诲彇杈撳嚭鍙傛暟骞惰浆鎹㈡垚 ResponseResult =====
+            var result = new ResponseResult
+            {
+                status = outFlag.Value?.ToString() == "1" ? 1 : 0, // 0 琛ㄧず鎴愬姛锛�1 琛ㄧず澶辫触
+                message = outText.Value?.ToString()
+            };
+
+
+            return result;
+            //return new ResponseResult
+            //{
+            //    status = 0,
+            //    message = "OK",
+            //    data = result
+            //};
+
+
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
 }
\ No newline at end of file

--
Gitblit v1.9.3