From bfc0d002ee31ceb7f74bd3ecd5008177ba31425b Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期六, 19 四月 2025 10:17:07 +0800
Subject: [PATCH] 999
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 113 +++++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 103 insertions(+), 10 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 2fbed3d..dbb30ac 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -260,7 +260,56 @@
e.printStackTrace();
}
}
+ } 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("wrk_sts", WrkStsType.NEW_INBOUND.sts).eq("barcode", barcode));
+ if (wrkMast == null) {
+ try {
+ String wmsUrl = "192.168.10.201:8080/fyxcwms";
+ 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) {
+ e.printStackTrace();
+ }
+ }
+ }
}
}
} catch (Exception e) {
@@ -339,7 +388,7 @@
News.info("{}浠诲姟锛寋}绔欑偣锛屼笉鍦ㄨ嚜鍔ㄧ姸鎬�", wrkMast.getWrkNo(), staProtocol.getSiteId());
continue;
}
- if (!staProtocol.isOutEnable()) {
+ if (!isOutEnable(devpThread, wrkMast.getStaNo())) {
News.info("{}浠诲姟锛寋}绔欑偣锛屾病鏈夊彲鍑轰俊鍙�", wrkMast.getWrkNo(), staProtocol.getSiteId());
continue;
}
@@ -352,7 +401,13 @@
News.info("{}浠诲姟锛岃皟搴﹀皬杞﹀け璐�", wrkMast.getWrkNo());
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);
@@ -399,22 +454,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())));
@@ -824,6 +880,8 @@
short staNo = 1012;
if (wrkMast.getSourceStaNo() == 1022) {
staNo = 1023;
+ } else if (wrkMast.getSourceStaNo() == 1031 || wrkMast.getSourceStaNo() == 1032) {
+ staNo = 1032;
}
staProtocol = staProtocol.clone();
@@ -929,6 +987,8 @@
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) {
@@ -936,9 +996,13 @@
return false;
}
- int lev = 105;
- if (wrkMast.getSourceStaNo() == 1012) {
- lev = 101;
+ 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(), sourceStaNo, lev);
@@ -1063,7 +1127,7 @@
return false;
}
- if (!staProtocol.isOutEnable()) {
+ if (!isOutEnable(devpThread, wrkMast.getStaNo())) {
News.info("{}浠诲姟锛寋}绔欑偣锛屾病鏈夊彲鍑轰俊鍙�", wrkMast.getWrkNo(), staProtocol.getSiteId());
return false;
}
@@ -1071,6 +1135,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) {
@@ -2098,4 +2164,31 @@
}
+ /**
+ * 鍏ュ嚭搴撴ā寮忓垏鎹㈠嚱鏁�
+ */
+ 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