fcx
2025-12-06 92e4d27f7083331fdffec1edb83211ad73ce51d6
StandardPda/MES.Service/service/QC/SJService.cs
@@ -74,7 +74,74 @@
    //    return (data, totalCount);
    //}
    public (List<SJPageResult> item, int TotalCount) getPage(SJPageResult queryObj)
    //public (List<SJPageResult> item, int TotalCount) getPage(SJPageResult queryObj)
    //{
    //    var db = SqlSugarHelper.GetInstance();
    //    string[]? lineNo = null;
    //    // if (StringUtil.IsNotNullOrEmpty(queryObj.StatusUser))
    //    //     lineNo = _baseService.getUserLineNo(queryObj.StatusUser);
    //    var totalCount = 0;
    //    string searchValue = queryObj.searchValue?.Trim();
    //    // ========= 构建基础 query =========
    //    var query = db.Queryable<SJPageResult>()
    //        .WhereIF(lineNo != null && lineNo.Length > 0,
    //            a => lineNo.Contains(a.line))
    //        .WhereIF(queryObj.Id != null,
    //            a => a.Id == queryObj.Id)
    //        .WhereIF(StringUtil.IsNotNullOrEmpty(queryObj.BillNo),
    //            a => a.BillNo == queryObj.BillNo)
    //        // 未完成
    //        .WhereIF(
    //            StringUtil.IsNotNullOrEmpty(queryObj.Result) &&
    //            "未完成".Equals(queryObj.Result),
    //            a => a.FSubmit == 0 || a.FSubmit == null)
    //        // 已完成
    //        .WhereIF(
    //            StringUtil.IsNotNullOrEmpty(queryObj.Result) &&
    //            !"未完成".Equals(queryObj.Result),
    //            a => a.FSubmit == 1);
    //    // ========= SearchValue 判断 =========
    //    // SearchValue 为空:返回全部
    //    if (string.IsNullOrWhiteSpace(searchValue))
    //    {
    //        var allData = query
    //            .OrderBy(a => a.BillNo, OrderByType.Desc)
    //            .ToPageList(
    //                Math.Max(queryObj.PageIndex, 1),
    //                Math.Max(queryObj.Limit, 1),
    //                ref totalCount
    //            );
    //        return (allData, totalCount);
    //    }
    //    // SearchValue 不为空:模糊查 BILL_NO / ITEM_NO
    //    query = query.Where(a =>
    //        SqlFunc.Like(SqlFunc.Trim(a.BillNo).ToLower(), $"%{searchValue.ToLower()}%") ||
    //        SqlFunc.Like(SqlFunc.Trim(a.ItemNo).ToLower(), $"%{searchValue.ToLower()}%")
    //    );
    //    // ========= 执行分页 =========
    //    var data = query
    //        .OrderBy(a => a.BillNo, OrderByType.Desc)
    //        .ToPageList(
    //            Math.Max(queryObj.PageIndex, 1),
    //            Math.Max(queryObj.Limit, 1),
    //            ref totalCount
    //        );
    //    return (data, totalCount);
    //}
    public (List<SJPageResult> item, int TotalCount) getPage(SJPageResult2 queryObj)
    {
        var db = SqlSugarHelper.GetInstance();
@@ -85,6 +152,9 @@
        var totalCount = 0;
        string searchValue = queryObj.searchValue?.Trim();
        // 获取搜索选项索引 (0:项目, 1:线体, 2:工单号, 3:物料号, 4:物料名)
        int selectedIndex = queryObj.selectedIndex ?? 0;
        // ========= 构建基础 query =========
        var query = db.Queryable<SJPageResult>()
@@ -121,11 +191,27 @@
            return (allData, totalCount);
        }
        // SearchValue 不为空:模糊查 BILL_NO / ITEM_NO
        query = query.Where(a =>
            SqlFunc.Like(SqlFunc.Trim(a.BillNo).ToLower(), $"%{searchValue.ToLower()}%") ||
            SqlFunc.Like(SqlFunc.Trim(a.ItemNo).ToLower(), $"%{searchValue.ToLower()}%")
        );
        // SearchValue 不为空:根据selectedIndex进行不同字段的模糊查询
        switch (queryObj.selectedIndex)
        {
            case 2: // 工单号
                query = query.Where(a => SqlFunc.Like(a.daa001.ToLower(), $"%{searchValue.ToLower()}%"));
                break;
            case 3: // 物料号
                query = query.Where(a => SqlFunc.Like(a.ItemNo.ToLower(), $"%{searchValue.ToLower()}%"));
                break;
            case 4: // 物料名称
                query = query.Where(a => SqlFunc.Like(a.Daa003.ToLower(), $"%{searchValue.ToLower()}%"));
                break;
            case 0: // 项目编码
                query = query.Where(a => SqlFunc.Like(a.PROJECT_CODE.ToLower(), $"%{searchValue.ToLower()}%"));
                break;
            case 1: // 线体
                query = query.Where(a => SqlFunc.Like(a.line.ToLower(), $"%{searchValue.ToLower()}%"));
                break;
            default:
                return (new List<SJPageResult>(), 0);
        }
        // ========= 执行分页 =========
        var data = query
@@ -138,10 +224,6 @@
        return (data, totalCount);
    }
@@ -306,7 +388,7 @@
        });
        item.Items = getQSItems(qsItemIpiReq.Id, null);
        var sjPageResult = new SJPageResult
        var sjPageResult = new SJPageResult2
            { Id = item.From.Id, Limit = 1, PageIndex = 1 };
        var pageResult = getPage(sjPageResult);
        item.Result = pageResult.item[0];