From 26fadad29b5de7846ebf5ec043f39a7d5e0448bb Mon Sep 17 00:00:00 2001 From: zjh <2207896513@qq.com> Date: 星期二, 13 五月 2025 13:53:02 +0800 Subject: [PATCH] 查询来料检验单所有不良描述信息接口上传 --- StandardPda/MES.Service/service/QC/LljService.cs | 295 +++++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 229 insertions(+), 66 deletions(-) diff --git a/StandardPda/MES.Service/service/QC/LljService.cs b/StandardPda/MES.Service/service/QC/LljService.cs index 77f53e7..888e9b9 100644 --- a/StandardPda/MES.Service/service/QC/LljService.cs +++ b/StandardPda/MES.Service/service/QC/LljService.cs @@ -3,10 +3,13 @@ using MES.Service.Dto.service; using MES.Service.Modes; using MES.Service.util; +using MySqlConnector; using Newtonsoft.Json; using SharpCompress.Factories; using SqlSugar; +using System.ComponentModel; using System.Data; +using System.Xml.Linq; using static Microsoft.EntityFrameworkCore.DbLoggerCategory.Database; using DbType = System.Data.DbType; @@ -31,12 +34,14 @@ var pageList = db .Queryable<LtsLlj, IqcBefore, VMesQaItemsDetect01, SysUser, - IqcBeforeFrom, SysUser>((a, b, d, e, f, g) => + IqcBeforeFrom, SysUser, InspectorChangeLog, SysUser>((a, b, d, e, f, g,h,i) => new JoinQueryInfos(JoinType.Left, a.ItemId == b.ItemId, JoinType.Inner, a.Id == d.Id, JoinType.Left, a.CreateBy == e.Fcode, JoinType.Left, f.Id == b.PID, - JoinType.Left, f.Sid == g.Fid + JoinType.Left, f.Sid == g.Fid, + JoinType.Left,a.ReleaseNo==h.InspectionNo && h.IsValid=="Y", + JoinType.Left,i.Fcode==h.Inspector )) .WhereIF( StringUtil.IsNotNullOrEmpty(queryObj.result) && @@ -50,9 +55,7 @@ // itemIds is { Length: > 0 }, // (a, b, c) => itemIds.Contains(a.ItemId)) .WhereIF(id > 0, (a, b, d) => a.Id == id) - .WhereIF(true, - (a, b, d, e, f, g) => - (g.Fcode == queryObj.createUser || g.Fcode == null)) + .WhereIF(queryObj.createUser!="PL017"&& queryObj.UserIndex=="0", (a, b, d, e, f, g,h, i) => (g.Fcode == queryObj.createUser || i.Fcode == queryObj.createUser))//鍒ゆ柇姝ゅ崟鐨勬楠屽憳锛屾垨鑰呮楠屼负绌哄氨鏄剧ず姝ゅ崟鎹� //鍔犵瓫閫夋潯浠�,鏍规嵁渚涘簲鍟嗭紝鐗╂枡缂栫爜锛岀墿鏂欏悕绉帮紝椤圭洰鎼滅储 //.WhereIF(queryObj.SearchValue != null && queryObj.SearchValue != "", //(a, b, d) => (a.SuppName.ToLower().Contains(queryObj.SearchValue.ToLower()) @@ -62,35 +65,19 @@ //)) //鏍规嵁涓嬫媺妗嗘悳绱㈡潯浠剁瓫閫夛紙0椤圭洰, 1鐗╂枡缂栧彿, 2鐗╂枡鍚嶇О, 3渚涘簲鍟�, 4閲囪喘鍛橈級 - .WhereIF( - queryObj.SelectedIndex == "0" && queryObj.SearchValue != null && - queryObj.SearchValue != "", - (a, b, d) => (d.ProjectCodes.ToLower() - .Contains(queryObj.SearchValue.ToLower()))) - .WhereIF( - queryObj.SelectedIndex == "1" && queryObj.SearchValue != null && - queryObj.SearchValue != "", - (a, b, d) => (a.ItemNo.ToLower() - .Contains(queryObj.SearchValue.ToLower()))) - .WhereIF( - queryObj.SelectedIndex == "2" && queryObj.SearchValue != null && - queryObj.SearchValue != "", - (a, b, d) => (a.ItemName.ToLower() - .Contains(queryObj.SearchValue.ToLower()))) - .WhereIF( - queryObj.SelectedIndex == "3" && queryObj.SearchValue != null && - queryObj.SearchValue != "", - (a, b, d) => (a.SuppName.ToLower() - .Contains(queryObj.SearchValue.ToLower()))) - .WhereIF( - queryObj.SelectedIndex == "4" && queryObj.SearchValue != null && - queryObj.SearchValue != "", - (a, b, d, e) => (e.Fname.ToLower() - .Contains(queryObj.SearchValue.ToLower()))) - .OrderByDescending((a, b, d) => a.Id) - .Select((a, b, d, e, f, g) => new LtsLlj + .WhereIF(queryObj.SelectedIndex == "0" && queryObj.SearchValue != null && queryObj.SearchValue != "", (a, b, d) => (d.ProjectCodes.ToLower().Contains(queryObj.SearchValue.ToLower()))) + .WhereIF(queryObj.SelectedIndex == "1" && queryObj.SearchValue != null && queryObj.SearchValue != "", (a, b, d) => (a.ItemNo.ToLower().Contains(queryObj.SearchValue.ToLower()))) + .WhereIF(queryObj.SelectedIndex == "2" && queryObj.SearchValue != null && queryObj.SearchValue != "", (a, b, d) => (a.ItemName.ToLower().Contains(queryObj.SearchValue.ToLower()))) + .WhereIF(queryObj.SelectedIndex == "3" && queryObj.SearchValue != null && queryObj.SearchValue != "", (a, b, d) => (a.SuppName.ToLower().Contains(queryObj.SearchValue.ToLower()))) + .WhereIF(queryObj.result== "宸插畬鎴�", (a, b, d, e) => (a.IqcDate>= queryObj.startDate.ToDateTime()&& a.IqcDate <= queryObj.endDate.ToDateTime().AddDays(1))) + .WhereIF(queryObj.result == "宸插畬鎴�" && queryObj.state!= "鎵�鏈夌姸鎬�",(a, b, d, e) => (a.FcheckResu == queryObj.state)) + // .WhereIF(queryObj.result == "鏈畬鎴�" && queryObj.SearchValue != null && queryObj.SearchValue != "", (a, b, d, e) => (e.Fname.ToLower().Contains(queryObj.SearchValue.ToLower()))) + //.OrderByDescending((a, b, d) => a.Id) + .Select((a, b, d, e, f, g,h,i) => new LtsLlj { - UserName = g.Fname, + //UserName = g.Fname, + //UserName = (i.Fname!=null ||i.Fname!="") ? i.Fname : g.Fname, + UserName = (i.Fname!=null ||i.Fname!="") ? i.Fname : g.Fname, FIRST = d.First, CreateUserName = e.Fname, NewFngDesc = d.NewFngDesc, @@ -243,9 +230,9 @@ var parameters = new List<SugarParameter> { new("P_RELEASE_NO", releaseNo, - DbType.String, ParameterDirection.Input), - outputResult, - outputMessage + DbType.String, ParameterDirection.Input), + outputResult, + outputMessage }; var db = SqlSugarHelper.GetInstance(); @@ -262,7 +249,62 @@ msg[0] = resultValue; msg[1] = messageValue; return msg; + } + + + + + /// <summary> + /// 淇濆瓨鏂版楠屽憳 + /// </summary> + /// <param name="NewStaffUserID">鏂版楠屽憳ID</param> + /// <param name="userID">淇敼浜�</param> + /// <param name="releaseNo">妫�楠屽崟鍙�</param> + /// <returns></returns> + public string[] SaveCheckBy(string NewStaffUserID, string userID, string releaseNo) + { + // 瀹氫箟杈撳嚭鍙傛暟 + var outputResult = new SugarParameter("o_Result", null, + DbType.Int32, ParameterDirection.Output, + 4000); + + var outputMessage = new SugarParameter("o_Msg", null, + DbType.String, + ParameterDirection.Output, 4000); + + // 瀹氫箟杈撳叆鍙傛暟 + var parameters = new List<SugarParameter> + { + new("P_FCHECK_BY", NewStaffUserID, + DbType.String, ParameterDirection.Input), + new("p_Release_No", releaseNo, + DbType.String, ParameterDirection.Input), + new("p_User", userID, + DbType.String, ParameterDirection.Input), + + outputResult, + outputMessage + }; + + var db = SqlSugarHelper.GetInstance(); + + // 浣跨敤 SqlSugar 鎵ц瀛樺偍杩囩▼ + db.Ado.ExecuteCommand( + "BEGIN Prc_Mes_Iqc_Qa_Update_CheckBy(:P_FCHECK_BY,:p_Release_No,:p_User, :o_Result, :o_Msg); END;", + parameters.ToArray()); + + // 鑾峰彇杈撳嚭鍙傛暟鐨勫�� + var resultValue = outputResult.Value?.ToString(); + var messageValue = outputMessage.Value?.ToString(); + string[] msg = new string[2]; + msg[0] = resultValue; + msg[1] = messageValue; + return msg; + + } + + public string[] SaveSysSubmit(SysSubmit sysSubmit) { @@ -279,30 +321,30 @@ var parameters = new List<SugarParameter> { new("PI_BILLNO", sysSubmit.PI_BILLNO, - DbType.String, ParameterDirection.Input), - new("PI_USER", sysSubmit.PI_USER, - DbType.String, ParameterDirection.Input), - new("PI_SAMPLE_STATUS", sysSubmit.PI_SAMPLE_STATUS, - DbType.String, ParameterDirection.Input), - new("PI_SAMPLE_TYPE", sysSubmit.PI_SAMPLE_TYPE, - DbType.String, ParameterDirection.Input), - new("PI_SAMPLE_REASON", sysSubmit.PI_SAMPLE_REASON, - DbType.String, ParameterDirection.Input), - new("PI_INSPECT_TYPE", sysSubmit.PI_INSPECT_TYPE, - DbType.String, ParameterDirection.Input), - new("PI_SAMPLE_PREPARATION", sysSubmit.PI_SAMPLE_PREPARATION, - DbType.String, ParameterDirection.Input), - new("PI_URGENCY", sysSubmit.PI_URGENCY, - DbType.String, ParameterDirection.Input), - new("PI_FIRMWAREVERSION", sysSubmit.PI_FIRMWAREVERSION, - DbType.String, ParameterDirection.Input), - new("PI_HARDWAREVERSION", sysSubmit.PI_HARDWAREVERSION, - DbType.String, ParameterDirection.Input), - new("PI_REMARK", sysSubmit.PI_REMARK, - DbType.String, ParameterDirection.Input), + DbType.String, ParameterDirection.Input), + new("PI_USER", sysSubmit.PI_USER, + DbType.String, ParameterDirection.Input), + new("PI_SAMPLE_STATUS", sysSubmit.PI_SAMPLE_STATUS, + DbType.String, ParameterDirection.Input), + new("PI_SAMPLE_TYPE", sysSubmit.PI_SAMPLE_TYPE, + DbType.String, ParameterDirection.Input), + new("PI_SAMPLE_REASON", sysSubmit.PI_SAMPLE_REASON, + DbType.String, ParameterDirection.Input), + new("PI_INSPECT_TYPE", sysSubmit.PI_INSPECT_TYPE, + DbType.String, ParameterDirection.Input), + new("PI_SAMPLE_PREPARATION", sysSubmit.PI_SAMPLE_PREPARATION, + DbType.String, ParameterDirection.Input), + new("PI_URGENCY", sysSubmit.PI_URGENCY, + DbType.String, ParameterDirection.Input), + new("PI_FIRMWAREVERSION", sysSubmit.PI_FIRMWAREVERSION, + DbType.String, ParameterDirection.Input), + new("PI_HARDWAREVERSION", sysSubmit.PI_HARDWAREVERSION, + DbType.String, ParameterDirection.Input), + new("PI_REMARK", sysSubmit.PI_REMARK, + DbType.String, ParameterDirection.Input), outputResult, outputMessage - }; + }; var db = SqlSugarHelper.GetInstance(); @@ -318,8 +360,8 @@ msg[0] = resultValue; msg[1] = messageValue; return msg; - } + } private string ExtractSubstring(string input, char startChar, char endChar) { var startIndex = input.IndexOf(startChar); @@ -395,6 +437,7 @@ new JoinQueryInfos(JoinType.Left, a.Id == b.MainId)) .Where((a, b) => a.ReleaseNo == releaseNo) // .WhereIF(id > 0, (a, b) => a.Id == id) + .OrderByDescending((a, b) => a.FcheckItem) .GroupBy((a, b) => new { a.Id, @@ -434,6 +477,16 @@ FcheckItemDesc = a.FcheckItemDesc }).ToList(); } + + + + public DataTable getAllInspectors() + { + OracleSQLHelper SQLHelper = new(); + var sql =string.Format(@"select a.USER_NAME label,U.FCODE value from IQC_BEFORE_FROM a JOIN SYS_USER U ON U.FID=A.SID"); + return SQLHelper.ExecuteQuery(sql); + } + public int SetQSItemDetail(MesQaItemsDetectDetail12 detail) { @@ -638,6 +691,115 @@ return rkjDto; } + + public DataTable getFromInfo(string BarCode) + { + OracleSQLHelper SQLHelper = new(); + var sql = string.Format(@"select b.ID,b.LOT_NO,b.RELEASE_NO,b.FSUBMIT from MES_INV_ITEM_BARCODES A + left join MES_QA_ITEMS_DETECT_01 B on A.BILL_NO=b.LOT_NO and A.ITEM_ID=b.ITEM_ID + where ITEM_BARCODE='"+ BarCode + "'"); + return SQLHelper.ExecuteQuery(sql); + } + public DataTable getImgBDlist(string id) + { + OracleSQLHelper SQLHelper = new(); + var sql = string.Format(@"select id,FID,IMAGE_DATA from MES_QS_IMAGE where FID="+id+""); + return SQLHelper.ExecuteQuery(sql); + } + /// <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 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 sql2 = string.Format(@"select * from MES_IQC_CONSISTENCY_ck where PID='"+id+"' order by ITEMNAME,ITEMMODE,SUPPNAME"); + DataTable dataTable1= SQLHelper.ExecuteQuery(sql1); + DataTable dataTable2 = SQLHelper.ExecuteQuery(sql2); + List<Component> Components = new List<Component>(); + + + + for (int i = 0; i <dataTable1.Rows.Count; i++) + { + Component component = new Component(); + component.Name= 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; + int index = 0; + for (int 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; + } + + public DataTable getBlmsItem() + { + OracleSQLHelper SQLHelper = new(); + //鏌ヤ笉鑹弿杩� + var sql1 = string.Format(@"select DEFECT_NAME + from MES_DEFECT_CODE A + left join MES_DEFECT_TYPE X ON X.TYPE_NO = A.DEFECT_SORT AND X.COMPANY = A.COMPANY AND X.FACTORY = A.FACTORY"); + + return SQLHelper.ExecuteQuery(sql1); + } + public DataTable getBlmsItem(string id) + { + OracleSQLHelper SQLHelper = new(); + //鏌ヤ笉鑹弿杩� + var sql1 = string.Format(@"select FCHECK_ITEM,FUNIT from mes_qa_items_detect_detail5 f where RELEASE_NO='"+id+"' and FUNIT is not null order by FCHECK_ITEM"); + + return SQLHelper.ExecuteQuery(sql1); + } + public void saveYzxBDlist(string id,DataTable DB) + { + OracleSQLHelper SQLHelper = new(); + //鍏堟妸缁撴灉娓呯┖ + var sql1 = string.Format(@"update MES_IQC_CONSISTENCY_ck set ISCHACK=0 where PID='"+ id + "' "); + SQLHelper.ExecuteQuery(sql1); + string rowId = ""; + for (int 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_ck set ISCHACK=1 where PID='" + id + "'and id in("+ rowId + ") "); + SQLHelper.ExecuteQuery(sql2); + + } public int UpdateQSItemDetail(MesQaItemsDetectDetail12 detail) { var withOracle = SqlSugarHelper.UseTransactionWithOracle(db => @@ -704,8 +866,8 @@ return SqlSugarHelper.UseTransactionWithOracle(db => { return db.Updateable<MesQaItemsDetectDetail5>() - // .SetColumns(it => - // it.Remarks == dto.Remarks) //SetColumns鏄彲浠ュ彔鍔犵殑 鍐�2涓氨2涓瓧娈佃祴鍊� + .SetColumns(it => + it.Funit == dto.Remarks) //SetColumns鏄彲浠ュ彔鍔犵殑 鍐�2涓氨2涓瓧娈佃祴鍊� .Where(it => it.Id == dto.pid) .ExecuteCommand(); }); @@ -735,7 +897,7 @@ return withOracle; } - public bool IqcQaSubmit(LLJDto dto) + public string[] IqcQaSubmit(LLJDto dto) { var (factory, company) = UserUtil.GetFactory(dto.userNo); try @@ -774,10 +936,11 @@ // 鑾峰彇杈撳嚭鍙傛暟鐨勫�� var resultValue = outputResult.Value?.ToString(); var messageValue = outputMessage.Value?.ToString(); - - if ("1".Equals(resultValue)) throw new Exception(messageValue); - - return true; + string[] msg = new string[2]; + msg[0] = resultValue; + msg[1] = messageValue; + return msg; + } catch (Exception ex) { -- Gitblit v1.9.3