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 logicWarehouseId;
/**
* 炉火层级1=一层2=二层3=三层)
*/
private Integer furnaceLevel;
/**
* 删除标志0=正常1=已删除)
*/

View File

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

View File

@@ -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;

View File

@@ -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<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 -> {
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;