From 1d33818195ae739de03988b2252e1013394391dc Mon Sep 17 00:00:00 2001
From: mrzhssss <pro6@qq.com>
Date: 星期日, 19 二月 2023 12:37:07 +0800
Subject: [PATCH] #
---
src/main/webapp/views/crn.html | 2
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 203 ++++++++++++++++++++++------------------
src/main/java/com/zy/asrs/controller/MonitorController.java | 24 ++++
src/main/java/com/zy/core/model/command/LedCommand.java | 22 ++++
src/main/resources/application.yml | 4
5 files changed, 162 insertions(+), 93 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/MonitorController.java b/src/main/java/com/zy/asrs/controller/MonitorController.java
index 0f7ab22..8392aa9 100644
--- a/src/main/java/com/zy/asrs/controller/MonitorController.java
+++ b/src/main/java/com/zy/asrs/controller/MonitorController.java
@@ -7,6 +7,7 @@
import com.zy.asrs.domain.dto.WorkChartAxis;
import com.zy.asrs.domain.vo.LocChartPie;
import com.zy.asrs.mapper.ReportQueryMapper;
+import com.zy.common.model.MatDto;
import com.zy.common.service.CommonService;
import com.zy.core.CrnThread;
import com.zy.core.cache.SlaveConnection;
@@ -161,6 +162,7 @@
}
}
}
+
return R.ok().add(errorMsg);
}
@@ -274,6 +276,24 @@
}
}
}
+// MatDto matDto = new MatDto();
+// matDto.setMatNo("1111");
+// matDto.setCount(100.0);
+// matDto.setMaknx("娴嬭瘯鐢ㄦ枡");
+// LedCommand ledCommand = new LedCommand();
+// ledCommand.setStaNo(8);
+// ledCommand.setTitle("鍏ュ簱鍚姩");
+// ledCommand.setLocNo("0100101");
+// ledCommand.setWorkNo(9998);
+// ledCommand.setEmptyMk(false);
+// ledCommand.setIoType(1);
+// ledCommand.setSourceStaNo(15);
+// ArrayList<MatDto> matDtos = new ArrayList<>();
+// matDtos.add(matDto);
+// ledCommand.setMatDtos(matDtos);
+// ArrayList<LedCommand> ledCommands = new ArrayList<>();
+// ledCommands.add(ledCommand);
+// return R.ok(ledCommands);
return R.ok().add(commandList);
}
/**
@@ -322,6 +342,10 @@
// 鑾峰彇杈撻�佺嚎plc绾跨▼
LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, ledId);
+ if (Cools.isEmpty(ledThread)) {
+ return R.ok();
+ }
+
String ledContent = ledThread.getStringBuffer().toString();
// ledContent = "ask鐨勬ā鍧楄惃婊″ぇ绠椾簡钀ㄦ弧澶т簡\n 鏄獦澧冨埌鍩冨強鍡插鍡瞈n 钀ㄨ揪濮嗘墦寮�钀ㄦ弧澶у嚡鎾掗害褰撳姵钀ㄦ弧澶ц�佸笀";
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 5336b62..a66e8af 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -122,13 +122,12 @@
if (!Cools.isEmpty(barcode) && (staProtocol.getWorkNo() != 9998 || staProtocol.getWorkNo() != 9996)) {
log.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", inSta.getBarcode(), barcode);
if ("NG".endsWith(barcode) || "NoRead".equals(barcode)) {
+ String errorMsg = "15绔欐壂鐮佸け璐ワ紝宸查��鍥�14绔�";
staProtocol.setWorkNo((short) 9998);
staProtocol.setStaNo((short) 14);
devpThread.setPakMk(staProtocol.getSiteId(), false);
- MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
// led 寮傚父鏄剧ず
if (ledThread != null) {
- String errorMsg = "鎵爜澶辫触锛岃閲嶈瘯";
News.error(methodName + ":鎵爜澶辫触锛岃閲嶈瘯");
MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
}
@@ -137,16 +136,6 @@
} else {
continue;
}
-
- // 鑾峰彇鍏ュ簱绔欎俊鎭�
-// SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
-
-
- // 鍏ュ嚭搴撴ā寮忓垽鏂�
-// if ( inSta.getStaNo()==203 && devpThread.ioModeOf2F != IoModeType.PAKIN_MODE) { continue; }
-// if (inSta.getStaNo() == 203 && devpThread.ioModeOf2F == IoModeType.PAKOUT_MODE) {
-// continue;
-// }
// 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
if (staProtocol.isAutoing()
@@ -173,6 +162,10 @@
WrkMast wrkMast = wrkMastMapper.selectPakInStep1(inSta.getStaNo(), barcode);
if (wrkMast != null) {
News.error(methodName + ":宸ヤ綔妗d腑宸插瓨鍦ㄨ绔欑姸鎬佷负锛� 2.璁惧涓婅蛋 锛夌殑鏁版嵁,宸ヤ綔鍙�={}", wrkMast.getWrkNo());
+ if (ledThread != null) {
+ News.error(methodName + ":鎵爜澶辫触锛岃閲嶈瘯");
+ MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, "宸ヤ綔妗d腑宸插瓨鍦ㄨ绔欑姸鎬佷负锛� 2.璁惧涓婅蛋 锛夌殑鏁版嵁,宸ヤ綔鍙�={"+ wrkMast.getWrkNo() + "}, 璇锋墜鍔ㄥ彇娑堝凡瀛樺湪宸ヤ綔妗�"));
+ }
continue;
}
@@ -213,10 +206,7 @@
throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
}
- if (ledThread != null) {
- String successMsg = "鍏ュ簱宸ヤ綔妗�--宸ヤ綔鍙�:" + dto.getWorkNo() + " 鐩爣搴撲綅:" + dto.getLocNo();
- MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(7, successMsg));
- }
+
} else {
staProtocol.setWorkNo((short) 9998);
staProtocol.setStaNo((short) 14);
@@ -1498,15 +1488,15 @@
* 鍑哄簱 ===>> 宸ヤ綔妗d俊鎭啓鍏ed鏄剧ず鍣�
*/
public synchronized void ledExecute() {
- String methodName = Thread.currentThread().getStackTrace()[1].getMethodName();
+// String methodName = Thread.currentThread().getStackTrace()[1].getMethodName();
for (LedSlave led : slaveProperties.getLed()) {
// 鑾峰彇杈撻�佺嚎plc绾跨▼
DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, led.getDevpPlcId());
- // 鍛戒护闆嗗悎
- List<LedCommand> commands = new ArrayList<>();
- // 宸ヤ綔妗i泦鍚�
- List<WrkMast> wrkMasts = new ArrayList<>();
+// // 鍛戒护闆嗗悎
+// List<LedCommand> commands = new ArrayList<>();
+// // 宸ヤ綔妗i泦鍚�
+// List<WrkMast> wrkMasts = new ArrayList<>();
for (Integer staNo : led.getStaArr()) {
// 鑾峰彇鍙夎溅绔欑偣
StaProtocol staProtocol = devpThread.getStation().get(staNo);
@@ -1517,90 +1507,123 @@
}
// 鑾峰彇宸ヤ綔妗f暟鎹�
WrkMast wrkMast = wrkMastMapper.selectById(staProtocol.getWorkNo());
-// if (null == wrkMast || wrkMast.getWrkSts() < 14 || wrkMast.getIoType() < 100) { continue; }
if (null == wrkMast) {
continue;
}
- wrkMasts.add(wrkMast);
- // 缁勮鍛戒护
+ ArrayList<MatDto> matDtos = new ArrayList<>();
+ Wrapper<WrkDetl> detlWrapper = new EntityWrapper<WrkDetl>()
+ .eq("wrk_no", wrkMast.getWrkNo());
LedCommand ledCommand = new LedCommand();
ledCommand.setWorkNo(wrkMast.getWrkNo());
+ ledCommand.setStaNo(wrkMast.getStaNo());
+ ledCommand.setSourceStaNo(wrkMast.getSourceStaNo());
+ ledCommand.setLocNo(wrkMast.getLocNo());
+ ledCommand.setSourceLocNo(wrkMast.getSourceLocNo());
ledCommand.setIoType(wrkMast.getIoType());
- // 鍑哄簱妯″紡
- switch (wrkMast.getIoType()) {
- case -1:
- ledCommand.setTitle("鍏ㄦ澘鍏ュ簱");
- break;
+ ledCommand.setTitle(wrkMast.getIoType$());
+
+ switch (wrkMast.getIoType()){
case 10:
- ledCommand.setTitle("绌烘澘鍏ュ簱");
- break;
- case 10-1:
- ledCommand.setTitle("鍏ㄦ澘鍑哄簱");
- break;
- case 103:
- ledCommand.setTitle("鎷f枡鍑哄簱");
- break;
- case 104:
- ledCommand.setTitle("骞舵澘鍑哄簱");
- break;
- case 107:
- ledCommand.setTitle("鐩樼偣鍑哄簱");
- break;
case 110:
- ledCommand.setTitle("绌烘澘鍑哄簱");
ledCommand.setEmptyMk(true);
break;
default:
- News.error(methodName + ":浠诲姟鍏ュ嚭搴撶被鍨嬮敊璇紒锛侊紒[宸ヤ綔鍙凤細{}] [鍏ュ嚭搴撶被鍨嬶細{}]", wrkMast.getWrkNo(), wrkMast.getIoType());
+ ledCommand.setBarcode(wrkMast.getBarcode());
+ List<WrkDetl> wrkDetls = wrkDetlService.selectList(detlWrapper);
+ for (WrkDetl wrkDetl : wrkDetls) {
+ MatDto matDto = new MatDto();
+ matDto.setMaknx(wrkDetl.getMaktx());
+ matDto.setMatNo(wrkDetl.getMatnr());
+ matDto.setCount(wrkDetl.getAnfme());
+ matDtos.add(matDto);
+ }
break;
+
+
}
- ledCommand.setSourceLocNo(wrkMast.getSourceLocNo());
- ledCommand.setLocNo(wrkMast.getLocNo());
- ledCommand.setStaNo(wrkMast.getStaNo());
-// ledCommand.setSourceStaNo(wrkMast.getSourceStaNo());
- 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())));
- }
- commands.add(ledCommand);
- }
- Set<Integer> workNos = wrkMasts.stream().map(WrkMast::getWrkNo).collect(Collectors.toSet());
- // 鑾峰彇LED绾跨▼
- LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, led.getId());
- // 鐩稿悓宸ヤ綔鍙烽泦鍚堝垯杩囨护
-// if (CollectionUtils.equals(ledThread.getWorkNos(), workNos)) {
-// continue;
+ ledCommand.setMatDtos(matDtos);
+ MessageQueue.offer(SlaveType.Led, led.getId(), new Task(3, ledCommand.toString()));
+
+// wrkMasts.add(wrkMast);
+// // 缁勮鍛戒护
+// LedCommand ledCommand = new LedCommand();
+// ledCommand.setWorkNo(wrkMast.getWrkNo());
+// ledCommand.setIoType(wrkMast.getIoType());
+// // 鍑哄簱妯″紡
+// switch (wrkMast.getIoType()) {
+// case -1:
+// ledCommand.setTitle("鍏ㄦ澘鍏ュ簱");
+// break;
+// case 10:
+// ledCommand.setTitle("绌烘澘鍏ュ簱");
+// break;
+// case 10-1:
+// ledCommand.setTitle("鍏ㄦ澘鍑哄簱");
+// break;
+// case 103:
+// ledCommand.setTitle("鎷f枡鍑哄簱");
+// break;
+// case 104:
+// ledCommand.setTitle("骞舵澘鍑哄簱");
+// break;
+// case 107:
+// ledCommand.setTitle("鐩樼偣鍑哄簱");
+// break;
+// case 110:
+// ledCommand.setTitle("绌烘澘鍑哄簱");
+// ledCommand.setEmptyMk(true);
+// break;
+// default:
+// News.error(methodName + ":浠诲姟鍏ュ嚭搴撶被鍨嬮敊璇紒锛侊紒[宸ヤ綔鍙凤細{}] [鍏ュ嚭搴撶被鍨嬶細{}]", wrkMast.getWrkNo(), wrkMast.getIoType());
+// break;
+// }
+// ledCommand.setSourceLocNo(wrkMast.getSourceLocNo());
+// ledCommand.setLocNo(wrkMast.getLocNo());
+// ledCommand.setStaNo(wrkMast.getStaNo());
+//// ledCommand.setSourceStaNo(wrkMast.getSourceStaNo());
+// 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())));
+// }
+// commands.add(ledCommand);
// }
- // 鍛戒护涓嬪彂 -------------------------------------------------------------------------------
- if (!commands.isEmpty()) {
- String errMsg = "";
- if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(3, commands))) {
- News.error(methodName + ":{}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
- continue;
- } else {
- ledThread.setLedMk(false);
- }
-
-
+// Set<Integer> workNos = wrkMasts.stream().map(WrkMast::getWrkNo).collect(Collectors.toSet());
+// // 鑾峰彇LED绾跨▼
+// LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, led.getId());
+// // 鐩稿悓宸ヤ綔鍙烽泦鍚堝垯杩囨护
+//// if (CollectionUtils.equals(ledThread.getWorkNos(), workNos)) {
+//// continue;
+//// }
+// // 鍛戒护涓嬪彂 -------------------------------------------------------------------------------
+// if (!commands.isEmpty()) {
+// String errMsg = "";
+// if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(3, commands))) {
+// News.error(methodName + ":{}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
+// continue;
+// } else {
+// ledThread.setLedMk(false);
+// }
+//
+//
}
-
- try {
- // 淇敼涓绘。led鏍囪
- for (WrkMast wrkMast : wrkMasts) {
- wrkMast.setOveMk("Y");
- wrkMast.setModiTime(new Date());
- if (wrkMastMapper.updateById(wrkMast) == 0) {
- throw new CoolException("鏇存柊宸ヤ綔妗eけ璐�");
- }
- }
-
- // 鏇存柊绾跨▼褰撳墠宸ヤ綔鍙烽泦鍚�
- ledThread.setWorkNos(workNos);
-
- } catch (Exception e) {
- e.printStackTrace();
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- }
+//
+// try {
+// // 淇敼涓绘。led鏍囪
+// for (WrkMast wrkMast : wrkMasts) {
+// wrkMast.setOveMk("Y");
+// wrkMast.setModiTime(new Date());
+// if (wrkMastMapper.updateById(wrkMast) == 0) {
+// throw new CoolException("鏇存柊宸ヤ綔妗eけ璐�");
+// }
+// }
+//
+// // 鏇存柊绾跨▼褰撳墠宸ヤ綔鍙烽泦鍚�
+// ledThread.setWorkNos(workNos);
+//
+// } catch (Exception e) {
+// e.printStackTrace();
+// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+// }
}
}
diff --git a/src/main/java/com/zy/core/model/command/LedCommand.java b/src/main/java/com/zy/core/model/command/LedCommand.java
index 36685e8..9dacbad 100644
--- a/src/main/java/com/zy/core/model/command/LedCommand.java
+++ b/src/main/java/com/zy/core/model/command/LedCommand.java
@@ -1,5 +1,7 @@
package com.zy.core.model.command;
+import com.alibaba.fastjson.JSON;
+import com.core.common.Cools;
import com.zy.common.model.MatDto;
import lombok.Data;
@@ -30,4 +32,24 @@
private boolean emptyMk = false;
private Integer ioType;
+
+ private String barcode;
+
+ @Override
+ public String toString() {
+ StringBuffer s = new StringBuffer();
+ s.append("宸ヤ綔鍙穂" + this.workNo + "]\n");
+ s.append("宸ヤ綔绫诲瀷[" + this.title + "]\n");
+ if (!Cools.isEmpty(this.barcode)) {
+ s.append("鎵樼洏鐮乕" + this.barcode + "]\n");
+ }
+ if (!this.emptyMk){
+
+ for (MatDto matDto : matDtos) {
+ s.append("[鍟嗗搧缂栫爜:" + matDto.getMatNo() + ", 鏁伴噺:" + matDto.getCount() + "]\n");
+ }
+ }
+
+ return s.toString();
+ }
}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index a4fbc01..d40273c 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -8,8 +8,8 @@
name: @pom.build.finalName@
datasource:
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
-# url: jdbc:sqlserver://10.10.10.100:1433;databasename=stasrs
- url: jdbc:sqlserver://192.168.4.15:1433;databasename=stasrs
+ url: jdbc:sqlserver://10.10.10.100:1433;databasename=stasrs
+# url: jdbc:sqlserver://192.168.4.15:1433;databasename=stasrs
username: sa
password: sa@123
mvc:
diff --git a/src/main/webapp/views/crn.html b/src/main/webapp/views/crn.html
index 0c63272..b7ac7bf 100644
--- a/src/main/webapp/views/crn.html
+++ b/src/main/webapp/views/crn.html
@@ -146,7 +146,7 @@
<label><input type="radio" name="crnSelect" value="2"> 2鍙峰爢鍨涙満</label>
<label><input type="radio" name="crnSelect" value="3"> 3鍙峰爢鍨涙満</label>
<label><input type="radio" name="crnSelect" value="4"> 4鍙峰爢鍨涙満</label>
- <label><input type="radio" name="crnSelect" value="5"> 5鍙峰爢鍨涙満</label>
+<!-- <label><input type="radio" name="crnSelect" value="5"> 5鍙峰爢鍨涙満</label>-->
</div>
</div>
<!-- 婧愮珯/婧愬簱浣� 閫夋嫨 -->
--
Gitblit v1.9.1