1
17 小时以前 7a92ebbfb8227ff30ebe3300cc9db263a75b7e22
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java
@@ -136,9 +136,9 @@
    @Synchronized
    @Transactional(rollbackFor = Exception.class)
    public synchronized void generateTask(Short resouce, LocToTaskParams map, Long loginUserId) throws Exception {
        if (Objects.isNull(map.getSiteNo())) {
            throw new CoolException("站点不能为空!");
        }
//        if (Objects.isNull(map.getSiteNo())) {
//            throw new CoolException("站点不能为空!");
//        }
        if (Objects.isNull(map.getItems()) || map.getItems().isEmpty()) {
            throw new CoolException("明细不能为空!");
        }
@@ -177,7 +177,7 @@
                throw new CoolException("库位状态更新失败!!");
            }
            //增加对备货单得判断
            //增加对备货单的判断
            Integer taskStatus = resouce.equals(TaskResouceType.TASK_RESOUCE_STOCK_UP.val)
                    ? TaskStsType.MISSION_INITIAL.id:TaskStsType.MISSION_INITIAL.id;
@@ -194,6 +194,7 @@
                    .setUpdateTime(new Date())
                    .setTaskStatus(taskStatus)
                    .setBarcode(loc.getBarcode())
                    .setTargSiteArea(map.getTargSiteAreaList())
                    .setMemo(map.getMemo());
            List<LocItem> locItems = this.list(new LambdaQueryWrapper<LocItem>().eq(LocItem::getLocId, key));
@@ -288,8 +289,6 @@
                    throw new CoolException("主任务关联失败!!");
                }
            }
            locItemWorkingService.remove(new LambdaQueryWrapper<LocItemWorking>().eq(LocItemWorking::getTaskId, task.getId()));
            List<TaskItem> taskItems = new ArrayList<>();
            listMap.get(key).forEach(item -> {
                TaskItem taskItem = new TaskItem();
@@ -344,22 +343,26 @@
                    throw new CoolException("库存信息修改失败!!");
                }
                if (taskItem.getAnfme() > 0) {
                    LocItemWorking itemWorking = new LocItemWorking();
                    BeanUtils.copyProperties(taskItem, itemWorking);
                    itemWorking.setTaskId(task.getId())
                            .setQty(0.0)
                            .setLocId(loc.getId())
                            .setLocItemId(locItem.getId())
                            .setType("out")
                            .setLocCode(loc.getCode());
                    if (!locItemWorkingService.save(itemWorking)) {
                        throw new CoolException("临时库存更新失败!!");
                    }
                }
            });
            locItemWorkingService.remove(new LambdaQueryWrapper<LocItemWorking>().eq(LocItemWorking::getTaskId, task.getId()));
            List<LocItemWorking> workings = new ArrayList<>();
            for (LocItem item : locItems) {
                LocItemWorking working = new LocItemWorking();
                BeanUtils.copyProperties(item, working);
                working.setId(null)
                        .setTaskId(task.getId())
                        .setLocItemId(item.getId())
                        .setUpdateBy(loginUserId)
                        .setUpdateTime(new Date());
                workings.add(working);
            }
            if (!locItemWorkingService.saveBatch(workings)) {
                throw new CoolException("临时库存更新失败!!");
            }
            if (!taskItemService.saveBatch(taskItems)) {
                throw new CoolException("任务明细生成失败!!");
            }