package com.zy.asrs.task; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.zy.asrs.entity.AgvLocMast; import com.zy.asrs.entity.AgvWrkMast; import com.zy.asrs.service.AgvLocMastService; import com.zy.asrs.service.AgvWrkMastService; import com.zy.asrs.task.core.ReturnT; import com.zy.asrs.task.handler.AutoMoveHandler; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.util.Date; import java.util.List; // 自动移库 @Component public class AutoMoveScheduler { @Autowired private AgvLocMastService agvLocMastService; @Autowired private AutoMoveHandler autoMoveHandler; @Autowired private AgvWrkMastService agvWrkMastService; // 调拨出库 @Scheduled(cron = "0/2 * * * * ? ") private void execute(){ List agvLocMasts = agvLocMastService.selectList( new EntityWrapper() .isNotNull("loc_type") .ne("loc_type", "") .eq("floor", 1) .eq("loc_sts","F")); if (agvLocMasts.isEmpty()) { return; } for (AgvLocMast agvLocMast : agvLocMasts) { ReturnT returnT = autoMoveHandler.start(agvLocMast); } } // 调拨出库 @Scheduled(cron = "0/2 * * * * ? ") private void execute2(){ List agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper() .eq("wrk_sts", 22) .andNew().eq("io_type",108) ); if (agvWrkMastList.isEmpty()) { return; } for (AgvWrkMast agvWrkMast : agvWrkMastList) { ReturnT returnT = autoMoveHandler.start2(agvWrkMast); } } // 调拨出库 @Scheduled(cron = "0/2 * * * * ? ") private void execute3(){ List agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper() .eq("wrk_sts", 22) .andNew().eq("io_type",111) ); if (agvWrkMastList.isEmpty()) { return; } for (AgvWrkMast agvWrkMast : agvWrkMastList) { ReturnT returnT = autoMoveHandler.start3(agvWrkMast); } } // 空板自动回库 @Scheduled(cron = "0/2 * * * * ? ") private void autoEmptyBack(){ // 查询 不为1楼的空货架 List agvLocMasts = agvLocMastService.selectList( new EntityWrapper() .ne("floor", 1) .eq("loc_sts","D") .eq("loc_type1",3)); if (agvLocMasts.isEmpty()) { return; } for (AgvLocMast agvLocMast : agvLocMasts) { ReturnT returnT = autoMoveHandler.autoEmptyBack(agvLocMast); } } }