From 2b8d835217a75650e066de7d39509eee9923ef3c Mon Sep 17 00:00:00 2001
From: 啊鑫 <t2856754968@163.com>
Date: 星期四, 14 八月 2025 21:30:46 +0800
Subject: [PATCH] 111
---
MESApplication/Controllers/QC/RKJController.cs | 4 +
MES.Service/Dto/service/RKJDto.cs | 2
MES.Service/service/QC/RKJService.cs | 118 +++++++++++++++++++++++++--------------
3 files changed, 80 insertions(+), 44 deletions(-)
diff --git a/MES.Service/Dto/service/RKJDto.cs b/MES.Service/Dto/service/RKJDto.cs
index cab909f..d8e1ca9 100644
--- a/MES.Service/Dto/service/RKJDto.cs
+++ b/MES.Service/Dto/service/RKJDto.cs
@@ -5,6 +5,8 @@
public class RKJDto
{
public string? userNo { get; set; }
+
+ public string? releaseNo { get; set; }
//涓昏〃id
public int? gid { get; set; }
diff --git a/MES.Service/service/QC/RKJService.cs b/MES.Service/service/QC/RKJService.cs
index cb96dae..a5aa607 100644
--- a/MES.Service/service/QC/RKJService.cs
+++ b/MES.Service/service/QC/RKJService.cs
@@ -70,7 +70,7 @@
// 鍙傛暟楠岃瘉
if (string.IsNullOrWhiteSpace(itemNo))
throw new ArgumentException("鐗╂枡缂栧彿涓嶈兘涓虹┖", nameof(itemNo));
-
+
if (quantity <= 0)
throw new ArgumentException("鏁伴噺蹇呴』澶т簬0", nameof(quantity));
@@ -81,7 +81,7 @@
.Where(s => s.QsType == "3" && s.ItemNo == itemNo && s.Fsubmit == 1)
.Count();
- if (count <= 0)
+ if (count <= 0)
return [];
// 鑾峰彇璐ㄩ噺鏍囧噯
@@ -132,10 +132,12 @@
return qsItemOqcItems;
}
- private void ProcessQualityItem(ISqlSugarClient db, QsItemOqcItem item, decimal quantity)
+ private void ProcessQualityItem(ISqlSugarClient db, QsItemOqcItem item,
+ decimal quantity)
{
// 楠岃瘉蹇呰瀛楁
- if (string.IsNullOrWhiteSpace(item.FcheckLevel) || string.IsNullOrWhiteSpace(item.QsCode))
+ if (string.IsNullOrWhiteSpace(item.FcheckLevel) ||
+ string.IsNullOrWhiteSpace(item.QsCode))
{
item.LevelNum = 1;
item.FreQty = 0;
@@ -144,12 +146,14 @@
// 鑾峰彇妫�楠岀骇鍒搴旂殑鏁版嵁搴撳瓧娈�
var levelField = GetLevelField(item.FcheckLevel);
-
+
// 浣跨敤鍙傛暟鍖栨煡璇㈤槻姝QL娉ㄥ叆
- var sql = $"SELECT {levelField} FROM MES_QM_AQL1 A LEFT JOIN MES_QM_AQL2 B ON B.AQL1_ID = A.ID " +
- $"WHERE A.SAMPLE_SIZE_NO = @QsCode AND B.LOT_FROM <= @Quantity AND @Quantity <= B.LOT_TO";
-
- var aqlResult = db.Ado.SqlQuerySingle<string>(sql, new { QsCode = item.QsCode, Quantity = quantity });
+ var sql =
+ $"SELECT {levelField} FROM MES_QM_AQL1 A LEFT JOIN MES_QM_AQL2 B ON B.AQL1_ID = A.ID " +
+ $"WHERE A.SAMPLE_SIZE_NO = @QsCode AND B.LOT_FROM <= @Quantity AND @Quantity <= B.LOT_TO";
+
+ var aqlResult = db.Ado.SqlQuerySingle<string>(sql,
+ new { QsCode = item.QsCode, Quantity = quantity });
if (string.IsNullOrWhiteSpace(aqlResult))
{
@@ -162,17 +166,19 @@
var facLevelValue = ExtractSubstring(item.FacLevel ?? "", '(', ')');
if (string.IsNullOrWhiteSpace(facLevelValue))
{
- item.LevelNum = decimal.TryParse(aqlResult, out var level) ? level : 1;
+ item.LevelNum =
+ decimal.TryParse(aqlResult, out var level) ? level : 1;
item.FreQty = 0;
return;
}
// 鑾峰彇鏍锋湰澶у皬鍜岀粨鏋�
- var resultSql = $"SELECT FSAMPLE_SIZE_WORD, {facLevelValue} as Result FROM MES_QM_AQL1 A " +
- $"LEFT JOIN MES_QM_AQL3 C ON C.AQL1_ID = A.ID " +
- $"WHERE A.SAMPLE_SIZE_NO = @QsCode AND SAMPLE_SIZE_WORD = @LevelValue";
-
- var resultQuery = db.Ado.SqlQuerySingle<ResultClass>(resultSql,
+ var resultSql =
+ $"SELECT FSAMPLE_SIZE_WORD, {facLevelValue} as Result FROM MES_QM_AQL1 A " +
+ $"LEFT JOIN MES_QM_AQL3 C ON C.AQL1_ID = A.ID " +
+ $"WHERE A.SAMPLE_SIZE_NO = @QsCode AND SAMPLE_SIZE_WORD = @LevelValue";
+
+ var resultQuery = db.Ado.SqlQuerySingle<ResultClass>(resultSql,
new { QsCode = item.QsCode, LevelValue = aqlResult });
if (resultQuery != null)
@@ -195,7 +201,7 @@
return checkLevel switch
{
var s when s.Contains("S1") => "B.FLEVEL_S1",
- var s when s.Contains("S2") => "B.FLEVEL_S2",
+ var s when s.Contains("S2") => "B.FLEVEL_S2",
var s when s.Contains("S3") => "B.FLEVEL_S3",
var s when s.Contains("S4") => "B.FLEVEL_S4",
var s when s.Contains("(I)") => "B.FLEVEL_I",
@@ -409,8 +415,8 @@
result = 1;
else if (count - passCount < QsItemOqcItem.FreQty) result = 1;
- var useTransactionWithOracle = SqlSugarHelper.UseTransactionWithOracle(
- db =>
+ var useTransactionWithOracle =
+ SqlSugarHelper.UseTransactionWithOracle(db =>
{
var commit = 0;
commit += db.Updateable<QsItemOqcItem>()
@@ -508,34 +514,41 @@
}
- public (List<QsItemOqcReq> items, int TotalCount) GetPage(XJPageResult queryObj)
+ public (List<QsItemOqcReq> items, int TotalCount) GetPage(
+ XJPageResult queryObj)
{
var db = SqlSugarHelper.GetInstance();
var totalCount = 0;
-
- var query = db.Queryable<QsItemOqcReq, MesItems, Womdaa,MesLine,SysUser>((a, b, da,c,us) =>
- new JoinQueryInfos(
- JoinType.Left, a.ItemNo == b.ItemNo, // 鍏宠仈鐗╂枡淇℃伅
- JoinType.Left, a.BillNo == da.Daa001, // 鍏宠仈宸ュ崟淇℃伅
- JoinType.Left, da.Daa015 == c.LineNo, // 鍏宠仈宸ュ崟淇℃伅
- JoinType.Left, us.Fcode == a.CreateBy // 鍏宠仈宸ュ崟淇℃伅
- ))
+
+ var query = db
+ .Queryable<QsItemOqcReq, MesItems, Womdaa, MesLine, SysUser>((a, b,
+ da, c, us) =>
+ new JoinQueryInfos(
+ JoinType.Left, a.ItemNo == b.ItemNo, // 鍏宠仈鐗╂枡淇℃伅
+ JoinType.Left, a.BillNo == da.Daa001, // 鍏宠仈宸ュ崟淇℃伅
+ JoinType.Left, da.Daa015 == c.LineNo, // 鍏宠仈宸ュ崟淇℃伅
+ JoinType.Left, us.Fcode == a.CreateBy // 鍏宠仈宸ュ崟淇℃伅
+ ))
// 鐢ㄦ埛绾夸綋杩囨护鏉′欢
//.WhereIF(lineNo != null && lineNo.Length > 0 && !"PL017".Equals(queryObj.createUser),
// (a, b, da) => lineNo.Contains(da.Daa015))
// ID绮剧‘鏌ヨ
.WhereIF(!string.IsNullOrEmpty(queryObj.id),
- (a, b, da,c,us) => a.Id.ToString() == queryObj.id)
+ (a, b, da, c, us) => a.Id.ToString() == queryObj.id)
// 瀹屾垚鐘舵�佽繃婊�
- .WhereIF("鏈畬鎴�".Equals(queryObj.result), (a, b, da,c,us) => a.FcheckResu == null)
- .WhereIF(!"鏈畬鎴�".Equals(queryObj.result), (a, b, da,c,us) => a.FcheckResu != null)
+ .WhereIF("鏈畬鎴�".Equals(queryObj.result),
+ (a, b, da, c, us) => a.Fsubmit == null || a.Fsubmit == 0)
+ .WhereIF(!"鏈畬鎴�".Equals(queryObj.result),
+ (a, b, da, c, us) => a.Fsubmit == 1)
// 鎼滅储鏉′欢锛堢墿鏂欏悕绉�/缂栧彿锛�
.WhereIF(!string.IsNullOrEmpty(queryObj.SearchValue),
- (a, b, da,c,us) => b.ItemName.ToLower().Contains(queryObj.SearchValue.ToLower()) ||
- a.ItemNo.ToLower().Contains(queryObj.SearchValue.ToLower()))
+ (a, b, da, c, us) =>
+ b.ItemName.ToLower()
+ .Contains(queryObj.SearchValue.ToLower()) ||
+ a.ItemNo.ToLower().Contains(queryObj.SearchValue.ToLower()))
// 鏌ヨ瀛楁
- .Select((a, b, da,c,us) => new QsItemOqcReq
+ .Select((a, b, da, c, us) => new QsItemOqcReq
{
Id = a.Id,
BillNo = a.BillNo,
@@ -550,7 +563,7 @@
FcheckDate = a.FcheckDate,
ReleaseNo = a.ReleaseNo,
Remarks = a.Remarks,
- Daa015 = da.Daa015, // 宸ュ崟绾夸綋
+ Daa015 = da.Daa015, // 宸ュ崟绾夸綋
Fsubmit = a.Fsubmit,
Quantity = da.Daa008,
LineNo = c.LineName
@@ -559,7 +572,8 @@
.OrderBy(a => a.CreateDate, OrderByType.Desc);
// 鍒嗛〉鏌ヨ
- var result = query.ToPageList(queryObj.PageIndex, queryObj.Limit, ref totalCount);
+ var result = query.ToPageList(queryObj.PageIndex, queryObj.Limit,
+ ref totalCount);
return (result, totalCount);
}
@@ -585,7 +599,7 @@
return withOracle;
}
-
+
public int saveNotesPid(RKJDto dto)
{
return SqlSugarHelper.UseTransactionWithOracle(db =>
@@ -705,25 +719,26 @@
return SqlSugarHelper.UseTransactionWithOracle(db =>
{
var commit = 0;
-
+
// 1. 娓呯┖鐜版湁鐨勬楠岃缁嗚褰曪紙瀛欒〃锛�
commit += db.Deleteable<QsItemOqcItemDetail>()
.Where(s => s.Gid == rkjDto.gid)
.ExecuteCommand();
-
+
// 2. 娓呯┖鐜版湁鐨勬楠岄」鐩褰曪紙瀛愯〃锛�
commit += db.Deleteable<QsItemOqcItem>()
.Where(s => s.Pid == rkjDto.gid)
.ExecuteCommand();
-
+
// 3. 鎵归噺鎻掑叆items
foreach (var item in items) item.Pid = rkjDto.gid;
commit += db.Insertable(items).ExecuteCommand();
// 4. 鑾峰彇闇�瑕佸鐞嗙殑妫�楠岄」鐩紙鍙煡璇㈠繀瑕佸瓧娈垫彁鍗囨�ц兘锛�
var processItems = db.Queryable<QsItemOqcItem>()
- .Where(s => s.Pid == rkjDto.gid &&
- s.MaxValue == null && s.StandardValue == null && s.MinValue == null)
+ .Where(s => s.Pid == rkjDto.gid &&
+ s.MaxValue == null && s.StandardValue == null &&
+ s.MinValue == null)
.Select(s => new { s.Id, s.LevelNum })
.ToList();
@@ -774,7 +789,8 @@
});
}
- private int UpdateMainInspectionStatus(ISqlSugarClient db, decimal? gid, string userNo)
+ private int UpdateMainInspectionStatus(ISqlSugarClient db, decimal? gid,
+ string userNo)
{
// 妫�鏌ユ槸鍚﹁繕鏈夋湭瀹屾垚鐨勬楠岄」鐩�
var unfinishedCount = db.Queryable<QsItemOqcItem>()
@@ -822,7 +838,8 @@
return updateResult;
}
- private void GenerateQualityIssueRecord(ISqlSugarClient db, decimal? gid, string userNo)
+ private void GenerateQualityIssueRecord(ISqlSugarClient db, decimal? gid,
+ string userNo)
{
try
{
@@ -873,6 +890,21 @@
}
}
+ public int IqcQaSubmit(RKJDto dto)
+ {
+ SqlSugarHelper.UseTransactionWithOracle(db =>
+ {
+ return db.Updateable<QsItemOqcReq>()
+ .SetColumns(a => a.Fsubmit == 1)
+ .SetColumns(a => a.FsubmitBy == dto.userNo)
+ .SetColumns(a => a.FsubmitDate == DateTime.Now)
+ .Where(a => a.ReleaseNo == dto.releaseNo)
+ .ExecuteCommand();
+ });
+
+ return 0;
+ }
+
// 澶囦唤锛氬師濮嬬増鏈殑saveItem鏂规硶
public int saveItemOriginal(RKJDto rkjDto)
{
diff --git a/MESApplication/Controllers/QC/RKJController.cs b/MESApplication/Controllers/QC/RKJController.cs
index d120528..9b662af 100644
--- a/MESApplication/Controllers/QC/RKJController.cs
+++ b/MESApplication/Controllers/QC/RKJController.cs
@@ -395,7 +395,9 @@
try
{
dynamic resultInfos = new ExpandoObject();
-
+ var tbBillList =
+ new RKJService().IqcQaSubmit(rkjDto);
+ resultInfos.tbBillList = tbBillList;
return new ResponseResult
{
status = 0,
--
Gitblit v1.9.3