1
zhang
2025-06-13 c979722dffe66a92ebdf5c5e27afb401f49f2758
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -867,9 +867,9 @@
//                            JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(r));
//                            if (offer) {
//                                log.info("下发输送线任务成功:taskWrk:" + JSON.toJSONString(taskWrk));
                                taskWrk.setStatus(5);
                                taskWrk.setWrkSts(14);
                                taskWrkService.updateById(taskWrk);
                            taskWrk.setStatus(5);
                            taskWrk.setWrkSts(14);
                            taskWrkService.updateById(taskWrk);
//                            } else {
//                                log.error("下发输送线任务失败:taskWrk:" + JSON.toJSONString(taskWrk));
@@ -1813,4 +1813,85 @@
//        log.info(""+mark+" - 0"+" - 执行完成:其他  ===>> LED显示器复位,显示默认信息");
    }
    /**
     * 入出库模式切换函数
     */
    public synchronized void ioConvert() {
        try {
            // 根据输送线plc遍历
            for (DevpSlave devp : slaveProperties.getDevp()) {
                if (devp.getId() == 2) {
                    continue;
                }
                SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
                for (DevpSlave.Sta inSta : devp.getInSta()) {
                    TaskWrk taskWrk = taskWrkService.selectByTargetPoint(inSta.getBackSta() + "");
                    switch (inSta.getBackSta()) {
                        case 101:
                            if (taskWrk != null) {
                                if (devpThread.ioModeOf1F1 != IoModeType.PAKOUT_MODE) {
                                    // 出库切换中
                                    devpThread.ioModeOf1F1 = IoModeType.PAKOUT_BOOTING;
                                    TaskWrk pakin = taskWrkService.selectByStartPoint(inSta.getStaNo() + "");
                                    if (pakin == null && !devpThread.getStation().get(inSta.getStaNo()).isLoading()
                                            && !devpThread.getStation().get(inSta.getBackSta()).isLoading()
                                            && devpThread.getStation().get(inSta.getBackSta()).getWorkNo() == 0) {
                                        // 出库模式
                                        devpThread.ioModeOf1F1 = IoModeType.PAKOUT_MODE;
                                    }
                                }
                            } else {
                                // 入库模式
                                devpThread.ioModeOf1F1 = IoModeType.PAKIN_MODE;
                            }
                            break;
                        default:
                            break;
                    }
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    /**
     * 跑库程序
     */
//    public void debug(String sts, Long modiUser, Integer loc_type1) {
//        if (!enable) {
//            return;
//        }
//        List<BasCrnp> basCrnps = basCrnpService.selectList(new EntityWrapper<BasCrnp>());
//        if (basCrnps.isEmpty()) {
//            return;
//        }
//        for (BasCrnp basCrnp : basCrnps) {
//            if (!basCrnp.getInEnable().equals("N") || !basCrnp.getOutEnable().equals("Y")) {
//                continue;
//            }
//            List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("crn_no", basCrnp.getCrnNo()).eq("io_type", 11));
//            if (Cools.isEmpty(wrkMasts) || wrkMasts.isEmpty()) {
//                int i = locMastService.selectCount(new EntityWrapper<LocMast>().eq("loc_sts", sts).eq("loc_type1", loc_type1).ne("modi_user", modiUser));
//                LocMast locMastStart = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts", sts).eq("loc_type1", loc_type1).ne("modi_user", modiUser));
//                if (locMastStart == null || i > 1) {
//                    continue;
//                }
//                List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
//                        .eq("loc_sts", "O")
//                        .eq("crn_no", basCrnp.getCrnNo())
//                        .eq("loc_type1", locMastStart.getLocType1())
//                        .ne("modi_user", 77));
//                if (Cools.isEmpty(locMasts)) {
//                    continue;
//                }
//                Random random = new Random();
//                LocMast locMastEnd = locMasts.get(random.nextInt(locMasts.size()));
//                locMove(locMastStart, locMastEnd, Long.parseLong(basCrnp.getCrnNo().toString()));
//            }
//        }
//    }
}