算法提交
This commit is contained in:
@@ -9,6 +9,7 @@ import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
@@ -34,7 +35,7 @@ public class RMpPollutionDPO implements Serializable {
|
||||
* 单位id
|
||||
*/
|
||||
@TableField(value = "line_id")
|
||||
@ApiModelProperty(value = "单位id")
|
||||
@ApiModelProperty(value = "监测点")
|
||||
private String lineId;
|
||||
|
||||
/**
|
||||
@@ -42,7 +43,7 @@ public class RMpPollutionDPO implements Serializable {
|
||||
*/
|
||||
@TableField(value = "data_date")
|
||||
@ApiModelProperty(value = "时间")
|
||||
private Date dataDate;
|
||||
private LocalDate dataDate;
|
||||
|
||||
/**
|
||||
* 污区图统计类型
|
||||
|
||||
@@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
|
||||
import lombok.Data;
|
||||
import org.apache.tomcat.jni.Local;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
@@ -33,7 +35,7 @@ public class RStatOrgDPO {
|
||||
* 生成数据的时间,每天统计一次
|
||||
*/
|
||||
@MppMultiId(value = "data_date")
|
||||
private Date dataDate;
|
||||
private LocalDate dataDate;
|
||||
|
||||
/**
|
||||
* 监测点类别ID、监测对象类型ID
|
||||
|
||||
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
@@ -38,7 +39,7 @@ public class RStatOrgMPO {
|
||||
* 生成数据的时间,每月统计一次
|
||||
*/
|
||||
@MppMultiId(value = "data_date")
|
||||
private Date dataDate;
|
||||
private LocalDate dataDate;
|
||||
|
||||
/**
|
||||
* 监测点类别ID、监测对象类型ID
|
||||
|
||||
@@ -9,6 +9,7 @@ import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
@@ -42,7 +43,7 @@ public class RStatPollutionOrgDPO implements Serializable {
|
||||
*/
|
||||
@TableField(value = "data_date")
|
||||
@ApiModelProperty(value="时间")
|
||||
private Date dataDate;
|
||||
private LocalDate dataDate;
|
||||
|
||||
/**
|
||||
* 污区图统计类型
|
||||
|
||||
@@ -9,6 +9,7 @@ import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
@@ -42,7 +43,7 @@ public class RStatPollutionOrgMPO implements Serializable {
|
||||
*/
|
||||
@TableField(value = "data_date")
|
||||
@ApiModelProperty(value="时间")
|
||||
private Date dataDate;
|
||||
private LocalDate dataDate;
|
||||
|
||||
/**
|
||||
* 污区图统计类型
|
||||
|
||||
@@ -9,6 +9,7 @@ import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
@@ -42,7 +43,7 @@ public class RStatPollutionOrgQPO implements Serializable {
|
||||
*/
|
||||
@TableField(value = "data_date")
|
||||
@ApiModelProperty(value="时间")
|
||||
private Date dataDate;
|
||||
private LocalDate dataDate;
|
||||
|
||||
/**
|
||||
* 污区图统计类型
|
||||
|
||||
@@ -9,6 +9,7 @@ import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
@@ -42,7 +43,7 @@ public class RStatPollutionOrgYPO implements Serializable {
|
||||
*/
|
||||
@TableField(value = "data_date")
|
||||
@ApiModelProperty(value="时间")
|
||||
private Date dataDate;
|
||||
private LocalDate dataDate;
|
||||
|
||||
/**
|
||||
* 污区图统计类型
|
||||
|
||||
@@ -9,6 +9,7 @@ import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
@@ -42,7 +43,7 @@ public class RStatPollutionSubstationDPO implements Serializable {
|
||||
*/
|
||||
@TableField(value = "data_date")
|
||||
@ApiModelProperty(value="时间")
|
||||
private Date dataDate;
|
||||
private LocalDate dataDate;
|
||||
|
||||
/**
|
||||
* 污区图统计类型
|
||||
|
||||
@@ -9,6 +9,7 @@ import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
@@ -42,7 +43,7 @@ public class RStatPollutionSubstationM implements Serializable {
|
||||
*/
|
||||
@TableField(value = "data_date")
|
||||
@ApiModelProperty(value = "时间")
|
||||
private Date dataDate;
|
||||
private LocalDate dataDate;
|
||||
|
||||
/**
|
||||
* 污区图统计类型
|
||||
|
||||
@@ -9,6 +9,7 @@ import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
@@ -42,7 +43,7 @@ public class RStatPollutionSubstationQPO implements Serializable {
|
||||
*/
|
||||
@TableField(value = "data_date")
|
||||
@ApiModelProperty(value="时间")
|
||||
private Date dataDate;
|
||||
private LocalDate dataDate;
|
||||
|
||||
/**
|
||||
* 污区图统计类型
|
||||
|
||||
@@ -9,6 +9,7 @@ import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
@@ -42,7 +43,7 @@ public class RStatPollutionSubstationYPO implements Serializable {
|
||||
*/
|
||||
@TableField(value = "data_date")
|
||||
@ApiModelProperty(value="时间")
|
||||
private Date dataDate;
|
||||
private LocalDate dataDate;
|
||||
|
||||
/**
|
||||
* 污区图统计类型
|
||||
|
||||
@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
|
||||
@@ -30,7 +32,7 @@ public class RStatOrgQPO {
|
||||
* 生成数据的时间,每季统计一次
|
||||
*/
|
||||
@MppMultiId(value = "data_date")
|
||||
private Date dataDate;
|
||||
private LocalDate dataDate;
|
||||
|
||||
/**
|
||||
* 监测点类别ID、监测对象类型ID
|
||||
|
||||
@@ -2,6 +2,8 @@ package com.njcn.prepare.harmonic.pojo.mysql.po;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
|
||||
@@ -28,7 +30,7 @@ public class RStatOrgYPO {
|
||||
* 生成数据的时间,每年统计一次
|
||||
*/
|
||||
@MppMultiId(value = "data_date")
|
||||
private Date dataDate;
|
||||
private LocalDate dataDate;
|
||||
|
||||
/**
|
||||
* 监测点类别ID、监测对象类型ID
|
||||
|
||||
@@ -16,6 +16,8 @@ import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.common.utils.HttpResultUtil;
|
||||
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetSubStationDTO;
|
||||
import com.njcn.device.biz.pojo.dto.LineDevGetDTO;
|
||||
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
|
||||
import com.njcn.prepare.bo.BaseParam;
|
||||
import com.njcn.prepare.bo.CalculatedParam;
|
||||
@@ -34,7 +36,7 @@ import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
@@ -43,10 +45,7 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -191,4 +190,51 @@ public class ExecutionCenter extends BaseController {
|
||||
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@ApiOperation("变电站算法执行链")
|
||||
@PostMapping("/substationExecutor")
|
||||
public void substationExecutor(@RequestBody BaseParam baseParam) {
|
||||
String methodDescribe = getMethodDescribe("substationExecutor");
|
||||
//手动判断参数是否合法,
|
||||
CalculatedParam<String> calculatedParam = judgeExecuteParam(baseParam);
|
||||
// 测点索引
|
||||
DeptGetLineParam deptGetLineParam = new DeptGetLineParam();
|
||||
|
||||
if (CollectionUtils.isEmpty(calculatedParam.getIdList())) {
|
||||
Dept data = deptFeignClient.getRootDept().getData();
|
||||
deptGetLineParam.setDeptId(data.getId());
|
||||
List<DeptGetSubStationDTO> data1 = commTerminalGeneralClient.deptSubStation(deptGetLineParam).getData();
|
||||
List<String> stationIds = new ArrayList<>();
|
||||
for (DeptGetSubStationDTO deptGetSubStationDTO : data1) {
|
||||
Collection<String> union = CollectionUtils.union(Optional.ofNullable(deptGetSubStationDTO.getStationIds()).orElse(new ArrayList<String>()),
|
||||
Optional.ofNullable(deptGetSubStationDTO.getStationIds()).orElse(new ArrayList<String>()));
|
||||
List<String> collect = union.stream().distinct().collect(Collectors.toList());
|
||||
stationIds.addAll(collect);
|
||||
}
|
||||
stationIds = stationIds.stream().distinct().collect(Collectors.toList());
|
||||
calculatedParam.setIdList(stationIds);
|
||||
}
|
||||
LiteflowResponse liteflowResponse;
|
||||
if (baseParam.isRepair()) {
|
||||
//补招时,起始日期、截止日期必填
|
||||
DateTime startDate = DateUtil.parse(baseParam.getBeginTime(), DatePattern.NORM_DATE_FORMAT);
|
||||
DateTime endDate = DateUtil.parse(baseParam.getEndTime(), DatePattern.NORM_DATE_FORMAT);
|
||||
long betweenDay = DateUtil.betweenDay(startDate, endDate, true);
|
||||
//递增日期执行算法链
|
||||
for (int i = 0; i < betweenDay; i++) {
|
||||
if (i != 0) {
|
||||
startDate = DateUtil.offsetDay(startDate, 1);
|
||||
}
|
||||
calculatedParam.setDataDate(DateUtil.format(startDate, DatePattern.NORM_DATE_PATTERN));
|
||||
liteflowResponse = flowExecutor.execute2Resp("sub_station", calculatedParam);
|
||||
dealResponse(calculatedParam, liteflowResponse, methodDescribe);
|
||||
}
|
||||
} else {
|
||||
//非补招
|
||||
liteflowResponse = flowExecutor.execute2Resp("sub_station", calculatedParam);
|
||||
dealResponse(calculatedParam, liteflowResponse, methodDescribe);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -3,6 +3,10 @@ package com.njcn.prepare.executor;
|
||||
import com.njcn.prepare.bo.CalculatedParam;
|
||||
import com.njcn.prepare.harmonic.service.mysql.area.IRMpMonitorAlarmCountMService;
|
||||
import com.njcn.prepare.harmonic.service.mysql.area.RMpTargetWarnDService;
|
||||
import com.njcn.prepare.harmonic.service.mysql.line.DayDataService;
|
||||
import com.njcn.prepare.harmonic.service.mysql.line.RMpEventDetailDService;
|
||||
import com.njcn.prepare.harmonic.service.mysql.line.RMpEventDetailService;
|
||||
import com.njcn.prepare.harmonic.service.mysql.line.RMpMonitorEvaluateDService;
|
||||
import com.njcn.prepare.harmonic.service.mysql.line.*;
|
||||
import com.yomahub.liteflow.annotation.LiteflowComponent;
|
||||
import com.yomahub.liteflow.annotation.LiteflowMethod;
|
||||
@@ -44,6 +48,7 @@ public class MeasurementExecutor extends BaseExecutor {
|
||||
private final RMpTargetWarnDService rMpTargetWarnDService;
|
||||
private final IRMpMonitorAlarmCountMService rMpMonitorAlarmCountMService;
|
||||
|
||||
private final PollutionService pollutionService;
|
||||
|
||||
/**
|
||||
* 算法名: 3.3.1.1-----监测点评价
|
||||
@@ -162,6 +167,22 @@ public class MeasurementExecutor extends BaseExecutor {
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* 3.4.1.12. 监测点污区图(新增)
|
||||
*
|
||||
* */
|
||||
@LiteflowMethod(value = LiteFlowMethodEnum.IS_ACCESS, nodeId = "rMpPollutionD", nodeType = NodeTypeEnum.COMMON)
|
||||
public boolean processRMpPollutionDEvaluateAccess(NodeComponent bindCmp) {
|
||||
return isAccess(bindCmp);
|
||||
}
|
||||
@LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "rMpPollutionD", nodeType = NodeTypeEnum.COMMON)
|
||||
public void processRMpPollutionDEvaluateProcess(NodeComponent bindCmp) {
|
||||
CalculatedParam calculatedParam = bindCmp.getRequestData();
|
||||
|
||||
pollutionService.handleDay(calculatedParam);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/********************************************算法负责人:xy***********************************************************/
|
||||
/**
|
||||
|
||||
@@ -2,6 +2,8 @@ package com.njcn.prepare.executor;
|
||||
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
|
||||
import com.njcn.prepare.bo.CalculatedParam;
|
||||
import com.njcn.prepare.harmonic.service.mysql.area.RStatOrgService;
|
||||
import com.njcn.prepare.harmonic.service.mysql.line.PollutionService;
|
||||
import com.njcn.prepare.harmonic.service.mysql.newalgorithm.ROperatingIndexService;
|
||||
import com.yomahub.liteflow.annotation.LiteflowComponent;
|
||||
import com.yomahub.liteflow.annotation.LiteflowMethod;
|
||||
@@ -22,6 +24,9 @@ import lombok.RequiredArgsConstructor;
|
||||
public class OrgPointExecutor extends BaseExecutor{
|
||||
|
||||
private final ROperatingIndexService rOperatingIndexService;
|
||||
private final RStatOrgService rStatOrgService;
|
||||
|
||||
private final PollutionService pollutionService;
|
||||
|
||||
|
||||
/**
|
||||
@@ -54,4 +59,77 @@ public class OrgPointExecutor extends BaseExecutor{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* 3.4.2. 单位监测点统计
|
||||
*/
|
||||
|
||||
@LiteflowMethod(value = LiteFlowMethodEnum.IS_ACCESS, nodeId = "rStatOrg", nodeType = NodeTypeEnum.COMMON)
|
||||
public boolean processRStatOrgAccess(NodeComponent bindCmp) {
|
||||
return isAccess(bindCmp);
|
||||
}
|
||||
@LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "rStatOrg", nodeType = NodeTypeEnum.COMMON)
|
||||
public void processRStatOrgProcess(NodeComponent bindCmp) {
|
||||
String tag = bindCmp.getTag();
|
||||
CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam = bindCmp.getRequestData();
|
||||
if (tag.equalsIgnoreCase("r_stat_org_d")) {
|
||||
//日表
|
||||
rStatOrgService.handleDay(calculatedParam);
|
||||
} else if (tag.equalsIgnoreCase("r_stat_org_m")) {
|
||||
//数据补招不执行非日表算法
|
||||
if (!calculatedParam.isRepair()) {
|
||||
//月表
|
||||
rStatOrgService.handleMonth(calculatedParam);
|
||||
}
|
||||
}else if (tag.equalsIgnoreCase("r_stat_org_q")) {
|
||||
//数据补招不执行非日表算法
|
||||
if (!calculatedParam.isRepair()) {
|
||||
//季表
|
||||
rStatOrgService.handleQtr(calculatedParam);
|
||||
}
|
||||
}else if (tag.equalsIgnoreCase("r_stat_org_y")) {
|
||||
//数据补招不执行非日表算法
|
||||
if (!calculatedParam.isRepair()) {
|
||||
//年表
|
||||
rStatOrgService.handleYear(calculatedParam);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 3.4.16. 单位污区图统计(新增)
|
||||
*
|
||||
*/
|
||||
@LiteflowMethod(value = LiteFlowMethodEnum.IS_ACCESS, nodeId = "rStatPollutionOrg", nodeType = NodeTypeEnum.COMMON)
|
||||
public boolean processRStatPollutionOrgAccess(NodeComponent bindCmp) {
|
||||
return isAccess(bindCmp);
|
||||
}
|
||||
@LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "rStatPollutionOrg", nodeType = NodeTypeEnum.COMMON)
|
||||
public void processRStatPollutionOrgProcess(NodeComponent bindCmp) {
|
||||
String tag = bindCmp.getTag();
|
||||
CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam = bindCmp.getRequestData();
|
||||
if (tag.equalsIgnoreCase("r_stat_pollution_org_d")) {
|
||||
//日表
|
||||
pollutionService.handleOrgDay(calculatedParam);
|
||||
} else if (tag.equalsIgnoreCase("r_stat_pollution_org_m")) {
|
||||
//数据补招不执行非日表算法
|
||||
if (!calculatedParam.isRepair()) {
|
||||
//月表
|
||||
pollutionService.handleOrgMonth(calculatedParam);
|
||||
}
|
||||
}else if (tag.equalsIgnoreCase("r_stat_pollution_org_q")) {
|
||||
//数据补招不执行非日表算法
|
||||
if (!calculatedParam.isRepair()) {
|
||||
//季表
|
||||
pollutionService.handleOrgQtr(calculatedParam);
|
||||
}
|
||||
}else if (tag.equalsIgnoreCase("r_stat_pollution_org_y")) {
|
||||
//数据补招不执行非日表算法
|
||||
if (!calculatedParam.isRepair()) {
|
||||
//年表
|
||||
pollutionService.handleOrgYear(calculatedParam);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,65 @@
|
||||
package com.njcn.prepare.executor;
|
||||
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetSubStationDTO;
|
||||
import com.njcn.prepare.bo.CalculatedParam;
|
||||
import com.njcn.prepare.harmonic.service.mysql.area.RStatOrgService;
|
||||
import com.njcn.prepare.harmonic.service.mysql.line.PollutionService;
|
||||
import com.njcn.prepare.harmonic.service.mysql.newalgorithm.ROperatingIndexService;
|
||||
import com.yomahub.liteflow.annotation.LiteflowComponent;
|
||||
import com.yomahub.liteflow.annotation.LiteflowMethod;
|
||||
import com.yomahub.liteflow.core.NodeComponent;
|
||||
import com.yomahub.liteflow.enums.LiteFlowMethodEnum;
|
||||
import com.yomahub.liteflow.enums.NodeTypeEnum;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* Date: 2023/11/10 10:39【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@LiteflowComponent
|
||||
@RequiredArgsConstructor
|
||||
public class SubStationExecutor extends BaseExecutor{
|
||||
|
||||
private final PollutionService pollutionService;
|
||||
|
||||
|
||||
/**
|
||||
* 3.4.15. 变电站污区图统计(新增)
|
||||
*
|
||||
*/
|
||||
@LiteflowMethod(value = LiteFlowMethodEnum.IS_ACCESS, nodeId = "rStatPollutionSubstation", nodeType = NodeTypeEnum.COMMON)
|
||||
public boolean processRStatPollutionSubstationAccess(NodeComponent bindCmp) {
|
||||
return isAccess(bindCmp);
|
||||
}
|
||||
@LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "rStatPollutionSubstation", nodeType = NodeTypeEnum.COMMON)
|
||||
public void processRStatPollutionSubstationProcess(NodeComponent bindCmp) {
|
||||
String tag = bindCmp.getTag();
|
||||
CalculatedParam<String> calculatedParam = bindCmp.getRequestData();
|
||||
if (tag.equalsIgnoreCase("r_stat_pollution_substation_d")) {
|
||||
//日表
|
||||
pollutionService.handleSubstationDay(calculatedParam);
|
||||
} else if (tag.equalsIgnoreCase("r_stat_pollution_substation_m")) {
|
||||
//数据补招不执行非日表算法
|
||||
if (!calculatedParam.isRepair()) {
|
||||
//月表
|
||||
pollutionService.handleSubstationMonth(calculatedParam);
|
||||
}
|
||||
}else if (tag.equalsIgnoreCase("r_stat_pollution_substation_q")) {
|
||||
//数据补招不执行非日表算法
|
||||
if (!calculatedParam.isRepair()) {
|
||||
//季表
|
||||
pollutionService.handleSubstationQtr(calculatedParam);
|
||||
}
|
||||
}else if (tag.equalsIgnoreCase("r_stat_pollution_substation_y")) {
|
||||
//数据补招不执行非日表算法
|
||||
if (!calculatedParam.isRepair()) {
|
||||
//年表
|
||||
pollutionService.handleSubstationYear(calculatedParam);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -40,6 +40,7 @@ import java.util.stream.Collectors;
|
||||
@RestController
|
||||
@RequestMapping("AreaCount")
|
||||
@RequiredArgsConstructor
|
||||
@Deprecated
|
||||
public class AreaCountController extends BaseController {
|
||||
|
||||
private final DeptFeignClient deptFeignClient;
|
||||
|
||||
@@ -37,6 +37,7 @@ import java.util.List;
|
||||
@RestController
|
||||
@RequestMapping("/pollution")
|
||||
@RequiredArgsConstructor
|
||||
@Deprecated
|
||||
public class PollutionController extends BaseController {
|
||||
|
||||
private final PollutionService pollutionService;
|
||||
|
||||
@@ -26,6 +26,7 @@ import org.springframework.util.StringUtils;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.LocalDate;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@@ -41,6 +42,7 @@ import static com.njcn.system.pojo.constant.DicDataConstant.SPLIT_SIGN;
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Service
|
||||
@Deprecated
|
||||
public class AreaCountServiceImpl implements AreaCountService {
|
||||
|
||||
|
||||
@@ -155,7 +157,7 @@ public class AreaCountServiceImpl implements AreaCountService {
|
||||
RStatOrgMPO rStatOrgMPO = new RStatOrgMPO ( );
|
||||
rStatOrgMPO.setOrgNo (orgid);
|
||||
rStatOrgMPO.setMeasurementTypeClass (entry.getKey ( ));
|
||||
rStatOrgMPO.setDataDate (tempDate);
|
||||
rStatOrgMPO.setDataDate (LocalDate.parse(dataDate));
|
||||
rStatOrgMPO.setDataType ("01");
|
||||
rStatOrgMPO.setHarmonicMeasurementAccrued (integer);
|
||||
rStatOrgMPOList.add (rStatOrgMPO);
|
||||
@@ -220,7 +222,7 @@ public class AreaCountServiceImpl implements AreaCountService {
|
||||
RStatOrgDPO rStatOrgDPO = new RStatOrgDPO ( );
|
||||
rStatOrgDPO.setOrgNo (orgid);
|
||||
rStatOrgDPO.setMeasurementTypeClass (entry.getKey ( ));
|
||||
rStatOrgDPO.setDataDate (tempDate);
|
||||
rStatOrgDPO.setDataDate (LocalDate.parse(dataDate));
|
||||
rStatOrgDPO.setDataType ("01");
|
||||
rStatOrgDPO.setEffectiveMeasurement (integer);
|
||||
rStatOrgDPOList.add (rStatOrgDPO);
|
||||
@@ -254,7 +256,7 @@ public class AreaCountServiceImpl implements AreaCountService {
|
||||
Integer integer = rMpTargetWarnDService.queryHarmonicMeasurementAccrued (monitorIdList, dataDate);
|
||||
rStatOrgMPO.setOrgNo (orgid);
|
||||
rStatOrgMPO.setMeasurementTypeClass (lineTypeId);
|
||||
rStatOrgMPO.setDataDate (tempDate);
|
||||
rStatOrgMPO.setDataDate (LocalDate.parse(dataDate));
|
||||
rStatOrgMPO.setDataType ("02");
|
||||
rStatOrgMPO.setHarmonicMeasurementAccrued (integer);
|
||||
return rStatOrgMPO;
|
||||
@@ -278,7 +280,7 @@ public class AreaCountServiceImpl implements AreaCountService {
|
||||
Integer integer = this.queryEffectiveAccessMeasurementCount (monitorIdList, dataDate);
|
||||
rStatOrgDPO.setOrgNo (orgid);
|
||||
rStatOrgDPO.setMeasurementTypeClass (lineTypeId);
|
||||
rStatOrgDPO.setDataDate (tempDate);
|
||||
rStatOrgDPO.setDataDate (LocalDate.parse(dataDate));
|
||||
rStatOrgDPO.setDataType ("02");
|
||||
rStatOrgDPO.setEffectiveMeasurement (integer);
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,9 +1,7 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.Impl.line;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.date.LocalDateTimeUtil;
|
||||
import cn.hutool.core.date.TimeInterval;
|
||||
import cn.hutool.core.date.*;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
@@ -12,13 +10,14 @@ import com.njcn.common.pojo.constant.ServerInfo;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.common.utils.LogUtil;
|
||||
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenDTO;
|
||||
import com.njcn.device.biz.pojo.dto.*;
|
||||
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
|
||||
import com.njcn.device.pq.api.LineFeignClient;
|
||||
import com.njcn.device.biz.pojo.po.Overlimit;
|
||||
import com.njcn.harmonic.pojo.dto.PublicDTO;
|
||||
import com.njcn.harmonic.pojo.po.*;
|
||||
import com.njcn.harmonic.pojo.po.day.*;
|
||||
import com.njcn.prepare.bo.CalculatedParam;
|
||||
import com.njcn.prepare.harmonic.mapper.mysql.line.*;
|
||||
import com.njcn.prepare.harmonic.pojo.dto.PollutionDTO;
|
||||
import com.njcn.prepare.harmonic.pojo.param.LineParam;
|
||||
@@ -31,11 +30,14 @@ import com.njcn.user.api.DeptFeignClient;
|
||||
import com.njcn.user.pojo.po.Dept;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.collections4.ListUtils;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.*;
|
||||
import java.util.function.BinaryOperator;
|
||||
@@ -84,15 +86,265 @@ public class PollutionServiceImpl implements PollutionService {
|
||||
private final IRStatDataIDService dataIDService;
|
||||
private final IRStatDataInharmVDService inharmVDService;
|
||||
private final IRStatDataPltDService pltDService;
|
||||
/**-------------------------------监测点污区图-----------------------------------**/
|
||||
@Override
|
||||
public void handleDay(CalculatedParam calculatedParam) {
|
||||
List<PollutionDTO> pollutionList ;
|
||||
|
||||
List<DictData> dictData = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.POLLUTION_STATIS.getCode()).getData();
|
||||
LocalDate local = LocalDateTimeUtil.parseDate(calculatedParam.getDataDate());
|
||||
String beginDay =LocalDateTimeUtil.format(LocalDateTimeUtil.beginOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN);
|
||||
String endDay = LocalDateTimeUtil.format(LocalDateTimeUtil.endOfDay(LocalDateTimeUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)),DatePattern.NORM_DATETIME_PATTERN);
|
||||
List<String> idList = calculatedParam.getIdList();
|
||||
List<Overlimit> overLimitList = new ArrayList<>();
|
||||
for (String lineId :idList){
|
||||
Overlimit overlimit = commTerminalGeneralClient.getOverLimitData(lineId).getData();
|
||||
overLimitList.add(overlimit);
|
||||
}
|
||||
//指标数据获取
|
||||
List<PublicDTO> harmonicVoltageList = getHarmonicVoltage(overLimitList,beginDay,endDay);
|
||||
List<PublicDTO> harmonicCurrentList = getHarmonicCurrent(overLimitList,beginDay,endDay);
|
||||
List<PublicDTO> frequencyDeviationList = getFrequencyDeviation(overLimitList,beginDay,endDay);
|
||||
List<PublicDTO> voltageDeviationList = getVoltageDeviation(overLimitList,beginDay,endDay);
|
||||
List<PublicDTO> threePhaseVoltageList = getThreePhaseVoltageUnbalance(overLimitList,beginDay,endDay);
|
||||
List<PublicDTO> negativeSequenceList = getNegativeSequenceCurrent(overLimitList,beginDay,endDay);
|
||||
List<PublicDTO> interHarmonicVoltageList = getInterharmonicVoltage(overLimitList,beginDay,endDay);
|
||||
List<PublicDTO> voltageFlickerList = getVoltageFlicker(overLimitList,beginDay,endDay);
|
||||
|
||||
List<PollutionDTO> lineIdList = new ArrayList<>();
|
||||
idList.forEach(item->{
|
||||
PollutionDTO pollutionDTO = new PollutionDTO();
|
||||
pollutionDTO.setLineId(item);
|
||||
lineIdList.add(pollutionDTO);
|
||||
});
|
||||
pollutionList = processPollutionList(lineIdList,harmonicVoltageList,harmonicCurrentList,frequencyDeviationList,voltageDeviationList,threePhaseVoltageList,negativeSequenceList,interHarmonicVoltageList,voltageFlickerList);
|
||||
insertPollutionDayMySql(pollutionList, dictData, local);
|
||||
}
|
||||
/*-------------------------------单位污区图------------------------------------*/
|
||||
@Override
|
||||
public void handleOrgDay(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam) {
|
||||
LocalDate local = LocalDateTimeUtil.parseDate(calculatedParam.getDataDate());
|
||||
|
||||
QueryWrapper<RMpPollutionDPO> queryWrapper = new QueryWrapper<>();
|
||||
|
||||
for (DeptGetChildrenMoreDTO deptGetChildrenMoreDTO : calculatedParam.getIdList()) {
|
||||
Collection<LineDevGetDTO> union = CollectionUtils.union(Optional.ofNullable(deptGetChildrenMoreDTO.getLineBaseList()).orElse(new ArrayList<LineDevGetDTO>()),
|
||||
Optional.ofNullable(deptGetChildrenMoreDTO.getPwMonitorIds()).orElse(new ArrayList<LineDevGetDTO>()));
|
||||
List<String> collect = union.stream().map(LineDevGetDTO::getPointId).collect(Collectors.toList());
|
||||
if (CollectionUtils.isEmpty(collect)){
|
||||
continue;
|
||||
|
||||
}
|
||||
queryWrapper.clear();
|
||||
queryWrapper.in(
|
||||
"line_id",collect
|
||||
).eq("data_date",local);
|
||||
List<RMpPollutionDPO> rMpPollutionDPOS = rMpPollutionDMapper.selectList(queryWrapper);
|
||||
Map<String, List<RMpPollutionDPO>> collect1 = rMpPollutionDPOS.stream().collect(Collectors.groupingBy(RMpPollutionDPO::getPollutionType));
|
||||
collect1.forEach((k,v)->{
|
||||
Map<String, Object> inMap = new HashMap<>();
|
||||
inMap.put("orgId",deptGetChildrenMoreDTO.getUnitId());
|
||||
inMap.put("dataDate",local);
|
||||
inMap.put("pollutionType",k);
|
||||
inMap.put("value",v.stream().max(Comparator.comparing(RMpPollutionDPO::getValue)).get().getValue());
|
||||
rStatPollutionOrgDMapper.insertPollution(inMap);
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleOrgMonth(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam) {
|
||||
|
||||
DateTime begin = DateUtil.beginOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||
DateTime end = DateUtil.endOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||
LocalDate localDate = LocalDateTimeUtil.parseDate( DateUtil.format(begin, DatePattern.NORM_DATE_PATTERN), DatePattern.NORM_DATE_PATTERN);
|
||||
|
||||
List<RStatPollutionOrgDPO> substationD = rStatPollutionOrgDMapper.selectList(new LambdaQueryWrapper<RStatPollutionOrgDPO>()
|
||||
.ge(RStatPollutionOrgDPO::getDataDate, begin)
|
||||
.le(RStatPollutionOrgDPO::getDataDate, end)
|
||||
);
|
||||
Map<String, List<RStatPollutionOrgDPO>> substationDMap = substationD.stream().collect(Collectors.groupingBy(temp -> temp.getOrgId() +"_"+ temp.getPollutionType()));
|
||||
substationDMap.forEach((key,value)->{
|
||||
String[] split = key.split("_");
|
||||
Map<String, Object> inMap = new HashMap<>();
|
||||
inMap.put("orgId",split[0]);
|
||||
inMap.put("dataDate",localDate);
|
||||
inMap.put("pollutionType",split[1]);
|
||||
inMap.put("value",value.stream().max(Comparator.comparing(RStatPollutionOrgDPO::getValue)).get().getValue());
|
||||
rStatPollutionOrgMMapper.insertPollution(inMap);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleOrgQtr(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam) {
|
||||
DateTime begin = DateUtil.beginOfQuarter(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||
DateTime end = DateUtil.endOfQuarter(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||
LocalDate localDate = LocalDateTimeUtil.parseDate( DateUtil.format(begin, DatePattern.NORM_DATE_PATTERN), DatePattern.NORM_DATE_PATTERN); /*获取监测点类型类型*/
|
||||
|
||||
List<RStatPollutionOrgMPO> substationD = rStatPollutionOrgMMapper.selectList(new LambdaQueryWrapper<RStatPollutionOrgMPO>()
|
||||
.ge(RStatPollutionOrgMPO::getDataDate, begin)
|
||||
.le(RStatPollutionOrgMPO::getDataDate, end)
|
||||
);
|
||||
Map<String, List<RStatPollutionOrgMPO>> substationDMap = substationD.stream().collect(Collectors.groupingBy(temp -> temp.getOrgId() +"_"+ temp.getPollutionType()));
|
||||
substationDMap.forEach((key,value)->{
|
||||
String[] split = key.split("_");
|
||||
Map<String, Object> inMap = new HashMap<>();
|
||||
inMap.put("orgId",split[0]);
|
||||
inMap.put("dataDate",localDate);
|
||||
inMap.put("pollutionType",split[1]);
|
||||
inMap.put("value",value.stream().max(Comparator.comparing(RStatPollutionOrgMPO::getValue)).get().getValue());
|
||||
rStatPollutionOrgQMapper.insertPollution(inMap);
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleOrgYear(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam) {
|
||||
DateTime begin = DateUtil.beginOfYear(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||
DateTime end = DateUtil.endOfYear(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||
LocalDate localDate = LocalDateTimeUtil.parseDate( DateUtil.format(begin, DatePattern.NORM_DATE_PATTERN), DatePattern.NORM_DATE_PATTERN); /*获取监测点类型类型*/
|
||||
|
||||
List<RStatPollutionOrgQPO> substationD = rStatPollutionOrgQMapper.selectList(new LambdaQueryWrapper<RStatPollutionOrgQPO>()
|
||||
.ge(RStatPollutionOrgQPO::getDataDate, begin)
|
||||
.le(RStatPollutionOrgQPO::getDataDate, end)
|
||||
);
|
||||
Map<String, List<RStatPollutionOrgQPO>> substationDMap = substationD.stream().collect(Collectors.groupingBy(temp -> temp.getOrgId() +"_"+ temp.getPollutionType()));
|
||||
substationDMap.forEach((key,value)->{
|
||||
String[] split = key.split("_");
|
||||
Map<String, Object> inMap = new HashMap<>();
|
||||
inMap.put("orgId",split[0]);
|
||||
inMap.put("dataDate",localDate);
|
||||
inMap.put("pollutionType",split[1]);
|
||||
inMap.put("value",value.stream().max(Comparator.comparing(RStatPollutionOrgQPO::getValue)).get().getValue());
|
||||
rStatPollutionOrgYMapper.insertPollution(inMap);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*----------------------------------------------变电站污区图----------------------------------------------------*/
|
||||
@Override
|
||||
public void handleSubstationDay(CalculatedParam<String> calculatedParam) {
|
||||
LocalDate local = LocalDateTimeUtil.parseDate(calculatedParam.getDataDate());
|
||||
|
||||
QueryWrapper<RMpPollutionDPO> queryWrapper = new QueryWrapper<>();
|
||||
|
||||
for (String substationId : calculatedParam.getIdList()) {
|
||||
LineDevGetBandDTO data = commTerminalGeneralClient.substationGetLine(substationId).getData();
|
||||
Collection<LineDevGetDTO> union = CollectionUtils.union(Optional.ofNullable(data.getPwList()).orElse(new ArrayList<>()),
|
||||
Optional.ofNullable(data.getZwList()).orElse(new ArrayList<>()));
|
||||
List<String> collect = union.stream().map(LineDevGetDTO::getPointId).collect(Collectors.toList());
|
||||
if (CollectionUtils.isEmpty(collect)){
|
||||
continue;
|
||||
}
|
||||
queryWrapper.clear();
|
||||
queryWrapper.in(
|
||||
"line_id",collect
|
||||
).eq("data_date",local);
|
||||
List<RMpPollutionDPO> rMpPollutionDPOS = rMpPollutionDMapper.selectList(queryWrapper);
|
||||
Map<String, List<RMpPollutionDPO>> collect1 = rMpPollutionDPOS.stream().collect(Collectors.groupingBy(RMpPollutionDPO::getPollutionType));
|
||||
collect1.forEach((k,v)->{
|
||||
Map<String, Object> inMap = new HashMap<>();
|
||||
inMap.put("substationId",substationId);
|
||||
inMap.put("dataDate",local);
|
||||
inMap.put("pollutionType",k);
|
||||
inMap.put("value",v.stream().max(Comparator.comparing(RMpPollutionDPO::getValue)).get().getValue());
|
||||
rStatPollutionSubstationDMapper.insertPollution(inMap);
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleSubstationMonth(CalculatedParam<String> calculatedParam) {
|
||||
|
||||
|
||||
DateTime begin = DateUtil.beginOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||
DateTime end = DateUtil.endOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||
LocalDate localDate = LocalDateTimeUtil.parseDate( DateUtil.format(begin, DatePattern.NORM_DATE_PATTERN), DatePattern.NORM_DATE_PATTERN);
|
||||
|
||||
List<RStatPollutionSubstationDPO> substationD = rStatPollutionSubstationDMapper.selectList(new LambdaQueryWrapper<RStatPollutionSubstationDPO>()
|
||||
.ge(RStatPollutionSubstationDPO::getDataDate, begin)
|
||||
.le(RStatPollutionSubstationDPO::getDataDate, end)
|
||||
);
|
||||
Map<String, List<RStatPollutionSubstationDPO>> substationDMap = substationD.stream().collect(Collectors.groupingBy(temp -> temp.getSubstationId() +"_"+ temp.getPollutionType()));
|
||||
substationDMap.forEach((key,value)->{
|
||||
String[] split = key.split("_");
|
||||
Map<String, Object> inMap = new HashMap<>();
|
||||
inMap.put("substationId",split[0]);
|
||||
inMap.put("dataDate",localDate);
|
||||
inMap.put("pollutionType",split[1]);
|
||||
inMap.put("value",value.stream().max(Comparator.comparing(RStatPollutionSubstationDPO::getValue)).get().getValue());
|
||||
rStatPollutionSubstationMMapper.insertPollution(inMap);
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleSubstationQtr(CalculatedParam<String> calculatedParam) {
|
||||
|
||||
DateTime begin = DateUtil.beginOfQuarter(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||
DateTime end = DateUtil.endOfQuarter(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||
LocalDate localDate = LocalDateTimeUtil.parseDate( DateUtil.format(begin, DatePattern.NORM_DATE_PATTERN), DatePattern.NORM_DATE_PATTERN); /*获取监测点类型类型*/
|
||||
|
||||
|
||||
List<RStatPollutionSubstationM> substationM = rStatPollutionSubstationMMapper.selectList(new LambdaQueryWrapper<RStatPollutionSubstationM>()
|
||||
.ge(RStatPollutionSubstationM::getDataDate, begin)
|
||||
.le(RStatPollutionSubstationM::getDataDate, end)
|
||||
);
|
||||
Map<String, List<RStatPollutionSubstationM>> substationDMap = substationM.stream().collect(Collectors.groupingBy(temp -> temp.getSubstationId() +"_"+ temp.getPollutionType()));
|
||||
substationDMap.forEach((key,value)->{
|
||||
String[] split = key.split("_");
|
||||
Map<String, Object> inMap = new HashMap<>();
|
||||
inMap.put("substationId",split[0]);
|
||||
inMap.put("dataDate",localDate);
|
||||
inMap.put("pollutionType",split[1]);
|
||||
inMap.put("value",value.stream().max(Comparator.comparing(RStatPollutionSubstationM::getValue)).get().getValue());
|
||||
rStatPollutionSubstationQMapper.insertPollution(inMap);
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleSubstationYear(CalculatedParam<String> calculatedParam) {
|
||||
|
||||
DateTime begin = DateUtil.beginOfYear(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||
DateTime end = DateUtil.endOfYear(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN));
|
||||
LocalDate localDate = LocalDateTimeUtil.parseDate( DateUtil.format(begin, DatePattern.NORM_DATE_PATTERN), DatePattern.NORM_DATE_PATTERN);
|
||||
|
||||
List<RStatPollutionSubstationQPO> substationM = rStatPollutionSubstationQMapper.selectList(new LambdaQueryWrapper<RStatPollutionSubstationQPO>()
|
||||
.ge(RStatPollutionSubstationQPO::getDataDate, begin)
|
||||
.le(RStatPollutionSubstationQPO::getDataDate, end)
|
||||
);
|
||||
Map<String, List<RStatPollutionSubstationQPO>> substationDMap = substationM.stream().collect(Collectors.groupingBy(temp -> temp.getSubstationId() +"_"+ temp.getPollutionType()));
|
||||
substationDMap.forEach((key,value)->{
|
||||
String[] split = key.split("_");
|
||||
Map<String, Object> inMap = new HashMap<>();
|
||||
inMap.put("substationId",split[0]);
|
||||
inMap.put("dataDate",localDate);
|
||||
inMap.put("pollutionType",split[1]);
|
||||
inMap.put("value",value.stream().max(Comparator.comparing(RStatPollutionSubstationQPO::getValue)).get().getValue());
|
||||
rStatPollutionSubstationYMapper.insertPollution(inMap);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/*--------------------------------------------原始代码------------------------------------------------------*/
|
||||
|
||||
@Override
|
||||
@Async("asyncExecutor")
|
||||
@Deprecated
|
||||
public void processPollutionData(LineParam lineParam) {
|
||||
|
||||
TimeInterval timer = new TimeInterval();
|
||||
List<PollutionDTO> pollutionList;
|
||||
LocalDateTime local = LocalDateTimeUtil.now();
|
||||
LocalDate local = LocalDate.now();
|
||||
if (StrUtil.isNotBlank(lineParam.getDataDate())){
|
||||
local = DateUtil.parseLocalDateTime(lineParam.getBeginTime());
|
||||
local = LocalDateTimeUtil.parseDate(lineParam.getBeginTime());
|
||||
}
|
||||
|
||||
List<DictData> dictData = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.POLLUTION_STATIS.getCode()).getData();
|
||||
@@ -133,7 +385,7 @@ public class PollutionServiceImpl implements PollutionService {
|
||||
}
|
||||
|
||||
|
||||
LocalDateTime localEnd = DateUtil.parseLocalDateTime(lineParam.getEndTime());
|
||||
LocalDate localEnd = LocalDateTimeUtil.parseDate(lineParam.getEndTime());
|
||||
LambdaQueryWrapper<RMpPollutionDPO> lambdaQuery = new LambdaQueryWrapper<>();
|
||||
|
||||
|
||||
@@ -148,10 +400,11 @@ public class PollutionServiceImpl implements PollutionService {
|
||||
LogUtil.njcnDebug(log, "监测点污染指标数据完成耗时:{}", timer.intervalRestart());
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* MySql入表
|
||||
*/
|
||||
private void insertPolluctionMySql(List<RMpPollutionDPO> pollutionDayList, List<DictData> dictData, LocalDateTime local, LocalDateTime localEnd,Integer type){
|
||||
private void insertPolluctionMySql(List<RMpPollutionDPO> pollutionDayList, List<DictData> dictData, LocalDate local, LocalDate localEnd,Integer type){
|
||||
HttpResult<Map<String, List<String>>> substationOut = commTerminalGeneralClient.getLineBySubstationRelation(1);
|
||||
|
||||
Dept dept = deptFeignClient.getRootDept().getData();
|
||||
@@ -167,7 +420,7 @@ public class PollutionServiceImpl implements PollutionService {
|
||||
}
|
||||
|
||||
/*MySql入表 r_mp_pollution_d*/
|
||||
private void insertPollutionDayMySql(List<PollutionDTO> pollutionList,List<DictData> dictDataList, LocalDateTime local){
|
||||
private void insertPollutionDayMySql(List<PollutionDTO> pollutionList,List<DictData> dictDataList, LocalDate local){
|
||||
for (PollutionDTO pollution : pollutionList){
|
||||
Map<String, Object> inMap = new HashMap<>();
|
||||
inMap.put("lineId",pollution.getLineId());
|
||||
@@ -180,7 +433,7 @@ public class PollutionServiceImpl implements PollutionService {
|
||||
}
|
||||
|
||||
/*MySql入表 r_stat_pollution_substation*/
|
||||
private void insertSubstation(List<DictData> dictDataList,Map<String, List<String>> substationMap,List<RMpPollutionDPO> pollutionDayList,LocalDateTime local,LocalDateTime localEnd, Integer type){
|
||||
private void insertSubstation(List<DictData> dictDataList,Map<String, List<String>> substationMap,List<RMpPollutionDPO> pollutionDayList,LocalDate local,LocalDate localEnd, Integer type){
|
||||
if(Integer.valueOf(BizParamConstant.STAT_BIZ_DAY).equals(type)){
|
||||
for (String key : substationMap.keySet()){
|
||||
List<RMpPollutionDPO> processList = new ArrayList<>();
|
||||
@@ -256,7 +509,7 @@ public class PollutionServiceImpl implements PollutionService {
|
||||
}
|
||||
|
||||
/*MySql入表 r_stat_pollution_org*/
|
||||
private void insertUnit(List<DictData> dictDataList,List<DeptGetChildrenDTO> deptGetChildrenDTOList,List<RMpPollutionDPO> pollutionDayList,LocalDateTime local, LocalDateTime localEnd, Integer type){
|
||||
private void insertUnit(List<DictData> dictDataList,List<DeptGetChildrenDTO> deptGetChildrenDTOList,List<RMpPollutionDPO> pollutionDayList,LocalDate local, LocalDate localEnd, Integer type){
|
||||
if (Integer.valueOf(BizParamConstant.STAT_BIZ_DAY).equals(type)){
|
||||
for (DeptGetChildrenDTO deptGetChildrenDTO : deptGetChildrenDTOList){
|
||||
List<RMpPollutionDPO> processList = new ArrayList<>();
|
||||
|
||||
@@ -91,7 +91,8 @@ public class RMpPassRateDServiceImpl extends MppServiceImpl<RMpPassRateDMapper,
|
||||
eq ("data_date", calculatedParam.getDataDate ( ));
|
||||
RMpMonitorEvaluateDPO one = rMpMonitorEvaluateDService.getOne (rMpMonitorEvaluateDPOQueryWrapper);
|
||||
if (Objects.isNull(one)) {
|
||||
return;
|
||||
continue;
|
||||
|
||||
}
|
||||
queryWrapper.clear ( );
|
||||
queryWrapper.select ("freq_times", "v_dev_times").
|
||||
@@ -99,7 +100,7 @@ public class RMpPassRateDServiceImpl extends MppServiceImpl<RMpPassRateDMapper,
|
||||
eq ("data_date", calculatedParam.getDataDate ( ));
|
||||
RMpPartHarmonicDetailD rMpPartHarmonicDetailD = rMpPartHarmonicDetailDMapper.selectOne (queryWrapper);
|
||||
if (Objects.isNull(rMpPartHarmonicDetailD)) {
|
||||
return;
|
||||
continue;
|
||||
}
|
||||
surplusHarmonicDetailDQueryWrapper.clear ( );
|
||||
surplusHarmonicDetailDQueryWrapper.select ("flicker_times").
|
||||
@@ -107,7 +108,7 @@ public class RMpPassRateDServiceImpl extends MppServiceImpl<RMpPassRateDMapper,
|
||||
eq ("data_date", calculatedParam.getDataDate ( ));
|
||||
RMpSurplusHarmonicDetailD rMpSurplusHarmonicDetailD = rMpSurplusHarmonicDetailDMapper.selectOne (surplusHarmonicDetailDQueryWrapper);
|
||||
if (Objects.isNull(rMpSurplusHarmonicDetailD)) {
|
||||
return;
|
||||
continue;
|
||||
}
|
||||
RMpPassRateDPO rMpPassRateDPO = new RMpPassRateDPO ( );
|
||||
rMpPassRateDPO.setMeasurementPointId (lineDTO.getLineId());
|
||||
@@ -145,7 +146,8 @@ public class RMpPassRateDServiceImpl extends MppServiceImpl<RMpPassRateDMapper,
|
||||
List<RMpPassRateDPO> rMpPassRateDPOList = this.getBaseMapper ( ).selectList (queryWrapper);
|
||||
|
||||
if (CollectionUtils.isEmpty(rMpPassRateDPOList)) {
|
||||
return;
|
||||
continue;
|
||||
|
||||
}
|
||||
Map<String, List<RMpPassRateDPO>> collect1 = rMpPassRateDPOList.stream().collect(Collectors.groupingBy(RMpPassRateDPO::getMeasurementPointId));
|
||||
collect1.forEach((k,v)->{
|
||||
@@ -187,7 +189,8 @@ public class RMpPassRateDServiceImpl extends MppServiceImpl<RMpPassRateDMapper,
|
||||
List<RMpPassRateDPO> rMpPassRateDPOList = this.getBaseMapper ( ).selectList (queryWrapper);
|
||||
|
||||
if (CollectionUtils.isEmpty(rMpPassRateDPOList)) {
|
||||
return;
|
||||
continue;
|
||||
|
||||
}
|
||||
Map<String, List<RMpPassRateDPO>> collect1 = rMpPassRateDPOList.stream().collect(Collectors.groupingBy(RMpPassRateDPO::getMeasurementPointId));
|
||||
collect1.forEach((k,v)->{
|
||||
@@ -227,7 +230,8 @@ public class RMpPassRateDServiceImpl extends MppServiceImpl<RMpPassRateDMapper,
|
||||
List<RMpPassRateDPO> rMpPassRateDPOList = this.getBaseMapper ( ).selectList (queryWrapper);
|
||||
|
||||
if (CollectionUtils.isEmpty(rMpPassRateDPOList)) {
|
||||
return;
|
||||
continue;
|
||||
|
||||
}
|
||||
Map<String, List<RMpPassRateDPO>> collect1 = rMpPassRateDPOList.stream().collect(Collectors.groupingBy(RMpPassRateDPO::getMeasurementPointId));
|
||||
collect1.forEach((k,v)->{
|
||||
|
||||
@@ -140,14 +140,16 @@ public class ROperatingMonitorDServiceImpl extends MppServiceImpl<ROperatingMoni
|
||||
rMpMonitorEvaluateDPO.setDataDate (localDate);
|
||||
rMpMonitorEvaluateDPO = rMpMonitorEvaluateDMapper.selectByMultiId (rMpMonitorEvaluateDPO);
|
||||
if (Objects.isNull(rMpMonitorEvaluateDPO)) {
|
||||
return;
|
||||
continue;
|
||||
|
||||
}
|
||||
RStatAbnormalDPO rStatAbnormalDPO = new RStatAbnormalDPO();
|
||||
rStatAbnormalDPO.setDataDate (localDate);
|
||||
rStatAbnormalDPO.setMeasurementPointId (lineDTO.getLineId());
|
||||
rStatAbnormalDPO = rStatAbnormalDMapper.selectByMultiId (rStatAbnormalDPO);
|
||||
if (Objects.isNull(rStatAbnormalDPO)) {
|
||||
return;
|
||||
continue;
|
||||
|
||||
}
|
||||
rOperatingMonitorDPO.setMeasurementPointId (lineDTO.getLineId());
|
||||
rOperatingMonitorDPO.setDataDate (localDate);
|
||||
|
||||
@@ -10,6 +10,7 @@ import com.njcn.prepare.harmonic.pojo.param.PrimaryGridParam;
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Deprecated
|
||||
public interface AreaCountService {
|
||||
|
||||
void areaCountHanlder(PrimaryGridParam primaryGridParam);
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.area;
|
||||
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
|
||||
import com.njcn.prepare.bo.CalculatedParam;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -14,4 +15,12 @@ import java.util.List;
|
||||
public interface RStatOrgService
|
||||
{
|
||||
void handler(List<DeptGetChildrenMoreDTO> data, String dataDate, Integer type);
|
||||
|
||||
void handleDay(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam);
|
||||
|
||||
void handleMonth(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam);
|
||||
|
||||
void handleQtr(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam);
|
||||
|
||||
void handleYear(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.line;
|
||||
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetSubStationDTO;
|
||||
import com.njcn.prepare.bo.CalculatedParam;
|
||||
import com.njcn.prepare.harmonic.pojo.param.LineParam;
|
||||
|
||||
/**
|
||||
@@ -12,5 +15,22 @@ import com.njcn.prepare.harmonic.pojo.param.LineParam;
|
||||
public interface PollutionService {
|
||||
|
||||
void processPollutionData(LineParam lineParam);
|
||||
/***--------------------------新算法--------------------------------------------**/
|
||||
void handleDay(CalculatedParam calculatedParam);
|
||||
|
||||
void handleOrgDay(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam);
|
||||
|
||||
void handleOrgMonth(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam);
|
||||
|
||||
void handleOrgQtr(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam);
|
||||
|
||||
void handleOrgYear(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam);
|
||||
|
||||
void handleSubstationDay(CalculatedParam<String> calculatedParam);
|
||||
|
||||
void handleSubstationMonth(CalculatedParam<String> calculatedParam);
|
||||
|
||||
void handleSubstationQtr(CalculatedParam<String> calculatedParam);
|
||||
|
||||
void handleSubstationYear(CalculatedParam<String> calculatedParam);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user