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