xwt
2025-09-25 8e5e2fb892df6cc8c61d7c03baa2412522ad11c4
StandardInterface/MES.Service/service/QC/XJService.cs
@@ -172,6 +172,49 @@
            }
        }
        
        // 添加搜索条件 - 根据选择的搜索字段进行精确搜索
        if (!string.IsNullOrEmpty(queryObj.SearchValue) && !string.IsNullOrEmpty(queryObj.searchField))
        {
            switch (queryObj.searchField)
            {
                case "billNo":  // 工单
                    query = query.Where((s, a, c, b) => s.BillNo.Contains(queryObj.SearchValue));
                    break;
                case "releaseNo":  // 检验单号
                    query = query.Where((s, a, c, b) => s.ReleaseNo.Contains(queryObj.SearchValue));
                    break;
                case "daa020":    // 产线
                    query = query.Where((s, a, c, b) => c.LineNo.Contains(queryObj.SearchValue));
                    break;
                case "itemNo":  // 物料编码
                    query = query.Where((s, a, c, b) => s.ItemNo.Contains(queryObj.SearchValue));
                    break;
                case "itemName":  // 物料名称
                    query = query.Where((s, a, c, b) => b.ItemName.Contains(queryObj.SearchValue));
                    break;
                default:
                    // 如果没有指定字段或字段不匹配,使用原有的模糊查询逻辑作为兜底方案
                    query = query.Where((s, a, c, b) =>
                        s.ItemNo.Contains(queryObj.SearchValue) ||
                        b.ItemName.Contains(queryObj.SearchValue) ||
                        s.BillNo.Contains(queryObj.SearchValue) ||
                        s.ReleaseNo.Contains(queryObj.SearchValue) ||
                        c.LineNo.Contains(queryObj.SearchValue));
                    break;
            }
        }
        // 为了兼容旧版本,如果没有传递 searchField,使用原来的查询逻辑
        else if (string.IsNullOrEmpty(queryObj.searchField) && !string.IsNullOrEmpty(queryObj.SearchValue))
        {
            // 保持原有的多字段模糊查询逻辑
            query = query.Where((s, a, c, b) =>
                s.ItemNo.Contains(queryObj.SearchValue) ||
                b.ItemName.Contains(queryObj.SearchValue) ||
                s.BillNo.Contains(queryObj.SearchValue) ||
                s.ReleaseNo.Contains(queryObj.SearchValue) ||
                c.LineNo.Contains(queryObj.SearchValue));
        }
        // 添加ID筛选条件
        if (id > 0)
        {