|
@@ -7,6 +7,7 @@ import com.persagy.common.date.DateUtils;
|
|
import com.persagy.common.json.JacksonMapper;
|
|
import com.persagy.common.json.JacksonMapper;
|
|
import com.persagy.common.web.MapResponse;
|
|
import com.persagy.common.web.MapResponse;
|
|
import com.persagy.common.web.PagedResponse;
|
|
import com.persagy.common.web.PagedResponse;
|
|
|
|
+import com.persagy.dmp.alarm.entity.AlarmLog;
|
|
import com.persagy.dmp.alarm.entity.AlarmRecord;
|
|
import com.persagy.dmp.alarm.entity.AlarmRecord;
|
|
import com.persagy.dmp.alarm.entity.QAlarmRecord;
|
|
import com.persagy.dmp.alarm.entity.QAlarmRecord;
|
|
import com.persagy.dmp.alarm.enumeration.EnumAlarmLogType;
|
|
import com.persagy.dmp.alarm.enumeration.EnumAlarmLogType;
|
|
@@ -27,6 +28,7 @@ import org.springframework.util.StringUtils;
|
|
|
|
|
|
import javax.transaction.Transactional;
|
|
import javax.transaction.Transactional;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
|
|
+import java.util.concurrent.atomic.AtomicReference;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@Service
|
|
@Service
|
|
@@ -52,14 +54,26 @@ public class AlarmRecordService extends AlarmBaseService {
|
|
// 如果需要查询日志相关的信息,需使用withColumns参数
|
|
// 如果需要查询日志相关的信息,需使用withColumns参数
|
|
Set<String> withColumns = criteria.getWithColumns();
|
|
Set<String> withColumns = criteria.getWithColumns();
|
|
if (dataList != null && dataList.size() > 0) {
|
|
if (dataList != null && dataList.size() > 0) {
|
|
|
|
+ //获取报警记录id列表
|
|
|
|
+ List<String> recordIdList = new ArrayList<>();
|
|
|
|
+ dataList.forEach(alarmRecord -> recordIdList.add(alarmRecord.getId()));
|
|
|
|
+ //批量获取报警日志集合信息
|
|
|
|
+ Map<String,List<AlarmLog>> alarmLogListMap = alarmLogService.getAlarmLogMap(recordIdList);
|
|
|
|
+
|
|
List<AlarmRecordModel> collect = dataList.stream().map(entity -> {
|
|
List<AlarmRecordModel> collect = dataList.stream().map(entity -> {
|
|
AlarmRecordModel model = entity.toModel();
|
|
AlarmRecordModel model = entity.toModel();
|
|
|
|
+ List<AlarmLog> alarmLogList = new ArrayList<>();
|
|
|
|
+ if (alarmLogListMap.containsKey(model.getId())){
|
|
|
|
+ alarmLogList = alarmLogListMap.get(model.getId());
|
|
|
|
+ }
|
|
if (withColumns != null && withColumns.contains(EnumAlarmRecordWithColumns.ignoreTime.name())) {
|
|
if (withColumns != null && withColumns.contains(EnumAlarmRecordWithColumns.ignoreTime.name())) {
|
|
- Date ignoreAlarmTime = alarmLogService.getIgnoreAlarmTime(model.getId());
|
|
|
|
|
|
+// Date ignoreAlarmTime = alarmLogService.getIgnoreAlarmTime(model.getId());
|
|
|
|
+ Date ignoreAlarmTime = getCreateTime(alarmLogList,EnumAlarmLogType.TREATMODE,1);
|
|
model.setIgnoreTime(ignoreAlarmTime);
|
|
model.setIgnoreTime(ignoreAlarmTime);
|
|
}
|
|
}
|
|
if (withColumns != null && withColumns.contains(EnumAlarmRecordWithColumns.treatEndTime.name())) {
|
|
if (withColumns != null && withColumns.contains(EnumAlarmRecordWithColumns.treatEndTime.name())) {
|
|
- Date treatEndTime = alarmLogService.getTreatEndTime(model.getId());
|
|
|
|
|
|
+// Date treatEndTime = alarmLogService.getTreatEndTime(model.getId());
|
|
|
|
+ Date treatEndTime = getCreateTime(alarmLogList,EnumAlarmLogType.TREATSTATE,3);
|
|
model.setTreatEndTime(treatEndTime);
|
|
model.setTreatEndTime(treatEndTime);
|
|
}
|
|
}
|
|
return model;
|
|
return model;
|
|
@@ -69,6 +83,18 @@ public class AlarmRecordService extends AlarmBaseService {
|
|
return result;
|
|
return result;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ public Date getCreateTime(List<AlarmLog> alarmLogList,EnumAlarmLogType type, int after){
|
|
|
|
+ Date createTime = null;
|
|
|
|
+ if (!CollectionUtils.isEmpty(alarmLogList)){
|
|
|
|
+ for (AlarmLog alarmLog:alarmLogList) {
|
|
|
|
+ if (type.equals(alarmLog.getType()) && alarmLog.getAfter() == after){
|
|
|
|
+ createTime = alarmLog.getCreateTime();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return createTime;
|
|
|
|
+ }
|
|
|
|
+
|
|
@Transactional
|
|
@Transactional
|
|
public MapResponse create(AlarmRecordModel param) {
|
|
public MapResponse create(AlarmRecordModel param) {
|
|
MapResponse response = new MapResponse();
|
|
MapResponse response = new MapResponse();
|