| | |
| | | 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查询问题 |