初始版本提交
This commit is contained in:
@@ -2,6 +2,7 @@ package com.njcn.gather.event.transientes.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.date.LocalDateTimeUtil;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.gather.event.transientes.pojo.param.LargeScreenCountParam;
|
||||
import com.njcn.gather.event.devcie.pojo.po.PqDevice;
|
||||
@@ -22,6 +23,7 @@ import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
@@ -84,26 +86,28 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService {
|
||||
public AlarmAnalysisVO alarmAnalysis(LargeScreenCountParam largeScreenCountParam) {
|
||||
AlarmAnalysisVO alarmAnalysisVO = new AlarmAnalysisVO();
|
||||
//起始时间
|
||||
String startTime = DateUtil.format(DateUtil.beginOfMonth(new Date()), DatePattern.NORM_DATE_PATTERN);
|
||||
String startTime = DateUtil.format(DateUtil.beginOfMonth(new Date()), DatePattern.NORM_DATETIME_FORMATTER);
|
||||
//结束时间
|
||||
String endTime = DateUtil.format(DateUtil.endOfMonth(new Date()), DatePattern.NORM_DATE_PATTERN);
|
||||
String endTime = DateUtil.format(DateUtil.endOfMonth(new Date()), DatePattern.NORM_DATETIME_FORMATTER);
|
||||
//根据用户获取当前部门及子部门id
|
||||
List<String> deptAndChildren = pqsDeptsService.findDeptAndChildren( largeScreenCountParam.getDeptId());
|
||||
//获取对应监测点id
|
||||
List<PqsDeptsline> deptslines = pqsDeptslineService.lambdaQuery().in(PqsDeptsline::getDeptsIndex, deptAndChildren).eq(PqsDeptsline::getSystype, sysTypeZt).list();
|
||||
List<Integer> deptslineIds = deptslines.stream().map(PqsDeptsline::getLineIndex).collect(Collectors.toList());
|
||||
List<PqsEventdetail> eventdetails = pqsEventdetailService.lambdaQuery().between(PqsEventdetail::getTimeid, startTime, endTime).in(PqsEventdetail::getLineid,deptslineIds).list();
|
||||
List<PqsEventdetail> eventdetails = pqsEventdetailService.lambdaQuery()
|
||||
.between(PqsEventdetail::getTimeid, LocalDateTimeUtil.parse(startTime,DatePattern.NORM_DATETIME_FORMATTER), LocalDateTimeUtil.parse(endTime,DatePattern.NORM_DATETIME_FORMATTER))
|
||||
.in(PqsEventdetail::getLineid,deptslineIds).list();
|
||||
Integer eventCount = eventdetails.size();
|
||||
// 告警
|
||||
List<PqsEventdetail> aLarmEvent = eventdetails.stream().filter(temp -> temp.getEventvalue() < 0.5).collect(Collectors.toList());
|
||||
// 预警
|
||||
List<PqsEventdetail> warnEvent = eventdetails.stream().filter(temp -> temp.getEventvalue() >= 0.5&& temp.getEventvalue() <0.9).collect(Collectors.toList());
|
||||
List<PqsEventdetail> noticeEvent = eventdetails.stream().filter(temp -> temp.getNoticeFlag()==1).collect(Collectors.toList());
|
||||
List<PqsEventdetail> noticeEvent = eventdetails.stream().filter(temp ->Objects.equals(temp.getNoticeFlag(),1)).collect(Collectors.toList());
|
||||
|
||||
|
||||
List<PqsEventdetail> lookALarmEvent = aLarmEvent.stream().filter(temp -> temp.getLookFlag() == 1).collect(Collectors.toList());
|
||||
List<PqsEventdetail> lookWarnEvent = warnEvent.stream().filter(temp -> temp.getLookFlag() == 1).collect(Collectors.toList());
|
||||
List<PqsEventdetail> lookNoticeEvent = noticeEvent.stream().filter(temp -> temp.getLookFlag() == 1).collect(Collectors.toList());
|
||||
List<PqsEventdetail> lookALarmEvent = aLarmEvent.stream().filter(temp ->Objects.equals(temp.getLookFlag(),1 )).collect(Collectors.toList());
|
||||
List<PqsEventdetail> lookWarnEvent = warnEvent.stream().filter(temp ->Objects.equals(temp.getLookFlag(),1 ) ).collect(Collectors.toList());
|
||||
List<PqsEventdetail> lookNoticeEvent = noticeEvent.stream().filter(temp -> Objects.equals(temp.getLookFlag(),1 )).collect(Collectors.toList());
|
||||
|
||||
Integer aLarmCount =aLarmEvent.size();
|
||||
Integer warnCount =warnEvent.size();
|
||||
@@ -128,19 +132,19 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService {
|
||||
public List<EventTrendVO> eventTrend(LargeScreenCountParam largeScreenCountParam) {
|
||||
List<EventTrendVO> eventTrendVOList = new ArrayList<>();
|
||||
//起始时间
|
||||
String startTime;
|
||||
LocalDateTime startTime;
|
||||
//结束时间
|
||||
String endTime;
|
||||
LocalDateTime endTime;
|
||||
if(largeScreenCountParam.getType()==3){
|
||||
//起始时间
|
||||
startTime = DateUtil.format(DateUtil.beginOfMonth(new Date()), DatePattern.NORM_DATE_PATTERN);
|
||||
startTime = LocalDateTimeUtil.parse(DateUtil.format(DateUtil.beginOfMonth(new Date()), DatePattern.NORM_DATETIME_FORMATTER),DatePattern.NORM_DATETIME_FORMATTER);
|
||||
//结束时间
|
||||
endTime = DateUtil.format(DateUtil.endOfMonth(new Date()), DatePattern.NORM_DATE_PATTERN);
|
||||
endTime = LocalDateTimeUtil.parse(DateUtil.format(DateUtil.endOfMonth(new Date()), DatePattern.NORM_DATETIME_FORMATTER),DatePattern.NORM_DATETIME_FORMATTER);
|
||||
}else if(largeScreenCountParam.getType()==4){
|
||||
//起始时间
|
||||
startTime = DateUtil.format(DateUtil.beginOfWeek(new Date()), DatePattern.NORM_DATE_PATTERN);
|
||||
startTime = LocalDateTimeUtil.parse(DateUtil.format(DateUtil.beginOfWeek(new Date()), DatePattern.NORM_DATETIME_FORMATTER),DatePattern.NORM_DATETIME_FORMATTER);
|
||||
//结束时间
|
||||
endTime = DateUtil.format(DateUtil.endOfWeek(new Date()), DatePattern.NORM_DATE_PATTERN);
|
||||
endTime = LocalDateTimeUtil.parse(DateUtil.format(DateUtil.endOfWeek(new Date()), DatePattern.NORM_DATETIME_FORMATTER),DatePattern.NORM_DATETIME_FORMATTER);
|
||||
}else {
|
||||
throw new BusinessException("统计类型有误类型");
|
||||
}
|
||||
@@ -148,12 +152,20 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService {
|
||||
//获取对应监测点id
|
||||
List<PqsDeptsline> deptslines = pqsDeptslineService.lambdaQuery().in(PqsDeptsline::getDeptsIndex, deptAndChildren).eq(PqsDeptsline::getSystype, sysTypeZt).list();
|
||||
List<Integer> deptslineIds = deptslines.stream().map(PqsDeptsline::getLineIndex).collect(Collectors.toList());
|
||||
List<PqsEventdetail> eventdetails = pqsEventdetailService.lambdaQuery()
|
||||
.between(PqsEventdetail::getTimeid, startTime, endTime)
|
||||
.in(PqsEventdetail::getLineid,deptslineIds)
|
||||
.eq(PqsEventdetail::getLookFlag,largeScreenCountParam.getEventtype()).list();
|
||||
LocalDate startDate = LocalDate.parse(startTime, DatePattern.NORM_DATE_FORMATTER);
|
||||
LocalDate endDate = LocalDate.parse(endTime, DatePattern.NORM_DATE_FORMATTER);
|
||||
List<PqsEventdetail> eventdetails = new ArrayList<>();
|
||||
if(Objects.equals(largeScreenCountParam.getEventtype(),1)){
|
||||
eventdetails = pqsEventdetailService.lambdaQuery()
|
||||
.between(PqsEventdetail::getTimeid, startTime, endTime)
|
||||
.in(PqsEventdetail::getLineid,deptslineIds)
|
||||
.eq(PqsEventdetail::getLookFlag,largeScreenCountParam.getEventtype()).list();
|
||||
}else {
|
||||
eventdetails = pqsEventdetailService.lambdaQuery()
|
||||
.between(PqsEventdetail::getTimeid, startTime, endTime)
|
||||
.in(PqsEventdetail::getLineid,deptslineIds)
|
||||
.and(w -> w.eq(PqsEventdetail::getLookFlag, 0).or().isNull(PqsEventdetail::getLookFlag)).list();
|
||||
}
|
||||
LocalDate startDate =LocalDate.parse(DateUtil.format(startTime, DatePattern.NORM_DATE_PATTERN)) ;
|
||||
LocalDate endDate = LocalDate.parse(DateUtil.format(endTime, DatePattern.NORM_DATE_PATTERN)) ;
|
||||
|
||||
List<String> dateList = new ArrayList<>();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user