feat(material-coil): 添加退火操作的二维码步骤类型支持
- 修改IWmsMaterialCoilService接口中的updateByBo方法,增加qrcodeStepType参数 - 在WmsFurnacePlanServiceImpl中实现退火操作的库位分配功能 - 添加updateQrcodeContentForCustomStep方法支持自定义二维码步骤类型 - 更新controller调用传入null作为默认值 - 完善退火操作的二维码内容更新逻辑
This commit is contained in:
@@ -11,11 +11,14 @@ import com.klp.common.utils.StringUtils;
|
||||
import com.klp.domain.*;
|
||||
import com.klp.domain.bo.WmsFurnacePlanBo;
|
||||
import com.klp.domain.bo.WmsFurnacePlanCoilBo;
|
||||
import com.klp.domain.bo.WmsMaterialCoilBo;
|
||||
import com.klp.domain.vo.WmsFurnacePlanCoilVo;
|
||||
import com.klp.domain.vo.WmsFurnacePlanVo;
|
||||
import com.klp.mapper.*;
|
||||
import com.klp.service.IWmsFurnacePlanService;
|
||||
import com.klp.service.IWmsMaterialCoilService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
@@ -41,6 +44,7 @@ public class WmsFurnacePlanServiceImpl implements IWmsFurnacePlanService {
|
||||
private final WmsMaterialCoilMapper materialCoilMapper;
|
||||
private final WmsActualWarehouseMapper actualWarehouseMapper;
|
||||
private final WmsWarehouseMapper warehouseMapper;
|
||||
private final IWmsMaterialCoilService materialCoilService;
|
||||
|
||||
@Override
|
||||
public WmsFurnacePlanVo queryById(Long planId) {
|
||||
@@ -321,15 +325,42 @@ public class WmsFurnacePlanServiceImpl implements IWmsFurnacePlanService {
|
||||
throw new ServiceException("请先分配逻辑库位");
|
||||
}
|
||||
java.util.Map<Long, Long> locationMap = locations.stream()
|
||||
.collect(Collectors.toMap(com.klp.domain.bo.WmsFurnacePlanLocationItemBo::getCoilId,
|
||||
.collect(java.util.stream.Collectors.toMap(com.klp.domain.bo.WmsFurnacePlanLocationItemBo::getCoilId,
|
||||
com.klp.domain.bo.WmsFurnacePlanLocationItemBo::getWarehouseId, (a, b) -> a));
|
||||
|
||||
for (WmsFurnacePlanCoilVo coil : coils) {
|
||||
Long targetLocation = locationMap.get(coil.getCoilId());
|
||||
if (targetLocation == null) {
|
||||
throw new ServiceException("钢卷" + coil.getEnterCoilNo() + "未分配库位");
|
||||
}
|
||||
occupyWarehouse(planId, coil.getCoilId(), targetLocation);
|
||||
|
||||
WmsMaterialCoil oldCoil = materialCoilMapper.selectById(coil.getCoilId());
|
||||
if (oldCoil == null) {
|
||||
throw new ServiceException("钢卷不存在: " + coil.getCoilId());
|
||||
}
|
||||
|
||||
WmsMaterialCoilBo updateBo = new WmsMaterialCoilBo();
|
||||
// 复制老钢卷的所有信息
|
||||
BeanUtils.copyProperties(oldCoil, updateBo);
|
||||
// 只覆盖需要修改的字段
|
||||
updateBo.setCoilId(coil.getCoilId());
|
||||
updateBo.setWarehouseId(targetLocation);
|
||||
updateBo.setActualWarehouseId(-1L);
|
||||
|
||||
materialCoilService.updateByBo(updateBo, "annealing");
|
||||
|
||||
WmsFurnacePlanCoil wmsFurnacePlanCoil = planCoilMapper.selectOne(Wrappers.<WmsFurnacePlanCoil>lambdaQuery()
|
||||
.eq(WmsFurnacePlanCoil::getPlanId, planId)
|
||||
.eq(WmsFurnacePlanCoil::getCoilId, coil.getCoilId())
|
||||
.eq(WmsFurnacePlanCoil::getDelFlag, 0));
|
||||
|
||||
if (wmsFurnacePlanCoil != null && wmsFurnacePlanCoil.getPlanCoilId() != null) {
|
||||
planCoilMapper.update(null, Wrappers.<WmsFurnacePlanCoil>lambdaUpdate()
|
||||
.eq(WmsFurnacePlanCoil::getPlanCoilId, wmsFurnacePlanCoil.getPlanCoilId())
|
||||
.set(WmsFurnacePlanCoil::getLogicWarehouseId, targetLocation));
|
||||
}
|
||||
}
|
||||
|
||||
Date now = new Date();
|
||||
WmsFurnacePlan update = new WmsFurnacePlan();
|
||||
update.setPlanId(planId);
|
||||
|
||||
Reference in New Issue
Block a user