From a51c5a4d88c2843f2c04f46a4c74633788311a56 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Mon, 16 Mar 2026 14:47:02 +0800 Subject: [PATCH] =?UTF-8?q?feat(wms):=20=E6=B7=BB=E5=8A=A0=E9=92=A2?= =?UTF-8?q?=E5=8D=B7=E9=80=80=E7=81=AB=E8=AE=A1=E5=88=92=E4=B8=AD=E7=9A=84?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E5=BA=93=E5=8C=BA=E5=92=8C=E7=82=89=E7=81=AB?= =?UTF-8?q?=E5=B1=82=E7=BA=A7=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 WmsFurnacePlanCoil 实体类中新增逻辑库区ID和炉火层级字段 - 在 WmsFurnacePlanCoilBo 中添加对应的业务对象属性 - 在 WmsFurnacePlanCoilVo 中增加Excel导出相关字段和映射 - 更新 WmsFurnacePlanServiceImpl 服务实现类中的依赖注入 - 实现逻辑库区信息的查询和名称设置功能 - 将逻辑库区ID和炉火层级信息保存到数据库中 --- .../com/klp/domain/WmsFurnacePlanCoil.java | 10 ++++++ .../klp/domain/bo/WmsFurnacePlanCoilBo.java | 10 ++++++ .../klp/domain/vo/WmsFurnacePlanCoilVo.java | 9 ++++++ .../impl/WmsFurnacePlanServiceImpl.java | 32 +++++++++++++------ 4 files changed, 51 insertions(+), 10 deletions(-) diff --git a/klp-wms/src/main/java/com/klp/domain/WmsFurnacePlanCoil.java b/klp-wms/src/main/java/com/klp/domain/WmsFurnacePlanCoil.java index 0e412227..d4511384 100644 --- a/klp-wms/src/main/java/com/klp/domain/WmsFurnacePlanCoil.java +++ b/klp-wms/src/main/java/com/klp/domain/WmsFurnacePlanCoil.java @@ -36,6 +36,16 @@ public class WmsFurnacePlanCoil extends BaseEntity { */ private Long coilId; + /** + * 逻辑库区去向(钢卷退火后目标逻辑库区) + */ + private Long logicWarehouseId; + + /** + * 炉火层级(1=一层,2=二层,3=三层) + */ + private Integer furnaceLevel; + /** * 删除标志(0=正常,1=已删除) */ diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsFurnacePlanCoilBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsFurnacePlanCoilBo.java index a099dc07..9c60fbe7 100644 --- a/klp-wms/src/main/java/com/klp/domain/bo/WmsFurnacePlanCoilBo.java +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsFurnacePlanCoilBo.java @@ -32,6 +32,16 @@ public class WmsFurnacePlanCoilBo extends BaseEntity { */ private Long coilId; + /** + * 逻辑库区去向(钢卷退火后目标逻辑库区) + */ + private Long logicWarehouseId; + + /** + * 炉火层级(1=一层,2=二层,3=三层) + */ + private Integer furnaceLevel; + /** * 钢卷ID列表(逗号分隔) */ diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsFurnacePlanCoilVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsFurnacePlanCoilVo.java index 74f87077..71bd7617 100644 --- a/klp-wms/src/main/java/com/klp/domain/vo/WmsFurnacePlanCoilVo.java +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsFurnacePlanCoilVo.java @@ -25,6 +25,15 @@ public class WmsFurnacePlanCoilVo { @ExcelProperty(value = "钢卷ID") private Long coilId; + @ExcelProperty(value = "逻辑库区ID") + private Long logicWarehouseId; + + @ExcelProperty(value = "逻辑库区") + private String logicWarehouseName; + + @ExcelProperty(value = "炉火层级") + private Integer furnaceLevel; + @ExcelProperty(value = "入场钢卷号") private String enterCoilNo; diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsFurnacePlanServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsFurnacePlanServiceImpl.java index fa5d7093..fa9afaa7 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsFurnacePlanServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsFurnacePlanServiceImpl.java @@ -8,20 +8,12 @@ import com.klp.common.core.domain.PageQuery; import com.klp.common.core.page.TableDataInfo; import com.klp.common.exception.ServiceException; import com.klp.common.utils.StringUtils; -import com.klp.domain.WmsFurnace; -import com.klp.domain.WmsFurnacePlan; -import com.klp.domain.WmsFurnacePlanCoil; -import com.klp.domain.WmsMaterialCoil; -import com.klp.domain.WmsActualWarehouse; +import com.klp.domain.*; import com.klp.domain.bo.WmsFurnacePlanBo; import com.klp.domain.bo.WmsFurnacePlanCoilBo; import com.klp.domain.vo.WmsFurnacePlanCoilVo; import com.klp.domain.vo.WmsFurnacePlanVo; -import com.klp.mapper.WmsActualWarehouseMapper; -import com.klp.mapper.WmsFurnaceMapper; -import com.klp.mapper.WmsFurnacePlanCoilMapper; -import com.klp.mapper.WmsFurnacePlanMapper; -import com.klp.mapper.WmsMaterialCoilMapper; +import com.klp.mapper.*; import com.klp.service.IWmsFurnacePlanService; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -48,6 +40,7 @@ public class WmsFurnacePlanServiceImpl implements IWmsFurnacePlanService { private final WmsFurnaceMapper furnaceMapper; private final WmsMaterialCoilMapper materialCoilMapper; private final WmsActualWarehouseMapper actualWarehouseMapper; + private final WmsWarehouseMapper warehouseMapper; @Override public WmsFurnacePlanVo queryById(Long planId) { @@ -205,6 +198,19 @@ public class WmsFurnacePlanServiceImpl implements IWmsFurnacePlanService { : actualWarehouseMapper.selectBatchIds(actualWarehouseIds).stream() .collect(Collectors.toMap(WmsActualWarehouse::getActualWarehouseId, WmsActualWarehouse::getActualWarehouseName, (a, b) -> a)); + + // 查询逻辑库区信息 + List logicWarehouseIds = list.stream() + .map(WmsFurnacePlanCoilVo::getLogicWarehouseId) + .filter(id -> id != null) + .distinct() + .collect(Collectors.toList()); + java.util.Map logicWarehouseMap = logicWarehouseIds.isEmpty() + ? java.util.Collections.emptyMap() + : warehouseMapper.selectBatchIds(logicWarehouseIds).stream() + .collect(Collectors.toMap(WmsWarehouse::getWarehouseId, + WmsWarehouse::getWarehouseName, (a, b) -> a)); + list.forEach(item -> { WmsMaterialCoil coil = coilMap.get(item.getCoilId()); if (coil != null) { @@ -212,6 +218,10 @@ public class WmsFurnacePlanServiceImpl implements IWmsFurnacePlanService { item.setActualWarehouseId(coil.getActualWarehouseId()); item.setActualWarehouseName(warehouseMap.get(coil.getActualWarehouseId())); } + // 设置逻辑库区名称 + if (item.getLogicWarehouseId() != null) { + item.setLogicWarehouseName(logicWarehouseMap.get(item.getLogicWarehouseId())); + } }); return list; } @@ -240,6 +250,8 @@ public class WmsFurnacePlanServiceImpl implements IWmsFurnacePlanService { WmsFurnacePlanCoil entity = new WmsFurnacePlanCoil(); entity.setPlanId(bo.getPlanId()); entity.setCoilId(coilId); + entity.setLogicWarehouseId(bo.getLogicWarehouseId()); + entity.setFurnaceLevel(bo.getFurnaceLevel()); planCoilMapper.insert(entity); } return true;