From 8980782bebfd40b2a56169e4fb53686882e87a97 Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期五, 26 十二月 2025 14:20:44 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 663 +++++++++++++++++++++++++++++++-----------------------
1 files changed, 377 insertions(+), 286 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 b94ec5b..e305d9d 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -114,6 +114,8 @@
@Autowired
private BasDevpOptService basDevpOptService;
@Autowired
+ private BasRgvOptService basRgvOptService;
+ @Autowired
private MatService matService;
@Value("${wms.url}")
@@ -1038,7 +1040,11 @@
if (jsonObject.getInteger("code").equals(200)) {
staProtocolOut.setWorkNo(9997);
devpThread.setPakMk(staProtocolOut.getSiteId(), false);
- boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocolOut));
+ Integer devpId = 1;
+ if(staProtocolOut.getSiteId() > 2000){
+ devpId = 2;
+ }
+ boolean result = MessageQueue.offer(SlaveType.Devp, devpId, new Task(2, staProtocolOut));
if (!result) {
throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
@@ -1082,7 +1088,11 @@
if (jsonObject.getInteger("code").equals(200)) {
staProtocolIn.setWorkNo(9996);
devpThread.setPakMk(staProtocolIn.getSiteId(), false);
- boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocolIn));
+ Integer devpId = 1;
+ if(staProtocolIn.getSiteId() > 2000){
+ devpId = 2;
+ }
+ boolean result = MessageQueue.offer(SlaveType.Devp, devpId, new Task(2, staProtocolIn));
if (!result) {
throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
@@ -1149,11 +1159,28 @@
}
}
}
+
+ if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getTaskNo() == 0 && crnProtocol.getModeType() == CrnModeType.AUTO
+ && crnProtocol.getLoaded() == 0 && crnProtocol.getForkPos() == 0 && crnProtocol.getCrnNo() == 3) {
+ News.warnNoLog(""+mark+" - 0"+" - 寮�濮嬫墽琛屽爢鍨涙満鍏ュ嚭搴撲綔涓氫笅鍙�");
+ if (crnProtocol.getLastIo().equals("O")) {
+ if (basCrnp.getInEnable().equals("Y")) {
+ this.locToCrnStn9996(crn, crnProtocol,mark); // 鍏ュ簱
+ }
+ }
+ // 濡傛灉鏈�杩戜竴娆℃槸鍑哄簱妯″紡
+ else if (crnProtocol.getLastIo().equals("I")) {
+ if (basCrnp.getOutEnable().equals("Y")) {
+ this.locToCrnStn9997(crn, crnProtocol,mark); // 鍑哄簱
+ }
+ }
+ }
+
// 搴撲綅绉昏浆
//mark - 3 - ....
this.locToLoc(crn, crnProtocol,mark);
//棰勮皟搴�
- this.crnRebackHp(crn, crnProtocol, crnThread);
+// this.crnRebackHp(crn, crnProtocol, crnThread);
}
// News.infoNoLog(""+mark+" - 0"+" - 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂鎵ц瀹屾垚");
@@ -1171,11 +1198,12 @@
new EntityWrapper<BasCrnp>().eq("crn_no", crnProtocol.getCrnNo())
);
boolean result = true;
- if(crnProtocol.getCrnNo() != 5){
- return;
- }
+
for (CrnSlave.CrnStn crnStn : slave.getCrnInStn()) {
DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId());
+ if(crnStn.getStaNo() == 4001){
+ continue;
+ }
StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo2());
if (staProtocol == null) {
News.infoNoLog(" - 鍫嗗灈鏈哄叆搴撶珯淇℃伅(staProtocol!=null缁х画鎵ц)锛歴taProtocol="+staProtocol);
@@ -1190,8 +1218,8 @@
int x=1;
switch (crnProtocol.getCrnNo()){
case 1: x =2; break;
- case 2: x =6; break;
- case 3: x =11; break;
+ case 2: x =7; break;
+ case 3: x =10; break;
case 4: x =14; break;
case 5: x =18; break;
}
@@ -1203,10 +1231,6 @@
return;
}
}
- if(crnProtocol.getCrnNo() != 5){
- return;
- }
-
// 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�3,12
if (wrkMastMapper.selectWorking(crnProtocol.getCrnNo()) != null) {
return;
@@ -1464,214 +1488,15 @@
// 鑾峰彇宸ヤ綔鐘舵�佷负11锛堢敓鎴愬嚭搴揑D锛夌殑鍑哄簱宸ヤ綔妗�
// WrkMast wrkMast = wrkMastMapper.selectPakOutStep1(slave.getId(), crnStn.getStaNo());
List<WrkMast> wrkMasts = wrkMastMapper.selectPakOutStep11(slave.getId(), crnStn.getStaNo());
- WrkMast wrkMast9997 = wrkMastMapper.selectByWrkNo9997(9997);
- WrkMast wrkMast9996 = wrkMastMapper.selectByWrkNo9997(9996);
-
-
- if (slave.getId() == 3 && wrkMast9997 != null) {
- SiemensDevpThread devpThread1 = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
- StaProtocol staProtocol2 = devpThread1.getStation().get(1015);
- if (staProtocol2 == null) {
- News.infoNoLog("" + mark + " - 2" + " - 3" + " - 鍫嗗灈鏈哄嚭搴撶珯淇℃伅(staProtocol!=null缁х画鎵ц,鍚﹀垯寰幆缁堟)锛歴taProtocol=" + staProtocol2);
- break;
- } else {
- staProtocol2 = staProtocol2.clone();
- }
- SiemensDevpThread devpThread2 = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 2);
- StaProtocol staProtocol4004 = devpThread2.getStation().get(4004);
- if (staProtocol4004 == null) {
- News.infoNoLog("" + mark + " - 2" + " - 3" + " - 鍫嗗灈鏈哄嚭搴撶珯淇℃伅(staProtocol!=null缁х画鎵ц,鍚﹀垯寰幆缁堟)锛歴taProtocol=" + staProtocol4004);
- break;
- } else {
- staProtocol4004 = staProtocol4004.clone();
- }
- StaProtocol staProtocol3 = devpThread2.getStation().get(2016);
- if (staProtocol3 == null) {
- News.infoNoLog("" + mark + " - 2" + " - 3" + " - 鍫嗗灈鏈哄嚭搴撶珯淇℃伅(staProtocol!=null缁х画鎵ц,鍚﹀垯寰幆缁堟)锛歴taProtocol=" + staProtocol2);
- break;
- } else {
- staProtocol3 = staProtocol3.clone();
- }
- BasDevp staDetl = basDevpService.selectById(crnStn.getStaNo());
- if (staDetl == null) {
- News.error(""+mark+" - 2"+" - 5"+" - 鍑哄簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo());
- break;
-// continue;
- }
- if(staProtocol2.isLoading() && staProtocol2.isAutoing() && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y")){
- // 鍫嗗灈鏈烘帶鍒惰繃婊�
- if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) {
-// continue;
- break;
- }
- // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�
- if (wrkMastMapper.selectWorking(slave.getId()) != null) {
- break;
-// return;
- }
- if(staProtocol4004.isLoading()){
- continue;
- }
- // 1.鍫嗗灈鏈哄紑濮嬬Щ鍔�
- CrnCommand crnCommand = new CrnCommand();
- crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙�
- crnCommand.setTaskNo((short) 9997); // 宸ヤ綔鍙�
-// crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
- crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆
- crnCommand.setSourcePosX((short) 9); // 婧愬簱浣嶆帓
- crnCommand.setSourcePosY((short) 52); // 婧愬簱浣嶅垪
- crnCommand.setSourcePosZ((short) 1); // 婧愬簱浣嶅眰
- crnCommand.setDestinationPosX((short) 11); // 鐩爣搴撲綅鎺�
- crnCommand.setDestinationPosY((short) 52); // 鐩爣搴撲綅鍒�
- crnCommand.setDestinationPosZ((short) 3); // 鐩爣搴撲綅灞�
-// crnCommand.setTraySize(sourceSta.getLocType1() == 2); //搴撲綅绫诲瀷
- if (!MessageQueue.offer(SlaveType.Crn, wrkMast9997.getCrnNo(), new Task(2, crnCommand))) {
- News.error("" + mark + " - 2" + " - 13" + " - 鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast9997.getCrnNo(), JSON.toJSON(crnCommand));
- } else {
- // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓�
- Date now = new Date();
- wrkMast9997.setWrkSts(12L);
- wrkMast9997.setCrnStrTime(now);
- wrkMast9997.setModiTime(now);
- if (wrkMastMapper.updateById(wrkMast9997) == 0) {
- News.error("" + mark + " - 2" + " - 14" + " - 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast9997.getWrkNo());
- }
- break;
- }
- }
- if(staProtocol3.isLoading() && staProtocol3.isAutoing()){
- // 鍫嗗灈鏈烘帶鍒惰繃婊�
- if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) {
-// continue;
- break;
- }
- // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�
- if (wrkMastMapper.selectWorking(slave.getId()) != null) {
- break;
-// return;
- }
- if(staProtocol4004.isLoading()){
- continue;
- }
- // 1.鍫嗗灈鏈哄紑濮嬬Щ鍔�
- CrnCommand crnCommand = new CrnCommand();
- crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙�
- crnCommand.setTaskNo((short) 9997); // 宸ヤ綔鍙�
-// crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
- crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆
- crnCommand.setSourcePosX((short) 11); // 婧愬簱浣嶆帓
- crnCommand.setSourcePosY((short) 52); // 婧愬簱浣嶅垪
- crnCommand.setSourcePosZ((short) 2); // 婧愬簱浣嶅眰
- crnCommand.setDestinationPosX((short) 11); // 鐩爣搴撲綅鎺�
- crnCommand.setDestinationPosY((short) 52); // 鐩爣搴撲綅鍒�
- crnCommand.setDestinationPosZ((short) 3); // 鐩爣搴撲綅灞�
-// crnCommand.setTraySize(sourceSta.getLocType1() == 2); //搴撲綅绫诲瀷
- if (!MessageQueue.offer(SlaveType.Crn, wrkMast9997.getCrnNo(), new Task(2, crnCommand))) {
- News.error("" + mark + " - 2" + " - 13" + " - 鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast9997.getCrnNo(), JSON.toJSON(crnCommand));
- } else {
- // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓�
- Date now = new Date();
- wrkMast9997.setWrkSts(12L);
- wrkMast9997.setCrnStrTime(now);
- wrkMast9997.setModiTime(now);
- if (wrkMastMapper.updateById(wrkMast9997) == 0) {
- News.error("" + mark + " - 2" + " - 14" + " - 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast9997.getWrkNo());
- }
- break;
- }
- }
- }
- if (slave.getId() == 3 && wrkMast9996 != null) {
- SiemensDevpThread devpThread1 = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
-
- SiemensDevpThread devpThread2 = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 2);
- StaProtocol staProtocol4001 = devpThread2.getStation().get(4001);
- if (staProtocol4001 == null) {
- News.infoNoLog("" + mark + " - 2" + " - 3" + " - 鍫嗗灈鏈哄嚭搴撶珯淇℃伅(staProtocol!=null缁х画鎵ц,鍚﹀垯寰幆缁堟)锛歴taProtocol=" + staProtocol4001);
- break;
- } else {
- staProtocol4001 = staProtocol4001.clone();
- }
- StaProtocol staProtocol2013 = devpThread2.getStation().get(2013);
- if (staProtocol2013 == null) {
- News.infoNoLog("" + mark + " - 2" + " - 3" + " - 鍫嗗灈鏈哄嚭搴撶珯淇℃伅(staProtocol!=null缁х画鎵ц,鍚﹀垯寰幆缁堟)锛歴taProtocol=" + staProtocol2013);
- break;
- } else {
- staProtocol2013 = staProtocol2013.clone();
- }
- StaProtocol staProtocol1019 = devpThread1.getStation().get(1019);
- if (staProtocol1019 == null) {
- News.infoNoLog("" + mark + " - 2" + " - 3" + " - 鍫嗗灈鏈哄嚭搴撶珯淇℃伅(staProtocol!=null缁х画鎵ц,鍚﹀垯寰幆缁堟)锛歴taProtocol=" + staProtocol1019);
- break;
- } else {
- staProtocol1019 = staProtocol1019.clone();
- }
- BasDevp staDetl = basDevpService.selectById(crnStn.getStaNo());
- if (staDetl == null) {
- News.error(""+mark+" - 2"+" - 5"+" - 鍑哄簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo());
- break;
-// continue;
- }
- if(staProtocol4001.isLoading() && staProtocol4001.isAutoing() && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y")){
- // 鍫嗗灈鏈烘帶鍒惰繃婊�
- if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) {
-// continue;
- break;
- }
- // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�
- if (wrkMastMapper.selectWorking(slave.getId()) != null) {
- break;
-// return;
- }
- if(staProtocol1019.isLoading() && wrkMast9996.getStaNo() < 2000){
- continue;
- }
- if(staProtocol2013.isLoading() && wrkMast9996.getStaNo() > 2000){
- continue;
- }
- // 1.鍫嗗灈鏈哄紑濮嬬Щ鍔�
- CrnCommand crnCommand = new CrnCommand();
- crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙�
- crnCommand.setTaskNo((short) 9996); // 宸ヤ綔鍙�
-// crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
- crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆
- crnCommand.setSourcePosX((short) 9); // 婧愬簱浣嶆帓
- crnCommand.setSourcePosY((short) 52); // 婧愬簱浣嶅垪
- crnCommand.setSourcePosZ((short) 3); // 婧愬簱浣嶅眰
- if(wrkMast9996.getStaNo()>2000){
- crnCommand.setDestinationPosX((short) 9); // 鐩爣搴撲綅鎺�
- crnCommand.setDestinationPosY((short) 52); // 鐩爣搴撲綅鍒�
- crnCommand.setDestinationPosZ((short) 2); // 鐩爣搴撲綅灞�
- }else{
- crnCommand.setDestinationPosX((short) 11); // 鐩爣搴撲綅鎺�
- crnCommand.setDestinationPosY((short) 52); // 鐩爣搴撲綅鍒�
- crnCommand.setDestinationPosZ((short) 1); // 鐩爣搴撲綅灞�
- }
-// crnCommand.setTraySize(sourceSta.getLocType1() == 2); //搴撲綅绫诲瀷
- if (!MessageQueue.offer(SlaveType.Crn, wrkMast9996.getCrnNo(), new Task(2, crnCommand))) {
- News.error("" + mark + " - 2" + " - 13" + " - 鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast9996.getCrnNo(), JSON.toJSON(crnCommand));
- } else {
- // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓�
- Date now = new Date();
- wrkMast9996.setWrkSts(12L);
- wrkMast9996.setCrnStrTime(now);
- wrkMast9996.setModiTime(now);
- if (wrkMastMapper.updateById(wrkMast9996) == 0) {
- News.error("" + mark + " - 2" + " - 14" + " - 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast9996.getWrkNo());
- }
- break;
- }
- }
- }
for (WrkMast wrkMast : wrkMasts) {
if (wrkMast == null) {
continue;
}
if (wrkMast.getIoType() == 107){
int count = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("io_type", wrkMast.getIoType()).eq("wrk_sts", 14));
- if (count >= inventoryNumber) {
- continue;
- }
+// if (count >= inventoryNumber) {
+// continue;
+// }
}
// 宸ヤ綔妗g姸鎬佸垽鏂�
if (wrkMast.getIoType() < 100 || wrkMast.getSourceStaNo() == null) {
@@ -1819,6 +1644,222 @@
News.infoNoLog(""+mark+" - 2"+" - 0"+" - 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂 锛� 鍑哄簱鎵ц瀹屾瘯");
}
+ public synchronized void locToCrnStn9996(CrnSlave slave, CrnProtocol crnProtocol,Integer mark) {
+ News.warnNoLog(""+mark+" - 2"+" - 0"+" - 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂锛氭墽琛屽嚭搴�");
+ for (CrnSlave.CrnStn crnStn : slave.getCrnOutStn()) {
+ // 鑾峰彇宸ヤ綔鐘舵�佷负11锛堢敓鎴愬嚭搴揑D锛夌殑鍑哄簱宸ヤ綔妗�
+// WrkMast wrkMast = wrkMastMapper.selectPakOutStep1(slave.getId(), crnStn.getStaNo());
+ List<WrkMast> wrkMasts = wrkMastMapper.selectPakOutStep11(slave.getId(), crnStn.getStaNo());
+ WrkMast wrkMast9996 = wrkMastMapper.selectByWrkNo9997(9996);
+ if (slave.getId() == 3 && wrkMast9996 != null) {
+ SiemensDevpThread devpThread1 = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+
+ SiemensDevpThread devpThread2 = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 2);
+ StaProtocol staProtocol4001 = devpThread2.getStation().get(4001);
+ if (staProtocol4001 == null) {
+ News.infoNoLog("" + mark + " - 2" + " - 3" + " - 鍫嗗灈鏈哄嚭搴撶珯淇℃伅(staProtocol!=null缁х画鎵ц,鍚﹀垯寰幆缁堟)锛歴taProtocol=" + staProtocol4001);
+ break;
+ } else {
+ staProtocol4001 = staProtocol4001.clone();
+ }
+ StaProtocol staProtocol2013 = devpThread2.getStation().get(2013);
+ if (staProtocol2013 == null) {
+ News.infoNoLog("" + mark + " - 2" + " - 3" + " - 鍫嗗灈鏈哄嚭搴撶珯淇℃伅(staProtocol!=null缁х画鎵ц,鍚﹀垯寰幆缁堟)锛歴taProtocol=" + staProtocol2013);
+ break;
+ } else {
+ staProtocol2013 = staProtocol2013.clone();
+ }
+ StaProtocol staProtocol1019 = devpThread1.getStation().get(1019);
+ if (staProtocol1019 == null) {
+ News.infoNoLog("" + mark + " - 2" + " - 3" + " - 鍫嗗灈鏈哄嚭搴撶珯淇℃伅(staProtocol!=null缁х画鎵ц,鍚﹀垯寰幆缁堟)锛歴taProtocol=" + staProtocol1019);
+ break;
+ } else {
+ staProtocol1019 = staProtocol1019.clone();
+ }
+ BasDevp staDetl = basDevpService.selectById(crnStn.getStaNo());
+ if (staDetl == null) {
+ News.error(""+mark+" - 2"+" - 5"+" - 鍑哄簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo());
+ break;
+// continue;
+ }
+ if(staProtocol4001.isLoading() && staProtocol4001.isAutoing() && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y")){
+ // 鍫嗗灈鏈烘帶鍒惰繃婊�
+ if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) {
+// continue;
+ break;
+ }
+ // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�
+ if (wrkMastMapper.selectWorking(slave.getId()) != null) {
+ break;
+// return;
+ }
+ if(staProtocol1019.isLoading() && wrkMast9996.getStaNo() < 2000){
+ continue;
+ }
+ if(staProtocol2013.isLoading() && wrkMast9996.getStaNo() > 2000){
+ continue;
+ }
+ // 1.鍫嗗灈鏈哄紑濮嬬Щ鍔�
+ CrnCommand crnCommand = new CrnCommand();
+ crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙�
+ crnCommand.setTaskNo((short) 9996); // 宸ヤ綔鍙�
+// crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
+ crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆
+ crnCommand.setSourcePosX((short) 9); // 婧愬簱浣嶆帓
+ crnCommand.setSourcePosY((short) 52); // 婧愬簱浣嶅垪
+ crnCommand.setSourcePosZ((short) 3); // 婧愬簱浣嶅眰
+ if(wrkMast9996.getStaNo()>2000){
+ crnCommand.setDestinationPosX((short) 9); // 鐩爣搴撲綅鎺�
+ crnCommand.setDestinationPosY((short) 52); // 鐩爣搴撲綅鍒�
+ crnCommand.setDestinationPosZ((short) 2); // 鐩爣搴撲綅灞�
+ }else{
+ crnCommand.setDestinationPosX((short) 11); // 鐩爣搴撲綅鎺�
+ crnCommand.setDestinationPosY((short) 52); // 鐩爣搴撲綅鍒�
+ crnCommand.setDestinationPosZ((short) 1); // 鐩爣搴撲綅灞�
+ }
+// crnCommand.setTraySize(sourceSta.getLocType1() == 2); //搴撲綅绫诲瀷
+ if (!MessageQueue.offer(SlaveType.Crn, wrkMast9996.getCrnNo(), new Task(2, crnCommand))) {
+ News.error("" + mark + " - 2" + " - 13" + " - 鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast9996.getCrnNo(), JSON.toJSON(crnCommand));
+ } else {
+ // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓�
+ Date now = new Date();
+ wrkMast9996.setWrkSts(12L);
+ wrkMast9996.setCrnStrTime(now);
+ wrkMast9996.setModiTime(now);
+ if (wrkMastMapper.updateById(wrkMast9996) == 0) {
+ News.error("" + mark + " - 2" + " - 14" + " - 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast9996.getWrkNo());
+ }
+ break;
+ }
+ }
+ }
+ }
+ News.infoNoLog(""+mark+" - 2"+" - 0"+" - 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂 锛� 鍑哄簱鎵ц瀹屾瘯");
+ }
+ public synchronized void locToCrnStn9997(CrnSlave slave, CrnProtocol crnProtocol,Integer mark) {
+ News.warnNoLog(""+mark+" - 2"+" - 0"+" - 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂锛氭墽琛屽嚭搴�");
+ for (CrnSlave.CrnStn crnStn : slave.getCrnOutStn()) {
+ // 鑾峰彇宸ヤ綔鐘舵�佷负11锛堢敓鎴愬嚭搴揑D锛夌殑鍑哄簱宸ヤ綔妗�
+// WrkMast wrkMast = wrkMastMapper.selectPakOutStep1(slave.getId(), crnStn.getStaNo());
+ List<WrkMast> wrkMasts = wrkMastMapper.selectPakOutStep11(slave.getId(), crnStn.getStaNo());
+ WrkMast wrkMast9997 = wrkMastMapper.selectByWrkNo9997(9997);
+
+ if (slave.getId() == 3 && wrkMast9997 != null) {
+ SiemensDevpThread devpThread1 = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+ StaProtocol staProtocol2 = devpThread1.getStation().get(1015);
+ if (staProtocol2 == null) {
+ News.infoNoLog("" + mark + " - 2" + " - 3" + " - 鍫嗗灈鏈哄嚭搴撶珯淇℃伅(staProtocol!=null缁х画鎵ц,鍚﹀垯寰幆缁堟)锛歴taProtocol=" + staProtocol2);
+ break;
+ } else {
+ staProtocol2 = staProtocol2.clone();
+ }
+ SiemensDevpThread devpThread2 = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 2);
+ StaProtocol staProtocol4004 = devpThread2.getStation().get(4004);
+ if (staProtocol4004 == null) {
+ News.infoNoLog("" + mark + " - 2" + " - 3" + " - 鍫嗗灈鏈哄嚭搴撶珯淇℃伅(staProtocol!=null缁х画鎵ц,鍚﹀垯寰幆缁堟)锛歴taProtocol=" + staProtocol4004);
+ break;
+ } else {
+ staProtocol4004 = staProtocol4004.clone();
+ }
+ StaProtocol staProtocol3 = devpThread2.getStation().get(2016);
+ if (staProtocol3 == null) {
+ News.infoNoLog("" + mark + " - 2" + " - 3" + " - 鍫嗗灈鏈哄嚭搴撶珯淇℃伅(staProtocol!=null缁х画鎵ц,鍚﹀垯寰幆缁堟)锛歴taProtocol=" + staProtocol2);
+ break;
+ } else {
+ staProtocol3 = staProtocol3.clone();
+ }
+ BasDevp staDetl = basDevpService.selectById(crnStn.getStaNo());
+ if (staDetl == null) {
+ News.error("" + mark + " - 2" + " - 5" + " - 鍑哄簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo());
+ break;
+// continue;
+ }
+ if (staProtocol2.isLoading() && staProtocol2.isAutoing() && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y")) {
+ // 鍫嗗灈鏈烘帶鍒惰繃婊�
+ if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) {
+// continue;
+ break;
+ }
+ // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�
+ if (wrkMastMapper.selectWorking(slave.getId()) != null) {
+ break;
+// return;
+ }
+ if (staProtocol4004.isLoading()) {
+ continue;
+ }
+ // 1.鍫嗗灈鏈哄紑濮嬬Щ鍔�
+ CrnCommand crnCommand = new CrnCommand();
+ crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙�
+ crnCommand.setTaskNo((short) 9997); // 宸ヤ綔鍙�
+// crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
+ crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆
+ crnCommand.setSourcePosX((short) 9); // 婧愬簱浣嶆帓
+ crnCommand.setSourcePosY((short) 52); // 婧愬簱浣嶅垪
+ crnCommand.setSourcePosZ((short) 1); // 婧愬簱浣嶅眰
+ crnCommand.setDestinationPosX((short) 11); // 鐩爣搴撲綅鎺�
+ crnCommand.setDestinationPosY((short) 52); // 鐩爣搴撲綅鍒�
+ crnCommand.setDestinationPosZ((short) 3); // 鐩爣搴撲綅灞�
+// crnCommand.setTraySize(sourceSta.getLocType1() == 2); //搴撲綅绫诲瀷
+ if (!MessageQueue.offer(SlaveType.Crn, wrkMast9997.getCrnNo(), new Task(2, crnCommand))) {
+ News.error("" + mark + " - 2" + " - 13" + " - 鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast9997.getCrnNo(), JSON.toJSON(crnCommand));
+ } else {
+ // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓�
+ Date now = new Date();
+ wrkMast9997.setWrkSts(12L);
+ wrkMast9997.setCrnStrTime(now);
+ wrkMast9997.setModiTime(now);
+ if (wrkMastMapper.updateById(wrkMast9997) == 0) {
+ News.error("" + mark + " - 2" + " - 14" + " - 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast9997.getWrkNo());
+ }
+ break;
+ }
+ }
+ if (staProtocol3.isLoading() && staProtocol3.isAutoing()) {
+ // 鍫嗗灈鏈烘帶鍒惰繃婊�
+ if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) {
+// continue;
+ break;
+ }
+ // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�
+ if (wrkMastMapper.selectWorking(slave.getId()) != null) {
+ break;
+// return;
+ }
+ if (staProtocol4004.isLoading()) {
+ continue;
+ }
+ // 1.鍫嗗灈鏈哄紑濮嬬Щ鍔�
+ CrnCommand crnCommand = new CrnCommand();
+ crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙�
+ crnCommand.setTaskNo((short) 9997); // 宸ヤ綔鍙�
+// crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
+ crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆
+ crnCommand.setSourcePosX((short) 11); // 婧愬簱浣嶆帓
+ crnCommand.setSourcePosY((short) 52); // 婧愬簱浣嶅垪
+ crnCommand.setSourcePosZ((short) 2); // 婧愬簱浣嶅眰
+ crnCommand.setDestinationPosX((short) 11); // 鐩爣搴撲綅鎺�
+ crnCommand.setDestinationPosY((short) 52); // 鐩爣搴撲綅鍒�
+ crnCommand.setDestinationPosZ((short) 3); // 鐩爣搴撲綅灞�
+// crnCommand.setTraySize(sourceSta.getLocType1() == 2); //搴撲綅绫诲瀷
+ if (!MessageQueue.offer(SlaveType.Crn, wrkMast9997.getCrnNo(), new Task(2, crnCommand))) {
+ News.error("" + mark + " - 2" + " - 13" + " - 鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast9997.getCrnNo(), JSON.toJSON(crnCommand));
+ } else {
+ // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓�
+ Date now = new Date();
+ wrkMast9997.setWrkSts(12L);
+ wrkMast9997.setCrnStrTime(now);
+ wrkMast9997.setModiTime(now);
+ if (wrkMastMapper.updateById(wrkMast9997) == 0) {
+ News.error("" + mark + " - 2" + " - 14" + " - 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast9997.getWrkNo());
+ }
+ break;
+ }
+ }
+ }
+ }
+ News.infoNoLog(""+mark+" - 2"+" - 0"+" - 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂 锛� 鍑哄簱鎵ц瀹屾瘯");
+ }
// /**
// * 鍑哄簱 ===>> 搴撲綅鍒板爢鍨涙満绔�
// */
@@ -2433,7 +2474,7 @@
} else {
total = locDetl.getAnfme();
}
- if (wrkMast.getIoType() == 101 || wrkMast.getIoType() == 1) {
+ if (wrkMast.getIoType() == 101 || wrkMast.getIoType() == 1 ||wrkMast.getIoType() == 57 || wrkMast.getIoType() == 53) {
ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getOrderNo(), wrkDetl.getBoxType3(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(),wrkDetl.getAnfme(),total));
}
if (wrkMast.getIoType() == 103 && (null == wrkDetl.getInspect() || 0 == wrkDetl.getInspect())) {
@@ -2970,7 +3011,7 @@
//濡傛灉绔欑偣鍙嚭绂佺敤锛屽垯涓嶇敓鎴愮┖鐩樺嚭搴撲换鍔�
switch (site){
case 1108:staProtocol = devpThread.getStation().get(site - 2);break;
- case 2031:staProtocol = devpThread2.getStation().get(site);break;
+ case 2031:staProtocol = devpThread2.getStation().get(site + 1);break;
}
if (staProtocol == null) {
return;
@@ -3721,7 +3762,29 @@
rgvThread.setPakMk(false); //灏忚溅鍙屽伐浣嶉攣瀹�
}
+ }
+ }
+ public synchronized void rgvIoExecuteScheduling() {
+ for (RgvSlave rgv : slaveProperties.getRgv()) {
+ RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId());
+ RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
+ if (rgvProtocol == null) {
+ continue;
+ }
+ BasRgv basRgv = basRgvService.selectById(rgv.getId());
+ if (basRgv == null) {
+ log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�4", rgv.getId());
+ continue;
+ }
+ if(rgvProtocol.getStatusType1() == RgvStatusType.WORKING){
+ rgvThread.setPaking(true);
+ }
+
+ if(rgvProtocol.isLoaded1ing() && rgvProtocol.isLoaded2ing()){
+ basRgv.setPakAll("1");
+ basRgvService.updateById(basRgv);
+ }
if(rgvProtocol.getStatusType1() == RgvStatusType.IDLE &&
rgvProtocol.getModeType() == RgvModeType.AUTO && rgvThread.isPakMk()
&& rgvThread.isPaking() && basRgv.getPakAll().equals("1")){
@@ -3989,7 +4052,7 @@
sign = rgvTakeFullAll(basRgvMap.getRgvNo(), wrkMastSta); //鍛戒护涓嬪彂
if (sign){
- if(wrkMastSta.getMk() == 1){//鑻ュ凡鎵ц
+ if(wrkMastSta.getMk() != null && wrkMastSta.getMk() == 1){//鑻ュ凡鎵ц
basRgv.setPakAll("1");
basRgvService.updateById(basRgv);
}
@@ -4043,6 +4106,8 @@
//閬嶅巻rgv鍏ュ簱鍙栬揣绔欑偣
DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, rgvStn.getDevpPlcId());
StaProtocol staProtocol = devpThread.getStation().get(rgvStn.getStaNo2());
+ StaProtocol staProtocol2 = devpThread.getStation().get(rgvStn.getStaNo());
+
RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, (int) rgvProtocol.getRgvNo());
BasRgv basRgv = basRgvService.selectById(slave.getId());
if (basRgv == null) {
@@ -4052,7 +4117,9 @@
if(staProtocol.getWorkNo() == 0){
continue;
}
- StaProtocol staProtocol2 = null;
+ if(staProtocol2.getWorkNo() != 0 ){
+ continue;
+ }
WrkMastSta wrkMastSta3 = null;
// if(rgvStn.getStaNo2()!= null ){
@@ -4455,34 +4522,34 @@
}
//閬嶅巻rgv鍏ュ簱鍙栬揣绔欑偣
DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, rgvStn.getDevpPlcId());
- StaProtocol staProtocol = devpThread.getStation().get(rgvStn.getStaNo2()); //鍊掓暟绗簩涓�
+ StaProtocol staProtocol = devpThread.getStation().get(rgvStn.getStaNo2()==1043?1044:1103); //鍊掓暟绗簩涓�
StaProtocol staProtocol2 = null; //杩炵画鍙栬揣浠诲姟绔欑偣
RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, (int) rgvProtocol.getRgvNo());
- WrkMastSta wrkMastSta3 = null;//杩炲彇涓や釜
- Integer staNo = null; //涓庤皟搴�
- switch (rgvStn.getStaNo2()){
- case 1043: staNo = 1044;break;
- case 1104: staNo = 1103;break;
- }
- if(staNo != null ){
- staProtocol2 = devpThread.getStation().get(staNo);
- if (staProtocol2 == null) {
- News.infoNoLog(" - Rgv鍏ュ簱绔欎俊鎭�(staProtocol!=null缁х画鎵ц)锛歴taProtocol=" + staProtocol);
- continue;
- } else {
- staProtocol2 = staProtocol2.clone();
- }
- BasDevp staDetl2 = basDevpService.selectById(rgvStn.getStaNo2());
- if (staDetl2 == null) {
- News.error(" - 鍏ュ簱 ===>>Rgv绔欑偣鍦ㄦ暟鎹簱涓嶅瓨鍦�, 绔欑偣缂栧彿={}", rgvStn.getStaNo());
- continue;
- }
- if((staProtocol.getWorkNo()>9999 && staProtocol2.getWorkNo()>9999) || (staProtocol.getWorkNo()<10000 && staProtocol2.getWorkNo()<10000)){
- //褰撹繛缁彇璐х珯鐐逛负鐩稿悓绫诲瀷鏃舵墠鑳借繛缁彇
- wrkMastSta3 = wrkMastStaMapper.selectByWrkNo(staProtocol2.getWorkNo());
- }
-
- }
+// WrkMastSta wrkMastSta3 = null;//杩炲彇涓や釜
+// Integer staNo = null; //涓庤皟搴�
+// switch (rgvStn.getStaNo2()){
+// case 1043: staNo = 1044;break;
+// case 1104: staNo = 1103;break;
+// }
+// if(staNo != null ){
+// staProtocol2 = devpThread.getStation().get(staNo);
+// if (staProtocol2 == null) {
+// News.infoNoLog(" - Rgv鍏ュ簱绔欎俊鎭�(staProtocol!=null缁х画鎵ц)锛歴taProtocol=" + staProtocol);
+// continue;
+// } else {
+// staProtocol2 = staProtocol2.clone();
+// }
+// BasDevp staDetl2 = basDevpService.selectById(rgvStn.getStaNo2());
+// if (staDetl2 == null) {
+// News.error(" - 鍏ュ簱 ===>>Rgv绔欑偣鍦ㄦ暟鎹簱涓嶅瓨鍦�, 绔欑偣缂栧彿={}", rgvStn.getStaNo());
+// continue;
+// }
+// if((staProtocol.getWorkNo()>9999 && staProtocol2.getWorkNo()>9999) || (staProtocol.getWorkNo()<10000 && staProtocol2.getWorkNo()<10000)){
+// //褰撹繛缁彇璐х珯鐐逛负鐩稿悓绫诲瀷鏃舵墠鑳借繛缁彇
+// wrkMastSta3 = wrkMastStaMapper.selectByWrkNo(staProtocol2.getWorkNo());
+// }
+//
+// }
if(rgvProtocol.getTaskNo2() > 9999 && staProtocol.getWorkNo() < 10000){
continue;
}
@@ -4543,21 +4610,21 @@
sign = rgvTakeFullAll(basRgvMap.getRgvNo(), wrkMastSta); //鍛戒护涓嬪彂
if (sign){
- if(wrkMastSta3 != null ){
- List<WrkMastSta> wrkMastStaPaking = wrkMastStaService.selectPakingWrk(wrkMastSta3.getStaStart());
- if(wrkMastStaPaking.size() < 1 && !wrkMastSta3.getWrkNo().equals(wrkMastSta.getWrkNo())){//宸叉湁鏍囪涓嶅啀鏍囪
- wrkMastSta3.setMk(1);
- basRgv.setPakAll("0");
- basRgvService.updateById(basRgv);
-
- try{
- wrkMastStaMapper.updateById(wrkMastSta3);
- log.error("閿佸畾鐩搁殧绔欑偣浠诲姟");
- }catch (Exception e){
- log.error("閿佸畾鐩搁殧绔欑偣浠诲姟澶辫触");
- }
- }
- }
+// if(wrkMastSta3 != null ){
+// List<WrkMastSta> wrkMastStaPaking = wrkMastStaService.selectPakingWrk(wrkMastSta3.getStaStart());
+// if(wrkMastStaPaking.size() < 1 && !wrkMastSta3.getWrkNo().equals(wrkMastSta.getWrkNo())){//宸叉湁鏍囪涓嶅啀鏍囪
+// wrkMastSta3.setMk(1);
+// basRgv.setPakAll("0");
+// basRgvService.updateById(basRgv);
+//
+// try{
+// wrkMastStaMapper.updateById(wrkMastSta3);
+// log.error("閿佸畾鐩搁殧绔欑偣浠诲姟");
+// }catch (Exception e){
+// log.error("閿佸畾鐩搁殧绔欑偣浠诲姟澶辫触");
+// }
+// }
+// }
basRgv.setPakOut("0");//鍑哄簱涓嶅厑璁�
basRgvService.updateById(basRgv);
rgvThread.setPaking(false);//浠诲姟涓嬪彂閿佸畾
@@ -4600,6 +4667,21 @@
if (targetPosition == 1038) {
System.out.println("灏忚溅涓嬪彂鍛戒护鏃堕棿锛�" +
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS").format(now));
+ }
+ EntityWrapper<BasRgvOpt> entityWrapper = new EntityWrapper<>();
+ entityWrapper.eq("rgv_no", rgvId)
+ .orderBy("send_time");
+ BasRgvOpt basRgvOpt = basRgvOptService.selectOne(entityWrapper);
+ // 闃叉閲嶅涓嬪彂鍛戒护
+ if (basRgvOpt != null) {
+ // 鑾峰彇鏈�鏂拌褰曠殑 mode 瀵瑰簲鐨勪换鍔$被鍨�
+ RgvTaskStatusType latestTaskStatus = RgvTaskStatusType.valueOf(basRgvOpt.getMode());
+ // 鍒ゆ柇褰撳墠鍛戒护涓庢渶鏂拌褰曟槸鍚︾浉鍚�
+ if (latestTaskStatus == type && basRgvOpt.getPosSta().equals(wrkMastSta.getWorkSta())) {
+ // 濡傛灉鏈�鏂拌褰曠殑 mode 鍜� posSta 涓庡綋鍓嶅懡浠ょ浉鍚岋紝璁や负鏄噸澶嶅懡浠�
+ log.error("鍛戒护閲嶅涓嬪彂锛屽綋鍓嶅懡浠や笌鏈�鏂拌褰曠浉鍚岋紝浠诲姟涓嶄笅鍙戯紒");
+ return false;
+ }
}
rgvCommand.setTaskNo(Math.toIntExact(wrkMastSta.getWrkNo())); // 宸ヤ綅宸ヤ綔鍙�
@@ -4796,11 +4878,9 @@
continue;
}
List<BasArm> basArmList = basArmService.selectList(new EntityWrapper<BasArm>().eq("arm_no",armSta.getArmNo()));
- boolean sign = true;
+ BasArmMast basArmMastFinal = null;
+ Integer num = 0;
for (BasArm basArm : basArmList){
-// if (basArm.getStaNo()==2){//NG
-// continue;
-// }
LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", basArm.getStaNoSou()));
if (Cools.isEmpty(locMast) || !locMast.getLocSts().equals("D")){
continue;
@@ -4822,26 +4902,15 @@
basArmMast.setArmNo(basArm.getArmNo());
basArmMast.setStaNo(basArm.getStaNoSou());
basArmMast.setSortingLine(basArm.getSortingLineSou());
- basArmMastService.insert(basArmMast);
- sign = false;
+ if(basArmMastList2.size() >= num){
+ basArmMastFinal = basArmMast;
+ num = basArmMastList2.size();
+ }
+ }
+ if(basArmMastFinal != null){
+ basArmMastService.insert(basArmMastFinal);
break;
}
-// if (sign){
-// for (BasArm basArm : basArmList){
-// if (basArm.getStaNo()==2){//NG
-// LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", basArm.getStaNoSou()));
-// if (Cools.isEmpty(locMast) || !locMast.getLocSts().equals("D")){
-// continue;
-// }
-// BasArmMast basArmMast = new BasArmMast(armBarcodeTwoParam);
-// basArmMast.setArmNo(basArm.getArmNo());
-// basArmMast.setStaNo(basArm.getStaNoSou());
-// basArmMast.setSortingLine(basArm.getSortingLineSou());
-// basArmMastService.insert(basArmMast);
-// break;
-// }
-// }
-// }
}
}
} catch (Exception e){
@@ -5051,7 +5120,7 @@
new EntityWrapper<BasArmMast>()
.eq("status", 2)
.eq("binding_tags", basArmMast.getBindingTags()));
- if (binding_tags<2){
+ if (binding_tags==1){
BasArmMast basArmMastOne = basArmMastService.selectOne(
new EntityWrapper<BasArmMast>()
.eq("status", 2)
@@ -5062,6 +5131,25 @@
continue;
}
+ } else if (binding_tags == 0){
+ boolean signBinding_tags_barcode = false;
+ List<BasArmMast> binding_tags_barcodeList = basArmMastService.selectList(
+ new EntityWrapper<BasArmMast>()
+ .eq("barcode", barcode));
+ for (BasArmMast basArmMastBarcode : binding_tags_barcodeList){
+ Integer selectCountAndBindingTags = basArmMastService.selectCountAndBindingTags(basArmMastBarcode.getArmNo(), basArmMastBarcode.getOrderNo(), basArmMastBarcode.getMatnr(),basArmMastBarcode.getBindingTags());
+ Integer selectCountAndBindingTagsLog = basArmMastService.selectCountAndBindingTagsLog(basArmMastBarcode.getArmNo(),basArmMastBarcode.getOrderNo(), basArmMastBarcode.getMatnr(),basArmMastBarcode.getBindingTags());
+
+ Double anfmeSignOne = basArmMastService.selectBasArmMastSignValue(basArmMastBarcode.getOrderNo(), basArmMastBarcode.getMatnr(),basArmMastBarcode.getBindingTags());
+ if ((selectCountAndBindingTags + selectCountAndBindingTagsLog) != anfmeSignOne.intValue()) {
+// signBinding_tags_barcode = true; /////
+ break;
+ }
+ }
+ if (signBinding_tags_barcode){
+ armTaskAssignmentCallApiLogSave(staProtocol, "鏁版嵁寮傚父锛侊紒锛�", staProtocol.getSiteId()+"鐮佸灈浣嶇疆锛屼笂涓�涓垎鎷g粍鏈叏閮ㄥ畬鎴愶紒锛侊紒", false);
+ continue;
+ }
}
}
// OrderDetlValueResultUtil orderDetlValueResultUtil = basArmMastService.selectOrderDetlValue(basArmMast.getOrderNo(), basArmMast.getMatnr());
@@ -5129,11 +5217,11 @@
String barcode = locMastEnd.getBarcode();
if(!Cools.isEmpty(barcode)) {
if("NG".endsWith(barcode) || "NoRead".equals(barcode) || "0".equals(barcode)) {
- armTaskAssignmentCallApiLogSave(locMastEnd, "鎵樼洏鏉$爜涓虹┖", basArm.getStaNoSou()+"鐮佸灈浣嶇疆锛�===銆嬫墭鐩樻潯鐮佷负绌�", false);
+ log.error( "鍙栬揣鏉$爜涓虹┖", basArm.getStaNoSou());
continue;
}
} else {
- armTaskAssignmentCallApiLogSave(locMastEnd, "鎵樼洏鏉$爜涓虹┖", basArm.getStaNoSou()+"鐮佸灈浣嶇疆锛�===銆嬫墭鐩樻潯鐮佷负绌�", false);
+ log.error( "鍙栬揣鏉$爜涓虹┖", basArm.getStaNoSou());
continue;
}
@@ -5397,6 +5485,7 @@
SearchLocParam param = new SearchLocParam();
param.setBarcode(staProtocol.getWorkNo().toString());
param.setIoType(1);
+ param.setOutArea(wrkMast.getCtnKind());
param.setSourceStaNo(outStaAgv.getStaNo());
param.setLocType1(locTypeDto.getLocType1());
String response = new HttpHandler.Builder()
@@ -5455,6 +5544,7 @@
SearchLocParam param = new SearchLocParam();
param.setBarcode(wrkMast.getBarcode());
param.setIoType(1);
+ param.setOutArea(wrkMast.getCtnKind());
param.setSourceStaNo(outStaAgv.getStaNo());
param.setLocType1(locTypeDto.getLocType1());
String response = new HttpHandler.Builder()
@@ -5488,9 +5578,10 @@
LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no",dto.getLocNo()));
locMast.setBarcode(wrkMast.getBarcode());
locMastService.updateById(locMast);
+ }else{
+ agvBindCtnrAndBinParam.setCtnrTyp("1");
+ ReturnT<String> resultBind = new PostMesDataUtils().postMesDataAgv("AGV瀹瑰櫒缁戝畾", AgvConstant.AGV_URL, AgvConstant.AGV_CTNRANDBING, agvBindCtnrAndBinParam);
}
- agvBindCtnrAndBinParam.setCtnrTyp("1");
- ReturnT<String> resultBind = new PostMesDataUtils().postMesDataAgv("AGV瀹瑰櫒缁戝畾", AgvConstant.AGV_URL, AgvConstant.AGV_CTNRANDBING, agvBindCtnrAndBinParam);
wrkMast.setTakeNone("2");
wrkMastMapper.updateById(wrkMast);
} else {
--
Gitblit v1.9.1