Merge branch 'master' of http://192.168.1.22:3000/root/pqs
This commit is contained in:
@@ -0,0 +1,27 @@
|
|||||||
|
package com.njcn.bpm.listener.business;
|
||||||
|
|
||||||
|
import com.njcn.bpm.listener.BpmProcessInstanceStatusEvent;
|
||||||
|
import com.njcn.bpm.listener.BpmProcessInstanceStatusEventListener;
|
||||||
|
import com.njcn.supervision.api.SupervisionPlanFeignClient;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
|
|
||||||
|
@Component
|
||||||
|
public class BpmSupervisionPlanStatusListener extends BpmProcessInstanceStatusEventListener {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private SupervisionPlanFeignClient supervisionPlanFeignClient;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected String getProcessDefinitionKey() {
|
||||||
|
return "sup_plan_add";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onEvent(BpmProcessInstanceStatusEvent event) {
|
||||||
|
supervisionPlanFeignClient.updateStatus(event.getBusinessKey(), event.getStatus());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -27,6 +27,9 @@ public class RMpPartHarmonicDetailDTO {
|
|||||||
//告警指标
|
//告警指标
|
||||||
private String harmonicType;
|
private String harmonicType;
|
||||||
|
|
||||||
|
private List<String> harmonicTypes;
|
||||||
|
|
||||||
|
|
||||||
//母线id
|
//母线id
|
||||||
private String barId;
|
private String barId;
|
||||||
|
|
||||||
@@ -45,8 +48,16 @@ public class RMpPartHarmonicDetailDTO {
|
|||||||
@ApiModelProperty(name = "voltageLevel",value = "电压等级")
|
@ApiModelProperty(name = "voltageLevel",value = "电压等级")
|
||||||
private String voltageLevel;
|
private String voltageLevel;
|
||||||
|
|
||||||
//超标天数
|
//超标天数占比
|
||||||
private Double overLimitrate;
|
private Double overLimitrate;
|
||||||
|
//超标天数
|
||||||
|
private Integer overLimitDay;
|
||||||
|
//连续超标天数
|
||||||
|
private Integer overLimitContinuous;
|
||||||
|
//预警标志
|
||||||
|
private Integer warningFlag;
|
||||||
|
//告警标志
|
||||||
|
private Integer alarmFlag;
|
||||||
|
|
||||||
|
|
||||||
/*当月超标日期
|
/*当月超标日期
|
||||||
|
|||||||
@@ -18,13 +18,13 @@ import com.njcn.system.enums.DicDataEnum;
|
|||||||
import com.njcn.system.enums.DicDataTypeEnum;
|
import com.njcn.system.enums.DicDataTypeEnum;
|
||||||
import com.njcn.system.pojo.po.DictData;
|
import com.njcn.system.pojo.po.DictData;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.YearMonth;
|
import java.time.YearMonth;
|
||||||
import java.util.ArrayList;
|
import java.time.temporal.ChronoUnit;
|
||||||
import java.util.List;
|
import java.util.*;
|
||||||
import java.util.Objects;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -87,9 +87,41 @@ public class RMpPartHarmonicDetailDServiceImpl extends ServiceImpl<RMpPartHarmon
|
|||||||
|
|
||||||
List<RMpPartHarmonicDetailDTO> result = rMpPartHarmonicDetailDTOS.stream().
|
List<RMpPartHarmonicDetailDTO> result = rMpPartHarmonicDetailDTOS.stream().
|
||||||
filter(temp -> CollectionUtil.isEmpty(param.getHarmonicTypes()) ||param.getHarmonicTypes().contains(temp.getHarmonicType())).
|
filter(temp -> CollectionUtil.isEmpty(param.getHarmonicTypes()) ||param.getHarmonicTypes().contains(temp.getHarmonicType())).
|
||||||
filter(temp -> temp.getOverLimitrate() > param.getRate()).collect(Collectors.toList());
|
collect(Collectors.toList());
|
||||||
|
|
||||||
return result;
|
//合并指标天数计算连续超标天数,及总超标天数
|
||||||
|
Map<String, List<RMpPartHarmonicDetailDTO>> map = result.stream().collect(Collectors.groupingBy(RMpPartHarmonicDetailDTO::getMeasurementPointId));
|
||||||
|
List<RMpPartHarmonicDetailDTO> rMpPartHarmonicDetailDTOList = new ArrayList<>();
|
||||||
|
//获取所有指标类型,如何前端为空则将所有子表类型塞入HarmonicTypes
|
||||||
|
List<String> collect = steadyStatis.stream().map(DictData::getId).collect(Collectors.toList());
|
||||||
|
map.forEach((k,v)->{
|
||||||
|
RMpPartHarmonicDetailDTO rMpPartHarmonicDetailDTO = new RMpPartHarmonicDetailDTO();
|
||||||
|
RMpPartHarmonicDetailDTO rMpPartHarmonicDetailDTO1 = v.get(0);
|
||||||
|
BeanUtils.copyProperties(rMpPartHarmonicDetailDTO1,rMpPartHarmonicDetailDTO);
|
||||||
|
rMpPartHarmonicDetailDTO.setHarmonicTypes( CollectionUtil.isEmpty(param.getHarmonicTypes())?collect:param.getHarmonicTypes());
|
||||||
|
List<List<LocalDate>> collect1 = v.stream().map(RMpPartHarmonicDetailDTO::getDateList).collect(Collectors.toList());
|
||||||
|
List<LocalDate> union = collect1.stream()
|
||||||
|
.flatMap(List::stream)
|
||||||
|
.distinct()
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
rMpPartHarmonicDetailDTO.setDateList(union);
|
||||||
|
rMpPartHarmonicDetailDTO.setOverLimitDay(union.size());
|
||||||
|
rMpPartHarmonicDetailDTO.setOverLimitrate(Double.parseDouble(union.size()+"")/daysInMonth);
|
||||||
|
int i = maxConsecutiveDays(union);
|
||||||
|
rMpPartHarmonicDetailDTO.setOverLimitContinuous(i);
|
||||||
|
//监测点连续越限10天的为
|
||||||
|
//预警测点,连续越限15天的为告警监测点
|
||||||
|
if(i<10){
|
||||||
|
return;
|
||||||
|
}else if(i>=10&&i<15) {
|
||||||
|
rMpPartHarmonicDetailDTO.setWarningFlag(1);
|
||||||
|
}else{
|
||||||
|
rMpPartHarmonicDetailDTO.setAlarmFlag(1);
|
||||||
|
}
|
||||||
|
rMpPartHarmonicDetailDTOList.add(rMpPartHarmonicDetailDTO);
|
||||||
|
});
|
||||||
|
|
||||||
|
return rMpPartHarmonicDetailDTOList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -200,4 +232,65 @@ public class RMpPartHarmonicDetailDServiceImpl extends ServiceImpl<RMpPartHarmon
|
|||||||
}
|
}
|
||||||
return localDetails.stream().distinct().collect(Collectors.toList());
|
return localDetails.stream().distinct().collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* @Description: maxConsecutiveDays 一组List<LocalDate> 为超标天数,判断连续超标天数
|
||||||
|
* @Param:
|
||||||
|
* @return: int
|
||||||
|
* @Author: clam
|
||||||
|
* @Date: 2024/5/21
|
||||||
|
*/
|
||||||
|
public static int maxConsecutiveDays(List<LocalDate> signInDays) {
|
||||||
|
|
||||||
|
Collections.sort(signInDays);
|
||||||
|
int maxConsecutiveDays = 0;
|
||||||
|
int currentConsecutiveDays = 1;
|
||||||
|
|
||||||
|
for (int i = 1; i < signInDays.size(); i++) {
|
||||||
|
long daysBetween = ChronoUnit.DAYS.between(signInDays.get(i - 1), signInDays.get(i));
|
||||||
|
if (daysBetween == 1) {
|
||||||
|
currentConsecutiveDays++;
|
||||||
|
} else {
|
||||||
|
currentConsecutiveDays = 1;
|
||||||
|
}
|
||||||
|
maxConsecutiveDays = Math.max(maxConsecutiveDays, currentConsecutiveDays);
|
||||||
|
}
|
||||||
|
|
||||||
|
return maxConsecutiveDays;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
List<LocalDate> signInDays = new ArrayList<>();
|
||||||
|
signInDays.add(LocalDate.of(2022, 1, 1));
|
||||||
|
signInDays.add(LocalDate.of(2022, 1, 2));
|
||||||
|
signInDays.add(LocalDate.of(2022, 1, 3));
|
||||||
|
signInDays.add(LocalDate.of(2022, 1, 5));
|
||||||
|
signInDays.add(LocalDate.of(2022, 1, 6));
|
||||||
|
signInDays.add(LocalDate.of(2022, 1, 7));
|
||||||
|
signInDays.add(LocalDate.of(2022, 1, 8));
|
||||||
|
|
||||||
|
signInDays.add(LocalDate.of(2022, 1, 9));
|
||||||
|
// signInDays.add(LocalDate.of(2022, 1, 10));
|
||||||
|
// signInDays.add(LocalDate.of(2022, 1, 11));
|
||||||
|
// signInDays.add(LocalDate.of(2022, 1, 12));
|
||||||
|
// signInDays.add(LocalDate.of(2022, 1, 14));
|
||||||
|
// signInDays.add(LocalDate.of(2022, 1, 15));
|
||||||
|
// signInDays.add(LocalDate.of(2022, 1, 16));
|
||||||
|
// signInDays.add(LocalDate.of(2022, 1, 18));
|
||||||
|
// signInDays.add(LocalDate.of(2022, 1, 19));
|
||||||
|
// signInDays.add(LocalDate.of(2022, 1, 20));
|
||||||
|
// signInDays.add(LocalDate.of(2022, 1, 21));
|
||||||
|
// signInDays.add(LocalDate.of(2022, 1, 22));
|
||||||
|
// signInDays.add(LocalDate.of(2022, 1, 23));
|
||||||
|
// signInDays.add(LocalDate.of(2022, 1, 24));
|
||||||
|
// signInDays.add(LocalDate.of(2022, 1, 25));
|
||||||
|
// signInDays.add(LocalDate.of(2022, 1, 26));
|
||||||
|
// signInDays.add(LocalDate.of(2022, 1, 27));
|
||||||
|
// signInDays.add(LocalDate.of(2022, 1, 28));
|
||||||
|
// signInDays.add(LocalDate.of(2022, 1, 29));
|
||||||
|
// signInDays.add(LocalDate.of(2022, 1, 30));
|
||||||
|
// signInDays.add(LocalDate.of(2022, 1, 31));
|
||||||
|
int maxConsecutiveDays = maxConsecutiveDays(signInDays);
|
||||||
|
|
||||||
|
System.out.println(maxConsecutiveDays);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ public class SupervisionProblemPO extends BaseEntity {
|
|||||||
* 是否发布预告警
|
* 是否发布预告警
|
||||||
*/
|
*/
|
||||||
@TableField(value = "if_Release_Warning")
|
@TableField(value = "if_Release_Warning")
|
||||||
private Boolean ifReleaseWarning;
|
private String ifReleaseWarning;
|
||||||
|
|
||||||
@TableField(value = "problem_Desc")
|
@TableField(value = "problem_Desc")
|
||||||
private String problemDesc;
|
private String problemDesc;
|
||||||
@@ -138,7 +138,7 @@ public class SupervisionProblemPO extends BaseEntity {
|
|||||||
* 是否上送国网 0.未上送 1.上送
|
* 是否上送国网 0.未上送 1.上送
|
||||||
*/
|
*/
|
||||||
@TableField(value = "is_Upload_Head")
|
@TableField(value = "is_Upload_Head")
|
||||||
private Boolean isUploadHead;
|
private String isUploadHead;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 问题发现时间
|
* 问题发现时间
|
||||||
|
|||||||
@@ -66,8 +66,7 @@ public class SupervisionPlanVO {
|
|||||||
* 计划监督时间
|
* 计划监督时间
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "计划监督时间",required = true)
|
@ApiModelProperty(value = "计划监督时间",required = true)
|
||||||
@JsonFormat(pattern = "yyyy-MM")
|
private LocalDateTime planSupvDate;
|
||||||
private String planSupvDate;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 监督对象名称
|
* 监督对象名称
|
||||||
@@ -180,4 +179,17 @@ public class SupervisionPlanVO {
|
|||||||
|
|
||||||
@ApiModelProperty(value = "计划状态")
|
@ApiModelProperty(value = "计划状态")
|
||||||
private String planStatus;
|
private String planStatus;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 1:审批中;2:审批通过;3:审批不通过;4:已取消
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "审批状态")
|
||||||
|
private Integer status;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 流程实例的编号
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "流程实例的编号")
|
||||||
|
private String processInstanceId;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -52,6 +52,12 @@
|
|||||||
<artifactId>common-web</artifactId>
|
<artifactId>common-web</artifactId>
|
||||||
<version>${project.version}</version>
|
<version>${project.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.njcn</groupId>
|
||||||
|
<artifactId>harmonic-api</artifactId>
|
||||||
|
<version>1.0.0</version>
|
||||||
|
<scope>compile</scope>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<build>
|
<build>
|
||||||
|
|||||||
@@ -7,9 +7,11 @@ import com.njcn.common.pojo.enums.common.LogEnum;
|
|||||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||||
import com.njcn.common.pojo.response.HttpResult;
|
import com.njcn.common.pojo.response.HttpResult;
|
||||||
import com.njcn.common.utils.HttpResultUtil;
|
import com.njcn.common.utils.HttpResultUtil;
|
||||||
import com.njcn.supervision.pojo.vo.leaflet.WarningLeafletVO;
|
import com.njcn.harmonic.pojo.dto.RMpPartHarmonicDetailDTO;
|
||||||
import com.njcn.supervision.pojo.param.leaflet.WarningLeafletParam;
|
import com.njcn.supervision.pojo.param.leaflet.WarningLeafletParam;
|
||||||
|
import com.njcn.supervision.pojo.vo.leaflet.WarningLeafletVO;
|
||||||
import com.njcn.supervision.service.leaflet.IWarningLeafletService;
|
import com.njcn.supervision.service.leaflet.IWarningLeafletService;
|
||||||
|
import com.njcn.web.controller.BaseController;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParam;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
@@ -19,9 +21,7 @@ import org.springframework.validation.annotation.Validated;
|
|||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
import com.njcn.web.controller.BaseController;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
@@ -61,5 +61,15 @@ public class WarningLeafletController extends BaseController {
|
|||||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, out, methodDescribe);
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, out, methodDescribe);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||||
|
@PostMapping("/addLineOverLimitData")
|
||||||
|
@ApiOperation("监测点超标预警单/告警单新增")
|
||||||
|
@ApiImplicitParam(name = "rMpPartHarmonicDetailDTO", value = "参数", required = true)
|
||||||
|
public HttpResult<String> addLineOverLimitData(@RequestBody @Validated RMpPartHarmonicDetailDTO rMpPartHarmonicDetailDTO) {
|
||||||
|
String methodDescribe = getMethodDescribe("addLineOverLimitData");
|
||||||
|
String out = warningLeafletService.addLineOverLimitData(rMpPartHarmonicDetailDTO);
|
||||||
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, out, methodDescribe);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ import com.njcn.supervision.pojo.param.device.SupervisionTempLineReportParam;
|
|||||||
import com.njcn.supervision.pojo.po.device.SupervisionTempLineReport;
|
import com.njcn.supervision.pojo.po.device.SupervisionTempLineReport;
|
||||||
import com.njcn.supervision.pojo.vo.device.SupervisionTempLineReportVO;
|
import com.njcn.supervision.pojo.vo.device.SupervisionTempLineReportVO;
|
||||||
import com.njcn.supervision.service.device.SupervisionTempLineReportService;
|
import com.njcn.supervision.service.device.SupervisionTempLineReportService;
|
||||||
|
import com.njcn.system.api.DictTreeFeignClient;
|
||||||
import com.njcn.user.api.DeptFeignClient;
|
import com.njcn.user.api.DeptFeignClient;
|
||||||
import com.njcn.user.api.UserFeignClient;
|
import com.njcn.user.api.UserFeignClient;
|
||||||
import com.njcn.user.pojo.vo.UserVO;
|
import com.njcn.user.pojo.vo.UserVO;
|
||||||
@@ -56,7 +57,7 @@ public class SupervisionTempLineReportServiceImpl extends ServiceImpl<Supervisio
|
|||||||
private final BpmProcessFeignClient bpmProcessFeignClient;
|
private final BpmProcessFeignClient bpmProcessFeignClient;
|
||||||
private final DeptFeignClient deptFeignClient;
|
private final DeptFeignClient deptFeignClient;
|
||||||
private final UserFeignClient userFeignClient;
|
private final UserFeignClient userFeignClient;
|
||||||
|
private final DictTreeFeignClient dictTreeFeignClient;
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public String addTempLineReport(SupervisionTempLineReportParam supervisionTempLineReportParam) {
|
public String addTempLineReport(SupervisionTempLineReportParam supervisionTempLineReportParam) {
|
||||||
@@ -146,7 +147,8 @@ public class SupervisionTempLineReportServiceImpl extends ServiceImpl<Supervisio
|
|||||||
UserVO userVO = userFeignClient.getUserById(vo.getReporter()).getData();
|
UserVO userVO = userFeignClient.getUserById(vo.getReporter()).getData();
|
||||||
vo.setReporter(userVO.getName());
|
vo.setReporter(userVO.getName());
|
||||||
vo.setOrgName(deptFeignClient.getDeptById(vo.getOrgId()).getData().getName());
|
vo.setOrgName(deptFeignClient.getDeptById(vo.getOrgId()).getData().getName());
|
||||||
|
vo.setLoadType(dictTreeFeignClient.queryById(vo.getLoadType()).getData().getName());
|
||||||
|
vo.setBusinessType(dictTreeFeignClient.queryById(vo.getBusinessType()).getData().getName());
|
||||||
return vo;
|
return vo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package com.njcn.supervision.service.leaflet;
|
|||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.njcn.harmonic.pojo.dto.RMpPartHarmonicDetailDTO;
|
||||||
import com.njcn.supervision.pojo.param.leaflet.WarningLeafletParam;
|
import com.njcn.supervision.pojo.param.leaflet.WarningLeafletParam;
|
||||||
import com.njcn.supervision.pojo.po.leaflet.WarningLeaflet;
|
import com.njcn.supervision.pojo.po.leaflet.WarningLeaflet;
|
||||||
import com.njcn.supervision.pojo.vo.leaflet.WarningLeafletVO;
|
import com.njcn.supervision.pojo.vo.leaflet.WarningLeafletVO;
|
||||||
@@ -30,4 +31,6 @@ public interface IWarningLeafletService extends IService<WarningLeaflet> {
|
|||||||
Page<WarningLeafletVO> alarmPageData(WarningLeafletParam.WarningLeafletQueryParam warningLeafletQueryParam);
|
Page<WarningLeafletVO> alarmPageData(WarningLeafletParam.WarningLeafletQueryParam warningLeafletQueryParam);
|
||||||
|
|
||||||
Page<WarningLeafletVO> warningPageData(WarningLeafletParam.WarningLeafletQueryParam warningLeafletQueryParam);
|
Page<WarningLeafletVO> warningPageData(WarningLeafletParam.WarningLeafletQueryParam warningLeafletQueryParam);
|
||||||
|
|
||||||
|
String addLineOverLimitData(RMpPartHarmonicDetailDTO rMpPartHarmonicDetailDTO);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,25 +1,35 @@
|
|||||||
package com.njcn.supervision.service.leaflet.impl;
|
package com.njcn.supervision.service.leaflet.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DatePattern;
|
||||||
import cn.hutool.core.date.DateUtil;
|
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.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.njcn.common.pojo.enums.common.DataStateEnum;
|
import com.njcn.common.pojo.enums.common.DataStateEnum;
|
||||||
|
import com.njcn.harmonic.pojo.dto.RMpPartHarmonicDetailDTO;
|
||||||
import com.njcn.supervision.enums.FlowStatusEnum;
|
import com.njcn.supervision.enums.FlowStatusEnum;
|
||||||
import com.njcn.supervision.enums.LeafletTypeEnum;
|
import com.njcn.supervision.enums.LeafletTypeEnum;
|
||||||
|
import com.njcn.supervision.enums.ProblemTypeEnum;
|
||||||
import com.njcn.supervision.mapper.leaflet.WarningLeafletMapper;
|
import com.njcn.supervision.mapper.leaflet.WarningLeafletMapper;
|
||||||
import com.njcn.supervision.pojo.param.leaflet.WarningLeafletParam;
|
import com.njcn.supervision.pojo.param.leaflet.WarningLeafletParam;
|
||||||
import com.njcn.supervision.pojo.po.leaflet.WarningLeaflet;
|
import com.njcn.supervision.pojo.po.leaflet.WarningLeaflet;
|
||||||
import com.njcn.supervision.pojo.vo.leaflet.WarningLeafletVO;
|
import com.njcn.supervision.pojo.vo.leaflet.WarningLeafletVO;
|
||||||
import com.njcn.supervision.service.leaflet.IWarningLeafletService;
|
import com.njcn.supervision.service.leaflet.IWarningLeafletService;
|
||||||
|
import com.njcn.system.api.DicDataFeignClient;
|
||||||
|
import com.njcn.system.enums.DicDataTypeEnum;
|
||||||
|
import com.njcn.system.pojo.po.DictData;
|
||||||
import com.njcn.user.api.UserFeignClient;
|
import com.njcn.user.api.UserFeignClient;
|
||||||
import com.njcn.web.factory.PageFactory;
|
import com.njcn.web.factory.PageFactory;
|
||||||
import com.njcn.web.utils.RequestUtil;
|
import com.njcn.web.utils.RequestUtil;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
@@ -34,6 +44,7 @@ import java.util.Objects;
|
|||||||
public class WarningLeafletServiceImpl extends ServiceImpl<WarningLeafletMapper, WarningLeaflet> implements IWarningLeafletService {
|
public class WarningLeafletServiceImpl extends ServiceImpl<WarningLeafletMapper, WarningLeaflet> implements IWarningLeafletService {
|
||||||
|
|
||||||
private final UserFeignClient userFeignClient;
|
private final UserFeignClient userFeignClient;
|
||||||
|
private final DicDataFeignClient dicDataFeignClient;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 不创建工作流,只是创建一个告警单,需要待用户反馈后才会进入流程
|
* 不创建工作流,只是创建一个告警单,需要待用户反馈后才会进入流程
|
||||||
@@ -88,4 +99,39 @@ public class WarningLeafletServiceImpl extends ServiceImpl<WarningLeafletMapper,
|
|||||||
return this.baseMapper.alarmPageData(new Page<>(PageFactory.getPageNum(warningLeafletQueryParam), PageFactory.getPageSize(warningLeafletQueryParam)), warningLeafletVOQueryWrapper);
|
return this.baseMapper.alarmPageData(new Page<>(PageFactory.getPageNum(warningLeafletQueryParam), PageFactory.getPageSize(warningLeafletQueryParam)), warningLeafletVOQueryWrapper);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String addLineOverLimitData(RMpPartHarmonicDetailDTO rMpPartHarmonicDetailDTO) {
|
||||||
|
//组装预警告警信息
|
||||||
|
String info = assembleOverLimitInfo(rMpPartHarmonicDetailDTO);
|
||||||
|
// checkInfo(info);
|
||||||
|
this.createLeaflet(
|
||||||
|
rMpPartHarmonicDetailDTO.getMeasurementPointName(),
|
||||||
|
IdWorker.get32UUID(),
|
||||||
|
rMpPartHarmonicDetailDTO.getMeasurementPointId(),
|
||||||
|
ProblemTypeEnum.ONLINE.getCode(),
|
||||||
|
Objects.equals(rMpPartHarmonicDetailDTO.getAlarmFlag(),1) ? LeafletTypeEnum.ALARM.getCode(): LeafletTypeEnum.WARNING.getCode(),
|
||||||
|
assembleOverLimitInfo(rMpPartHarmonicDetailDTO)
|
||||||
|
);
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
private String assembleOverLimitInfo(RMpPartHarmonicDetailDTO rMpPartHarmonicDetailDTO) {
|
||||||
|
String info ="";
|
||||||
|
String leafletType = Objects.equals(rMpPartHarmonicDetailDTO.getAlarmFlag(),1) ? "告警单" : "预警单";
|
||||||
|
/*获取稳态统计指标*/
|
||||||
|
List<DictData> steadyStatis = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.INDICATOR_TYPE.getCode()).getData();
|
||||||
|
List<String> harmonicTypes = steadyStatis.stream().filter(temp -> rMpPartHarmonicDetailDTO.getHarmonicTypes().contains(temp.getId())).map(DictData::getName).collect(Collectors.toList());
|
||||||
|
|
||||||
|
info= "预警/告警单类型:"+ "监测点超标"+leafletType+" "+
|
||||||
|
"预警/告警单生成时间:"+ LocalDateTimeUtil.format(LocalDate.now(), DatePattern.CHINESE_DATE_PATTERN)+"\n"+
|
||||||
|
"超标电站名称:" +rMpPartHarmonicDetailDTO.getSustationName()+" "+"超标母线名称:" +rMpPartHarmonicDetailDTO.getBarName()+" "+"超标监测点名称:" +rMpPartHarmonicDetailDTO.getMeasurementPointName()+"\n"+
|
||||||
|
"统计超标指标:" +String.join(",",harmonicTypes)+"\n"+
|
||||||
|
"当月累计超标天数:" +rMpPartHarmonicDetailDTO.getOverLimitDay()+"天"+" "+ "当月累计连续天数:" +rMpPartHarmonicDetailDTO.getOverLimitContinuous()+"天"+"\n"+
|
||||||
|
"超标天数详情:"+rMpPartHarmonicDetailDTO.getDateList();
|
||||||
|
log.warn(info);
|
||||||
|
|
||||||
|
return info;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.njcn.bpm.api.BpmProcessFeignClient;
|
import com.njcn.bpm.api.BpmProcessFeignClient;
|
||||||
|
import com.njcn.bpm.enums.BpmTaskStatusEnum;
|
||||||
import com.njcn.bpm.pojo.dto.BpmProcessInstanceCreateReqDTO;
|
import com.njcn.bpm.pojo.dto.BpmProcessInstanceCreateReqDTO;
|
||||||
import com.njcn.common.pojo.enums.common.DataStateEnum;
|
import com.njcn.common.pojo.enums.common.DataStateEnum;
|
||||||
import com.njcn.common.pojo.exception.BusinessException;
|
import com.njcn.common.pojo.exception.BusinessException;
|
||||||
@@ -101,6 +102,7 @@ public class SupervisionPlanPOServiceImpl extends ServiceImpl<SupervisionPlanPOM
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
supvPlan.setState(DataStateEnum.ENABLE.getCode());
|
supvPlan.setState(DataStateEnum.ENABLE.getCode());
|
||||||
|
supvPlan.setStatus(BpmTaskStatusEnum.RUNNING.getStatus());
|
||||||
this.save(supvPlan);
|
this.save(supvPlan);
|
||||||
return supvPlan.getPlanId();
|
return supvPlan.getPlanId();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,15 +1,16 @@
|
|||||||
package com.njcn.supervision.service.plan.impl;
|
package com.njcn.supervision.service.plan.impl;
|
||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import cn.hutool.core.date.DatePattern;
|
||||||
import cn.hutool.core.date.DateTime;
|
import cn.hutool.core.date.DateTime;
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import cn.hutool.core.date.LocalDateTimeUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.njcn.common.pojo.exception.BusinessException;
|
import com.njcn.common.pojo.exception.BusinessException;
|
||||||
import com.njcn.common.utils.PubUtils;
|
|
||||||
import com.njcn.supervision.mapper.plan.SupervisionPlanPOMapper;
|
import com.njcn.supervision.mapper.plan.SupervisionPlanPOMapper;
|
||||||
import com.njcn.supervision.mapper.plan.SupervisionProblemPOMapper;
|
import com.njcn.supervision.mapper.plan.SupervisionProblemPOMapper;
|
||||||
import com.njcn.supervision.pojo.param.plan.SupervisopnProblemParam;
|
import com.njcn.supervision.pojo.param.plan.SupervisopnProblemParam;
|
||||||
@@ -53,9 +54,9 @@ public class SupervisionProblemPOServiceImpl extends ServiceImpl<SupervisionProb
|
|||||||
checkParam(supvProblemParam.getPlanId(),supvProblemParam.getDiscoveryTime());
|
checkParam(supvProblemParam.getPlanId(),supvProblemParam.getDiscoveryTime());
|
||||||
SupervisionProblemPO supvProblem = new SupervisionProblemPO();
|
SupervisionProblemPO supvProblem = new SupervisionProblemPO();
|
||||||
BeanUtil.copyProperties(supvProblemParam, supvProblem);
|
BeanUtil.copyProperties(supvProblemParam, supvProblem);
|
||||||
supvProblem.setPlanRectificationTime(PubUtils.beginTimeToLocalDateTime(supvProblemParam.getPlanRectificationTime()));
|
supvProblem.setPlanRectificationTime(LocalDateTimeUtil.parse(supvProblemParam.getPlanRectificationTime(), DatePattern.NORM_DATETIME_PATTERN));
|
||||||
if(StrUtil.isNotBlank(supvProblemParam.getRectificationTime())) {
|
if(StrUtil.isNotBlank(supvProblemParam.getRectificationTime())) {
|
||||||
supvProblem.setRectificationTime(PubUtils.beginTimeToLocalDateTime(supvProblemParam.getRectificationTime()));
|
supvProblem.setRectificationTime(LocalDateTimeUtil.parse(supvProblemParam.getRectificationTime(), DatePattern.NORM_DATETIME_PATTERN));
|
||||||
}
|
}
|
||||||
this.save(supvProblem);
|
this.save(supvProblem);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user