From b095bc486863e7fb15f7f798595b8a365b1cd26e Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期五, 18 四月 2025 21:45:26 +0800
Subject: [PATCH] 999
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 136 ++++++++++++++++++++++++++++++---------------
1 files changed, 90 insertions(+), 46 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 ad2d629..9ff1800 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.*;
@@ -40,10 +42,7 @@
import org.springframework.beans.factory.annotation.Autowired;
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绯荤粺涓绘祦绋嬩笟鍔�
@@ -101,7 +100,7 @@
private BasWrkStatusService wrkStatusService;
- private boolean isInEnable(DevpThread devpThread, Integer staNo) {
+ public boolean isInEnable(DevpThread devpThread, Integer staNo) {
if (staNo == null) {
return false;
}
@@ -117,6 +116,7 @@
case 1031:
case 1032:
return devpThread.getStation().get(1032).isInEnable();
+ case 1024:
case 1025:
case 1026:
return devpThread.getStation().get(1025).isInEnable();
@@ -128,7 +128,7 @@
return false;
}
- private boolean isOutEnable(DevpThread devpThread, Integer staNo) {
+ public boolean isOutEnable(DevpThread devpThread, Integer staNo) {
if (staNo == null) {
return false;
}
@@ -141,9 +141,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();
@@ -151,6 +149,9 @@
case 1014:
case 1015:
return devpThread.getStation().get(1014).isOutEnable();
+ case 1031:
+ case 1032:
+ return devpThread.getStation().get(1032).isOutEnable();
}
return false;
}
@@ -196,23 +197,22 @@
wrkMastService.updateById(wrkMast);
}
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);
-
+ String wmsUrl = "192.168.10.201: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);
// String wmsLocNo = dto.getLocNo();
// int row = Integer.parseInt(wmsLocNo.substring(0, 2));
// int bay = Integer.parseInt(wmsLocNo.substring(2, 5));
@@ -243,19 +243,19 @@
// }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();
}
@@ -339,7 +339,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 +352,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 +405,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())));
@@ -1063,7 +1070,7 @@
return false;
}
- if (!staProtocol.isOutEnable()) {
+ if (!isOutEnable(devpThread, wrkMast.getStaNo())) {
News.info("{}浠诲姟锛寋}绔欑偣锛屾病鏈夊彲鍑轰俊鍙�", wrkMast.getWrkNo(), staProtocol.getSiteId());
return false;
}
@@ -2098,4 +2105,41 @@
}
+ /**
+ * 鍏ュ嚭搴撴ā寮忓垏鎹㈠嚱鏁�
+ */
+ public synchronized void ioConvert() {
+ try {
+ // 鏍规嵁杈撻�佺嚎plc閬嶅巻
+
+ FyDevpThread devpThread = (FyDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+ for (DevpSlave.Sta inSta : devp.getInSta()) {
+ WrkMast pakout = wrkMastMapper.selectWorkingPakout(inSta.getBackSta());
+ switch (inSta.getBackSta()) {
+ case 116:
+ if (pakout != null) {
+ if (devpThread.ioModeOf1F1 != IoModeType.PAKOUT_MODE) {
+ // 鍑哄簱鍒囨崲涓�
+ devpThread.ioModeOf1F1 = IoModeType.PAKOUT_BOOTING;
+ WrkMast pakin = wrkMastMapper.selectWorkingPakin(inSta.getStaNo());
+ if (pakin == null && !devpThread.getStation().get(inSta.getStaNo()).isLoading()
+ && !devpThread.getStation().get(inSta.getBackSta()).isLoading()
+ && devpThread.getStation().get(inSta.getBackSta()).getWorkNo() == 0) {
+ // 鍑哄簱妯″紡
+ devpThread.ioModeOf1F1 = IoModeType.PAKOUT_MODE;
+ }
+ }
+ } else {
+ // 鍏ュ簱妯″紡
+ devpThread.ioModeOf1F1 = IoModeType.PAKIN_MODE;
+ }
+ break;
+
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
}
--
Gitblit v1.9.1