refactor(delivery): 移除重复的钢卷查询接口并优化查询逻辑
- 删除 IWmsDeliveryPlanService 中的 getCoilInfoByIds 方法定义 - 删除 WmsDeliveryPlanBo 中冗余的 coilIds 字段 - 移除 WmsDeliveryPlanController 中独立的 /coils 接口实现 - 删除 WmsDeliveryPlanServiceImpl 中 getCoilInfoByIds 的具体实现 - 在 WmsMaterialCoilBo 中重新添加 coilIds 字段用于批量查询 - 优化 WmsMaterialCoilServiceImpl 中对 coilIds 的解析与查询逻辑 - 增强 coilIds 解析健壮性,忽略无效 ID 并防止空值异常
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -46,7 +46,5 @@ public class WmsDeliveryPlanBo extends BaseEntity {
|
||||
// 钢卷集合
|
||||
private String coil;
|
||||
|
||||
private String coilIds;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -160,5 +160,10 @@ public class WmsMaterialCoilBo extends BaseEntity {
|
||||
*/
|
||||
private Integer minAbnormalCount;
|
||||
|
||||
/**
|
||||
* 钢卷ID列表(逗号分隔,用于根据ID列表查询钢卷)
|
||||
*/
|
||||
private String coilIds;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -60,6 +60,4 @@ public interface IWmsDeliveryPlanService {
|
||||
* 获取发货报表统计信息(包含汇总和按类型统计)
|
||||
*/
|
||||
WmsDeliveryReportResultVo getDeliveryReport(Date startTime, Date endTime);
|
||||
|
||||
List<WmsMaterialCoilVo> getCoilInfoByIds(String coilIds);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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字段作为筛选条件
|
||||
|
||||
Reference in New Issue
Block a user