package com.zy.asrs.task;
|
|
import com.baomidou.mybatisplus.mapper.EntityWrapper;
|
import com.zy.asrs.entity.OrderPakout;
|
import com.zy.asrs.entity.WrkMast;
|
import com.zy.asrs.service.OrderPakoutService;
|
import com.zy.asrs.service.WrkMastService;
|
import com.zy.asrs.task.handler.JlerHandler;
|
import org.springframework.scheduling.annotation.Scheduled;
|
import org.springframework.stereotype.Component;
|
|
import javax.annotation.Resource;
|
import java.util.List;
|
|
/**
|
* @author pang.jiabao
|
* @description 济南二机床刀具库相关定时任务
|
* @createDate 2025/11/18 14:18
|
*/
|
@Component
|
public class JlerScheduler {
|
|
@Resource
|
private JlerHandler jlerHandler;
|
|
@Resource
|
private WrkMastService wrkMastService;
|
|
@Resource
|
private OrderPakoutService orderPakoutService;
|
|
/**
|
* 货物到达入库口接驳位开始呼叫料箱机器人
|
*/
|
@Scheduled(cron = "0/5 * * * * ? ")
|
private void callAgvToWarehouse() {
|
|
List<WrkMast> wrkMastList = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("mk", "Y").eq("wrk_sts", 2));
|
for (WrkMast wrkMast : wrkMastList) {
|
jlerHandler.callAgvToWarehouse(wrkMast);
|
}
|
}
|
|
|
/**
|
* 根据出库订单自动生成出库任务
|
*/
|
@Scheduled(cron = "0/8 * * * * ? ")
|
private void autoGenerateOutTask() {
|
OrderPakout orderPakout = orderPakoutService.selectOne(new EntityWrapper<OrderPakout>().eq("settle", 1));
|
if (orderPakout == null) {
|
return;
|
}
|
|
jlerHandler.autoGenerateOutTask(orderPakout);
|
}
|
|
/**
|
* 根据出库任务自动呼叫料箱机器人搬运
|
*/
|
@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) {
|
jlerHandler.outboundCallBinRobot(wrkMast);
|
}
|
}
|
|
}
|