| StandardPda/MES.Service/Modes/MesQualityStandard.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| StandardPda/MES.Service/Modes/QsQaItemXj.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| StandardPda/MES.Service/Modes/QsQaItemXj01.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| StandardPda/MES.Service/service/QC/SJService.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| StandardPda/MES.Service/service/QC/XJService.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| StandardPda/MESApplication/Controllers/QC/SJController.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| StandardPda/MESApplication/Controllers/QC/XJController.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
StandardPda/MES.Service/Modes/MesQualityStandard.cs
@@ -20,6 +20,18 @@ public decimal Id { get; set; } /// <summary> /// 工序 /// </summary> [SugarColumn(ColumnName = "PROCESS")] public string? PROCESS { get; set; } /// <summary> /// 创建人 /// </summary> [Column("CREATE_BY")] StandardPda/MES.Service/Modes/QsQaItemXj.cs
@@ -108,9 +108,15 @@ public DateTime? FsubmitDate { get; set; } /// <summary> /// 提交标识 /// </summary> [SugarColumn(ColumnName = "FSUBMIT")] public decimal? Fsubmit { get; set; } /// <summary> /// 审核标识 /// </summary> [SugarColumn(ColumnName = "FSUBMIT1")] public decimal? Fsubmit1 { get; set; } /// <summary> /// 备注 @@ -124,6 +130,14 @@ [SugarColumn(ColumnName = "ITEM_ID")] public decimal? ItemId { get; set; } /// <summary> /// 物料工序 /// </summary> [SugarColumn(ColumnName = "PROCESS_LIST")] public string? PROCESS_LIST { get; set; } [SugarColumn(IsIgnore = true)] public string? Daa020 { get; set; } [SugarColumn(IsIgnore = true)] public decimal? PlanQty { get; set; } StandardPda/MES.Service/Modes/QsQaItemXj01.cs
@@ -139,6 +139,13 @@ [SugarColumn(IsIgnore = true)] public int? isCheck { get; set; } ///<summary> /// 新增是否必须上传图片 ///</summary> [SugarColumn(ColumnName = "UP_FILE")] public decimal? UP_FILE { get; set; } /// <summary> /// 图片地址 /// </summary> StandardPda/MES.Service/service/QC/SJService.cs
@@ -4,6 +4,7 @@ using MES.Service.util; using SqlSugar; using System.Data; using System.Runtime.InteropServices.JavaScript; namespace MES.Service.service.QC; @@ -292,7 +293,8 @@ Picture = b.Picture, Picturename = b.Picturename, result = "未检测", isCheck = 0,UP_FILE=b.UP_FILE isCheck = 0, UP_FILE=b.UP_FILE }).ToList(); } @@ -412,7 +414,7 @@ // 2. 查找 MesQa 对应主表ID(通过 item.ItemNo) var mesQa = db.Queryable<MesQa>() .Where(q => q.ItemNo == item.ItemNo) .Where(q => q.ItemNo == item.ItemNo && q.QsType== "1") .Select(q => new { q.Id }) .First(); StandardPda/MES.Service/service/QC/XJService.cs
@@ -251,7 +251,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 +284,266 @@ 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 = "" }; } //------------------ 新增校验:检查是否存在未完成(IS_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); 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 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>(); // 根据巡检单号和物料编码获取PROCESS_LIST var processListQuery = db.Queryable<QsQaItemXj>() .Where(xj => xj.ReleaseNo == releaseNo && xj.ItemNo == itemNo) .Select(xj => xj.PROCESS_LIST) .ToList(); // 如果没有找到对应的PROCESS_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 +675,7 @@ var items = xjDto.items; var userNo = xjDto.userNo; // ✅ 使用 lambda 返回插入条数,保证 Func<SqlSugarClient, int> 每条路径都有返回值 int insertCount = SqlSugarHelper.UseTransactionWithOracle(db => { // 1️⃣ 检查表里是否存在相同 gid 的数据 StandardPda/MESApplication/Controllers/QC/SJController.cs
@@ -338,8 +338,8 @@ //------------------ SN扫码校验 ------------------ var sql1 = @"select SCAN_ITEM from ZMZ_TEST.MES_SJ_SCAN_ITEM_CK where mid='" + rkjDto.gid + "' and sn_no is null"; from ZMZ_TEST.MES_SJ_SCAN_ITEM_CK where mid='" + rkjDto.gid + "' and sn_no is null"; var dataTable1 = SQLHelper.ExecuteQuery(sql1); string msg = ""; @@ -373,11 +373,11 @@ //------------------ 不合格图片是否上传校验 ------------------ var sql2 = @"select A.id, A.PROJ_NAME, B.id as id2 from QS_ITEM_IPI_ITEM A left join MES_QS_IMAGE B on 777 || A.ID = B.FID where A.PID = '" + rkjDto.gid + @"' and B.id is null and IS_PASS = 0"; from QS_ITEM_IPI_ITEM A left join MES_QS_IMAGE B on 777 || 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) @@ -399,11 +399,11 @@ //------------------ 必填项图片是否上传校验 ------------------ var sql3 = @"select A.id, A.PROJ_NAME, B.id as id2 from QS_ITEM_IPI_ITEM A left join MES_QS_IMAGE B on 777 || A.ID = B.FID where A.PID = '" + rkjDto.gid + @"' and B.id is null and UP_FILE = 1"; from QS_ITEM_IPI_ITEM A left join MES_QS_IMAGE B on 777 || 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) @@ -425,9 +425,9 @@ //------------------ 新增校验:检查是否存在未完成(IS_PASS is null) ------------------ var sqlPass = @"select ID, PROJ_NAME from QS_ITEM_IPI_ITEM where PID = '" + rkjDto.gid + @"' and IS_PASS is null"; from QS_ITEM_IPI_ITEM where PID = '" + rkjDto.gid + @"' and IS_PASS is null"; var dtPass = SQLHelper.ExecuteQuery(sqlPass); if (dtPass.Rows.Count > 0) @@ -451,38 +451,29 @@ var tbBillList = new SJService().SJQaSubmit(rkjDto); resultInfos.tbBillList = tbBillList; //================= 判断检验合格生成巡检单 ========= var sqlpass6 = $@"update QS_ITEM_IPI_REQ set FSUBMIT1 = 1 where ID = '{rkjDto.gid}' "; var sqlpass6 = $@"update QS_ITEM_IPI_REQ set FSUBMIT = 1 where ID = '{rkjDto.gid}' "; var dtPass7 = SQLHelper.ExecuteQuery(sqlpass6); var sqlPass1 = $@" SELECT IS_PASS FROM QS_ITEM_IPI_REQ WHERE ID = '{rkjDto.gid}' "; SELECT IS_PASS FROM QS_ITEM_IPI_REQ WHERE ID = '{rkjDto.gid}' "; var dtPass1 = SQLHelper.ExecuteQuery(sqlPass1); var sqlPass3 = $@"select C.ID from QS_ITEM_IPI_REQ A LEFT JOIN V_MES_SJ B on b.BILL_NO = A.BILL_NO LEFT JOIN WOMDAA C on C.DAA001 = B.DAA001 WHERE A.ID = '{rkjDto.gid}' "; LEFT JOIN V_MES_SJ B on b.BILL_NO = A.BILL_NO LEFT JOIN WOMDAA C on C.DAA001 = B.DAA001 WHERE A.ID = '{rkjDto.gid}' "; var dtPass3 = SQLHelper.ExecuteQuery(sqlPass3); var value4 = dtPass3.Rows[0][0]; int sqlPass2 = Convert.ToInt32(value4); bool isPass = false; if (dtPass1 != null && dtPass1.Rows.Count > 0) @@ -492,13 +483,15 @@ // 判断为合格(IS_PASS = 1) if (value == "1") { var sqlpass4 = $@"update QS_ITEM_IPI_REQ set FSUBMIT1 = 1 where ID = '{rkjDto.gid}' "; var dtPass5 = SQLHelper.ExecuteQuery(sqlpass4); isPass = true; } else { var sqlpass4 = $@"update QS_ITEM_IPI_REQ set FSUBMIT = 0 where ID = '{rkjDto.gid}' "; var sqlpass4 = $@"update QS_ITEM_IPI_REQ set FSUBMIT1 = 0 where ID = '{rkjDto.gid}' "; var dtPass5 = SQLHelper.ExecuteQuery(sqlpass4); } @@ -518,16 +511,15 @@ // ===== 输入参数 ===== 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_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), // 输出参数必须带上 outFlag, outText }; // 输出参数必须带上 outFlag, outText }; // ===== 执行存储过程 ===== db.Ado.ExecuteCommand( "BEGIN PRC_XJ_GENERATE(:P_ID, :P_USER, :P_ISH, :P_FLAG, :P_TEXT); END;", @@ -558,7 +550,8 @@ StandardPda/MESApplication/Controllers/QC/XJController.cs
@@ -188,11 +188,12 @@ public ResponseResult setJYItem([FromBody] JObject data) { var itemNo = data["itemNo"].ToString(); var releaseNo = data["releaseNo"].ToString(); try { dynamic resultInfos = new ExpandoObject(); var tbBillList = new XJService().setJYItem(itemNo); new XJService().setJYItem(itemNo, releaseNo); resultInfos.tbBillList = tbBillList; return new ResponseResult {