zbj//1.单位暂态指标数据统计_年统计 算法
This commit is contained in:
@@ -18,9 +18,7 @@ import java.time.LocalDate;
|
|||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@TableName("r_stat_event_org_q")
|
@TableName("r_stat_event_org_q")
|
||||||
public class RStatEventOrgQPO implements Serializable {
|
public class RStatEventOrgQPO {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
|
||||||
|
|
||||||
@MppMultiId(value = "org_no")
|
@MppMultiId(value = "org_no")
|
||||||
private String orgNo;
|
private String orgNo;
|
||||||
|
|||||||
@@ -0,0 +1,54 @@
|
|||||||
|
package com.njcn.prepare.harmonic.pojo.po;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
*
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author zbj
|
||||||
|
* @since 2023-06-16
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@TableName("r_stat_event_org_y")
|
||||||
|
public class RStatEventOrgYPO {
|
||||||
|
|
||||||
|
@MppMultiId(value = "org_no")
|
||||||
|
private String orgNo;
|
||||||
|
|
||||||
|
@MppMultiId(value = "data_date")
|
||||||
|
private LocalDate dataDate;
|
||||||
|
|
||||||
|
@MppMultiId(value = "event_type")
|
||||||
|
private String eventType;
|
||||||
|
|
||||||
|
@TableField(value = "event_measurement_average")
|
||||||
|
private Float eventMeasurementAverage;
|
||||||
|
|
||||||
|
@TableField(value = "event_measurement_accrued")
|
||||||
|
private Integer eventMeasurementAccrued;
|
||||||
|
|
||||||
|
@TableField(value = "event_freq")
|
||||||
|
private Float eventFreq;
|
||||||
|
|
||||||
|
@TableField(value = "event_count")
|
||||||
|
private Integer eventCount;
|
||||||
|
|
||||||
|
@TableField(value = "event_measurement_ratio_average")
|
||||||
|
private Float eventMeasurementRatioAverage;
|
||||||
|
|
||||||
|
@TableField(value = "event_measurement_ratio_accrued")
|
||||||
|
private Float eventMeasurementRatioAccrued;
|
||||||
|
|
||||||
|
@MppMultiId(value = "data_type")
|
||||||
|
private String dataType;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -4,6 +4,9 @@ import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
|||||||
import com.njcn.prepare.harmonic.pojo.po.RStatOrgQPO;
|
import com.njcn.prepare.harmonic.pojo.po.RStatOrgQPO;
|
||||||
import com.njcn.prepare.harmonic.pojo.po.RStatOrgYPO;
|
import com.njcn.prepare.harmonic.pojo.po.RStatOrgYPO;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -16,4 +19,10 @@ import org.apache.ibatis.annotations.Mapper;
|
|||||||
*/
|
*/
|
||||||
@Mapper
|
@Mapper
|
||||||
public interface RStatOrgYMapper extends MppBaseMapper<RStatOrgYPO> {
|
public interface RStatOrgYMapper extends MppBaseMapper<RStatOrgYPO> {
|
||||||
|
|
||||||
|
Map<String, Object> selectYlist(@Param("startTime") String startTime,
|
||||||
|
@Param("endTime") String endTime,
|
||||||
|
@Param("orgId") String orgId,
|
||||||
|
@Param("dataTypeId") String dataTypeId);
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.njcn.prepare.harmonic.mapper.mysql.area.RStatOrgYMapper">
|
||||||
|
|
||||||
|
<select id="selectYlist" resultType="java.util.Map">
|
||||||
|
SELECT sum(effective_measurement_accrued) "efSum"
|
||||||
|
FROM r_stat_org_y
|
||||||
|
WHERE date_format(data_date, '%y%m%d') >= date_format(#{startTime}, '%y%m%d')
|
||||||
|
AND date_format(data_date, '%y%m%d') <= date_format(#{endTime}, '%y%m%d')
|
||||||
|
AND org_no = #{orgId}
|
||||||
|
AND data_type = #{dataTypeId}
|
||||||
|
GROUP BY org_no
|
||||||
|
</select>
|
||||||
|
|
||||||
|
</mapper>
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
package com.njcn.prepare.harmonic.mapper.mysql.newalgorithm;
|
||||||
|
|
||||||
|
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.po.RStatEventOrgYPO;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Description:
|
||||||
|
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||||
|
* Date: 2022/12/13 15:39【需求编号】
|
||||||
|
*
|
||||||
|
* @author clam
|
||||||
|
* @version V1.0.0
|
||||||
|
*/
|
||||||
|
@Mapper
|
||||||
|
public interface RStatEventOrgYPOMapper extends MppBaseMapper<RStatEventOrgYPO> {
|
||||||
|
}
|
||||||
@@ -3,6 +3,10 @@ package com.njcn.prepare.harmonic.mapper.mysql.newalgorithm;
|
|||||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||||
import com.njcn.prepare.harmonic.pojo.po.RStatEventYPO;
|
import com.njcn.prepare.harmonic.pojo.po.RStatEventYPO;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Description:
|
* Description:
|
||||||
@@ -14,4 +18,10 @@ import org.apache.ibatis.annotations.Mapper;
|
|||||||
*/
|
*/
|
||||||
@Mapper
|
@Mapper
|
||||||
public interface RStatEventYPOMapper extends MppBaseMapper<RStatEventYPO> {
|
public interface RStatEventYPOMapper extends MppBaseMapper<RStatEventYPO> {
|
||||||
|
|
||||||
|
List<Map<String, Object>> selectYlist(@Param("startTime") String startTime,
|
||||||
|
@Param("endTime") String endTime,
|
||||||
|
@Param("orgId") String orgId,
|
||||||
|
@Param("dataTypeId") String dataTypeId);
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.njcn.prepare.harmonic.mapper.mysql.newalgorithm.RStatEventYPOMapper">
|
||||||
|
|
||||||
|
<select id="selectYlist" resultType="java.util.Map">
|
||||||
|
SELECT event_type "eventType",
|
||||||
|
sum(event_measurement_accrued) "emaSum"
|
||||||
|
FROM r_stat_event_y
|
||||||
|
WHERE date_format(data_date, '%y%m%d') >= date_format(#{startTime}, '%y%m%d')
|
||||||
|
AND date_format(data_date, '%y%m%d') <= date_format(#{endTime}, '%y%m%d')
|
||||||
|
AND org_no = #{orgId}
|
||||||
|
AND data_type = #{dataTypeId}
|
||||||
|
GROUP BY org_no,
|
||||||
|
event_type
|
||||||
|
</select>
|
||||||
|
|
||||||
|
</mapper>
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
package com.njcn.prepare.harmonic.service.mysql.newalgorithm;
|
||||||
|
|
||||||
|
|
||||||
|
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.po.RStatEventOrgYPO;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author zbj
|
||||||
|
* @since 2023-06-16
|
||||||
|
*/
|
||||||
|
|
||||||
|
public interface RStatEventOrgYPOService extends IMppService<RStatEventOrgYPO> {
|
||||||
|
}
|
||||||
@@ -16,7 +16,7 @@ import org.springframework.stereotype.Service;
|
|||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
* @author zbj
|
* @author zbj
|
||||||
* @since 2023-06-14
|
* @since 2023-06-16
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
|
|||||||
@@ -57,6 +57,8 @@ public class RStatEventOrgServiceImpl implements RStatEventOrgService {
|
|||||||
|
|
||||||
private final RStatOrgQMapper rStatOrgQMapper;
|
private final RStatOrgQMapper rStatOrgQMapper;
|
||||||
|
|
||||||
|
private final RStatOrgYMapper rStatOrgYMapper;
|
||||||
|
|
||||||
private final RStatEventOrgDPOMapper rStatEventOrgDPOMapper;
|
private final RStatEventOrgDPOMapper rStatEventOrgDPOMapper;
|
||||||
|
|
||||||
private final RStatEventOrgMPOMapper rStatEventOrgMPOMapper;
|
private final RStatEventOrgMPOMapper rStatEventOrgMPOMapper;
|
||||||
@@ -65,18 +67,22 @@ public class RStatEventOrgServiceImpl implements RStatEventOrgService {
|
|||||||
|
|
||||||
private final RStatEventQPOMapper rStatEventQPOMapper;
|
private final RStatEventQPOMapper rStatEventQPOMapper;
|
||||||
|
|
||||||
|
private final RStatEventYPOMapper rStatEventYPOMapper;
|
||||||
|
|
||||||
private final RStatEventOrgDPOService rStatEventOrgDPOService;
|
private final RStatEventOrgDPOService rStatEventOrgDPOService;
|
||||||
|
|
||||||
private final RStatEventOrgMPOService rStatEventOrgMPOService;
|
private final RStatEventOrgMPOService rStatEventOrgMPOService;
|
||||||
|
|
||||||
private final RStatEventOrgQPOService rStatEventOrgQPOService;
|
private final RStatEventOrgQPOService rStatEventOrgQPOService;
|
||||||
|
|
||||||
|
private final RStatEventOrgYPOService rStatEventOrgYPOService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void handler(List<DeptGetChildrenMoreDTO> data, String dataDate, Integer type) {
|
public void handler(List<DeptGetChildrenMoreDTO> data, String dataDate, Integer type) {
|
||||||
switch (type) {
|
switch (type) {
|
||||||
/* case 1:
|
case 1:
|
||||||
this.rStartEventYHandler (data, dataDate, type);
|
this.rStartEventOrgYHandler(data, dataDate, type);
|
||||||
break;*/
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
this.rStartEventOrgQHandler(data, dataDate, type);
|
this.rStartEventOrgQHandler(data, dataDate, type);
|
||||||
break;
|
break;
|
||||||
@@ -358,7 +364,7 @@ public class RStatEventOrgServiceImpl implements RStatEventOrgService {
|
|||||||
|
|
||||||
//配网月表
|
//配网月表
|
||||||
List<RStatEventOrgDVO> pwMList = rStatEventOrgMPOMapper.selectQlist(startTime, endTime,
|
List<RStatEventOrgDVO> pwMList = rStatEventOrgMPOMapper.selectQlist(startTime, endTime,
|
||||||
deptGetChildrenMoreDTO.getUnitId(), dataTypeMap.get(DicDataEnum.MAINNET_POINT.getCode()).getId());
|
deptGetChildrenMoreDTO.getUnitId(), dataTypeMap.get(DicDataEnum.DISTRIBUTION_POINT.getCode()).getId());
|
||||||
|
|
||||||
//主网天表
|
//主网天表
|
||||||
List<RStatEventOrgDVO> zwDList = rStatEventOrgDPOMapper.selectQlist(startTime, endTime,
|
List<RStatEventOrgDVO> zwDList = rStatEventOrgDPOMapper.selectQlist(startTime, endTime,
|
||||||
@@ -384,13 +390,12 @@ public class RStatEventOrgServiceImpl implements RStatEventOrgService {
|
|||||||
Map<String, Object> pwEfSum = rStatOrgQMapper.selectQlist(startTime, endTime,
|
Map<String, Object> pwEfSum = rStatOrgQMapper.selectQlist(startTime, endTime,
|
||||||
deptGetChildrenMoreDTO.getUnitId(), dataTypeMap.get(DicDataEnum.DISTRIBUTION_POINT.getCode()).getId());
|
deptGetChildrenMoreDTO.getUnitId(), dataTypeMap.get(DicDataEnum.DISTRIBUTION_POINT.getCode()).getId());
|
||||||
|
|
||||||
|
|
||||||
//主网
|
//主网
|
||||||
if (!CollectionUtils.isEmpty(zwMList) && !CollectionUtils.isEmpty(zwDList)) {
|
if (!CollectionUtils.isEmpty(zwMList) && !CollectionUtils.isEmpty(zwDList)) {
|
||||||
|
|
||||||
for (RStatEventOrgDVO rStatEventOrgDVO : zwMList) {
|
for (RStatEventOrgDVO rStatEventOrgDVO : zwMList) {
|
||||||
for (RStatEventOrgDVO statEventOrgDVO : zwDList) {
|
for (RStatEventOrgDVO statEventOrgDVO : zwDList) {
|
||||||
if (Objects.equals(rStatEventOrgDVO.getEventType(),statEventOrgDVO.getEventType())){
|
if (Objects.equals(rStatEventOrgDVO.getEventType(), statEventOrgDVO.getEventType())) {
|
||||||
rStatEventOrgDVO.setEcSum(statEventOrgDVO.getEcSum());
|
rStatEventOrgDVO.setEcSum(statEventOrgDVO.getEcSum());
|
||||||
rStatEventOrgDVO.setEmSum(statEventOrgDVO.getEmSum());
|
rStatEventOrgDVO.setEmSum(statEventOrgDVO.getEmSum());
|
||||||
}
|
}
|
||||||
@@ -450,7 +455,7 @@ public class RStatEventOrgServiceImpl implements RStatEventOrgService {
|
|||||||
|
|
||||||
for (RStatEventOrgDVO rStatEventOrgDVO : pwMList) {
|
for (RStatEventOrgDVO rStatEventOrgDVO : pwMList) {
|
||||||
for (RStatEventOrgDVO statEventOrgDVO : pwDList) {
|
for (RStatEventOrgDVO statEventOrgDVO : pwDList) {
|
||||||
if (Objects.equals(rStatEventOrgDVO.getEventType(),statEventOrgDVO.getEventType())){
|
if (Objects.equals(rStatEventOrgDVO.getEventType(), statEventOrgDVO.getEventType())) {
|
||||||
rStatEventOrgDVO.setEcSum(statEventOrgDVO.getEcSum());
|
rStatEventOrgDVO.setEcSum(statEventOrgDVO.getEcSum());
|
||||||
rStatEventOrgDVO.setEmSum(statEventOrgDVO.getEmSum());
|
rStatEventOrgDVO.setEmSum(statEventOrgDVO.getEmSum());
|
||||||
}
|
}
|
||||||
@@ -511,4 +516,198 @@ public class RStatEventOrgServiceImpl implements RStatEventOrgService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//年表
|
||||||
|
public void rStartEventOrgYHandler(List<DeptGetChildrenMoreDTO> data, String dataDate, Integer type) {
|
||||||
|
List<RStatEventOrgYPO> rStatEventOrgYPOS = new ArrayList<>();
|
||||||
|
DecimalFormat df = new DecimalFormat("0.00");
|
||||||
|
Date date = DateUtil.parse(dataDate);
|
||||||
|
LocalDate localDate = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
|
||||||
|
|
||||||
|
//计算年度的开始日期和结束日期
|
||||||
|
Calendar calendar = Calendar.getInstance(); // 获取Calendar实例
|
||||||
|
calendar.setTime(date); // 设置Calendar对象的时间为传入的时间
|
||||||
|
int year = calendar.get(Calendar.YEAR); // 获取本年度年份
|
||||||
|
// 获取本年度的第一天
|
||||||
|
Calendar firstDayOfYear = Calendar.getInstance();
|
||||||
|
firstDayOfYear.set(Calendar.YEAR, year);
|
||||||
|
firstDayOfYear.set(Calendar.MONTH, Calendar.JANUARY);
|
||||||
|
firstDayOfYear.set(Calendar.DAY_OF_MONTH, 1);
|
||||||
|
// 获取本年度的最后一天
|
||||||
|
Calendar lastDayOfYear = Calendar.getInstance();
|
||||||
|
lastDayOfYear.set(Calendar.YEAR, year);
|
||||||
|
lastDayOfYear.set(Calendar.MONTH, Calendar.DECEMBER);
|
||||||
|
lastDayOfYear.set(Calendar.DAY_OF_MONTH, 31);
|
||||||
|
|
||||||
|
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
|
||||||
|
String startTime = formatter.format(firstDayOfYear.getTime());
|
||||||
|
String endTime = formatter.format(lastDayOfYear.getTime());
|
||||||
|
|
||||||
|
/*获取暂态统计指标*/
|
||||||
|
List<DictData> eventStatis = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.EVENT_STATIS.getCode()).getData();
|
||||||
|
Map<String, DictData> eventStatisMap = eventStatis.stream().collect(Collectors.toMap(DictData::getCode, dictData -> dictData));
|
||||||
|
|
||||||
|
/*获取数据类型*/
|
||||||
|
List<DictData> dataTypeList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DATA_TYPE.getCode()).getData();
|
||||||
|
Map<String, DictData> dataTypeMap = dataTypeList.stream().collect(Collectors.toMap(DictData::getCode, dictData -> dictData));
|
||||||
|
|
||||||
|
data.forEach(deptGetChildrenMoreDTO -> {
|
||||||
|
|
||||||
|
//主网月表
|
||||||
|
List<RStatEventOrgDVO> zwMList = rStatEventOrgMPOMapper.selectQlist(startTime, endTime,
|
||||||
|
deptGetChildrenMoreDTO.getUnitId(), dataTypeMap.get(DicDataEnum.MAINNET_POINT.getCode()).getId());
|
||||||
|
|
||||||
|
//配网月表
|
||||||
|
List<RStatEventOrgDVO> pwMList = rStatEventOrgMPOMapper.selectQlist(startTime, endTime,
|
||||||
|
deptGetChildrenMoreDTO.getUnitId(), dataTypeMap.get(DicDataEnum.DISTRIBUTION_POINT.getCode()).getId());
|
||||||
|
|
||||||
|
//主网天表
|
||||||
|
List<RStatEventOrgDVO> zwDList = rStatEventOrgDPOMapper.selectQlist(startTime, endTime,
|
||||||
|
deptGetChildrenMoreDTO.getUnitId(), dataTypeMap.get(DicDataEnum.MAINNET_POINT.getCode()).getId());
|
||||||
|
|
||||||
|
//配网天表
|
||||||
|
List<RStatEventOrgDVO> pwDList = rStatEventOrgDPOMapper.selectQlist(startTime, endTime,
|
||||||
|
deptGetChildrenMoreDTO.getUnitId(), dataTypeMap.get(DicDataEnum.DISTRIBUTION_POINT.getCode()).getId());
|
||||||
|
|
||||||
|
//主网r_stat_event_y
|
||||||
|
List<Map<String, Object>> zwEmaSum = rStatEventYPOMapper.selectYlist(startTime, endTime,
|
||||||
|
deptGetChildrenMoreDTO.getUnitId(), dataTypeMap.get(DicDataEnum.MAINNET_POINT.getCode()).getId());
|
||||||
|
|
||||||
|
//配网r_stat_event_y
|
||||||
|
List<Map<String, Object>> pwEmaSum = rStatEventYPOMapper.selectYlist(startTime, endTime,
|
||||||
|
deptGetChildrenMoreDTO.getUnitId(), dataTypeMap.get(DicDataEnum.DISTRIBUTION_POINT.getCode()).getId());
|
||||||
|
|
||||||
|
//主网r_stat_org_y
|
||||||
|
Map<String, Object> zwEfSum = rStatOrgYMapper.selectYlist(startTime, endTime,
|
||||||
|
deptGetChildrenMoreDTO.getUnitId(), dataTypeMap.get(DicDataEnum.MAINNET_POINT.getCode()).getId());
|
||||||
|
|
||||||
|
//配网r_stat_org_y
|
||||||
|
Map<String, Object> pwEfSum = rStatOrgYMapper.selectYlist(startTime, endTime,
|
||||||
|
deptGetChildrenMoreDTO.getUnitId(), dataTypeMap.get(DicDataEnum.DISTRIBUTION_POINT.getCode()).getId());
|
||||||
|
|
||||||
|
//主网
|
||||||
|
if (!CollectionUtils.isEmpty(zwMList) && !CollectionUtils.isEmpty(zwDList)) {
|
||||||
|
|
||||||
|
for (RStatEventOrgDVO rStatEventOrgDVO : zwMList) {
|
||||||
|
for (RStatEventOrgDVO statEventOrgDVO : zwDList) {
|
||||||
|
if (Objects.equals(rStatEventOrgDVO.getEventType(), statEventOrgDVO.getEventType())) {
|
||||||
|
rStatEventOrgDVO.setEcSum(statEventOrgDVO.getEcSum());
|
||||||
|
rStatEventOrgDVO.setEmSum(statEventOrgDVO.getEmSum());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//转map
|
||||||
|
Map<String, Integer> emaMap = new HashMap<>();
|
||||||
|
if (!CollectionUtils.isEmpty(zwEmaSum)) {
|
||||||
|
for (Map<String, Object> map : zwEmaSum) {
|
||||||
|
emaMap.put(map.get("eventType").toString(), Integer.valueOf(map.get("emaSum").toString()));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
emaMap.put(eventStatisMap.get(DicDataEnum.VOLTAGE_DIP.getCode()).getId(), 0);
|
||||||
|
emaMap.put(eventStatisMap.get(DicDataEnum.VOLTAGE_RISE.getCode()).getId(), 0);
|
||||||
|
emaMap.put(eventStatisMap.get(DicDataEnum.SHORT_INTERRUPTIONS.getCode()).getId(), 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
//循环
|
||||||
|
zwMList.forEach(obj -> {
|
||||||
|
RStatEventOrgYPO rStatEventOrgYPO = new RStatEventOrgYPO();
|
||||||
|
rStatEventOrgYPO.setOrgNo(obj.getOrgNo());
|
||||||
|
rStatEventOrgYPO.setDataDate(localDate);
|
||||||
|
rStatEventOrgYPO.setEventType(obj.getEventType());
|
||||||
|
rStatEventOrgYPO.setEventMeasurementAverage(obj.getEmrAvg());
|
||||||
|
rStatEventOrgYPO.setEventCount(obj.getEcMSum());
|
||||||
|
rStatEventOrgYPO.setEventMeasurementRatioAverage(obj.getEmrAvg());
|
||||||
|
rStatEventOrgYPO.setDataType(dataTypeMap.get(DicDataEnum.MAINNET_POINT.getCode()).getId());
|
||||||
|
|
||||||
|
if (emaMap.get(obj.getEventType()) == 0) {
|
||||||
|
rStatEventOrgYPO.setEventMeasurementAccrued(0);
|
||||||
|
} else {
|
||||||
|
rStatEventOrgYPO.setEventMeasurementAccrued(emaMap.get(obj.getEventType()));
|
||||||
|
}
|
||||||
|
if (obj.getEmSum() == 0) {
|
||||||
|
rStatEventOrgYPO.setEventFreq(0.00f);
|
||||||
|
} else {
|
||||||
|
String value = df.format(obj.getEcSum().floatValue() / obj.getEmSum());
|
||||||
|
rStatEventOrgYPO.setEventFreq(Float.parseFloat(value));
|
||||||
|
}
|
||||||
|
if (!CollectionUtils.isEmpty(zwEfSum)) {
|
||||||
|
if (Integer.parseInt(zwEfSum.get("efSum").toString()) == 0) {
|
||||||
|
rStatEventOrgYPO.setEventMeasurementRatioAccrued(0.00f);
|
||||||
|
} else {
|
||||||
|
String value = df.format(rStatEventOrgYPO.getEventMeasurementAccrued() / Float.parseFloat(zwEfSum.get("efSum").toString()));
|
||||||
|
rStatEventOrgYPO.setEventMeasurementRatioAccrued(Float.parseFloat(value));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
rStatEventOrgYPO.setEventMeasurementRatioAccrued(0.00f);
|
||||||
|
}
|
||||||
|
rStatEventOrgYPOS.add(rStatEventOrgYPO);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
//配网
|
||||||
|
if (!CollectionUtils.isEmpty(pwMList) && !CollectionUtils.isEmpty(pwDList)) {
|
||||||
|
|
||||||
|
for (RStatEventOrgDVO rStatEventOrgDVO : pwMList) {
|
||||||
|
for (RStatEventOrgDVO statEventOrgDVO : pwDList) {
|
||||||
|
if (Objects.equals(rStatEventOrgDVO.getEventType(), statEventOrgDVO.getEventType())) {
|
||||||
|
rStatEventOrgDVO.setEcSum(statEventOrgDVO.getEcSum());
|
||||||
|
rStatEventOrgDVO.setEmSum(statEventOrgDVO.getEmSum());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//转map
|
||||||
|
Map<String, Integer> emaMap = new HashMap<>();
|
||||||
|
if (!CollectionUtils.isEmpty(pwEmaSum)) {
|
||||||
|
for (Map<String, Object> map : pwEmaSum) {
|
||||||
|
emaMap.put(map.get("eventType").toString(), Integer.valueOf(map.get("emaSum").toString()));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
emaMap.put(eventStatisMap.get(DicDataEnum.VOLTAGE_DIP.getCode()).getId(), 0);
|
||||||
|
emaMap.put(eventStatisMap.get(DicDataEnum.VOLTAGE_RISE.getCode()).getId(), 0);
|
||||||
|
emaMap.put(eventStatisMap.get(DicDataEnum.SHORT_INTERRUPTIONS.getCode()).getId(), 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
//循环
|
||||||
|
pwMList.forEach(obj -> {
|
||||||
|
RStatEventOrgYPO rStatEventOrgYPO = new RStatEventOrgYPO();
|
||||||
|
rStatEventOrgYPO.setOrgNo(obj.getOrgNo());
|
||||||
|
rStatEventOrgYPO.setDataDate(localDate);
|
||||||
|
rStatEventOrgYPO.setEventType(obj.getEventType());
|
||||||
|
rStatEventOrgYPO.setEventMeasurementAverage(obj.getEmrAvg());
|
||||||
|
rStatEventOrgYPO.setEventCount(obj.getEcMSum());
|
||||||
|
rStatEventOrgYPO.setEventMeasurementRatioAverage(obj.getEmrAvg());
|
||||||
|
rStatEventOrgYPO.setDataType(dataTypeMap.get(DicDataEnum.DISTRIBUTION_POINT.getCode()).getId());
|
||||||
|
|
||||||
|
if (emaMap.get(obj.getEventType()) == 0) {
|
||||||
|
rStatEventOrgYPO.setEventMeasurementAccrued(0);
|
||||||
|
} else {
|
||||||
|
rStatEventOrgYPO.setEventMeasurementAccrued(emaMap.get(obj.getEventType()));
|
||||||
|
}
|
||||||
|
if (obj.getEmSum() == 0) {
|
||||||
|
rStatEventOrgYPO.setEventFreq(0.00f);
|
||||||
|
} else {
|
||||||
|
String value = df.format(obj.getEcSum() / obj.getEmSum().floatValue());
|
||||||
|
rStatEventOrgYPO.setEventFreq(Float.parseFloat(value));
|
||||||
|
}
|
||||||
|
if (!CollectionUtils.isEmpty(pwEfSum)) {
|
||||||
|
if (Integer.parseInt(pwEfSum.get("efSum").toString()) == 0) {
|
||||||
|
rStatEventOrgYPO.setEventMeasurementRatioAccrued(0.00f);
|
||||||
|
} else {
|
||||||
|
String value = df.format(rStatEventOrgYPO.getEventMeasurementAccrued() / Float.parseFloat(pwEfSum.get("efSum").toString()));
|
||||||
|
rStatEventOrgYPO.setEventMeasurementRatioAccrued(Float.parseFloat(value));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
rStatEventOrgYPO.setEventMeasurementRatioAccrued(0.00f);
|
||||||
|
}
|
||||||
|
rStatEventOrgYPOS.add(rStatEventOrgYPO);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
if (!CollectionUtils.isEmpty(rStatEventOrgYPOS)) {
|
||||||
|
rStatEventOrgYPOService.saveOrUpdateBatchByMultiId(rStatEventOrgYPOS, 500);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,21 @@
|
|||||||
|
package com.njcn.prepare.harmonic.service.mysql.newalgorithm.impl;
|
||||||
|
|
||||||
|
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||||
|
import com.njcn.prepare.harmonic.mapper.mysql.newalgorithm.RStatEventOrgYPOMapper;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.po.RStatEventOrgYPO;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.newalgorithm.RStatEventOrgYPOService;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 终端检测监督
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @author zbj
|
||||||
|
* @since 2023-06-16
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class RStatEventOrgYPOServiceImpl extends MppServiceImpl<RStatEventOrgYPOMapper, RStatEventOrgYPO> implements RStatEventOrgYPOService {
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user