From a619299816f2f632c7c6ba3a1bb869e2c212797d Mon Sep 17 00:00:00 2001
From: fcx <2246384483@qq.com>
Date: 星期五, 19 十二月 2025 14:12:33 +0800
Subject: [PATCH] 对添加巡检单物料编码进行去重
---
StandardPda/MES.Service/service/QC/LljService.cs | 151 ++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 133 insertions(+), 18 deletions(-)
diff --git a/StandardPda/MES.Service/service/QC/LljService.cs b/StandardPda/MES.Service/service/QC/LljService.cs
index 8783b71..6deba4d 100644
--- a/StandardPda/MES.Service/service/QC/LljService.cs
+++ b/StandardPda/MES.Service/service/QC/LljService.cs
@@ -6,6 +6,7 @@
using MES.Service.util;
using Microsoft.Extensions.Configuration;
using Newtonsoft.Json;
+using Oracle.ManagedDataAccess.Client;
using SqlSugar;
using System.Data;
using System.Security.Cryptography;
@@ -345,6 +346,8 @@
DbType.String, ParameterDirection.Input),
new("PI_REMARK", sysSubmit.PI_REMARK,
DbType.String, ParameterDirection.Input),
+ new("PI_SAMPLE_QTY", sysSubmit.PI_SAMPLE_QTY,
+ DbType.String, ParameterDirection.Input),
outputResult,
outputMessage
};
@@ -353,7 +356,51 @@
// 浣跨敤 SqlSugar 鎵ц瀛樺偍杩囩▼
db.Ado.ExecuteCommand(
- "BEGIN PRC_MES_IQC_QC_SYSSUBMIT(:PI_BILLNO,:PI_USER,:PI_SAMPLE_STATUS,:PI_SAMPLE_TYPE,:PI_SAMPLE_REASON,:PI_INSPECT_TYPE,:PI_SAMPLE_PREPARATION,:PI_URGENCY,:PI_FIRMWAREVERSION,:PI_HARDWAREVERSION,:PI_REMARK, :o_Result, :o_Msg); END;",
+ "BEGIN PRC_MES_IQC_QC_SYSSUBMIT(:PI_BILLNO,:PI_USER,:PI_SAMPLE_STATUS,:PI_SAMPLE_TYPE,:PI_SAMPLE_REASON,:PI_INSPECT_TYPE,:PI_SAMPLE_PREPARATION,:PI_URGENCY,:PI_FIRMWAREVERSION,:PI_HARDWAREVERSION,:PI_REMARK,:PI_SAMPLE_QTY, :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;
+ }
+
+
+ public string[] SaveYCCZSubmit(YCCZSubmit sysSubmit)
+ {
+ // 瀹氫箟杈撳嚭鍙傛暟
+ var outputResult = new SugarParameter("o_Result", null,
+ DbType.Int32, ParameterDirection.Output,
+ 4000);
+
+ var outputMessage = new SugarParameter("o_Msg", null,
+ DbType.String,
+ ParameterDirection.Output, 4000);
+
+ // 瀹氫箟杈撳叆鍙傛暟
+ var parameters = new List<SugarParameter>
+ {
+ new("PI_BILLNO", sysSubmit.PI_BILLNO,
+ DbType.String, ParameterDirection.Input),
+ new("PI_USER", sysSubmit.PI_USER,
+ DbType.String, ParameterDirection.Input),
+ new("PTOTAL_QTY", sysSubmit.PI_QTY,
+ DbType.String, ParameterDirection.Input),
+ new("PNG_QTY", sysSubmit.PI_BADQTY,
+ DbType.String, ParameterDirection.Input),
+
+ outputResult,
+ outputMessage
+ };
+
+ var db = SqlSugarHelper.GetInstance();
+
+ // 浣跨敤 SqlSugar 鎵ц瀛樺偍杩囩▼
+ db.Ado.ExecuteCommand(
+ "BEGIN PRC_MES_IQC_QC_YCCZ(:PI_BILLNO,:PI_USER,:PTOTAL_QTY,:PNG_QTY,:o_Result, :o_Msg); END;",
parameters.ToArray());
// 鑾峰彇杈撳嚭鍙傛暟鐨勫��
@@ -1458,29 +1505,97 @@
return SQLHelper.ExecuteQuery(sql1);
}
+ //public void saveYzxBDlist(string id, DataTable DB)
+ //{
+ // OracleSQLHelper SQLHelper = new();
+ // //鍏堟妸缁撴灉娓呯┖
+ // var sql1 =
+ // string.Format(
+ // @"update MES_IQC_CONSISTENCY_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_ck set ISCHACK=1 where PID='" +
+ // id + "'and id in(" + rowId + ") ");
+ // SQLHelper.ExecuteQuery(sql2);
+ //}
+
public void saveYzxBDlist(string id, DataTable DB)
{
- OracleSQLHelper SQLHelper = new();
- //鍏堟妸缁撴灉娓呯┖
- var sql1 =
- string.Format(
- @"update MES_IQC_CONSISTENCY_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 sqlHelper = new OracleSQLHelper();
+ using (var connection = new OracleConnection(AppsettingsUtility.Settings.DataBaseConn))
+ {
+ connection.Open();
+ using (var transaction = connection.BeginTransaction())
+ {
+ try
+ {
+ // 1. 娓呯┖ ISCHACK
+ var sql1 = @"UPDATE MES_IQC_CONSISTENCY_ck
+ SET ISCHACK = 0
+ WHERE PID = :pid";
- //淇敼缁撴灉
- var sql2 =
- string.Format(
- @"update MES_IQC_CONSISTENCY_ck set ISCHACK=1 where PID='" +
- id + "'and id in(" + rowId + ") ");
- SQLHelper.ExecuteQuery(sql2);
+ using (var cmd1 = new OracleCommand(sql1, connection))
+ {
+ cmd1.Transaction = transaction;
+ cmd1.Parameters.Add(new OracleParameter(":pid", id));
+ cmd1.ExecuteNonQuery();
+ }
+
+ // 2. 濡傛灉 DataTable 閲屾湁瑕佹洿鏂扮殑 id
+ if (DB != null && DB.Rows.Count > 0)
+ {
+ // 鎷兼帴 in 鏉′欢锛堝弬鏁板寲锛�
+ var inParams = new List<string>();
+ var parameters = new List<OracleParameter>
+ {
+ new OracleParameter(":pid", id)
+ };
+
+ for (int i = 0; i < DB.Rows.Count; i++)
+ {
+ string paramName = ":id" + i;
+ inParams.Add(paramName);
+ parameters.Add(new OracleParameter(paramName, DB.Rows[i]["id"]));
+ }
+
+ var sql2 = $@"
+ UPDATE MES_IQC_CONSISTENCY_ck
+ SET ISCHACK = 1
+ WHERE PID = :pid
+ AND id IN ({string.Join(",", inParams)})";
+
+ using (var cmd2 = new OracleCommand(sql2, connection))
+ {
+ cmd2.Transaction = transaction;
+ cmd2.Parameters.AddRange(parameters.ToArray());
+ cmd2.ExecuteNonQuery();
+ }
+ }
+
+ // 鍏ㄩ儴鎴愬姛锛屾彁浜�
+ transaction.Commit();
+ }
+ catch (Exception ex)
+ {
+ // 鍑洪敊鍥炴粴
+ transaction.Rollback();
+ throw new Exception("鎵ц saveYzxBDlist 鍑洪敊: " + ex.Message, ex);
+ }
+ }
+ }
}
+
public string[] YzxImgVerify(string id)
{
var msgStr = new string[2];
--
Gitblit v1.9.3