From 1da5c464f48dca0be85647b1d4f284d92c9b3eba Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期一, 10 十月 2022 10:52:27 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 123 ++++++++++++++++++++++++++++++++++++++++
1 files changed, 121 insertions(+), 2 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 595c3d6..1a9d2c7 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -74,11 +74,15 @@
@Autowired
private BasErrLogService basErrLogService;
@Autowired
+ private BasSteErrLogService basSteErrLogService;
+ @Autowired
private BasCrnErrorMapper basCrnErrorMapper;
@Autowired
private BasSteService basSteService;
@Autowired
private WrkChargeService wrkChargeService;
+ @Autowired
+ private BasSteErrService basSteErrService;
@Autowired
private CommonService commonService;
@@ -1871,7 +1875,7 @@
continue;
}
BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm());
- String errName = crnError==null? String.valueOf(crnProtocol.getAlarm()):crnError.getErrName();
+ String errName = crnError==null? "鏈煡寮傚父":crnError.getErrName();
BasErrLog basErrLog = new BasErrLog(
null, // 缂栧彿
wrkMast.getWrkNo(), // 宸ヤ綔鍙�
@@ -1918,7 +1922,7 @@
// 璁板綍鏂板紓甯�
if (latest == null || (latest.getErrCode() != crnProtocol.getAlarm().intValue())) {
BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm());
- String errName = crnError==null? String.valueOf(crnProtocol.getAlarm()):crnError.getErrName();
+ String errName = crnError==null? "鏈煡寮傚父":crnError.getErrName();
BasErrLog basErrLog = new BasErrLog(
null, // 缂栧彿
null, // 宸ヤ綔鍙�
@@ -1964,6 +1968,121 @@
}
}
+ /**
+ * 绌挎杞﹀紓甯镐俊鎭褰�
+ */
+ @Async
+ public void recSteErr(){
+ Date now = new Date();
+ for (SteSlave ste : slaveProperties.getSte()) {
+ // 鑾峰彇鍫嗗灈鏈轰俊鎭�
+ SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, ste.getId());
+ SteProtocol steProtocol = steThread.getSteProtocol();
+ if (steProtocol == null) {
+ continue;
+ }
+ // 鏈変换鍔�
+ if (steProtocol.getTaskNo() != 0) {
+ BasSteErrLog latest = basSteErrLogService.findLatestByTaskNo(ste.getId(), steProtocol.getTaskNo().intValue());
+ // 鏈夊紓甯�
+ if (latest == null) {
+ if (steProtocol.getAlarm() != null && steProtocol.isAlarm()) {
+ WrkMast wrkMast = wrkMastMapper.selectById(steProtocol.getTaskNo());
+ if (wrkMast == null) {
+ continue;
+ }
+ BasSteErr steErr = basSteErrService.selectById(steProtocol.getAlarm());
+ String errName = steErr==null? "鏈煡寮傚父":steErr.getErrName();
+ BasSteErrLog basSteErrLog = new BasSteErrLog(
+ null, // 缂栧彿
+ wrkMast.getWrkNo(), // 宸ヤ綔鍙�
+ now, // 鍙戠敓鏃堕棿
+ null, // 缁撴潫鏃堕棿
+ wrkMast.getWrkSts(), // 宸ヤ綔鐘舵��
+ wrkMast.getIoType(), // 鍏ュ嚭搴撶被鍨�
+ ste.getId(), // 鍫嗗灈鏈�
+ null, // plc
+ wrkMast.getLocNo(), // 鐩爣搴撲綅
+ wrkMast.getStaNo(), // 鐩爣绔�
+ wrkMast.getSourceStaNo(), // 婧愮珯
+ wrkMast.getSourceLocNo(), // 婧愬簱浣�
+ wrkMast.getBarcode(), // 鏉$爜
+ (int) steProtocol.getAlarm(), // 寮傚父鐮�
+ errName, // 寮傚父
+ 1, // 寮傚父鎯呭喌
+ now, // 娣诲姞鏃堕棿
+ null, // 娣诲姞浜哄憳
+ now, // 淇敼鏃堕棿
+ null, // 淇敼浜哄憳
+ "浠诲姟涓紓甯�" // 澶囨敞
+ );
+ if (!basSteErrLogService.insert(basSteErrLog)) {
+ log.error("绌挎杞lc寮傚父璁板綍澶辫触 ===>> [id:{}] [error:{}]", ste.getId(), errName);
+ }
+ }
+ } else {
+ // 寮傚父淇
+ if (steProtocol.getAlarm() == null || !steProtocol.isAlarm()) {
+ latest.setEndTime(now);
+ latest.setUpdateTime(now);
+ latest.setStatus(2);
+ if (!basSteErrLogService.updateById(latest)) {
+ log.error("绌挎杞lc寮傚父璁板綍淇澶辫触 ===>> [id:{}] [errLogId:{}]", ste.getId(), latest.getId());
+ }
+ }
+ }
+ // 鏃犱换鍔�
+ } else {
+ BasSteErrLog latest = basSteErrLogService.findLatest(ste.getId());
+ // 鏈夊紓甯�
+ if (steProtocol.getAlarm() != null && steProtocol.isAlarm()) {
+ // 璁板綍鏂板紓甯�
+ if (latest == null || (latest.getErrCode() != steProtocol.getAlarm().intValue())) {
+ BasSteErr steErr = basSteErrService.selectById(steProtocol.getAlarm());
+ String errName = steErr==null? "鏈煡寮傚父":steErr.getErrName();
+ BasSteErrLog basSteErrLog = new BasSteErrLog(
+ null, // 缂栧彿
+ null, // 宸ヤ綔鍙�
+ now, // 鍙戠敓鏃堕棿
+ null, // 缁撴潫鏃堕棿
+ null, // 宸ヤ綔鐘舵��
+ null, // 鍏ュ嚭搴撶被鍨�
+ ste.getId(), // 鍫嗗灈鏈�
+ null, // plc
+ null, // 鐩爣搴撲綅
+ null, // 鐩爣绔�
+ null, // 婧愮珯
+ null, // 婧愬簱浣�
+ null, // 鏉$爜
+ (int)steProtocol.getAlarm(), // 寮傚父鐮�
+ errName, // 寮傚父
+ 1, // 寮傚父鎯呭喌
+ now, // 娣诲姞鏃堕棿
+ null, // 娣诲姞浜哄憳
+ now, // 淇敼鏃堕棿
+ null, // 淇敼浜哄憳
+ "鏃犱换鍔″紓甯�" // 澶囨敞
+ );
+ if (!basSteErrLogService.insert(basSteErrLog)) {
+ log.error("绌挎杞lc寮傚父璁板綍澶辫触 ===>> [id:{}] [error:{}]", ste.getId(), errName);
+ }
+ }
+ // 鏃犲紓甯�
+ } else {
+ // 寮傚父淇
+ if (latest != null && latest.getStatus() == 1) {
+ latest.setEndTime(now);
+ latest.setUpdateTime(now);
+ latest.setStatus(2);
+ if (!basSteErrLogService.updateById(latest)) {
+ log.error("绌挎杞lc寮傚父璁板綍淇澶辫触 ===>> [id:{}] [errLogId:{}]", ste.getId(), latest.getId());
+ }
+ }
+ }
+ }
+ }
+ }
+
// -------------------------------------------------------------------------------
--
Gitblit v1.9.1