From 1bfa44facba36747d1caffab6bff986ccd7f36a9 Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期二, 25 十一月 2025 15:13:15 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 57 ++++++++-----
src/main/java/com/zy/asrs/entity/param/AgvBindCtnrAndBinParam.java | 29 ++++--
src/main/java/com/zy/asrs/entity/param/AgvTaskAssignmentParam.java | 134 ++++++++++++++++++++-------------
3 files changed, 134 insertions(+), 86 deletions(-)
diff --git a/src/main/java/com/zy/asrs/entity/param/AgvBindCtnrAndBinParam.java b/src/main/java/com/zy/asrs/entity/param/AgvBindCtnrAndBinParam.java
index 851a3b5..575ba5d 100644
--- a/src/main/java/com/zy/asrs/entity/param/AgvBindCtnrAndBinParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/AgvBindCtnrAndBinParam.java
@@ -36,7 +36,7 @@
return;
case 1:
getAgvTaskAssignmentParam0(basAgvMast);
- indBind = "1";
+ indBind = "0";
return;
case 2:
getAgvTaskAssignmentParam1(basAgvMast);
@@ -44,7 +44,7 @@
return;
case 3:
getAgvTaskAssignmentParam1(basAgvMast);
- indBind = "0";
+ indBind = "1";
return;
default:
return;
@@ -55,19 +55,28 @@
public void getAgvTaskAssignmentParam0(BasAgvMast basAgvMast) {
BasAgvLocNoService basAgvLocNoService = SpringUtils.getBean(BasAgvLocNoService.class);
this.reqCode = basAgvMast.getTaskNo() + "-" + System.currentTimeMillis();
- BasAgvLocNo basAgvLocNoSou = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("loc_no", basAgvMast.getSourceLocNo()));
- this.positionCode = basAgvLocNoSou.getAgvLocNo();
- BasAgvLocNo basAgvLocNoEnd = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("sta_no", basAgvMast.getStaNo()));
- this.stgBinCode = basAgvLocNoEnd.getAgvLocNo();
+ BasAgvLocNo basAgvLocNoSou = basAgvLocNoService.selectOne(
+ new EntityWrapper<BasAgvLocNo>().eq("loc_no", basAgvMast.getSourceLocNo())
+ );
+ this.positionCode = basAgvLocNoSou != null ? basAgvLocNoSou.getAgvLocNo() : "";
+ BasAgvLocNo basAgvLocNoEnd = basAgvLocNoService.selectOne(
+ new EntityWrapper<BasAgvLocNo>().eq("sta_no", basAgvMast.getStaNo())
+ );
+ this.stgBinCode = basAgvLocNoEnd != null ? basAgvLocNoEnd.getAgvLocNo() : "";
}
public void getAgvTaskAssignmentParam1(BasAgvMast basAgvMast) {
BasAgvLocNoService basAgvLocNoService = SpringUtils.getBean(BasAgvLocNoService.class);
this.reqCode = basAgvMast.getTaskNo() + "-" + System.currentTimeMillis();
- BasAgvLocNo basAgvLocNoSou = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("loc_no", basAgvMast.getSourceLocNo()));
- this.positionCode = basAgvLocNoSou.getAgvLocNo();
- BasAgvLocNo basAgvLocNoEnd = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("sta_no", basAgvMast.getStaNo()));
- this.stgBinCode = basAgvLocNoEnd.getAgvLocNo();
+// BasAgvLocNo basAgvLocNoSou = basAgvLocNoService.selectOne(
+// new EntityWrapper<BasAgvLocNo>().eq("loc_no", basAgvMast.getLocNo())
+// );
+// this.positionCode = basAgvLocNoSou != null ? basAgvLocNoSou.getAgvLocNo() : "";
+ BasAgvLocNo basAgvLocNoEnd = basAgvLocNoService.selectOne(
+ new EntityWrapper<BasAgvLocNo>().eq("sta_no", basAgvMast.getSourceStaNo())
+ );
+ this.stgBinCode = basAgvLocNoEnd != null ? basAgvLocNoEnd.getAgvLocNo() : "";
+
}
}
diff --git a/src/main/java/com/zy/asrs/entity/param/AgvTaskAssignmentParam.java b/src/main/java/com/zy/asrs/entity/param/AgvTaskAssignmentParam.java
index 8922962..ea8c94f 100644
--- a/src/main/java/com/zy/asrs/entity/param/AgvTaskAssignmentParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/AgvTaskAssignmentParam.java
@@ -35,17 +35,30 @@
switch (basAgvMast.getIoType()){
case 0:
getAgvTaskAssignmentParam0(basAgvMast);
- taskTyp = "1FQ3";
+ if(basAgvMast.getFloorNo() == 1){
+ taskTyp = "1FQ3";
+
+ }else if(basAgvMast.getFloorNo() == 2){
+ taskTyp = "2FRK";
+ }else{
+ taskTyp = "4FRK";
+ }
ctnrTyp = "1";
return;
case 1:
getAgvTaskAssignmentParam1(basAgvMast);
-// taskTyp = "1FQ2";
+ taskTyp = basAgvMast.getDevpId()==1?"1FYK":"";
ctnrTyp = "1";
return;
case 2:
getAgvTaskAssignmentParam2(basAgvMast);
- taskTyp = "1FQ1";
+ if(basAgvMast.getFloorNo() == 1){
+ taskTyp = "1FQ1";
+ }else if(basAgvMast.getFloorNo() == 2){
+ taskTyp = "2FCK";
+ }else{
+ taskTyp = "4FCK";
+ }
ctnrTyp = "1";
return;
case 3:
@@ -61,67 +74,82 @@
public void getAgvTaskAssignmentParam0(BasAgvMast basAgvMast) {
BasAgvLocNoService basAgvLocNoService = SpringUtils.getBean(BasAgvLocNoService.class);
-
- this.reqCode = basAgvMast.getTaskNo()+"-"+basAgvMast.getTimestamp();
-
- SnowflakeIdWorker snowflakeIdWorker = SpringUtils.getBean(SnowflakeIdWorker.class);
- long nextId = snowflakeIdWorker.nextId();
- this.taskCode = basAgvMast.getTaskNo()+"-"+basAgvMast.getTimestamp();
- PositionCodePathClass positionCodePathClassEnd = new PositionCodePathClass();
- BasAgvLocNo basAgvLocNoSou = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("loc_no", basAgvMast.getSourceLocNo()));
- positionCodePathClassEnd.setPositionCode(basAgvLocNoSou.getAgvLocNo());
- this.positionCodePath.add(positionCodePathClassEnd);
-
- PositionCodePathClass positionCodePathClassSou = new PositionCodePathClass();
- BasAgvLocNo basAgvLocNoEnd = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("sta_no", basAgvMast.getStaNo()));
- positionCodePathClassSou.setPositionCode(basAgvLocNoEnd.getAgvLocNo());
- this.positionCodePath.add(positionCodePathClassSou);
-
-
+ this.reqCode = basAgvMast.getTaskNo() + "-" + basAgvMast.getTimestamp();
+ this.taskCode = basAgvMast.getTaskNo() + "-" + basAgvMast.getTimestamp();
+ String sourceAgvLoc = getAgvLocNoOrDefault(basAgvLocNoService, "loc_no", basAgvMast.getSourceLocNo());
+ PositionCodePathClass sou = new PositionCodePathClass();
+ sou.setPositionCode(sourceAgvLoc);
+ sou.setType(basAgvMast.getFloorNo()!=1?"00":"05");
+ this.positionCodePath.add(sou);
+ String endAgvLoc = getAgvLocNoOrDefault(basAgvLocNoService, "sta_no", basAgvMast.getStaNo());
+ PositionCodePathClass end = new PositionCodePathClass();
+ end.setType(basAgvMast.getFloorNo()!=1?"00":"05");
+ end.setPositionCode(endAgvLoc);
+ this.positionCodePath.add(end);
}
+
public void getAgvTaskAssignmentParam1(BasAgvMast basAgvMast) {
BasAgvLocNoService basAgvLocNoService = SpringUtils.getBean(BasAgvLocNoService.class);
-
- this.reqCode = basAgvMast.getTaskNo().toString();
+ this.reqCode = basAgvMast.getTaskNo()+"-"+basAgvMast.getTimestamp();
this.taskCode = basAgvMast.getTaskNo()+"-"+basAgvMast.getTimestamp();
- PositionCodePathClass positionCodePathClassSou = new PositionCodePathClass();
- BasAgvLocNo basAgvLocNoSou = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("loc_no", basAgvMast.getSourceLocNo()));
- positionCodePathClassSou.setPositionCode(basAgvLocNoSou.getAgvLocNo());
- this.positionCodePath.add(positionCodePathClassSou);
- PositionCodePathClass positionCodePathClassEnd = new PositionCodePathClass();
- BasAgvLocNo basAgvLocNoEnd = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("loc_no", basAgvMast.getLocNo()));
- positionCodePathClassEnd.setPositionCode(basAgvLocNoEnd.getAgvLocNo());
- this.positionCodePath.add(positionCodePathClassEnd);
-
+ String agvLocSou = getAgvLocNoOrDefault(basAgvLocNoService, "loc_no", basAgvMast.getSourceLocNo());
+ PositionCodePathClass sou = new PositionCodePathClass();
+ sou.setPositionCode(agvLocSou);
+ sou.setType(basAgvMast.getFloorNo()!=1?"00":"05");
+ this.positionCodePath.add(sou);
+ String agvLocEnd = getAgvLocNoOrDefault(basAgvLocNoService, "loc_no", basAgvMast.getLocNo());
+ PositionCodePathClass end = new PositionCodePathClass();
+ end.setType(basAgvMast.getFloorNo()!=1?"00":"05");
+ end.setPositionCode(agvLocEnd);
+ this.positionCodePath.add(end);
}
+
public void getAgvTaskAssignmentParam2(BasAgvMast basAgvMast) {
BasAgvLocNoService basAgvLocNoService = SpringUtils.getBean(BasAgvLocNoService.class);
-
- this.reqCode = basAgvMast.getTaskNo().toString();
+ this.reqCode = basAgvMast.getTaskNo()+"-"+basAgvMast.getTimestamp();
this.taskCode = basAgvMast.getTaskNo()+"-"+basAgvMast.getTimestamp();
- PositionCodePathClass positionCodePathClassSou = new PositionCodePathClass();
- BasAgvLocNo basAgvLocNoSou= basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("sta_no", basAgvMast.getSourceStaNo()));
- positionCodePathClassSou.setPositionCode(basAgvLocNoSou.getAgvLocNo());
- this.positionCodePath.add(positionCodePathClassSou);
- PositionCodePathClass positionCodePathClassEnd = new PositionCodePathClass();
- BasAgvLocNo basAgvLocNoEnd = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("loc_no", basAgvMast.getLocNo()));
- positionCodePathClassEnd.setPositionCode(basAgvLocNoEnd.getAgvLocNo());
- this.positionCodePath.add(positionCodePathClassEnd);
-
+ String agvLocSou = getAgvLocNoOrDefault(basAgvLocNoService, "sta_no", basAgvMast.getSourceStaNo());
+ PositionCodePathClass sou = new PositionCodePathClass();
+ sou.setPositionCode(agvLocSou);
+ sou.setType(basAgvMast.getFloorNo()!=1?"00":"05");
+ this.positionCodePath.add(sou);
+ String agvLocEnd = getAgvLocNoOrDefault(basAgvLocNoService, "loc_no", basAgvMast.getLocNo());
+ PositionCodePathClass end = new PositionCodePathClass();
+ end.setType(basAgvMast.getFloorNo()!=1?"00":"05");
+ end.setPositionCode(agvLocEnd);
+ this.positionCodePath.add(end);
}
+
public void getAgvTaskAssignmentParam3(BasAgvMast basAgvMast) {
BasAgvLocNoService basAgvLocNoService = SpringUtils.getBean(BasAgvLocNoService.class);
-
- this.reqCode = basAgvMast.getTaskNo().toString();
+ this.reqCode = basAgvMast.getTaskNo()+"-"+basAgvMast.getTimestamp();
this.taskCode = basAgvMast.getTaskNo()+"-"+basAgvMast.getTimestamp();
- PositionCodePathClass positionCodePathClassSou = new PositionCodePathClass();
- BasAgvLocNo basAgvLocNoSou = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("sta_no", basAgvMast.getSourceStaNo()));
- positionCodePathClassSou.setPositionCode(basAgvLocNoSou.getAgvLocNo());
- this.positionCodePath.add(positionCodePathClassSou);
- PositionCodePathClass positionCodePathClassEnd = new PositionCodePathClass();
- BasAgvLocNo basAgvLocNoEnd = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("sta_no", basAgvMast.getStaNo()));
- positionCodePathClassEnd.setPositionCode(basAgvLocNoEnd.getAgvLocNo());
- this.positionCodePath.add(positionCodePathClassEnd);
-
+ String agvLocSou = getAgvLocNoOrDefault(basAgvLocNoService, "sta_no", basAgvMast.getSourceStaNo());
+ PositionCodePathClass sou = new PositionCodePathClass();
+ sou.setPositionCode(agvLocSou);
+ sou.setType(basAgvMast.getFloorNo()!=1?"00":"05");
+ this.positionCodePath.add(sou);
+ String agvLocEnd = getAgvLocNoOrDefault(basAgvLocNoService, "sta_no", basAgvMast.getStaNo());
+ PositionCodePathClass end = new PositionCodePathClass();
+ end.setType(basAgvMast.getFloorNo()!=1?"00":"05");
+ end.setPositionCode(agvLocEnd);
+ this.positionCodePath.add(end);
}
+
+
+ private String getAgvLocNoOrDefault(BasAgvLocNoService service, String column, Object value) {
+ if (value == null) {
+ return null;
+ }
+ BasAgvLocNo record = service.selectOne(new EntityWrapper<BasAgvLocNo>().eq(column, value));
+
+ if (record != null && record.getAgvLocNo() != null) {
+ return record.getAgvLocNo();
+ }
+
+ // 鏌ヨ涓嶅埌灏辫繑鍥炲師鍊硷紝浣嗗繀椤昏浆鎹㈡垚 String
+ return String.valueOf(value);
+ }
+
+
}
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 4053997..342a9b7 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -3569,9 +3569,9 @@
if(rgvProtocol.getStatusType1() == RgvStatusType.WORKING){
rgvThread.setPaking(true);
}
- if(rgvProtocol.getTaskNo1() == 0 && rgvProtocol.getTaskNo2() == 0 && rgvProtocol.getStatusType1() == RgvStatusType.IDLE){
- rgvThread.setPaking(true);
- }
+// if(rgvProtocol.getTaskNo1() == 0 && rgvProtocol.getTaskNo2() == 0 && rgvProtocol.getStatusType1() == RgvStatusType.IDLE){
+// rgvThread.setPaking(true);
+// }
if(rgvProtocol.isLoaded1ing() && rgvProtocol.isLoaded2ing()){
basRgv.setPakAll("1");
basRgvService.updateById(basRgv);
@@ -4719,7 +4719,13 @@
JSONObject jsonObject = JSON.parseObject(response);
if (jsonObject.getInteger("code").equals(200)) {
StartupDto dto = jsonObject.getObject("data", StartupDto.class);
-
+ if(wrkMast.getStaNo()<2000){
+ basAgvMast.setFloorNo(1);
+ }else if(wrkMast.getStaNo()<4000){
+ basAgvMast.setFloorNo(2);
+ }else{
+ basAgvMast.setFloorNo(3);
+ }
basAgvMast.setTaskNo(wrkMast.getWrkNo());
basAgvMast.setSourceStaNo(outStaAgv.getStaNo());
basAgvMast.setLocNo(dto.getLocNo());
@@ -4814,12 +4820,12 @@
JSONObject jsonObject = JSON.parseObject(response);
if (jsonObject.getInteger("code").equals(200)) {
StartupDto dto = jsonObject.getObject("data", StartupDto.class);
-
basAgvMast.setTaskNo(outStaAgv.getStaNo());
basAgvMast.setSourceStaNo(outStaAgv.getStaNo());
basAgvMast.setLocNo(dto.getLocNo());
basAgvMast.setDevpId(devp.getId());
basAgvMast.setIoType(2);
+ basAgvMast.setFloorNo(2);
basAgvMastService.insert(basAgvMast);
} else {
@@ -4951,7 +4957,7 @@
}
try{
// 鑾峰彇绔欑偣淇℃伅
- SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, basAgvMast.getDevpId());
+ SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, basAgvMast.getFloorNo() !=1?2:1);
StaProtocol staProtocol = devpThread.getStation().get(basAgvMast.getStaNo());
if (staProtocol == null) {
continue;
@@ -5025,7 +5031,7 @@
}
try{
// 鑾峰彇绔欑偣淇℃伅
- SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, basAgvMast.getDevpId());
+ SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, basAgvMast.getFloorNo() !=1?2:1);
StaProtocol staProtocol = devpThread.getStation().get(basAgvMast.getSourceStaNo());
if (staProtocol == null || !staProtocol.isLoading()) {
continue;
@@ -5038,11 +5044,25 @@
(basAgvMast.getSourceStaNo().equals(2033))){
AgvTaskAssignmentParam agvTaskAssignmentParam = new AgvTaskAssignmentParam(basAgvMast);
- AgvBindCtnrAndBinParam agvBindCtnrAndBinParam = new AgvBindCtnrAndBinParam(basAgvMast);
- WrkMast wrkMast = wrkMastService.selectByWrkNo(staProtocol.getWorkNo());
- agvBindCtnrAndBinParam.setCtnrCode(wrkMast.getBarcode());
- ReturnT<String> resultBind = new PostMesDataUtils().postMesDataAgv("AGV瀹瑰櫒缁戝畾瑙g粦", AgvConstant.AGV_URL, AgvConstant.AGV_ADAPTOR, agvBindCtnrAndBinParam);
- if (resultBind.getCode()==200){
+ if(basAgvMast.getFloorNo()==1) {
+ WrkMast wrkMast = wrkMastService.selectByWrkNo(staProtocol.getWorkNo());
+ AgvBindCtnrAndBinParam agvBindCtnrAndBinParam = new AgvBindCtnrAndBinParam(basAgvMast);
+ agvBindCtnrAndBinParam.setCtnrCode(wrkMast.getBarcode());
+ agvBindCtnrAndBinParam.setCtnrTyp("1");
+ ReturnT<String> resultBind = new PostMesDataUtils().postMesDataAgv("AGV瀹瑰櫒缁戝畾瑙g粦", AgvConstant.AGV_URL, AgvConstant.AGV_CTNRANDBING, agvBindCtnrAndBinParam);
+ if (resultBind.getCode()==200){
+ //浠诲姟涓嬪彂
+ ReturnT<String> result = new PostMesDataUtils().postMesDataAgv("AGV浠诲姟涓嬪彂", AgvConstant.AGV_URL, AgvConstant.AGV_ADAPTOR, agvTaskAssignmentParam);
+ if (result.getCode()==200){
+ basAgvMast.setStatus(1);
+ basAgvMastService.updateById(basAgvMast);
+ } else {
+ agvTaskAssignmentCallApiLogSave(basAgvMast, "AGV浠诲姟涓嬪彂澶辫触", "浠诲姟鍙凤細"+basAgvMast.getTaskNo()+"浠诲姟淇℃伅涓嬪彂澶辫触锛侊紒锛�", false);
+ }
+ } else {
+ agvTaskAssignmentCallApiLogSave(basAgvMast, "AGV瀹瑰櫒缁戝畾瑙g粦", "浠诲姟鍙凤細"+basAgvMast.getTaskNo()+"浠诲姟淇℃伅涓嬪彂澶辫触锛侊紒锛�", false);
+ }
+ }else{
//浠诲姟涓嬪彂
ReturnT<String> result = new PostMesDataUtils().postMesDataAgv("AGV浠诲姟涓嬪彂", AgvConstant.AGV_URL, AgvConstant.AGV_ADAPTOR, agvTaskAssignmentParam);
if (result.getCode()==200){
@@ -5051,17 +5071,8 @@
} else {
agvTaskAssignmentCallApiLogSave(basAgvMast, "AGV浠诲姟涓嬪彂澶辫触", "浠诲姟鍙凤細"+basAgvMast.getTaskNo()+"浠诲姟淇℃伅涓嬪彂澶辫触锛侊紒锛�", false);
}
- } else {
- agvTaskAssignmentCallApiLogSave(basAgvMast, "AGV瀹瑰櫒缁戝畾瑙g粦", "浠诲姟鍙凤細"+basAgvMast.getTaskNo()+"浠诲姟淇℃伅涓嬪彂澶辫触锛侊紒锛�", false);
}
-// //浠诲姟涓嬪彂
-// ReturnT<String> result = new PostMesDataUtils().postMesDataAgv("AGV浠诲姟涓嬪彂", AgvConstant.AGV_URL, AgvConstant.AGV_ADAPTOR, agvTaskAssignmentParam);
-// if (result.getCode()==200){
-// basAgvMast.setStatus(1);
-// basAgvMastService.updateById(basAgvMast);
-// } else {
-// agvTaskAssignmentCallApiLogSave(basAgvMast, "AGV浠诲姟涓嬪彂澶辫触", "浠诲姟鍙凤細"+basAgvMast.getTaskNo()+"浠诲姟淇℃伅涓嬪彂澶辫触锛侊紒锛�", false);
-// }
+//
}
} catch (Exception e){
log.error("浠诲姟鍙凤細"+basAgvMast.getTaskNo()+"====銆婣GV浠诲姟涓嬪彂澶辫触"+e.getMessage());
@@ -5084,7 +5095,7 @@
}
try{
// 鑾峰彇绔欑偣淇℃伅
- SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, basAgvMast.getDevpId());
+ SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, basAgvMast.getFloorNo() !=1?2:1);
StaProtocol staProtocol = devpThread.getStation().get(basAgvMast.getSourceStaNo());
if (staProtocol == null || !staProtocol.isLoading()) {
continue;
--
Gitblit v1.9.1