From 2b46a7f45b1b8f054f6d86d9b14128f893c6a925 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期五, 10 十一月 2023 15:21:01 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 114 +++++++++++++++++++++++++++++++++++++++------------------
1 files changed, 78 insertions(+), 36 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 f8b2e5d..ca62a0f 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -634,7 +634,7 @@
*/
public synchronized void initRealtimeBasMap() {
for (int i = 1; i <= 10; i++) {//鎬诲叡鍥涘眰妤�
- Object data = redisUtil.get("realtimeBasMap_" + i);
+ Object data = redisUtil.get(RedisKeyType.MAP.key + i);
if (data == null) {//redis鍦板浘鏁版嵁涓虹┖锛屼粠鏁版嵁搴撲腑鑾峰彇
BasMap basMap = basMapService.selectLatestMap(i);
if (basMap == null) {
@@ -656,7 +656,7 @@
}
//灏嗘暟鎹簱鍦板浘鏁版嵁瀛樺叆redis
- redisUtil.set("realtimeBasMap_" + i, JSON.toJSONString(basMap));
+ redisUtil.set(RedisKeyType.MAP.key + i, JSON.toJSONString(basMap));
}
}
}
@@ -667,7 +667,7 @@
public synchronized void restartTaskFromRedis() {
HashMap<Object, Object> map = redisUtil.getRedis();
for (Object key : map.keySet()) {
- if (key.toString().contains("lift_wrk_no_")) {//鎻愬崌鏈轰换鍔�
+ if (key.toString().contains(RedisKeyType.LIFT.key)) {//鎻愬崌鏈轰换鍔�
LiftRedisCommand redisCommand = JSON.parseObject(map.get(key).toString(), LiftRedisCommand.class);
if (redisCommand == null) {
continue;
@@ -690,7 +690,7 @@
liftProtocol.setTaskNo(redisCommand.getWrkNo());//灏嗘彁鍗囨満绾跨▼鍒嗛厤浠诲姟鍙�
liftProtocol.setProtocolStatus(LiftProtocolStatusType.WORKING);//宸ヤ綔鐘舵��
- }else if(key.toString().contains("shuttle_wrk_no_")){//鍥涘悜绌挎杞︿换鍔�
+ }else if(key.toString().contains(RedisKeyType.SHUTTLE.key)){//鍥涘悜绌挎杞︿换鍔�
ShuttleRedisCommand redisCommand = JSON.parseObject(map.get(key).toString(), ShuttleRedisCommand.class);
if (redisCommand == null) {
continue;
@@ -1213,7 +1213,7 @@
//鑾峰彇鎻愬崌鏈哄懡浠�
NyLiftCommand liftCommand = NyLiftUtils.getLiftCommand(liftProtocol.getLiftNo().intValue(), NyLiftTaskModelType.MOVE_TRAY.id, startSta, targetSta, wrkMast.getWrkNo());
- if (wrkMast.getIoType() == 53) {
+ if (wrkMast.getIoType() == 53 || wrkMast.getIoType() == 57) {
//鎷f枡鍐嶅洖搴擄紝閲嶆柊鍒嗛厤璁惧宸ヤ綔鍙�
Random random = new Random();
int deviceWrk = Math.abs((liftCommand.getTaskNo().intValue() + random.nextInt(9999)));//鑾峰彇璁惧宸ヤ綔鍙�
@@ -2385,7 +2385,44 @@
ledCommand.setStaNo(wrkMast.getStaNo());
if (wrkMast.getIoType() != 110 && wrkMast.getIoType() != 10) {
List<WrkDetl> wrkDetls = wrkDetlService.findByWorkNo(wrkMast.getWrkNo());
- wrkDetls.forEach(wrkDetl -> ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getAnfme(),wrkDetl.getSpecs())));
+ for (WrkDetl wrkDetl : wrkDetls) {
+ LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("zpallet", wrkDetl.getZpallet()).eq("matnr", wrkDetl.getMatnr()));
+ List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("zpallet", wrkDetl.getZpallet()));
+ locDetls.forEach(locDetl1 -> {
+ //宸ヤ綔妗d腑瀛樺湪璇ョ墿鏂欏垯璺宠繃
+ String suppCode = "";
+
+ if (wrkDetl.getMatnr().equals(locDetl1.getMatnr())) {
+ Double anfme = 0D;
+ if (locDetl != null) {
+ anfme = locDetl.getAnfme();
+ }
+ if (wrkDetl.getSuppCode() != null) {
+ suppCode = wrkDetl.getSuppCode();
+ }
+ ledCommand.getMatDtos()
+ .add(new MatDto(wrkDetl.getMatnr()
+ , wrkDetl.getMaktx()
+ , wrkDetl.getAnfme()
+ , (wrkDetl.getAnfme()-anfme)
+ , wrkDetl.getSpecs()
+ , suppCode));
+ } else {
+ if (locDetl1.getSuppCode() != null) {
+ suppCode = locDetl1.getSuppCode();
+ }
+ ledCommand.getMatDtos()
+ .add(new MatDto(locDetl1.getMatnr()
+ , locDetl1.getMaktx()
+ , 0D
+ , locDetl1.getAnfme()
+ , locDetl1.getSpecs()
+ , suppCode));
+ }
+ });
+ //LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("zpallet", wrkDetl.getZpallet()).eq("matnr", wrkDetl.getMatnr()));
+
+ }
}
commands.add(ledCommand);
}
@@ -2431,35 +2468,36 @@
* 鍏朵粬 ===>> LED鏄剧ず鍣ㄥ浣嶏紝鏄剧ず榛樿淇℃伅
*/
public void ledReset() {
- for (LedSlave led : slaveProperties.getLed()) {
-
- // 鑾峰彇杈撻�佺嚎plc绾跨▼
- DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, led.getDevpPlcId());
- // 鍛戒护闆嗗悎
- boolean reset = true;
- for (Integer staNo : led.getStaArr()) {
- // 鑾峰彇鍙夎溅绔欑偣
- StaProtocol staProtocol = devpThread.getStation().get(staNo);
- if (staProtocol == null) {
- continue;
- }
- if (staProtocol.getWorkNo() != 0 && staProtocol.isLoading()) {
- reset = false;
- break;
- }
- }
- // 鑾峰彇led绾跨▼
- LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, led.getId());
- // led鏄剧ず榛樿鍐呭
- if (reset && !ledThread.isLedMk()) {
- ledThread.setLedMk(true);
- if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(4, new ArrayList<>()))) {
- News.error(" - {}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
- } else {
-
- }
- }
- }
+// for (LedSlave led : slaveProperties.getLed()) {
+//
+// // 鑾峰彇杈撻�佺嚎plc绾跨▼
+// DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, led.getDevpPlcId());
+// // 鍛戒护闆嗗悎
+// boolean reset = true;
+// for (Integer staNo : led.getStaArr()) {
+// // 鑾峰彇鍙夎溅绔欑偣
+// StaProtocol staProtocol = devpThread.getStation().get(staNo);
+// if (staProtocol == null) {
+// continue;
+// }
+// if (staProtocol.getWorkNo() != 0 && staProtocol.isLoading()) {
+// reset = false;
+// break;
+// }
+// }
+// // 鑾峰彇led绾跨▼
+// LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, led.getId());
+// // led鏄剧ず榛樿鍐呭
+// if (reset && !ledThread.isLedMk()) {
+// ledThread.setLedMk(true);
+// if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(4, new ArrayList<>()))) {
+// News.error(" - {}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
+// } else {
+// News.error("{}鍙稬ED鍛戒护涓嬪彂鎴愬姛锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
+// ledThread.setLedMk(false);
+// }
+// }
+// }
for (LedSlave led : slaveProperties.getLed()) {
// 鑾峰彇杈撻�佺嚎plc绾跨▼
DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, led.getDevpPlcId());
@@ -2478,9 +2516,13 @@
LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, led.getId());
// led鏄剧ず榛樿鍐呭
if (reset && !ledThread.isLedMk()) {
- ledThread.setLedMk(true);
+ ledThread.setLedMk(false);
if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(2, new ArrayList<>()))) {
News.error("{}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
+ }else {
+// News.error("{}鍙稬ED鍛戒护涓嬪彂鎴愬姛锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
+ MessageQueue.offer(SlaveType.Led, led.getId(), new Task(4, new ArrayList<>()));
+ ledThread.setLedMk(false);
}
}
}
--
Gitblit v1.9.1