cnf
4 天以前 8f25fecab6e6a79096b9940ab3432401b9045b39
MES.Service/service/QC/RKJService.cs
@@ -454,48 +454,61 @@
    }
    public List<QsItemOqcReq> getPage(XJPageResult queryObj)
    public (List<QsItemOqcReq> items, int TotalCount) GetPage(XJPageResult queryObj)
    {
        var db = SqlSugarHelper.GetInstance();
        var totalCount = 0;
        return db
            .Queryable<QsItemOqcReq, Womdaa, MesItems, MesInvItemIns, Womdab,
                MesInvTransaction, RKJDaa001>(
                (a, da, b, c, d, ca, m) => new JoinQueryInfos(
                    JoinType.Left, da.Daa001 == a.BillNo,
                    JoinType.Left, a.ItemId == b.Id,
                    JoinType.Left, a.BillNo == c.BillNo,
                    JoinType.Left, c.CbillNo == d.Dab001,
                    JoinType.Left,
                    c.TransctionNo == ca.TransactionNo.ToString() &&
                    c.Company == ca.Company && c.Factory == ca.Factory,
                    JoinType.Left, c.Id == m.ItemInId && a.ItemNo == m.ItemNo
                ))
            .Select((a, da, b, c, d, ca, m) => new QsItemOqcReq
        // 获取用户关联的线体编号
        string[] lineNo = null;
        if (!string.IsNullOrEmpty(queryObj.createUser))
            {
                BillNo = a.BillNo,
                Remarks = a.Remarks,
            lineNo = _baseService.getUserLineNo(queryObj.createUser);
        }
        var query = db.Queryable<QsItemOqcReq, MesItems, Womdaa>((a, b, da) =>
            new JoinQueryInfos(
                JoinType.Left, a.ItemNo == b.ItemNo,       // 关联物料信息
                JoinType.Left, a.BillNo == da.Daa001        // 关联工单信息
            ))
            // 用户线体过滤条件
            //.WhereIF(lineNo != null && lineNo.Length > 0 && !"PL017".Equals(queryObj.createUser),
            //    (a, b, da) => lineNo.Contains(da.Daa015))
            // ID精确查询
            .WhereIF(!string.IsNullOrEmpty(queryObj.id),
                (a, b, da) => a.Id.ToString() == queryObj.id)
            // 完成状态过滤
            .WhereIF("未完成".Equals(queryObj.result), (a, b, da) => a.FcheckResu == null)
            .WhereIF(!"未完成".Equals(queryObj.result), (a, b, da) => a.FcheckResu != null)
            // 搜索条件(物料名称/编号)
            .WhereIF(!string.IsNullOrEmpty(queryObj.SearchValue),
                (a, b, da) => b.ItemName.ToLower().Contains(queryObj.SearchValue.ToLower()) ||
                              a.ItemNo.ToLower().Contains(queryObj.SearchValue.ToLower()))
            // 查询字段
            .Select((a, b, da) => new QsItemOqcReq
            {
                Id = a.Id,
                BillNo = a.BillNo,
                ItemNo = a.ItemNo,
                ItemName = b.ItemName,
                ItemModel = b.ItemModel,
                CreateDate = a.CreateDate,
                CreateBy = a.CreateBy,
                FcheckResu = a.FcheckResu,
                ItemNo = a.ItemNo,
                FcheckBy = a.FcheckBy,
                FcheckDate = a.FcheckDate,
                ReleaseNo = a.ReleaseNo,
                // 添加其他字段
                // 如果在 QsItemOqcReq 中定义了额外字段,则需要将它们赋值
                // 例如:
                ItemName = b.ItemName,
                ItemModel = b.ItemModel,
                TaskNo = c.TaskNo,
                CbillNo = c.CbillNo,
                Dab001 = d.Dab001,
                Daa015 = da.Daa015,
                LineNo = c.LineNo,
                Quantity = m.Quantity
            }).OrderBy(a => a.CreateDate, OrderByType.Desc)
            .ToPageList(queryObj.PageIndex, queryObj.Limit);
                Remarks = a.Remarks,
                Daa015 = da.Daa015,  // 工单线体
                Fsubmit = a.Fsubmit
            })
            // 排序
            .OrderBy(a => a.CreateDate, OrderByType.Desc);
        // 分页查询
        var result = query.ToPageList(queryObj.PageIndex, queryObj.Limit, ref totalCount);
        return (result, totalCount);
    }
    //删除主表并且连级删除子表和孙表