feat(wms): 添加钢卷退火计划中的逻辑库区和炉火层级功能

- 在 WmsFurnacePlanCoil 实体类中新增逻辑库区ID和炉火层级字段
- 在 WmsFurnacePlanCoilBo 中添加对应的业务对象属性
- 在 WmsFurnacePlanCoilVo 中增加Excel导出相关字段和映射
- 更新 WmsFurnacePlanServiceImpl 服务实现类中的依赖注入
- 实现逻辑库区信息的查询和名称设置功能
- 将逻辑库区ID和炉火层级信息保存到数据库中
This commit is contained in:
2026-03-16 14:47:02 +08:00
parent 275f6181ce
commit a51c5a4d88
4 changed files with 51 additions and 10 deletions

View File

@@ -36,6 +36,16 @@ public class WmsFurnacePlanCoil extends BaseEntity {
*/ */
private Long coilId; private Long coilId;
/**
* 逻辑库区去向(钢卷退火后目标逻辑库区)
*/
private Long logicWarehouseId;
/**
* 炉火层级1=一层2=二层3=三层)
*/
private Integer furnaceLevel;
/** /**
* 删除标志0=正常1=已删除) * 删除标志0=正常1=已删除)
*/ */

View File

@@ -32,6 +32,16 @@ public class WmsFurnacePlanCoilBo extends BaseEntity {
*/ */
private Long coilId; private Long coilId;
/**
* 逻辑库区去向(钢卷退火后目标逻辑库区)
*/
private Long logicWarehouseId;
/**
* 炉火层级1=一层2=二层3=三层)
*/
private Integer furnaceLevel;
/** /**
* 钢卷ID列表逗号分隔 * 钢卷ID列表逗号分隔
*/ */

View File

@@ -25,6 +25,15 @@ public class WmsFurnacePlanCoilVo {
@ExcelProperty(value = "钢卷ID") @ExcelProperty(value = "钢卷ID")
private Long coilId; private Long coilId;
@ExcelProperty(value = "逻辑库区ID")
private Long logicWarehouseId;
@ExcelProperty(value = "逻辑库区")
private String logicWarehouseName;
@ExcelProperty(value = "炉火层级")
private Integer furnaceLevel;
@ExcelProperty(value = "入场钢卷号") @ExcelProperty(value = "入场钢卷号")
private String enterCoilNo; private String enterCoilNo;

View File

@@ -8,20 +8,12 @@ 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.exception.ServiceException; import com.klp.common.exception.ServiceException;
import com.klp.common.utils.StringUtils; import com.klp.common.utils.StringUtils;
import com.klp.domain.WmsFurnace; import com.klp.domain.*;
import com.klp.domain.WmsFurnacePlan;
import com.klp.domain.WmsFurnacePlanCoil;
import com.klp.domain.WmsMaterialCoil;
import com.klp.domain.WmsActualWarehouse;
import com.klp.domain.bo.WmsFurnacePlanBo; import com.klp.domain.bo.WmsFurnacePlanBo;
import com.klp.domain.bo.WmsFurnacePlanCoilBo; import com.klp.domain.bo.WmsFurnacePlanCoilBo;
import com.klp.domain.vo.WmsFurnacePlanCoilVo; import com.klp.domain.vo.WmsFurnacePlanCoilVo;
import com.klp.domain.vo.WmsFurnacePlanVo; import com.klp.domain.vo.WmsFurnacePlanVo;
import com.klp.mapper.WmsActualWarehouseMapper; import com.klp.mapper.*;
import com.klp.mapper.WmsFurnaceMapper;
import com.klp.mapper.WmsFurnacePlanCoilMapper;
import com.klp.mapper.WmsFurnacePlanMapper;
import com.klp.mapper.WmsMaterialCoilMapper;
import com.klp.service.IWmsFurnacePlanService; import com.klp.service.IWmsFurnacePlanService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@@ -48,6 +40,7 @@ public class WmsFurnacePlanServiceImpl implements IWmsFurnacePlanService {
private final WmsFurnaceMapper furnaceMapper; private final WmsFurnaceMapper furnaceMapper;
private final WmsMaterialCoilMapper materialCoilMapper; private final WmsMaterialCoilMapper materialCoilMapper;
private final WmsActualWarehouseMapper actualWarehouseMapper; private final WmsActualWarehouseMapper actualWarehouseMapper;
private final WmsWarehouseMapper warehouseMapper;
@Override @Override
public WmsFurnacePlanVo queryById(Long planId) { public WmsFurnacePlanVo queryById(Long planId) {
@@ -205,6 +198,19 @@ public class WmsFurnacePlanServiceImpl implements IWmsFurnacePlanService {
: actualWarehouseMapper.selectBatchIds(actualWarehouseIds).stream() : actualWarehouseMapper.selectBatchIds(actualWarehouseIds).stream()
.collect(Collectors.toMap(WmsActualWarehouse::getActualWarehouseId, .collect(Collectors.toMap(WmsActualWarehouse::getActualWarehouseId,
WmsActualWarehouse::getActualWarehouseName, (a, b) -> a)); WmsActualWarehouse::getActualWarehouseName, (a, b) -> a));
// 查询逻辑库区信息
List<Long> logicWarehouseIds = list.stream()
.map(WmsFurnacePlanCoilVo::getLogicWarehouseId)
.filter(id -> id != null)
.distinct()
.collect(Collectors.toList());
java.util.Map<Long, String> logicWarehouseMap = logicWarehouseIds.isEmpty()
? java.util.Collections.emptyMap()
: warehouseMapper.selectBatchIds(logicWarehouseIds).stream()
.collect(Collectors.toMap(WmsWarehouse::getWarehouseId,
WmsWarehouse::getWarehouseName, (a, b) -> a));
list.forEach(item -> { list.forEach(item -> {
WmsMaterialCoil coil = coilMap.get(item.getCoilId()); WmsMaterialCoil coil = coilMap.get(item.getCoilId());
if (coil != null) { if (coil != null) {
@@ -212,6 +218,10 @@ public class WmsFurnacePlanServiceImpl implements IWmsFurnacePlanService {
item.setActualWarehouseId(coil.getActualWarehouseId()); item.setActualWarehouseId(coil.getActualWarehouseId());
item.setActualWarehouseName(warehouseMap.get(coil.getActualWarehouseId())); item.setActualWarehouseName(warehouseMap.get(coil.getActualWarehouseId()));
} }
// 设置逻辑库区名称
if (item.getLogicWarehouseId() != null) {
item.setLogicWarehouseName(logicWarehouseMap.get(item.getLogicWarehouseId()));
}
}); });
return list; return list;
} }
@@ -240,6 +250,8 @@ public class WmsFurnacePlanServiceImpl implements IWmsFurnacePlanService {
WmsFurnacePlanCoil entity = new WmsFurnacePlanCoil(); WmsFurnacePlanCoil entity = new WmsFurnacePlanCoil();
entity.setPlanId(bo.getPlanId()); entity.setPlanId(bo.getPlanId());
entity.setCoilId(coilId); entity.setCoilId(coilId);
entity.setLogicWarehouseId(bo.getLogicWarehouseId());
entity.setFurnaceLevel(bo.getFurnaceLevel());
planCoilMapper.insert(entity); planCoilMapper.insert(entity);
} }
return true; return true;