From 4c63d2a1a3d9c3a5678ef5877b475df843e04920 Mon Sep 17 00:00:00 2001
From: fcx <2246384483@qq.com>
Date: 星期四, 11 十二月 2025 09:44:31 +0800
Subject: [PATCH] 修改调用SJQaSubmit接口无法解析特殊符号问题

---
 StandardPda/MESApplication/Controllers/QC/SJController.cs |  467 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 461 insertions(+), 6 deletions(-)

diff --git a/StandardPda/MESApplication/Controllers/QC/SJController.cs b/StandardPda/MESApplication/Controllers/QC/SJController.cs
index d76bb89..a06c558 100644
--- a/StandardPda/MESApplication/Controllers/QC/SJController.cs
+++ b/StandardPda/MESApplication/Controllers/QC/SJController.cs
@@ -1,10 +1,17 @@
-锘縰sing MES.Service.Dto.service;
+锘匡豢using MES.Service.DB;
+using MES.Service.Dto.service;
 using MES.Service.Modes;
 using MES.Service.service.QC;
 using MES.Service.util;
 using Microsoft.AspNetCore.Mvc;
+using Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
+using SixLabors.ImageSharp.Drawing;
+using SqlSugar;
+using System.Collections.Generic;
+using System.Data;
 using System.Dynamic;
+using DbType = System.Data.DbType;
 
 namespace MESApplication.Controllers.QC;
 
@@ -36,19 +43,19 @@
 
 
     [HttpPost("GetPage")]
-    public ResponseResult GetPage([FromBody] SJPageResult queryObj)
+    public ResponseResult GetPage([FromBody] SJPageResult2 queryObj)
     {
         try
         {
             dynamic resultInfos = new ExpandoObject();
-            var tbBillList =
-                new SJService().getPage(queryObj);
-            resultInfos.tbBillList = tbBillList;
+            var (item, totalCount) = new SJService().getPage(queryObj);
+            resultInfos.tbBillList = item;
             return new ResponseResult
             {
                 status = 0,
                 message = "OK",
-                data = resultInfos
+                data = resultInfos,
+                TotalCount = totalCount
             };
         }
         catch (Exception ex)
@@ -319,4 +326,452 @@
             return ResponseResult.ResponseError(ex);
         }
     }
