Merge remote-tracking branch 'origin/master'

This commit is contained in:
zhuxinyu
2023-05-05 16:20:52 +08:00

View File

@@ -18,8 +18,7 @@ import com.njcn.device.pq.api.DeptLineFeignClient;
import com.njcn.device.pq.api.LineFeignClient; import com.njcn.device.pq.api.LineFeignClient;
import com.njcn.device.pq.pojo.po.Overlimit; import com.njcn.device.pq.pojo.po.Overlimit;
import com.njcn.harmonic.pojo.dto.PublicDTO; import com.njcn.harmonic.pojo.dto.PublicDTO;
import com.njcn.harmonic.pojo.po.RMpPollutionDPO; import com.njcn.harmonic.pojo.po.*;
import com.njcn.harmonic.pojo.po.RStatDataVD;
import com.njcn.harmonic.pojo.po.day.*; import com.njcn.harmonic.pojo.po.day.*;
import com.njcn.influxdb.utils.InfluxDbUtils; import com.njcn.influxdb.utils.InfluxDbUtils;
import com.njcn.prepare.harmonic.mapper.mysql.line.*; import com.njcn.prepare.harmonic.mapper.mysql.line.*;
@@ -166,17 +165,21 @@ public class PollutionServiceImpl implements PollutionService {
} }
log.info("污区数据统计间隔"+local+"----->"+localEnd); log.info("污区数据统计间隔"+local+"----->"+localEnd);
lambdaQuery.ge(RMpPollutionDPO::getDataDate, local).le(RMpPollutionDPO::getDataDate,localEnd); List<RMpPollutionDPO> pollutionDayList =new ArrayList<>();
List<RMpPollutionDPO> pollutionDayList = rMpPollutionDMapper.selectList(lambdaQuery); if(Integer.valueOf(BizParamConstant.STAT_BIZ_DAY).equals(lineParam.getType())){
lambdaQuery.ge(RMpPollutionDPO::getDataDate, local).le(RMpPollutionDPO::getDataDate,localEnd);
pollutionDayList = rMpPollutionDMapper.selectList(lambdaQuery);
}
//MySql入表变电站、单位 //MySql入表变电站、单位
insertPolluctionMySql(pollutionDayList, dictData, local, lineParam.getType()); insertPolluctionMySql(pollutionDayList, dictData, local, localEnd, lineParam.getType());
LogUtil.njcnDebug(log, "监测点污染指标数据完成耗时:{}", timer.intervalRestart()); LogUtil.njcnDebug(log, "监测点污染指标数据完成耗时:{}", timer.intervalRestart());
} }
/** /**
* MySql入表 * MySql入表
*/ */
private void insertPolluctionMySql(List<RMpPollutionDPO> pollutionDayList, List<DictData> dictData, LocalDateTime local, Integer type){ private void insertPolluctionMySql(List<RMpPollutionDPO> pollutionDayList, List<DictData> dictData, LocalDateTime local, LocalDateTime localEnd,Integer type){
HttpResult<Map<String, List<String>>> substationOut = lineFeignClient.getLineBySubstationRelation(1); HttpResult<Map<String, List<String>>> substationOut = lineFeignClient.getLineBySubstationRelation(1);
//HttpResult<Map<String, List<String>>> unitOut = deptLineFeignClient.getLineByDeptRelation(1); //HttpResult<Map<String, List<String>>> unitOut = deptLineFeignClient.getLineByDeptRelation(1);
@@ -188,8 +191,8 @@ public class PollutionServiceImpl implements PollutionService {
Map<String, List<String>> substationMap = substationOut.getData(); Map<String, List<String>> substationMap = substationOut.getData();
insertSubstation(dictData,substationMap,pollutionDayList,local,type); insertSubstation(dictData,substationMap,pollutionDayList,local,localEnd,type);
insertUnit(dictData,deptGetChildrenDTOList,pollutionDayList,local,type); insertUnit(dictData,deptGetChildrenDTOList,pollutionDayList,local,localEnd,type);
} }
/*MySql入表 r_mp_pollution_d*/ /*MySql入表 r_mp_pollution_d*/
@@ -206,69 +209,152 @@ 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, Integer type){ private void insertSubstation(List<DictData> dictDataList,Map<String, List<String>> substationMap,List<RMpPollutionDPO> pollutionDayList,LocalDateTime local,LocalDateTime localEnd, Integer type){
for (String key : substationMap.keySet()){ if(Integer.valueOf(BizParamConstant.STAT_BIZ_DAY).equals(type)){
List<RMpPollutionDPO> processList = new ArrayList<>(); for (String key : substationMap.keySet()){
List<String> substationList = substationMap.get(key); List<RMpPollutionDPO> processList = new ArrayList<>();
for(String lineid : substationList){ List<String> substationList = substationMap.get(key);
for (RMpPollutionDPO pollution : pollutionDayList){ for(String lineid : substationList){
if (lineid.equals(pollution.getLineId())){ for (RMpPollutionDPO pollution : pollutionDayList){
processList.add(pollution); if (lineid.equals(pollution.getLineId())){
processList.add(pollution);
}
}
}
Map<String, Object> inMap = new HashMap<>();
inMap.put("substationId",key);
inMap.put("dataDate",local);
for (DictData dictData : dictDataList){
processData(dictData, processList, inMap);
if (!inMap.containsKey("pollutionType")){
continue;
}
if (Integer.valueOf(BizParamConstant.STAT_BIZ_DAY).equals(type)){
rStatPollutionSubstationDMapper.insertPollution(inMap);
}
} }
} }
} }else if (Integer.valueOf(BizParamConstant.STAT_BIZ_MONTH).equals(type)){
Map<String, Object> inMap = new HashMap<>(); List<RStatPollutionSubstationDPO> substationD = rStatPollutionSubstationDMapper.selectList(new LambdaQueryWrapper<RStatPollutionSubstationDPO>()
inMap.put("substationId",key); .ge(RStatPollutionSubstationDPO::getDataDate, local)
inMap.put("dataDate",local); .le(RStatPollutionSubstationDPO::getDataDate, localEnd)
for (DictData dictData : dictDataList){ );
processData(dictData, processList, inMap); Map<String, List<RStatPollutionSubstationDPO>> substationDMap = substationD.stream().collect(Collectors.groupingBy(temp -> temp.getSubstationId() +"_"+ temp.getPollutionType()));
if (!inMap.containsKey("pollutionType")){ substationDMap.forEach((key,value)->{
continue; String[] split = key.split("_");
} Map<String, Object> inMap = new HashMap<>();
if (Integer.valueOf(BizParamConstant.STAT_BIZ_DAY).equals(type)){ inMap.put("substationId",split[0]);
rStatPollutionSubstationDMapper.insertPollution(inMap); inMap.put("dataDate",local);
}else if (Integer.valueOf(BizParamConstant.STAT_BIZ_MONTH).equals(type)){ inMap.put("pollutionType",split[1]);
rStatPollutionSubstationMMapper.insertPollution(inMap); inMap.put("value",value.stream().max(Comparator.comparing(RStatPollutionSubstationDPO::getValue)).get().getValue());
}else if (Integer.valueOf(BizParamConstant.STAT_BIZ_QUARTER).equals(type)){ rStatPollutionSubstationMMapper.insertPollution(inMap);
rStatPollutionSubstationQMapper.insertPollution(inMap);
}else if (Integer.valueOf(BizParamConstant.STAT_BIZ_YEAR).equals(type)){ });
rStatPollutionSubstationYMapper.insertPollution(inMap); }else if (Integer.valueOf(BizParamConstant.STAT_BIZ_QUARTER).equals(type)){
} List<RStatPollutionSubstationM> substationM = rStatPollutionSubstationMMapper.selectList(new LambdaQueryWrapper<RStatPollutionSubstationM>()
} .ge(RStatPollutionSubstationM::getDataDate, local)
.le(RStatPollutionSubstationM::getDataDate, localEnd)
);
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",local);
inMap.put("pollutionType",split[1]);
inMap.put("value",value.stream().max(Comparator.comparing(RStatPollutionSubstationM::getValue)).get().getValue());
rStatPollutionSubstationQMapper.insertPollution(inMap);
});
}else if (Integer.valueOf(BizParamConstant.STAT_BIZ_YEAR).equals(type)){
List<RStatPollutionSubstationQPO> substationM = rStatPollutionSubstationQMapper.selectList(new LambdaQueryWrapper<RStatPollutionSubstationQPO>()
.ge(RStatPollutionSubstationQPO::getDataDate, local)
.le(RStatPollutionSubstationQPO::getDataDate, localEnd)
);
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",local);
inMap.put("pollutionType",split[1]);
inMap.put("value",value.stream().max(Comparator.comparing(RStatPollutionSubstationQPO::getValue)).get().getValue());
rStatPollutionSubstationYMapper.insertPollution(inMap);
});
} }
} }
/*MySql入表 r_stat_pollution_org*/ /*MySql入表 r_stat_pollution_org*/
private void insertUnit(List<DictData> dictDataList,List<DeptGetChildrenDTO> deptGetChildrenDTOList,List<RMpPollutionDPO> pollutionDayList,LocalDateTime local, Integer type){ private void insertUnit(List<DictData> dictDataList,List<DeptGetChildrenDTO> deptGetChildrenDTOList,List<RMpPollutionDPO> pollutionDayList,LocalDateTime local, LocalDateTime localEnd, Integer type){
for (DeptGetChildrenDTO deptGetChildrenDTO : deptGetChildrenDTOList){ if (Integer.valueOf(BizParamConstant.STAT_BIZ_DAY).equals(type)){
List<RMpPollutionDPO> processList = new ArrayList<>(); for (DeptGetChildrenDTO deptGetChildrenDTO : deptGetChildrenDTOList){
List<RMpPollutionDPO> processList = new ArrayList<>();
for(String lineid : deptGetChildrenDTO.getLineIds()){ for(String lineid : deptGetChildrenDTO.getLineIds()){
for (RMpPollutionDPO pollution : pollutionDayList){ for (RMpPollutionDPO pollution : pollutionDayList){
if (lineid.equals(pollution.getLineId())){ if (lineid.equals(pollution.getLineId())){
processList.add(pollution); processList.add(pollution);
}
} }
} }
} Map<String, Object> inMap = new HashMap<>();
Map<String, Object> inMap = new HashMap<>(); inMap.put("orgId",deptGetChildrenDTO.getDeptId());
inMap.put("orgId",deptGetChildrenDTO.getDeptId()); inMap.put("dataDate",local);
inMap.put("dataDate",local); for (DictData dictData : dictDataList){
for (DictData dictData : dictDataList){ processData(dictData, processList, inMap);
processData(dictData, processList, inMap); if (!inMap.containsKey("pollutionType")){
if (!inMap.containsKey("pollutionType")){ continue;
continue; }
}
if (Integer.valueOf(BizParamConstant.STAT_BIZ_DAY).equals(type)){
rStatPollutionOrgDMapper.insertPollution(inMap); rStatPollutionOrgDMapper.insertPollution(inMap);
}else if (Integer.valueOf(BizParamConstant.STAT_BIZ_MONTH).equals(type)){
rStatPollutionOrgMMapper.insertPollution(inMap);
}else if (Integer.valueOf(BizParamConstant.STAT_BIZ_QUARTER).equals(type)){
rStatPollutionOrgQMapper.insertPollution(inMap);
}else if (Integer.valueOf(BizParamConstant.STAT_BIZ_YEAR).equals(type)){
rStatPollutionOrgYMapper.insertPollution(inMap);
} }
} }
}else if (Integer.valueOf(BizParamConstant.STAT_BIZ_MONTH).equals(type)){
List<RStatPollutionOrgDPO> substationD = rStatPollutionOrgDMapper.selectList(new LambdaQueryWrapper<RStatPollutionOrgDPO>()
.ge(RStatPollutionOrgDPO::getDataDate, local)
.le(RStatPollutionOrgDPO::getDataDate, localEnd)
);
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",local);
inMap.put("pollutionType",split[1]);
inMap.put("value",value.stream().max(Comparator.comparing(RStatPollutionOrgDPO::getValue)).get().getValue());
rStatPollutionOrgMMapper.insertPollution(inMap);
});
}else if (Integer.valueOf(BizParamConstant.STAT_BIZ_QUARTER).equals(type)){
List<RStatPollutionOrgMPO> substationD = rStatPollutionOrgMMapper.selectList(new LambdaQueryWrapper<RStatPollutionOrgMPO>()
.ge(RStatPollutionOrgMPO::getDataDate, local)
.le(RStatPollutionOrgMPO::getDataDate, localEnd)
);
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",local);
inMap.put("pollutionType",split[1]);
inMap.put("value",value.stream().max(Comparator.comparing(RStatPollutionOrgMPO::getValue)).get().getValue());
rStatPollutionOrgQMapper.insertPollution(inMap);
});
}else if (Integer.valueOf(BizParamConstant.STAT_BIZ_YEAR).equals(type)){
List<RStatPollutionOrgQPO> substationD = rStatPollutionOrgQMapper.selectList(new LambdaQueryWrapper<RStatPollutionOrgQPO>()
.ge(RStatPollutionOrgQPO::getDataDate, local)
.le(RStatPollutionOrgQPO::getDataDate, localEnd)
);
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",local);
inMap.put("pollutionType",split[1]);
inMap.put("value",value.stream().max(Comparator.comparing(RStatPollutionOrgQPO::getValue)).get().getValue());
rStatPollutionOrgYMapper.insertPollution(inMap);
});
} }
} }
private void processDataLineId(DictData dictData, PollutionDTO pollution, Map<String, Object> map){ private void processDataLineId(DictData dictData, PollutionDTO pollution, Map<String, Object> map){