skyouc
15 小时以前 35f92fe6b383057a576fd31c1efe29d735b61215
rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/AutoRunSchedules.java
@@ -60,7 +60,7 @@
     * 自动生成库位明细
     */
    @Transactional(rollbackFor = Exception.class)
//    @Scheduled(cron = "0/25 * * * * ?")
    @Scheduled(cron = "0/25 * * * * ?")
    public void insertRandomMats() {
        List<Loc> list = locService.list(new LambdaQueryWrapper<Loc>().eq(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_F.type));
        for (Loc loc : list) {
@@ -103,7 +103,7 @@
     * @description: 自动完成盘点功能
     * @version 1.0
     */
    @Scheduled(cron = "0/35 * * * * ?")
    @Scheduled(cron = "0/25 * * * * ?")
    @Transactional(rollbackFor = Exception.class)
    public void autoCheckComplete() {
        //获取任务列表中,为盘点出库的任务
@@ -146,7 +146,7 @@
     * @description: 自动生成任务
     * @version 1.0
     */
    @Scheduled(cron = "0/25 * * * * ?")
    @Scheduled(cron = "0/5 * * * * ?")
    public void genRun() {
        Config config = configService.getOne(new LambdaQueryWrapper<Config>().eq(Config::getFlag, GlobalConfigCode.AUTO_RUN_CHECK_ORDERS));
        if (!Boolean.parseBoolean(config.getVal())) {
@@ -155,7 +155,7 @@
        //获取任务列表中,为盘点出库的任务
        List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>()
                .in(Task::getTaskType, Arrays.asList(TaskType.TASK_TYPE_CHECK_OUT.type, TaskType.TASK_TYPE_CHECK_IN.type)));
        if (tasks.size() >= 6) {
        if (tasks.size() >= 30) {
            return;
        }
        String autoRunArea = configService.getVal("AUTO_RUN_AREA", String.class);
@@ -238,7 +238,7 @@
//        // 出库,需要校验工作档是否存在,存在就说明站点处于忙碌状态
//        this.runLocToSta(locGroupList, staGroupList, staTaskMemo);
//        // 移库
//        // 移库locGroupList
//        this.runLocToLoc(locGroupList, staTaskMemo);
    }
@@ -265,14 +265,56 @@
    }
    /**
     * 生成移库任务
     * @param
     * @param
     */
    // 移库
    private void runLocToLoc(List<Integer> locGroupList, String staTaskMemo) {
    @Scheduled(cron = "0/7 * * * * ?")
    @Transactional(rollbackFor = Exception.class)
    public void runLocToLoc() {
        Config config = configService.getOne(new LambdaQueryWrapper<Config>().eq(Config::getFlag, GlobalConfigCode.AUTO_RUN_CHECK_ORDERS));
        if (!Boolean.parseBoolean(config.getVal())) {
            return;
        }
        List<Integer> locGroupList = new ArrayList<>();
        //获取任务列表中,为盘点出库的任务
        List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>()
                .eq(Task::getTaskType, TaskType.TASK_TYPE_LOC_MOVE.type));
        if (!tasks.isEmpty() && tasks.size() >= 10) {
            return;
        }
        String autoRunArea = configService.getVal("AUTO_RUN_AREA", String.class);
        if (Cools.isEmpty(autoRunArea)) {
            return;
        }
        for (char c : autoRunArea.toCharArray()) {
            switch (c) {
                case '1':
                    locGroupList = LocGroupConstant.FAR_RIGHT_LOC_ROW_LIST;
                    break;
                case '2':
                    locGroupList = LocGroupConstant.RIGHT_LOC_ROW_LIST;
                    break;
                case '3':
                    locGroupList = LocGroupConstant.MIDDLE_LOC_ROW_LIST;
                    break;
                case '4':
                    locGroupList = LocGroupConstant.LEFT_LOC_ROW_LIST;
                    break;
                case '5':
                    locGroupList = LocGroupConstant.FAR_LEFT_LOC_ROW_LIST;
                    break;
                default:
                    break;
            }
        }
        Integer startRow = Collections.min(locGroupList);
        Integer endRow = Collections.max(locGroupList);
        String memo = "DEMO_LOC_" + startRow + "-" + endRow;
        // STOCK
        LambdaQueryWrapper<Loc> stockWrapper = new LambdaQueryWrapper<Loc>().eq(Loc::getUseStatus, LocStsType.LOC_STS_TYPE_F.type);
        if (null != startRow) {