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.common.core.domain.R;
import com.klp.domain.bo.WmsAnnealPerformanceBo; 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.WmsMaterialCoilVo;
import com.klp.domain.vo.anneal.WmsAnnealPerformanceVo; import com.klp.domain.vo.anneal.WmsAnnealPerformanceVo;
import com.klp.service.IWmsAnnealPerformanceService; import com.klp.service.IWmsAnnealPerformanceService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List; import java.util.List;
@@ -36,8 +34,8 @@ public class WmsAnnealPerformanceController {
/** /**
* 查询退火计划中的加工前钢卷列表 * 查询退火计划中的加工前钢卷列表
*/ */
@GetMapping("/rawCoils") @PostMapping("/rawCoils")
public R<List<WmsMaterialCoilVo>> getRawCoils(WmsAnnealPerformanceBo bo, WmsMaterialCoilBo coilBo) { public R<List<WmsMaterialCoilVo>> getRawCoils(@RequestBody WmsAnnealPlanCoilBo bo) {
return R.ok(performanceService.queryPlanCoils(bo, coilBo)); 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; package com.klp.service;
import com.klp.domain.bo.WmsAnnealPerformanceBo; 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.WmsMaterialCoilVo;
import com.klp.domain.vo.anneal.WmsAnnealPerformanceVo; 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.core.page.TableDataInfo;
import com.klp.common.utils.StringUtils; import com.klp.common.utils.StringUtils;
import com.klp.domain.bo.WmsAnnealPerformanceBo; import com.klp.domain.bo.WmsAnnealPerformanceBo;
import com.klp.domain.bo.WmsAnnealPlanCoilBo;
import com.klp.domain.bo.WmsMaterialCoilBo; import com.klp.domain.bo.WmsMaterialCoilBo;
import com.klp.domain.vo.WmsMaterialCoilVo; import com.klp.domain.vo.WmsMaterialCoilVo;
import com.klp.domain.vo.anneal.WmsAnnealPerformanceDetailVo; import com.klp.domain.vo.anneal.WmsAnnealPerformanceDetailVo;
@@ -210,13 +211,18 @@ public class WmsAnnealPerformanceServiceImpl implements IWmsAnnealPerformanceSer
} }
@Override @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. 查询退火计划 // 1. 查询退火计划
LambdaQueryWrapper<WmsFurnacePlan> planQw = new LambdaQueryWrapper<WmsFurnacePlan>() LambdaQueryWrapper<WmsFurnacePlan> planQw = new LambdaQueryWrapper<WmsFurnacePlan>()
.ge(bo.getStartTime() != null, WmsFurnacePlan::getActualStartTime, bo.getStartTime()) .ge(planBo.getStartTime() != null, WmsFurnacePlan::getActualStartTime, planBo.getStartTime())
.le(bo.getEndTime() != null, WmsFurnacePlan::getActualStartTime, bo.getEndTime()) .le(planBo.getEndTime() != null, WmsFurnacePlan::getActualStartTime, planBo.getEndTime())
.eq(bo.getTargetFurnaceId() != null, WmsFurnacePlan::getTargetFurnaceId, bo.getTargetFurnaceId()) .eq(planBo.getTargetFurnaceId() != null, WmsFurnacePlan::getTargetFurnaceId, planBo.getTargetFurnaceId())
.like(StringUtils.isNotBlank(bo.getPlanNo()), WmsFurnacePlan::getPlanNo, bo.getPlanNo()) .like(StringUtils.isNotBlank(planBo.getPlanNo()), WmsFurnacePlan::getPlanNo, planBo.getPlanNo())
.eq(WmsFurnacePlan::getDelFlag, 0); .eq(WmsFurnacePlan::getDelFlag, 0);
List<WmsFurnacePlan> plans = planMapper.selectList(planQw); List<WmsFurnacePlan> plans = planMapper.selectList(planQw);