From cee4e362c81af4c93c87f40e77649e9af5a591c6 Mon Sep 17 00:00:00 2001 From: zyf <1071160500@qq.com> Date: 星期一, 02 六月 2025 20:05:54 +0800 Subject: [PATCH] 修改工单生产数量更新的逻辑,现在只有检验合格的才更新生产数量,清除检验合格的结果也会更新 --- MES.Service/service/QC/SJService.cs | 67 ++++++++++++++++++++++++++++++++- 1 files changed, 64 insertions(+), 3 deletions(-) diff --git a/MES.Service/service/QC/SJService.cs b/MES.Service/service/QC/SJService.cs index db188ef..268d7ae 100644 --- a/MES.Service/service/QC/SJService.cs +++ b/MES.Service/service/QC/SJService.cs @@ -3,6 +3,8 @@ using MES.Service.Modes; using MES.Service.util; using SqlSugar; +using System.Data; +using DbType = System.Data.DbType; namespace MES.Service.service.QC; @@ -57,6 +59,11 @@ StringUtil.IsNotNullOrEmpty(queryObj.Result) && !"鏈畬鎴�".Equals(queryObj.Result), a => a.Result != "鏈畬鎴�") + //鍔犵瓫閫夋潯浠�,鏍规嵁渚涘簲鍟嗭紝鐗╂枡缂栫爜锛岀墿鏂欏悕绉版悳绱� + //.WhereIF(queryObj.SearchValue!=null && queryObj.SearchValue!="", (a) => a.SuppName == queryObj.SearchValue|| a.ItemName == queryObj.SearchValue || a.ItemNo == queryObj.SearchValue ) + .WhereIF(queryObj.SearchValue != null && queryObj.SearchValue != "", + (a) => (a.Daa003.ToLower().Contains(queryObj.SearchValue.ToLower()) + || a.ItemNo.ToLower().Contains(queryObj.SearchValue.ToLower()))) .OrderBy(a => a.BillNo, OrderByType.Desc) .ToPageList(queryObj.PageIndex, queryObj.Limit); @@ -92,18 +99,26 @@ // result = "鏈娴�" // }).ToList(); // } - public List<QsItemIpiItem> SetQSItems(string itemNo) + public List<QsItemIpiItem> SetQSItems(string itemNo,string lineNo) { var db = SqlSugarHelper.GetInstance(); + + //鏍规嵁绾夸綋缂栧彿鑾峰彇宸ュ簭ID + + + decimal? procid = db.Queryable<MesLine>().Where(s => s.LineNo == lineNo).Select(s => s.ProcId).First(); + + if (procid == null) { procid = 99999999; }; + var count = db.Queryable<MesQa>().Where(s => s.QsType == "1" - && s.ItemNo == itemNo && s.Fsubmit == 1).Count(); + && s.ItemNo == itemNo && s.Fsubmit == 1 && s.procid == procid).Count(); if (count <= 0) return []; return db .Queryable<MesQualityStandard>() - .Where(b => b.QsType == "1" && b.ItemNo == itemNo).Select( + .Where(b => b.QsType == "1" && b.ItemNo == itemNo && b.ProcId == procid).Select( b => new QsItemIpiItem { ProjName = b.ProjName, @@ -455,4 +470,50 @@ return withOracle; } + + public bool QaSubmit(LLJDto dto) + { + + try + { + // 瀹氫箟杈撳嚭鍙傛暟 + var outputResult = new SugarParameter("C_RES", null, + DbType.Int32, ParameterDirection.Output, + 4000); + + var outputMessage = new SugarParameter("C_MSG", null,DbType.String, + ParameterDirection.Output, 4000); + + // 瀹氫箟杈撳叆鍙傛暟 + var parameters = new List<SugarParameter> + { + + new("P_ID", dto.id, DbType.String, + ParameterDirection.Input), + new("P_USER", dto.userNo, DbType.String, + ParameterDirection.Input), + outputResult, + outputMessage + }; + + var db = SqlSugarHelper.GetInstance(); + + // 浣跨敤 SqlSugar 鎵ц瀛樺偍杩囩▼ + db.Ado.ExecuteCommand( + "BEGIN PRC_FPI_OK_GEN_IPI(:P_ID, :P_USER, :C_RES, :C_MSG); END;", + parameters.ToArray()); + + // 鑾峰彇杈撳嚭鍙傛暟鐨勫�� + var resultValue = outputResult.Value?.ToString(); + var messageValue = outputMessage.Value?.ToString(); + + if ("1".Equals(resultValue)) throw new Exception(messageValue); + + return true; + } + catch (Exception ex) + { + throw new Exception(ex.Message); + } + } } \ No newline at end of file -- Gitblit v1.9.3