From f165afcbf9e8837ea49b5c46d47c8b1b3bfb4a03 Mon Sep 17 00:00:00 2001
From: dubin <bindu_bean@163.com>
Date: 星期二, 20 一月 2026 11:17:34 +0800
Subject: [PATCH] 初始化
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 381 ++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 271 insertions(+), 110 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 a89b29e..96e5d34 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -39,6 +39,7 @@
import com.zy.core.thread.LedThread;
import com.zy.core.thread.RgvThread;
import com.zy.core.thread.SiemensDevpThread;
+import com.zy.system.entity.Config;
import com.zy.system.service.ConfigService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -139,7 +140,20 @@
// 灏哄妫�娴嬪紓甯�
boolean back = false;
String errMsg = "";
- Integer outCount=wrkMastService.selectOutCount();
+ // 妫�娴嬫槸鍚︽湁鍑哄簱浠诲姟 濡傛灉鏈夊嚭搴撲换鍔� 鍏ュ簱灏卞仠姝�
+ List<WrkMast> wrkMastList = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("crn_no",1).in("wrk_sts", 11, 12));
+ // 妫�娴�104绔欙紙鍫嗗灈鏈哄嚭搴撶珯 鍏ュ簱绔欙級鏄惁鏈夌墿 濡傛灉鏈夌墿娌℃湁宸ヤ綔鍙� 鍏ュ簱鍋滄 濡傛灉鏈夌墿宸ヤ綔鍙锋槸鍑哄簱 鍏ュ簱鍋滄 濡傛灉鏈夌墿宸ヤ綔鍙锋槸鍏ュ簱 鍙互鍏ュ簱 濡傛灉鏈夌墿宸ヤ綔鍙蜂笉瀛樺湪 鍏ュ簱鍋滄
+ StaProtocol staProtocol104 = devpThread.getStation().get(104);
+ if (staProtocol104 == null){
+ log.error("104绔欑偣淇℃伅鏈幏鍙�");
+ continue;
+ }
+ //104绔欐湁鐗� 鏈夊伐浣滃彿 鍒ゆ柇杩欎釜浠诲姟鐨勭被鍨�
+ WrkMast wrkMast1 = new WrkMast();
+ if (staProtocol104.isLoading() && staProtocol104.getWorkNo() != 0){
+ wrkMast1 = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", staProtocol104.getWorkNo()));
+ }
+
if (staProtocol.isFrontErr()) {
errMsg = "鍓嶈秴闄�";
back = true;
@@ -168,8 +182,26 @@
errMsg = "鎵爜澶辫触";
back = true;
}
- if (!back && outCount > 0) {
- errMsg = "褰撳墠涓哄嚭搴撴椂娈�,鍏ュ簱鏆傚仠";
+ // 鍒ゆ柇鎵樼洏鐮佹牸寮�
+ if (!back &&(Cools.isEmpty(barcode) || "NG".endsWith(barcode) || "NoRead".equals(barcode) || "00000000".equals(barcode))){
+ errMsg = "鎵樼洏鐮佹牸寮忔湁璇�--->" + barcode;
+ back = true;
+ }
+ if (!back && (!barcode.startsWith("5") && !barcode.startsWith("6") && !barcode.startsWith("7") && !barcode.startsWith("8"))) {
+ errMsg = "鎵樼洏鐮佹牸寮忔湁璇�--->" + barcode;
+ back = true;
+ }
+ if (!back && !wrkMastList.isEmpty()) {
+ errMsg = "鏈夊嚭搴撲换鍔�,鍏ュ簱鍋滄";
+ back = true;
+ }if (!back && staProtocol104.isLoading() && staProtocol104.getWorkNo() == 0 && (barcode.startsWith("6") || barcode.startsWith("5"))){
+ errMsg = "104绔欐湁鐗╀絾鏄棤宸ヤ綔鍙�,璇锋鏌�";
+ back = true;
+ }if (!back && (!Cools.isEmpty(wrkMast1) && wrkMast1.getIoType() > 100)){
+ errMsg = "鏈夊嚭搴撲换鍔�,鍏ュ簱鍋滄";
+ back = true;
+ }if (!back && (staProtocol104.isLoading() && Cools.isEmpty(wrkMast1)) && (barcode.startsWith("5") || barcode.startsWith("6"))){
+ errMsg = "104绔欐湁鐗╀絾鏄搴旂殑宸ヤ綔鍙锋棤宸ヤ綔妗�,璇锋鏌�";
back = true;
}
@@ -189,7 +221,7 @@
staProtocol.setStaNo(inSta.getBackSta().shortValue());
devpThread.setPakMk(staProtocol.getSiteId(), false);
MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
- log.error("杈撻�佺嚎涓嬪彂锛堣秴闄愬叏鏉块��鍥烇級锛�" + wrkNo + "," + inSta.getBackSta());
+ log.error("杈撻�佺嚎涓嬪彂锛堝叏鏉块��鍥烇級锛�" + wrkNo + "," + inSta.getBackSta());
break;//瓒呴檺鎵樼洏閫�鍥炰笉鐢熸垚宸ヤ綔妗�
}
@@ -239,7 +271,7 @@
param.setBarcode(barcode);
param.setIoType(1);
param.setSourceStaNo(inSta.getStaNo());
- param.setLocType1(locTypeDto.getLocType1());
+ param.setLocType1(locTypeDto.getLocType1()); // 楂樹綆
param.setWeight(staProtocol.getWeight());
String response = new HttpHandler.Builder()
.setTimeout(30,TimeUnit.SECONDS)
@@ -388,10 +420,23 @@
// News.error("绔欑偣淇℃伅鏈幏寰�");
continue;
}
+ // 妫�娴嬫槸鍚︽湁鍑哄簱浠诲姟 濡傛灉鏈夊嚭搴撲换鍔� 鍏ュ簱灏卞仠姝�
+ List<WrkMast> wrkMastList = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("crn_no", 1).in("wrk_sts", 11, 12));
+ // 妫�娴�104绔欙紙鍫嗗灈鏈哄嚭搴撶珯 鍏ュ簱绔欙級鏄惁鏈夌墿 濡傛灉鏈夌墿娌℃湁宸ヤ綔鍙� 鍏ュ簱鍋滄 濡傛灉鏈夌墿宸ヤ綔鍙锋槸鍑哄簱 鍏ュ簱鍋滄 濡傛灉鏈夌墿宸ヤ綔鍙锋槸鍏ュ簱 鍙互鍏ュ簱 濡傛灉鏈夌墿宸ヤ綔鍙蜂笉瀛樺湪 鍏ュ簱鍋滄
+ StaProtocol staProtocol104 = devpThread.getStation().get(104);
+ if (staProtocol104 == null){
+ log.error("104绔欑偣淇℃伅鏈幏鍙�");
+ continue;
+ }
+ //104绔欐湁鐗� 鏈夊伐浣滃彿 鍒ゆ柇杩欎釜浠诲姟鐨勭被鍨�
+ WrkMast wrkMast1 = new WrkMast();
+ if (staProtocol104.isLoading() && staProtocol104.getWorkNo() != 0){
+ wrkMast1 = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", staProtocol104.getWorkNo()));
+ }
// 灏哄妫�娴嬪紓甯�
boolean back = false;
String errMsg = "";
- if (!back && staProtocol.isFrontErr()) {
+ if (staProtocol.isFrontErr()) {
errMsg = "鍓嶈秴闄�";
back = true;
}
@@ -419,11 +464,33 @@
errMsg = "鎵爜澶辫触";
back = true;
}
+ // 鍒ゆ柇鎵樼洏鐮佹牸寮�
+ if (!back &&(Cools.isEmpty(barcode) || "NG".endsWith(barcode) || "NoRead".equals(barcode) || "00000000".equals(barcode))){
+ errMsg = "鎵樼洏鐮佹牸寮忔湁璇�--->" + barcode;
+ back = true;
+ }
+ if (!back && (!barcode.startsWith("5") && !barcode.startsWith("6") && !barcode.startsWith("7") && !barcode.startsWith("8"))) {
+ errMsg = "鎵樼洏鐮佹牸寮忔湁璇�--->" + barcode;
+ back = true;
+ }
+ if (!back && !wrkMastList.isEmpty()) {
+ errMsg = "鏈夊嚭搴撲换鍔�,鍏ュ簱鍋滄";
+ back = true;
+ }if (!back && staProtocol104.isLoading() && staProtocol104.getWorkNo() == 0 && (barcode.startsWith("6") || barcode.startsWith("5"))){
+ errMsg = "104绔欐湁鐗╀絾鏄棤宸ヤ綔鍙�,璇锋鏌�";
+ back = true;
+ }if (!back && (!Cools.isEmpty(wrkMast1) && wrkMast1.getIoType() > 100)){
+ errMsg = "鏈夊嚭搴撲换鍔�,鍏ュ簱鍋滄";
+ back = true;
+ }if (!back && (staProtocol104.isLoading() && Cools.isEmpty(wrkMast1)) && (barcode.startsWith("5") || barcode.startsWith("6"))){
+ errMsg = "104绔欐湁鐗╀絾鏄搴旂殑宸ヤ綔鍙锋棤宸ヤ綔妗�,璇锋鏌�";
+ back = true;
+ }
// 閫�鍥�
if (back) {
log.info("errmsg: " + errMsg);
- News.warn("鎵爜鍏ュ簱澶辫触锛寋}鍏ュ簱绔欏洜{}寮傚父锛屾墭鐩樺凡琚��鍥�", pickSta.getStaNo(), errMsg);
+ News.warn("鎵爜鍏ュ簱澶辫触锛寋}鍏ュ簱绔欏洜{}寮傚父锛屾墭鐩樺凡琚��鍥�", pickSta.getStaNo(), errMsg);
MessageQueue.offer(SlaveType.Led, pickSta.getLed(), new Task(5, errMsg));
if (!staProtocol.isLoading()) {
continue;
@@ -864,71 +931,82 @@
&& crnProtocol.getLoaded() == 0 && crnProtocol.getForkPos() == 0) {
News.warnNoLog("" + mark + " - 0" + " - 寮�濮嬫墽琛屽爢鍨涙満鍏ュ嚭搴撲綔涓氫笅鍙�");
// 濡傛灉鏈�杩戜竴娆℃槸鍏ュ簱妯″紡
-// if (crnProtocol.getLastIo().equals("I")) {
-// if (basCrnp.getInEnable().equals("Y")) {
-// //mark - 1 - ....
-// this.crnStnToLoc(crn, crnProtocol, mark); // 鍏ュ簱
-// crnProtocol.setLastIo("O");
-// } else if (basCrnp.getOutEnable().equals("Y")) {
-// //mark - 2 - ....
-// this.locToCrnStn(crn, crnProtocol, mark); // 鍑哄簱
-// crnProtocol.setLastIo("I");
-// }
-// }
- // 濡傛灉鏈�杩戜竴娆℃槸鍑哄簱妯″紡
-// else if (crnProtocol.getLastIo().equals("O")) {
-// if (basCrnp.getOutEnable().equals("Y")) {
-// this.locToCrnStn(crn, crnProtocol, mark); // 鍑哄簱
-// crnProtocol.setLastIo("I");
-// } else if (basCrnp.getInEnable().equals("Y")) {
-// this.crnStnToLoc(crn, crnProtocol, mark); // 鍏ュ簱
-// crnProtocol.setLastIo("O");
-// }
-// }
- if (ioControl==1){
- //鍏ュ簱浼樺厛 鍏堟墽琛屽叆搴撳啀鎵ц鍑哄簱
- Integer inCount=wrkMastService.selectIn();
- if (inCount == 0 && basCrnp.getOutEnable().equals("Y")){
- this.locToCrnStn(crn, crnProtocol, mark); // 鍑哄簱
- }
- if (basCrnp.getInEnable().equals("Y")){
- this.crnStnToLoc(crn, crnProtocol, mark); // 鍏ュ簱
- }
- }else if (ioControl==2){
- //鍑哄簱浼樺厛 鍏堟墽琛屽嚭搴撳啀鎵ц鍏ュ簱
- Integer outCount=wrkMastService.selectOut();
- if (outCount==0 && basCrnp.getInEnable().equals("Y")){
- this.crnStnToLoc(crn, crnProtocol, mark); // 鍏ュ簱
- }
- if (basCrnp.getOutEnable().equals("Y")){
- this.locToCrnStn(crn, crnProtocol, mark); // 鍑哄簱
- }
- }else if(ioControl==3){
- //鍏ュ嚭搴撲氦鏇挎墽琛� 涓嶅仛闄愬埗
- // 濡傛灉鏈�杩戜竴娆℃槸鍏ュ簱妯″紡
- if (crnProtocol.getLastIo().equals("I")) {
- if (basCrnp.getInEnable().equals("Y")) {
+ if (crnProtocol.getLastIo().equals("I")) {
+ if (basCrnp.getInEnable().equals("Y")) {
//mark - 1 - ....
this.crnStnToLoc(crn, crnProtocol, mark); // 鍏ュ簱
crnProtocol.setLastIo("O");
- } else if (basCrnp.getOutEnable().equals("Y")) {
+ } else if (basCrnp.getOutEnable().equals("Y")) {
//mark - 2 - ....
this.locToCrnStn(crn, crnProtocol, mark); // 鍑哄簱
crnProtocol.setLastIo("I");
- }
- }
- // 濡傛灉鏈�杩戜竴娆℃槸鍑哄簱妯″紡
- else if (crnProtocol.getLastIo().equals("O")) {
- if (basCrnp.getOutEnable().equals("Y")) {
- this.locToCrnStn(crn, crnProtocol, mark); // 鍑哄簱
- crnProtocol.setLastIo("I");
- } else if (basCrnp.getInEnable().equals("Y")) {
- this.crnStnToLoc(crn, crnProtocol, mark); // 鍏ュ簱
- crnProtocol.setLastIo("O");
- }
}
}
+ // 濡傛灉鏈�杩戜竴娆℃槸鍑哄簱妯″紡
+ else if (crnProtocol.getLastIo().equals("O")) {
+ if (basCrnp.getOutEnable().equals("Y")) {
+ this.locToCrnStn(crn, crnProtocol, mark); // 鍑哄簱
+ crnProtocol.setLastIo("I");
+ } else if (basCrnp.getInEnable().equals("Y")) {
+ this.crnStnToLoc(crn, crnProtocol, mark); // 鍏ュ簱
+ crnProtocol.setLastIo("O");
+ }
+ }
+
+
+
+
+
+
+
+// if (ioControl==1){
+// //鍏ュ簱浼樺厛 鍏堟墽琛屽叆搴撳啀鎵ц鍑哄簱
+// Integer inCount=wrkMastService.selectIn();
+// if (inCount == 0 && basCrnp.getOutEnable().equals("Y")){
+// this.locToCrnStn(crn, crnProtocol, mark); // 鍑哄簱
+// }
+// if (basCrnp.getInEnable().equals("Y")){
+// this.crnStnToLoc(crn, crnProtocol, mark); // 鍏ュ簱
+// }
+// }else if (ioControl==2){
+// //鍑哄簱浼樺厛 鍏堟墽琛屽嚭搴撳啀鎵ц鍏ュ簱
+// Integer outCount=wrkMastService.selectOut();
+// if (outCount==0 && basCrnp.getInEnable().equals("Y")){
+// this.crnStnToLoc(crn, crnProtocol, mark); // 鍏ュ簱
+// }
+// if (basCrnp.getOutEnable().equals("Y")){
+// this.locToCrnStn(crn, crnProtocol, mark); // 鍑哄簱
+// }
+// }else if(ioControl==3){
+// //鍏ュ嚭搴撲氦鏇挎墽琛� 涓嶅仛闄愬埗
+// // 濡傛灉鏈�杩戜竴娆℃槸鍏ュ簱妯″紡
+// if (crnProtocol.getLastIo().equals("I")) {
+// if (basCrnp.getInEnable().equals("Y")) {
+// //mark - 1 - ....
+// this.crnStnToLoc(crn, crnProtocol, mark); // 鍏ュ簱
+// crnProtocol.setLastIo("O");
+// } else if (basCrnp.getOutEnable().equals("Y")) {
+// //mark - 2 - ....
+// this.locToCrnStn(crn, crnProtocol, mark); // 鍑哄簱
+// crnProtocol.setLastIo("I");
+// }
+// }
+// // 濡傛灉鏈�杩戜竴娆℃槸鍑哄簱妯″紡
+// else if (crnProtocol.getLastIo().equals("O")) {
+// if (basCrnp.getOutEnable().equals("Y")) {
+// this.locToCrnStn(crn, crnProtocol, mark); // 鍑哄簱
+// crnProtocol.setLastIo("I");
+// } else if (basCrnp.getInEnable().equals("Y")) {
+// this.crnStnToLoc(crn, crnProtocol, mark); // 鍏ュ簱
+// crnProtocol.setLastIo("O");
+// }
+// }
+// }
}
+
+
+
+
// 搴撲綅绉昏浆
//mark - 3 - ....
this.locToLoc(crn, crnProtocol, mark);
@@ -1218,9 +1296,27 @@
break;
// continue;
}
+
+ // 鍫嗗灈鏈哄嚭搴撶珯鍙嚭淇″彿鏍¢獙鍙傛暟
+ Config config = configService.selectOne(new EntityWrapper<Config>().eq("code", "OutStationVerify"));
+ boolean out = false;
+ if (config != null){
+ if (config.getValue().equals("Y")){
+ if (staProtocol.isOutEnable()){
+ out = true; // 鏍¢獙鍫嗗灈鏈哄嚭搴撶珯鍙嚭淇″彿 鍑哄簱绔欏彲鍑�
+ }else {
+ out = false; // 鏍¢獙鍫嗗灈鏈哄嚭搴撶珯淇″彿 鍑哄簱绔欎笉鍙嚭
+ }
+ }else if (config.getValue().equals("N")){
+ out = true; // 涓嶆牎楠屽爢鍨涙満鍑哄簱绔欏彲鍑轰俊鍙�
+ }else {
+ throw new CoolException("鏍¢獙鍫嗗灈鏈哄嚭搴撶珯鍙嚭淇″彿鍙傛暟寮傚父 璇烽┈涓婃鏌ュ弬鏁板搴旂殑鍊�");
+ }
+ }
+
// 鍒ゆ柇鍫嗗灈鏈哄嚭搴撶珯鐘舵��
if (staProtocol.isAutoing() && !staProtocol.isLoading() && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y")
- && staProtocol.getWorkNo() == 0 && staProtocol.isOutEnable()) {
+ && staProtocol.getWorkNo() == 0 && out) {
// 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
// 鍫嗗灈鏈烘帶鍒惰繃婊�
@@ -1230,53 +1326,53 @@
}
// 鍙屾繁搴撲綅涓旀祬搴撲綅鏈夎揣锛屽垯闇�鍏堝娴呭簱浣嶈繘琛屽簱浣嶇Щ杞�
- if (Utils.isDeepLoc(slaveProperties, wrkMast.getSourceLocNo())) {
- News.warnNoLog("" + mark + " - 2" + " - 6" + " - 鍙屾繁搴撲綅涓旀祬搴撲綅鏈夎揣锛屽垯闇�鍏堝娴呭簱浣嶈繘琛屽簱浣嶇Щ杞� : 寮�濮嬫墽琛� 浠诲姟鍙�={}", wrkMast.getWrkNo());
- String shallowLocNo = Utils.getShallowLoc(slaveProperties, wrkMast.getSourceLocNo());
- LocMast shallowLoc = locMastService.selectById(shallowLocNo);
- // O.绌哄簱浣嶃�丵.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴撱�丼.鍏ュ簱棰勭害銆乆.绂佺敤 鐩存帴鎼紒
- if (shallowLoc.getLocSts().equals("P") || shallowLoc.getLocSts().equals("R")) {
- News.warnNoLog("" + mark + " - 2" + " - 7" + " - // O.绌哄簱浣嶃�丵.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴撱�丼.鍏ュ簱棰勭害銆乆.绂佺敤 鐩存帴鎼紒搴撲綅鐘舵��={}", shallowLoc.getLocSts());
- WrkMast waitWrkMast = wrkMastMapper.selectByLocNo(shallowLocNo);
- if (null == waitWrkMast) {
- News.error("{}搴撲綅寮傚父锛屾湭妫�绱㈠埌鐩稿簲宸ヤ綔妗o紒", shallowLocNo);
- } else {
- if (waitWrkMast.getWrkSts() == 11) {
- waitWrkMast.setIoPri(15D);
- waitWrkMast.setModiTime(new Date());
- if (wrkMastMapper.updateById(waitWrkMast) == 0) {
- News.error("" + mark + " - 2" + " - 8" + " - 璋冩暣宸ヤ綔妗d紭鍏堢骇澶辫触锛佸伐浣滃彿={}", waitWrkMast.getWrkNo());
- }
- continue;
- } else {
-
- }
- }
- } else if (shallowLoc.getLocSts().equals("F") || shallowLoc.getLocSts().equals("D")) {
- News.warnNoLog("" + mark + " - 2" + " - 9" + " - // F銆丏 搴撲綅鐘舵��={}", shallowLoc.getLocSts());
+// if (Utils.isDeepLoc(slaveProperties, wrkMast.getSourceLocNo())) {
+// News.warnNoLog("" + mark + " - 2" + " - 6" + " - 鍙屾繁搴撲綅涓旀祬搴撲綅鏈夎揣锛屽垯闇�鍏堝娴呭簱浣嶈繘琛屽簱浣嶇Щ杞� : 寮�濮嬫墽琛� 浠诲姟鍙�={}", wrkMast.getWrkNo());
+// String shallowLocNo = Utils.getShallowLoc(slaveProperties, wrkMast.getSourceLocNo());
+// LocMast shallowLoc = locMastService.selectById(shallowLocNo);
+// // O.绌哄簱浣嶃�丵.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴撱�丼.鍏ュ簱棰勭害銆乆.绂佺敤 鐩存帴鎼紒
+// if (shallowLoc.getLocSts().equals("P") || shallowLoc.getLocSts().equals("R")) {
+// News.warnNoLog("" + mark + " - 2" + " - 7" + " - // O.绌哄簱浣嶃�丵.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴撱�丼.鍏ュ簱棰勭害銆乆.绂佺敤 鐩存帴鎼紒搴撲綅鐘舵��={}", shallowLoc.getLocSts());
// WrkMast waitWrkMast = wrkMastMapper.selectByLocNo(shallowLocNo);
- //2022-08-16 modify,涓嶆牴鎹畊pdmk鏍囪绉诲簱浠诲姟(瀹规槗琚彇娑堝鑷村牭濉�)锛屾煡璇㈠伐浣滄。鏄惁瀛樺湪浠诲姟
- WrkMast waitWrkMast = wrkMastMapper.selectByLocNo1(shallowLocNo);
- // 姝ゆ爣璁伴伩鍏嶅娆℃墽琛岀Щ搴撲换鍔�
-// if (Cools.isEmpty(wrkMast.getUpdMk()) || "N".equals(wrkMast.getUpdMk())
-// || Cools.isEmpty(waitWrkMast)) {
- if (Cools.isEmpty(waitWrkMast)) {
- wrkMast.setUpdMk("Y");
- wrkMastMapper.updateById(wrkMast);
- // 鐢熸垚宸ヤ綔妗�,灏嗘祬搴撲綅绉昏浆鍒版柊鐨勫簱浣嶄腑
- moveLocForDeepLoc(slave, shallowLoc, mark);
- }
- News.error("{}浠诲姟鍑哄簱澶辫触锛屾祬搴撲綅鍫靛锛佹祬搴撲綅鍙�:{}", wrkMast.getWrkNo(), shallowLocNo);
- continue;
- } else if (shallowLoc.getLocSts().equals("Q") || shallowLoc.getLocSts().equals("S")) {
- News.warnNoLog("" + mark + " - 2" + " - 10" + " - // Q銆丼 搴撲綅鐘舵��={}", shallowLoc.getLocSts());
- WrkMast waitWrkMast = wrkMastMapper.selectByLocNo1(shallowLocNo);
- if (null != waitWrkMast && waitWrkMast.getWrkSts() == 4) {
- News.infoNoLog("" + mark + " - 2" + " - 11" + " - // F銆丏 宸ヤ綔鐘舵��(鍒ゆ柇鏉′欢涓�==4)={}", waitWrkMast.getWrkSts());
- continue;
- }
- }
- }
+// if (null == waitWrkMast) {
+// News.error("{}搴撲綅寮傚父锛屾湭妫�绱㈠埌鐩稿簲宸ヤ綔妗o紒", shallowLocNo);
+// } else {
+// if (waitWrkMast.getWrkSts() == 11) {
+// waitWrkMast.setIoPri(15D);
+// waitWrkMast.setModiTime(new Date());
+// if (wrkMastMapper.updateById(waitWrkMast) == 0) {
+// News.error("" + mark + " - 2" + " - 8" + " - 璋冩暣宸ヤ綔妗d紭鍏堢骇澶辫触锛佸伐浣滃彿={}", waitWrkMast.getWrkNo());
+// }
+// continue;
+// } else {
+//
+// }
+// }
+// } else if (shallowLoc.getLocSts().equals("F") || shallowLoc.getLocSts().equals("D")) {
+// News.warnNoLog("" + mark + " - 2" + " - 9" + " - // F銆丏 搴撲綅鐘舵��={}", shallowLoc.getLocSts());
+//// WrkMast waitWrkMast = wrkMastMapper.selectByLocNo(shallowLocNo);
+// //2022-08-16 modify,涓嶆牴鎹畊pdmk鏍囪绉诲簱浠诲姟(瀹规槗琚彇娑堝鑷村牭濉�)锛屾煡璇㈠伐浣滄。鏄惁瀛樺湪浠诲姟
+// WrkMast waitWrkMast = wrkMastMapper.selectByLocNo1(shallowLocNo);
+// // 姝ゆ爣璁伴伩鍏嶅娆℃墽琛岀Щ搴撲换鍔�
+//// if (Cools.isEmpty(wrkMast.getUpdMk()) || "N".equals(wrkMast.getUpdMk())
+//// || Cools.isEmpty(waitWrkMast)) {
+// if (Cools.isEmpty(waitWrkMast)) {
+// wrkMast.setUpdMk("Y");
+// wrkMastMapper.updateById(wrkMast);
+// // 鐢熸垚宸ヤ綔妗�,灏嗘祬搴撲綅绉昏浆鍒版柊鐨勫簱浣嶄腑
+// moveLocForDeepLoc(slave, shallowLoc, mark);
+// }
+// News.error("{}浠诲姟鍑哄簱澶辫触锛屾祬搴撲綅鍫靛锛佹祬搴撲綅鍙�:{}", wrkMast.getWrkNo(), shallowLocNo);
+// continue;
+// } else if (shallowLoc.getLocSts().equals("Q") || shallowLoc.getLocSts().equals("S")) {
+// News.warnNoLog("" + mark + " - 2" + " - 10" + " - // Q銆丼 搴撲綅鐘舵��={}", shallowLoc.getLocSts());
+// WrkMast waitWrkMast = wrkMastMapper.selectByLocNo1(shallowLocNo);
+// if (null != waitWrkMast && waitWrkMast.getWrkSts() == 4) {
+// News.infoNoLog("" + mark + " - 2" + " - 11" + " - // F銆丏 宸ヤ綔鐘舵��(鍒ゆ柇鏉′欢涓�==4)={}", waitWrkMast.getWrkSts());
+// continue;
+// }
+// }
+// }
// 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�
if (wrkMastMapper.selectWorking(slave.getId()) != null) {
@@ -1697,6 +1793,12 @@
for (DevpSlave devp : slaveProperties.getDevp()) {
// 閬嶅巻绌烘澘鍏ュ簱鍙�
for (DevpSlave.Sta emptyInSta : devp.getEmptyInSta()) {
+ // 鑾峰彇鏉$爜鎵弿浠俊鎭�
+ BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, emptyInSta.getBarcode());
+ if (barcodeThread == null) {
+ continue;
+ }
+ String barcode = barcodeThread.getBarcode();
// 鑾峰彇绌烘澘鍏ュ簱绔欎俊鎭�
SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
StaProtocol staProtocol = devpThread.getStation().get(emptyInSta.getStaNo());
@@ -1715,6 +1817,64 @@
continue;
}
+ // 灏哄妫�娴嬪紓甯�
+ boolean back = false;
+ String errMsg = "";
+ // 妫�娴嬫槸鍚︽湁鍑哄簱浠诲姟 濡傛灉鏈夊嚭搴撲换鍔� 鍏ュ簱灏卞仠姝�
+ List<WrkMast> wrkMastList = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("crn_no",1).in("wrk_sts", 11, 12));
+ // 妫�娴�104绔欙紙鍫嗗灈鏈哄嚭搴撶珯 鍏ュ簱绔欙級鏄惁鏈夌墿 濡傛灉鏈夌墿娌℃湁宸ヤ綔鍙� 鍏ュ簱鍋滄 濡傛灉鏈夌墿宸ヤ綔鍙锋槸鍑哄簱 鍏ュ簱鍋滄 濡傛灉鏈夌墿宸ヤ綔鍙锋槸鍏ュ簱 鍙互鍏ュ簱 濡傛灉鏈夌墿宸ヤ綔鍙蜂笉瀛樺湪 鍏ュ簱鍋滄
+ StaProtocol staProtocol104 = devpThread.getStation().get(104);
+ if (staProtocol104 == null){
+ log.error("104绔欑偣淇℃伅鏈幏鍙�");
+ continue;
+ }
+ //104绔欐湁鐗� 鏈夊伐浣滃彿 鍒ゆ柇杩欎釜浠诲姟鐨勭被鍨�
+ WrkMast wrkMast1 = new WrkMast();
+ if (staProtocol104.isLoading() && staProtocol104.getWorkNo() != 0){
+ wrkMast1 = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", staProtocol104.getWorkNo()));
+ }
+ // 鍒ゆ柇鎵樼洏鐮佹牸寮�
+ if (Cools.isEmpty(barcode) || "NG".endsWith(barcode) || "NoRead".equals(barcode) || "00000000".equals(barcode)){
+ errMsg = "鎵樼洏鐮佹牸寮忔湁璇�--->" + barcode;
+ back = true;
+ }
+ if (!back && (!barcode.startsWith("5") && !barcode.startsWith("6") && !barcode.startsWith("7") && !barcode.startsWith("8"))) {
+ errMsg = "鎵樼洏鐮佹牸寮忔湁璇�--->" + barcode;
+ back = true;
+ }
+ if (!back && !wrkMastList.isEmpty()) {
+ errMsg = "鏈夊嚭搴撲换鍔�,鍏ュ簱鍋滄";
+ back = true;
+ }if (!back && staProtocol104.isLoading() && staProtocol104.getWorkNo() == 0 && (barcode.startsWith("5") || barcode.startsWith("6"))){ // 104铏界劧鏈夌墿娌℃湁宸ヤ綔鍙� 浣嗘槸濡傛灉102鐨勮揣鐗╄杩涚殑鏄�2鍙峰爢鍨涙満 涓嶈兘闃绘嫤 锛�1鍙峰爢鍨涙満鏉$爜 5xxx 6xxx 2鍙峰爢鍨涙満 7xxx 8xxx锛�
+ errMsg = "104绔欐湁鐗╀絾鏄棤宸ヤ綔鍙�,璇锋鏌�";
+ back = true;
+ }if (!back && (!Cools.isEmpty(wrkMast1) && wrkMast1.getIoType() > 100)){
+ errMsg = "鏈夊嚭搴撲换鍔�,鍏ュ簱鍋滄";
+ back = true;
+ }if (!back && (staProtocol104.isLoading() && Cools.isEmpty(wrkMast1)) && (barcode.startsWith("5") || barcode.startsWith("6"))){ // 鍚屼笂
+ errMsg = "104绔欐湁鐗╀絾鏄搴旂殑宸ヤ綔鍙锋棤宸ヤ綔妗�,璇锋鏌�";
+ back = true;
+ }
+
+ // 閫�鍥�
+ if (back) {
+ log.info("errmsg: " + errMsg);
+ MessageQueue.offer(SlaveType.Led, emptyInSta.getLed(), new Task(3, errMsg));
+
+ if (!staProtocol.isLoading()) {
+ continue;
+ }
+ if (!staProtocol.isPakMk()) {
+ continue;
+ }
+ staProtocol.setWorkNo(wrkNo);//閫�鍥� 宸ヤ綔鍙�:10000
+ News.info("{}PLC鍏ュ簱鍥為��锛歿}锛屼换鍔″彿锛歿}", emptyInSta.getStaNo(), errMsg, wrkNo);
+ staProtocol.setStaNo(emptyInSta.getBackSta().shortValue());
+ devpThread.setPakMk(staProtocol.getSiteId(), false);
+ MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ log.error("杈撻�佺嚎涓嬪彂(姝e湪鎵ц鍑哄簱浠诲姟 绌烘澘鍏ュ簱鏆傚仠)锛�" + wrkNo + "," + emptyInSta.getBackSta());
+ break;//鎵樼洏閫�鍥炰笉鐢熸垚宸ヤ綔妗�
+ }
// 绔欑偣鏉′欢鍒ゆ柇
if (staProtocol.isAutoing()
&& staProtocol.isLoading()
@@ -1732,6 +1892,7 @@
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")
--
Gitblit v1.9.1