自动化立体仓库 - WMS系统
pang.jiabao
19 小时以前 d147093e6b1e0d4f0d6aed1732843e6779ae696e
src/main/java/com/zy/asrs/task/JlerScheduler.java
@@ -1,8 +1,11 @@
package com.zy.asrs.task;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.zy.asrs.entity.BasDevp;
import com.zy.asrs.entity.OrderPakout;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.service.BasDevpService;
import com.zy.asrs.service.DigitalTwinService;
import com.zy.asrs.service.OrderPakoutService;
import com.zy.asrs.service.WrkMastService;
import com.zy.asrs.task.handler.JlerHandler;
@@ -55,17 +58,40 @@
        jlerHandler.autoGenerateOutTask(orderPakout);
    }
    @Resource
    private BasDevpService basDevpService;
    /**
     * 根据出库任务自动呼叫料箱机器人搬运
     */
    @Scheduled(cron = "0/10 * * * * ? ")
    private void outboundCallBinRobot() {
        // 每次取3条
        List<WrkMast> wrkMastList = wrkMastService.selectList(new EntityWrapper<WrkMast>().setSqlSelect("TOP 3 *").eq("source_sta_no", 101).eq("wrk_sts", 11).orderBy("io_type"));
        for(WrkMast wrkMast:wrkMastList) {
        // 判断输送线有多少货
        int loadingCount = basDevpService.selectCount(new EntityWrapper<BasDevp>().eq("loading", "Y"));
        // 判断有多少出库任务在执行
        int execCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("wrk_sts", 12));
        // 判断还能发几个出库任务
        int count = 6 - loadingCount - execCount;
        if (count <= 0) {
            return;
        }
        List<WrkMast> wrkMastList = wrkMastService.selectList(new EntityWrapper<WrkMast>().setSqlSelect("TOP " + count + " *").eq("source_sta_no", 101).eq("wrk_sts", 11).orderBy("io_type"));
        for (WrkMast wrkMast : wrkMastList) {
            jlerHandler.outboundCallBinRobot(wrkMast);
        }
    }
    @Resource
    private DigitalTwinService digitalTwinService;
    /**
     * 定时统计每天剩余库存
     */
    @Scheduled(cron = "0 50 23 * * ?")
    private void locNumCount() {
        digitalTwinService.locNumCount();
    }
}