zbj//1.单位暂态指标数据统计_月统计 算法

This commit is contained in:
zhangbaojian
2023-06-15 16:27:29 +08:00
parent e0c4e4b88f
commit ed527c31cb
14 changed files with 455 additions and 63 deletions

View File

@@ -0,0 +1,30 @@
package com.njcn.prepare.harmonic.pojo.po;
import lombok.Data;
import java.time.LocalDate;
/**
* <p>
*
* </p>
*
* @author zbj
* @since 2023-06-15
*/
@Data
public class RStatEventOrgDVO {
private String orgNo;
private String eventType;
private Float emAvg;
private Integer ecSum;
private Integer emSum;
private Float emrAvg;
}

View File

@@ -0,0 +1,52 @@
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.time.LocalDate;
/**
* <p>
*
* </p>
*
* @author zbj
* @since 2023-06-15
*/
@Data
@TableName("r_stat_event_org_m")
public class RStatEventOrgMPO {
@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;
}

View File

@@ -2,7 +2,12 @@ package com.njcn.prepare.harmonic.mapper.mysql.area;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.njcn.harmonic.pojo.po.RStatOrgMPO;
import com.njcn.prepare.harmonic.pojo.po.RStatEventOrgDVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
*
@@ -15,4 +20,10 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface RStatOrgMMapper extends MppBaseMapper<RStatOrgMPO> {
Map<String, Object> selectMlist(@Param("startTime") String startTime,
@Param("endTime") String endTime,
@Param("orgId") String orgId,
@Param("dataTypeId") String dataTypeId);
}

View File

