From 25fde6086c76f0bcc2848305f90432a3716a5c61 Mon Sep 17 00:00:00 2001 From: zjh <2207896513@qq.com> Date: 星期一, 25 八月 2025 11:13:51 +0800 Subject: [PATCH] 代码提交 --- StandardPda/MES.Service/service/QC/XJService.cs | 180 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 164 insertions(+), 16 deletions(-) diff --git a/StandardPda/MES.Service/service/QC/XJService.cs b/StandardPda/MES.Service/service/QC/XJService.cs index 1d78f60..e10bc17 100644 --- a/StandardPda/MES.Service/service/QC/XJService.cs +++ b/StandardPda/MES.Service/service/QC/XJService.cs @@ -3,6 +3,7 @@ using MES.Service.Modes; using MES.Service.util; using SqlSugar; +using System.Data; namespace MES.Service.service.QC; @@ -107,40 +108,43 @@ }).ToList(); } - public List<QsQaItemXj> getPage(XJPageResult queryObj) + public (List<QsQaItemXj> item, int TotalCount) getPage(XJPageResult queryObj) { var db = SqlSugarHelper.GetInstance(); var id = Convert.ToDecimal(queryObj.id); + var totalCount = 0; + string[]? lineNo = null; - if (StringUtil.IsNotNullOrEmpty(queryObj.createUser)) - lineNo = _baseService.getUserLineNo(queryObj.createUser); + // if (StringUtil.IsNotNullOrEmpty(queryObj.createUser)) + // lineNo = _baseService.getUserLineNo(queryObj.createUser); - return db - .Queryable<QsQaItemXj, Womdaa, MesLine, - MesItems>((s, a, c, b) => + var pageList = db + .Queryable<QsQaItemXj, Womdaa, + MesItems>((s, a, b) => new JoinQueryInfos( JoinType.Inner, s.BillNo == a.Daa001, - JoinType.Left, a.Daa015 == c.LineNo, JoinType.Left, s.ItemId == b.Id ) ) - .WhereIF(lineNo != null && lineNo.Length > 0, - (s, a, c, b) => lineNo.Contains(c.LineNo)) + .WhereIF( StringUtil.IsNotNullOrEmpty(queryObj.result) && "鏈畬鎴�".Equals(queryObj.result), - (s, a, c, b) => s.FcheckResu == null) + (s, a, b) => s.Fsubmit == null || s.Fsubmit == 0) + // .WhereIF( + // StringUtil.IsNotNullOrEmpty(queryObj.result) && + // !"鏈畬鎴�".Equals(queryObj.result), + // (s, a, b) => s.FcheckResu != null) .WhereIF( StringUtil.IsNotNullOrEmpty(queryObj.result) && !"鏈畬鎴�".Equals(queryObj.result), - (s, a, c, b) => s.FcheckResu != null) - .WhereIF(id > 0, (s, a, c, b) => s.Id == id) - .Select((s, a, c, b) => new QsQaItemXj + (s, a, b) => s.Fsubmit == 1) + .WhereIF(id > 0, (s, a, b) => s.Id == id) + .Select((s, a, b) => new QsQaItemXj { - Daa020 = c.LineNo, Id = s.Id, PlanQty = a.Daa008, CreateBy = s.CreateBy, @@ -152,11 +156,31 @@ ItemModel = b.ItemModel, FcheckBy = s.FcheckBy, FcheckResu = s.FcheckResu, - Remarks = s.Remarks + Remarks = s.Remarks, + Fsubmit = s.Fsubmit, + FcheckDate = s.FcheckDate, + FsubmitBy = s.FsubmitBy }).OrderBy(s => s.CreateDate, OrderByType.Desc) - .ToPageList(queryObj.PageIndex, queryObj.Limit); + .ToPageList(queryObj.PageIndex, queryObj.Limit, ref totalCount); + + return (pageList, totalCount); } + 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; + } public List<QsQaItemXj01> setJYItem(string itemNo) { @@ -528,4 +552,128 @@ .ExecuteCommand(); }); } + 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_XJ_ck where PID='" + id + "' group by ITEMNAME order by ITEMNAME"); + //鏌ユ槑缁� + var sql2 = + string.Format(@"select * from MES_IQC_CONSISTENCY_XJ_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_XJ_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_XJ_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 777||min(id) id,ITEMNAME from MES_IQC_CONSISTENCY_XJ_CK where pid='" + id.ToString() + "' and ITEMNAME not in(select ITEMNAME from MES_IQC_CONSISTENCY_XJ_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_XJ_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_XJ_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