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/XJService.cs | 467 +++++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 392 insertions(+), 75 deletions(-)
diff --git a/StandardPda/MES.Service/service/QC/XJService.cs b/StandardPda/MES.Service/service/QC/XJService.cs
index 87d9c7b..09fa801 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)
@@ -251,7 +253,7 @@
var sql = string.Format(
@"UPDATE QS_QA_ITEM_XJ
- SET FSUBMIT = 1,
+ SET FSUBMIT = 1,FSUBMIT1 = 1,
FCHECK_RESU = '鎵嬪姩鍏抽棴'
WHERE ID = '{0}'",
dto.id);
@@ -284,57 +286,335 @@
- public bool XJQaSubmit(LLJDto rkjDto)
- {
- var useTransactionWithOracle =
- 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();
- });
+ //public bool XJQaSubmit(LLJDto rkjDto)
+ //{
+ // var useTransactionWithOracle =
+ // 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 useTransactionWithOracle > 0;
+ // return useTransactionWithOracle > 0;
+ //}
+
+
+ public ResponseResult XJQaSubmit(LLJDto rkjDto)
+ {
+ try
+ {
+ //------------------ 涓嶅悎鏍煎浘鐗囨槸鍚︿笂浼犳牎楠� ------------------
+ var sql2 =
+ @"select A.id, A.PROJ_NAME, B.id as id2
+ from QS_QA_ITEM_XJ01 A
+ left join MES_QS_IMAGE B on 666 || 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_QA_ITEM_XJ01 A
+ left join MES_QS_IMAGE B on 666 || 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_QA_ITEM_XJ01
+ 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 = "",
+ data = err + "椤圭洰鏈畬鎴愶紝涓嶅厑璁告彁浜ゆ楠岋紒"
+ };
+ }
+ var sqlPass1 =
+ @"select FCHECK_RESU
+ from QS_QA_ITEM_XJ
+ where ID = '" + rkjDto.gid + "'";
+ var dt = SQLHelper.ExecuteQuery(sqlPass1);
+
+
+
+
+ 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();
+
+ var fsubmit1 = resu == "鍚堟牸" ? 1 : 0;
+
+ var sqlUpdate =
+ @"update QS_QA_ITEM_XJ
+ set FSUBMIT1 = " + fsubmit1 + @"
+ 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 =>
+ {
+ 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 = useTransactionWithOracle
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
}
- public List<QsQaItemXj01> setJYItem(string itemNo)
+
+
+
+
+
+
+
+
+
+
+ //public List<QsQaItemXj01> setJYItem(string itemNo,string releaseNo)
+ //{
+ // var db = SqlSugarHelper.GetInstance();
+
+ // var count = db.Queryable<MesQa>().Where(s => s.QsType == "2"
+ // && s.ItemNo == itemNo && s.Fsubmit == 1).Count();
+
+ // if (count <= 0) return new List<QsQaItemXj01>();
+
+ // return db
+ // .Queryable<MesQualityStandard>()
+ // .Where(b => b.QsType == "2"
+ // && b.ItemNo == itemNo).Select(b => new QsQaItemXj01
+ // {
+ // ProjName = b.ProjName,
+ // ItemMod = b.ItemMod,
+ // InspectionMethod = b.InspectionMethod,
+ // UsingInstruments = b.UsingInstruments,
+ // LevelNum = SqlFunc.IsNull(
+ // SqlFunc.IsNull(b.LevelNum * b.InspectionLevel, 1),
+ // b.InspectionLevel),
+ // MaxValue = b.MaxValue,
+ // StandardValue = b.StandardValue,
+ // MinValue = b.MinValue,
+ // Notes = b.Notes,
+ // FcheckLevel = b.FcheckLevel,
+ // FacLevel = b.FacLevel,
+ // QsCode = b.QsCode,
+ // QsName = b.QsName,
+ // result = "鏈娴�",
+ // isCheck = 0,
+ // Picture = b.Picture,
+ // Picturename = b.Picturename
+ // }).ToList();
+ //}
+
+
+
+ public List<QsQaItemXj01> setJYItem(string itemNo, string releaseNo)
+{
+ var db = SqlSugarHelper.GetInstance();
+
+ var count = db.Queryable<MesQa>().Where(s => s.QsType == "2"
+ && s.ItemNo == itemNo && s.Fsubmit == 1).Count();
+
+ if (count <= 0) return new List<QsQaItemXj01>();
+
+ // 鏍规嵁宸℃鍗曞彿鍜岀墿鏂欑紪鐮佽幏鍙朠ROCESS_LIST
+ var processListQuery = db.Queryable<QsQaItemXj>()
+ .Where(xj => xj.ReleaseNo == releaseNo && xj.ItemNo == itemNo)
+ .Select(xj => xj.PROCESS_LIST)
+ .ToList();
+
+ // 濡傛灉娌℃湁鎵惧埌瀵瑰簲鐨凱ROCESS_LIST,杩斿洖绌哄垪琛�
+ if (processListQuery == null || processListQuery.Count == 0)
{
- var db = SqlSugarHelper.GetInstance();
-
- var count = db.Queryable<MesQa>().Where(s => s.QsType == "2"
- && s.ItemNo == itemNo && s.Fsubmit == 1).Count();
-
- if (count <= 0) return new List<QsQaItemXj01>();
-
- return db
- .Queryable<MesQualityStandard>()
- .Where(b => b.QsType == "2"
- && b.ItemNo == itemNo).Select(b => new QsQaItemXj01
- {
- ProjName = b.ProjName,
- ItemMod = b.ItemMod,
- InspectionMethod = b.InspectionMethod,
- UsingInstruments = b.UsingInstruments,
- LevelNum = SqlFunc.IsNull(
- SqlFunc.IsNull(b.LevelNum * b.InspectionLevel, 1),
- b.InspectionLevel),
- MaxValue = b.MaxValue,
- StandardValue = b.StandardValue,
- MinValue = b.MinValue,
- Notes = b.Notes,
- FcheckLevel = b.FcheckLevel,
- FacLevel = b.FacLevel,
- QsCode = b.QsCode,
- QsName = b.QsName,
- result = "鏈娴�",
- isCheck = 0,
- Picture = b.Picture,
- Picturename = b.Picturename
- }).ToList();
+ return new List<QsQaItemXj01>();
}
+
+ return db
+ .Queryable<MesQualityStandard>()
+ .Where(b => b.QsType == "2"
+ && b.ItemNo == itemNo
+ && processListQuery.Contains(b.PROCESS)) // 杩囨护鏉′欢
+ .Select(b => new QsQaItemXj01
+ {
+ ProjName = b.ProjName,
+ ItemMod = b.ItemMod,
+ InspectionMethod = b.InspectionMethod,
+ UsingInstruments = b.UsingInstruments,
+ LevelNum = SqlFunc.IsNull(
+ SqlFunc.IsNull(b.LevelNum * b.InspectionLevel, 1),
+ b.InspectionLevel),
+ MaxValue = b.MaxValue,
+ StandardValue = b.StandardValue,
+ MinValue = b.MinValue,
+ Notes = b.Notes,
+ FcheckLevel = b.FcheckLevel,
+ FacLevel = b.FacLevel,
+ QsCode = b.QsCode,
+ QsName = b.QsName,
+ result = "鏈娴�",
+ isCheck = 0,
+ UP_FILE = b.UP_FILE
+ }).ToList();
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
public List<QsQaItemXj01> getJYItem(decimal? pid, decimal? id)
{
@@ -466,7 +746,7 @@
var items = xjDto.items;
var userNo = xjDto.userNo;
- // 鉁� 浣跨敤 lambda 杩斿洖鎻掑叆鏉℃暟锛屼繚璇� Func<SqlSugarClient, int> 姣忔潯璺緞閮芥湁杩斿洖鍊�
+
int insertCount = SqlSugarHelper.UseTransactionWithOracle(db =>
{
// 1锔忊儯 妫�鏌ヨ〃閲屾槸鍚﹀瓨鍦ㄧ浉鍚� gid 鐨勬暟鎹�
@@ -733,25 +1013,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)
@@ -764,10 +1025,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