From 66942458f7753fe4ddee7c5ed3386d61cff28b24 Mon Sep 17 00:00:00 2001 From: 野心家 <1051256694@qq.com> Date: 星期二, 01 四月 2025 13:55:21 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/jxjdzwcs' into jxjdzwcs --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 56 +++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 35 insertions(+), 21 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java index 3303ad3..c270c19 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -158,12 +158,18 @@ if (staProtocol.getSiteId() == 107 || staProtocol.getSiteId() == 109) { StaProtocol staProtocol5 = getClonedStation(devpThread, staProtocol.getSiteId() - 1); if (staProtocol5 != null && (staProtocol5.isLoading() && (staProtocol5.getStaNo() == 107 || staProtocol5.getStaNo() == 109))) { + short workNo = staProtocol5.getWorkNo(); + staProtocol5.setWorkNo(workNo); staProtocol5.setStaNo((short) 112); - MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol5)); + MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(4, staProtocol5)); } } else { - staProtocol.setStaNo((short) 112); - MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); + if(staProtocol.isLoading() && (staProtocol.getStaNo() == 105 || staProtocol.getStaNo() == 110 || staProtocol.getStaNo() == 111)){ + short workNo = staProtocol.getWorkNo(); + staProtocol.setWorkNo(workNo); + staProtocol.setStaNo((short) 112); + MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(4, staProtocol)); + } } } } @@ -181,31 +187,39 @@ return (staProtocol != null) ? staProtocol.clone() : null; } - //112寰幆绔欑偣鑷冲嚭搴撶珯 - public synchronized void shiftCyclePointToTarget() throws IOException, InterruptedException{ - try{ + // 112寰幆绔欑偣鑷冲嚭搴撶珯 + public synchronized void shiftCyclePointToTarget() throws IOException, InterruptedException { + try { for (DevpSlave devp : slaveProperties.getDevp()) { DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); + if (devpThread == null) { + continue; + } + StaProtocol staProtocol = devpThread.getStation().get(112); - if (staProtocol == null) { - continue; - } else { - staProtocol = staProtocol.clone(); - } - if(staProtocol.getWorkNo() == 0){ + if (staProtocol.getStaNo() != 112 || staProtocol.getWorkNo() == 0 || !staProtocol.isLoading() || staProtocol.getWorkNo() > 9000 || staProtocol.getWorkNo() < 6000) { continue; } + // 鏌ヨ浠诲姟淇℃伅 TaskWrk taskWrk = taskWrkMapper.selectStaWorking(Integer.valueOf(staProtocol.getWorkNo())); - if(taskWrk != null && taskWrk.getWrkNo() < 9001 && taskWrk.getWrkNo() > 6000){ - staProtocol.setStaNo(Short.valueOf(taskWrk.getTargetPoint())); - MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); + if (taskWrk == null || taskWrk.getWrkNo() < 6001 || taskWrk.getWrkNo() > 9000) { + continue; } + + short workNo = staProtocol.getWorkNo(); + // 鍐嶅啓鍏ョ洰鏍囩珯鐐� + staProtocol.setWorkNo(workNo); + staProtocol.setStaNo(Short.valueOf(taskWrk.getTargetPoint())); + MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(4, staProtocol)); + Thread.sleep(200); + + log.info("Shifted from cycle station 112 to target {}, workNo: {}", taskWrk.getTargetPoint(), workNo); } - }catch (Exception e) { - log.error("generateStoreWrkFile e", e); - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + } catch (Exception e) { + log.error("shiftCyclePointToTarget error", e); } } + @@ -306,7 +320,7 @@ staProtocol.setStaNo((short)107); }else if (staProtocol.getWorkNo()>=9851&&staProtocol.getWorkNo()<=9875) { staProtocol.setStaNo((short)109); - }else{ + }else if (staProtocol.getWorkNo()>=9876 && staProtocol.getWorkNo() <= 9900){ staProtocol.setStaNo((short)110); } devpThread.setPakMk(staProtocol.getSiteId(), false); @@ -949,9 +963,9 @@ if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) { break; } - int storeCount = taskWrkService.getStoreCount(taskWrk.getCrnNo()); + int storeCount = basDevpService.getStoreCount(); if(storeCount >= maxCount){ - log.error("{}鍙峰爢鍨涙満鏆傚瓨鏁板凡婊�!", taskWrk.getCrnNo()); + log.error("杈撻�佺嚎鏆傚瓨鏁拌揪鍒颁笂闄恵}",storeCount); break; } -- Gitblit v1.9.1