refactor(WmsMaterialCoilService): 替换查询包装器实现以优化导出功能

- 将 queryExportList 方法中的 buildQueryWrapper 替换为 buildQueryWrapperPlus
- 移除旧的 buildQueryWrapper 方法及其完整的查询条件构建逻辑
- 保留导出列表的基本查询和数据处理流程
This commit is contained in:
2026-03-10 13:14:09 +08:00
parent 328c46b8b8
commit 8927760eb1

View File

@@ -2348,7 +2348,7 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
*/
@Override
public List<WmsMaterialCoilExportVo> queryExportList(WmsMaterialCoilBo bo) {
QueryWrapper<WmsMaterialCoil> lqw = buildQueryWrapper(bo);
QueryWrapper<WmsMaterialCoil> lqw = buildQueryWrapperPlus(bo);
List<WmsMaterialCoilExportVo> wmsMaterialCoilExportVos = baseMapper.selectExportList(lqw);
// 遍历数据,根据状态替换日期字段,并处理空值兜底
wmsMaterialCoilExportVos.stream().forEach(vo -> {
@@ -2550,86 +2550,6 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
}
/**
* 构建查询条件
*/
private QueryWrapper<WmsMaterialCoil> buildQueryWrapper(WmsMaterialCoilBo bo) {
QueryWrapper<WmsMaterialCoil> lqw = Wrappers.query();
// 基础字段筛选
lqw.eq(bo.getCoilId() != null, "mc.coil_id", bo.getCoilId());
lqw.eq(StringUtils.isNotBlank(bo.getEnterCoilNo()), "mc.enter_coil_no", bo.getEnterCoilNo());
lqw.like(StringUtils.isNotBlank(bo.getCurrentCoilNo()), "mc.current_coil_no", bo.getCurrentCoilNo());
lqw.like(StringUtils.isNotBlank(bo.getSupplierCoilNo()), "mc.supplier_coil_no", bo.getSupplierCoilNo());
lqw.eq(bo.getDataType() != null, "mc.data_type", bo.getDataType());
lqw.eq(bo.getWarehouseId() != null, "mc.warehouse_id", bo.getWarehouseId());
lqw.eq(bo.getActualWarehouseId() != null, "mc.actual_warehouse_id", bo.getActualWarehouseId());
lqw.eq(StringUtils.isNotBlank(bo.getItemType()), "mc.item_type", bo.getItemType());
lqw.eq(bo.getHasMergeSplit() != null, "mc.has_merge_split", bo.getHasMergeSplit());
// 修改itemId筛选逻辑支持逗号分隔的多个ID查询
if (StringUtils.isNotBlank(bo.getItemIds())) {
String[] itemIdArray = bo.getItemIds().split(",");
List<Long> itemIdList = new ArrayList<>();
for (String itemIdStr : itemIdArray) {
if (StringUtils.isNotBlank(itemIdStr)) {
try {
itemIdList.add(Long.parseLong(itemIdStr.trim()));
} catch (NumberFormatException e) {
// 忽略无效的ID格式
}
}
}
if (!itemIdList.isEmpty()) {
lqw.in("mc.item_id", itemIdList);
}
} else if (bo.getItemId() != null) {
// 兼容原来的itemId单值查询
lqw.eq("mc.item_id", bo.getItemId());
}
// 添加coilIds查询条件支持逗号分隔的多个coilId查询
if (StringUtils.isNotBlank(bo.getCoilIds())) {
String[] coilIdArray = bo.getCoilIds().split(",");
List<Long> coilIdList = new ArrayList<>();
for (String coilIdStr : coilIdArray) {
if (StringUtils.isNotBlank(coilIdStr)) {
try {
coilIdList.add(Long.parseLong(coilIdStr.trim()));
} catch (NumberFormatException e) {
// 忽略无效的ID格式
}
}
}
if (!coilIdList.isEmpty()) {
lqw.in("mc.coil_id", coilIdList);
}
}
lqw.eq(bo.getStatus() != null, "mc.status", bo.getStatus());
lqw.eq(StringUtils.isNotBlank(bo.getMaterialType()), "mc.material_type", bo.getMaterialType());
lqw.eq(StringUtils.isNotBlank(bo.getQualityStatus()), "mc.quality_status", bo.getQualityStatus());
lqw.eq(StringUtils.isNotBlank(bo.getPackingStatus()), "mc.packing_status", bo.getPackingStatus());
// 把team字段作为筛选条件
lqw.eq(StringUtils.isNotBlank(bo.getTeam()), "mc.team", bo.getTeam());
// 根据开始时间和结束时间筛选修改时间
lqw.ge(bo.getStartTime() != null, "mc.update_time", bo.getStartTime());
lqw.le(bo.getEndTime() != null, "mc.update_time", bo.getEndTime());
// 根据发货开始和结束筛选发货时间
lqw.ge(bo.getByExportTimeStart() != null, "mc.export_time", bo.getByExportTimeStart());
lqw.le(bo.getByExportTimeEnd() != null, "mc.export_time", bo.getByExportTimeEnd());
// 逻辑删除
lqw.eq("mc.del_flag", 0);
// 根据创建时间倒序
lqw.orderByDesc("mc.create_time");
return lqw;
}
/**
* 批量更新钢卷发货状态
*