From 35f29f98993a2cede58e105ff810c83d7b8858f4 Mon Sep 17 00:00:00 2001
From: fcx <2246384483@qq.com>
Date: 星期三, 10 十二月 2025 22:34:05 +0800
Subject: [PATCH] 新加判断提交标识审核标识

---
 StandardPda/MES.Service/service/QC/SJService.cs |  544 +++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 517 insertions(+), 27 deletions(-)

diff --git a/StandardPda/MES.Service/service/QC/SJService.cs b/StandardPda/MES.Service/service/QC/SJService.cs
index fcc93ec..cc4c58a 100644
--- a/StandardPda/MES.Service/service/QC/SJService.cs
+++ b/StandardPda/MES.Service/service/QC/SJService.cs
@@ -1,8 +1,9 @@
-锘縰sing MES.Service.DB;
+锘匡豢using MES.Service.DB;
 using MES.Service.Dto.service;
 using MES.Service.Modes;
 using MES.Service.util;
 using SqlSugar;
+using System.Data;
 
 namespace MES.Service.service.QC;
 
@@ -34,34 +35,201 @@
     }
 
     //鑾峰彇鎵�鏈夋暟鎹垎椤�
-    public List<SJPageResult> getPage(SJPageResult queryObj)
+    //public (List<SJPageResult> item, int TotalCount) getPage(SJPageResult queryObj)
+    //{
+    //    var db = SqlSugarHelper.GetInstance();
+
+    //    string[]? lineNo = null;
+
+    //    // if (StringUtil.IsNotNullOrEmpty(queryObj.StatusUser))
+    //    //     lineNo = _baseService.getUserLineNo(queryObj.StatusUser);
+
+    //    var totalCount = 0;
+
+    //    var data = db.Queryable<SJPageResult>()
+    //        .WhereIF(lineNo != null && lineNo.Length > 0,
+    //            a => lineNo.Contains(a.line))
+    //        .WhereIF(queryObj.Id != null, a => a.Id == queryObj.Id)
+    //        .WhereIF(StringUtil.IsNotNullOrEmpty(queryObj.BillNo),
+    //            a => a.BillNo == queryObj.BillNo)
+    //        // .WhereIF(
+    //        //     StringUtil.IsNotNullOrEmpty(queryObj.Result) &&
+    //        //     "鏈畬鎴�".Equals(queryObj.Result),
+    //        //     a => a.Result == queryObj.Result && (a.FSubmit == 0 || a.FSubmit == null))
+    //        .WhereIF(
+    //            StringUtil.IsNotNullOrEmpty(queryObj.Result) &&
+    //            "鏈畬鎴�".Equals(queryObj.Result),
+    //            a => a.FSubmit == 0 || a.FSubmit == null)
+    //        // .WhereIF(
+    //        //     StringUtil.IsNotNullOrEmpty(queryObj.Result) &&
+    //        //     !"鏈畬鎴�".Equals(queryObj.Result),
+    //        //     a => a.Result != "鏈畬鎴�" && a.FSubmit == 1)
+    //        .WhereIF(
+    //            StringUtil.IsNotNullOrEmpty(queryObj.Result) &&
+    //            !"鏈畬鎴�".Equals(queryObj.Result),
+    //            a => a.FSubmit == 1)
+    //        .OrderBy(a => a.BillNo, OrderByType.Desc)
+    //        .ToPageList(queryObj.PageIndex, queryObj.Limit, ref totalCount);
+
+    //    return (data, totalCount);
+    //}
+
+    //public (List<SJPageResult> item, int TotalCount) getPage(SJPageResult queryObj)
+    //{
+    //    var db = SqlSugarHelper.GetInstance();
+
+    //    string[]? lineNo = null;
+
+    //    // if (StringUtil.IsNotNullOrEmpty(queryObj.StatusUser))
+    //    //     lineNo = _baseService.getUserLineNo(queryObj.StatusUser);
+
+    //    var totalCount = 0;
+    //    string searchValue = queryObj.searchValue?.Trim();
+
+    //    // ========= 鏋勫缓鍩虹 query =========
+    //    var query = db.Queryable<SJPageResult>()
+    //        .WhereIF(lineNo != null && lineNo.Length > 0,
+    //            a => lineNo.Contains(a.line))
+    //        .WhereIF(queryObj.Id != null,
+    //            a => a.Id == queryObj.Id)
+    //        .WhereIF(StringUtil.IsNotNullOrEmpty(queryObj.BillNo),
+    //            a => a.BillNo == queryObj.BillNo)
+    //        // 鏈畬鎴�
+    //        .WhereIF(
+    //            StringUtil.IsNotNullOrEmpty(queryObj.Result) &&
+    //            "鏈畬鎴�".Equals(queryObj.Result),
+    //            a => a.FSubmit == 0 || a.FSubmit == null)
+    //        // 宸插畬鎴�
+    //        .WhereIF(
+    //            StringUtil.IsNotNullOrEmpty(queryObj.Result) &&
+    //            !"鏈畬鎴�".Equals(queryObj.Result),
+    //            a => a.FSubmit == 1);
+
+    //    // ========= SearchValue 鍒ゆ柇 =========
+
+    //    // SearchValue 涓虹┖锛氳繑鍥炲叏閮�
+    //    if (string.IsNullOrWhiteSpace(searchValue))
+    //    {
+    //        var allData = query
+    //            .OrderBy(a => a.BillNo, OrderByType.Desc)
+    //            .ToPageList(
+    //                Math.Max(queryObj.PageIndex, 1),
+    //                Math.Max(queryObj.Limit, 1),
+    //                ref totalCount
+    //            );
+
+    //        return (allData, totalCount);
+    //    }
+
+    //    // SearchValue 涓嶄负绌猴細妯$硦鏌� BILL_NO / ITEM_NO
+    //    query = query.Where(a =>
+    //        SqlFunc.Like(SqlFunc.Trim(a.BillNo).ToLower(), $"%{searchValue.ToLower()}%") ||
+    //        SqlFunc.Like(SqlFunc.Trim(a.ItemNo).ToLower(), $"%{searchValue.ToLower()}%")
+    //    );
+
+    //    // ========= 鎵ц鍒嗛〉 =========
+    //    var data = query
+    //        .OrderBy(a => a.BillNo, OrderByType.Desc)
+    //        .ToPageList(
+    //            Math.Max(queryObj.PageIndex, 1),
+    //            Math.Max(queryObj.Limit, 1),
+    //            ref totalCount
+    //        );
+
+    //    return (data, totalCount);
+    //}
+
+
+
+    public (List<SJPageResult> item, int TotalCount) getPage(SJPageResult2 queryObj)
     {
         var db = SqlSugarHelper.GetInstance();
 
         string[]? lineNo = null;
 
-        if (StringUtil.IsNotNullOrEmpty(queryObj.StatusUser))
-            lineNo = _baseService.getUserLineNo(queryObj.StatusUser);
+        // if (StringUtil.IsNotNullOrEmpty(queryObj.StatusUser))
+        //     lineNo = _baseService.getUserLineNo(queryObj.StatusUser);
 
-        var data = db.Queryable<SJPageResult>()
+        var totalCount = 0;
+        string searchValue = queryObj.searchValue?.Trim();
+
+        // 鑾峰彇鎼滅储閫夐」绱㈠紩 (0:椤圭洰, 1:绾夸綋, 2:宸ュ崟鍙�, 3:鐗╂枡鍙�, 4:鐗╂枡鍚�)
+        int selectedIndex = queryObj.selectedIndex ?? 0;
+
+        // ========= 鏋勫缓鍩虹 query =========
+        var query = db.Queryable<SJPageResult>()
             .WhereIF(lineNo != null && lineNo.Length > 0,
                 a => lineNo.Contains(a.line))
-            .WhereIF(queryObj.Id != null, a => a.Id == queryObj.Id)
+            .WhereIF(queryObj.Id != null,
+                a => a.Id == queryObj.Id)
             .WhereIF(StringUtil.IsNotNullOrEmpty(queryObj.BillNo),
                 a => a.BillNo == queryObj.BillNo)
+            // 鏈畬鎴�
             .WhereIF(
                 StringUtil.IsNotNullOrEmpty(queryObj.Result) &&
                 "鏈畬鎴�".Equals(queryObj.Result),
-                a => a.Result == queryObj.Result)
+                a => a.FSubmit == 0 || a.FSubmit == null)
+            // 宸插畬鎴�
             .WhereIF(
                 StringUtil.IsNotNullOrEmpty(queryObj.Result) &&
                 !"鏈畬鎴�".Equals(queryObj.Result),
-                a => a.Result != "鏈畬鎴�")
-            .OrderBy(a => a.BillNo, OrderByType.Desc)
-            .ToPageList(queryObj.PageIndex, queryObj.Limit);
+                a => a.FSubmit == 1);
 
