From 12545a7b2f59e143ef509168107ccc85ea6df772 Mon Sep 17 00:00:00 2001 From: zjh <2207896513@qq.com> Date: 星期二, 19 八月 2025 20:58:17 +0800 Subject: [PATCH] 首检、巡检一致性代码提交 --- StandardPda/MES.Service/service/QC/SJService.cs | 168 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 160 insertions(+), 8 deletions(-) diff --git a/StandardPda/MES.Service/service/QC/SJService.cs b/StandardPda/MES.Service/service/QC/SJService.cs index fcc93ec..7343705 100644 --- a/StandardPda/MES.Service/service/QC/SJService.cs +++ b/StandardPda/MES.Service/service/QC/SJService.cs @@ -3,6 +3,7 @@ using MES.Service.Modes; using MES.Service.util; using SqlSugar; +using System.Data; namespace MES.Service.service.QC; @@ -34,14 +35,16 @@ } //鑾峰彇鎵�鏈夋暟鎹垎椤� - public List<SJPageResult> getPage(SJPageResult queryObj) + public (List<SJPageResult> item, int TotalCount) getPage(SJPageResult queryObj) { var db = SqlSugarHelper.GetInstance(); string[]? lineNo = null; - if (StringUtil.IsNotNullOrEmpty(queryObj.StatusUser)) - lineNo = _baseService.getUserLineNo(queryObj.StatusUser); + // if (StringUtil.IsNotNullOrEmpty(queryObj.StatusUser)) + // lineNo = _baseService.getUserLineNo(queryObj.StatusUser); + + var totalCount = 0; var data = db.Queryable<SJPageResult>() .WhereIF(lineNo != null && lineNo.Length > 0, @@ -49,18 +52,26 @@ .WhereIF(queryObj.Id != null, a => a.Id == queryObj.Id) .WhereIF(StringUtil.IsNotNullOrEmpty(queryObj.BillNo), a => a.BillNo == queryObj.BillNo) + // .WhereIF( + // StringUtil.IsNotNullOrEmpty(queryObj.Result) && + // "鏈畬鎴�".Equals(queryObj.Result), + // a => a.Result == queryObj.Result && (a.FSubmit == 0 || a.FSubmit == null)) .WhereIF( StringUtil.IsNotNullOrEmpty(queryObj.Result) && "鏈畬鎴�".Equals(queryObj.Result), - a => a.Result == queryObj.Result) + a => a.FSubmit == 0 || a.FSubmit == null) + // .WhereIF( + // StringUtil.IsNotNullOrEmpty(queryObj.Result) && + // !"鏈畬鎴�".Equals(queryObj.Result), + // a => a.Result != "鏈畬鎴�" && a.FSubmit == 1) .WhereIF( StringUtil.IsNotNullOrEmpty(queryObj.Result) && !"鏈畬鎴�".Equals(queryObj.Result), - a => a.Result != "鏈畬鎴�") + a => a.FSubmit == 1) .OrderBy(a => a.BillNo, OrderByType.Desc) - .ToPageList(queryObj.PageIndex, queryObj.Limit); + .ToPageList(queryObj.PageIndex, queryObj.Limit, ref totalCount); - return data; + return (data, totalCount); } @@ -222,7 +233,8 @@ item.Items = getQSItems(qsItemIpiReq.Id, null); var sjPageResult = new SJPageResult { Id = item.From.Id, Limit = 1, PageIndex = 1 }; - item.Result = getPage(sjPageResult)[0]; + var pageResult = getPage(sjPageResult); + item.Result = pageResult.item[0]; return item; } @@ -453,4 +465,144 @@ return withOracle; } + + public bool SJQaSubmit(LLJDto rkjDto) + { + var useTransactionWithOracle = + SqlSugarHelper.UseTransactionWithOracle(db => + { + return db.Updateable<QsItemIpiReq>() + .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; + } + public List<Component> getYzxBDlist(string id) + { + OracleSQLHelper SQLHelper = new(); + //鏌ュ厓鍣ㄤ欢 + //var sql1 = + // string.Format( + // @"select ITEMNAME from MES_IQC_CONSISTENCY_ck where PID='" + + // id + "' group by ITEMNAME order by ITEMNAME"); + + var sql1 = + string.Format( + @"select CASE WHEN max(MULTI_SELECT) is null THEN ''ELSE '銆�'||max(MULTI_SELECT)||'銆�' END as A,ITEMNAME as ITEMNAME from MES_IQC_CONSISTENCY_SJ_ck where PID='" + id + "' group by ITEMNAME order by ITEMNAME"); + //鏌ユ槑缁� + var sql2 = + string.Format(@"select * from MES_IQC_CONSISTENCY_SJ_ck where PID='" + + id + "' order by ITEMNAME,ITEMMODE,SUPPNAME"); + var dataTable1 = SQLHelper.ExecuteQuery(sql1); + var dataTable2 = SQLHelper.ExecuteQuery(sql2); + var Components = new List<Component>(); + + + for (var i = 0; i < dataTable1.Rows.Count; i++) + { + var component = new Component(); + component.Name = dataTable1.Rows[i]["A"].ToString() + dataTable1.Rows[i]["ITEMNAME"].ToString(); + component.Specs = new List<string>(); + component.Manufacturers = new List<string>(); + component.Id = new List<string>(); + component.SelectedSpec = -1; + component.SelectedMfg = -1; + var index = 0; + for (var j = 0; j < dataTable2.Rows.Count; j++) + if (dataTable2.Rows[j]["ITEMNAME"].ToString() == + dataTable1.Rows[i]["ITEMNAME"].ToString()) + { + component.Specs.Add(dataTable2.Rows[j]["ITEMMODE"] + .ToString()); + component.Manufacturers.Add(dataTable2.Rows[j]["SUPPNAME"] + .ToString()); + component.Id.Add(dataTable2.Rows[j]["ID"].ToString()); + if (dataTable2.Rows[j]["ISCHACK"].ToString() == "1") + { + component.SelectedSpec = index; + component.SelectedMfg = index; + } + + index++; + } + + Components.Add(component); + } + + return Components; + } + /// <summary> + /// 涓�鑷存�ч」鐩� + /// </summary> + public class Component + { + public string Name { get; set; } + public List<string> Specs { get; set; } + public List<string> Manufacturers { get; set; } + public List<string> Id { get; set; } + public int SelectedSpec { get; set; } + public int SelectedMfg { get; set; } + } + public void saveYzxBDlist(string id, DataTable DB) + { + OracleSQLHelper SQLHelper = new(); + //鍏堟妸缁撴灉娓呯┖ + var sql1 = + string.Format( + @"update MES_IQC_CONSISTENCY_SJ_ck set ISCHACK=0 where PID='" + + id + "' "); + SQLHelper.ExecuteQuery(sql1); + var rowId = ""; + for (var i = 0; i < DB.Rows.Count; i++) + rowId += "'" + DB.Rows[i]["id"] + "',"; + rowId = rowId.Substring(0, rowId.Length - 1); + + + //淇敼缁撴灉 + var sql2 = + string.Format( + @"update MES_IQC_CONSISTENCY_SJ_ck set ISCHACK=1 where PID='" + + id + "'and id in(" + rowId + ") "); + SQLHelper.ExecuteQuery(sql2); + } + public string[] YzxImgVerify(string id) + { + var msgStr = new string[2]; + + OracleSQLHelper SQLHelper = new(); + //淇敼缁撴灉 + //var sql2 = string.Format( + // @"select A.ITEMNAME from ( select 888||min(id) id,ITEMNAME from MES_IQC_CONSISTENCY_CK where pid='" + + // id + "' group by ITEMNAME) A " + + // "left join MES_QS_IMAGE b on a.id=b.fid where B.id is null order by ITEMNAME"); + + + var sql2 = string.Format( + @"select A.ITEMNAME from ( select 999||min(id) id,ITEMNAME from MES_IQC_CONSISTENCY_SJ_CK where pid='" + id.ToString() + "' and ITEMNAME not in(select ITEMNAME from MES_IQC_CONSISTENCY_SJ_CK where PID='" + id.ToString() + "' and MULTI_SELECT is not null)" + + "group by ITEMNAME) A" + + " left join MES_QS_IMAGE b on a.id=b.fid where B.id is null" + + " union" + + " select '鍒嗙粍锛�' || MULTI_SELECT as ITEMNAME from MES_IQC_CONSISTENCY_SJ_CK where pid = '" + id.ToString() + "' and MULTI_SELECT is not null and MULTI_SELECT not in(select A.MULTI_SELECT as ITEMNAME from (select 888 || min(id) id, MULTI_SELECT from MES_IQC_CONSISTENCY_SJ_CK where pid = '" + id.ToString() + "' and MULTI_SELECT is not null group by MULTI_SELECT,ITEMNAME) A left join MES_QS_IMAGE b on a.id = b.fid where B.id is not null) group by MULTI_SELECT"); + + var db = SQLHelper.ExecuteQuery(sql2); + if (db.Rows.Count > 0) + { + msgStr[1] = "鍏冨櫒浠讹細"; + for (var i = 0; i < db.Rows.Count; i++) + msgStr[1] += db.Rows[i]["ITEMNAME"] + ","; + msgStr[1] += "鏈畬鎴愬浘鐗囦笂浼狅紝璇蜂笂浼狅紒"; + msgStr[0] = "1"; + } + else + { + msgStr[0] = "0"; + msgStr[1] = "ok"; + } + + return msgStr; + } } \ No newline at end of file -- Gitblit v1.9.3