From f0e2feba85291e700eae3b0a8cedd28f37b44c02 Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期六, 19 四月 2025 20:04:34 +0800
Subject: [PATCH] 999
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 304 +++++++++++++++++++++++++++++++++++--------------
1 files changed, 215 insertions(+), 89 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 2b97ce7..8d84d27 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1,6 +1,7 @@
package com.zy.asrs.service.impl;
import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.zy.asrs.domain.enums.NotifyMsgType;
import com.zy.asrs.entity.*;
@@ -8,6 +9,7 @@
import com.zy.asrs.utils.NotifyUtils;
import com.zy.asrs.utils.Utils;
import com.zy.common.model.MapNode;
+import com.zy.common.model.SearchLocParam;
import com.zy.common.model.enums.NavigationMapType;
import com.zy.common.service.CommonService;
import com.zy.common.utils.*;
@@ -38,12 +40,10 @@
import com.zy.system.service.ConfigService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
/**
* 绔嬩綋浠撳簱WCS绯荤粺涓绘祦绋嬩笟鍔�
@@ -99,14 +99,11 @@
private LiftAction liftAction;
@Autowired
private BasWrkStatusService wrkStatusService;
+ @Value("${asrs.wmsUrl}")
+ private String wmsUrl;
- public static List<Integer> staNosIn = new ArrayList<Integer>() {{
- add(1015);
- add(1026);
- }};
-
- private boolean isInEnable(DevpThread devpThread, Integer staNo) {
+ public boolean isInEnable(DevpThread devpThread, Integer staNo) {
if (staNo == null) {
return false;
}
@@ -122,6 +119,7 @@
case 1031:
case 1032:
return devpThread.getStation().get(1032).isInEnable();
+ case 1024:
case 1025:
case 1026:
return devpThread.getStation().get(1025).isInEnable();
@@ -133,7 +131,7 @@
return false;
}
- private boolean isOutEnable(DevpThread devpThread, Integer staNo) {
+ public boolean isOutEnable(DevpThread devpThread, Integer staNo) {
if (staNo == null) {
return false;
}
@@ -146,9 +144,7 @@
case 1022:
case 1023:
return devpThread.getStation().get(1022).isOutEnable();
- case 1031:
- case 1032:
- return devpThread.getStation().get(1032).isOutEnable();
+ case 1024:
case 1025:
case 1026:
return devpThread.getStation().get(1025).isOutEnable();
@@ -156,6 +152,9 @@
case 1014:
case 1015:
return devpThread.getStation().get(1014).isOutEnable();
+ case 1031:
+ case 1032:
+ return devpThread.getStation().get(1032).isOutEnable();
}
return false;
}
@@ -188,8 +187,8 @@
if (staProtocol.isAutoing() && staProtocol.isLoading() && isInEnable(devpThread, inSta.getStaNo()) && !staProtocol.isEmptyMk() && (workNo == 0 || (workNo >= 9990 && workNo <= 9999)) && staProtocol.isPakMk()) {
String barcode = staProtocol.getBarcode();
// 鍒ゆ柇閲嶅宸ヤ綔妗�
- WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("source_sta_no", inSta.getStaNo()).eq("wrk_sts", WrkStsType.NEW_INBOUND.sts).eq("barcode", barcode));
- if (wrkMast != null) {
+ WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("source_sta_no", inSta.getStaNo()).eq("barcode", barcode));
+ if (wrkMast != null && wrkMast.getWrkSts() == WrkStsType.NEW_INBOUND.sts) {
News.error("宸ヤ綔妗e凡瀛樺湪,宸ヤ綔鍙�={}", wrkMast.getWrkNo());
//鍒ゆ柇鏃舵彁鍗囨満渚э紝杩樻槸鏃犳彁鍗囨満娴�
staProtocol.setWorkNo(Short.parseShort(String.valueOf(wrkMast.getWrkNo())));
@@ -199,25 +198,25 @@
wrkMast.setWrkSts(WrkStsType.INBOUND_DEVICE_RUN.sts);
wrkMast.setModiTime(new Date());
wrkMastService.updateById(wrkMast);
+ } else if (wrkMast != null && wrkMast.getWrkSts() != WrkStsType.NEW_INBOUND.sts) {
+ continue;
}
try {
- /*String wmsUrl = "127.0.0.1:8080/fyxcwms";
- SearchLocParam param = new SearchLocParam();
- param.setBarcode(barcode);
- param.setIoType(1);
- param.setSourceStaNo(inSta.getStaNo());
- param.setLocType1(staProtocol.getLocType1().shortValue());
- String response = new HttpHandler.Builder()
- .setUri(wmsUrl)
- .setPath("/rpc/pakin/loc/v1")
- .setJson(JSON.toJSONString(param))
- .build()
- .doPost();
- JSONObject jsonObject = JSON.parseObject(response);
- Integer code = jsonObject.getInteger("code");
- if (code.equals(200)) {
- StartupDto dto = jsonObject.getObject("data", StartupDto.class);
-
+ SearchLocParam param = new SearchLocParam();
+ param.setBarcode(barcode);
+ param.setIoType(1);
+ param.setSourceStaNo(inSta.getStaNo());
+ param.setLocType1((short) 1);
+ String response = new HttpHandler.Builder()
+ .setUri(wmsUrl)
+ .setPath("/rpc/pakin/loc/v1")
+ .setJson(JSON.toJSONString(param))
+ .build()
+ .doPost();
+ JSONObject jsonObject = JSON.parseObject(response);
+ Integer code = jsonObject.getInteger("code");
+ if (code.equals(200)) {
+ //StartupDto dto = jsonObject.getObject("data", StartupDto.class);
// String wmsLocNo = dto.getLocNo();
// int row = Integer.parseInt(wmsLocNo.substring(0, 2));
// int bay = Integer.parseInt(wmsLocNo.substring(2, 5));
@@ -248,24 +247,72 @@
// }catch (Exception e){
//
// }
- } else {
- String msg = jsonObject.getString("msg");
- HashMap<String, String> hashMap = new HashMap<>();
- hashMap.put("msg", msg);
- hashMap.put("sta", inSta.getStaNo().toString());
- new HttpHandler.Builder()
- .setUri(wmsUrl)
- .setPath("/rpc/led/getError")
- .setJson(JSON.toJSONString(hashMap))
- .build()
- .doPost();
- News.error("鍏ュ簱鐢宠澶辫触锛屼换鍔℃暟鎹�={}锛岃姹傚搷搴�={}", JSON.toJSON(param), JSON.toJSON(jsonObject));
- }*/
+ } else {
+ String msg = jsonObject.getString("msg");
+ HashMap<String, String> hashMap = new HashMap<>();
+ hashMap.put("msg", msg);
+ hashMap.put("sta", inSta.getStaNo().toString());
+ new HttpHandler.Builder()
+ .setUri(wmsUrl)
+ .setPath("/rpc/led/getError")
+ .setJson(JSON.toJSONString(hashMap))
+ .build()
+ .doPost();
+ News.error("鍏ュ簱鐢宠澶辫触锛屼换鍔℃暟鎹�={}锛岃姹傚搷搴�={}", JSON.toJSON(param), JSON.toJSON(jsonObject));
+ }
} catch (Exception e) {
- e.printStackTrace();
+ log.error("璋冪敤wms鎶ラ敊1锛寋}", e.getMessage());
}
}
+ } else if (inSta.getStaNo() == 1012 || inSta.getStaNo() == 1022) {
+ // 鑾峰彇鍏ュ簱绔欎俊鎭�
+ DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+ StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
+ if (staProtocol == null) {
+ continue;
+ } else {
+ staProtocol = staProtocol.clone();
+ }
+ Short workNo = staProtocol.getWorkNo();
+ if (staProtocol.isAutoing() && staProtocol.isLoading() && isInEnable(devpThread, inSta.getStaNo()) && !staProtocol.isEmptyMk() && (workNo == 0 || (workNo >= 9990 && workNo <= 9999)) && staProtocol.isPakMk()) {
+ String barcode = staProtocol.getBarcode();
+ // 鍒ゆ柇閲嶅宸ヤ綔妗�
+ WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("source_sta_no", inSta.getStaNo()).eq("barcode", barcode));
+ if (wrkMast == null) {
+ try {
+ SearchLocParam param = new SearchLocParam();
+ param.setBarcode(barcode);
+ param.setIoType(1);
+ param.setSourceStaNo(inSta.getStaNo());
+ param.setLocType1((short) 1);
+ String response = new HttpHandler.Builder()
+ .setUri(wmsUrl)
+ .setPath("/rpc/pakin/loc/v1")
+ .setJson(JSON.toJSONString(param))
+ .build()
+ .doPost();
+ JSONObject jsonObject = JSON.parseObject(response);
+ Integer code = jsonObject.getInteger("code");
+ if (code.equals(200)) {
+ } else {
+ String msg = jsonObject.getString("msg");
+ HashMap<String, String> hashMap = new HashMap<>();
+ hashMap.put("msg", msg);
+ hashMap.put("sta", inSta.getStaNo().toString());
+ new HttpHandler.Builder()
+ .setUri(wmsUrl)
+ .setPath("/rpc/led/getError")
+ .setJson(JSON.toJSONString(hashMap))
+ .build()
+ .doPost();
+ News.error("鍏ュ簱鐢宠澶辫触锛屼换鍔℃暟鎹�={}锛岃姹傚搷搴�={}", JSON.toJSON(param), JSON.toJSON(jsonObject));
+ }
+ } catch (Exception e) {
+ log.error("璋冪敤wms鎶ラ敊2锛寋}", e.getMessage());
+ }
+ }
+ }
}
}
} catch (Exception e) {
@@ -290,7 +337,7 @@
if (liftWrkMast != null) {
if (!liftWrkMast.getWrkNo().equals(wrkMast.getWrkNo())) {//鎻愬崌鏈轰换鍔″拰褰撳墠浠诲姟涓嶇浉鍚�
News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満瀛樺湪鏈畬鎴愪换鍔★紝绂佹娲惧彂", wrkMast.getWrkNo(), 1);
- return;
+ continue;
}
}
wrkMast.setLiftNo(1);
@@ -302,24 +349,24 @@
String locNo = "1200301";
- if (wrkMast.getStaNo() == 1025) {
+ if (wrkMast.getStaNo() == 1026) {
locNo = "1200305";
}
boolean dispatchShuttle = shuttleDispatchUtils.searchDispatchShuttleS(wrkMast.getWrkNo(), locNo, wrkMast.getLocNo(), "TRANSPORT_DEVP");
if (!dispatchShuttle) {
News.info("{}浠诲姟锛岃皟搴﹀皬杞﹀け璐�", wrkMast.getWrkNo());
- return;
+ continue;
+ } else {
+ News.info("{}浠诲姟锛岃皟搴﹀皬杞﹀け鎴愬姛", wrkMast.getWrkNo());
}
wrkMast.setWrkSts(WrkStsType.INBOUND_SHUTTLE_RUN.sts);
wrkMast.setLiftNo(null);
wrkMast.setSystemMsg("");//娓呯┖娑堟伅
wrkMast.setModiTime(new Date());
- if (wrkMastService.updateById(wrkMast)) {
- return;
+ if (!wrkMastService.updateById(wrkMast)) {
+ News.info("{}浠诲姟锛屾洿鏂板伐浣滄。澶辫触", wrkMast.getWrkNo());
}
}
-
-
}
}
@@ -332,21 +379,21 @@
List<WrkMast> wrkSts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", WrkStsType.NEW_OUTBOUND.sts).in("sta_no", 1013, 1024));
for (WrkMast wrkMast : wrkSts) {
if (devpThread == null) {
- return;
+ continue;
}
Map<Integer, StaProtocol> station = devpThread.getStation();
StaProtocol staProtocol = station.get(wrkMast.getStaNo());
if (staProtocol == null) {
- return;
+ continue;
}
if (!staProtocol.isAutoing()) {
News.info("{}浠诲姟锛寋}绔欑偣锛屼笉鍦ㄨ嚜鍔ㄧ姸鎬�", wrkMast.getWrkNo(), staProtocol.getSiteId());
- return;
+ continue;
}
- if (!staProtocol.isOutEnable()) {
+ if (!isOutEnable(devpThread, wrkMast.getStaNo())) {
News.info("{}浠诲姟锛寋}绔欑偣锛屾病鏈夊彲鍑轰俊鍙�", wrkMast.getWrkNo(), staProtocol.getSiteId());
- return;
+ continue;
}
String locNo = "1200301";
if (wrkMast.getStaNo() == 1024) {
@@ -355,16 +402,25 @@
boolean dispatchShuttle = shuttleDispatchUtils.searchDispatchShuttleS(wrkMast.getWrkNo(), wrkMast.getSourceLocNo(), locNo, "TRANSPORT_DEVP");
if (!dispatchShuttle) {
News.info("{}浠诲姟锛岃皟搴﹀皬杞﹀け璐�", wrkMast.getWrkNo());
- return;
+ continue;
} else {
- News.info("{}浠诲姟锛屾棤鎻愬崌鏈哄璋冨害灏忚溅鎴愬姛", wrkMast.getWrkNo());
+ WrkMast wrkMast1 = wrkMastService.selectByMainWrkNo(wrkMast.getWrkNo());
+ if (wrkMast1 == null) {
+ News.info("{}浠诲姟锛岃皟搴﹀皬杞﹀け璐�,缁堜簬鍙戠幇浜�", wrkMast.getWrkNo());
+ continue;
+ } else {
+ News.info("{}浠诲姟锛屾棤鎻愬崌鏈哄璋冨害灏忚溅鎴愬姛", wrkMast.getWrkNo());
+ }
}
wrkMast.setWrkSts(WrkStsType.OUTBOUND_SHUTTLE_RUN.sts);
wrkMast.setSystemMsg("");//娓呯┖娑堟伅
wrkMast.setModiTime(now);
- if (wrkMastService.updateById(wrkMast)) {
- return;
+ if (!wrkMastService.updateById(wrkMast)) {
+ News.info("{}浠诲姟锛屾洿鏂板伐浣滄。澶辫触", wrkMast.getWrkNo());
+ } else {
+ WrkMast wrkMast1 = wrkMastService.selectByMainWrkNo(wrkMast.getWrkNo());
+ News.info("{}浠诲姟锛岀Щ鍔ㄤ换鍔$敓鎴愭垚鍔熲�斺��1", wrkMast1.getWrkNo());
}
}
}
@@ -401,22 +457,23 @@
}
String sourceLocNo = "1200305";
- String locNo = "1100105";
+ String locNo = "1300105";
if (wrkMast.getStaNo() == 1013) {
sourceLocNo = "1200301";
- locNo = "1100101";
+ locNo = "1300101";
if (loc.contains(locNo)) {
- locNo = "1000101";
+ locNo = "1100101";
}
} else {
if (loc.contains(locNo)) {
- locNo = "1000105";
+ locNo = "1100105";
}
}
boolean dispatchShuttle = shuttleDispatchUtils.shuttleMoveGenerate(wrkMast.getWrkNo(), sourceLocNo, locNo, wrkMast.getShuttleNo(), null, false);
if (!dispatchShuttle) {
News.taskInfo(wrkMast.getWrkNo(), "{}灏忚溅锛屾尓杞﹁皟搴﹁嚦鍙栬揣鐐瑰け璐�", wrkMast.getShuttleNo());
+ continue;
}
staProtocol.setWorkNo(Short.parseShort(String.valueOf(wrkMast.getWrkNo())));
@@ -826,6 +883,8 @@
short staNo = 1012;
if (wrkMast.getSourceStaNo() == 1022) {
staNo = 1023;
+ } else if (wrkMast.getSourceStaNo() == 1031 || wrkMast.getSourceStaNo() == 1032) {
+ staNo = 1032;
}
staProtocol = staProtocol.clone();
@@ -834,7 +893,6 @@
boolean result = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
wrkMast.setWrkSts(WrkStsType.INBOUND_DEVICE_RUN.sts);
- wrkMast.setLiftNo(1);
wrkMast.setSystemMsg("");//娓呯┖娑堟伅
wrkMast.setModiTime(now);
if (wrkMastService.updateById(wrkMast)) {
@@ -909,19 +967,57 @@
News.info("{}浠诲姟锛寋}绔欑偣锛屾棤鎵樼洏", wrkMast.getWrkNo(), staProtocol.getSiteId());
return false;
}
+ if (sourceStaNo == 1023) {
+ if (staProtocol.getFinishWorkNo().intValue() != wrkMast.getWrkNo()) {
+ News.info("{}浠诲姟锛寋}绔欑偣锛屼换鍔″彿涓嶄竴鑷�", wrkMast.getWrkNo(), staProtocol.getSiteId());
+ return false;
+ }
+ if (!station.get(1022).getBarcode().equals(wrkMast.getBarcode())) {
+ News.info("{}浠诲姟锛寋}绔欑偣锛屾墭鐩樼爜涓嶅尮閰嶏紝绔欑偣鎵樼洏鐮侊細{}锛屼换鍔℃墭鐩樼爜锛歿}", wrkMast.getWrkNo(), staProtocol.getSiteId(), staProtocol.getBarcode(), wrkMast.getBarcode());
+ return false;
+ }
+ } else if (sourceStaNo == 1012) {
+ if (staProtocol.getWorkNo().intValue() != wrkMast.getWrkNo()) {
+ News.info("{}浠诲姟锛寋}绔欑偣锛屼换鍔″彿涓嶄竴鑷�", wrkMast.getWrkNo(), staProtocol.getSiteId());
+ return false;
+ }
+ if (!staProtocol.getBarcode().equals(wrkMast.getBarcode())) {
+ News.info("{}浠诲姟锛寋}绔欑偣锛屾墭鐩樼爜涓嶅尮閰嶏紝绔欑偣鎵樼洏鐮侊細{}锛屼换鍔℃墭鐩樼爜锛歿}", wrkMast.getWrkNo(), staProtocol.getSiteId(), staProtocol.getBarcode(), wrkMast.getBarcode());
+ return false;
+ }
+ } else if (sourceStaNo == 1032 || sourceStaNo == 1031) {
+ if (staProtocol.getWorkNo().intValue() != wrkMast.getWrkNo()) {
+ News.info("{}浠诲姟锛寋}绔欑偣锛屼换鍔″彿涓嶄竴鑷�", wrkMast.getWrkNo(), staProtocol.getSiteId());
+ return false;
+ }
+ if (!staProtocol.getBarcode().equals(wrkMast.getBarcode())) {
+ News.info("{}浠诲姟锛寋}绔欑偣锛屾墭鐩樼爜涓嶅尮閰嶏紝绔欑偣鎵樼洏鐮侊細{}锛屼换鍔℃墭鐩樼爜锛歿}", wrkMast.getWrkNo(), staProtocol.getSiteId(), staProtocol.getBarcode(), wrkMast.getBarcode());
+ return false;
+ }
+ }
- if (staProtocol.getWorkNo().intValue() != wrkMast.getWrkNo()) {
- News.info("{}浠诲姟锛寋}绔欑偣锛屼换鍔″彿涓嶄竴鑷�", wrkMast.getWrkNo(), staProtocol.getSiteId());
+ String locNo = "0200305";
+ if (wrkMast.getSourceStaNo() == 1012) {
+ locNo = "0200301";
+ } else if (wrkMast.getSourceStaNo() == 1032 || wrkMast.getSourceStaNo() == 1031) {
+ locNo = "0200308";
+ }
+ boolean dispatchShuttle = shuttleDispatchUtils.searchDispatchShuttleS(wrkMast.getWrkNo(), locNo, wrkMast.getLocNo(), "TRANSPORT_LIFT");
+ if (!dispatchShuttle) {
+ News.info("{}浠诲姟锛岃皟搴﹀皬杞﹀け璐�", wrkMast.getWrkNo());
return false;
}
- if (!staProtocol.getBarcode().equals(wrkMast.getBarcode())) {
- News.info("{}浠诲姟锛寋}绔欑偣锛屾墭鐩樼爜涓嶅尮閰嶏紝绔欑偣鎵樼洏鐮侊細{}锛屼换鍔℃墭鐩樼爜锛歿}", wrkMast.getWrkNo(), staProtocol.getSiteId(), staProtocol.getBarcode(), wrkMast.getBarcode());
- return false;
+ int lev = 101;
+ if (wrkMast.getSourceStaNo() == 1021) {
+ //TODO
+ // lev = 105;
+ lev = 1021;
+ } else if (wrkMast.getSourceStaNo() == 1032 || wrkMast.getSourceStaNo() == 1031) {
+ lev = 1031;
}
-
//鑾峰彇鎻愬崌鏈哄懡浠�
- List<LiftCommand> liftCommands = liftThread.getPalletInCommand(wrkMast.getWrkNo(), wrkMast.getSourceStaNo(), 101);
+ List<LiftCommand> liftCommands = liftThread.getPalletInCommand(wrkMast.getWrkNo(), sourceStaNo, lev);
LiftCommand liftCommand = liftCommands.get(0);
int deviceWrk = commonService.getWorkNo(8);//鐢熸垚鎻愬崌鏈鸿澶囧伐浣滃彿
@@ -981,15 +1077,15 @@
News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満鍐呮棤鎵樼洏锛岀姝㈡淳鍙�", wrkMast.getWrkNo(), liftProtocol.getLiftNo());
return false;
}
- String locNo = "0200305";
- if (wrkMast.getStaNo() == 1011) {
- locNo = "0200301";
- }
- boolean dispatchShuttle = shuttleDispatchUtils.searchDispatchShuttleS(wrkMast.getWrkNo(), locNo, wrkMast.getLocNo(), "TRANSPORT_LIFT");
- if (!dispatchShuttle) {
- News.info("{}浠诲姟锛岃皟搴﹀皬杞﹀け璐�", wrkMast.getWrkNo());
- return false;
- }
+// String locNo = "0200305";
+// if (wrkMast.getStaNo() == 1011) {
+// locNo = "0200301";
+// }
+// boolean dispatchShuttle = shuttleDispatchUtils.searchDispatchShuttleS(wrkMast.getWrkNo(), locNo, wrkMast.getLocNo(), "TRANSPORT_LIFT");
+// if (!dispatchShuttle) {
+// News.info("{}浠诲姟锛岃皟搴﹀皬杞﹀け璐�", wrkMast.getWrkNo());
+// return false;
+// }
wrkMast.setWrkSts(WrkStsType.INBOUND_SHUTTLE_RUN.sts);
// TODO 娴嬭瘯涓彂鐜颁笉鑳借В绂侊紝鍥犱负鎻愬崌鏈洪噷瀛樺湪鎵樼洏锛屽氨涓嶈兘瑙g锛屼笉鐒跺彟涓�杈嗗皬杞﹀彲鑳戒細杩戞彁鍗囨満
@@ -1043,7 +1139,7 @@
return false;
}
- if (!staProtocol.isOutEnable()) {
+ if (!isOutEnable(devpThread, wrkMast.getStaNo())) {
News.info("{}浠诲姟锛寋}绔欑偣锛屾病鏈夊彲鍑轰俊鍙�", wrkMast.getWrkNo(), staProtocol.getSiteId());
return false;
}
@@ -1051,6 +1147,8 @@
String locNo = "0200305";
if (wrkMast.getStaNo() == 1011) {
locNo = "0200301";
+ } else if (wrkMast.getStaNo() == 1032) {
+ locNo = "0200308";
}
boolean dispatchShuttle = shuttleDispatchUtils.searchDispatchShuttleS(wrkMast.getWrkNo(), wrkMast.getSourceLocNo(), locNo, "TRANSPORT_LIFT");
if (!dispatchShuttle) {
@@ -1541,7 +1639,7 @@
Map<Integer, StaProtocol> station = devpThread.getStation();
WrkMast wrkMast = null;
for (StaProtocol staProtocol : station.values()) {
- if (staProtocol.getSiteId() == 1013 || staProtocol.getSiteId() == 1014) {
+ if (staProtocol.getSiteId() == 1013 || staProtocol.getSiteId() == 1024) {
wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", staProtocol.getFinishWorkNo()).eq("wrk_sts", WrkStsType.OUTBOUND_DEVP_RUN.sts));
if (wrkMast != null) {
wrkMast.setWrkSts(WrkStsType.COMPLETE_OUTBOUND.sts);
@@ -2068,14 +2166,42 @@
}
private void shuttleMoveExecuteTransportNoLift(WrkMast wrkMast) {
- if (12 == Utils.getRow(wrkMast.getSourceLocNo()) && 3 == Utils.getBay(wrkMast.getSourceLocNo())) {
+ WrkMast mainWrk = wrkMastService.selectByWorkNo(wrkMast.getMainWrkNo());
+ if (mainWrk != null && mainWrk.getIoType() == 1) {
//鍏ュ簱
- noLiftInService.shuttleMoveExecute(wrkMast);
- } else {
+ noLiftInService.shuttleMoveExecute(wrkMast, mainWrk.getStaNo());
+ } else if (mainWrk != null && mainWrk.getIoType() == 101) {
//鍑哄簱
noLiftOutService.shuttleMoveExecute(wrkMast);
}
}
+ /**
+ * 鍏ュ嚭搴撴ā寮忓垏鎹㈠嚱鏁�
+ */
+ public synchronized void ioConvert() {
+ try {
+ // 鏍规嵁杈撻�佺嚎plc閬嶅巻
+ FyDevpThread devpThread = (FyDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+ WrkMast pakout = wrkMastService.selectWorkingPakout(1032);
+ if (pakout != null) {
+ if (devpThread.ioModeOf2_5 != IoModeType.PAKOUT_MODE) {
+ // 鍑哄簱鍒囨崲涓�
+ WrkMast pakin = wrkMastService.selectWorkingPakin(1032);
+ if (pakin == null && !devpThread.getStation().get(1031).isLoading()
+ && !devpThread.getStation().get(1032).isLoading()) {
+ // 鍑哄簱妯″紡
+ devpThread.ioModeOf2_5 = IoModeType.PAKOUT_MODE;
+ }
+ }
+ } else {
+ // 鍏ュ簱妯″紡
+ devpThread.ioModeOf2_5 = IoModeType.PAKIN_MODE;
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
}
--
Gitblit v1.9.1