-        return data;
+        // ========= SearchValue 鍒ゆ柇 =========
+
+        // SearchValue 涓虹┖锛氳繑鍥炲叏閮�
+        if (string.IsNullOrWhiteSpace(searchValue))
+        {
+            var allData = query
+                .OrderBy(a => a.BillNo, OrderByType.Desc)
+                .ToPageList(
+                    Math.Max(queryObj.PageIndex, 1),
+                    Math.Max(queryObj.Limit, 1),
+                    ref totalCount
+                );
+
+            return (allData, totalCount);
+        }
+
+        // SearchValue 涓嶄负绌猴細鏍规嵁selectedIndex杩涜涓嶅悓瀛楁鐨勬ā绯婃煡璇�
+        switch (queryObj.selectedIndex)
+        {
+            case 2: // 宸ュ崟鍙�
+                query = query.Where(a => SqlFunc.Like(a.daa001.ToLower(), $"%{searchValue.ToLower()}%"));
+                break;
+            case 3: // 鐗╂枡鍙�
+                query = query.Where(a => SqlFunc.Like(a.ItemNo.ToLower(), $"%{searchValue.ToLower()}%"));
+                break;
+            case 4: // 鐗╂枡鍚嶇О
+                query = query.Where(a => SqlFunc.Like(a.Daa003.ToLower(), $"%{searchValue.ToLower()}%"));
+                break;
+            case 0: // 椤圭洰缂栫爜
+                query = query.Where(a => SqlFunc.Like(a.PROJECT_CODE.ToLower(), $"%{searchValue.ToLower()}%"));
+                break;
+            case 1: // 绾夸綋
+                query = query.Where(a => SqlFunc.Like(a.line.ToLower(), $"%{searchValue.ToLower()}%"));
+                break;
+            default:
+                return (new List<SJPageResult>(), 0);
+        }
+
+        // ========= 鎵ц鍒嗛〉 =========
+        var data = query
+            .OrderBy(a => a.BillNo, OrderByType.Desc)
+            .ToPageList(
+                Math.Max(queryObj.PageIndex, 1),
+                Math.Max(queryObj.Limit, 1),
+                ref totalCount
+            );
+
+        return (data, totalCount);
     }
