fcx
10 天以前 35f29f98993a2cede58e105ff810c83d7b8858f4
StandardPda/MES.Service/service/QC/SJService.cs
@@ -1,4 +1,4 @@
using MES.Service.DB;
using MES.Service.DB;
using MES.Service.Dto.service;
using MES.Service.Modes;
using MES.Service.util;
@@ -35,7 +35,113 @@
    }
    //获取所有数据分页
    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;
    //    var data = 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.Result == queryObj.Result && (a.FSubmit == 0 || a.FSubmit == null))
    //        .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.Result != "未完成" && a.FSubmit == 1)
    //        .WhereIF(
    //            StringUtil.IsNotNullOrEmpty(queryObj.Result) &&
    //            !"未完成".Equals(queryObj.Result),
    //            a => a.FSubmit == 1)
    //        .OrderBy(a => a.BillNo, OrderByType.Desc)
    //        .ToPageList(queryObj.PageIndex, queryObj.Limit, ref totalCount);
    //    return (data, totalCount);
    //}
    //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();
@@ -45,34 +151,85 @@
        //     lineNo = _baseService.getUserLineNo(queryObj.StatusUser);
        var totalCount = 0;
        string searchValue = queryObj.searchValue?.Trim();
        var data = db.Queryable<SJPageResult>()
        // 获取搜索选项索引 (0:项目, 1:线体, 2:工单号, 3:物料号, 4:物料名)
        int selectedIndex = queryObj.selectedIndex ?? 0;
        // ========= 构建基础 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(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.Result == queryObj.Result && (a.FSubmit == 0 || a.FSubmit == null))
            // 未完成
            .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.Result != "未完成" && a.FSubmit == 1)
            // 已完成
            .WhereIF(
                StringUtil.IsNotNullOrEmpty(queryObj.Result) &&
                !"未完成".Equals(queryObj.Result),
                a =>   a.FSubmit == 1)
                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 不为空:根据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
            .OrderBy(a => a.BillNo, OrderByType.Desc)
            .ToPageList(queryObj.PageIndex, queryObj.Limit, ref totalCount);
            .ToPageList(
                Math.Max(queryObj.PageIndex, 1),
                Math.Max(queryObj.Limit, 1),
                ref totalCount
            );
        return (data, totalCount);
    }
    //SetQSItem
@@ -135,7 +292,7 @@
                    Picture = b.Picture,
                    Picturename = b.Picturename,
                    result = "未检测",
                    isCheck = 0
                    isCheck = 0,UP_FILE=b.UP_FILE
                }).ToList();
    }
@@ -231,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];
@@ -576,7 +733,6 @@
            SqlSugarHelper.UseTransactionWithOracle(db =>
            {
                return db.Updateable<QsItemIpiReq>()
                    .SetColumns(s => s.Fsubmit == 1)
                    .SetColumns(s => s.FsubmitBy == rkjDto.userNo)
                    .SetColumns(s => s.FsubmitDate == DateTime.Now)
                    .Where(s => s.Id == rkjDto.gid)
@@ -769,6 +925,22 @@
        return msg;
    }
    /// <summary>
    /// 获取首检单所有不良描述
    /// </summary>
    /// <param name="id">检验单ID</param>
    /// <returns>不良描述数据表</returns>
    public DataTable getBlmsItem(string id)
    {
        OracleSQLHelper SQLHelper = new();
        // 查询首检检验单的不良描述
        var sql1 = string.Format(
            @"select PROJ_NAME, REMARKS
              from QS_ITEM_IPI_ITEM f
              where PID = '" + id + "' and REMARKS is not null  order by PROJ_NAME");
        return SQLHelper.ExecuteQuery(sql1);
    }
}