From 90e42f99c2b3a4b8226e9a6951c2b7b9a968df10 Mon Sep 17 00:00:00 2001 From: zyf <1071160500@qq.com> Date: 星期五, 22 八月 2025 14:38:46 +0800 Subject: [PATCH] 入库检新增销售订单号 --- MES.Service/service/QC/RKJService.cs | 122 ++++++++++++++++++++++++++-------------- 1 files changed, 78 insertions(+), 44 deletions(-) diff --git a/MES.Service/service/QC/RKJService.cs b/MES.Service/service/QC/RKJService.cs index cb96dae..886d05b 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,42 @@ } - 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,Womcaa>((a, b, + da, c, us, ca) => + new JoinQueryInfos( + JoinType.Left, a.ItemNo == b.ItemNo, // 鍏宠仈鐗╂枡淇℃伅 + JoinType.Left, a.BillNo == da.Daa001, // 鍏宠仈宸ュ崟淇℃伅 + JoinType.Left, da.Daa021 == ca.Caa020,//浠诲姟鍗曪紝鐢ㄤ簬鏌ヨ閿�鍞鍗曞彿 + 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, ca) => new QsItemOqcReq { Id = a.Id, BillNo = a.BillNo, @@ -550,16 +564,18 @@ FcheckDate = a.FcheckDate, ReleaseNo = a.ReleaseNo, Remarks = a.Remarks, - Daa015 = da.Daa015, // 宸ュ崟绾夸綋 + Daa015 = da.Daa015, // 宸ュ崟绾夸綋 Fsubmit = a.Fsubmit, Quantity = da.Daa008, - LineNo = c.LineName + LineNo = c.LineName, + SaleOederNo = ca.Caa015 }) // 鎺掑簭 .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 +601,7 @@ return withOracle; } - + public int saveNotesPid(RKJDto dto) { return SqlSugarHelper.UseTransactionWithOracle(db => @@ -705,25 +721,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 +791,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 +840,8 @@ return updateResult; } - private void GenerateQualityIssueRecord(ISqlSugarClient db, decimal? gid, string userNo) + private void GenerateQualityIssueRecord(ISqlSugarClient db, decimal? gid, + string userNo) { try { @@ -873,6 +892,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) { -- Gitblit v1.9.3