From de9702be46355443acf6522bcd7c6adc01547091 Mon Sep 17 00:00:00 2001 From: lty <876263681@qq.com> Date: 星期一, 24 三月 2025 15:43:15 +0800 Subject: [PATCH] #优化输送线循环逻辑 --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 37 +++++++++++++++++++++++++++++-------- src/main/resources/application.yml | 2 +- 2 files changed, 30 insertions(+), 9 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 b03a68a..980186a 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -39,6 +39,7 @@ import com.zy.core.thread.SiemensDevpThread; import com.zy.system.entity.Config; import com.zy.system.service.ConfigService; +import lombok.Synchronized; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -113,7 +114,8 @@ @Autowired private SiteController siteController; //鍑哄簱绔欑偣鑷�112寰幆绔欑偣 - public synchronized void shiftTargetToCyclePoint() throws IOException, InterruptedException{ + @Synchronized + public void shiftTargetToCyclePoint() throws IOException, InterruptedException{ try{ for (DevpSlave devp : slaveProperties.getDevp()) { for (DevpSlave.Sta outSta : devp.getOutSta()) { @@ -123,6 +125,7 @@ StaProtocol staProtocol2 = devpThread.getStation().get(1002); StaProtocol staProtocol3 = devpThread.getStation().get(1003); StaProtocol staProtocol4 = devpThread.getStation().get(1004); + StaProtocol staProtocol6 = devpThread.getStation().get(111); if (staProtocol == null) { continue; } else { @@ -148,9 +151,14 @@ } else { staProtocol4 = staProtocol4.clone(); } + if (staProtocol6 == null) { + continue; + } else { + staProtocol6 = staProtocol6.clone(); + } boolean result = false; switch(outSta.getStaNo()){ - case 105: if (staProtocol1.isLoading()){ + case 105: if (staProtocol1.isLoading() && staProtocol.isLoading() && staProtocol.getStaNo() == 105){ result = true; } case 107: if (staProtocol2.isLoading()){ @@ -159,15 +167,28 @@ case 109: if (staProtocol3.isLoading()){ result = true; } - case 110: if (staProtocol4.isLoading()){ + case 110: if ((staProtocol4.isLoading() && staProtocol.isLoading() && staProtocol.getStaNo() == 110) || ((staProtocol6.isLoading() && staProtocol.isLoading() && staProtocol.getStaNo() == 111))){ result = true; } default: break; } if(result){ - staProtocol.setStaNo((short) 112); - MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); + if(staProtocol.getSiteId() == 107 || staProtocol.getSiteId() == 109){ + StaProtocol staProtocol5 = devpThread.getStation().get(staProtocol.getSiteId() - 1); + if (staProtocol5== null) { + continue; + } else { + staProtocol5 = staProtocol5.clone(); + } + if((staProtocol5.isLoading() && staProtocol5.getStaNo() == 107) || ((staProtocol5.isLoading() && staProtocol5.getStaNo() == 109))){ + staProtocol5.setStaNo((short) 112); + MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol5)); + } + }else{ + staProtocol.setStaNo((short) 112); + MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); + } } } } @@ -188,9 +209,9 @@ } else { staProtocol = staProtocol.clone(); } - WrkMast wrkMast = wrkMastMapper.selectById(staProtocol.getWorkNo()); - if(wrkMast != null && wrkMast.getWrkNo() < 9000 && wrkMast.getWrkNo() > 7000){ - staProtocol.setStaNo(wrkMast.getStaNo().shortValue()); + TaskWrk taskWrk = taskWrkMapper.selectById(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)); } } diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 38c4a6a..b3b8512 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -45,7 +45,7 @@ wms: #鍫嗗灈鏈轰换鍔℃殏瀛樻暟 - count: 4 + count: 5 # 鏄惁寮�鍚笂鎶� start: true # WMS绯荤粺ip -- Gitblit v1.9.1