+
+
+
+
+
+
 
 
     //SetQSItem
@@ -124,7 +292,7 @@
                     Picture = b.Picture,
                     Picturename = b.Picturename,
                     result = "鏈娴�",
-                    isCheck = 0
+                    isCheck = 0,UP_FILE=b.UP_FILE
                 }).ToList();
     }
 
@@ -220,9 +388,10 @@
         });
 
         item.Items = getQSItems(qsItemIpiReq.Id, null);
-        var sjPageResult = new SJPageResult
+        var sjPageResult = new SJPageResult2
             { Id = item.From.Id, Limit = 1, PageIndex = 1 };
-        item.Result = getPage(sjPageResult)[0];
+        var pageResult = getPage(sjPageResult);
+        item.Result = pageResult.item[0];
 
         return item;
     }
@@ -230,27 +399,129 @@
     public QsItem SaveItem(QsItem item)
     {
         var qsItemIpiItems = item.Items;
+
         SqlSugarHelper.UseTransactionWithOracle(db =>
         {
-            qsItemIpiItems.ForEach(s => s.Pid = item.gid);
-
-            return db.Insertable(qsItemIpiItems)
+            // 1. 鍒犻櫎鏃х殑瀛愰」
+            db.Deleteable<QsItemIpiItem>()
+                .Where(s => s.Pid == item.gid)
                 .ExecuteCommand();
+
+            qsItemIpiItems.ForEach(s => s.Pid = item.gid);
+            db.Insertable(qsItemIpiItems).ExecuteCommand();
+
+            // 2. 鏌ユ壘 MesQa 瀵瑰簲涓昏〃ID锛堥�氳繃 item.ItemNo锛�
+            var mesQa = db.Queryable<MesQa>()
+                .Where(q => q.ItemNo == item.ItemNo)
+                .Select(q => new { q.Id })
+                .First();
+
+            if (mesQa == null || mesQa.Id == null)
+            {
+                throw new Exception($"鏈壘鍒扮墿鏂欑紪鍙� {item.ItemNo} 瀵瑰簲鐨� MesQa 涓昏〃璁板綍銆�");
+            }
+
+            var mesQaId = mesQa.Id;
+            var mid = item.gid;
+
+            // 3. 鍚屾鎵爜妫�楠岄」鐩〃锛圡ES_SJ_SCAN_ITEM_CK锛�
+            db.Deleteable<MES_SJ_SCAN_ITEM_CK>()
+                .Where(s => s.MID == mid)
+                .ExecuteCommand();
+
+            var scanItems = db.Queryable<MES_SJ_SCAN_ITEM>()
+                .Where(s => s.MID == mesQaId)
+                .Select(s => new MES_SJ_SCAN_ITEM_CK
+                {
+                    SCAN_ITEM = s.SCAN_ITEM,
+                    SN_NO = null,
+                    MID = (long)mid,
+                    CREATE_DATE = DateTime.Now
+                })
+                .ToList();
+
+            foreach (var ck in scanItems)
+            {
+                ck.ID = (long)db.Ado.GetDecimal("SELECT SEQ_MES_SJ_SCAN_ITEM_CK.NEXTVAL FROM DUAL");
+            }
+
+            if (scanItems.Any())
+            {
+                db.Insertable(scanItems).ExecuteCommand();
+            }
+
+            // 4. 涓�鑷存�ч」鐩悓姝ラ�昏緫锛圡ES_IQC_CONSISTENCY_SJ_CK锛�
+            // -------------------------------------------------------------
+            // 鍒犻櫎鏃ф暟鎹�
+            db.Ado.ExecuteCommand(
+                "DELETE FROM MES_IQC_CONSISTENCY_SJ_CK WHERE pid = :IMGID",
+                new { IMGID = item.gid.ToString() });
+
+            // 鏌ヨ涓�鑷存�ч」鐩簮鏁版嵁
+            var consistencyItems = db.SqlQueryable<MES_IQC_CONSISTENCY_SJ_CK>(@"
+            SELECT 
+                a.ID AS PID,
+                b.ItemName,
+                b.ItemMode,
+                b.SuppName,
+                a.Item_No AS ImgID,
+                0 AS IsChack,
+                b.MULTI_SELECT
+            FROM MES_QA a
+            LEFT JOIN MES_IQC_CONSISTENCY_SJ_DT b ON a.ID = b.PID
+            WHERE a.FSUBMIT = 1 
+              AND a.QS_TYPE = 1
+              AND a.ITEM_NO = :ITEM_NO
+              AND b.ItemName IS NOT NULL
+        ").AddParameters(new { ITEM_NO = item.ItemNo }).ToList();
+
+            foreach (var ci in consistencyItems)
+            {
+                db.Ado.ExecuteCommand(@"
+                INSERT INTO MES_IQC_CONSISTENCY_SJ_CK
+                    (ID, PID, ITEMNAME, ITEMMODE, SUPPNAME, IMGID, ISCHACK, MULTI_SELECT)
+                VALUES (
+                    F_GETSEQNEXTVALUE('MES_IQC_CONSISTENCY_SJ_CK'),
+                    :PID,
+                    :ITEMNAME,
+                    :ITEMMODE,
+                    :SUPPNAME,
+                    :IMGID,
+                    :ISCHACK,
+                    :MULTI_SELECT
+                )",
+                    new
+                    {
+                        PID = item.gid,
+                        ITEMNAME = ci.ItemName,
+                        ITEMMODE = ci.ItemMode,
+                        SUPPNAME = ci.SuppName,
+                        IMGID = ci.ImgID,
+                        ISCHACK = ci.ISCHACK,
+                        MULTI_SELECT = ci.MULTI_SELECT
+                    });
+            }
+
+            return 1;
         });
+
+        // 5. 閲嶆柊鍔犺浇妫�楠岄」鐩苟澶勭悊鑷姩鍚堟牸椤�
         item.Items = getQSItems(item.gid, null);
 
-        //娌℃湁涓婁笅闄愮殑妫�楠岄」鐩嚜鍔ㄧ洏鐐逛负鍚堟牸
         item.Items.ForEach(s =>
         {
-            if (s.MaxValue != null || s.StandardValue != null ||
-                s.MinValue != null) return;
-            var detail = new QsItemIpiItemDetail();
-            detail.Pid = s.Id;
-            detail.Gid = item.gid;
-            detail.Fstand = "鈭�";
-            detail.FcheckResu = "1";
-            detail.UpdateBy = item.StatusUser;
-            detail.count = (int?)s.LevelNum;
+            if (s.MaxValue != null || s.StandardValue != null || s.MinValue != null) return;
+
+            var detail = new QsItemIpiItemDetail
+            {
+                Pid = s.Id,
+                Gid = item.gid,
+                Fstand = "鈭�",
+                FcheckResu = "1",
+                UpdateBy = item.StatusUser,
+                count = (int?)s.LevelNum
+            };
+
             SetQSItemDetail(detail);
         });
 
@@ -453,4 +724,223 @@
 
         return withOracle;
     }
+    
+    public bool SJQaSubmit(LLJDto rkjDto)
+    {
+        
+
+        var useTransactionWithOracle =
+            SqlSugarHelper.UseTransactionWithOracle(db =>
+            {
+                return db.Updateable<QsItemIpiReq>()
+                    .SetColumns(s => s.FsubmitBy == rkjDto.userNo)
+                    .SetColumns(s => s.FsubmitDate == DateTime.Now)
+                    .Where(s => s.Id == rkjDto.gid)
+                    .ExecuteCommand();
+            });
+
+        return useTransactionWithOracle > 0;
+    }
+
+    public List<Component> getYzxBDlist(string id)
+    {
+        OracleSQLHelper SQLHelper = new();
+        //鏌ュ厓鍣ㄤ欢
+        //var sql1 =
+        //    string.Format(
+        //        @"select ITEMNAME from MES_IQC_CONSISTENCY_ck where PID='" +
+        //        id + "' group by ITEMNAME order by ITEMNAME");
+
+        var sql1 =
+            string.Format(
+                @"select CASE WHEN max(MULTI_SELECT) is null THEN ''ELSE '銆�'||max(MULTI_SELECT)||'銆�' END  as A,ITEMNAME as ITEMNAME   from MES_IQC_CONSISTENCY_SJ_ck where PID='" + id + "' group by ITEMNAME order by ITEMNAME");
+        //鏌ユ槑缁�
+        var sql2 =
+            string.Format(@"select * from MES_IQC_CONSISTENCY_SJ_ck where PID='" +
+                          id + "' order by ITEMNAME,ITEMMODE,SUPPNAME");
+        var dataTable1 = SQLHelper.ExecuteQuery(sql1);
+        var dataTable2 = SQLHelper.ExecuteQuery(sql2);
+        var Components = new List<Component>();
+
+
+        for (var i = 0; i < dataTable1.Rows.Count; i++)
+        {
+            var component = new Component();
+            component.Name = dataTable1.Rows[i]["A"].ToString() + dataTable1.Rows[i]["ITEMNAME"].ToString();
+            component.Specs = new List<string>();
+            component.Manufacturers = new List<string>();
+            component.Id = new List<string>();
+            component.SelectedSpec = -1;
+            component.SelectedMfg = -1;
+            var index = 0;
+            for (var j = 0; j < dataTable2.Rows.Count; j++)
+                if (dataTable2.Rows[j]["ITEMNAME"].ToString() ==
+                    dataTable1.Rows[i]["ITEMNAME"].ToString())
+                {
+                    component.Specs.Add(dataTable2.Rows[j]["ITEMMODE"]
+                        .ToString());
+                    component.Manufacturers.Add(dataTable2.Rows[j]["SUPPNAME"]
+                        .ToString());
+                    component.Id.Add(dataTable2.Rows[j]["ID"].ToString());
+                    if (dataTable2.Rows[j]["ISCHACK"].ToString() == "1")
+                    {
+                        component.SelectedSpec = index;
+                        component.SelectedMfg = index;
+                    }
+
+                    index++;
+                }
+
+            Components.Add(component);
+        }
+
+        return Components;
+    }
+    public DataTable getAllInspectors()
+    {
+        OracleSQLHelper SQLHelper = new();
+        var sql =
+            @"select a.USER_NAME label,U.FCODE value from IQC_BEFORE_FROM_SJ a JOIN SYS_USER U ON U.FID=A.SID";
+        return SQLHelper.ExecuteQuery(sql);
+    }
+
+    /// <summary>
+    ///     涓�鑷存�ч」鐩�
+    /// </summary>
+    public class Component
+    {
+        public string Name { get; set; }
+        public List<string> Specs { get; set; }
+        public List<string> Manufacturers { get; set; }
+        public List<string> Id { get; set; }
+        public int SelectedSpec { get; set; }
+        public int SelectedMfg { get; set; }
+    }
+    public void saveYzxBDlist(string id, DataTable DB)
+    {
+        OracleSQLHelper SQLHelper = new();
+        //鍏堟妸缁撴灉娓呯┖
+        var sql1 =
+            string.Format(
+                @"update MES_IQC_CONSISTENCY_SJ_ck set ISCHACK=0 where PID='" +
+                id + "' ");
+        SQLHelper.ExecuteQuery(sql1);
+        var rowId = "";
+        for (var i = 0; i < DB.Rows.Count; i++)
+            rowId += "'" + DB.Rows[i]["id"] + "',";
+        rowId = rowId.Substring(0, rowId.Length - 1);
+
+
+        //淇敼缁撴灉
+        var sql2 =
+            string.Format(
+                @"update MES_IQC_CONSISTENCY_SJ_ck set ISCHACK=1 where PID='" +
+                id + "'and id in(" + rowId + ") ");
+        SQLHelper.ExecuteQuery(sql2);
+    }
+    public string[] YzxImgVerify(string id)
+    {
+        var msgStr = new string[2];
+
+        OracleSQLHelper SQLHelper = new();
+        //淇敼缁撴灉
+        //var sql2 = string.Format(
+        //    @"select A.ITEMNAME from ( select 888||min(id) id,ITEMNAME from MES_IQC_CONSISTENCY_CK where pid='" +
+        //    id + "' group by  ITEMNAME) A " +
+        //    "left join MES_QS_IMAGE b on a.id=b.fid where B.id is null order by ITEMNAME");
+
+
+        var sql2 = string.Format(
+         @"select A.ITEMNAME from ( select 999||min(id) id,ITEMNAME from MES_IQC_CONSISTENCY_SJ_CK where pid='" + id.ToString() + "' and ITEMNAME not in(select ITEMNAME from MES_IQC_CONSISTENCY_SJ_CK where PID='" + id.ToString() + "'  and MULTI_SELECT is not null)" +
+         "group by  ITEMNAME) A" +
+         " left join MES_QS_IMAGE b on a.id=b.fid where B.id is null" +
+         " union" +
+         " select  '鍒嗙粍锛�' || MULTI_SELECT as ITEMNAME      from MES_IQC_CONSISTENCY_SJ_CK      where pid = '" + id.ToString() + "'        and MULTI_SELECT is not null and MULTI_SELECT not in(select  A.MULTI_SELECT as ITEMNAME from (select 999 || min(id) id, MULTI_SELECT      from MES_IQC_CONSISTENCY_SJ_CK      where pid = '" + id.ToString() + "'       and MULTI_SELECT is not null      group by MULTI_SELECT,ITEMNAME) A        left join MES_QS_IMAGE b on a.id = b.fid where B.id is not null)     group by MULTI_SELECT");
+
+        var db = SQLHelper.ExecuteQuery(sql2);
+        if (db.Rows.Count > 0)
+        {
+            msgStr[1] = "鍏冨櫒浠讹細";
+            for (var i = 0; i < db.Rows.Count; i++)
+                msgStr[1] += db.Rows[i]["ITEMNAME"] + ",";
+            msgStr[1] += "鏈畬鎴愬浘鐗囦笂浼狅紝璇蜂笂浼狅紒";
+            msgStr[0] = "1";
+        }
+        else
+        {
+            msgStr[0] = "0";
+            msgStr[1] = "ok";
+        }
+
+        return msgStr;
+    }
+
+
+    /// <summary>
+    ///     淇濆瓨鏂版楠屽憳
+    /// </summary>
+    /// <param name="NewStaffUserID">鏂版楠屽憳ID</param>
+    /// <param name="userID">淇敼浜�</param>
+    /// <param name="releaseNo">妫�楠屽崟鍙�</param>
+    /// <returns></returns>
+    public string[] SaveCheckBy(string NewStaffUserID, string userID,
+        string releaseNo)
+    {
+        // 瀹氫箟杈撳嚭鍙傛暟
+        var outputResult = new SugarParameter("o_Result", null,
+            System.Data.DbType.Int32, ParameterDirection.Output,
+            4000);
+
+        var outputMessage = new SugarParameter("o_Msg", null,
+            System.Data.DbType.String,
+            ParameterDirection.Output, 4000);
+
+        // 瀹氫箟杈撳叆鍙傛暟
+        var parameters = new List<SugarParameter>
+        {
+            new("P_FCHECK_BY", NewStaffUserID,
+                System.Data.DbType.String, ParameterDirection.Input),
+            new("p_Release_No", releaseNo,
+                System.Data.DbType.String, ParameterDirection.Input),
+            new("p_User", userID,
+                System.Data.DbType.String, ParameterDirection.Input),
+
+            outputResult,
+            outputMessage
+        };
+
+        var db = SqlSugarHelper.GetInstance();
+
+        // 浣跨敤 SqlSugar 鎵ц瀛樺偍杩囩▼
+        db.Ado.ExecuteCommand(
+            "BEGIN Prc_Mes_Pqc_SJ_Update_CheckBy(:P_FCHECK_BY,:p_Release_No,:p_User, :o_Result, :o_Msg); END;",
+            parameters.ToArray());
+
+        // 鑾峰彇杈撳嚭鍙傛暟鐨勫��
+        var resultValue = outputResult.Value?.ToString();
+        var messageValue = outputMessage.Value?.ToString();
+        var msg = new string[2];
+        msg[0] = resultValue;
+        msg[1] = messageValue;
+        return msg;
+    }
+
+    /// <summary>
+    /// 鑾峰彇棣栨鍗曟墍鏈変笉鑹弿杩�
+    /// </summary>
+    /// <param name="id">妫�楠屽崟ID</param>
+    /// <returns>涓嶈壇鎻忚堪鏁版嵁琛�</returns>
+    public DataTable getBlmsItem(string id)
+    {
+        OracleSQLHelper SQLHelper = new();
+        // 鏌ヨ棣栨妫�楠屽崟鐨勪笉鑹弿杩�
+        var sql1 = string.Format(
+            @"select PROJ_NAME, REMARKS 
+              from QS_ITEM_IPI_ITEM f 
+              where PID = '" + id + "' and REMARKS is not null  order by PROJ_NAME");
+
+        return SQLHelper.ExecuteQuery(sql1);
+    }
+
+
 }
\ No newline at end of file

--
Gitblit v1.9.3