using MES.Service.Models; using Microsoft.IdentityModel.Tokens; using NewPdaSqlServer.DB; using NewPdaSqlServer.Dto.service; using NewPdaSqlServer.entity; using NewPdaSqlServer.util; using SqlSugar; using static Azure.Core.HttpHeader; using static Microsoft.EntityFrameworkCore.DbLoggerCategory; namespace NewPdaSqlServer.service.QC; public class IpqcService : RepositoryNoEntity { public (List item, int TotalCount) getPageSj(XJPageResult queryObj) { var parsedGuid = Guid.Empty; if (!queryObj.id.IsNullOrEmpty()) { var isValid = Guid.TryParse(queryObj.id, out parsedGuid); if (!isValid) throw new ApplicationException("GUID转换错误"); } var totalCount = 0; var pageList = Db.Queryable() .WhereIF(!string.IsNullOrWhiteSpace(queryObj.keyword), a => a.ItemNo.Contains(queryObj.keyword) || a.ItemName.Contains(queryObj.keyword) || a.Daa001.Contains(queryObj.keyword) || a.ReleaseNo.Contains(queryObj.keyword) || a.DepartmentName.Contains(queryObj.keyword )|| a.XtName.Contains(queryObj.keyword) ) .WhereIF(UtilityHelper.CheckGuid(parsedGuid), a => a.Guid == parsedGuid.ToString() ) .Where(a => (a.FSubmit ?? 0) == 0) .OrderByDescending(a => a.CreateDate) .ToPageList(queryObj.PageIndex, queryObj.Limit, ref totalCount); return (pageList, totalCount); } public List GetItems(string? releaseNo, string? id) { var parsedGuid = Guid.Empty; if (id != null) { var isValid = Guid.TryParse(id, out parsedGuid); if (!isValid) throw new ApplicationException("GUID转换错误"); } var Ybsl_In = Db.Queryable() .Where(a => a.ParentGuid == parsedGuid) .Count(); return Db.Queryable( (a, b) => new JoinQueryInfos(JoinType.Left, a.Guid == b.ParentGuid)) .Where((a, b) => a.ReleaseNo == releaseNo) .WhereIF(UtilityHelper.CheckGuid(parsedGuid), (a, b) => a.Guid == parsedGuid) .GroupBy((a, b) => new { a.Guid, a.ParentGuid, a.ReleaseNo, a.FacLevel, a.FcheckItem, a.FcheckTool, a.FdownAllow, a.FcheckLevel, a.Fstand, a.FupAllow, a.SampleSizeNo, a.FspecRequ, a.FreQty, a.CheckQyt, a.FcheckResu, a.Order, a.Ybsl, a.ISRZXX, a.IPQCRZXX }).Select((a, b) => new MesQaItemsDetectDetail5 { Guid = a.Guid, ParentGuid = a.ParentGuid, ReleaseNo = a.ReleaseNo, CheckQyt = a.CheckQyt, FacLevel = a.FacLevel, FcheckItem = a.FcheckItem, FcheckTool = a.FcheckTool, FdownAllow = a.FdownAllow, FcheckLevel = a.FcheckLevel, Fstand = a.Fstand, FupAllow = a.FupAllow, SampleSizeNo = a.SampleSizeNo, FspecRequ = a.FspecRequ, FreQty = a.FreQty, Factory = "1000", Company = "1000", FenterQty = SqlFunc.AggregateCount(b.Guid), FcheckResu = a.FcheckResu, Order = a.Order, Ybsl = a.Ybsl, YbslIn = Ybsl_In, ISRZXX = a.ISRZXX, IPQCRZXX = a.IPQCRZXX }).OrderBy(a => a.Order) .ToList(); } public (List item, int TotalCount) getPageXj(XJPageResult queryObj) { var parsedGuid = Guid.Empty; if (!queryObj.id.IsNullOrEmpty()) { var isValid = Guid.TryParse(queryObj.id, out parsedGuid); if (!isValid) throw new ApplicationException("GUID转换错误"); } var totalCount = 0; var pageList = Db.Queryable() .WhereIF(!string.IsNullOrWhiteSpace(queryObj.keyword), a => a.ItemNo.Contains(queryObj.keyword) || a.ItemName.Contains(queryObj.keyword) || a.Daa001.Contains(queryObj.keyword) || a.ReleaseNo.Contains(queryObj.keyword) || a.DepartmentName.Contains(queryObj.keyword) || a.xtName.Contains(queryObj.keyword) ) .WhereIF(UtilityHelper.CheckGuid(parsedGuid), a => a.Guid == parsedGuid.ToString()) .Where(a => (a.FSubmit ?? 0) == 0) .OrderByDescending(a => a.CreateDate) .ToPageList(queryObj.PageIndex, queryObj.Limit, ref totalCount); return (pageList, totalCount); } //更新不合格描述 public int updateIpqcRzxx(LLJDto dto) { if (dto == null) throw new ArgumentNullException(nameof(dto), "参数对象不能为 null"); // 参数校验(根据存储过程新增参数) if (string.IsNullOrEmpty(dto.pid?.ToString())) throw new ArgumentException("项目明细id存在问题,请联系管理员!", nameof(dto.pid)); var withOracle = Db.Updateable() .SetColumns(s => s.IPQCRZXX == dto.inRzxxValue) .Where(s => s.Guid.ToString() == dto.pid) .ExecuteCommand(); return withOracle; } }