初始版本提交
This commit is contained in:
@@ -1,9 +1,11 @@
|
||||
package com.njcn.gather.event.transientes.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.gather.event.transientes.pojo.param.LargeScreenCountParam;
|
||||
import com.njcn.gather.event.transientes.pojo.po.PqsEventdetail;
|
||||
import com.njcn.gather.event.transientes.pojo.vo.AlarmAnalysisVO;
|
||||
import com.njcn.gather.event.transientes.pojo.vo.EventDetailVO;
|
||||
import com.njcn.gather.event.transientes.pojo.vo.EventTrendVO;
|
||||
@@ -71,9 +73,9 @@ public class LargeScreenCountController extends BaseController {
|
||||
@PostMapping("/eventList")
|
||||
@ApiOperation("暂降事件列表")
|
||||
@ApiImplicitParam(name = "largeScreenCountParam", value = "查询参数", required = true)
|
||||
public HttpResult<List<EventDetailVO>> eventList(@RequestBody LargeScreenCountParam largeScreenCountParam) {
|
||||
public HttpResult<Page<EventDetailVO>> eventList(@RequestBody LargeScreenCountParam largeScreenCountParam) {
|
||||
String methodDescribe = getMethodDescribe("eventTrend");
|
||||
List<EventDetailVO> result = largeScreenCountService.eventList(largeScreenCountParam);
|
||||
Page<EventDetailVO> result = largeScreenCountService.eventList(largeScreenCountParam);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,13 @@
|
||||
package com.njcn.gather.event.transientes.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.gather.event.transientes.pojo.param.LargeScreenCountParam;
|
||||
import com.njcn.gather.event.transientes.pojo.po.PqsEventdetail;
|
||||
import com.njcn.gather.event.transientes.pojo.vo.EventDetailVO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
|
||||
@@ -34,4 +34,24 @@
|
||||
EVENTREASON, EVENTTYPE, EVENTASS_INDEX, DQTIME, DEALTIME, DEALFLAG, NUM, FILEFLAG,
|
||||
FIRSTTIME, FIRSTTYPE, FIRSTMS, WAVENAME, ENERGY, SEVERITY, LOOK_FLAG
|
||||
</sql>
|
||||
|
||||
<!-- <select id="queryByCondition" resultType="com.njcn.gather.event.transientes.pojo.vo.EventDetailVO">-->
|
||||
<!--<!– SELECT * from( –>-->
|
||||
<!-- select * from PQS_EVENTDETAIL eve where eve.LINEID in-->
|
||||
<!-- <foreach collection="deptslineIds" item="item" open="(" close=")" separator=",">-->
|
||||
<!-- #{item}-->
|
||||
<!-- </foreach>-->
|
||||
<!-- and eve.TIMEID between TO_DATE( #{startTime},'YYYY-MM-DD HH24:MI:SS') and TO_DATE( #{endTime},'YYYY-MM-DD HH24:MI:SS')-->
|
||||
<!-- <if test="eventtype != null and eventtype ==1">-->
|
||||
<!-- and eve.NOTICE_FLAG =1-->
|
||||
<!-- </if>-->
|
||||
<!-- <if test="eventtype == null or eventtype ==0">-->
|
||||
<!-- and (eve.NOTICE_FLAG =0 or eve.NOTICE_FLAG is null)-->
|
||||
<!-- </if>-->
|
||||
<!-- order by eve.NOTICE_FLAG asc NULLS FIRST , eve.TIMEID desc-->
|
||||
<!--<!– )–>-->
|
||||
<!--<!– WHERE ROWNUM <= 10;–>-->
|
||||
<!-- </select>-->
|
||||
|
||||
|
||||
</mapper>
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.njcn.gather.event.transientes.pojo.param;
|
||||
|
||||
import com.njcn.web.pojo.param.BaseParam;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@@ -11,7 +12,7 @@ import lombok.Data;
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Data
|
||||
public class LargeScreenCountParam {
|
||||
public class LargeScreenCountParam extends BaseParam {
|
||||
@ApiModelProperty(name="deptId",value="部门id")
|
||||
private String deptId;
|
||||
@ApiModelProperty(name="type",value="类型(1年 2季度 3月份 4周 5日)")
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.njcn.gather.event.transientes.pojo.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
@@ -12,11 +13,18 @@ import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class AlarmAnalysisVO {
|
||||
@ApiModelProperty(name="eventCount",value="暂降次数")
|
||||
private Integer eventCount;
|
||||
@ApiModelProperty(name="aLarmCount",value="告警事件统计")
|
||||
private Integer aLarmCount;
|
||||
@ApiModelProperty(name="warnCount",value="预警事件统计")
|
||||
private Integer warnCount;
|
||||
@ApiModelProperty(name="noticeCount",value="远程通知统计")
|
||||
private Integer noticeCount;
|
||||
@ApiModelProperty(name="lookALarmCount",value="告警事件处置数")
|
||||
private Integer lookALarmCount;
|
||||
@ApiModelProperty(name="lookWarnCount",value="预警事件处置数")
|
||||
private Integer lookWarnCount;
|
||||
@ApiModelProperty(name="lookNoticeCount",value="远程通知处置数")
|
||||
private Integer lookNoticeCount;
|
||||
}
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
package com.njcn.gather.event.transientes.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.njcn.gather.event.transientes.pojo.param.LargeScreenCountParam;
|
||||
import com.njcn.gather.event.transientes.pojo.po.PqsEventdetail;
|
||||
import com.njcn.gather.event.transientes.pojo.vo.AlarmAnalysisVO;
|
||||
import com.njcn.gather.event.transientes.pojo.vo.EventDetailVO;
|
||||
import com.njcn.gather.event.transientes.pojo.vo.EventTrendVO;
|
||||
@@ -22,7 +24,7 @@ public interface LargeScreenCountService {
|
||||
|
||||
List<EventTrendVO> eventTrend(LargeScreenCountParam largeScreenCountParam);
|
||||
|
||||
List<EventDetailVO> eventList(LargeScreenCountParam largeScreenCountParam);
|
||||
Page<EventDetailVO> eventList(LargeScreenCountParam largeScreenCountParam);
|
||||
|
||||
List<EventDetailVO> noDealEventList(LargeScreenCountParam largeScreenCountParam);
|
||||
|
||||
|
||||
@@ -1,7 +1,13 @@
|
||||
package com.njcn.gather.event.transientes.service;
|
||||
|
||||
import com.njcn.gather.event.transientes.pojo.param.LargeScreenCountParam;
|
||||
import com.njcn.gather.event.transientes.pojo.po.PqsEventdetail;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.njcn.gather.event.transientes.pojo.vo.EventDetailVO;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
|
||||
@@ -6,6 +6,9 @@ import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.date.LocalDateTimeUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.github.yulichang.wrapper.segments.Fun;
|
||||
@@ -28,12 +31,13 @@ import com.njcn.gather.event.transientes.service.PqsDeptsService;
|
||||
import com.njcn.gather.event.devcie.service.PqsDeptslineService;
|
||||
import com.njcn.gather.event.transientes.service.PqsEventdetailService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.*;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -65,6 +69,10 @@ 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());
|
||||
if(CollectionUtils.isEmpty(deptslineIds)){
|
||||
throw new BusinessException("部门下暂无监测点");
|
||||
|
||||
}
|
||||
List<PqLine> pqLineList = pqLineService.lambdaQuery().in(PqLine::getLineIndex, deptslineIds).list();
|
||||
//统计总数
|
||||
long allSubCount = pqLineList.stream().map(PqLine::getSubIndex).distinct().count();
|
||||
@@ -103,6 +111,10 @@ 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());
|
||||
if(CollectionUtils.isEmpty(deptslineIds)){
|
||||
throw new BusinessException("部门下暂无监测点");
|
||||
|
||||
}
|
||||
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();
|
||||
@@ -161,17 +173,21 @@ 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());
|
||||
if(CollectionUtils.isEmpty(deptslineIds)){
|
||||
throw new BusinessException("部门下暂无监测点");
|
||||
|
||||
}
|
||||
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();
|
||||
.eq(PqsEventdetail::getNoticeFlag,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();
|
||||
.and(w -> w.eq(PqsEventdetail::getNoticeFlag, 0).or().isNull(PqsEventdetail::getNoticeFlag)).list();
|
||||
}
|
||||
LocalDate startDate =LocalDate.parse(DateUtil.format(startTime, DatePattern.NORM_DATE_PATTERN)) ;
|
||||
LocalDate endDate = LocalDate.parse(DateUtil.format(endTime, DatePattern.NORM_DATE_PATTERN)) ;
|
||||
@@ -191,8 +207,47 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<EventDetailVO> eventList(LargeScreenCountParam largeScreenCountParam) {
|
||||
return null;
|
||||
public Page<EventDetailVO> eventList(LargeScreenCountParam largeScreenCountParam) {
|
||||
Page<PqsEventdetail> pqsEventdetailPage = new Page<> (largeScreenCountParam.getPageNum ( ), largeScreenCountParam.getPageSize ( ));
|
||||
|
||||
//起始时间
|
||||
LocalDateTime startTime = LocalDateTimeUtil.parse(DateUtil.format(DateUtil.beginOfMonth(new Date()), DatePattern.NORM_DATETIME_FORMATTER),DatePattern.NORM_DATETIME_FORMATTER);
|
||||
//结束时间
|
||||
LocalDateTime endTime = LocalDateTimeUtil.parse(DateUtil.format(DateUtil.endOfMonth(new Date()), DatePattern.NORM_DATETIME_FORMATTER),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());
|
||||
if(CollectionUtils.isEmpty(deptslineIds)){
|
||||
throw new BusinessException("部门下暂无监测点");
|
||||
|
||||
}
|
||||
QueryWrapper<PqsEventdetail> queryWrapper = new QueryWrapper<>();
|
||||
if(Objects.equals(largeScreenCountParam.getEventtype(),1)){
|
||||
queryWrapper.lambda()
|
||||
.between(PqsEventdetail::getTimeid, startTime, endTime)
|
||||
.in(PqsEventdetail::getLineid,deptslineIds)
|
||||
.eq(PqsEventdetail::getNoticeFlag,largeScreenCountParam.getEventtype())
|
||||
.orderByAsc(PqsEventdetail::getLookFlag)
|
||||
.orderByDesc(PqsEventdetail::getTimeid);
|
||||
}else {
|
||||
queryWrapper.lambda()
|
||||
.between(PqsEventdetail::getTimeid, startTime, endTime)
|
||||
.in(PqsEventdetail::getLineid,deptslineIds)
|
||||
.and(w -> w.eq(PqsEventdetail::getNoticeFlag, 0).or().isNull(PqsEventdetail::getNoticeFlag))
|
||||
.orderByAsc(PqsEventdetail::getLookFlag)
|
||||
.orderByDesc(PqsEventdetail::getTimeid);
|
||||
}
|
||||
IPage<PqsEventdetail> list = pqsEventdetailService.getBaseMapper().selectPage(pqsEventdetailPage,queryWrapper);
|
||||
List<EventDetailVO> collect = list.getRecords().stream().map(temp -> {
|
||||
EventDetailVO eventDetailVO = new EventDetailVO();
|
||||
BeanUtils.copyProperties(temp, eventDetailVO);
|
||||
return eventDetailVO;
|
||||
}).collect(Collectors.toList());
|
||||
Page<EventDetailVO> returnpage = new Page<> (largeScreenCountParam.getPageNum ( ), largeScreenCountParam.getPageSize ( ));
|
||||
returnpage.setRecords(collect);
|
||||
return returnpage;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1,10 +1,16 @@
|
||||
package com.njcn.gather.event.transientes.service.impl;
|
||||
|
||||
import com.njcn.gather.event.transientes.pojo.param.LargeScreenCountParam;
|
||||
import com.njcn.gather.event.transientes.pojo.vo.EventDetailVO;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.gather.event.transientes.pojo.po.PqsEventdetail;
|
||||
import com.njcn.gather.event.transientes.mapper.PqsEventdetailMapper;
|
||||
import com.njcn.gather.event.transientes.service.PqsEventdetailService;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
@@ -16,4 +22,6 @@ import com.njcn.gather.event.transientes.service.PqsEventdetailService;
|
||||
@Service
|
||||
public class PqsEventdetailServiceImpl extends ServiceImpl<PqsEventdetailMapper, PqsEventdetail> implements PqsEventdetailService{
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -57,6 +57,7 @@ mybatis-plus:
|
||||
|
||||
SYS_TYPE_ZT: 1cfcd6e2-c5fe-4b15-988a-32b90f1170c1
|
||||
SYS_TYPE_WT: 983f9dfe-4f9a-4c96-89d8-7d425a1f1d6c
|
||||
|
||||
db:
|
||||
type: oracle
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user