From daa071791f228ace11898f3aeb095d2668c7a9ae Mon Sep 17 00:00:00 2001
From: TQS <56479841@qq.com>
Date: 星期二, 20 十二月 2022 11:07:53 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 71 ++++++++++++++++++++++++++++++++---
1 files changed, 64 insertions(+), 7 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 c72a8a9..dc27704 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -63,6 +63,8 @@
@Autowired
private WrkMastMapper wrkMastMapper;
@Autowired
+ private WrkMastService wrkMastService;
+ @Autowired
private WrkDetlService wrkDetlService;
@Autowired
private LocMastService locMastService;
@@ -609,6 +611,7 @@
// 鏇存柊宸ヤ綔妗g姸鎬佷负 17.鍑哄簱瀹屾垚
wrkMast.setWrkSts(17L);
+ wrkMast.setSteNo(0);
wrkMast.setCrnEndTime(new Date());
if (wrkMastMapper.updateById(wrkMast) != 0) {
// 澶嶄綅鍫嗗灈鏈�
@@ -712,6 +715,18 @@
// log.error("{}绔欑偣鏌ヨ鏃犲緟鍏ュ簱鏁版嵁 宸ヤ綔鍙�={}", crnStn.getStaNo(), staProtocol.getWorkNo());
continue;
}
+
+ // 鍒ゆ柇鏄惁宸插瓨鍦ㄥ皬杞︾粦瀹氫换鍔�
+ BasSte basSte = basSteService.findByCrnNo(wrkMast.getCrnNo());
+ if(basSte == null) continue;
+ WrkMast one1 = wrkMastService.selectOne(new EntityWrapper<WrkMast>()
+ .eq("ste_no",basSte.getSteNo())
+ .last(" and wrk_sts > 10"));
+ if(one1 != null){
+ log.error("{}鍏ュ簱浠诲姟鏃犳硶浣滀笟锛屽洜鍑哄簱浠诲姟宸茬粦瀹氬皬杞�!", wrkMast.getWrkNo());
+ continue;
+ }
+
if (wrkMast.getWrkSts() < 3) {
if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() > 0 && staProtocol.isInEnable()
&& staDetl.getCanining()!=null && staDetl.getCanining().equals("Y")) {
@@ -869,7 +884,7 @@
}
// 娌℃湁灏忚溅
} else {
- if (wrkMast.getWrkSts() == 2L && wrkMast.getSteNo() == null) {
+ if (wrkMast.getWrkSts() == 2L && (wrkMast.getSteNo() == null || wrkMast.getSteNo() == 0)) {
// 瀵绘壘褰撳墠鍫嗗灈鏈哄搴旂殑灏忚溅
SteThread steThread = queryIdleCar(wrkMast);
if (steThread != null) {
@@ -902,29 +917,39 @@
continue;
}
+ // 鍒ゆ柇鏄惁宸插瓨鍦ㄥ皬杞︾粦瀹氫换鍔�
+ BasSte basSte = basSteService.findByCrnNo(wrkMast.getCrnNo());
+ if(basSte == null) continue;
+ WrkMast one1 = wrkMastService.selectOne(new EntityWrapper<WrkMast>()
+ .eq("ste_no",basSte.getSteNo())
+ .last(" and wrk_sts < 10"));
+ if(one1 != null){
+ log.error("{}鍑哄簱浠诲姟鏃犳硶浣滀笟锛屽洜鍏ュ簱浠诲姟宸茬粦瀹氬皬杞�!", wrkMast.getWrkNo());
+ continue;
+ }
+
//鍔犲己鍒ゆ柇锛岀‘淇濆洜鍑哄簱瀵艰嚧鐨勭Щ搴撴暣濂椾换鍔″叏閮ㄧ粨鏉熷悗锛屾墠鑳芥墽琛屼笅涓�绗斿嚭搴撲换鍔°�傚彧鏈夊簱浣嶅畬鎴愮Щ搴撳洖鍘诲叏閮ㄤ换鍔″悗锛屾墠璁や负褰撶粍鍑哄簱浠诲姟瀹屾垚
WrkMast one = wrkMastMapper.selectLocMoveData(slave.getId());
if(!Cools.isEmpty(one)){
//瀛樺湪绉诲簱浠诲姟锛屼笖鍦ㄧЩ鍑轰腑锛屼笖绉诲簱婧愬簱浣嶄笌寰呭嚭搴撳簱浣嶄笉鍦ㄥ悓涓�搴撲綅缁勶紝鏃惰烦鍑猴紝纭繚绉诲簱/鍑哄簱鍏ㄥ浠诲姟瀹屾垚鍚庯紝鍐嶆墽琛屼笅涓�绗�
- if(one.getWrkSts() > 10 && (Utils.getGroupRow(wrkMast.getSourceLocNo()) != Utils.getGroupRow(one.getSourceLocNo())
+ if(wrkMast.getWrkNo() == 11 && one.getWrkSts() > 10 && (Utils.getGroupRow(wrkMast.getSourceLocNo()) != Utils.getGroupRow(one.getSourceLocNo())
|| Utils.getBay(wrkMast.getSourceLocNo()) != Utils.getBay(one.getSourceLocNo())
|| Utils.getLev(wrkMast.getSourceLocNo()) != Utils.getLev(one.getSourceLocNo()))){
continue;
}
//瀛樺湪绉诲簱浠诲姟锛屼笖鍦ㄧЩ鍥炰腑锛屼笖绉诲簱鐩爣搴撲綅涓庡緟鍑哄簱搴撲綅涓嶅湪鍚屼竴搴撲綅缁勶紝鏃惰烦鍑猴紝纭繚绉诲簱/鍑哄簱鍏ㄥ浠诲姟瀹屾垚鍚庯紝鍐嶆墽琛屼笅涓�绗�
- if(one.getWrkSts() < 11 && (Utils.getGroupRow(wrkMast.getSourceLocNo()) != Utils.getGroupRow(one.getLocNo())
+ if(wrkMast.getWrkNo() == 11 && one.getWrkSts() < 11 && (Utils.getGroupRow(wrkMast.getSourceLocNo()) != Utils.getGroupRow(one.getLocNo())
|| Utils.getBay(wrkMast.getSourceLocNo()) != Utils.getBay(one.getLocNo())
|| Utils.getLev(wrkMast.getSourceLocNo()) != Utils.getLev(one.getLocNo()))){
continue;
}
- log.info("");
}
//鍑哄簱搴撲綅涓嶆槸鏈�澶栧眰搴撲綅锛屽垽鏂祬搴撲綅缁勬槸鍚﹂兘涓虹┖锛屾垨瀛樺湪搴撲綅绉昏浆浠诲姟
boolean flag = false;
if(!locMastService.isOutMost(wrkMast.getSourceLocNo())){
WrkMast wrkMastMove = wrkMastMapper.selectLocMoveWorking(slave.getId());
- if(wrkMastMove != null){
+ if(wrkMastMove != null && wrkMast.getWrkNo() == 11){
continue;
}
@@ -1184,6 +1209,23 @@
if (null == wrkMast) {
return;
}
+ // 杩囨护
+ if (null != wrkMastMapper.selectPakin(slave.getId(), null)) {
+ log.error("{}鍑哄簱浠诲姟鏃犳硶浣滀笟锛屽洜瀛樺湪鍏ュ簱涓换鍔�!", wrkMast.getWrkNo());
+ return;
+ }
+
+ // 鍒ゆ柇鏄惁宸插瓨鍦ㄥ皬杞︾粦瀹氫换鍔�
+ BasSte basSte = basSteService.findByCrnNo(wrkMast.getCrnNo());
+ if(basSte == null) return;
+ WrkMast one = wrkMastService.selectOne(new EntityWrapper<WrkMast>()
+ .eq("ste_no",basSte.getSteNo())
+ .last(" and io_type != 11 and wrk_sts < 10"));
+ if(one != null){
+ log.error("{}绉诲簱浠诲姟鏃犳硶浣滀笟锛屽洜鍏ュ簱浠诲姟宸茬粦瀹氬皬杞�!", wrkMast.getWrkNo());
+ return;
+ }
+
// 鑾峰彇婧愬簱浣嶄俊鎭�
LocMast sourceLoc = locMastService.selectById(wrkMast.getSourceLocNo());
if (null == sourceLoc) {
@@ -1404,7 +1446,7 @@
}
}
LocMast sourceLoc = locMastService.selectById(wrkMast.getSourceLocNo());
- if(sourceLoc.getLocSts().equals("F")){
+ if(sourceLoc.getLocSts().equals("F") || sourceLoc.getLocSts().equals("D")){
sourceLoc.setLocSts("R"); // R.鍑哄簱棰勭害
sourceLoc.setModiTime(new Date());
if (!locMastService.updateById(sourceLoc)) {
@@ -1470,7 +1512,20 @@
if (wrkMast.getWrkSts() == 2L && (wrkMast.getSteNo() == null || wrkMast.getSteNo() == 0)) {
// 娌℃湁鍏朵粬浠诲姟
if (null == wrkMastMapper.selectPakin(slave.getId(), steNo)) {
- this.letCarBeWaiting(wrkMast, steNo, wrkMast.getLocNo());
+ SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo);
+ SteProtocol steProtocol = steThread.getSteProtocol();
+ if (steProtocol == null) { return; }
+ if(steProtocol.getLoca()==3 || steProtocol.getLoca()==4){
+ //灏忚溅宸茬粡鍦ㄥ緟鏈轰綅鏃讹紝鏃犻渶涓嬪彂鍒板緟鏈轰綅浠诲姟锛岀洿鎺ユ洿鏂扮姸鎬佸井3锛屽悓鏃剁粦瀹氬皬杞�
+ wrkMast.setWrkSts(3L);
+ wrkMast.setSteNo(steNo);
+ wrkMast.setModiTime(new Date());
+ if (wrkMastMapper.updateById(wrkMast) == 0) {
+ log.error("淇敼宸ヤ綔妗g姸鎬� 缁戝畾绌挎杞� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
+ }
+ } else {
+ this.letCarBeWaiting(wrkMast, steNo, wrkMast.getLocNo());
+ }
}
}
// 鍫嗗灈鏈哄皢璐ф斁鑷冲皬杞︿笂 3.灏忚溅寰呮惉锛堝皬杞︿笉鐢ㄦ惉杩愶紝宸茬粡鍦ㄥ綋鍓嶇粍搴撲綅锛� / 6.灏忚溅寰呭叆 ===>> 7.鍚婅溅鍏ュ簱涓�
@@ -2489,6 +2544,8 @@
log.error("搴撲綅绉昏浆 ===>> 杞Щ搴撳瓨鏄庣粏鏁版嵁澶辫触锛沎婧愬簱浣�={}],[鐩爣搴撲綅={}]", wrkMast.getSourceLocNo(), wrkMast.getLocNo());
continue;
}
+ } else {
+ locSts = "D";
}
if(Cools.isEmpty(locSts)){
log.error("搴撲綅绉昏浆 ===>> 搴撳瓨鐘舵�佷负绌猴紱[婧愬簱浣�={}],[鐩爣搴撲綅={}]", wrkMast.getSourceLocNo(), wrkMast.getLocNo());
--
Gitblit v1.9.1