| | |
| | | using System.Data; |
| | | using System.Xml; |
| | | using Masuit.Tools; |
| | | using MES.Service.DB; |
| | | using MES.Service.Dto.service; |
| | | using MES.Service.Modes; |
| | | using MES.Service.util; |
| | | using SqlSugar; |
| | | using Tea.Utils; |
| | | using DbType = System.Data.DbType; |
| | | |
| | | |
| | |
| | | |
| | | var totalCount = 0; |
| | | |
| | | //var itemIds = GetQaItem(db, queryObj.createUser); |
| | | |
| | | var pageList = db.Queryable<LtsLlj>() |
| | | var pageList = db.Queryable<LtsLlj, IqcBefore, SysUser, |
| | | IqcBeforeFrom, SysUser, SysUser>((a, b, |
| | | e, f, g, i) => |
| | | new JoinQueryInfos(JoinType.Left, a.ItemId == b.ItemId, |
| | | JoinType.Left, a.CreateBy == e.Fcode, |
| | | JoinType.Left, f.Id == b.Pid, |
| | | JoinType.Left, f.Sid == Convert.ToDecimal(g.Fid), |
| | | JoinType.Left, f.CheckUser == i.Fcode |
| | | )) |
| | | .WhereIF( |
| | | StringUtil.IsNotNullOrEmpty(queryObj.result) && |
| | | "未完成".Equals(queryObj.result), |
| | | a => a.FcheckResu == null) |
| | | (a, b, |
| | | e, f, g, i) => a.FcheckResu == null) |
| | | .WhereIF( |
| | | StringUtil.IsNotNullOrEmpty(queryObj.result) && |
| | | !"未完成".Equals(queryObj.result), |
| | | a => a.FcheckResu != null) |
| | | .WhereIF(id > 0, a => a.Id == id) |
| | | (a, b, |
| | | e, f, g, i) => a.FcheckResu != null) |
| | | .WhereIF(id > 0, (a, b, |
| | | e, f, g, i) => a.Id == id) |
| | | .WhereIF(queryObj.createUser != "PL017" && queryObj.UserIndex == "0", (a, b, |
| | | e, f, g, i) => (g.Fcode == queryObj.createUser || i.Fcode == queryObj.createUser || |
| | | (g.Fcode == null && i.Fcode == null)))//判断此单的检验员,或者检验为空就显示此单据 |
| | | |
| | | //加筛选条件,根据供应商,物料编码,物料名称搜索 |
| | | //.WhereIF(queryObj.SearchValue!=null && queryObj.SearchValue!="", (a) => a.SuppName == queryObj.SearchValue|| a.ItemName == queryObj.SearchValue || a.ItemNo == queryObj.SearchValue ) |
| | | .WhereIF(!string.IsNullOrEmpty(queryObj.SearchValue), |
| | | a => a.SuppName.ToLower() |
| | | (a, b, |
| | | e, f, g, i) => a.SuppName.ToLower() |
| | | .Contains(queryObj.SearchValue.ToLower()) |
| | | || a.ItemName.ToLower() |
| | | .Contains(queryObj.SearchValue.ToLower()) |
| | |
| | | .Contains(queryObj.SearchValue.ToLower()) |
| | | || a.ItemModel.ToLower() |
| | | .Contains(queryObj.SearchValue.ToLower())) |
| | | .OrderByDescending(a => a.Id) |
| | | .OrderByDescending((a, b, |
| | | e, f, g, i) => a.Id) |
| | | //.Select((a, b, |
| | | // e, f, g, i) => new LtsLlj |
| | | // { |
| | | // //UserName = g.Fname, |
| | | // //UserName = (i.Fname!=null ||i.Fname!="") ? i.Fname : g.Fname, |
| | | // UserName = i.Fname != null || i.Fname != "" ? i.Fname : g.Fname, |
| | | // CreateUserName = e.Fname |
| | | // }, true) |
| | | .ToPageList(queryObj.PageIndex, queryObj.Limit, ref totalCount); |
| | | |
| | | |
| | | var emergencyValues = pageList.Select(item => item.EMERGENCY).ToList(); |
| | | //return (pageList, totalCount); |
| | | return (pageList, totalCount); |
| | | } |
| | | |
| | |
| | | msg[1] = messageValue; |
| | | return msg; |
| | | |
| | | } |
| | | //紧急放行 |
| | | public string[] EmergencyRelease(int id) |
| | | { |
| | | var db = SqlSugarHelper.GetInstance(); |
| | | |
| | | |
| | | int emergencyStatus = db.Queryable<MesQaItemsDetect01>() |
| | | .Where(t => t.Id == id) |
| | | .Select(t => t.EMERGENCY) |
| | | .First(); |
| | | |
| | | if (emergencyStatus != 0) |
| | | { |
| | | return new string[] { "1", "非紧急状态,无法执行紧急放行" }; |
| | | } |
| | | |
| | | |
| | | var outputResult = new SugarParameter("PO_RESULT", null, |
| | | DbType.Int32, ParameterDirection.Output, 4000); |
| | | |
| | | var outputMessage = new SugarParameter("PO_MSG", null, |
| | | DbType.String, ParameterDirection.Output, 4000); |
| | | |
| | | var parameters = new List<SugarParameter> |
| | | { |
| | | new("P_ID", id, DbType.Int32, ParameterDirection.Input), |
| | | outputResult, |
| | | outputMessage |
| | | }; |
| | | |
| | | db.Ado.ExecuteCommand( |
| | | "BEGIN prc_MES_QA_ITEMS_update1(:P_ID, :PO_RESULT, :PO_MSG); END;", |
| | | parameters.ToArray()); |
| | | |
| | | var lotNo1 = db.Queryable<MesQaItemsDetect01>() |
| | | .Where(t => t.Id == id) |
| | | .Select(t => t.LotNo1) |
| | | .First(); |
| | | |
| | | var resultValue = outputResult.Value?.ToString(); |
| | | var messageValue = outputMessage.Value?.ToString(); |
| | | return new string[] { resultValue, messageValue, lotNo1?.ToString() ?? "" }; |
| | | } |
| | | |
| | | public string[] WithdrawEmergencyRelease(int id) |
| | | { |
| | | var db = SqlSugarHelper.GetInstance(); |
| | | |
| | | |
| | | int emergencyStatus = db.Queryable<MesQaItemsDetect01>() |
| | | .Where(t => t.Id == id) |
| | | .Select(t => t.EMERGENCY) |
| | | .First(); |
| | | |
| | | if (emergencyStatus != 0) |
| | | { |
| | | return new string[] { "1", "非紧急状态,无需撤回" }; |
| | | } |
| | | |
| | | var outputResult = new SugarParameter("PO_RESULT", null, |
| | | DbType.Int32, ParameterDirection.Output, 4000); |
| | | |
| | | var outputMessage = new SugarParameter("PO_MSG", null, |
| | | DbType.String, ParameterDirection.Output, 4000); |
| | | |
| | | var parameters = new List<SugarParameter> |
| | | { |
| | | new("P_ID", id, DbType.Int32, ParameterDirection.Input), |
| | | outputResult, |
| | | outputMessage |
| | | }; |
| | | |
| | | db.Ado.ExecuteCommand( |
| | | "BEGIN prc_MES_QA_ITEMS_update2(:P_ID, :PO_RESULT, :PO_MSG); END;", |
| | | parameters.ToArray()); |
| | | |
| | | var lotNo1 = db.Queryable<MesQaItemsDetect01>() |
| | | .Where(t => t.Id == id) |
| | | .Select(t => t.LotNo1) |
| | | .First(); |
| | | |
| | | |
| | | var resultValue = outputResult.Value?.ToString(); |
| | | var messageValue = outputMessage.Value?.ToString(); |
| | | return new string[] { resultValue, messageValue, lotNo1?.ToString() ?? "" }; |
| | | } |
| | | |
| | | private string ExtractSubstring(string input, char startChar, char endChar) |
| | |
| | | a.FreQty, |
| | | a.CheckQyt, |
| | | a.FcheckResu, |
| | | a.FcheckItemDesc |
| | | a.FcheckItemDesc,a.Funit |
| | | }).Select((a, b) => new MesQaItemsDetectDetail5 |
| | | { |
| | | Id = a.Id, |
| | |
| | | FenterQty = SqlFunc.AggregateCount(b.Id), |
| | | FcheckResu = a.FcheckResu, |
| | | // FcheckItemDesc = a.FcheckItemDesc |
| | | FcheckItemDesc = a.FspecRequ |
| | | FcheckItemDesc = a.FspecRequ, |
| | | Funit =a.Funit |
| | | }).ToList(); |
| | | } |
| | | |