算法提交

This commit is contained in:
huangzj
2023-11-14 13:12:36 +08:00
parent e53b306464
commit f934dc8336
27 changed files with 1537 additions and 54 deletions

View File

@@ -9,6 +9,7 @@ import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.io.Serializable; import java.io.Serializable;
import java.time.LocalDate;
import java.util.Date; import java.util.Date;
/** /**
@@ -34,7 +35,7 @@ public class RMpPollutionDPO implements Serializable {
* 单位id * 单位id
*/ */
@TableField(value = "line_id") @TableField(value = "line_id")
@ApiModelProperty(value = "单位id") @ApiModelProperty(value = "监测点")
private String lineId; private String lineId;
/** /**
@@ -42,7 +43,7 @@ public class RMpPollutionDPO implements Serializable {
*/ */
@TableField(value = "data_date") @TableField(value = "data_date")
@ApiModelProperty(value = "时间") @ApiModelProperty(value = "时间")
private Date dataDate; private LocalDate dataDate;
/** /**
* 污区图统计类型 * 污区图统计类型

View File

@@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.github.jeffreyning.mybatisplus.anno.MppMultiId; import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
import lombok.Data; import lombok.Data;
import org.apache.tomcat.jni.Local;
import java.time.LocalDate;
import java.util.Date; import java.util.Date;
/** /**
@@ -33,7 +35,7 @@ public class RStatOrgDPO {
* 生成数据的时间,每天统计一次 * 生成数据的时间,每天统计一次
*/ */
@MppMultiId(value = "data_date") @MppMultiId(value = "data_date")
private Date dataDate; private LocalDate dataDate;
/** /**
* 监测点类别ID、监测对象类型ID * 监测点类别ID、监测对象类型ID

View File

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
import com.github.jeffreyning.mybatisplus.anno.MppMultiId; import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
import lombok.Data; import lombok.Data;
import java.time.LocalDate;
import java.util.Date; import java.util.Date;
/** /**
@@ -38,7 +39,7 @@ public class RStatOrgMPO {
* 生成数据的时间,每月统计一次 * 生成数据的时间,每月统计一次
*/ */
@MppMultiId(value = "data_date") @MppMultiId(value = "data_date")
private Date dataDate; private LocalDate dataDate;
/** /**
* 监测点类别ID、监测对象类型ID * 监测点类别ID、监测对象类型ID

View File

@@ -9,6 +9,7 @@ import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.io.Serializable; import java.io.Serializable;
import java.time.LocalDate;
import java.util.Date; import java.util.Date;
/** /**
@@ -42,7 +43,7 @@ public class RStatPollutionOrgDPO implements Serializable {
*/ */
@TableField(value = "data_date") @TableField(value = "data_date")
@ApiModelProperty(value="时间") @ApiModelProperty(value="时间")
private Date dataDate; private LocalDate dataDate;
/** /**
* 污区图统计类型 * 污区图统计类型

View File

@@ -9,6 +9,7 @@ import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.io.Serializable; import java.io.Serializable;
import java.time.LocalDate;
import java.util.Date; import java.util.Date;
/** /**
@@ -42,7 +43,7 @@ public class RStatPollutionOrgMPO implements Serializable {
*/ */
@TableField(value = "data_date") @TableField(value = "data_date")
@ApiModelProperty(value="时间") @ApiModelProperty(value="时间")
private Date dataDate; private LocalDate dataDate;
/** /**
* 污区图统计类型 * 污区图统计类型

View File

@@ -9,6 +9,7 @@ import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.io.Serializable; import java.io.Serializable;
import java.time.LocalDate;
import java.util.Date; import java.util.Date;
/** /**
@@ -42,7 +43,7 @@ public class RStatPollutionOrgQPO implements Serializable {
*/ */
@TableField(value = "data_date") @TableField(value = "data_date")
@ApiModelProperty(value="时间") @ApiModelProperty(value="时间")
private Date dataDate; private LocalDate dataDate;
/** /**
* 污区图统计类型 * 污区图统计类型

View File

@@ -9,6 +9,7 @@ import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.io.Serializable; import java.io.Serializable;
import java.time.LocalDate;
import java.util.Date; import java.util.Date;
/** /**
@@ -42,7 +43,7 @@ public class RStatPollutionOrgYPO implements Serializable {
*/ */
@TableField(value = "data_date") @TableField(value = "data_date")
@ApiModelProperty(value="时间") @ApiModelProperty(value="时间")
private Date dataDate; private LocalDate dataDate;
/** /**
* 污区图统计类型 * 污区图统计类型

View File

@@ -9,6 +9,7 @@ import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.io.Serializable; import java.io.Serializable;
import java.time.LocalDate;
import java.util.Date; import java.util.Date;
/** /**
@@ -42,7 +43,7 @@ public class RStatPollutionSubstationDPO implements Serializable {
*/ */
@TableField(value = "data_date") @TableField(value = "data_date")
@ApiModelProperty(value="时间") @ApiModelProperty(value="时间")
private Date dataDate; private LocalDate dataDate;
/** /**
* 污区图统计类型 * 污区图统计类型

View File

@@ -9,6 +9,7 @@ import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.io.Serializable; import java.io.Serializable;
import java.time.LocalDate;
import java.util.Date; import java.util.Date;
/** /**
@@ -42,7 +43,7 @@ public class RStatPollutionSubstationM implements Serializable {
*/ */
@TableField(value = "data_date") @TableField(value = "data_date")
@ApiModelProperty(value = "时间") @ApiModelProperty(value = "时间")
private Date dataDate; private LocalDate dataDate;
/** /**
* 污区图统计类型 * 污区图统计类型

View File

@@ -9,6 +9,7 @@ import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.io.Serializable; import java.io.Serializable;
import java.time.LocalDate;
import java.util.Date; import java.util.Date;
/** /**
@@ -42,7 +43,7 @@ public class RStatPollutionSubstationQPO implements Serializable {
*/ */
@TableField(value = "data_date") @TableField(value = "data_date")
@ApiModelProperty(value="时间") @ApiModelProperty(value="时间")
private Date dataDate; private LocalDate dataDate;
/** /**
* 污区图统计类型 * 污区图统计类型

View File

@@ -9,6 +9,7 @@ import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.io.Serializable; import java.io.Serializable;
import java.time.LocalDate;
import java.util.Date; import java.util.Date;
/** /**
@@ -42,7 +43,7 @@ public class RStatPollutionSubstationYPO implements Serializable {
*/ */
@TableField(value = "data_date") @TableField(value = "data_date")
@ApiModelProperty(value="时间") @ApiModelProperty(value="时间")
private Date dataDate; private LocalDate dataDate;
/** /**
* 污区图统计类型 * 污区图统计类型

View File

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import java.time.LocalDate;
import java.util.Date; import java.util.Date;
import com.github.jeffreyning.mybatisplus.anno.MppMultiId; import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
@@ -30,7 +32,7 @@ public class RStatOrgQPO {
* 生成数据的时间,每季统计一次 * 生成数据的时间,每季统计一次
*/ */
@MppMultiId(value = "data_date") @MppMultiId(value = "data_date")
private Date dataDate; private LocalDate dataDate;
/** /**
* 监测点类别ID、监测对象类型ID * 监测点类别ID、监测对象类型ID

View File

@@ -2,6 +2,8 @@ package com.njcn.prepare.harmonic.pojo.mysql.po;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import java.time.LocalDate;
import java.util.Date; import java.util.Date;
import com.github.jeffreyning.mybatisplus.anno.MppMultiId; import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
@@ -28,7 +30,7 @@ public class RStatOrgYPO {
* 生成数据的时间,每年统计一次 * 生成数据的时间,每年统计一次
*/ */
@MppMultiId(value = "data_date") @MppMultiId(value = "data_date")
private Date dataDate; private LocalDate dataDate;
/** /**
* 监测点类别ID、监测对象类型ID * 监测点类别ID、监测对象类型ID

View File

@@ -16,6 +16,8 @@ import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil; import com.njcn.common.utils.HttpResultUtil;
import com.njcn.device.biz.commApi.CommTerminalGeneralClient; import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO; 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.device.biz.pojo.param.DeptGetLineParam;
import com.njcn.prepare.bo.BaseParam; import com.njcn.prepare.bo.BaseParam;
import com.njcn.prepare.bo.CalculatedParam; import com.njcn.prepare.bo.CalculatedParam;
@@ -34,7 +36,7 @@ import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; 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.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
@@ -43,10 +45,7 @@ import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.LinkedHashMap; import java.util.*;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors; 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);
}
}
} }

View File

@@ -3,6 +3,10 @@ package com.njcn.prepare.executor;
import com.njcn.prepare.bo.CalculatedParam; import com.njcn.prepare.bo.CalculatedParam;
import com.njcn.prepare.harmonic.service.mysql.area.IRMpMonitorAlarmCountMService; 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.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.njcn.prepare.harmonic.service.mysql.line.*;
import com.yomahub.liteflow.annotation.LiteflowComponent; import com.yomahub.liteflow.annotation.LiteflowComponent;
import com.yomahub.liteflow.annotation.LiteflowMethod; import com.yomahub.liteflow.annotation.LiteflowMethod;
@@ -44,6 +48,7 @@ public class MeasurementExecutor extends BaseExecutor {
private final RMpTargetWarnDService rMpTargetWarnDService; private final RMpTargetWarnDService rMpTargetWarnDService;
private final IRMpMonitorAlarmCountMService rMpMonitorAlarmCountMService; private final IRMpMonitorAlarmCountMService rMpMonitorAlarmCountMService;
private final PollutionService pollutionService;
/** /**
* 算法名: 3.3.1.1-----监测点评价 * 算法名: 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***********************************************************/ /********************************************算法负责人:xy***********************************************************/
/** /**

View File

@@ -2,6 +2,8 @@ package com.njcn.prepare.executor;
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO; import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
import com.njcn.prepare.bo.CalculatedParam; 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.njcn.prepare.harmonic.service.mysql.newalgorithm.ROperatingIndexService;
import com.yomahub.liteflow.annotation.LiteflowComponent; import com.yomahub.liteflow.annotation.LiteflowComponent;
import com.yomahub.liteflow.annotation.LiteflowMethod; import com.yomahub.liteflow.annotation.LiteflowMethod;
@@ -22,6 +24,9 @@ import lombok.RequiredArgsConstructor;
public class OrgPointExecutor extends BaseExecutor{ public class OrgPointExecutor extends BaseExecutor{
private final ROperatingIndexService rOperatingIndexService; 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);
}
}
}
} }

View File

@@ -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);
}
}
}
}

View File

@@ -40,6 +40,7 @@ import java.util.stream.Collectors;
@RestController @RestController
@RequestMapping("AreaCount") @RequestMapping("AreaCount")
@RequiredArgsConstructor @RequiredArgsConstructor
@Deprecated
public class AreaCountController extends BaseController { public class AreaCountController extends BaseController {
private final DeptFeignClient deptFeignClient; private final DeptFeignClient deptFeignClient;

View File

@@ -37,6 +37,7 @@ import java.util.List;
@RestController @RestController
@RequestMapping("/pollution") @RequestMapping("/pollution")
@RequiredArgsConstructor @RequiredArgsConstructor
@Deprecated
public class PollutionController extends BaseController { public class PollutionController extends BaseController {
private final PollutionService pollutionService; private final PollutionService pollutionService;

View File

@@ -26,6 +26,7 @@ import org.springframework.util.StringUtils;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@@ -41,6 +42,7 @@ import static com.njcn.system.pojo.constant.DicDataConstant.SPLIT_SIGN;
* @version V1.0.0 * @version V1.0.0
*/ */
@Service @Service
@Deprecated
public class AreaCountServiceImpl implements AreaCountService { public class AreaCountServiceImpl implements AreaCountService {
@@ -155,7 +157,7 @@ public class AreaCountServiceImpl implements AreaCountService {
RStatOrgMPO rStatOrgMPO = new RStatOrgMPO ( ); RStatOrgMPO rStatOrgMPO = new RStatOrgMPO ( );
rStatOrgMPO.setOrgNo (orgid); rStatOrgMPO.setOrgNo (orgid);
rStatOrgMPO.setMeasurementTypeClass (entry.getKey ( )); rStatOrgMPO.setMeasurementTypeClass (entry.getKey ( ));
rStatOrgMPO.setDataDate (tempDate); rStatOrgMPO.setDataDate (LocalDate.parse(dataDate));
rStatOrgMPO.setDataType ("01"); rStatOrgMPO.setDataType ("01");
rStatOrgMPO.setHarmonicMeasurementAccrued (integer); rStatOrgMPO.setHarmonicMeasurementAccrued (integer);
rStatOrgMPOList.add (rStatOrgMPO); rStatOrgMPOList.add (rStatOrgMPO);
@@ -220,7 +222,7 @@ public class AreaCountServiceImpl implements AreaCountService {
RStatOrgDPO rStatOrgDPO = new RStatOrgDPO ( ); RStatOrgDPO rStatOrgDPO = new RStatOrgDPO ( );
rStatOrgDPO.setOrgNo (orgid); rStatOrgDPO.setOrgNo (orgid);
rStatOrgDPO.setMeasurementTypeClass (entry.getKey ( )); rStatOrgDPO.setMeasurementTypeClass (entry.getKey ( ));
rStatOrgDPO.setDataDate (tempDate); rStatOrgDPO.setDataDate (LocalDate.parse(dataDate));
rStatOrgDPO.setDataType ("01"); rStatOrgDPO.setDataType ("01");
rStatOrgDPO.setEffectiveMeasurement (integer); rStatOrgDPO.setEffectiveMeasurement (integer);
rStatOrgDPOList.add (rStatOrgDPO); rStatOrgDPOList.add (rStatOrgDPO);
@@ -254,7 +256,7 @@ public class AreaCountServiceImpl implements AreaCountService {
Integer integer = rMpTargetWarnDService.queryHarmonicMeasurementAccrued (monitorIdList, dataDate); Integer integer = rMpTargetWarnDService.queryHarmonicMeasurementAccrued (monitorIdList, dataDate);
rStatOrgMPO.setOrgNo (orgid); rStatOrgMPO.setOrgNo (orgid);
rStatOrgMPO.setMeasurementTypeClass (lineTypeId); rStatOrgMPO.setMeasurementTypeClass (lineTypeId);
rStatOrgMPO.setDataDate (tempDate); rStatOrgMPO.setDataDate (LocalDate.parse(dataDate));
rStatOrgMPO.setDataType ("02"); rStatOrgMPO.setDataType ("02");
rStatOrgMPO.setHarmonicMeasurementAccrued (integer); rStatOrgMPO.setHarmonicMeasurementAccrued (integer);
return rStatOrgMPO; return rStatOrgMPO;
@@ -278,7 +280,7 @@ public class AreaCountServiceImpl implements AreaCountService {
Integer integer = this.queryEffectiveAccessMeasurementCount (monitorIdList, dataDate); Integer integer = this.queryEffectiveAccessMeasurementCount (monitorIdList, dataDate);
rStatOrgDPO.setOrgNo (orgid); rStatOrgDPO.setOrgNo (orgid);
rStatOrgDPO.setMeasurementTypeClass (lineTypeId); rStatOrgDPO.setMeasurementTypeClass (lineTypeId);
rStatOrgDPO.setDataDate (tempDate); rStatOrgDPO.setDataDate (LocalDate.parse(dataDate));
rStatOrgDPO.setDataType ("02"); rStatOrgDPO.setDataType ("02");
rStatOrgDPO.setEffectiveMeasurement (integer); rStatOrgDPO.setEffectiveMeasurement (integer);

View File

@@ -1,9 +1,7 @@
package com.njcn.prepare.harmonic.service.mysql.Impl.line; package com.njcn.prepare.harmonic.service.mysql.Impl.line;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.*;
import cn.hutool.core.date.LocalDateTimeUtil;
import cn.hutool.core.date.TimeInterval;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.pojo.response.HttpResult;
import com.njcn.common.utils.LogUtil; import com.njcn.common.utils.LogUtil;
import com.njcn.device.biz.commApi.CommTerminalGeneralClient; 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.biz.pojo.param.DeptGetLineParam;
import com.njcn.device.pq.api.LineFeignClient; import com.njcn.device.pq.api.LineFeignClient;
import com.njcn.device.biz.pojo.po.Overlimit; import com.njcn.device.biz.pojo.po.Overlimit;
import com.njcn.harmonic.pojo.dto.PublicDTO; import com.njcn.harmonic.pojo.dto.PublicDTO;
import com.njcn.harmonic.pojo.po.*; import com.njcn.harmonic.pojo.po.*;
import com.njcn.harmonic.pojo.po.day.*; 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.mapper.mysql.line.*;
import com.njcn.prepare.harmonic.pojo.dto.PollutionDTO; import com.njcn.prepare.harmonic.pojo.dto.PollutionDTO;
import com.njcn.prepare.harmonic.pojo.param.LineParam; 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 com.njcn.user.pojo.po.Dept;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; 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.scheduling.annotation.Async;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.RoundingMode; import java.math.RoundingMode;
import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.*; import java.util.*;
import java.util.function.BinaryOperator; import java.util.function.BinaryOperator;
@@ -84,15 +86,265 @@ public class PollutionServiceImpl implements PollutionService {
private final IRStatDataIDService dataIDService; private final IRStatDataIDService dataIDService;
private final IRStatDataInharmVDService inharmVDService; private final IRStatDataInharmVDService inharmVDService;
private final IRStatDataPltDService pltDService; 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 @Override
@Async("asyncExecutor") @Async("asyncExecutor")
@Deprecated
public void processPollutionData(LineParam lineParam) { public void processPollutionData(LineParam lineParam) {
TimeInterval timer = new TimeInterval(); TimeInterval timer = new TimeInterval();
List<PollutionDTO> pollutionList; List<PollutionDTO> pollutionList;
LocalDateTime local = LocalDateTimeUtil.now(); LocalDate local = LocalDate.now();
if (StrUtil.isNotBlank(lineParam.getDataDate())){ 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(); 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<>(); LambdaQueryWrapper<RMpPollutionDPO> lambdaQuery = new LambdaQueryWrapper<>();
@@ -148,10 +400,11 @@ public class PollutionServiceImpl implements PollutionService {
LogUtil.njcnDebug(log, "监测点污染指标数据完成耗时:{}", timer.intervalRestart()); LogUtil.njcnDebug(log, "监测点污染指标数据完成耗时:{}", timer.intervalRestart());
} }
/** /**
* MySql入表 * 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); HttpResult<Map<String, List<String>>> substationOut = commTerminalGeneralClient.getLineBySubstationRelation(1);
Dept dept = deptFeignClient.getRootDept().getData(); Dept dept = deptFeignClient.getRootDept().getData();
@@ -167,7 +420,7 @@ public class PollutionServiceImpl implements PollutionService {
} }
/*MySql入表 r_mp_pollution_d*/ /*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){ for (PollutionDTO pollution : pollutionList){
Map<String, Object> inMap = new HashMap<>(); Map<String, Object> inMap = new HashMap<>();
inMap.put("lineId",pollution.getLineId()); inMap.put("lineId",pollution.getLineId());
@@ -180,7 +433,7 @@ public class PollutionServiceImpl implements PollutionService {
} }
/*MySql入表 r_stat_pollution_substation*/ /*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)){ if(Integer.valueOf(BizParamConstant.STAT_BIZ_DAY).equals(type)){
for (String key : substationMap.keySet()){ for (String key : substationMap.keySet()){
List<RMpPollutionDPO> processList = new ArrayList<>(); List<RMpPollutionDPO> processList = new ArrayList<>();
@@ -256,7 +509,7 @@ public class PollutionServiceImpl implements PollutionService {
} }
/*MySql入表 r_stat_pollution_org*/ /*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)){ if (Integer.valueOf(BizParamConstant.STAT_BIZ_DAY).equals(type)){
for (DeptGetChildrenDTO deptGetChildrenDTO : deptGetChildrenDTOList){ for (DeptGetChildrenDTO deptGetChildrenDTO : deptGetChildrenDTOList){
List<RMpPollutionDPO> processList = new ArrayList<>(); List<RMpPollutionDPO> processList = new ArrayList<>();

View File

@@ -91,7 +91,8 @@ public class RMpPassRateDServiceImpl extends MppServiceImpl<RMpPassRateDMapper,
eq ("data_date", calculatedParam.getDataDate ( )); eq ("data_date", calculatedParam.getDataDate ( ));
RMpMonitorEvaluateDPO one = rMpMonitorEvaluateDService.getOne (rMpMonitorEvaluateDPOQueryWrapper); RMpMonitorEvaluateDPO one = rMpMonitorEvaluateDService.getOne (rMpMonitorEvaluateDPOQueryWrapper);
if (Objects.isNull(one)) { if (Objects.isNull(one)) {
return; continue;
} }
queryWrapper.clear ( ); queryWrapper.clear ( );
queryWrapper.select ("freq_times", "v_dev_times"). queryWrapper.select ("freq_times", "v_dev_times").
@@ -99,7 +100,7 @@ public class RMpPassRateDServiceImpl extends MppServiceImpl<RMpPassRateDMapper,
eq ("data_date", calculatedParam.getDataDate ( )); eq ("data_date", calculatedParam.getDataDate ( ));
RMpPartHarmonicDetailD rMpPartHarmonicDetailD = rMpPartHarmonicDetailDMapper.selectOne (queryWrapper); RMpPartHarmonicDetailD rMpPartHarmonicDetailD = rMpPartHarmonicDetailDMapper.selectOne (queryWrapper);
if (Objects.isNull(rMpPartHarmonicDetailD)) { if (Objects.isNull(rMpPartHarmonicDetailD)) {
return; continue;
} }
surplusHarmonicDetailDQueryWrapper.clear ( ); surplusHarmonicDetailDQueryWrapper.clear ( );
surplusHarmonicDetailDQueryWrapper.select ("flicker_times"). surplusHarmonicDetailDQueryWrapper.select ("flicker_times").
@@ -107,7 +108,7 @@ public class RMpPassRateDServiceImpl extends MppServiceImpl<RMpPassRateDMapper,
eq ("data_date", calculatedParam.getDataDate ( )); eq ("data_date", calculatedParam.getDataDate ( ));
RMpSurplusHarmonicDetailD rMpSurplusHarmonicDetailD = rMpSurplusHarmonicDetailDMapper.selectOne (surplusHarmonicDetailDQueryWrapper); RMpSurplusHarmonicDetailD rMpSurplusHarmonicDetailD = rMpSurplusHarmonicDetailDMapper.selectOne (surplusHarmonicDetailDQueryWrapper);
if (Objects.isNull(rMpSurplusHarmonicDetailD)) { if (Objects.isNull(rMpSurplusHarmonicDetailD)) {
return; continue;
} }
RMpPassRateDPO rMpPassRateDPO = new RMpPassRateDPO ( ); RMpPassRateDPO rMpPassRateDPO = new RMpPassRateDPO ( );
rMpPassRateDPO.setMeasurementPointId (lineDTO.getLineId()); rMpPassRateDPO.setMeasurementPointId (lineDTO.getLineId());
@@ -145,7 +146,8 @@ public class RMpPassRateDServiceImpl extends MppServiceImpl<RMpPassRateDMapper,
List<RMpPassRateDPO> rMpPassRateDPOList = this.getBaseMapper ( ).selectList (queryWrapper); List<RMpPassRateDPO> rMpPassRateDPOList = this.getBaseMapper ( ).selectList (queryWrapper);
if (CollectionUtils.isEmpty(rMpPassRateDPOList)) { if (CollectionUtils.isEmpty(rMpPassRateDPOList)) {
return; continue;
} }
Map<String, List<RMpPassRateDPO>> collect1 = rMpPassRateDPOList.stream().collect(Collectors.groupingBy(RMpPassRateDPO::getMeasurementPointId)); Map<String, List<RMpPassRateDPO>> collect1 = rMpPassRateDPOList.stream().collect(Collectors.groupingBy(RMpPassRateDPO::getMeasurementPointId));
collect1.forEach((k,v)->{ collect1.forEach((k,v)->{
@@ -187,7 +189,8 @@ public class RMpPassRateDServiceImpl extends MppServiceImpl<RMpPassRateDMapper,
List<RMpPassRateDPO> rMpPassRateDPOList = this.getBaseMapper ( ).selectList (queryWrapper); List<RMpPassRateDPO> rMpPassRateDPOList = this.getBaseMapper ( ).selectList (queryWrapper);
if (CollectionUtils.isEmpty(rMpPassRateDPOList)) { if (CollectionUtils.isEmpty(rMpPassRateDPOList)) {
return; continue;
} }
Map<String, List<RMpPassRateDPO>> collect1 = rMpPassRateDPOList.stream().collect(Collectors.groupingBy(RMpPassRateDPO::getMeasurementPointId)); Map<String, List<RMpPassRateDPO>> collect1 = rMpPassRateDPOList.stream().collect(Collectors.groupingBy(RMpPassRateDPO::getMeasurementPointId));
collect1.forEach((k,v)->{ collect1.forEach((k,v)->{
@@ -227,7 +230,8 @@ public class RMpPassRateDServiceImpl extends MppServiceImpl<RMpPassRateDMapper,
List<RMpPassRateDPO> rMpPassRateDPOList = this.getBaseMapper ( ).selectList (queryWrapper); List<RMpPassRateDPO> rMpPassRateDPOList = this.getBaseMapper ( ).selectList (queryWrapper);
if (CollectionUtils.isEmpty(rMpPassRateDPOList)) { if (CollectionUtils.isEmpty(rMpPassRateDPOList)) {
return; continue;
} }
Map<String, List<RMpPassRateDPO>> collect1 = rMpPassRateDPOList.stream().collect(Collectors.groupingBy(RMpPassRateDPO::getMeasurementPointId)); Map<String, List<RMpPassRateDPO>> collect1 = rMpPassRateDPOList.stream().collect(Collectors.groupingBy(RMpPassRateDPO::getMeasurementPointId));
collect1.forEach((k,v)->{ collect1.forEach((k,v)->{

View File

@@ -140,14 +140,16 @@ public class ROperatingMonitorDServiceImpl extends MppServiceImpl<ROperatingMoni
rMpMonitorEvaluateDPO.setDataDate (localDate); rMpMonitorEvaluateDPO.setDataDate (localDate);
rMpMonitorEvaluateDPO = rMpMonitorEvaluateDMapper.selectByMultiId (rMpMonitorEvaluateDPO); rMpMonitorEvaluateDPO = rMpMonitorEvaluateDMapper.selectByMultiId (rMpMonitorEvaluateDPO);
if (Objects.isNull(rMpMonitorEvaluateDPO)) { if (Objects.isNull(rMpMonitorEvaluateDPO)) {
return; continue;
} }
RStatAbnormalDPO rStatAbnormalDPO = new RStatAbnormalDPO(); RStatAbnormalDPO rStatAbnormalDPO = new RStatAbnormalDPO();
rStatAbnormalDPO.setDataDate (localDate); rStatAbnormalDPO.setDataDate (localDate);
rStatAbnormalDPO.setMeasurementPointId (lineDTO.getLineId()); rStatAbnormalDPO.setMeasurementPointId (lineDTO.getLineId());
rStatAbnormalDPO = rStatAbnormalDMapper.selectByMultiId (rStatAbnormalDPO); rStatAbnormalDPO = rStatAbnormalDMapper.selectByMultiId (rStatAbnormalDPO);
if (Objects.isNull(rStatAbnormalDPO)) { if (Objects.isNull(rStatAbnormalDPO)) {
return; continue;
} }
rOperatingMonitorDPO.setMeasurementPointId (lineDTO.getLineId()); rOperatingMonitorDPO.setMeasurementPointId (lineDTO.getLineId());
rOperatingMonitorDPO.setDataDate (localDate); rOperatingMonitorDPO.setDataDate (localDate);

View File

@@ -10,6 +10,7 @@ import com.njcn.prepare.harmonic.pojo.param.PrimaryGridParam;
* @author clam * @author clam
* @version V1.0.0 * @version V1.0.0
*/ */
@Deprecated
public interface AreaCountService { public interface AreaCountService {
void areaCountHanlder(PrimaryGridParam primaryGridParam); void areaCountHanlder(PrimaryGridParam primaryGridParam);

View File

@@ -1,6 +1,7 @@
package com.njcn.prepare.harmonic.service.mysql.area; package com.njcn.prepare.harmonic.service.mysql.area;
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO; import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
import com.njcn.prepare.bo.CalculatedParam;
import java.util.List; import java.util.List;
@@ -14,4 +15,12 @@ import java.util.List;
public interface RStatOrgService public interface RStatOrgService
{ {
void handler(List<DeptGetChildrenMoreDTO> data, String dataDate, Integer type); 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);
} }

View File

@@ -1,5 +1,8 @@
package com.njcn.prepare.harmonic.service.mysql.line; 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; import com.njcn.prepare.harmonic.pojo.param.LineParam;
/** /**
@@ -12,5 +15,22 @@ import com.njcn.prepare.harmonic.pojo.param.LineParam;
public interface PollutionService { public interface PollutionService {
void processPollutionData(LineParam lineParam); 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);
} }