From 470b68a248ae249c48b3ed45b9b5934de2bb090a Mon Sep 17 00:00:00 2001
From: tqs <56479841@qq.com>
Date: 星期二, 21 二月 2023 09:25:08 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 154 ++++++++++++++++++++++++++++++++++-----------------
1 files changed, 102 insertions(+), 52 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 2f671c0..702fe9f 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -115,21 +115,25 @@
Short workNo = staProtocol.getWorkNo();
//20230201. 2鍙峰爢鍨涙満鏈夊嚭搴撲换鍔℃椂锛岀姝㈡柊鏉垮叆搴�
- if ( inSta.getStaNo()==103 && devpThread.ioModeOf1F == IoModeType.PAKOUT_MODE) {
- //鏈夊嚭搴撲换鍔★紝閫�搴撳埌鍏ュ簱鍙�
- staProtocol.setWorkNo((short) 9999);
- staProtocol.setStaNo((short)100);
- devpThread.setPakMk(staProtocol.getSiteId(), false);
- boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
- continue;
- }
- if ( inSta.getStaNo()==203 && devpThread.ioModeOf2F == IoModeType.PAKOUT_MODE) {
- //鏈夊嚭搴撲换鍔★紝閫�搴撳埌鍏ュ簱鍙�
- staProtocol.setWorkNo((short) 9999);
- staProtocol.setStaNo((short)200);
- devpThread.setPakMk(staProtocol.getSiteId(), false);
- boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
- continue;
+ if (staProtocol.isLoading() && staProtocol.getWorkNo() == 9995) {
+ if ( inSta.getStaNo()==103 && devpThread.ioModeOf1F == IoModeType.PAKOUT_MODE) {
+ //鏈夊嚭搴撲换鍔★紝閫�搴撳埌鍏ュ簱鍙�
+ staProtocol.setWorkNo((short) 9999);
+ staProtocol.setStaNo((short)100);
+ devpThread.setPakMk(staProtocol.getSiteId(), false);
+ boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ News.error("MainServiceImpl generateStoreWrkFile"+"103涓哄嚭搴撴ā寮忥紝绂佹鍏ュ簱锛岄��鍥炲叆搴撳彛銆傦紒锛侊紒");
+ continue;
+ }
+ if ( inSta.getStaNo()==203 && devpThread.ioModeOf2F == IoModeType.PAKOUT_MODE) {
+ //鏈夊嚭搴撲换鍔★紝閫�搴撳埌鍏ュ簱鍙�
+ staProtocol.setWorkNo((short) 9999);
+ staProtocol.setStaNo((short)200);
+ devpThread.setPakMk(staProtocol.getSiteId(), false);
+ boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ News.error("MainServiceImpl generateStoreWrkFile"+"203涓哄嚭搴撴ā寮忥紝绂佹鍏ュ簱锛岄��鍥炲叆搴撳彛銆傦紒锛侊紒");
+ continue;
+ }
}
// 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
@@ -517,6 +521,7 @@
// 鏇存柊宸ヤ綔妗f暟鎹姸鎬�
wrkMast.setIoType(wrkMast.getIoType() - 50); // 鍏ュ嚭搴撶被鍨�: 103->53,104->54,107->57
wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵��: 2.璁惧涓婅蛋
+ wrkMast.setIoPri(13D);
wrkMast.setSourceStaNo(pickSta.getStaNo()); // 婧愮珯
wrkMast.setStaNo(dto.getStaNo()); // 鐩爣绔�
wrkMast.setCrnNo(dto.getCrnNo());
@@ -830,18 +835,18 @@
continue;
}
- //鍔犲己鍒ゆ柇锛屽彧瑕佸瓨鍦ㄧЩ搴撲换鍔★紝璇存槑鍑哄簱浠诲姟鏈畬鍏ㄧ粨鏉燂紝涓嶆墽琛屽叆搴撲换鍔�
- WrkMast one = wrkMastMapper.selectLocMoveData(slave.getId());
- if(!Cools.isEmpty(one)){
- News.error("鍏ュ簱 ===>> 瀛樺湪绉诲簱鏈畬鎴愪换鍔★紝涓嶈兘鍏ュ簱銆傜Щ搴撲换鍔″彿={},鍫嗗灈鏈哄彿={}", one.getWrkNo(), slave.getId());
- continue;
- }
-
// 鑾峰彇宸ヤ綔鐘舵�佷负 2,3,4,5,6 鐨勫叆搴撳伐浣滄。
WrkMast wrkMast = wrkMastMapper.selectPakInStep23456(slave.getId(), staProtocol.getWorkNo().intValue(), crnStn.getStaNo());
if(null == wrkMast) {
// News.error("{}绔欑偣鏌ヨ鏃犲緟鍏ュ簱鏁版嵁 宸ヤ綔鍙�={}", crnStn.getStaNo(), staProtocol.getWorkNo());
continue;
+ }
+
+ //鍔犲己鍒ゆ柇锛屽彧瑕佸瓨鍦ㄧЩ搴撲换鍔★紝璇存槑鍑哄簱浠诲姟鏈畬鍏ㄧ粨鏉燂紝涓嶆墽琛屽叆搴撲换鍔�
+ WrkMast one = wrkMastMapper.selectLocMoveData(slave.getId());
+ if(!Cools.isEmpty(one)){
+ News.error("鍏ュ簱 ===>> 瀛樺湪绉诲簱鏈畬鎴愪换鍔★紝涓嶈兘鍏ュ簱銆傜Щ搴撲换鍔″彿={},鍫嗗灈鏈哄彿={}", one.getWrkNo(), slave.getId());
+// continue;
}
// 鍒ゆ柇鏄惁宸插瓨鍦ㄥ皬杞︾粦瀹氫换鍔�
@@ -1045,12 +1050,39 @@
continue;
}
+ // 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅
+ SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId());
+ StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo());
+ if (staProtocol == null) {
+ continue;
+ } else {
+ staProtocol = staProtocol.clone();
+ }
+
if (wrkMast.getCrnNo().equals(2)){
+ if (wrkMast.getStaNo() == 103 && devpThread.ioModeOf1F != IoModeType.PAKOUT_MODE) {
+ News.error("MainServiceImpl locToCrnStn"+"103闈炲嚭搴撴ā寮忥紝绂佹鍑哄簱銆備换鍔″彿:{}锛侊紒锛�",wrkMast.getWrkNo());
+ continue;
+ }
+ if (wrkMast.getStaNo() == 203 && devpThread.ioModeOf2F != IoModeType.PAKOUT_MODE) {
+ News.error("MainServiceImpl locToCrnStn"+"203闈炲嚭搴撴ā寮忥紝绂佹鍑哄簱銆備换鍔″彿:{}锛侊紒锛�",wrkMast.getWrkNo());
+ continue;
+ }
+
if (wrkMast.getWrkSts() == 11 && (wrkMast.getIoType() == 103 || wrkMast.getIoType() == 107)){
Integer sour = wrkMast.getSourceStaNo();
List<WrkMast> wrkMasts = wrkMastMapper.selectWrkStsAndIoType0(sour);
if (wrkMasts.size() > 0){
News.error("MainServiceImpl 1028琛�"+"瀛樺湪鎹℃枡銆佺洏鐐规湭鍏ュ簱璐х墿锛�2鍙峰爢鍨涙満鏆傛椂绂佹鍑哄簱锛侊紒锛�");
+ continue;
+ }
+ }
+
+ if (wrkMast.getWrkSts() == 11 && wrkMast.getIoType() == 101){
+ Integer sour = wrkMast.getSourceStaNo();
+ List<WrkMast> wrkMasts = wrkMastMapper.selectWrkStsAndIoType1(sour);
+ if (wrkMasts.size() > 0){
+ News.error("MainServiceImpl 1028琛�"+"204瀛樺湪鍏ㄦ澘鍑哄簱涓揣鐗╋紝2鍙峰爢鍨涙満鏆傛椂绂佹鍏ㄦ澘鍑哄簱锛侊紒锛�");
continue;
}
}
@@ -1108,7 +1140,9 @@
if (wrkMastMapper.updateById(waitWrkMast) == 0) {
News.error("璋冩暣宸ヤ綔妗d紭鍏堢骇澶辫触锛佸伐浣滃彿={}", waitWrkMast.getWrkNo());
}
- flag = true;
+ if (waitWrkMast.getWrkSts() != 17) {
+ flag = true;
+ }
break;
}
}
@@ -1153,17 +1187,10 @@
// 鑾峰彇婧愬簱浣嶄俊鎭�
LocMast sourceSta = locMastService.selectById(wrkMast.getSourceLocNo());
if (!sourceSta.getLocSts().equals("R") &&!sourceSta.getLocSts().equals("P")) {
- News.error("鍑哄簱鎿嶄綔搴撲綅鐘舵�佷笉绗﹀悎--鐘舵��, 搴撲綅鍙�={}锛屽簱浣嶇姸鎬�={}", wrkMast.getLocNo(), sourceSta.getLocSts());
+ News.error("鍑哄簱鎿嶄綔搴撲綅鐘舵�佷笉绗﹀悎--鐘舵��, 搴撲綅鍙�={}锛屽簱浣嶇姸鎬�={}", wrkMast.getSourceLocNo(), sourceSta.getLocSts());
continue;
}
- // 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅
- DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId());
- StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo());
- if (staProtocol == null) {
- continue;
- } else {
- staProtocol = staProtocol.clone();
- }
+
// 鏌ヨ绔欑偣璇︾粏淇℃伅
BasDevp staDetl = basDevpService.selectById(crnStn.getStaNo());
if (staDetl == null) {
@@ -1568,7 +1595,7 @@
if(deepLoc != null && !deepLoc.getLocSts().equals("F")
&& !deepLoc.getLocSts().equals("D")
&& !deepLoc.getLocSts().equals("O")
- && (waitWrkMast!=null && waitWrkMast.getWrkSts()<17)){
+ && (waitWrkMast!=null && waitWrkMast.getWrkSts()<18)){
News.error("绉诲簱鍐嶅洖搴撴椂锛屾繁搴撲綅缁勬繁搴撲綅鐘舵�佷负浣滀笟涓� ===>> deepLoc={},loc_sts={}", deepLoc.getLocNo(), deepLoc.getLocSts());
flag = true;
break;
@@ -1594,7 +1621,7 @@
}
}
LocMast sourceLoc = locMastService.selectById(wrkMast.getSourceLocNo());
- if(sourceLoc.getLocSts().equals("F") || sourceLoc.getLocSts().equals("D")){
+ if(sourceLoc.getLocSts().equals("R") || sourceLoc.getLocSts().equals("D")){
sourceLoc.setLocSts("R"); // R.鍑哄簱棰勭害
sourceLoc.setModiTime(new Date());
if (!locMastService.updateById(sourceLoc)) {
@@ -2687,7 +2714,7 @@
String locSts = "";
// 搴撲綅绉昏浆鍒ゆ柇鏄惁涓虹┖鏉跨Щ杞�
if (wrkMast.getEmptyMk().equals("N")) {
- locSts = "F";
+ locSts = "R";
// 杞Щ搴撳瓨鏄庣粏鏁版嵁: 搴撳瓨鍙� 鐢卞伐浣滄。婧愬簱浣嶅彉涓虹洰鏍囧簱浣�
if (!locDetlService.updateLocNo(wrkMast.getLocNo(), wrkMast.getSourceLocNo())) {
News.error("搴撲綅绉昏浆 ===>> 杞Щ搴撳瓨鏄庣粏鏁版嵁澶辫触锛沎婧愬簱浣�={}],[鐩爣搴撲綅={}]", wrkMast.getSourceLocNo(), wrkMast.getLocNo());
@@ -3231,21 +3258,25 @@
}
//20230201. 2鍙峰爢鍨涙満鏈夊嚭搴撲换鍔℃椂锛岀姝㈡柊鏉垮叆搴�
- if ( emptyInSta.getStaNo()==103 && devpThread.ioModeOf1F == IoModeType.PAKOUT_MODE) {
- //鏈夊嚭搴撲换鍔★紝閫�搴撳埌鍏ュ簱鍙�
- staProtocol.setWorkNo((short) 9999);
- staProtocol.setStaNo((short)100);
- devpThread.setPakMk(staProtocol.getSiteId(), false);
- boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
- continue;
- }
- if ( emptyInSta.getStaNo()==203 && devpThread.ioModeOf2F == IoModeType.PAKOUT_MODE) {
- //鏈夊嚭搴撲换鍔★紝閫�搴撳埌鍏ュ簱鍙�
- staProtocol.setWorkNo((short) 9999);
- staProtocol.setStaNo((short)200);
- devpThread.setPakMk(staProtocol.getSiteId(), false);
- boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
- continue;
+ if (staProtocol.isLoading() && staProtocol.getWorkNo() == 9995) {
+ if ( emptyInSta.getStaNo()==103 && devpThread.ioModeOf1F == IoModeType.PAKOUT_MODE) {
+ //鏈夊嚭搴撲换鍔★紝閫�搴撳埌鍏ュ簱鍙�
+ staProtocol.setWorkNo((short) 9999);
+ staProtocol.setStaNo((short)100);
+ devpThread.setPakMk(staProtocol.getSiteId(), false);
+ boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ News.error("MainServiceImpl storeEmptyPlt"+"103涓哄嚭搴撴ā寮忥紝绂佹鍏ュ簱锛岄��鍥炲叆搴撳彛銆傦紒锛侊紒");
+ continue;
+ }
+ if ( emptyInSta.getStaNo()==203 && devpThread.ioModeOf2F == IoModeType.PAKOUT_MODE) {
+ //鏈夊嚭搴撲换鍔★紝閫�搴撳埌鍏ュ簱鍙�
+ staProtocol.setWorkNo((short) 9999);
+ staProtocol.setStaNo((short)200);
+ devpThread.setPakMk(staProtocol.getSiteId(), false);
+ boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ News.error("MainServiceImpl storeEmptyPlt"+"203涓哄嚭搴撴ā寮忥紝绂佹鍏ュ簱锛岄��鍥炲叆搴撳彛銆傦紒锛侊紒");
+ continue;
+ }
}
// 绔欑偣鏉′欢鍒ゆ柇
@@ -3823,8 +3854,27 @@
if(Utils.getGroupRow(one.getLocNo()) != Utils.getGroupRow(shallowLoc.getLocNo())
|| Utils.getBay(one.getLocNo()) != Utils.getBay(shallowLoc.getLocNo())
|| Utils.getLev(one.getLocNo()) != Utils.getLev(shallowLoc.getLocNo())){
- loc = one;
- break;
+
+ boolean success = true;
+ List<String> insideLoc = Utils.getGroupInsideLoc(one.getLocNo());
+ for (String inside : insideLoc) {
+ if (locMastService.selectById(inside).getLocSts().equals("P")
+ || locMastService.selectById(inside).getLocSts().equals("R")
+ || locMastService.selectById(inside).getLocSts().equals("S")
+ || locMastService.selectById(inside).getLocSts().equals("Q")) {
+ success = false; break;
+ }
+ }
+
+ Integer steNo = this.hasCar(one.getLocNo());
+ if (steNo != null) {
+ continue;
+ }
+
+ if (success) {
+ loc = one;
+ break;
+ }
}
}
--
Gitblit v1.9.1