+
+    //IqcQaSubmit
+    [HttpPost("SJQaSubmit")]
+    public ResponseResult SJQaSubmit(LLJDto rkjDto)
+    {
+        try
+        {
+            OracleSQLHelper SQLHelper = new();
+
+            //------------------ SN鎵爜鏍¢獙 ------------------
+            var sql1 =
+                @"select SCAN_ITEM 
+              from ZMZ_TEST.MES_SJ_SCAN_ITEM_CK 
+              where mid='" + rkjDto.gid + "' and sn_no is null";
+
+            var dataTable1 = SQLHelper.ExecuteQuery(sql1);
+            string msg = "";
+            for (var i = 0; i < dataTable1.Rows.Count; i++)
+            {
+                msg += "銆�" + dataTable1.Rows[i]["SCAN_ITEM"].ToString() + "銆�";
+            }
+
+            if (!string.IsNullOrEmpty(msg))
+            {
+                return new ResponseResult
+                {
+                    status = 1,
+                    message = msg + "鏈繘琛孲N鎵爜纭!",
+                    data = ""
+                };
+            }
+
+            //------------------ 鍥惧儚涓�鑷存�ф牎楠� ------------------
+            var msg1 = new SJService().YzxImgVerify(rkjDto.gid.ToString());
+            if (msg1[0] == "1")
+            {
+                return new ResponseResult
+                {
+                    status = int.Parse(msg1[0]),
+                    message = msg1[1],
+                    data = ""
+                };
+            }
+
+            //------------------ 涓嶅悎鏍煎浘鐗囨槸鍚︿笂浼犳牎楠� ------------------
+            var sql2 =
+                @"select A.id, A.PROJ_NAME, B.id as id2
+              from QS_ITEM_IPI_ITEM A
+              left join MES_QS_IMAGE B on 777 || A.ID = B.FID
+              where A.PID = '" + rkjDto.gid + @"' 
+                and B.id is null 
+                and IS_PASS = 0";
+
+            var dt2 = SQLHelper.ExecuteQuery(sql2);
+            if (dt2.Rows.Count > 0)
+            {
+                string err = "";
+                for (int i = 0; i < dt2.Rows.Count; i++)
+                {
+                    err += "銆�" + dt2.Rows[i]["PROJ_NAME"].ToString() + "銆�";
+                }
+
+                return new ResponseResult
+                {
+                    status = 1,
+                    message = err + "涓嶅悎鏍煎浘鐗囨湭涓婁紶锛�",
+                    data = ""
+                };
+            }
+
+            //------------------ 蹇呭~椤瑰浘鐗囨槸鍚︿笂浼犳牎楠� ------------------
+            var sql3 =
+                @"select A.id, A.PROJ_NAME, B.id as id2
+              from QS_ITEM_IPI_ITEM A
+              left join MES_QS_IMAGE B on 777 || A.ID = B.FID
+              where A.PID = '" + rkjDto.gid + @"'
+                and B.id is null
+                and UP_FILE = 1";
+
+            var dt3 = SQLHelper.ExecuteQuery(sql3);
+            if (dt3.Rows.Count > 0)
+            {
+                string err = "";
+                for (int i = 0; i < dt3.Rows.Count; i++)
+                {
+                    err += "銆�" + dt3.Rows[i]["PROJ_NAME"].ToString() + "銆�";
+                }
+
+                return new ResponseResult
+                {
+                    status = 1,
+                    message = err + "蹇呭~椤瑰浘鐗囨湭涓婁紶锛�",
+                    data = ""
+                };
+            }
+
+            //------------------ 鏂板鏍¢獙锛氭鏌ユ槸鍚﹀瓨鍦ㄦ湭瀹屾垚锛圛S_PASS is null锛� ------------------
+            var sqlPass =
+                @"select ID, PROJ_NAME 
+              from QS_ITEM_IPI_ITEM
+              where PID = '" + rkjDto.gid + @"'
+                and IS_PASS is null";
+
+            var dtPass = SQLHelper.ExecuteQuery(sqlPass);
+            if (dtPass.Rows.Count > 0)
+            {
+                string err = "";
+                for (int i = 0; i < dtPass.Rows.Count; i++)
+                {
+                    err += "銆�" + dtPass.Rows[i]["PROJ_NAME"].ToString() + "銆�";
+                }
+
+                return new ResponseResult
+                {
+                    status = 1,
+                    message = err + "椤圭洰鏈畬鎴愶紝涓嶅厑璁告彁浜ゆ楠岋紒",
+                    data = ""
+                };
+            }
+
+            //------------------ 涓讳笟鍔¢�昏緫锛氭彁浜� ------------------
+            dynamic resultInfos = new ExpandoObject();
+            var tbBillList = new SJService().SJQaSubmit(rkjDto);
+            resultInfos.tbBillList = tbBillList;
+            //=================  鍒ゆ柇妫�楠屽悎鏍肩敓鎴愬贰妫�鍗� =========
+            var sqlpass6 = $@"update QS_ITEM_IPI_REQ set FSUBMIT1 = 1 where ID = '{rkjDto.gid}' ";
+            var dtPass7 = SQLHelper.ExecuteQuery(sqlpass6);
+
+
+
+
+            var sqlPass1 = $@"
+    SELECT 
+        IS_PASS
+    FROM QS_ITEM_IPI_REQ
+    WHERE  ID = '{rkjDto.gid}'
+     ";
+
+            var dtPass1 = SQLHelper.ExecuteQuery(sqlPass1);
+
+            var sqlPass3 = $@"select C.ID from QS_ITEM_IPI_REQ A
+LEFT JOIN  V_MES_SJ B on b.BILL_NO = A.BILL_NO
+LEFT JOIN WOMDAA C on C.DAA001 = B.DAA001
+WHERE A.ID = '{rkjDto.gid}'
+";
+
+            var dtPass3 = SQLHelper.ExecuteQuery(sqlPass3);
+
+            var value4 = dtPass3.Rows[0][0];
+            int sqlPass2 = Convert.ToInt32(value4);
+
+
+            bool isPass = false;
+
+
+
+
+
+
+            if (dtPass1 != null && dtPass1.Rows.Count > 0)
+            {
+                var value = dtPass1.Rows[0]["IS_PASS"]?.ToString();
+
+                // 鍒ゆ柇涓哄悎鏍硷紙IS_PASS = 1锛�
+                if (value == "1")
+                {
+                   
+
+                    isPass = true;
+                }
+                else
+                {
+                    var sqlpass4 = $@"update QS_ITEM_IPI_REQ set FSUBMIT = 0 where ID = '{rkjDto.gid}' ";
+
+                    var dtPass5 = SQLHelper.ExecuteQuery(sqlpass4);
+                }
+            }
+
+            // 濡傛灉鍚堟牸锛屾墽琛屽瓨鍌ㄨ繃绋�
+            if (isPass)
+            {
+                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),
+
+        // 杈撳嚭鍙傛暟蹇呴』甯︿笂
+        outFlag,
+        outText
+    };
+
+                // ===== 鎵ц瀛樺偍杩囩▼ =====
+                db.Ado.ExecuteCommand(
+                    "BEGIN PRC_XJ_GENERATE(:P_ID, :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 = resultInfos
+            };
+        }
+
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+
+
+    
+
+
+
+
+
+
+
+    /// <summary>
+    ///     鑾峰彇涓�鑷存�ф牳瀵归」鐩�
+    /// </summary>
+    /// <param name="data"></param>
+    /// <returns></returns>
+    [HttpPost("getYzxItem")]
+    public ResponseResult getYzxItem([FromBody] JObject data)
+    {
+        var id = data["id"]?.ToString();
+        try
+        {
+            var tbBillList = new SJService().getYzxBDlist(id);
+
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = tbBillList
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    /// <summary>
+    ///     淇濆瓨涓�鑷存�ф牳瀵归」鐩�
+    /// </summary>
+    /// <param name="data"></param>
+    /// <returns></returns>
+    [HttpPost("saveYzxItem")]
+    public ResponseResult saveYzxItem([FromBody] JObject data)
+    {
+        var id = data["id"]?.ToString();
+        var dataDt = data["data"]?.ToString();
+        var dt = JsonConvert.DeserializeObject<DataTable>(dataDt);
+        try
+        {
+            if (!dt.Columns.Contains("id"))
+            {
+                return new ResponseResult
+                {
+                    status = 1,
+                    message = "璇峰厛閫夋嫨鏁版嵁鍐嶄繚瀛橈紒",
+                    data = "璇峰厛閫夋嫨鏁版嵁鍐嶄繚瀛橈紒"
+                };
+            }
+            new SJService().saveYzxBDlist(id, dt);
+            var msg = new SJService().YzxImgVerify(id);
+
+            return new ResponseResult
+            {
+                status = int.Parse(msg[0]),
+                message = msg[1],
+                data = ""
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+    /// <summary>
+    /// 鎵爜椤圭洰鑾峰彇
+    /// </summary>
+    /// <param name="mid"></param>
+    /// <returns></returns>
+    [HttpPost("GetList")]
+    public ResponseResult GetList([FromBody] JObject data)
+    {
+        var mid = data["mid"];
+        var db = SqlSugarHelper.GetInstance();
+        var list = db.Queryable<MES_SJ_SCAN_ITEM_CK>()
+            .Where(x => x.MID == (long)mid)
+            .Select(x => new {
+                id = x.ID,
+                scanItem = x.SCAN_ITEM,
+                snNo = x.SN_NO
+            })
+            .ToList();
+
+        return new ResponseResult
+        {
+            status = int.Parse("0"),
+            message = "0",
+            data = list
+        };
+     
+    }
+    /// <summary>
+    /// 鎵爜椤圭洰淇濆瓨
+    /// </summary>
+    /// <param name="dto"></param>
+    /// <returns></returns>
+    [HttpPost("SaveSn")]
+    public ResponseResult SaveSn([FromBody] ScanItemSaveDto dto)
+    {
+        var db = SqlSugarHelper.GetInstance();
+        foreach (var item in dto.Items)
+        {
+            db.Updateable<MES_SJ_SCAN_ITEM_CK>()
+                .SetColumns(x => x.SN_NO == item.SnNo)
+                .Where(x => x.ID == item.Id)
+                .ExecuteCommand();
+        }
+        return new ResponseResult
+        {
+            status = int.Parse("0"),
+            message = "ok",
+            data = ""
+        };
+      
+    }
+
+    public class ScanItemSaveDto
+    {
+        public decimal Mid { get; set; }
+        public List<ScanItemDto> Items { get; set; }
+    }
+
+    public class ScanItemDto
+    {
+        public decimal Id { get; set; }
+        public string SnNo { get; set; }
+    }
+
+    /// <summary>
+    ///     鑾峰彇鎵�鏈夋楠屽憳淇℃伅
+    /// </summary>
+    /// <param name="data"></param>
+    /// <returns></returns>
+    [HttpPost("getAllInspectors")]
+    public ResponseResult getAllInspectors([FromBody] JObject data)
+    {
+        try
+        {
+            var tbBillList = new SJService().getAllInspectors();
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = tbBillList
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+
+
+
+    [HttpPost("SaveCheckBy")]
+    public ResponseResult SaveCheckBy([FromBody] JObject data)
+    {
+        try
+        {
+            var NewStaffName = data["NewStaffName"].ToString();
+            var userID = data["userID"].ToString();
+            var releaseNo = data["releaseNo"].ToString();
+            var NewStaffUserID = data["NewStaffUserID"].ToString();
+
+            var msg =
+                new SJService().SaveCheckBy(NewStaffUserID, userID, releaseNo);
+
+
+            return new ResponseResult
+            {
+                status = int.Parse(msg[0]),
+                message = msg[1],
+                data = msg[1]
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
+    /// <summary>
+    ///     鑾峰彇棣栨鍗曟墍鏈変笉鑹弿杩�
+    /// </summary>
+    /// <param name="data"></param>
+    /// <returns></returns>
+    [HttpPost("getQSBlmsItem")]
+    public ResponseResult getQSBlmsItem([FromBody] JObject data)
+    {
+        var id = data["id"]?.ToString();
+
+        try
+        {
+            var tbBillList = new SJService().getBlmsItem(id);
+
+            return new ResponseResult
+            {
+                status = 0,
+                message = "OK",
+                data = tbBillList
+            };
+        }
+        catch (Exception ex)
+        {
+            return ResponseResult.ResponseError(ex);
+        }
+    }
+
 }
\ No newline at end of file

--
Gitblit v1.9.3