From 4895bf508f01967e71a31eea0e33150abc3eef3a Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期二, 27 二月 2024 13:01:58 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/model/DevpSlave.java | 1
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 176 ++++++++++++++++++++++++++++
src/main/java/com/zy/core/MainProcess.java | 1
src/main/resources/application.yml | 141 +++++++++++++++++++++++
4 files changed, 314 insertions(+), 5 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 cc1bbba..44771ce 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -366,8 +366,8 @@
&& staProtocol.getWorkNo() == 0
&& staProtocol.isPakMk()) {// && !Cools.isEmpty(barcode)) {
-// if(Cools.isEmpty(barcode) || "NG".endsWith(barcode) || "NoRead".equals(barcode)) {
-// log.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", inSta.getBarcode(), barcode);
+ if(Cools.isEmpty(barcode) || "NG".endsWith(barcode) || "NoRead".equals(barcode)) {
+ log.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", inSta.getBarcode(), barcode);
// //鏉$爜涓虹┖鎴栬�呬笉绗﹀悎锛岄��搴撳埌172绔欑偣
// staProtocol.setWorkNo((short)32222);
// staProtocol.setStaNo((short)172);
@@ -376,8 +376,8 @@
// if (!result) {
// throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
// }
-// continue;
-// }
+ continue;
+ }
// 鍒ゆ柇閲嶅宸ヤ綔妗�
WrkMast wrkMast = wrkMastMapper.selectPakInStep1(inSta.getStaNo(), barcode);
@@ -447,6 +447,174 @@
/**
* 缁勬墭
+ * 鍏ュ簱绔欙紝鏍规嵁鏉$爜鎵弿鐢熸垚鍏ュ簱宸ヤ綔妗o紝宸ヤ綔鐘舵�� 2
+ */
+ public synchronized void generateStoreWrkFileLarge() {
+ // 鏍规嵁杈撻�佺嚎plc閬嶅巻
+ for (DevpSlave devp : slaveProperties.getDevp()) {
+ // 閬嶅巻鍏ュ簱鍙�
+ for (DevpSlave.Sta inSta : devp.getInLargeSta()) {
+ // 鑾峰彇鏉$爜鎵弿浠俊鎭�
+ BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, inSta.getBarcode());
+ if (barcodeThread == null) {
+ continue;
+ }
+ String barcode = barcodeThread.getBarcode();
+
+ if (!Cools.isEmpty(barcode)) {
+// log.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", inSta.getBarcode(), barcode);
+ if ("NG".endsWith(barcode) || "NoRead".equals(barcode)) {
+ continue;
+ }
+ } else {
+ continue;
+ }
+
+ // 鑾峰彇鍏ュ簱绔欎俊鎭�
+// SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+ SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+ StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
+ if (staProtocol == null) {
+ continue;
+ } else {
+ staProtocol = staProtocol.clone();
+ }
+
+ // 灏哄妫�娴嬪紓甯�
+ boolean back = false;
+ String errMsg = "寮傚父锛�";
+ if (staProtocol.isFrontErr()) {
+ errMsg = errMsg+"鍓嶈秴闄愶紱";
+ back = true;
+ }
+ if (staProtocol.isBackErr()) {
+ errMsg = errMsg+"鍚庤秴闄�";
+ back = true;
+ }
+ if (staProtocol.isHighErr()) {
+ errMsg = errMsg+"楂樿秴闄�";
+ back = true;
+ }
+ if (staProtocol.isLeftErr()) {
+ errMsg = errMsg+"宸﹁秴闄�";
+ back = true;
+ }
+ if (staProtocol.isRightErr()) {
+ errMsg = errMsg+"鍙宠秴闄�";
+ back = true;
+ }
+ if (staProtocol.isWeightErr()) {
+ errMsg = errMsg+"瓒呴噸";
+ back = true;
+ }
+ if (staProtocol.isBarcodeErr()) {
+ errMsg = errMsg+"鎵爜澶辫触";
+ back = true;
+ }
+ // 閫�鍥�
+ if (back) {
+ // led 寮傚父鏄剧ず
+ LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
+ if (ledThread != null) {
+ MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errMsg));
+ }
+ continue;
+ }
+
+ // 鍏ュ嚭搴撴ā寮忓垽鏂�
+// if ( inSta.getStaNo()==203 && devpThread.ioModeOf2F != IoModeType.PAKIN_MODE) { continue; }
+// if (inSta.getStaNo() == 203 && devpThread.ioModeOf2F == IoModeType.PAKOUT_MODE) {
+// continue;
+// }
+
+ // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
+ if (staProtocol.isAutoing()
+ && staProtocol.isLoading()
+ && staProtocol.isInEnable()
+ && !staProtocol.isEmptyMk()
+ && staProtocol.getWorkNo() == 0
+ && staProtocol.isPakMk()) {// && !Cools.isEmpty(barcode)) {
+
+ if(Cools.isEmpty(barcode) || "NG".endsWith(barcode) || "NoRead".equals(barcode)) {
+ log.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", inSta.getBarcode(), barcode);
+// //鏉$爜涓虹┖鎴栬�呬笉绗﹀悎锛岄��搴撳埌172绔欑偣
+// staProtocol.setWorkNo((short)32222);
+// staProtocol.setStaNo((short)172);
+// devpThread.setPakMk(staProtocol.getSiteId(), false);
+// boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+// if (!result) {
+// throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
+// }
+ continue;
+ }
+
+ // 鍒ゆ柇閲嶅宸ヤ綔妗�
+ WrkMast wrkMast = wrkMastMapper.selectPakInStep1(inSta.getStaNo(), barcode);
+ if (wrkMast != null) {
+ log.error("宸ヤ綔妗d腑宸插瓨鍦ㄨ绔欑姸鎬佷负锛� 2.璁惧涓婅蛋 锛夌殑鏁版嵁,宸ヤ綔鍙�={}", wrkMast.getWrkNo());
+ continue;
+ }
+// // 鑾峰彇鍏ュ簱閫氱煡妗�
+// List<WaitPakin> waitPakins = waitPakinMapper.selectList(new EntityWrapper<WaitPakin>().eq("zpallet", barcode).eq("io_status", "N"));
+// if (waitPakins.isEmpty()) {
+// log.error("鏃犳鍏ュ簱鏉$爜鏁版嵁銆傛潯鐮佸彿={}", barcode);
+// continue;
+// }
+
+ try {
+
+ LocTypeDto locTypeDto = new LocTypeDto(staProtocol);
+
+ SearchLocParam param = new SearchLocParam();
+ param.setBarcode(barcode);
+ param.setIoType(1);
+ param.setSourceStaNo(inSta.getStaNo());
+ param.setLocType1(locTypeDto.getLocType1());
+ String response = new HttpHandler.Builder()
+ .setUri(wmsUrl)
+ .setPath("/rpc/pakin/pair/station/large/loc/v1")
+ .setJson(JSON.toJSONString(param))
+ .build()
+ .doPost();
+ JSONObject jsonObject = JSON.parseObject(response);
+ if (jsonObject.getInteger("code").equals(200)) {
+ StartupDto dto = jsonObject.getObject("data", StartupDto.class);
+
+ LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
+
+
+ barcodeThread.setBarcode("");
+ staProtocol.setWorkNo(dto.getWorkNo());
+
+ if(Cools.isEmpty(dto.getRgvNo()) || dto.getRgvNo() <= 0) {
+ staProtocol.setStaNo(dto.getStaNo());
+ } else {//濡傛灉瀛樺湪RGV缂栧彿锛岃鏄庨渶瑕丷GV鎺ラ┏锛屽厛涓嬪彂浠诲姟鍒癛GV婧愮珯
+ staProtocol.setStaNo(dto.getRgvSstaNo());
+ }
+
+ devpThread.setPakMk(staProtocol.getSiteId(), false);
+ boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ if (!result) {
+ throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
+ }
+ } else {
+ log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/pair/station/single/loc/v1", JSON.toJSONString(param), response);
+ }
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ }
+
+ }
+
+
+ }
+ }
+ }
+
+ /**
+ * 缁勬墭
* 鍏ュ簱绔欙紝鏍规嵁鏉$爜鎵弿閫氱煡妗佹灦鐮佸灈
*/
public synchronized void generateStoreWrkFileFull2LouM() {
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index 6ac0854..c75dfe3 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -56,6 +56,7 @@
// 鍏ュ簱 ===>> 鍏ュ簱绔欏埌鍫嗗灈鏈虹珯锛屾牴鎹潯鐮佹壂鎻忕敓鎴愬叆搴撳伐浣滄。
mainService.generateStoreWrkFile(); // 缁勬墭
mainService.generateStoreWrkFileSingle(); // 缁勬墭 鍙屽伐浣嶅崟浼� 灏忔枡绠�
+ mainService.generateStoreWrkFileLarge(); // 缁勬墭 鍙屽伐浣嶅崟浼� 澶ф枡绠�
// 鍏ュ簱 ===>> 鐮佸灈浣嶈幏鍙栫┖鏉挎潯鐮佷俊鎭�
// mainService.generateStoreWrkFileFull2LouM(); // 缁勬墭
mainService.generateStoreWrkFile0(); // WMS鍏ュ簱
diff --git a/src/main/java/com/zy/core/model/DevpSlave.java b/src/main/java/com/zy/core/model/DevpSlave.java
index 5b6f0b2..59a95e7 100644
--- a/src/main/java/com/zy/core/model/DevpSlave.java
+++ b/src/main/java/com/zy/core/model/DevpSlave.java
@@ -23,6 +23,7 @@
private List<Sta> driveSta = new ArrayList<>();
private List<Sta> inWmsSta = new ArrayList<>();
private List<Sta> inSingleSta = new ArrayList<>();
+ private List<Sta> inLargeSta = new ArrayList<>();
private List<Sta> singleSta = new ArrayList<>();
private List<Sta> emptyInSta = new ArrayList<>();
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 6a3039d..f6ed368 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -98,6 +98,136 @@
row: 5
bay: 1
lev: 1
+ # 鍫嗗灈鏈�3
+ crn[2]:
+ id: 3
+ ip: 10.10.10.120
+ port: 102
+ rack: 0
+ slot: 0
+ # 鍋忕Щ閲忥紝褰撳爢鍨涙満绔欑偣鍒楀彿=1鏃讹紝鍋忕Щ閲�=2
+ offset: 2
+ demo: false
+ # 鍫嗗灈鏈哄叆搴撶珯鐐�
+ crnInStn[0]:
+ devpPlcId: ${wcs-slave.devp[0].id}
+ staNo: 153
+ staNoOther: 152
+ row: 4
+ bay: 1
+ lev: 1
+ # 鍫嗗灈鏈哄嚭搴撶珯鐐�
+ crnOutStn[0]:
+ devpPlcId: ${wcs-slave.devp[0].id}
+ staNo: 100
+ staNoOther: 101
+ row: 1
+ bay: 1
+ lev: 1
+ # 鍫嗗灈鏈�4
+ crn[3]:
+ id: 4
+ ip: 10.10.10.120
+ port: 102
+ rack: 0
+ slot: 0
+ # 鍋忕Щ閲忥紝褰撳爢鍨涙満绔欑偣鍒楀彿=1鏃讹紝鍋忕Щ閲�=2
+ offset: 2
+ demo: false
+ # 鍫嗗灈鏈哄叆搴撶珯鐐�
+ crnInStn[0]:
+ devpPlcId: ${wcs-slave.devp[0].id}
+ staNo: 153
+ staNoOther: 152
+ row: 4
+ bay: 1
+ lev: 1
+ # 鍫嗗灈鏈哄嚭搴撶珯鐐�
+ crnOutStn[0]:
+ devpPlcId: ${wcs-slave.devp[0].id}
+ staNo: 100
+ staNoOther: 101
+ row: 1
+ bay: 1
+ lev: 1
+ # 鍫嗗灈鏈�5
+ crn[4]:
+ id: 5
+ ip: 10.10.10.120
+ port: 102
+ rack: 0
+ slot: 0
+ # 鍋忕Щ閲忥紝褰撳爢鍨涙満绔欑偣鍒楀彿=1鏃讹紝鍋忕Щ閲�=2
+ offset: 2
+ demo: false
+ # 鍫嗗灈鏈哄叆搴撶珯鐐�
+ crnInStn[0]:
+ devpPlcId: ${wcs-slave.devp[0].id}
+ staNo: 153
+ staNoOther: 152
+ row: 4
+ bay: 1
+ lev: 1
+ # 鍫嗗灈鏈哄嚭搴撶珯鐐�
+ crnOutStn[0]:
+ devpPlcId: ${wcs-slave.devp[0].id}
+ staNo: 100
+ staNoOther: 101
+ row: 1
+ bay: 1
+ lev: 1
+ # 鍫嗗灈鏈�6
+ crn[5]:
+ id: 6
+ ip: 10.10.10.120
+ port: 102
+ rack: 0
+ slot: 0
+ # 鍋忕Щ閲忥紝褰撳爢鍨涙満绔欑偣鍒楀彿=1鏃讹紝鍋忕Щ閲�=2
+ offset: 2
+ demo: false
+ # 鍫嗗灈鏈哄叆搴撶珯鐐�
+ crnInStn[0]:
+ devpPlcId: ${wcs-slave.devp[0].id}
+ staNo: 153
+ staNoOther: 152
+ row: 4
+ bay: 1
+ lev: 1
+ # 鍫嗗灈鏈哄嚭搴撶珯鐐�
+ crnOutStn[0]:
+ devpPlcId: ${wcs-slave.devp[0].id}
+ staNo: 100
+ staNoOther: 101
+ row: 1
+ bay: 1
+ lev: 1
+ # 鍫嗗灈鏈�7
+ crn[6]:
+ id: 7
+ ip: 10.10.10.120
+ port: 102
+ rack: 0
+ slot: 0
+ # 鍋忕Щ閲忥紝褰撳爢鍨涙満绔欑偣鍒楀彿=1鏃讹紝鍋忕Щ閲�=2
+ offset: 2
+ demo: false
+ # 鍫嗗灈鏈哄叆搴撶珯鐐�
+ crnInStn[0]:
+ devpPlcId: ${wcs-slave.devp[0].id}
+ staNo: 153
+ staNoOther: 152
+ row: 4
+ bay: 1
+ lev: 1
+ # 鍫嗗灈鏈哄嚭搴撶珯鐐�
+ crnOutStn[0]:
+ devpPlcId: ${wcs-slave.devp[0].id}
+ staNo: 100
+ staNoOther: 101
+ row: 1
+ bay: 1
+ lev: 1
# RGV绌挎杞�1
rgv[0]:
id: 1
@@ -137,7 +267,7 @@
# 灏忔枡绠� 鍙屽伐浣嶅崟浼� 鍏ュ簱鍙�1
singleSta[0]:
staNo: 153
- # 灏忔枡绠� 鍙屽伐浣嶅崟浼� 鍏ュ簱鍙�1
+ # 灏忔枡绠� 鍙屽伐浣嶅崟浼� 鍏ュ簱鍙�2
singleSta[1]:
staNo: 145
# 灏忔枡绠� 鍙屽伐浣嶅崟浼� 鍏ュ簱鍙�1
@@ -146,6 +276,15 @@
# 灏忔枡绠� 鍙屽伐浣嶅崟浼� 绌烘澘鍏ュ簱鍙�1
emptyInSingleSta[0]:
staNo: 104
+ # 澶ф枡绠� 鍙屽伐浣嶅崟浼� 鍏ュ簱鍙�1
+ inLargeSta[0]:
+ staNo: 153
+ # 澶ф枡绠� 鍙屽伐浣嶅崟浼� 鍏ュ簱鍙�1
+ inLargeSta[1]:
+ staNo: 145
+ # 澶ф枡绠� 鍙屽伐浣嶅崟浼� 绌烘澘鍏ュ簱鍙�1
+ emptyInLargeSta[0]:
+ staNo: 104
# 鏉$爜鎵弿浠�
barcode[0]:
--
Gitblit v1.9.1