算法提交
This commit is contained in:
@@ -21,7 +21,6 @@ import com.njcn.user.api.DeptFeignClient;
|
|||||||
import com.njcn.user.pojo.dto.DeptDTO;
|
import com.njcn.user.pojo.dto.DeptDTO;
|
||||||
import com.njcn.user.pojo.po.Dept;
|
import com.njcn.user.pojo.po.Dept;
|
||||||
import com.njcn.web.utils.WebUtil;
|
import com.njcn.web.utils.WebUtil;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@@ -149,7 +148,7 @@ public class OverviewServiceImpl implements OverviewService {
|
|||||||
//获取数据库数据
|
//获取数据库数据
|
||||||
List<RMpMonitorAlarmCountM> list = rMpMonitorAlarmCountMService.list(new LambdaQueryWrapper<RMpMonitorAlarmCountM>()
|
List<RMpMonitorAlarmCountM> list = rMpMonitorAlarmCountMService.list(new LambdaQueryWrapper<RMpMonitorAlarmCountM>()
|
||||||
.in(RMpMonitorAlarmCountM::getMeasurementPointId, ids)
|
.in(RMpMonitorAlarmCountM::getMeasurementPointId, ids)
|
||||||
.eq(RMpMonitorAlarmCountM::getDataType,data.getId())
|
// .eq(RMpMonitorAlarmCountM::getDataType,data.getId())
|
||||||
.ge(StringUtils.isNotBlank(param.getStartTime()), RMpMonitorAlarmCountM::getDataDate, param.getStartTime())
|
.ge(StringUtils.isNotBlank(param.getStartTime()), RMpMonitorAlarmCountM::getDataDate, param.getStartTime())
|
||||||
.le(StringUtils.isNotBlank(param.getEndTime()), RMpMonitorAlarmCountM::getDataDate, param.getEndTime())
|
.le(StringUtils.isNotBlank(param.getEndTime()), RMpMonitorAlarmCountM::getDataDate, param.getEndTime())
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -0,0 +1,69 @@
|
|||||||
|
package com.njcn.harmonic.pojo.dto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Description:
|
||||||
|
* Date: 2023/12/6 15:22【需求编号】
|
||||||
|
*
|
||||||
|
* @author clam
|
||||||
|
* @version V1.0.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class ConverterDetailStatisticsDTO {
|
||||||
|
|
||||||
|
|
||||||
|
/*主键 是否必填:是*/
|
||||||
|
private String id;
|
||||||
|
/*发生超标或暂态母线日均占比(%) 是否必填:否*/
|
||||||
|
private BigDecimal abnormalBusAvgRate;
|
||||||
|
/*发生超标或暂态母线数量(条) 是否必填:是*/
|
||||||
|
private Integer abnormalBusNum;
|
||||||
|
/*发生超标或暂态母线占比(%) 是否必填:否*/
|
||||||
|
private BigDecimal abnormalBusRate;
|
||||||
|
/*发生超标或暂态换流站日均占比(%) 是否必填:否*/
|
||||||
|
private BigDecimal abnormalConverterAvgRate;
|
||||||
|
/*发生超标或暂态换流站数量(条) 是否必填:否*/
|
||||||
|
private Integer abnormalConverterNum;
|
||||||
|
/*发生超标或暂态换流站占比(%) 是否必填:否*/
|
||||||
|
private BigDecimal abnormalConverterRate;
|
||||||
|
/*市级单位id 是否必填:是*/
|
||||||
|
private String cityId;
|
||||||
|
/*市级单位名称 是否必填:否*/
|
||||||
|
private String cityName;
|
||||||
|
/*监测交流母线数量(条) 是否必填:否*/
|
||||||
|
private Integer monitorAlternatingBusNum;
|
||||||
|
/*交流母线监测率(%) 是否必填:否*/
|
||||||
|
private BigDecimal monitorAlternatingBusRate;
|
||||||
|
/*监测换流站数量(座) 是否必填:是*/
|
||||||
|
private Integer monitorConverterNum;
|
||||||
|
/*换流站监测率(%) 是否必填:*/
|
||||||
|
private BigDecimal monitorConverterRate;
|
||||||
|
/*在运交流母线数量(条) 是否必填:是*/
|
||||||
|
private Integer onlineAlternatingBusNum;
|
||||||
|
/*在运换流站数量(座) 是否必填:是*/
|
||||||
|
private Integer onlineConverterNum;
|
||||||
|
/*省级单位名称 是否必填:否*/
|
||||||
|
private String provinceName;
|
||||||
|
/*省级单位id 是否必填:是*/
|
||||||
|
private String provinceId;
|
||||||
|
/*统计日期 是否必填:是*/
|
||||||
|
private String statisticalDate;
|
||||||
|
/*统计类型 是否必填:是*/
|
||||||
|
private String statisticalType;
|
||||||
|
/*统计层级 是否必填:是*/
|
||||||
|
private String statisticalLevel;
|
||||||
|
/*累计发生超标或暂态换流站数量(座) 是否必填:否*/
|
||||||
|
private Integer abnormalConverterCount;
|
||||||
|
/*累计监测换流站数量(座) 是否必填:否*/
|
||||||
|
private Integer monitorConverterCount;
|
||||||
|
/*累计发生超标或暂态母线数量(座) 是否必填:否*/
|
||||||
|
private Integer abnormalBusCount;
|
||||||
|
/*累计监测交流母线数量(座) 是否必填:否*/
|
||||||
|
private Integer monitorAlternatingBusCount;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,89 @@
|
|||||||
|
package com.njcn.harmonic.pojo.dto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Description:
|
||||||
|
* Date: 2023/12/6 15:30【需求编号】
|
||||||
|
*
|
||||||
|
* @author clam
|
||||||
|
* @version V1.0.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class SubstationQualityStatisticsDTO {
|
||||||
|
/*主键 是否必填:是*/
|
||||||
|
private String id;
|
||||||
|
|
||||||
|
/*统计日期 是否必填:是*/
|
||||||
|
private String statisticalDate;
|
||||||
|
/*统计类型 是否必填:是*/
|
||||||
|
private String statisticalType;
|
||||||
|
|
||||||
|
/*省级单位id 是否必填:是*/
|
||||||
|
private String provinceId;
|
||||||
|
/*省级单位名称 是否必填:否*/
|
||||||
|
private String provinceName;
|
||||||
|
/*市级单位id 是否必填:是*/
|
||||||
|
private String cityId;
|
||||||
|
/*市级单位名称 是否必填:否*/
|
||||||
|
private String cityName;
|
||||||
|
/*县级单位id 是否必填:否*/
|
||||||
|
private String countyId;
|
||||||
|
/*县级单位名称 是否必填:否*/
|
||||||
|
private String countyName;
|
||||||
|
|
||||||
|
/*换流站id 是否必填:是*/
|
||||||
|
private String converterId;
|
||||||
|
/*换流站名称 是否必填:是*/
|
||||||
|
private String converterName;
|
||||||
|
|
||||||
|
/*母线id 是否必填:否*/
|
||||||
|
private String busId;
|
||||||
|
/*母线名称 是否必填:否*/
|
||||||
|
private String busName;
|
||||||
|
/*母线电压等级 是否必填:否*/
|
||||||
|
private String busVoltageLevel;
|
||||||
|
|
||||||
|
/*监测点id 是否必填:否*/
|
||||||
|
private String monitorId;
|
||||||
|
|
||||||
|
/*站内有效监测点数量(个) 是否必填:是*/
|
||||||
|
private Integer effectiveMonitorNum;
|
||||||
|
/*月均超标天数 是否必填:否*/
|
||||||
|
private BigDecimal monthOvDays;
|
||||||
|
/*奇次谐波电压限值(%) 是否必填:是*/
|
||||||
|
private BigDecimal oddVoltLimit;
|
||||||
|
/*累计超标天数 是否必填:否*/
|
||||||
|
private Integer totalOvDays;
|
||||||
|
/*11次谐波电压95%概率值(%) 是否必填:否*/
|
||||||
|
private BigDecimal v11;
|
||||||
|
/*13次谐波电压95%概率值(%) 是否必填:否*/
|
||||||
|
private BigDecimal v13;
|
||||||
|
/*23次谐波电压95%概率值(%) 是否必填:否*/
|
||||||
|
private BigDecimal v23;
|
||||||
|
/*25次谐波电压95%概率值(%) 是否必填:否*/
|
||||||
|
private BigDecimal v25;
|
||||||
|
/*3次谐波电压95%概率值(%) 是否必填:否*/
|
||||||
|
private BigDecimal v3;
|
||||||
|
/*5次谐波电压95%概率值(%) 是否必填:否*/
|
||||||
|
private BigDecimal v5;
|
||||||
|
/*7次谐波电压95%概率值(%) 是否必填:否*/
|
||||||
|
private BigDecimal v7;
|
||||||
|
/*电压等级 是否必填:是*/
|
||||||
|
private String voltageLevel;
|
||||||
|
/*电压总谐波畸变率95%概率值统计值(%) 是否必填:否*/
|
||||||
|
private BigDecimal vthd;
|
||||||
|
/*电压总谐波畸变率95%概率值限值(%) 是否必填:是*/
|
||||||
|
private BigDecimal vthdLimit;
|
||||||
|
|
||||||
|
/*谐波电压超标天数 是否必填:否*/
|
||||||
|
private Integer harmvOvDay;
|
||||||
|
|
||||||
|
/*当年累计月数 是否必填:否*/
|
||||||
|
private Integer monthsCount;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -7,7 +7,7 @@ import lombok.AllArgsConstructor;
|
|||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.time.LocalDate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -26,7 +26,6 @@ import java.util.Date;
|
|||||||
@TableName(value = "r_operating_index_d")
|
@TableName(value = "r_operating_index_d")
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@Deprecated
|
|
||||||
public class ROperatingIndexDPO {
|
public class ROperatingIndexDPO {
|
||||||
/**
|
/**
|
||||||
* 单位ID
|
* 单位ID
|
||||||
@@ -38,7 +37,7 @@ public class ROperatingIndexDPO {
|
|||||||
* 时间
|
* 时间
|
||||||
*/
|
*/
|
||||||
@MppMultiId(value = "data_date")
|
@MppMultiId(value = "data_date")
|
||||||
private Date dataDate;
|
private LocalDate dataDate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 在运监测点数
|
* 在运监测点数
|
||||||
|
|||||||
@@ -0,0 +1,41 @@
|
|||||||
|
package com.njcn.harmonic.controller.majornetwork;
|
||||||
|
|
||||||
|
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||||
|
import com.njcn.common.pojo.enums.common.LogEnum;
|
||||||
|
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||||
|
import com.njcn.common.pojo.response.HttpResult;
|
||||||
|
import com.njcn.common.utils.HttpResultUtil;
|
||||||
|
import com.njcn.harmonic.service.majornetwork.StationDataQualityService;
|
||||||
|
import com.njcn.web.controller.BaseController;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Description:
|
||||||
|
* Date: 2023/12/6 15:50【需求编号】
|
||||||
|
*
|
||||||
|
* @author clam
|
||||||
|
* @version V1.0.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
@Api(tags = "上报电能质量换流站指标统计明细及统计数据接口")
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@RequestMapping("/StationDataQuality")
|
||||||
|
public class StationDataQualitySendController extends BaseController {
|
||||||
|
private final StationDataQualityService stationDataQualityService;
|
||||||
|
@PostMapping("/report")
|
||||||
|
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||||
|
@ApiOperation("上报电能质量换流站指标统计明细及统计数据接口")
|
||||||
|
public HttpResult<Boolean> report() {
|
||||||
|
String methodDescribe = getMethodDescribe("report");
|
||||||
|
|
||||||
|
boolean flag = stationDataQualityService.report();
|
||||||
|
|
||||||
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
package com.njcn.harmonic.service.majornetwork;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Description:
|
||||||
|
* Date: 2023/12/6 15:57【需求编号】
|
||||||
|
*
|
||||||
|
* @author clam
|
||||||
|
* @version V1.0.0
|
||||||
|
*/
|
||||||
|
public interface StationDataQualityService {
|
||||||
|
boolean report();
|
||||||
|
}
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
package com.njcn.harmonic.service.majornetwork.impl;
|
||||||
|
|
||||||
|
import com.njcn.device.pms.api.MonitorClient;
|
||||||
|
import com.njcn.device.pms.pojo.po.Monitor;
|
||||||
|
import com.njcn.harmonic.pojo.dto.SubstationQualityStatisticsDTO;
|
||||||
|
import com.njcn.harmonic.service.majornetwork.StationDataQualityService;
|
||||||
|
import com.njcn.user.api.DeptFeignClient;
|
||||||
|
import com.njcn.user.pojo.vo.PvTerminalTreeVO;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.function.Function;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Description:
|
||||||
|
* Date: 2023/12/6 15:57【需求编号】
|
||||||
|
*
|
||||||
|
* @author clam
|
||||||
|
* @version V1.0.0
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class StationDataQualityServiceImpl implements StationDataQualityService {
|
||||||
|
|
||||||
|
private final MonitorClient monitorClient;
|
||||||
|
private final DeptFeignClient deptFeignClient;
|
||||||
|
@Override
|
||||||
|
public boolean report() {
|
||||||
|
|
||||||
|
List<Monitor> data = monitorClient.getMonitorList(new ArrayList<>()).getData();
|
||||||
|
List<PvTerminalTreeVO> deptList = deptFeignClient.allDeptList().getData();
|
||||||
|
Map<String, PvTerminalTreeVO> mapCode = deptList.stream().collect(Collectors.toMap(PvTerminalTreeVO::getCode, Function.identity()));
|
||||||
|
Map<String, PvTerminalTreeVO> mapList = deptList.stream().collect(Collectors.toMap(PvTerminalTreeVO::getId, Function.identity()));
|
||||||
|
data.stream().forEach(temp->{
|
||||||
|
SubstationQualityStatisticsDTO substaticsDTO = new SubstationQualityStatisticsDTO();
|
||||||
|
substaticsDTO.setId("1");
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -80,7 +80,11 @@ public class OrgPointExecutor extends BaseExecutor{
|
|||||||
public void processOperatingIndexProcess(NodeComponent bindCmp) {
|
public void processOperatingIndexProcess(NodeComponent bindCmp) {
|
||||||
String tag = bindCmp.getTag();
|
String tag = bindCmp.getTag();
|
||||||
CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam = bindCmp.getRequestData();
|
CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam = bindCmp.getRequestData();
|
||||||
if (tag.equalsIgnoreCase("r_operating_index_m")) {
|
if (tag.equalsIgnoreCase("r_operating_index_d")) {
|
||||||
|
//日表
|
||||||
|
rOperatingIndexService.handleDay(calculatedParam);
|
||||||
|
}
|
||||||
|
else if (tag.equalsIgnoreCase("r_operating_index_m")) {
|
||||||
//日表
|
//日表
|
||||||
rOperatingIndexService.handleMonth(calculatedParam);
|
rOperatingIndexService.handleMonth(calculatedParam);
|
||||||
} else if (tag.equalsIgnoreCase("r_operating_index_q")) {
|
} else if (tag.equalsIgnoreCase("r_operating_index_q")) {
|
||||||
|
|||||||
@@ -1,13 +1,11 @@
|
|||||||
package com.njcn.prepare.harmonic.service.mysql.Impl.area;
|
package com.njcn.prepare.harmonic.service.mysql.Impl.area;
|
||||||
|
|
||||||
import cn.hutool.core.date.DatePattern;
|
import cn.hutool.core.date.DatePattern;
|
||||||
import cn.hutool.core.date.DateUtil;
|
|
||||||
import cn.hutool.core.date.LocalDateTimeUtil;
|
import cn.hutool.core.date.LocalDateTimeUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.njcn.common.pojo.exception.BusinessException;
|
import com.njcn.common.pojo.exception.BusinessException;
|
||||||
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
||||||
import com.njcn.device.biz.pojo.dto.LineDevGetDTO;
|
import com.njcn.device.biz.pojo.dto.LineDevGetDTO;
|
||||||
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
|
|
||||||
import com.njcn.device.pms.pojo.po.Monitor;
|
import com.njcn.device.pms.pojo.po.Monitor;
|
||||||
import com.njcn.harmonic.pojo.po.*;
|
import com.njcn.harmonic.pojo.po.*;
|
||||||
import com.njcn.prepare.harmonic.constant.AlgorithmParam;
|
import com.njcn.prepare.harmonic.constant.AlgorithmParam;
|
||||||
@@ -26,7 +24,6 @@ import com.njcn.system.enums.DicDataEnum;
|
|||||||
import com.njcn.system.enums.DicDataTypeEnum;
|
import com.njcn.system.enums.DicDataTypeEnum;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.SneakyThrows;
|
import lombok.SneakyThrows;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.scheduling.annotation.Async;
|
import org.springframework.scheduling.annotation.Async;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.util.CollectionUtils;
|
import org.springframework.util.CollectionUtils;
|
||||||
@@ -225,7 +222,8 @@ public class PrimaryGridDataServiceImpl implements PrimaryGridDataService {
|
|||||||
|
|
||||||
ROperatingIndexDPO rOperatingIndexDPO = new ROperatingIndexDPO();
|
ROperatingIndexDPO rOperatingIndexDPO = new ROperatingIndexDPO();
|
||||||
rOperatingIndexDPO.setOrgNo(orgid);
|
rOperatingIndexDPO.setOrgNo(orgid);
|
||||||
rOperatingIndexDPO.setDataDate(tempDate);
|
|
||||||
|
rOperatingIndexDPO.setDataDate(LocalDate.parse(primaryGridParam.getDataDate()));
|
||||||
rOperatingIndexDPO.setMeasurementRunPoints(measurement_run_points);
|
rOperatingIndexDPO.setMeasurementRunPoints(measurement_run_points);
|
||||||
rOperatingIndexDPO.setTransitMeasurementPoints(transit_measurement_points);
|
rOperatingIndexDPO.setTransitMeasurementPoints(transit_measurement_points);
|
||||||
rOperatingIndexDPO.setEffectiveAccessMeasurementCount(effective_access_measurement_count);
|
rOperatingIndexDPO.setEffectiveAccessMeasurementCount(effective_access_measurement_count);
|
||||||
@@ -397,7 +395,7 @@ public class PrimaryGridDataServiceImpl implements PrimaryGridDataService {
|
|||||||
|
|
||||||
ROperatingIndexDPO rOperatingIndexDPO = new ROperatingIndexDPO();
|
ROperatingIndexDPO rOperatingIndexDPO = new ROperatingIndexDPO();
|
||||||
rOperatingIndexDPO.setOrgNo(orgid);
|
rOperatingIndexDPO.setOrgNo(orgid);
|
||||||
rOperatingIndexDPO.setDataDate(tempDate);
|
rOperatingIndexDPO.setDataDate(LocalDate.parse(primaryGridParam.getDataDate()));
|
||||||
rOperatingIndexDPO.setMeasurementRunPoints(measurement_run_points);
|
rOperatingIndexDPO.setMeasurementRunPoints(measurement_run_points);
|
||||||
rOperatingIndexDPO.setTransitMeasurementPoints(transit_measurement_points);
|
rOperatingIndexDPO.setTransitMeasurementPoints(transit_measurement_points);
|
||||||
rOperatingIndexDPO.setEffectiveAccessMeasurementCount(effective_access_measurement_count);
|
rOperatingIndexDPO.setEffectiveAccessMeasurementCount(effective_access_measurement_count);
|
||||||
|
|||||||
@@ -20,4 +20,6 @@ public interface ROperatingIndexService {
|
|||||||
void handleQtr(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam);
|
void handleQtr(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam);
|
||||||
|
|
||||||
void handleYear(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam);
|
void handleYear(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam);
|
||||||
|
|
||||||
|
void handleDay(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import cn.hutool.core.date.LocalDateTimeUtil;
|
|||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
|
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
|
||||||
import com.njcn.device.biz.pojo.dto.LineDevGetDTO;
|
import com.njcn.device.biz.pojo.dto.LineDevGetDTO;
|
||||||
|
import com.njcn.harmonic.pojo.po.ROperatingIndexDPO;
|
||||||
import com.njcn.harmonic.pojo.po.ROperatingIndexMPO;
|
import com.njcn.harmonic.pojo.po.ROperatingIndexMPO;
|
||||||
import com.njcn.harmonic.pojo.po.ROperatingIndexQPO;
|
import com.njcn.harmonic.pojo.po.ROperatingIndexQPO;
|
||||||
import com.njcn.harmonic.pojo.po.ROperatingIndexYPO;
|
import com.njcn.harmonic.pojo.po.ROperatingIndexYPO;
|
||||||
@@ -16,6 +17,7 @@ import com.njcn.prepare.harmonic.pojo.mysql.ROperatingMonitorMPO;
|
|||||||
import com.njcn.prepare.harmonic.pojo.po.RDnOperatingIndexMPO;
|
import com.njcn.prepare.harmonic.pojo.po.RDnOperatingIndexMPO;
|
||||||
import com.njcn.prepare.harmonic.pojo.po.RDnOperatingQPO;
|
import com.njcn.prepare.harmonic.pojo.po.RDnOperatingQPO;
|
||||||
import com.njcn.prepare.harmonic.pojo.po.RDnOperatingYPO;
|
import com.njcn.prepare.harmonic.pojo.po.RDnOperatingYPO;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.area.ROperatingIndexDPOService;
|
||||||
import com.njcn.prepare.harmonic.service.mysql.area.ROperatingIndexMPOService;
|
import com.njcn.prepare.harmonic.service.mysql.area.ROperatingIndexMPOService;
|
||||||
import com.njcn.prepare.harmonic.service.mysql.area.ROperatingIndexQPOService;
|
import com.njcn.prepare.harmonic.service.mysql.area.ROperatingIndexQPOService;
|
||||||
import com.njcn.prepare.harmonic.service.mysql.area.ROperatingIndexYPOService;
|
import com.njcn.prepare.harmonic.service.mysql.area.ROperatingIndexYPOService;
|
||||||
@@ -57,6 +59,7 @@ public class ROperatingIndexServiceImpl implements ROperatingIndexService {
|
|||||||
private final ROperatingMonitorService rOperatingMonitorDService;
|
private final ROperatingMonitorService rOperatingMonitorDService;
|
||||||
private final ROperatingMonitorMService rOperatingMonitorMService;
|
private final ROperatingMonitorMService rOperatingMonitorMService;
|
||||||
|
|
||||||
|
private final ROperatingIndexDPOService rOperatingIndexDPOService;
|
||||||
private final ROperatingIndexMPOService rOperatingIndexMPOService;
|
private final ROperatingIndexMPOService rOperatingIndexMPOService;
|
||||||
private final ROperatingIndexQPOService rOperatingIndexQPOService;
|
private final ROperatingIndexQPOService rOperatingIndexQPOService;
|
||||||
private final ROperatingIndexYPOService rOperatingIndexYPOService;
|
private final ROperatingIndexYPOService rOperatingIndexYPOService;
|
||||||
@@ -514,6 +517,131 @@ public class ROperatingIndexServiceImpl implements ROperatingIndexService {
|
|||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void handleDay(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam) {
|
||||||
|
List<ROperatingIndexDPO> rdnOperatingIndexDPOList = new ArrayList<>();
|
||||||
|
QueryWrapper<ROperatingMonitorDPO> queryWrapperD = new QueryWrapper<>();
|
||||||
|
DateTime begin = DateUtil.beginOfDay(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||||
|
DateTime end = DateUtil.endOfDay(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||||
|
LocalDate localDate = LocalDateTimeUtil.parseDate( DateUtil.format(begin, DatePattern.NORM_DATE_PATTERN), DatePattern.NORM_DATE_PATTERN); /*获取监测点类型类型*/
|
||||||
|
/*获取监测点类型类型*/
|
||||||
|
|
||||||
|
List<DictData> lineSortList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.LINE_SORT.getCode()).getData();
|
||||||
|
Map<String, DictData> lineSortMap = lineSortList.stream().collect(Collectors.toMap(DictData::getCode, dictData -> dictData));
|
||||||
|
|
||||||
|
|
||||||
|
for (DeptGetChildrenMoreDTO deptGetChildrenMoreDTO : calculatedParam.getIdList()) {
|
||||||
|
if (!CollectionUtils.isEmpty(deptGetChildrenMoreDTO.getLineBaseList())) {
|
||||||
|
List<String> collect = deptGetChildrenMoreDTO.getLineBaseList().stream().map(LineDevGetDTO::getPointId).collect(Collectors.toList());
|
||||||
|
queryWrapperD.clear();
|
||||||
|
queryWrapperD.in("measurement_point_id", collect).
|
||||||
|
between("data_date",begin,end);
|
||||||
|
|
||||||
|
|
||||||
|
List<ROperatingMonitorDPO> rOperatingMonitorDPOList = rOperatingMonitorDService.list(queryWrapperD);
|
||||||
|
ROperatingIndexDPO rOperatingIndexDPO = new ROperatingIndexDPO();
|
||||||
|
rOperatingIndexDPO.setOrgNo(deptGetChildrenMoreDTO.getUnitId());
|
||||||
|
rOperatingIndexDPO.setDataDate(localDate);
|
||||||
|
List<String> collect1 = rOperatingMonitorDPOList.stream().filter(temp -> temp.getEffectiveMinuteCount() > 1).
|
||||||
|
map(ROperatingMonitorDPO::getMeasurementPointId).distinct().collect(Collectors.toList());
|
||||||
|
|
||||||
|
List<ROperatingMonitorDPO> monitorList = rOperatingMonitorDPOList.stream().filter(temp -> temp.getEffectiveMinuteCount() > 1).collect(Collectors.toList());
|
||||||
|
|
||||||
|
List<String> collect2 = rOperatingMonitorDPOList.stream().filter(temp -> temp.getDataIntegrityRate().doubleValue() > 0.95 && temp.getIsUnusual() == 1).
|
||||||
|
map(ROperatingMonitorDPO::getMeasurementPointId).distinct().collect(Collectors.toList());
|
||||||
|
|
||||||
|
Map<String, List<ROperatingMonitorDPO>> collect3 = rOperatingMonitorDPOList.stream().collect(Collectors.groupingBy(ROperatingMonitorDPO::getDevId));
|
||||||
|
|
||||||
|
Map<String, List<ROperatingMonitorDPO>> collect4 = monitorList.stream().collect(Collectors.groupingBy(ROperatingMonitorDPO::getDevId));
|
||||||
|
|
||||||
|
rOperatingIndexDPO.setEffectiveAccessMeasurementCount(collect2.size());
|
||||||
|
rOperatingIndexDPO.setMeasurementRunPoints(collect.size());
|
||||||
|
rOperatingIndexDPO.setOnlineMeasurementCount(collect4.size());
|
||||||
|
rOperatingIndexDPO.setTransitMeasurementPoints(collect1.size());
|
||||||
|
rOperatingIndexDPO.setOnlineMeasurementPoints(collect3.size());
|
||||||
|
// rOperatingIndexMPO.setShouldCount();
|
||||||
|
|
||||||
|
List<String> collect5 = rOperatingMonitorDPOList.stream().filter(temp -> temp.getIsUnusual() == 0).map(ROperatingMonitorDPO::getMeasurementPointId).distinct().collect(Collectors.toList());
|
||||||
|
|
||||||
|
|
||||||
|
double v = rOperatingMonitorDPOList.stream().mapToDouble(temp -> {
|
||||||
|
return temp.getIndexIntegrityRate().doubleValue();
|
||||||
|
}).average().orElse(0.0);
|
||||||
|
double v1 = rOperatingMonitorDPOList.stream().mapToDouble(temp -> {
|
||||||
|
return temp.getDataRightRate().doubleValue();
|
||||||
|
}).average().orElse(0.0);
|
||||||
|
double v2 = rOperatingMonitorDPOList.stream().mapToDouble(temp -> {
|
||||||
|
return temp.getDataIntegrityRate().doubleValue();
|
||||||
|
}).average().orElse(0.0);
|
||||||
|
rOperatingIndexDPO.setIndexIntegrityRate(v);
|
||||||
|
rOperatingIndexDPO.setDataIntegrityRate(v2);
|
||||||
|
rOperatingIndexDPO.setIsUnusual(collect5.size());
|
||||||
|
rOperatingIndexDPO.setDataRightRate(v1);
|
||||||
|
rdnOperatingIndexDPOList.add(rOperatingIndexDPO);
|
||||||
|
|
||||||
|
}
|
||||||
|
// if (!CollectionUtils.isEmpty(deptGetChildrenMoreDTO.getPwMonitorIds())) {
|
||||||
|
// if (!CollectionUtils.isEmpty(deptGetChildrenMoreDTO.getPwMonitorIds())) {
|
||||||
|
// Map<Integer, List<LineDevGetDTO>> collect3 = deptGetChildrenMoreDTO.getPwMonitorIds().stream().collect(Collectors.groupingBy(LineDevGetDTO::getLineType));
|
||||||
|
//
|
||||||
|
// collect3.forEach((k,v)->{
|
||||||
|
// List<String> collect = v.stream().map(LineDevGetDTO::getPointId).collect(Collectors.toList());
|
||||||
|
// queryWrapperD.clear();
|
||||||
|
// queryWrapperD.in("measurement_point_id", collect).
|
||||||
|
// between("data_date",begin,end);
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// List<ROperatingMonitorDPO> rOperatingMonitorDPOList = rOperatingMonitorDService.list(queryWrapperD);
|
||||||
|
// ROperatingIndexDPO rOperatingIndexDPO = new ROperatingIndexDPO();
|
||||||
|
// rOperatingIndexDPO.setOrgNo(deptGetChildrenMoreDTO.getUnitId());
|
||||||
|
// rOperatingIndexDPO.setDataDate(localDate);
|
||||||
|
// List<String> collect1 = rOperatingMonitorDPOList.stream().filter(temp -> temp.getEffectiveMinuteCount() > 1).
|
||||||
|
// map(ROperatingMonitorDPO::getMeasurementPointId).distinct().collect(Collectors.toList());
|
||||||
|
//
|
||||||
|
// List<ROperatingMonitorDPO> monitorList = rOperatingMonitorDPOList.stream().filter(temp -> temp.getEffectiveMinuteCount() > 1).collect(Collectors.toList());
|
||||||
|
//
|
||||||
|
// List<String> collect2 = rOperatingMonitorDPOList.stream().filter(temp -> temp.getDataIntegrityRate().doubleValue() > 0.95 && temp.getIsUnusual() == 1).
|
||||||
|
// map(ROperatingMonitorDPO::getMeasurementPointId).distinct().collect(Collectors.toList());
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// rOperatingIndexDPO.setEffectiveAccessMeasurementCount(collect2.size());
|
||||||
|
// rOperatingIndexDPO.setMeasurementRunPoints(collect.size());
|
||||||
|
// rOperatingIndexDPO.setTransitMeasurementPoints(collect1.size());
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// List<String> collect5 = rOperatingMonitorDPOList.stream().filter(temp -> temp.getIsUnusual() == 0).map(ROperatingMonitorDPO::getMeasurementPointId).distinct().collect(Collectors.toList());
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// double integrity = rOperatingMonitorDPOList.stream().mapToDouble(temp -> {
|
||||||
|
// return temp.getIndexIntegrityRate().doubleValue();
|
||||||
|
// }).average().orElse(0.0);
|
||||||
|
// double v1 = rOperatingMonitorDPOList.stream().mapToDouble(temp -> {
|
||||||
|
// return temp.getDataRightRate().doubleValue();
|
||||||
|
// }).average().orElse(0.0);
|
||||||
|
// double v2 = rOperatingMonitorDPOList.stream().mapToDouble(temp -> {
|
||||||
|
// return temp.getDataIntegrityRate().doubleValue();
|
||||||
|
// }).average().orElse(0.0);
|
||||||
|
// rOperatingIndexDPO.setIndexIntegrityRate(integrity);
|
||||||
|
// rOperatingIndexDPO.setDataIntegrityRate(v2);
|
||||||
|
// rOperatingIndexDPO.setIsUnusual(collect5.size());
|
||||||
|
// rOperatingIndexDPO.setDataRightRate(v1);
|
||||||
|
// rdnOperatingIndexMPOList.add(rDnOperatingIndexMPO);
|
||||||
|
// });
|
||||||
|
//
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (!CollectionUtils.isEmpty(rdnOperatingIndexDPOList)){
|
||||||
|
rOperatingIndexDPOService.saveOrUpdateBatchByMultiId(rdnOperatingIndexDPOList);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@Deprecated
|
@Deprecated
|
||||||
private void hanlderYear(List<DeptGetChildrenMoreDTO> data, String dataDate, Integer type) {
|
private void hanlderYear(List<DeptGetChildrenMoreDTO> data, String dataDate, Integer type) {
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user