refactor(delivery): 移除重复的钢卷查询接口并优化查询逻辑

- 删除 IWmsDeliveryPlanService 中的 getCoilInfoByIds 方法定义
- 删除 WmsDeliveryPlanBo 中冗余的 coilIds 字段
- 移除 WmsDeliveryPlanController 中独立的 /coils 接口实现
- 删除 WmsDeliveryPlanServiceImpl 中 getCoilInfoByIds 的具体实现
- 在 WmsMaterialCoilBo 中重新添加 coilIds 字段用于批量查询
- 优化 WmsMaterialCoilServiceImpl 中对 coilIds 的解析与查询逻辑
- 增强 coilIds 解析健壮性,忽略无效 ID 并防止空值异常
This commit is contained in:
2025-12-08 13:55:17 +08:00
parent 04a1480ec6
commit 0b792edafd
6 changed files with 22 additions and 38 deletions

View File

@@ -6,7 +6,6 @@ import java.util.Arrays;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.klp.domain.vo.*;
import liquibase.pro.packaged.W;
import lombok.RequiredArgsConstructor;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.*;
@@ -129,14 +128,4 @@ public class WmsDeliveryPlanController extends BaseController {
}
/**
* 根据逗号分隔的coil_id字符串查询对应的钢卷信息
*
* @return 钢卷信息列表
*/
@PostMapping("/coils")
public R<List<WmsMaterialCoilVo>> getCoilInfoByIds(@RequestBody WmsDeliveryPlanBo bo) {
List<WmsMaterialCoilVo> coilInfoList = iWmsDeliveryPlanService.getCoilInfoByIds(bo.getCoilIds());
return R.ok(coilInfoList);
}
}

View File

@@ -46,7 +46,5 @@ public class WmsDeliveryPlanBo extends BaseEntity {
// 钢卷集合
private String coil;
private String coilIds;
}

View File

@@ -160,5 +160,10 @@ public class WmsMaterialCoilBo extends BaseEntity {
*/
private Integer minAbnormalCount;
/**
* 钢卷ID列表逗号分隔用于根据ID列表查询钢卷
*/
private String coilIds;
}

View File

@@ -60,6 +60,4 @@ public interface IWmsDeliveryPlanService {
* 获取发货报表统计信息(包含汇总和按类型统计)
*/
WmsDeliveryReportResultVo getDeliveryReport(Date startTime, Date endTime);
List<WmsMaterialCoilVo> getCoilInfoByIds(String coilIds);
}

View File

@@ -168,27 +168,4 @@ public class WmsDeliveryPlanServiceImpl implements IWmsDeliveryPlanService {
return result;
}
/**
* 根据逗号分隔的coil_id字符串查询对应的钢卷信息
*
* @param coilIds 逗号分隔的coil_id字符串
* @return 钢卷信息列表
*/
@Override
public List<WmsMaterialCoilVo> getCoilInfoByIds(String coilIds) {
if (StringUtils.isBlank(coilIds)) {
return Collections.emptyList();
}
// 将逗号分隔的字符串转换为ID列表
List<Long> idList = Arrays.stream(coilIds.split(","))
.map(String::trim)
.filter(s -> !s.isEmpty())
.map(Long::valueOf)
.collect(Collectors.toList());
// 查询对应的钢卷信息
return coilMapper.selectVoBatchIds(idList);
}
}

View File

@@ -350,6 +350,23 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
// 兼容原来的itemId单值查询
qw.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()) {
qw.in("mc.coil_id", coilIdList);
}
}
//逻辑删除
qw.eq("mc.del_flag", 0);
//把team字段作为筛选条件