xwt
3 天以前 57caad11d92771dcaa7d76d871daa3e4a538c2be
StandardInterface/MES.Service/service/QC/LljService.cs
@@ -60,6 +60,7 @@
            {
                Id = a.Id,
                ItemNo = a.ItemNo,
                ItemId = a.ItemId,
                ItemName = a.ItemName,
                ItemModel = a.ItemModel,
                SuppName = a.SuppName,
@@ -77,7 +78,15 @@
                Status = a.Status,
                IqcDate = a.IqcDate,
                // 添加维护人员信息
                Fcode = v.Fcode
                Fcode = v.Fcode,
                // 添加破坏实验数量
                PHSY = a.PHSY,
                // 添加不良原因
                BLYY = a.BLYY,
                // 添加所属车间
                SSCJ = a.SSCJ,
                // 添加评审状态
                PSZT = a.PSZT
            })
            .OrderBy("CASE WHEN EMERGENCY = 1 THEN 0 ELSE 1 END, CASE WHEN STATUS = '已提交' THEN 0 ELSE 1 END, IQC_DATE desc, ID asc")
            .ToPageList(queryObj.PageIndex, queryObj.Limit, ref totalCount);
@@ -99,8 +108,44 @@
            }
        }
        
        // 计算所有数据的去重总数(不是当前页的去重数)
        var allDataQuery = db.Queryable<LtsLlj, V_LljUser>((a, v) =>
                new JoinQueryInfos(JoinType.Left, a.ItemNo == v.ItemNo))
            .WhereIF(
                StringUtil.IsNotNullOrEmpty(queryObj.result) &&
                "未完成".Equals(queryObj.result),
                (a, v) => a.FcheckResu == null)
            .WhereIF(
                StringUtil.IsNotNullOrEmpty(queryObj.result) &&
                !"未完成".Equals(queryObj.result),
                (a, v) => a.FcheckResu != null)
            .WhereIF(id > 0, (a, v) => a.Id == id)
            // 权限控制:PL017、HMLYY、HMCS 可以看到所有单据,其他用户需要根据物料维护情况判断
            .WhereIF(queryObj.createUser != "PL017" && queryObj.createUser != "HMLYY" && queryObj.createUser != "HMCS" && queryObj.UserIndex == "0",
                (a, v) =>
                    // 如果物料被维护,只有维护人员可以看到
                    (v.Fcode != null && v.Fcode == queryObj.createUser) ||
                    // 如果物料未被维护,所有人都可以看到
                    (v.Fcode == null))
            //加筛选条件,根据选择的搜索字段进行精确搜索
            .WhereIF(!string.IsNullOrEmpty(queryObj.SearchValue) && queryObj.selectedIndex == 1, // 物料编号搜索
                (a, v) => a.ItemNo != null && a.ItemNo.ToLower().Contains(queryObj.SearchValue.ToLower()))
            .WhereIF(!string.IsNullOrEmpty(queryObj.SearchValue) && queryObj.selectedIndex == 2, // 物料名称搜索
                (a, v) => a.ItemName != null && a.ItemName.ToLower().Contains(queryObj.SearchValue.ToLower()))
            .WhereIF(!string.IsNullOrEmpty(queryObj.SearchValue) && queryObj.selectedIndex == 3, // 供应商搜索
                (a, v) => a.SuppName != null && a.SuppName.ToLower().Contains(queryObj.SearchValue.ToLower()))
            .WhereIF(!string.IsNullOrEmpty(queryObj.SearchValue) && queryObj.selectedIndex == 4, // 到货单号搜索
                (a, v) => a.LotNo != null && a.LotNo.ToLower().Contains(queryObj.SearchValue.ToLower()))
            .WhereIF(!string.IsNullOrEmpty(queryObj.SearchValue) && queryObj.selectedIndex == 5, // 检验单号搜索
                (a, v) => a.ReleaseNo != null && a.ReleaseNo.ToLower().Contains(queryObj.SearchValue.ToLower()))
            .WhereIF(!string.IsNullOrEmpty(queryObj.SearchValue) && queryObj.selectedIndex == 6, // 物料规格搜索
                (a, v) => a.ItemModel != null && a.ItemModel.ToLower().Contains(queryObj.SearchValue.ToLower()))
            .Select((a, v) => a.ReleaseNo)
            .Distinct()
            .Count();
        var emergencyValues = pageList.Select(item => item.EMERGENCY).ToList(); 
        return (pageList, totalCount);
        return (pageList, allDataQuery);
    }
    //根据检验标准来计算检验个数