refactor(anneal): 优化退火性能服务的钢卷查询功能

- 将查询方法参数从两个独立BO合并为单一的WmsAnnealPlanCoilBo复合BO
- 修改queryPlanCoils方法签名以使用新的复合查询对象
- 更新控制器层接口调用方式并改为POST请求方法
- 添加空值检查逻辑避免潜在的空指针异常
- 创建WmsAnnealPlanCoilBo复合数据传输对象用于封装查询条件
- 调整查询参数传递方式提高代码可读性和维护性
This commit is contained in:
2026-07-13 10:45:51 +08:00
parent fdba2fb78d
commit 49606bf823
4 changed files with 35 additions and 14 deletions

View File

@@ -2,15 +2,13 @@ package com.klp.controller;
import com.klp.common.core.domain.R;
import com.klp.domain.bo.WmsAnnealPerformanceBo;
import com.klp.domain.bo.WmsMaterialCoilBo;
import com.klp.domain.bo.WmsAnnealPlanCoilBo;
import com.klp.domain.vo.WmsMaterialCoilVo;
import com.klp.domain.vo.anneal.WmsAnnealPerformanceVo;
import com.klp.service.IWmsAnnealPerformanceService;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@@ -36,8 +34,8 @@ public class WmsAnnealPerformanceController {
/**
* 查询退火计划中的加工前钢卷列表
*/
@GetMapping("/rawCoils")
public R<List<WmsMaterialCoilVo>> getRawCoils(WmsAnnealPerformanceBo bo, WmsMaterialCoilBo coilBo) {
return R.ok(performanceService.queryPlanCoils(bo, coilBo));
@PostMapping("/rawCoils")
public R<List<WmsMaterialCoilVo>> getRawCoils(@RequestBody WmsAnnealPlanCoilBo bo) {
return R.ok(performanceService.queryPlanCoils(bo));
}
}

View File

@@ -0,0 +1,17 @@
package com.klp.domain.bo;
import lombok.Data;
/**
* 退火计划钢卷查询复合BO
*
* @author klp
* @date 2026-07-14
*/
@Data
public class WmsAnnealPlanCoilBo {
private WmsAnnealPerformanceBo planBo;
private WmsMaterialCoilBo coilBo;
}

View File

@@ -1,7 +1,7 @@
package com.klp.service;
import com.klp.domain.bo.WmsAnnealPerformanceBo;
import com.klp.domain.bo.WmsMaterialCoilBo;
import com.klp.domain.bo.WmsAnnealPlanCoilBo;
import com.klp.domain.vo.WmsMaterialCoilVo;
import com.klp.domain.vo.anneal.WmsAnnealPerformanceVo;
@@ -20,5 +20,5 @@ public interface IWmsAnnealPerformanceService {
/**
* 查询退火计划中的加工前钢卷列表
*/
List<WmsMaterialCoilVo> queryPlanCoils(WmsAnnealPerformanceBo bo, WmsMaterialCoilBo coilBo);
List<WmsMaterialCoilVo> queryPlanCoils(WmsAnnealPlanCoilBo bo);
}

View File

@@ -5,6 +5,7 @@ import com.klp.common.core.domain.PageQuery;
import com.klp.common.core.page.TableDataInfo;
import com.klp.common.utils.StringUtils;
import com.klp.domain.bo.WmsAnnealPerformanceBo;
import com.klp.domain.bo.WmsAnnealPlanCoilBo;
import com.klp.domain.bo.WmsMaterialCoilBo;
import com.klp.domain.vo.WmsMaterialCoilVo;
import com.klp.domain.vo.anneal.WmsAnnealPerformanceDetailVo;
@@ -210,13 +211,18 @@ public class WmsAnnealPerformanceServiceImpl implements IWmsAnnealPerformanceSer
}
@Override
public List<WmsMaterialCoilVo> queryPlanCoils(WmsAnnealPerformanceBo bo, WmsMaterialCoilBo coilBo) {
public List<WmsMaterialCoilVo> queryPlanCoils(WmsAnnealPlanCoilBo bo) {
WmsAnnealPerformanceBo planBo = bo.getPlanBo();
WmsMaterialCoilBo coilBo = bo.getCoilBo();
if (planBo == null || coilBo == null) {
return Collections.emptyList();
}
// 1. 查询退火计划
LambdaQueryWrapper<WmsFurnacePlan> planQw = new LambdaQueryWrapper<WmsFurnacePlan>()
.ge(bo.getStartTime() != null, WmsFurnacePlan::getActualStartTime, bo.getStartTime())
.le(bo.getEndTime() != null, WmsFurnacePlan::getActualStartTime, bo.getEndTime())
.eq(bo.getTargetFurnaceId() != null, WmsFurnacePlan::getTargetFurnaceId, bo.getTargetFurnaceId())
.like(StringUtils.isNotBlank(bo.getPlanNo()), WmsFurnacePlan::getPlanNo, bo.getPlanNo())
.ge(planBo.getStartTime() != null, WmsFurnacePlan::getActualStartTime, planBo.getStartTime())
.le(planBo.getEndTime() != null, WmsFurnacePlan::getActualStartTime, planBo.getEndTime())
.eq(planBo.getTargetFurnaceId() != null, WmsFurnacePlan::getTargetFurnaceId, planBo.getTargetFurnaceId())
.like(StringUtils.isNotBlank(planBo.getPlanNo()), WmsFurnacePlan::getPlanNo, planBo.getPlanNo())
.eq(WmsFurnacePlan::getDelFlag, 0);
List<WmsFurnacePlan> plans = planMapper.selectList(planQw);