自动化立体仓库 - WMS系统
zhang
2025-09-25 d093cdb0c7a57c09da5eb5d176f9e9e71820fece
src/main/java/com/zy/asrs/task/AutoAssignAGVTasks.java
@@ -30,7 +30,7 @@
 */
@Component
public class AutoAssignAGVTasks {
    private static final Logger log = LoggerFactory.getLogger(WorkMastScheduler.class);
    private static final Logger log = LoggerFactory.getLogger(AutoAssignAGVTasks.class);
    @Autowired
    private WaitPakinService waitPakinService;
@@ -51,7 +51,7 @@
     * 自动派发入库任务给AGV
     */
    @Scheduled(cron = "0/3 * * * * ? ")
    private synchronized void execute(){
    public synchronized void execute(){
        /**
         * agv状态
         * be_batch
@@ -127,11 +127,19 @@
                            }else {
                                staNo = "101";
                            }
                            break;
                        }
                    }
                }
            }
            //当站点有出库任务时跳过派发任务
            List<WrkMast> wrkMasts1 = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("sta_no", staNo).lt("wrk_sts",33));
            if(!Cools.isEmpty(wrkMasts1)){
                continue;
            }
            if (Cools.isEmpty(staNo)) {
                return;
            }
@@ -140,12 +148,17 @@
            if (!Cools.isEmpty(waitPakin1)) {
                continue;
            }
            R bind = mobileController.siteBindAndUnbind(waitPakin.getMemo(),waitPakin.getZpallet(), "BIND");
//            if (bind.get("code").equals(200)) {
//            }else {
//                log.info("WMS绑定agv站点={},任务号为={}------------失败",wrkMast.getStaNo(),wrkMast.getWrkNo());
//            }
            int workNo = commonService.getWorkNo(0);
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
            String format = sdf.format(new Date());
            String s = format+"-" + workNo;
            log.info("给agv下发入库搬运任务={}",waitPakin);
            R r = mobileController.SITESITEAGVMove(waitPakin.getMemo(), staNo,s);
            if (r.get("code").equals(200)) {
                waitPakin.setSupp(s);//发给agv的任务号
@@ -161,7 +174,7 @@
     * 自动派发补空板任务给AGV
     */
    @Scheduled(cron = "0/3 * * * * ? ")
    private synchronized void autoFillEmptyPallets(){
    public synchronized void autoFillEmptyPallets(){
        /**
         * 该字段是组托入库自动出发补空托盘标记
         * item_num
@@ -207,7 +220,7 @@
     * 自动派发出库任务给agv搬运
     */
    @Scheduled(cron = "0/3 * * * * ? ")
    private synchronized void autoOut(){
    public synchronized void autoOut(){
        List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", 30));
        if (wrkMasts.isEmpty()) {
            return;
@@ -252,7 +265,7 @@
     * 入库任务自动解绑agv站点
     */
    @Scheduled(cron = "0/3 * * * * ? ")
    private synchronized void UnbindTheSite(){
    public synchronized void UnbindTheSite(){
        List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
                .in("io_type",1,53)
                .ge("wrk_sts", 2)