#
cl
1 天以前 97e704d52a980844af0268f41b09b177e4aa7268
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,34 @@
        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 设备执行中(入库)
        // 12 设备执行中(出库)
        // 13 出库到站点上
        // 14 出库等待确认
        int activeCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>()
                .in("wrk_sts", 2, 3, 12, 13, 14)
                .ne("wrk_no", wrkMast.getWrkNo()));
        if (activeCount > 0) {
            return;
        }
        // 存在5秒内的15状态不下发出库
        Date modiTimeThreshold = new Date(System.currentTimeMillis() - 5000L);
        int recentStatus15Count = wrkMastService.selectCount(new EntityWrapper<WrkMast>()
                .eq("wrk_sts", 15)
                .gt("modi_time", modiTimeThreshold)
                .ne("wrk_no", wrkMast.getWrkNo()));
        if (recentStatus15Count > 0) {
            return;
        }
        Integer sourceStaNo = Utils.getStaNoByLocNo(wrkMast.getSourceLocNo());
        LiftCommand command = new LiftCommand();