zc
23 小时以前 adb83050b74c2d7fa1845f18e016ef3b18496543
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
@@ -93,6 +93,8 @@
    private CheckDiffService checkDiffService;
    @Autowired
    private CheckDiffItemService checkDiffItemService;
    @Autowired
    private BasContainerService basContainerService;
    @Override
    @Transactional(rollbackFor = Exception.class)
@@ -305,8 +307,10 @@
            throw new CoolException("请检查组拖状态是否完成!!");
        }
        waitPakins.forEach(pakin -> {
            BasContainer container = basContainerService.getOne(new LambdaUpdateWrapper<BasContainer>()
                    .eq(BasContainer::getCode, pakin.getBarcode()));
            /**获取库位*/
            String targetLoc = LocManageUtil.getTargetLoc(warehouseArea.getId());
            String targetLoc = LocManageUtil.getTargetLoc(warehouseArea.getId(), container.getContainerType());
            if (Cools.isEmpty(targetLoc)) {
                throw new CoolException("该站点对应库区未找到库位");
            }
@@ -347,6 +351,18 @@
            if (!this.save(task)) {
                throw new CoolException("任务保存失败!!");
            }
            BasStation station = basStationService.getOne(new LambdaQueryWrapper<BasStation>()
                    .eq(BasStation::getStationName, deviceSite.getSite()));
            if (Objects.isNull(station) || !station.getUseStatus().equals(LocStsType.LOC_STS_TYPE_O.type)) {
                throw new CoolException("站点不存在或站点不处于空库状态!!");
            }
            station.setUseStatus(LocStsType.LOC_STS_TYPE_R.type);
            if (!basStationService.updateById(station)) {
                 throw new CoolException("站点状态更新失败!!");
             }
            if (!locService.update(new LambdaUpdateWrapper<Loc>().eq(Loc::getCode, task.getTargLoc())
                    .set(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_S.type).set(Loc::getBarcode, pakin.getBarcode()))) {
                throw new CoolException("库位预约失败!!");