From 1b299b7a0ff1186efc9c62a52a3822d07b07deab Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期四, 22 八月 2024 18:01:50 +0800
Subject: [PATCH] fix:解决大屏报错、故障类型存储枚举值
---
ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java | 32 ++++++++++++++++++++++++++++----
1 files changed, 28 insertions(+), 4 deletions(-)
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
index ddf6987..b4aa6bb 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
@@ -59,6 +59,7 @@
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.*;
+import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
/**
@@ -79,9 +80,10 @@
private final WorkOrderYwConditionRecordMapper workOrderYwConditionRecordMapper;
private final NotifyService notifyService;
private final WorkOrderDistributeRecordMapper workOrderDistributeRecordMapper;
- private final TMonitorMapper monitorMapper;
+ private final WorkOrderErrorTypeMapper workOrderErrorTypeMapper;
private final SysConfigMapper configMapper;
private final ServerConfig serverConfig;
+ private final ReportMapper reportMapper;
@Value("${rtsp.server:http://127.0.0.1:7788}")
private String rtspServer;
@@ -112,7 +114,7 @@
Map<String, WorkOrder> mapping = inDatabaseWorkOrderList.stream().collect((Collectors.toMap(WorkOrder::getSerialNumber, workOrder -> workOrder)));
List<WorkOrder> waitAddList = new ArrayList<>(48);
Integer updateNum = 0;
- // TODO 鏌ヨ鏄惁鎶ュ杩囷紝鏇存柊鏁呴殰绫诲瀷
+
for (WorkOrder workOrder : workOrderList) {
WorkOrder databaseWorkOrder = mapping.get(workOrder.getSerialNumber());
if (Objects.nonNull(databaseWorkOrder)) {
@@ -129,11 +131,22 @@
databaseWorkOrder.setUpdateTime(now);
baseMapper.updateById(databaseWorkOrder);
updateNum++;
- // 鍚屾椂鏂板涓�涓繍缁村鐞嗕俊鎭紝琛ㄦ槑姝ゅ伐鍗曡璋冩暣 TODO
+ // 鍚屾椂鏂板涓�涓繍缁村鐞嗕俊鎭紝琛ㄦ槑姝ゅ伐鍗曡璋冩暣
+ WorkOrderYwConditionRecord ywRecord = new WorkOrderYwConditionRecord();
+ ywRecord.setWorkOrderId(databaseWorkOrder.getId());
+ ywRecord.setCommitUser(1);
+ ywRecord.setYwCondition("鏁呴殰绫诲瀷鏇存柊锛屽伐鍗曠姸鎬佽皟鏁翠负寰呭鐞�");
+ ywRecord.setCreateTime(new Date());
+ workOrderYwConditionRecordMapper.insert(ywRecord);
}
} else {
workOrder.setCreateTime(new Date());
workOrder.setUpdateTime(new Date());
+ // 濡傛灉鎶ュ杩囷紝浣跨敤鏈�鏂版姤澶囩殑閿欒绫诲瀷
+ Report report = reportMapper.checkPointReported(workOrder.getSerialNumber());
+ if (Objects.nonNull(report)) {
+ workOrder.setErrorType(report.getErrorType());
+ }
waitAddList.add(workOrder);
}
}
@@ -202,6 +215,9 @@
Date now = new Date();
entity.setCreateTime(now);
entity.setUpdateTime(now);
+ entity.setErrorType(String.join(",", form.getErrorType()));
+ List<WorkOrderErrorType> workOrderErrorTypes = form.getErrorType().stream().map(errorType -> new WorkOrderErrorType(entity.getWorkOrderNo(), errorType)).toList();
+ workOrderErrorTypeMapper.insertWorkOrderErrorTypeList(workOrderErrorTypes);
if(baseMapper.insert(entity) > 0) {
return Result.ok("娣诲姞鎴愬姛");
}
@@ -316,6 +332,7 @@
workOrderYwConditionRecord.setCommitUser(SecurityUtils.getLoginUser().getUserId().intValue());
workOrderYwConditionRecord.setYwCondition(form.getYwCondition());
workOrderYwConditionRecord.setYwProofMaterials(form.getYwProofMaterials());
+ workOrderYwConditionRecord.setSysMsg(Boolean.FALSE);
workOrderYwConditionRecordMapper.insert(workOrderYwConditionRecord);
return Result.ok("鎿嶄綔鎴愬姛");
}
@@ -323,6 +340,11 @@
@Override
public Result selectYwConditionByYwId(Integer id) {
List<WorkOrderYwConditionRecordVO> ywConditionList = workOrderYwConditionRecordMapper.selectYwConditionByYwId(id);
+ ywConditionList.stream().forEach(item -> {
+ if (Objects.nonNull(item.getSysMsg()) && item.getSysMsg()) {
+ item.setCommitUserName("绯荤粺娑堟伅");
+ }
+ });
return Result.ok().data(ywConditionList);
}
@@ -380,6 +402,7 @@
public Result page(WorkOrderQuery query) {
IPage<WorkOrderVO> page = PageUtil.getPage(query, WorkOrderVO.class);
baseMapper.page(page, query);
+ page.getRecords().forEach(item -> item.setErrorType(ErrorTypeEnum.getEnumValue(item.getErrorType())));
return Result.ok().data(page.getRecords()).total(page.getTotal());
}
@@ -387,6 +410,7 @@
public Result distributePage(DistributeWorkOrderQuery query) {
IPage<WorkOrderVO> page = PageUtil.getPage(query, WorkOrderVO.class);
baseMapper.distributePage(page, query);
+ page.getRecords().forEach(item -> item.setErrorType(ErrorTypeEnum.getEnumValue(item.getErrorType())));
return Result.ok().data(page).total(page.getTotal());
}
@@ -482,7 +506,7 @@
*/
public synchronized Boolean getDistributeLock() {
if (Objects.isNull(redisCache.getCacheObject(DISTRIBUTE_LOCK_KEY))) {
- redisCache.setCacheObject(DISTRIBUTE_LOCK_KEY, "1");
+ redisCache.setCacheObject(DISTRIBUTE_LOCK_KEY, "1", 30, TimeUnit.SECONDS);
return true;
} else {
return false;
--
Gitblit v1.8.0