@@ -1,37 +1,49 @@
<?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.RStatOrgMMapper">
<resultMap id="BaseResultMap" type="com.njcn.harmonic.pojo.po.RStatOrgMPO">
<!--@mbg.generated-->
<!--@Table r_stat_org_m-->
<id column="org_no" jdbcType="VARCHAR" property="orgNo" />
<result column="data_date" jdbcType="TIMESTAMP" property="dataDate" />
<result column="measurement_type_class" jdbcType="VARCHAR" property="measurementTypeClass" />
<result column="all_count" jdbcType="INTEGER" property="allCount" />
<result column="effective_measurement_average" jdbcType="INTEGER" property="effectiveMeasurementAverage" />
<result column="effective_measurement_accrued" jdbcType="INTEGER" property="effectiveMeasurementAccrued" />
<result column="harmonic_measurement_average" jdbcType="INTEGER" property="harmonicMeasurementAverage" />
<result column="harmonic_measurement_accrued" jdbcType="INTEGER" property="harmonicMeasurementAccrued" />
<result column="harmonic_measurement_ratio_average" jdbcType="FLOAT" property="harmonicMeasurementRatioAverage" />
<result column="over_day_accrued" jdbcType="INTEGER" property="overDayAccrued" />
<result column="freq_pass_rate" jdbcType="FLOAT" property="freqPassRate" />
<result column="v_dev_pass_rate" jdbcType="FLOAT" property="vDevPassRate" />
<result column="flicker_pass_rate" jdbcType="FLOAT" property="flickerPassRate" />
<result column="event_measurement_average" jdbcType="INTEGER" property="eventMeasurementAverage" />
<result column="event_measurement_accrued" jdbcType="INTEGER" property="eventMeasurementAccrued" />
<result column="event_measurement_ratio_average" jdbcType="FLOAT" property="eventMeasurementRatioAverage" />
<result column="event_freq" jdbcType="FLOAT" property="eventFreq" />
<result column="event_count" jdbcType="INTEGER" property="eventCount" />
<result column="should_count" jdbcType="INTEGER" property="shouldCount" />
<result column="warn_count" jdbcType="INTEGER" property="warnCount" />
<result column="data_type" jdbcType="VARCHAR" property="dataType" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
org_no, data_date, measurement_type_class, all_count, effective_measurement_average,
effective_measurement_accrued, harmonic_measurement_average, harmonic_measurement_accrued,
harmonic_measurement_ratio_average, over_day_accrued, freq_pass_rate, v_dev_pass_rate,
flicker_pass_rate, event_measurement_average, event_measurement_accrued, event_measurement_ratio_average,
event_freq, event_count, should_count, warn_count, data_type
</sql>
<resultMap id="BaseResultMap" type="com.njcn.harmonic.pojo.po.RStatOrgMPO">
<!--@mbg.generated-->
<!--@Table r_stat_org_m-->
<id column="org_no" jdbcType="VARCHAR" property="orgNo"/>
<result column="data_date" jdbcType="TIMESTAMP" property="dataDate"/>
<result column="measurement_type_class" jdbcType="VARCHAR" property="measurementTypeClass"/>
<result column="all_count" jdbcType="INTEGER" property="allCount"/>
<result column="effective_measurement_average" jdbcType="INTEGER" property="effectiveMeasurementAverage"/>
<result column="effective_measurement_accrued" jdbcType="INTEGER" property="effectiveMeasurementAccrued"/>
<result column="harmonic_measurement_average" jdbcType="INTEGER" property="harmonicMeasurementAverage"/>
<result column="harmonic_measurement_accrued" jdbcType="INTEGER" property="harmonicMeasurementAccrued"/>
<result column="harmonic_measurement_ratio_average" jdbcType="FLOAT"
property="harmonicMeasurementRatioAverage"/>
<result column="over_day_accrued" jdbcType="INTEGER" property="overDayAccrued"/>
<result column="freq_pass_rate" jdbcType="FLOAT" property="freqPassRate"/>
<result column="v_dev_pass_rate" jdbcType="FLOAT" property="vDevPassRate"/>
<result column="flicker_pass_rate" jdbcType="FLOAT" property="flickerPassRate"/>
<result column="event_measurement_average" jdbcType="INTEGER" property="eventMeasurementAverage"/>
<result column="event_measurement_accrued" jdbcType="INTEGER" property="eventMeasurementAccrued"/>
<result column="event_measurement_ratio_average" jdbcType="FLOAT" property="eventMeasurementRatioAverage"/>
<result column="event_freq" jdbcType="FLOAT" property="eventFreq"/>
<result column="event_count" jdbcType="INTEGER" property="eventCount"/>
<result column="should_count" jdbcType="INTEGER" property="shouldCount"/>
<result column="warn_count" jdbcType="INTEGER" property="warnCount"/>
<result column="data_type" jdbcType="VARCHAR" property="dataType"/>
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
org_no, data_date, measurement_type_class, all_count, effective_measurement_average,
effective_measurement_accrued, harmonic_measurement_average, harmonic_measurement_accrued,
harmonic_measurement_ratio_average, over_day_accrued, freq_pass_rate, v_dev_pass_rate,
flicker_pass_rate, event_measurement_average, event_measurement_accrued, event_measurement_ratio_average,
event_freq, event_count, should_count, warn_count, data_type
</sql>
<select id="selectMlist" resultType="java.util.Map">
SELECT sum(effective_measurement_accrued) "efSum"
FROM r_stat_org_m
WHERE date_format(data_date, '%y%m%d') &gt;= date_format(#{startTime}, '%y%m%d')
AND date_format(data_date, '%y%m%d') &lt;= date_format(#{endTime}, '%y%m%d')
AND org_no = #{orgId}
AND data_type = #{dataTypeId}
GROUP BY org_no
</select>
</mapper>

View File

@@ -4,6 +4,10 @@ import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.njcn.prepare.harmonic.pojo.po.RStatEventDPO;
import com.njcn.prepare.harmonic.pojo.po.RStatEventMPO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* Description:
@@ -15,4 +19,10 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface RStatEventMPOMapper extends MppBaseMapper<RStatEventMPO> {
List<Map<String, Object>> selectMlist(@Param("startTime") String startTime,
@Param("endTime") String endTime,
@Param("orgId") String orgId,
@Param("dataTypeId") String dataTypeId);
}

View File

@@ -3,7 +3,11 @@ package com.njcn.prepare.harmonic.mapper.mysql.newalgorithm;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.njcn.prepare.harmonic.pojo.po.RStatEventMPO;
import com.njcn.prepare.harmonic.pojo.po.RStatEventOrgDPO;
import com.njcn.prepare.harmonic.pojo.po.RStatEventOrgDVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* Description:
@@ -15,4 +19,10 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface RStatEventOrgDPOMapper extends MppBaseMapper<RStatEventOrgDPO> {
List<RStatEventOrgDVO> selectMlist(@Param("startTime") String startTime,
@Param("endTime") String endTime,
@Param("orgId") String orgId,
@Param("dataTypeId") String dataTypeId);
}

View File

@@ -0,0 +1,22 @@
package com.njcn.prepare.harmonic.mapper.mysql.newalgorithm;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.njcn.prepare.harmonic.pojo.po.RStatEventOrgDPO;
import com.njcn.prepare.harmonic.pojo.po.RStatEventOrgDVO;
import com.njcn.prepare.harmonic.pojo.po.RStatEventOrgMPO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2022/12/13 15:39【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Mapper
public interface RStatEventOrgMPOMapper extends MppBaseMapper<RStatEventOrgMPO> {
}

View File

@@ -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.RStatEventMPOMapper">
<select id="selectMlist" resultType="java.util.Map">
SELECT event_type "eventType",
sum(event_measurement_accrued) "emaSum"
FROM r_stat_event_m
WHERE date_format(data_date, '%y%m%d') &gt;= date_format(#{startTime}, '%y%m%d')
AND date_format(data_date, '%y%m%d') &lt;= date_format(#{endTime}, '%y%m%d')
AND org_no = #{orgId}
AND data_type = #{dataTypeId}
GROUP BY org_no,
event_type
</select>
</mapper>

View File

@@ -0,0 +1,21 @@
<?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.RStatEventOrgDPOMapper">
<select id="selectMlist" resultType="com.njcn.prepare.harmonic.pojo.po.RStatEventOrgDVO">
SELECT org_no "orgNo",
event_type "eventType",
round(avg(event_measurement), 2) "emAvg",
sum(event_measurement) "emSum",
sum(event_count) "ecSum",
round(avg(event_measurement_ratio), 2) "emrAvg"
FROM r_stat_event_org_d
WHERE date_format(data_date, '%y%m%d') &gt;= date_format(#{startTime}, '%y%m%d')
AND date_format(data_date, '%y%m%d') &lt;= date_format(#{endTime}, '%y%m%d')
AND org_no = #{orgId}
AND data_type = #{dataTypeId}
GROUP BY org_no,
event_type
</select>
</mapper>

View File

@@ -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.RStatEventOrgMPO;
/**
* @author zbj
* @since 2023-06-15
*/
public interface RStatEventOrgMPOService extends IMppService<RStatEventOrgMPO> {
}

View File

@@ -0,0 +1,24 @@
package com.njcn.prepare.harmonic.service.mysql.newalgorithm.impl;
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
import com.njcn.prepare.harmonic.mapper.mysql.newalgorithm.RStatEventOrgDPOMapper;
import com.njcn.prepare.harmonic.mapper.mysql.newalgorithm.RStatEventOrgMPOMapper;
import com.njcn.prepare.harmonic.pojo.po.RStatEventOrgDPO;
import com.njcn.prepare.harmonic.pojo.po.RStatEventOrgMPO;
import com.njcn.prepare.harmonic.service.mysql.newalgorithm.RStatEventOrgDPOService;
import com.njcn.prepare.harmonic.service.mysql.newalgorithm.RStatEventOrgMPOService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
/**
* <p>
* 终端检测监督
* </p>
*
* @author zbj
* @since 2023-06-14
*/
@Service
@RequiredArgsConstructor
public class RStatEventOrgMPOServiceImpl extends MppServiceImpl<RStatEventOrgMPOMapper, RStatEventOrgMPO> implements RStatEventOrgMPOService {
}

View File

@@ -16,6 +16,7 @@ import com.njcn.prepare.harmonic.mapper.mysql.line.RMpEventDetailDMapper;
import com.njcn.prepare.harmonic.mapper.mysql.line.RMpEventDetailMMapper;
import com.njcn.prepare.harmonic.mapper.mysql.newalgorithm.RStatEventDPOMapper;
import com.njcn.prepare.harmonic.mapper.mysql.newalgorithm.RStatEventMPOMapper;
import com.njcn.prepare.harmonic.mapper.mysql.newalgorithm.RStatEventOrgDPOMapper;
import com.njcn.prepare.harmonic.pojo.po.*;
import com.njcn.prepare.harmonic.service.mysql.newalgorithm.*;
import com.njcn.system.api.DicDataFeignClient;
@@ -27,6 +28,7 @@ import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
@@ -48,12 +50,20 @@ public class RStatEventOrgServiceImpl implements RStatEventOrgService {
private final DicDataFeignClient dicDataFeignClient;
private final RStatEventOrgDPOService rStatEventOrgDPOService;
private final RStatEventDPOMapper rStatEventDPOMapper;
private final RStatOrgDMapper rStatOrgDMapper;
private final RStatOrgMMapper rStatOrgMMapper;
private final RStatEventOrgDPOMapper rStatEventOrgDPOMapper;
private final RStatEventMPOMapper rStatEventMPOMapper;
private final RStatEventOrgDPOService rStatEventOrgDPOService;
private final RStatEventOrgMPOService rStatEventOrgMPOService;
@Override
public void handler(List<DeptGetChildrenMoreDTO> data, String dataDate, Integer type) {
switch (type) {
@@ -62,12 +72,12 @@ public class RStatEventOrgServiceImpl implements RStatEventOrgService {
break;
case 2:
this.rStartEventQHandler(data, dataDate, type);
break;
case 3:
this.rStartEventMHandler(data, dataDate, type);
break;*/
case 3:
this.rStartEventOrgMHandler(data, dataDate, type);
break;
case 5:
this.rStartEventDHandler(data, dataDate, type);
this.rStartEventOrgDHandler(data, dataDate, type);
break;
default:
break;
@@ -75,7 +85,7 @@ public class RStatEventOrgServiceImpl implements RStatEventOrgService {
}
//天表
public void rStartEventDHandler(List<DeptGetChildrenMoreDTO> data, String dataDate, Integer type) {
public void rStartEventOrgDHandler(List<DeptGetChildrenMoreDTO> data, String dataDate, Integer type) {
List<RStatEventOrgDPO> rStatEventOrgDPOS = new ArrayList<>();
DecimalFormat df = new DecimalFormat("0.00");
Date date = DateUtil.parse(dataDate);
@@ -127,14 +137,14 @@ public class RStatEventOrgServiceImpl implements RStatEventOrgService {
if (emMap.get(o.getDataType()) == 0) {
rStatEventOrgDPO.setEventMeasurementRatio(1.00f);
} else {
String value = df.format(o.getEmSum() / emMap.get(o.getDataType()));
String value = df.format(o.getEmSum().floatValue() / emMap.get(o.getDataType()));
rStatEventOrgDPO.setEventMeasurementRatio(Float.parseFloat(value));
}
} else {
if (emMap.get(o.getDataType()) == 0) {
rStatEventOrgDPO.setEventMeasurementRatio(1.00f);
} else {
String value = df.format(o.getEmSum() / emMap.get(o.getDataType()));
String value = df.format(o.getEmSum().floatValue() / emMap.get(o.getDataType()));
rStatEventOrgDPO.setEventMeasurementRatio(Float.parseFloat(value));
}
}
@@ -146,4 +156,164 @@ public class RStatEventOrgServiceImpl implements RStatEventOrgService {
rStatEventOrgDPOService.saveOrUpdateBatchByMultiId(rStatEventOrgDPOS, 500);
}
}
//月表
public void rStartEventOrgMHandler(List<DeptGetChildrenMoreDTO> data, String dataDate, Integer type) {
List<RStatEventOrgMPO> rStatEventOrgMPOS = new ArrayList<>();
DecimalFormat df = new DecimalFormat("0.00");
Date date = DateUtil.parse(dataDate);
LocalDate localDate = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
//传入字符串日期获取月的起始日期与结束日期
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.set(Calendar.DAY_OF_MONTH, 1); // 将日期设置为当月的第一天
String startTime = sdf.format(calendar.getTime()); // 获取当月的起始日期
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH)); // 将日期设置为当月的最后一天
String endTime = sdf.format(calendar.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> zwList = rStatEventOrgDPOMapper.selectMlist(startTime, endTime,
deptGetChildrenMoreDTO.getUnitId(), dataTypeMap.get(DicDataEnum.MAINNET_POINT.getCode()).getId());
//配网天表
List<RStatEventOrgDVO> pwList = rStatEventOrgDPOMapper.selectMlist(startTime, endTime,
deptGetChildrenMoreDTO.getUnitId(), dataTypeMap.get(DicDataEnum.DISTRIBUTION_POINT.getCode()).getId());
//主网r_stat_event_m
List<Map<String, Object>> zwEmaSum = rStatEventMPOMapper.selectMlist(startTime, endTime,
deptGetChildrenMoreDTO.getUnitId(), dataTypeMap.get(DicDataEnum.MAINNET_POINT.getCode()).getId());
//配网r_stat_event_m
List<Map<String, Object>> pwEmaSum = rStatEventMPOMapper.selectMlist(startTime, endTime,
deptGetChildrenMoreDTO.getUnitId(), dataTypeMap.get(DicDataEnum.DISTRIBUTION_POINT.getCode()).getId());
//主网r_stat_org_m
Map<String, Object> zwEfSum = rStatOrgMMapper.selectMlist(startTime, endTime,
deptGetChildrenMoreDTO.getUnitId(), dataTypeMap.get(DicDataEnum.MAINNET_POINT.getCode()).getId());
//配网r_stat_org_m
Map<String, Object> pwEfSum = rStatOrgMMapper.selectMlist(startTime, endTime,
deptGetChildrenMoreDTO.getUnitId(), dataTypeMap.get(DicDataEnum.DISTRIBUTION_POINT.getCode()).getId());
//主网
if (!CollectionUtils.isEmpty(zwList)) {
//转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);
}
//循环
zwList.forEach(obj -> {
RStatEventOrgMPO rStatEventOrgMPO = new RStatEventOrgMPO();
rStatEventOrgMPO.setOrgNo(obj.getOrgNo());
rStatEventOrgMPO.setDataDate(localDate);
rStatEventOrgMPO.setEventType(obj.getEventType());
rStatEventOrgMPO.setEventMeasurementAverage(obj.getEmrAvg());
rStatEventOrgMPO.setEventCount(obj.getEcSum());
rStatEventOrgMPO.setEventMeasurementRatioAverage(obj.getEmrAvg());
rStatEventOrgMPO.setDataType(dataTypeMap.get(DicDataEnum.MAINNET_POINT.getCode()).getId());
if (emaMap.get(obj.getEventType()) == 0) {
rStatEventOrgMPO.setEventMeasurementAccrued(0);
} else {
rStatEventOrgMPO.setEventMeasurementAccrued(emaMap.get(obj.getEventType()));
}
if (obj.getEmSum() == 0) {
rStatEventOrgMPO.setEventFreq(0.00f);
} else {
String value = df.format(obj.getEcSum().floatValue() / obj.getEmSum());
rStatEventOrgMPO.setEventFreq(Float.parseFloat(value));
}
if (!CollectionUtils.isEmpty(zwEfSum)) {
if (Integer.parseInt(zwEfSum.get("efSum").toString()) == 0) {
rStatEventOrgMPO.setEventMeasurementRatioAccrued(0.00f);
} else {
String value = df.format(rStatEventOrgMPO.getEventMeasurementAccrued() / Float.parseFloat(zwEfSum.get("efSum").toString()));
rStatEventOrgMPO.setEventMeasurementRatioAccrued(Float.parseFloat(value));
}
} else {
rStatEventOrgMPO.setEventMeasurementRatioAccrued(0.00f);
}
rStatEventOrgMPOS.add(rStatEventOrgMPO);
});
}
//配网
if (!CollectionUtils.isEmpty(pwList)) {
//转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);
}
//循环
pwList.forEach(obj -> {
RStatEventOrgMPO rStatEventOrgMPO = new RStatEventOrgMPO();
rStatEventOrgMPO.setOrgNo(obj.getOrgNo());
rStatEventOrgMPO.setDataDate(localDate);
rStatEventOrgMPO.setEventType(obj.getEventType());
rStatEventOrgMPO.setEventMeasurementAverage(obj.getEmrAvg());
rStatEventOrgMPO.setEventCount(obj.getEcSum());
rStatEventOrgMPO.setEventMeasurementRatioAverage(obj.getEmrAvg());
rStatEventOrgMPO.setDataType(dataTypeMap.get(DicDataEnum.DISTRIBUTION_POINT.getCode()).getId());
if (emaMap.get(obj.getEventType()) == 0) {
rStatEventOrgMPO.setEventMeasurementAccrued(0);
} else {
rStatEventOrgMPO.setEventMeasurementAccrued(emaMap.get(obj.getEventType()));
}
if (obj.getEmSum() == 0) {
rStatEventOrgMPO.setEventFreq(0.00f);
} else {
String value = df.format(obj.getEcSum() / obj.getEmSum().floatValue());
rStatEventOrgMPO.setEventFreq(Float.parseFloat(value));
}
if (!CollectionUtils.isEmpty(pwEfSum)) {
if (Integer.parseInt(pwEfSum.get("efSum").toString()) == 0) {
rStatEventOrgMPO.setEventMeasurementRatioAccrued(0.00f);
} else {
String value = df.format(rStatEventOrgMPO.getEventMeasurementAccrued() / Float.parseFloat(pwEfSum.get("efSum").toString()));
rStatEventOrgMPO.setEventMeasurementRatioAccrued(Float.parseFloat(value));
}
} else {
rStatEventOrgMPO.setEventMeasurementRatioAccrued(0.00f);
}
rStatEventOrgMPOS.add(rStatEventOrgMPO);
});
}
});
if (!CollectionUtils.isEmpty(rStatEventOrgMPOS)) {
rStatEventOrgMPOService.saveOrUpdateBatchByMultiId(rStatEventOrgMPOS, 500);
}
}
}

View File

@@ -23,7 +23,6 @@ import com.njcn.system.api.DicDataFeignClient;
import com.njcn.system.enums.DicDataEnum;
import com.njcn.system.enums.DicDataTypeEnum;
import com.njcn.system.pojo.po.DictData;
import com.njcn.user.api.DeptFeignClient;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
@@ -160,7 +159,7 @@ public class RStatEventServiceImpl implements RStatEventService {
if (rStatOrgDPO.getEffectiveMeasurement() == 0) {
rStatEventDPO.setEventMeasurementRatio(1.00f);
} else {
String value = df.format(rStatEventDPO.getEventMeasurement() / rStatOrgDPO.getEffectiveMeasurement());
String value = df.format(rStatEventDPO.getEventMeasurement() / rStatOrgDPO.getEffectiveMeasurement().floatValue());
rStatEventDPO.setEventMeasurementRatio(Float.parseFloat(value));
}
}
@@ -214,7 +213,7 @@ public class RStatEventServiceImpl implements RStatEventService {
if (rStatOrgDPO.getEffectiveMeasurement() == 0) {
rStatEventDPO.setEventMeasurementRatio(1.00f);
} else {
String value = df.format(rStatEventDPO.getEventMeasurement() / rStatOrgDPO.getEffectiveMeasurement());
String value = df.format(rStatEventDPO.getEventMeasurement() / rStatOrgDPO.getEffectiveMeasurement().floatValue());
rStatEventDPO.setEventMeasurementRatio(Float.parseFloat(value));
}
}
@@ -329,7 +328,7 @@ public class RStatEventServiceImpl implements RStatEventService {
if (sumEM.get(dictData.getId()) == 0) {
rStatEventMPO.setEventFreq(1.00f);
} else {
String value = df.format(sumEC.get(dictData.getId()) / sumEM.get(dictData.getId()));
String value = df.format(sumEC.get(dictData.getId()) / sumEM.get(dictData.getId()).floatValue());
rStatEventMPO.setEventFreq(Float.parseFloat(value));
}
if (Objects.isNull(rStatOrgMPO)) {
@@ -338,7 +337,7 @@ public class RStatEventServiceImpl implements RStatEventService {
if (rStatOrgMPO.getEffectiveMeasurementAccrued() == 0) {
rStatEventMPO.setEventMeasurementRatioAccrued(1.00f);
} else {
String value = df.format(statisData / rStatOrgMPO.getEffectiveMeasurementAccrued());
String value = df.format(statisData / rStatOrgMPO.getEffectiveMeasurementAccrued().floatValue());
rStatEventMPO.setEventMeasurementRatioAccrued(Float.parseFloat(value));
}
}
@@ -419,7 +418,7 @@ public class RStatEventServiceImpl implements RStatEventService {
if (sumEM.get(dictData.getId()) == 0) {
rStatEventMPO.setEventFreq(1.00f);
} else {
String value = df.format(sumEC.get(dictData.getId()) / sumEM.get(dictData.getId()));
String value = df.format(sumEC.get(dictData.getId()) / sumEM.get(dictData.getId()).floatValue());
rStatEventMPO.setEventFreq(Float.parseFloat(value));
}
if (Objects.isNull(rStatOrgMPO)) {
@@ -428,7 +427,7 @@ public class RStatEventServiceImpl implements RStatEventService {
if (rStatOrgMPO.getEffectiveMeasurementAccrued() == 0) {
rStatEventMPO.setEventMeasurementRatioAccrued(1.00f);
} else {
String value = df.format(statisData / rStatOrgMPO.getEffectiveMeasurementAccrued());
String value = df.format(statisData / rStatOrgMPO.getEffectiveMeasurementAccrued().floatValue());
rStatEventMPO.setEventMeasurementRatioAccrued(Float.parseFloat(value));
}
}
@@ -569,7 +568,7 @@ public class RStatEventServiceImpl implements RStatEventService {
if (sumEM.get(dictData.getId()) == 0) {
rStatEventQPO.setEventFreq(1.00f);
} else {
String value = df.format(sumEC.get(dictData.getId()) / sumEM.get(dictData.getId()));
String value = df.format(sumEC.get(dictData.getId()) / sumEM.get(dictData.getId()).floatValue());
rStatEventQPO.setEventFreq(Float.parseFloat(value));
}
if (Objects.isNull(rStatOrgQPO)) {
@@ -578,7 +577,7 @@ public class RStatEventServiceImpl implements RStatEventService {
if (rStatOrgQPO.getEffectiveMeasurementAccrued() == 0) {
rStatEventQPO.setEventMeasurementRatioAccrued(1.00f);
} else {
String value = df.format(statisData / rStatOrgQPO.getEffectiveMeasurementAccrued());
String value = df.format(statisData / rStatOrgQPO.getEffectiveMeasurementAccrued().floatValue());
rStatEventQPO.setEventMeasurementRatioAccrued(Float.parseFloat(value));
}
}
@@ -673,7 +672,7 @@ public class RStatEventServiceImpl implements RStatEventService {
if (sumEM.get(dictData.getId()) == 0) {
rStatEventQPO.setEventFreq(1.00f);
} else {
String value = df.format(sumEC.get(dictData.getId()) / sumEM.get(dictData.getId()));
String value = df.format(sumEC.get(dictData.getId()) / sumEM.get(dictData.getId()).floatValue());
rStatEventQPO.setEventFreq(Float.parseFloat(value));
}
if (Objects.isNull(rStatOrgQPO)) {
@@ -682,7 +681,7 @@ public class RStatEventServiceImpl implements RStatEventService {
if (rStatOrgQPO.getEffectiveMeasurementAccrued() == 0) {
rStatEventQPO.setEventMeasurementRatioAccrued(1.00f);
} else {
String value = df.format(statisData / rStatOrgQPO.getEffectiveMeasurementAccrued());
String value = df.format(statisData / rStatOrgQPO.getEffectiveMeasurementAccrued().floatValue());
rStatEventQPO.setEventMeasurementRatioAccrued(Float.parseFloat(value));
}
}
@@ -816,7 +815,7 @@ public class RStatEventServiceImpl implements RStatEventService {
if (sumEM.get(dictData.getId()) == 0) {
rStatEventYPO.setEventFreq(1.00f);
} else {
String value = df.format(sumEC.get(dictData.getId()) / sumEM.get(dictData.getId()));
String value = df.format(sumEC.get(dictData.getId()) / sumEM.get(dictData.getId()).floatValue());
rStatEventYPO.setEventFreq(Float.parseFloat(value));
}
if (Objects.isNull(rStatOrgYPO)) {
@@ -825,7 +824,7 @@ public class RStatEventServiceImpl implements RStatEventService {
if (rStatOrgYPO.getEffectiveMeasurementAccrued() == 0) {
rStatEventYPO.setEventMeasurementRatioAccrued(1.00f);
} else {
String value = df.format(statisData / rStatOrgYPO.getEffectiveMeasurementAccrued());
String value = df.format(statisData / rStatOrgYPO.getEffectiveMeasurementAccrued().floatValue());
rStatEventYPO.setEventMeasurementRatioAccrued(Float.parseFloat(value));
}
}
@@ -921,7 +920,7 @@ public class RStatEventServiceImpl implements RStatEventService {
if (sumEM.get(dictData.getId()) == 0) {
rStatEventYPO.setEventFreq(1.00f);
} else {
String value = df.format(sumEC.get(dictData.getId()) / sumEM.get(dictData.getId()));
String value = df.format(sumEC.get(dictData.getId()) / sumEM.get(dictData.getId()).floatValue());
rStatEventYPO.setEventFreq(Float.parseFloat(value));
}
if (Objects.isNull(rStatOrgYPO)) {
@@ -930,7 +929,7 @@ public class RStatEventServiceImpl implements RStatEventService {
if (rStatOrgYPO.getEffectiveMeasurementAccrued() == 0) {
rStatEventYPO.setEventMeasurementRatioAccrued(1.00f);
} else {
String value = df.format(statisData / rStatOrgYPO.getEffectiveMeasurementAccrued());
String value = df.format(statisData / rStatOrgYPO.getEffectiveMeasurementAccrued().floatValue());
rStatEventYPO.setEventMeasurementRatioAccrued(Float.parseFloat(value));
}
}

View File

@@ -165,7 +165,7 @@ public class RStatEventVoltageServiceImpl implements RStatEventVoltageService {
if (rStatOrgDPO.getEffectiveMeasurement() == 0) {
rStatEventVoltageDPO.setEventMeasurementRatio(1.00f);
} else {
String value = df.format(rStatEventVoltageDPO.getEventMeasurement() / rStatOrgDPO.getEffectiveMeasurement());
String value = df.format(rStatEventVoltageDPO.getEventMeasurement() / rStatOrgDPO.getEffectiveMeasurement().floatValue());
rStatEventVoltageDPO.setEventMeasurementRatio(Float.parseFloat(value));
}
}
@@ -239,7 +239,7 @@ public class RStatEventVoltageServiceImpl implements RStatEventVoltageService {
if (rStatOrgDPO.getEffectiveMeasurement() == 0) {
rStatEventVoltageDPO.setEventMeasurementRatio(1.00f);
} else {
String value = df.format(rStatEventVoltageDPO.getEventMeasurement() / rStatOrgDPO.getEffectiveMeasurement());
String value = df.format(rStatEventVoltageDPO.getEventMeasurement() / rStatOrgDPO.getEffectiveMeasurement().floatValue());
rStatEventVoltageDPO.setEventMeasurementRatio(Float.parseFloat(value));
}
}
@@ -384,7 +384,7 @@ public class RStatEventVoltageServiceImpl implements RStatEventVoltageService {
if (sumEM.get(dictData.getId()).get(v1.getId()) == 0) {
rStatEventVoltageMPO.setEventFreq(1.00f);
} else {
String value = df.format(sumEC.get(dictData.getId()).get(v1.getId()) / sumEM.get(dictData.getId()).get(v1.getId()));
String value = df.format(sumEC.get(dictData.getId()).get(v1.getId()) / sumEM.get(dictData.getId()).get(v1.getId()).floatValue());
rStatEventVoltageMPO.setEventFreq(Float.parseFloat(value));
}
if (Objects.isNull(rStatOrgMPO)) {
@@ -393,7 +393,7 @@ public class RStatEventVoltageServiceImpl implements RStatEventVoltageService {
if (rStatOrgMPO.getEffectiveMeasurementAccrued() == 0) {
rStatEventVoltageMPO.setEventMeasurementRatioAccrued(1.00f);
} else {
String value = df.format(statisData / rStatOrgMPO.getEffectiveMeasurementAccrued());
String value = df.format(statisData / rStatOrgMPO.getEffectiveMeasurementAccrued().floatValue());
rStatEventVoltageMPO.setEventMeasurementRatioAccrued(Float.parseFloat(value));
}
}
@@ -499,7 +499,7 @@ public class RStatEventVoltageServiceImpl implements RStatEventVoltageService {
if (sumEM.get(dictData.getId()).get(v1.getId()) == 0) {
rStatEventVoltageMPO.setEventFreq(1.00f);
} else {
String value = df.format(sumEC.get(dictData.getId()).get(v1.getId()) / sumEM.get(dictData.getId()).get(v1.getId()));
String value = df.format(sumEC.get(dictData.getId()).get(v1.getId()) / sumEM.get(dictData.getId()).get(v1.getId()).floatValue());
rStatEventVoltageMPO.setEventFreq(Float.parseFloat(value));
}
if (Objects.isNull(rStatOrgMPO)) {
@@ -508,7 +508,7 @@ public class RStatEventVoltageServiceImpl implements RStatEventVoltageService {
if (rStatOrgMPO.getEffectiveMeasurementAccrued() == 0) {
rStatEventVoltageMPO.setEventMeasurementRatioAccrued(1.00f);
} else {
String value = df.format(statisData / rStatOrgMPO.getEffectiveMeasurementAccrued());
String value = df.format(statisData / rStatOrgMPO.getEffectiveMeasurementAccrued().floatValue());
rStatEventVoltageMPO.setEventMeasurementRatioAccrued(Float.parseFloat(value));
}
}