| | |
| | | using System.Data; |
| | | using System.Xml; |
| | | using System.Linq; |
| | | using Masuit.Tools; |
| | | using MES.Service.DB; |
| | | using MES.Service.Dto.service; |
| | |
| | | |
| | | var totalCount = 0; |
| | | |
| | | // 使用数据库分页查询,一次查询50条,提升性能 |
| | | var pageList = db.Queryable<LtsLlj, V_LljUser>((a, v) => |
| | | new JoinQueryInfos(JoinType.Left, a.ItemNo == v.ItemNo)) |
| | | .WhereIF( |
| | |
| | | // 添加所属车间 |
| | | SSCJ = a.SSCJ, |
| | | // 添加评审状态 |
| | | PSZT = a.PSZT |
| | | PSZT = a.PSZT, |
| | | // 添加检验项目维护状态 |
| | | Jyxm = a.Jyxm |
| | | }) |
| | | .OrderBy("CASE WHEN EMERGENCY = 1 AND STATUS = '未提交' THEN 0 ELSE 1 END, CASE WHEN STATUS = '未提交' AND (SELECT COUNT(*) FROM MES_QA_ITEMS_DETECT_DETAIL5 WHERE RELEASE_NO = A.RELEASE_NO) = 0 THEN 0 ELSE 1 END, CASE WHEN STATUS = '未提交' THEN A.CREATE_DATE ASC ELSE NULL END, CASE WHEN STATUS = '已提交' THEN A.IQC_DATE DESC ELSE NULL END") |
| | | .OrderBy("CASE WHEN EMERGENCY = 1 THEN 0 ELSE 1 END") |
| | | .OrderBy("CASE WHEN JYXM = 0 THEN 0 ELSE 1 END") |
| | | .OrderBy("CASE WHEN STATUS = '已提交' THEN 1 ELSE 0 END") |
| | | .OrderBy("IQC_DATE DESC") |
| | | .OrderBy("CREATE_DATE") |
| | | .ToPageList(queryObj.PageIndex, queryObj.Limit, ref totalCount); |
| | | |
| | | // 批量获取检验项目数量,避免N+1查询问题 |
| | |
| | | throw new Exception(ex.Message); |
| | | } |
| | | } |
| | | public List<MesItems> GetWomdab(string daa001) |
| | | { |
| | | //if (string.IsNullOrEmpty(ItemNo)) |
| | | //{ |
| | | // throw new ArgumentException("检验单号不能为空"); |
| | | //} |
| | | |
| | | var db = SqlSugarHelper.GetInstance(); |
| | | try |
| | | { |
| | | return db.Queryable<Womdab>() |
| | | .LeftJoin<MesItems>((w, m) => w.Dab003 == m.ItemId.ToString()) // 需要替换为实际的关联字段 |
| | | .Where((w, m) => w.Dab001 == daa001) |
| | | .OrderBy((w, m) => w.Dab003, OrderByType.Desc) |
| | | // .ThenBy((w, m) => w.CreateDate, OrderByType.Desc) |
| | | .Select((w, m) => new MesItems |
| | | { |
| | | ItemNo = m.ItemNo, |
| | | ItemName = m.ItemName, |
| | | ItemModel = m.ItemModel |
| | | }).ToList(); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | throw new Exception($"查询附件信息失败: {ex.Message}"); |
| | | } |
| | | |
| | | } |
| | | |
| | | public List<MesItems> GetWomdabById(string daa001,string ItemNo) |
| | | { |
| | | //if (string.IsNullOrEmpty(ItemNo)) |
| | | //{ |
| | | // throw new ArgumentException("检验单号不能为空"); |
| | | //} |
| | | |
| | | var db = SqlSugarHelper.GetInstance(); |
| | | try |
| | | { |
| | | return db.Queryable<Womdab>() |
| | | .LeftJoin<MesItems>((w, m) => w.Dab003 == m.ItemId.ToString()) // 需要替换为实际的关联字段 |
| | | .Where((w, m) => w.Dab001 == daa001 && m.ItemNo.Contains(ItemNo)) |
| | | .OrderBy((w, m) => w.Dab003, OrderByType.Desc) |
| | | // .ThenBy((w, m) => w.CreateDate, OrderByType.Desc) |
| | | .Select((w, m) => new MesItems |
| | | { |
| | | ItemNo = m.ItemNo, |
| | | ItemName = m.ItemName, |
| | | ItemModel = m.ItemModel |
| | | }).ToList(); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | throw new Exception($"查询附件信息失败: {ex.Message}"); |
| | | } |
| | | |
| | | } |
| | | |
| | | } |