|
@@ -17,9 +17,9 @@ import com.sckj.iron.dto.IronStepDTO;
|
|
|
import com.sckj.iron.dto.IronTimeNoDTO;
|
|
|
import com.sckj.iron.dto.RealtimeData;
|
|
|
import com.sckj.iron.dto.WarnData;
|
|
|
-import com.sckj.iron.entity.TIronData;
|
|
|
import com.sckj.iron.entity.TIronModel;
|
|
|
import com.sckj.iron.entity.TIronParam;
|
|
|
+import com.sckj.iron.entity.TIronStepLog;
|
|
|
import com.sckj.iron.service.impl.*;
|
|
|
import com.sckj.iron.util.LocalDateUtils;
|
|
|
import com.sckj.iron.vo.IronStepVO;
|
|
@@ -116,6 +116,10 @@ public class DeviceEventListener extends EventListener { //
|
|
|
@Resource
|
|
|
TIronModelServiceImpl ironModelService;
|
|
|
|
|
|
+ //步骤数据
|
|
|
+ @Resource
|
|
|
+ TIronStepLogServiceImpl ironStepLogService;
|
|
|
+
|
|
|
//炉前申请出铁
|
|
|
private static final String STEP_LQSQCT = "lqsqct";
|
|
|
|
|
@@ -189,6 +193,8 @@ public class DeviceEventListener extends EventListener { //
|
|
|
|
|
|
private String alramUrlTapping;
|
|
|
|
|
|
+ private String alramUrlTappingTimeout;
|
|
|
+
|
|
|
//节点标记
|
|
|
private static final String NODE = "node";
|
|
|
|
|
@@ -269,11 +275,14 @@ public class DeviceEventListener extends EventListener { //
|
|
|
alarmUrlClosure = SERVER_URL + "/" + GlobalConfig.publicPrefix + File.separator + tAudio.getPath();
|
|
|
} else if (Objects.equals(tAudio.getExceptionType(), TaskNameConstants.TASKNAME_TAPPING_WARN)) {
|
|
|
alramUrlTapping = SERVER_URL + "/" + GlobalConfig.publicPrefix + File.separator + tAudio.getPath();
|
|
|
+ } else if (Objects.equals(tAudio.getExceptionType(), TaskNameConstants.TASKNAME_TAPPING_TIMEOUT_WARN)) {
|
|
|
+ alramUrlTappingTimeout = SERVER_URL + "/" + GlobalConfig.publicPrefix + File.separator + tAudio.getPath();
|
|
|
}
|
|
|
}
|
|
|
log.info("alarmUrlOpen: " + alarmUrlOpen);
|
|
|
log.info("alarmUrlClose: " + alarmUrlClosure);
|
|
|
log.info("alramUrlTapping: " + alramUrlTapping);
|
|
|
+ log.info("alramUrlTappingTimeout: " + alramUrlTappingTimeout);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -503,17 +512,6 @@ public class DeviceEventListener extends EventListener { //
|
|
|
});
|
|
|
|
|
|
|
|
|
- //出铁超时报警
|
|
|
- scheduledTaskManager.addTask(TaskNameConstants.TASKNAME_TAPPING_TIMEOUT_WARN, ScheduledTimeConstants.TAPPING_TIMEOUT_WARN_DELAY, ScheduledTimeConstants.TAPPING_TIMEOUT_WARN_PERIOD, TimeUnit.SECONDS, () -> {
|
|
|
- log.info("堵口预警:{}", TaskNameConstants.TASKNAME_TAPPING_TIMEOUT_WARN);
|
|
|
-
|
|
|
- System.out.println("倒计时结束!10分钟已到。");
|
|
|
- // 出铁预警,打开系统告警并记录
|
|
|
- PushData.send2Warn(WarnData.warnOpen("请立即打开铁口", alarmUrlOpen));
|
|
|
- log.info("准备出铁但是未及时出铁口,此处数据库记录");
|
|
|
- //scheduledTaskManager.cancelTask(TaskNameConstants.TASKNAME_TAPPING_TIMEOUT_WARN); // 终止定时器
|
|
|
- });
|
|
|
-
|
|
|
//堵口预警
|
|
|
scheduledTaskManager.addTask(TaskNameConstants.TASKNAME_CLOSURE_WARN, ScheduledTimeConstants.CLOSURE_WARN_DELAY, ScheduledTimeConstants.CLOSURE_WARN_PERIOD, TimeUnit.SECONDS, () -> {
|
|
|
//堵口预警
|
|
@@ -598,6 +596,19 @@ public class DeviceEventListener extends EventListener { //
|
|
|
realtimeData.setDesc("出铁计时");
|
|
|
|
|
|
PushData.send2CostTime(realtimeData);
|
|
|
+
|
|
|
+ if ((totalSeconds / 60) > IRON_TIME.get()) {
|
|
|
+ //出铁超时报警
|
|
|
+ scheduledTaskManager.addTask(TaskNameConstants.TASKNAME_TAPPING_TIMEOUT_WARN, ScheduledTimeConstants.TAPPING_TIMEOUT_WARN_DELAY, ScheduledTimeConstants.TAPPING_TIMEOUT_WARN_PERIOD, TimeUnit.SECONDS, () -> {
|
|
|
+ log.info("出铁超时报警:{}", TaskNameConstants.TASKNAME_TAPPING_TIMEOUT_WARN);
|
|
|
+
|
|
|
+ PushData.send2Warn(WarnData.warnTappingTimeout("出铁时间超时", alramUrlTapping));
|
|
|
+ taskExecutor.submit(() -> {
|
|
|
+ exceptionLogService.add(TExceptionLogCreateValidate.builder().exceptionType(2).exceptionDesc("出铁时间超过设定时间").build());
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
|
|
@@ -640,10 +651,10 @@ public class DeviceEventListener extends EventListener { //
|
|
|
//实际出铁量
|
|
|
String ironWeight = fixedLatestElement.getIronWeight();
|
|
|
|
|
|
- TIronData ironData = new TIronData();
|
|
|
- BeanUtils.copyProperties(ironData, fixedLatestElement);
|
|
|
-
|
|
|
- ironDataService.save(ironData);
|
|
|
+// TIronData ironData = new TIronData();
|
|
|
+// BeanUtils.copyProperties(ironData, fixedLatestElement);
|
|
|
+//
|
|
|
+// ironDataService.save(ironData);
|
|
|
|
|
|
scheduledTaskManager.cancelTask(TaskNameConstants.TASKNAME_TAPPING_TEST);
|
|
|
});
|
|
@@ -854,8 +865,11 @@ public class DeviceEventListener extends EventListener { //
|
|
|
|
|
|
}
|
|
|
|
|
|
+ private String uuid;
|
|
|
+
|
|
|
//计算每步结果
|
|
|
- private void setStepResult(List<IronStepVO> mSteps) {
|
|
|
+ private synchronized void setStepResult(List<IronStepVO> mSteps) {
|
|
|
+ uuid = UUID.randomUUID().toString().replace("-","");
|
|
|
boolean foundFalsePass = false;
|
|
|
//发现第一个pass是false,后续都为false,包括父项和子项
|
|
|
for (IronStepVO stepDTO : mSteps) {
|
|
@@ -869,7 +883,18 @@ public class DeviceEventListener extends EventListener { //
|
|
|
|
|
|
if (foundFalsePass) {
|
|
|
grandchild.setPassResult(0);
|
|
|
+ if(Objects.equals(grandchild.getConfirmMode(),"2")){
|
|
|
+ grandchild.setData("0");
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
+ taskExecutor.execute(()->{
|
|
|
+ TIronStepLog stepLog = new TIronStepLog();
|
|
|
+ stepLog.setUuid(uuid);
|
|
|
+ BeanUtils.copyProperties(grandchild, stepLog);
|
|
|
+ ironStepLogService.save(stepLog);
|
|
|
+ });
|
|
|
+
|
|
|
}
|
|
|
|
|
|
//子项验证是否通过
|
|
@@ -880,7 +905,16 @@ public class DeviceEventListener extends EventListener { //
|
|
|
//子项
|
|
|
if (foundFalsePass) {
|
|
|
child.setPassResult(0);
|
|
|
+ if(Objects.equals(child.getConfirmMode(),"2")){
|
|
|
+ child.setData("0");
|
|
|
+ }
|
|
|
}
|
|
|
+ taskExecutor.execute(()->{
|
|
|
+ TIronStepLog stepLog = new TIronStepLog();
|
|
|
+ stepLog.setUuid(uuid);
|
|
|
+ BeanUtils.copyProperties(child, stepLog);
|
|
|
+ ironStepLogService.save(stepLog);
|
|
|
+ });
|
|
|
}
|
|
|
//父项
|
|
|
validateStepPass(stepDTO);
|
|
@@ -890,7 +924,16 @@ public class DeviceEventListener extends EventListener { //
|
|
|
//父项
|
|
|
if (foundFalsePass) {
|
|
|
stepDTO.setPassResult(0);
|
|
|
+ if(Objects.equals(stepDTO.getConfirmMode(),"2")){
|
|
|
+ stepDTO.setData("0");
|
|
|
+ }
|
|
|
}
|
|
|
+ taskExecutor.execute(()->{
|
|
|
+ TIronStepLog stepLog = new TIronStepLog();
|
|
|
+ stepLog.setUuid(uuid);
|
|
|
+ BeanUtils.copyProperties(stepDTO, stepLog);
|
|
|
+ ironStepLogService.save(stepLog);
|
|
|
+ });
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -977,8 +1020,10 @@ public class DeviceEventListener extends EventListener { //
|
|
|
log.info("开口预警:{}", TaskNameConstants.TASKNAME_OPEN_WARN);
|
|
|
|
|
|
// 出铁预警,打开系统告警并记录
|
|
|
- PushData.send2Warn(WarnData.warnOpen("请立即打开铁口", "xxxxxxxxxxxxxx"));
|
|
|
- log.info("准备出铁但是未及时出铁口,此处数据库记录");
|
|
|
+ PushData.send2Warn(WarnData.warnOpen("请立即打开铁口", alarmUrlOpen));
|
|
|
+ taskExecutor.submit(() -> {
|
|
|
+ exceptionLogService.add(TExceptionLogCreateValidate.builder().exceptionType(1).exceptionDesc("打开铁口超时").build());
|
|
|
+ });
|
|
|
// scheduledTaskManager.cancelTask(TaskNameConstants.TASKNAME_OPEN_WARN); // 终止定时器
|
|
|
});
|
|
|
}
|