From 19c4282ae9bad01293a7d4a4d5fe572fbc742c18 Mon Sep 17 00:00:00 2001
From: whycq <913841844@qq.com>
Date: 星期四, 26 九月 2024 14:24:52 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/ahyxwcs' into ahyxwcs
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 97 +++++++++++++++++++++----------
src/main/java/com/zy/asrs/mapper/WrkMastMapper.java | 1
src/main/resources/mapper/WrkMastMapper.xml | 6 +
src/main/java/com/zy/core/thread/SiemensDevpThread.java | 2
src/main/resources/application.yml | 6 +-
src/main/java/com/zy/asrs/utils/SteAndJarUtil.java | 47 ++++++++-------
6 files changed, 100 insertions(+), 59 deletions(-)
diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
index 60a15b5..14d09ac 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
@@ -12,6 +12,7 @@
public interface WrkMastMapper extends BaseMapper<WrkMast> {
WrkMast selectByLocNo(@Param("sourceLocNo") String sourceLocNo);
+ WrkMast selectByBarcodeTwo(@Param("barcode") String barcode);
WrkMast selectByLocNo1(@Param("sourceLocNo") String sourceLocNo);
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 9a7a479..58306c8 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -2796,6 +2796,11 @@
public synchronized void locToCrnStn1(CrnSlave slave, CrnProtocol crnProtocol, Integer crnStation) {
List<WrkMast> wrkMasts = wrkMastMapper.selectPakOutStep12(slave.getId());
for (WrkMast wrkMast : wrkMasts) {
+ // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�
+ if (wrkMastMapper.selectWorking(slave.getId()) != null) {
+ break;
+// return;
+ }
if (wrkMast == null) {
continue;
}
@@ -4010,16 +4015,31 @@
} else {
staProtocol = staProtocol.clone();
}
- if (emptyInSta.getStaNo()==607 && staProtocol.getStaNo()==607 && staProtocol.getWorkNo()>20000 && staProtocol.isLoading() && staProtocol.isAutoing()){
+ if (emptyInSta.getStaNo()==607 && staProtocol.getStaNo()==0 && staProtocol.getWorkNo()==0
+ && staProtocol.isLoading() && staProtocol.isAutoing() && staProtocol.isInEnable()){
+ String barcode = staProtocol.getBarcode();
+ if (!Cools.isEmpty(barcode)) {
+// log.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", inSta.getBarcode(), barcode);
+ if ("NG".endsWith(barcode) || "NoRead".equals(barcode) || !CodeDetectionUtil.barcodeDetection(barcode)) {
+ continue;
+ }
+ } else {
+ continue;
+ }
try {
- BasDevp basDevp = basDevpService.selectById(staProtocol.getStaNo());
+ BasDevp basDevp = basDevpService.selectById(emptyInSta.getStaNo());
if (basDevp.getReportSign()==0){
+ WrkMast wrkMast = wrkMastMapper.selectByBarcodeTwo(barcode);
+ if (!Cools.isEmpty(wrkMast)){
+ continue;
+ }
LocTypeDto locTypeDto = new LocTypeDto(staProtocol);
SearchLocParam param = new SearchLocParam();
param.setIoType(10);
param.setSourceStaNo(emptyInSta.getStaNo());
param.setLocType1(locTypeDto.getLocType1());
+ param.setBarcode(barcode);
String response = new HttpHandler.Builder()
.setUri(wmsUrl)
.setPath("/rpc/pakin/loc/v1")
@@ -4030,16 +4050,16 @@
if (jsonObject.getInteger("code").equals(200)) {
basDevp.setReportSign(1);
basDevpService.updateById(basDevp);
- StartupDto dto = jsonObject.getObject("data", StartupDto.class);
-
- // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
- staProtocol.setWorkNo(dto.getWorkNo());
- staProtocol.setStaNo(607);
- devpThread.setPakMk(staProtocol.getSiteId(), false);
- boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(5, staProtocol));
- if (!result) {
- throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
- }
+// StartupDto dto = jsonObject.getObject("data", StartupDto.class);
+//
+// // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
+// staProtocol.setWorkNo(dto.getWorkNo());
+// staProtocol.setStaNo(607);
+// devpThread.setPakMk(staProtocol.getSiteId(), false);
+// boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(5, staProtocol));
+// if (!result) {
+// throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
+// }
} else {
log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
}
@@ -4049,8 +4069,7 @@
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
}
return;
- }
-
+ } else
// 绔欑偣鏉′欢鍒ゆ柇
if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable()
&& staProtocol.isEmptyMk() && ((staProtocol.getWorkNo() > 32222 && staProtocol.getWorkNo() <= 63333) || staProtocol.getWorkNo()==0) && staProtocol.isPakMk()) {
@@ -5863,21 +5882,21 @@
return false;
}
- //涓存椂
- if (basJar.getJarCode()==1){
- JarThread jarOtherThread = (JarThread) SlaveConnection.get(SlaveType.Jar, jarSlave.getJarOtherId());
- JarProtocol jarOtherProtocol = jarOtherThread.getJarProtocol();
- if (jarOtherProtocol == null) {
- return false;
- }
-
- if (!jarOtherProtocol.isAutoing() || jarOtherProtocol.jarErr!=0
- || !jarOtherProtocol.isLeftDoor() || !jarOtherProtocol.isRightDoor()
- || jarOtherProtocol.leftDoorOpen==1 || jarOtherProtocol.leftDoorClose==1 || jarOtherProtocol.rightDoorOpen==1 || jarOtherProtocol.rightDoorClose==1){
- log.error("{}鍙风~鍖栫綈鏌ヨ璁惧涓嶆弧瓒冲墠寰�鍐峰嵈姹犳潯浠讹紝浠e彿2纭寲缃愰棬娌″紑锛侊紒锛�",jarOtherProtocol.getJarNo());
- return false;
- }
- }
+// //涓存椂
+// if (basJar.getJarCode()==1){
+// JarThread jarOtherThread = (JarThread) SlaveConnection.get(SlaveType.Jar, jarSlave.getJarOtherId());
+// JarProtocol jarOtherProtocol = jarOtherThread.getJarProtocol();
+// if (jarOtherProtocol == null) {
+// return false;
+// }
+//
+// if (!jarOtherProtocol.isAutoing() || jarOtherProtocol.jarErr!=0
+// || !jarOtherProtocol.isLeftDoor() || !jarOtherProtocol.isRightDoor()
+// || jarOtherProtocol.leftDoorOpen==1 || jarOtherProtocol.leftDoorClose==1 || jarOtherProtocol.rightDoorOpen==1 || jarOtherProtocol.rightDoorClose==1){
+// log.error("{}鍙风~鍖栫綈鏌ヨ璁惧涓嶆弧瓒冲墠寰�鍐峰嵈姹犳潯浠讹紝浠e彿2纭寲缃愰棬娌″紑锛侊紒锛�",jarOtherProtocol.getJarNo());
+// return false;
+// }
+// }
//闂ㄤ綔涓� 鏃�
// if (jarProtocol.isAutoing() && jarProtocol.statusType == JarStatusType.WAITING4 && jarProtocol.jarErr==0
@@ -8538,9 +8557,23 @@
if (staNo1!=0){
SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 2);
StaProtocol staProtocol607 = devpThread.getStation().get(607);
- if (staProtocol607.getWorkNo()<9001 && staProtocol607.getWorkNo()!=0 && staProtocol607.isLoading() && staProtocol607.isAutoing() && staProtocol607.getStaNo() == 607){
- staProtocol607.setStaNo(staNo1);
- boolean result2 = MessageQueue.offer(SlaveType.Devp, 2, new Task(5, staProtocol607));
+ String barcode = staProtocol607.getBarcode();
+ if (!Cools.isEmpty(barcode)) {
+// log.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", inSta.getBarcode(), barcode);
+ if ("NG".endsWith(barcode) || "NoRead".equals(barcode) || !CodeDetectionUtil.barcodeDetection(barcode)) {
+ return;
+ }
+ } else {
+ return;
+ }
+ if (staProtocol607.getWorkNo()==0 && staProtocol607.isLoading() && staProtocol607.isAutoing()
+ && staProtocol607.getStaNo() == 0 && staProtocol607.isInEnable()){
+ WrkMast wrkMast = wrkMastMapper.selectByBarcodeTwo(barcode);
+ if (!Cools.isEmpty(wrkMast)){
+ staProtocol607.setWorkNo(wrkMast.getWrkNo());
+ staProtocol607.setStaNo(staNo1);
+ boolean result2 = MessageQueue.offer(SlaveType.Devp, 2, new Task(2, staProtocol607));
+ }
}
} else {
diff --git a/src/main/java/com/zy/asrs/utils/SteAndJarUtil.java b/src/main/java/com/zy/asrs/utils/SteAndJarUtil.java
index a3d4c97..68d186f 100644
--- a/src/main/java/com/zy/asrs/utils/SteAndJarUtil.java
+++ b/src/main/java/com/zy/asrs/utils/SteAndJarUtil.java
@@ -8,7 +8,7 @@
* RGV浣嶇疆鏄惁涓庣~鍖栫綈姝e
*/
public static boolean steAndJarNowRow(short steNowRow , Integer jarNo){
- return (steNowRow==(short) 1 && (jarNo == 2 || jarNo == 4 || jarNo == 5 || jarNo == 6)) || (steNowRow==(short)3 && (jarNo == 1 || jarNo == 3));
+ return (steNowRow==(short) 1 && (jarNo == 2 || jarNo == 4)) || (steNowRow==(short)3 && (jarNo == 1 || jarNo == 3)) || (steNowRow==(short)2 && (jarNo == 5 || jarNo == 6));
}
/**
@@ -21,29 +21,31 @@
return 3;
case 2:
case 4:
+ return 1;
case 5:
case 6:
- return 1;
+ return 2;
}
return 2;
}
- /**
- * RGV浣嶇疆姝e鑾峰彇
- */
- public static boolean getRgvJarNowRow(Integer staNo,short nowRow){
- switch (staNo){
- case 615:
- case 622:
- case 628:
- case 627:
- return nowRow==(short) 1;
- case 612:
- case 619:
- return nowRow==(short) 2;
- }
- return false;
- }
+// /**
+// * RGV浣嶇疆姝e鑾峰彇
+// */
+// public static boolean getRgvJarNowRow(Integer staNo,short nowRow){
+// switch (staNo){
+// case 615:
+// case 622:
+// return nowRow==(short) 1;
+// case 628:
+// case 627:
+// return nowRow==(short) 2;
+// case 612:
+// case 619:
+// return nowRow==(short) 2;
+// }
+// return false;
+// }
/**
* RGV浣嶇疆姝e鑾峰彇
@@ -52,9 +54,10 @@
switch (staNo){
case 615:
case 622:
+ return 1;
case 628:
case 627:
- return 1;
+ return 2;
case 612:
case 619:
return 3;
@@ -70,11 +73,11 @@
case 1:
case 2:
case 5:
- return 2;
+ return 5;
case 3:
case 4:
case 6:
- return 4;
+ return 6;
}
return 0;
}
@@ -108,7 +111,7 @@
return 1;
case 5:
case 6:
- return 1;
+ return 2;
}
return 0;
}
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index ebce4ea..d5299ac 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -356,7 +356,7 @@
if (result2.IsSuccess) {
int[] staNosRgv = new int[]{281,292,173,214,120};
if (slave.getId()==2){
- staNosRgv = new int[]{453,460,508,534,611};
+ staNosRgv = new int[]{453,460,518,532,607};
}
for (int i = 0; i < barcodeSize; i++) {
//1:281 2:292 3:174(173) 4:214 5:120
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index d2ad40e..7b0aade 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -752,11 +752,11 @@
ip: 10.10.10.222
port: 5005
devpPlcId: ${wcs-slave.devp[1].id}
- staArr: 281,292
+ staArr: 281
# LED4 瀵嗙偧鍖�
led[3]:
- id: 1
+ id: 4
ip: 10.10.10.223
port: 5005
devpPlcId: ${wcs-slave.devp[1].id}
- staArr: 453
\ No newline at end of file
+ staArr: 460
\ No newline at end of file
diff --git a/src/main/resources/mapper/WrkMastMapper.xml b/src/main/resources/mapper/WrkMastMapper.xml
index 79abf49..fc74982 100644
--- a/src/main/resources/mapper/WrkMastMapper.xml
+++ b/src/main/resources/mapper/WrkMastMapper.xml
@@ -67,7 +67,11 @@
</resultMap>
<select id="selectByLocNo" resultMap="BaseResultMap">
- select top 1 * from asr_wrk_mast where source_loc_no = #{sourceLocNo} and (ctn_no is null or ctn_no != 'Y')
+ select top 1 * from asr_wrk_mast where source_loc_no = #{sourceLocNo} and (ctn_no is null or ctn_no != 'Y') and wrk_sts < 14
+ </select>
+
+ <select id="selectByBarcodeTwo" resultMap="BaseResultMap">
+ select top 1 * from asr_wrk_mast where barcode = #{barcode} and wrk_sts = 2
</select>
<select id="selectByLocNo1" resultMap="BaseResultMap">
--
Gitblit v1.9.1