| | |
| | | } |
| | | } |
| | | |
| | | // 添加搜索条件 - 根据选择的搜索字段进行精确搜索 |
| | | 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) |
| | | { |