From a3457fec2098d42166adba326c1d7f197cb59b16 Mon Sep 17 00:00:00 2001 From: pang.jiabao <pang_jiabao@163.com> Date: 星期日, 27 四月 2025 08:28:00 +0800 Subject: [PATCH] 米多泉州rgv调度程序完成 --- src/main/java/com/zy/asrs/task/RgvTaskReportingScheduler.java | 3 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 85 +++++++-------------------- src/main/webapp/views/index.html | 19 ++---- src/main/java/com/zy/asrs/task/WorkLogScheduler.java | 3 src/main/webapp/static/js/common.js | 2 pom.xml | 2 src/main/resources/license.lic | 0 src/main/resources/application.yml | 62 +++----------------- 8 files changed, 45 insertions(+), 131 deletions(-) diff --git a/pom.xml b/pom.xml index 17fe5fe..a2ecbfa 100644 --- a/pom.xml +++ b/pom.xml @@ -190,7 +190,7 @@ </dependencies> <build> - <finalName>hmasrs</finalName> + <finalName>mdqzhc</finalName> <plugins> <plugin> <groupId>org.springframework.boot</groupId> 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 37d62dc..143e3a4 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -1,26 +1,24 @@ package com.zy.asrs.service.impl; import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; -import com.core.common.R; -import com.core.exception.CoolException; -import com.zy.asrs.entity.*; +import com.zy.asrs.entity.BasCircularShuttle; +import com.zy.asrs.entity.BasDevpPosition; +import com.zy.asrs.entity.BasRgv; +import com.zy.asrs.entity.WrkMast; import com.zy.asrs.service.BasCircularShuttleService; import com.zy.asrs.service.BasDevpPositionService; import com.zy.asrs.service.WrkMastService; -import com.zy.asrs.task.core.ReturnT; -import com.zy.asrs.task.escalationParam.RgvTaskReportingParam; -import com.zy.asrs.utils.PostMesDataUtils; import com.zy.asrs.utils.SortTheExecutionOfTheCarUtil; import com.zy.asrs.utils.TimeCalculatorUtils; -import com.zy.common.CodeRes; import com.zy.common.service.CommonService; -import com.zy.common.utils.HttpHandler; import com.zy.core.cache.MessageQueue; import com.zy.core.cache.SlaveConnection; -import com.zy.core.enums.*; +import com.zy.core.enums.RgvModeType; +import com.zy.core.enums.RgvStatusType; +import com.zy.core.enums.RgvTaskModeType; +import com.zy.core.enums.SlaveType; import com.zy.core.model.RgvSlave; import com.zy.core.model.Task; import com.zy.core.model.command.RgvCommand; @@ -34,7 +32,9 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.*; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; /** * 绔嬩綋浠撳簱WCS绯荤粺涓绘祦绋嬩笟鍔� @@ -98,7 +98,7 @@ */ public synchronized void updateStePositionNearby() { try { - List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", 1L)); + List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", 2L)); if (wrkMasts.isEmpty()) { return; } @@ -225,7 +225,7 @@ */ public synchronized void DevpTaskNoRun() { try { - List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", 1L).orderBy("modi_time", true)); + List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("rgv_no", 0).orderBy("modi_time", true)); if (wrkMasts.isEmpty()) { return; } @@ -259,7 +259,7 @@ List<WrkMast> wrkMastlistA = new ArrayList<>(); List<WrkMast> wrkMastlistB = new ArrayList<>(); for (BasDevpPosition basDevpPosition : basDevpPositionsListUN) { - List<WrkMast> wrkMastList = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("sta_no", basDevpPosition.getDevNo()).eq("wrk_sts", 1L).orderBy("modi_time", true)); + List<WrkMast> wrkMastList = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("sta_no", basDevpPosition.getDevNo()).eq("rgv_no", 0).orderBy("modi_time", true)); for (WrkMast wrkMast : wrkMastList) { if (!Cools.isEmpty(wrkMast)) { if (SortTheExecutionOfTheCarUtil.devpNoSortbj(basDevpPositionsListUN, wrkMast.getSourceStaNo(), wrkMast.getStaNo())) { @@ -300,12 +300,11 @@ continue; } - List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("rgv_no", rgvProtocol.getRgvNo()).eq("wrk_sts", 2L)); + List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("rgv_no", rgvProtocol.getRgvNo())); if (!wrkMasts.isEmpty()) { continue; } - if (rgvProtocol != null - && rgvProtocol.modeType == RgvModeType.AUTO + if (rgvProtocol.modeType == RgvModeType.AUTO && (rgvProtocol.getStatusType() == RgvStatusType.IDLE || rgvProtocol.getStatusType() == RgvStatusType.ROAM) && rgvProtocol.getTaskNo1() == 0 && rgvProtocol.getAlarm() == 0) { @@ -331,8 +330,8 @@ rgvCommand.setAckFinish1((short) 0); // 宸ヤ綅1浠诲姟瀹屾垚纭浣� rgvCommand.setTaskNo1(wrkMast.getWrkNo().shortValue()); rgvCommand.setTaskMode1(RgvTaskModeType.FETCH_PUT); // 宸ヤ綅1浠诲姟妯″紡: 鍙栨斁璐� - rgvCommand.setSourceStaNo1(wrkMast.getSourceStaNo().shortValue()); //宸ヤ綅1璧风偣 - rgvCommand.setDestinationStaNo1(wrkMast.getStaNo().shortValue()); //宸ヤ綅1鐩爣绔欑偣 + rgvCommand.setSourceStaNo1(wrkMast.getRgvSstaNo().shortValue()); //宸ヤ綅1璧风偣 + rgvCommand.setDestinationStaNo1(wrkMast.getRgvDstaNo().shortValue()); //宸ヤ綅1鐩爣绔欑偣 rgvCommand.setCommand((short) 1); //宸ヤ綅1浠诲姟纭 if (!MessageQueue.offer(SlaveType.Rgv, rgvProtocol.getRgvNo(), new Task(2, rgvCommand))) { // @@ -341,7 +340,6 @@ } log.info("RGV鍛戒护涓嬪彂鎴愬姛锛孯GV鍙�={}锛屼换鍔℃暟鎹�={}", rgvId, JSON.toJSON(rgvCommand)); - wrkMast.setWrkSts(2L); wrkMast.setRgvNo(rgvProtocol.getRgvNo()); wrkMast.setAppeTime(new Date()); try { @@ -381,10 +379,10 @@ && rgvProtocol.getModeType() == RgvModeType.AUTO && rgvProtocol.getTaskNo1() != 0 ) { -// log.info("{}鍙峰皬杞︾瓑寰厀cs纭锛岀姸鎬亄}锛屽弬鏁皗}",rgvProtocol.getRgvNo(),rgvProtocol.getStatusType(),rgvProtocol); + log.info("{}鍙峰皬杞︾瓑寰厀cs纭锛岀姸鎬亄}锛屽弬鏁皗}",rgvProtocol.getRgvNo(),rgvProtocol.getStatusType(),rgvProtocol); WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", rgvProtocol.getTaskNo1().longValue())); - if (Cools.isEmpty(wrkMast) || !wrkMast.getWrkSts().equals(2L)) { - log.error("鏈煡鍒板皬杞︽墽琛屼换鍔℃垨鑰呮墽琛屼换鍔$姸鎬佷笉绗﹀悎锛�" + wrkMast); + if (Cools.isEmpty(wrkMast) && (wrkMast.getWrkSts() == 2 || wrkMast.getWrkSts() == 15) && (wrkMast.getRgvNo() == 0 || wrkMast.getRgvNo() > 10)) { + log.error("鏈煡鍒板皬杞︽墽琛屼换鍔℃垨鑰呮墽琛屼换鍔$姸鎬佷笉绗﹀悎锛�" + rgvProtocol.getTaskNo1()); continue; } boolean rgvComplete = rgvComplete(rgvProtocol.getRgvNo()); @@ -392,46 +390,9 @@ log.error("灏忚溅澶嶄綅澶辫触锛屽皬杞﹀彿{}锛�", rgvProtocol.getRgvNo()); break; } - wrkMast.setWrkSts(3L); + wrkMast.setRgvNo(10+rgvProtocol.getRgvNo()); Date now = new Date(); - wrkMast.setAppeTime(now); - try{ - try{ - if (reportSwitch){ - RgvTaskReportingParam rgvTaskReportingParam = new RgvTaskReportingParam(wrkMast); - ReturnT<String> result = new PostMesDataUtils().postMesDataWcs(wmsUrl, wmsOutPath, rgvTaskReportingParam); - if (result.getCode()==200){ - wrkMast.setWrkSts(4L); - wrkMast.setAppeTime(now); - wrkMastService.updateById(wrkMast); - continue; - }else { - log.error("宸ヤ綔鍙�"+wrkMast.getWrkNo()+"浠诲姟瀹屾垚淇℃伅涓婁紶澶勭悊澶辫触"); - } - } else { - //娴嬭瘯鐢� - wrkMast.setWrkSts(4L); - wrkMast.setAppeTime(now); - wrkMastService.updateById(wrkMast); - if (reportSwitchAuto) { - WrkMast wrkMast1 = new WrkMast(); - int workNo = commonService.getWorkNo(0); - wrkMast1.setWrkNo((long) workNo); - wrkMast1.setSourceStaNo(wrkMast.getSourceNoCs(autoZ)); - wrkMast1.setStaNo(wrkMast.getStaNoCs(autoZ)); - wrkMast1.setWrkSts(1L); - wrkMast1.setIoType(1); - wrkMast1.setModiTime(now); - wrkMast1.setAppeTime(now); - wrkMast1.setMemo("娴嬭瘯鏁版嵁"); - wrkMastService.insert(wrkMast1); - } - continue; - } - } catch (Exception e){ - log.error("宸ヤ綔鍙�"+wrkMast.getWrkNo()+"浠诲姟瀹屾垚淇℃伅涓婁紶澶勭悊澶辫触锛屽紓甯镐俊鎭細"+e); - } - } catch (Exception e){} + wrkMast.setModiTime(now); wrkMastService.updateById(wrkMast); } } diff --git a/src/main/java/com/zy/asrs/task/RgvTaskReportingScheduler.java b/src/main/java/com/zy/asrs/task/RgvTaskReportingScheduler.java index c6bc4b7..39a783f 100644 --- a/src/main/java/com/zy/asrs/task/RgvTaskReportingScheduler.java +++ b/src/main/java/com/zy/asrs/task/RgvTaskReportingScheduler.java @@ -7,7 +7,6 @@ import com.zy.asrs.task.handler.RgvTaskReportingHandler; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.util.List; @@ -25,7 +24,7 @@ @Autowired private RgvTaskReportingHandler rgvTaskReportingHandler; - @Scheduled(cron = "0/3 * * * * ? ") +// @Scheduled(cron = "0/3 * * * * ? ") private void execute(){//浠诲姟瀹屾垚淇℃伅涓婁紶 List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", 3L)); for (WrkMast wrkMast : wrkMasts){ diff --git a/src/main/java/com/zy/asrs/task/WorkLogScheduler.java b/src/main/java/com/zy/asrs/task/WorkLogScheduler.java index a3ad25d..cb14e33 100644 --- a/src/main/java/com/zy/asrs/task/WorkLogScheduler.java +++ b/src/main/java/com/zy/asrs/task/WorkLogScheduler.java @@ -6,7 +6,6 @@ import com.zy.asrs.task.handler.WorkLogHandler; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.util.List; @@ -23,7 +22,7 @@ @Autowired private WrkMastService wrkMastService; - @Scheduled(cron = "0/3 * * * * ? ") +// @Scheduled(cron = "0/3 * * * * ? ") private void execute(){ List<WrkMast> wrkMasts = wrkMastService.selectToBeHistoryData(); if (wrkMasts.isEmpty()) { diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 8ec91c7..13c6efe 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,5 +1,5 @@ server: - port: 9090 + port: 9091 servlet: context-path: /@pom.build.finalName@ @@ -8,8 +8,8 @@ name: @pom.build.finalName@ datasource: driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver - url: jdbc:sqlserver://127.0.0.1:50751;databasename=gdhmasrs -# url: jdbc:sqlserver://127.0.0.1:50948;databasename=gdhmasrs +# url: jdbc:sqlserver://192.168.4.191:50948;databasename=gdhmasrs + url: jdbc:sqlserver://127.0.0.1:1433;databasename=mdqzasrs username: sa password: sa@123 mvc: @@ -33,14 +33,14 @@ enable: false wms: - url: 172.17.196.200:8084 + url: 127.0.0.1:8080/mdqzwms reportOutPath: open/rcs/task/cs/up/UploadTask - reportSwitch: true + reportSwitch: false reportSwitchAuto: false #License鐩稿叧閰嶇疆 license: - subject: gdhmasrs + subject: mdqzasrs publicAlias: publicCert storePass: public_zhongyang_123456789 licensePath: license.lic @@ -54,7 +54,7 @@ # 鍔犻�熷害 m/s^2 acceleration: -2 # 灏忚溅鏁� - rgvCount: 10 + rgvCount: 5 # 寤惰繜鏃堕棿 rgvDate: 1 @@ -68,7 +68,7 @@ rack: 0 slot: 0 demo: false - # RGV绌挎杞�1 + # RGV绌挎杞�2 rgv[1]: id: 2 ip: 172.17.196.6 @@ -76,7 +76,7 @@ rack: 0 slot: 0 demo: false - # RGV绌挎杞�1 + # RGV绌挎杞�3 rgv[2]: id: 3 ip: 172.17.196.9 @@ -84,7 +84,7 @@ rack: 0 slot: 0 demo: false - # RGV绌挎杞�1 + # RGV绌挎杞�4 rgv[3]: id: 4 ip: 172.17.196.12 @@ -92,50 +92,10 @@ rack: 0 slot: 0 demo: false - # RGV绌挎杞�1 + # RGV绌挎杞�5 rgv[4]: id: 5 ip: 172.17.196.15 - port: 502 - rack: 0 - slot: 0 - demo: false - # RGV绌挎杞�1 - rgv[5]: - id: 6 - ip: 172.17.196.18 - port: 502 - rack: 0 - slot: 0 - demo: false - # RGV绌挎杞�1 - rgv[6]: - id: 7 - ip: 172.17.196.21 - port: 502 - rack: 0 - slot: 0 - demo: false - # RGV绌挎杞�1 - rgv[7]: - id: 8 - ip: 172.17.196.25 - port: 502 - rack: 0 - slot: 0 - demo: false - # RGV绌挎杞�1 - rgv[8]: - id: 9 - ip: 172.17.196.28 - port: 502 - rack: 0 - slot: 0 - demo: false - # RGV绌挎杞�1 - rgv[9]: - id: 10 - ip: 172.17.196.31 port: 502 rack: 0 slot: 0 diff --git a/src/main/resources/license.lic b/src/main/resources/license.lic index 0cb0c0c..dd30251 100644 --- a/src/main/resources/license.lic +++ b/src/main/resources/license.lic Binary files differ diff --git a/src/main/webapp/static/js/common.js b/src/main/webapp/static/js/common.js index a5dc4fc..cd8aef7 100644 --- a/src/main/webapp/static/js/common.js +++ b/src/main/webapp/static/js/common.js @@ -1,4 +1,4 @@ -var baseUrl = "/hmasrs"; +var baseUrl = "/mdqzhc"; // 璧嬪�� function setVal(el, val) { diff --git a/src/main/webapp/views/index.html b/src/main/webapp/views/index.html index 55f2291..b8dbdfd 100644 --- a/src/main/webapp/views/index.html +++ b/src/main/webapp/views/index.html @@ -204,18 +204,13 @@ <!-- L 250,100--> <!-- C 250,100 90,90 100,250 z"--> <!-- style="fill:none; stroke:blue; stroke-width:4;" />--> - <path d="M 1200,750 - L 1200,100 - C 1200,100 1200,50 1150,50 - C 1150,50 1100,50 1100,100 - L 1100,700 - C 1100,700 1100,750 1050,750 - L 60,750 - C 60,750 10,750 10,800 - C 10,800 10,850 60,850 - L 1100,850 - C 1100,850 1200,850 1200,750 -" + <path d="M 0 0 + L 80 0 + L 80 600 + L 800 600 + L 800 650 + L 0 650 + Z" style="fill:none; stroke:blue; stroke-width:4;" /> </svg> <!-- <div class="bus-station">--> -- Gitblit v1.9.1