cl
21 小时以前 19b6a20abbe677e7e09ce0dffe7b6fa7a10afc70
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -316,7 +316,8 @@
                                // 未组托托盘退回 电视机显示请先组托
                                Integer back = 999;
                                if (ledThread != null) {
                                    String errorMsg = jsonObject.getString("msg");
//                                    String errorMsg = jsonObject.getString("msg");
                                    String errorMsg = "请先组托";
                                    MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errorMsg));
                                }
                                barcodeThread.setBarcode("");
@@ -561,24 +562,35 @@
        if (waitPakinNotIn > 0) {
            return;
        }
        // 存在进行中/在途任务(2,3,12,13,14)则不下发出库,避免冲突
        // 2 待执行(入库)
        //3 设备执行中(入库)
        //12 设备执行中(出库)
        //13 出库到站点上
        //14 出库等待确认
        int activeCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>()
                .in("wrk_sts", 2, 3, 12, 13, 14));
        if (activeCount > 0) {
            return;
        }
        List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", 11).orderBy("create_time"));
        if (wrkMasts.isEmpty()) {
            return;
        }
        WrkMast wrkMast = wrkMasts.get(0);
        // 存在进行中/在途任务(2,3,12,13,14)则不下发出库,避免冲突(排除当前任务)
        // 2 待执行(入库)
        // 3 设备执行中(入库)
        // 4 入库完成
        // 12 设备执行中(出库)
        // 13 出库到站点上
        // 14 出库等待确认
        int activeCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>()
                .in("wrk_sts", 2, 3,4, 12, 13, 14)
                .ne("wrk_no", wrkMast.getWrkNo()));
        if (activeCount > 0) {
            return;
        }
        // 存在5秒内的 5状态,不下发新的出库任务
        Date modiTimeThreshold = new Date(System.currentTimeMillis() - 5000L);
        int recentStatus15Count = wrkMastService.selectCount(new EntityWrapper<WrkMast>()
                .in("wrk_sts", 5)
                .gt("modi_time", modiTimeThreshold)
                .ne("wrk_no", wrkMast.getWrkNo()));
        if (recentStatus15Count > 0) {
            return;
        }
        Integer sourceStaNo = Utils.getStaNoByLocNo(wrkMast.getSourceLocNo());
        LiftCommand command = new LiftCommand();