xwt
6 天以前 09cb3ccb6891eba2d6c1e6ab58d34b35c2298563
StandardInterface/MES.Service/service/QC/LljService.cs
@@ -1,5 +1,6 @@
using System.Data;
using System.Xml;
using System.Linq;
using Masuit.Tools;
using MES.Service.DB;
using MES.Service.Dto.service;
@@ -24,6 +25,7 @@
        var totalCount = 0;
        // 使用数据库分页查询,一次查询50条,提升性能
        var pageList = db.Queryable<LtsLlj, V_LljUser>((a, v) =>
                new JoinQueryInfos(JoinType.Left, a.ItemNo == v.ItemNo))
            .WhereIF(
@@ -86,9 +88,15 @@
                // 添加所属车间
                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查询问题