skyouc
1 天以前 44ea5356e5e498ac47fccb25321122ab81412b86
取消任务档功能优化
5个文件已修改
37 ■■■■ 已修改文件
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/TaskResouceType.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/TaskController.java
@@ -101,7 +101,6 @@
    }
    @PreAuthorize("hasAuthority('manager:task:remove')")
    @OperationLog("取消/删除工作极档")
    @ApiOperation("取消/删除工作极档")
    @PostMapping("/task/remove/{ids}")
    public R remove(@PathVariable Long[] ids) {
rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/TaskResouceType.java
@@ -14,7 +14,7 @@
    TASK_RESOUCE_ORDER_TYPE("4", "单据出库任务"),
    TASK_RESOUCE_CHECK_TYPE("4", "盘点出库任务"),
    TASK_RESOUCE_CHECK_TYPE("5", "盘点出库任务"),
    ;
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocItemServiceImpl.java
@@ -218,6 +218,7 @@
                            .setSourceId(order.getId());
                } else if (map.getType().equals(Constants.TASK_TYPE_WAVE_OUT_STOCK)) {
                    taskItem.setSourceId(wave.getId())
                            .setWkType(Short.parseShort(OrderWorkType.ORDER_WORK_TYPE_OTHER.type))
                            .setSourceCode(wave.getCode())
                            .setSource(item.getSource());
                } else if (map.getType().equals(Constants.TASK_TYPE_OUT_CHECK) || map.getType().equals(Constants.TASK_TYPE_OUT_STOCK)) {
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TaskServiceImpl.java
@@ -729,7 +729,8 @@
                TaskType.TASK_TYPE_EMPITY_OUT.type, TaskType.TASK_TYPE_MERGE_OUT.type);
        List<Task> tasks = this.list(new LambdaQueryWrapper<Task>()
                .in(Task::getTaskType, list)
                .in(Task::getId, ids).in(Task::getTaskStatus, longs));
                .in(Task::getId, ids)
                .in(Task::getTaskStatus, longs));
        if (tasks.isEmpty()) {
            throw new CoolException("任务已处执行状态不可取消!!");
        }
@@ -760,6 +761,7 @@
                        throw new CoolException("任务信息修改失败!!");
                    }
                }
            }
            if (!Objects.isNull(task.getWarehType()) && task.getWarehType().equals(WarehType.WAREHOUSE_TYPE_AGV.val)) {
@@ -767,8 +769,7 @@
                if (task.getTaskType().equals(TaskType.TASK_TYPE_IN.type) || task.getTaskType().equals(TaskType.TASK_TYPE_EMPITY_IN.type)) {
                    basStation = basStationService.getOne(new LambdaQueryWrapper<BasStation>()
                            .eq(BasStation::getStationName, task.getOrgSite())
                            .eq(BasStation::getUseStatus, LocStsType.LOC_STS_TYPE_R.type)
                    );
                            .eq(BasStation::getUseStatus, LocStsType.LOC_STS_TYPE_R.type));
                } else if (task.getTaskType().equals(TaskType.TASK_TYPE_OUT.type)
                        || task.getTaskType().equals(TaskType.TASK_TYPE_PICK_AGAIN_OUT.type)
                        || task.getTaskType().equals(TaskType.TASK_TYPE_MERGE_OUT.type)
@@ -795,17 +796,36 @@
                        if (Objects.isNull(loc)) {
                            throw new CoolException("数据错误:库位信息不存在!!");
                        }
                        loc.setUseStatus(LocStsType.LOC_STS_TYPE_F.type).setBarcode(task.getBarcode()).setUpdateBy(loginUserId).setUpdateTime(new Date());
                        if (!locService.updateById(loc)) {
                            throw new CoolException("库位信息修改失败!!");
                        }
                        //出库
                        if (item.getWkType().equals(Short.parseShort(OrderWorkType.ORDER_WORK_TYPE_STOCK_OUT.type))) {
                            //库存出库
                        } else if (task.getResource().equals(TaskResouceType.TASK_RESOUCE_WAVE_TYPE.val)) {
                            WaveItem waveItem = waveItemService.getById(item.getSource());
                            if (Objects.isNull(waveItem)) {
                                throw new CoolException("波次明细不存在!!");
                            }
                            Double workQty = Math.round((waveItem.getWorkQty() - item.getAnfme()) * 10000) / 10000.0;
                            waveItem.setWorkQty(workQty).setExceStatus(WaveItemExceStatus.WAVE_ITEM_EXCE_STATUS_UN.val);
                            if (!waveItemService.updateById(waveItem)) {
                                throw new CoolException("波次明细更新失败!!");
                            }
                            Wave wave = waveService.getOne(new LambdaQueryWrapper<Wave>().eq(Wave::getId, waveItem.getWaveId()));
                            if (Objects.isNull(wave)) {
                                throw new CoolException("波次信息不存在!!");
                            }
                            wave.setExceStatus(WaveExceStatus.WAVE_EXCE_STATUS_INIT.val).setWorkQty(0.0).setQty(0.0);
                            if (!waveService.updateById(wave)) {
                                throw new CoolException("波次更新失败!!");
                            }
                        } else if (item.getWkType().equals(Short.parseShort(OrderWorkType.ORDER_WORK_TYPE_OTHER.type))) {
                            //其它出库
                        } else {
                            //出库单出库
                            AsnOrder asnOrder = outStockService.getById(item.getSourceId());
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaveServiceImpl.java
@@ -174,8 +174,8 @@
            waveService.updateById(wave);
            return R.ok();
        }
        /**生成出库任务*/
        try {
            /**生成出库任务*/
            generateOutTask(results, loginUserId, waves);
        } catch (Exception e) {
            log.error("UNK", e);
@@ -189,7 +189,6 @@
        }
        for (TaskItem item : taskItems) {
            WaveItem waveItem = waveItemService.getById(item.getSource());
            Double workQty = Math.round((waveItem.getWorkQty() + item.getAnfme()) * 10000) / 10000.0;
            waveItem.setWorkQty(workQty);
            if (workQty.compareTo(waveItem.getAnfme()) < 0) {