1.解决综合评估,时间范围查询bug
This commit is contained in:
@@ -24,24 +24,13 @@ public interface RMpPollutionDPOMapper extends BaseMapper<RMpPollutionDPO> {
|
|||||||
|
|
||||||
int insertOrUpdateSelective(RMpPollutionDPO record);
|
int insertOrUpdateSelective(RMpPollutionDPO record);
|
||||||
|
|
||||||
@Select({"<script>",
|
List<RMpPollutionDPO> selectMaxList(@Param("ids") List<String> line,
|
||||||
"SELECT\n",
|
@Param("pollutionType") String pollutionType,
|
||||||
" l.line_id,\n",
|
@Param("statTime") String statTime,
|
||||||
" max(l.value) as value\n",
|
@Param("endTime") String endTime);
|
||||||
"FROM\n" +
|
|
||||||
" r_mp_pollution_d l\n",
|
|
||||||
"where line_id in\n",
|
|
||||||
"<foreach item='item' index='index' collection='items' open='(' separator=',' close=')'>",
|
|
||||||
"#{item}",
|
|
||||||
"</foreach>",
|
|
||||||
"\tand DATE_FORMAT( data_date ,'%Y-%m-%d') like #{searchBeginTime}\n",
|
|
||||||
"and pollution_type =#{pollutionType}",
|
|
||||||
"GROUP BY\n",
|
|
||||||
" l.line_id",
|
|
||||||
"</script>"
|
|
||||||
|
|
||||||
})
|
List<PublicDTO> getTop10Line(@Param("list") List<String> lineList,
|
||||||
List<RMpPollutionDPO> selectMaxList(@Param("items") List<String> line, @Param("pollutionType") String pollutionType, @Param("searchBeginTime") String searchBeginTime);
|
@Param("start") DateTime searchBeginTime,
|
||||||
|
@Param("end") DateTime searchEndTime,
|
||||||
List<PublicDTO> getTop10Line(@Param("list") List<String> lineList, @Param("start") DateTime searchBeginTime, @Param("end") DateTime searchEndTime, @Param("pollutionType") String id);
|
@Param("pollutionType") String id);
|
||||||
}
|
}
|
||||||
@@ -43,6 +43,30 @@
|
|||||||
ORDER BY data DESC
|
ORDER BY data DESC
|
||||||
LIMIT 0,10
|
LIMIT 0,10
|
||||||
</select>
|
</select>
|
||||||
|
<select id="selectMaxList" resultType="com.njcn.harmonic.pojo.po.RMpPollutionDPO">
|
||||||
|
SELECT
|
||||||
|
l.line_id,
|
||||||
|
max( l.VALUE ) AS VALUE
|
||||||
|
FROM
|
||||||
|
r_mp_pollution_d l
|
||||||
|
<where>
|
||||||
|
pollution_type = #{pollutionType}
|
||||||
|
<if test=" ids != null and ids.size > 0">
|
||||||
|
AND line_id IN
|
||||||
|
<foreach collection='ids' item='item' index="index" open='(' separator=',' close=')'>
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
<if test=" statTime != null and statTime !=''">
|
||||||
|
AND data_date >= #{statTime}
|
||||||
|
</if>
|
||||||
|
<if test="endTime != null and endTime != ''">
|
||||||
|
AND data_date <= #{endTime}
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
GROUP BY
|
||||||
|
l.line_id;
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
<insert id="batchInsert" parameterType="map">
|
<insert id="batchInsert" parameterType="map">
|
||||||
|
|||||||
@@ -505,18 +505,6 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
|
|||||||
List<PollutionLineDTO> list = new ArrayList<>();
|
List<PollutionLineDTO> list = new ArrayList<>();
|
||||||
|
|
||||||
String pollutionType = harmonicPublicParam.getStatisticalType ( ).getId ();
|
String pollutionType = harmonicPublicParam.getStatisticalType ( ).getId ();
|
||||||
String code = harmonicPublicParam.getStatisticalType ( ).getCode ();
|
|
||||||
String searchBeginTime = "";
|
|
||||||
if(Objects.equals (harmonicPublicParam.getReportFlag (),BizParamConstant.STAT_BIZ_YEAR) ){
|
|
||||||
searchBeginTime = harmonicPublicParam.getSearchBeginTime ( ).substring (0, 4)+"%";
|
|
||||||
|
|
||||||
}else if(Objects.equals (harmonicPublicParam.getReportFlag (),BizParamConstant.STAT_BIZ_MONTH)){
|
|
||||||
searchBeginTime = harmonicPublicParam.getSearchBeginTime ( ).substring (0, 7)+"%";
|
|
||||||
|
|
||||||
|
|
||||||
}else if(Objects.equals (harmonicPublicParam.getReportFlag (),BizParamConstant.STAT_BIZ_DAY)) {
|
|
||||||
searchBeginTime = harmonicPublicParam.getSearchBeginTime ( ).substring (0, 10)+"%";
|
|
||||||
}
|
|
||||||
PollutionParamDTO paramDTO = new PollutionParamDTO();
|
PollutionParamDTO paramDTO = new PollutionParamDTO();
|
||||||
if (StringUtils.isBlank(RequestUtil.getDeptIndex())){
|
if (StringUtils.isBlank(RequestUtil.getDeptIndex())){
|
||||||
return list;
|
return list;
|
||||||
@@ -528,7 +516,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
|
|||||||
List<PmsStatationStatInfoDTO> data = statationStatClient.getStatationStatInfo(param).getData();
|
List<PmsStatationStatInfoDTO> data = statationStatClient.getStatationStatInfo(param).getData();
|
||||||
if(CollectionUtil.isNotEmpty(data)){
|
if(CollectionUtil.isNotEmpty(data)){
|
||||||
List<String> monitorId = data.stream().map(PmsStatationStatInfoDTO::getMonitorId).collect(Collectors.toList());
|
List<String> monitorId = data.stream().map(PmsStatationStatInfoDTO::getMonitorId).collect(Collectors.toList());
|
||||||
List<RMpPollutionDPO> lineData = rMpPollutionDPOMapper.selectMaxList ( monitorId,pollutionType,searchBeginTime);
|
List<RMpPollutionDPO> lineData = rMpPollutionDPOMapper.selectMaxList ( monitorId,pollutionType,harmonicPublicParam.getSearchBeginTime(),harmonicPublicParam.getSearchEndTime());
|
||||||
Map<String, Double> lineMap = lineData.stream().collect(Collectors.toMap(RMpPollutionDPO::getLineId, RMpPollutionDPO::getValue));
|
Map<String, Double> lineMap = lineData.stream().collect(Collectors.toMap(RMpPollutionDPO::getLineId, RMpPollutionDPO::getValue));
|
||||||
PollutionLineDTO dto;
|
PollutionLineDTO dto;
|
||||||
for (PmsStatationStatInfoDTO power : data) {
|
for (PmsStatationStatInfoDTO power : data) {
|
||||||
@@ -559,7 +547,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
|
|||||||
if (!CollectionUtils.isEmpty(line)){
|
if (!CollectionUtils.isEmpty(line)){
|
||||||
paramDTO.setLineList(line);
|
paramDTO.setLineList(line);
|
||||||
list = lineFeignClient.getLineInfo(paramDTO).getData();
|
list = lineFeignClient.getLineInfo(paramDTO).getData();
|
||||||
List<RMpPollutionDPO> lineData = rMpPollutionDPOMapper.selectMaxList ( line,pollutionType,searchBeginTime);
|
List<RMpPollutionDPO> lineData = rMpPollutionDPOMapper.selectMaxList ( line,pollutionType,harmonicPublicParam.getSearchBeginTime(),harmonicPublicParam.getSearchEndTime());
|
||||||
if (!CollectionUtils.isEmpty(lineData)){
|
if (!CollectionUtils.isEmpty(lineData)){
|
||||||
list.stream().map(list1->lineData.stream().filter(list2-> Objects.equals(list1.getId(),list2.getLineId ())).findAny().map(m->{
|
list.stream().map(list1->lineData.stream().filter(list2-> Objects.equals(list1.getId(),list2.getLineId ())).findAny().map(m->{
|
||||||
list1.setData (m.getValue ());
|
list1.setData (m.getValue ());
|
||||||
@@ -621,7 +609,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
|
|||||||
|
|
||||||
if(CollectionUtil.isNotEmpty(monitorIdList)){
|
if(CollectionUtil.isNotEmpty(monitorIdList)){
|
||||||
//获取监测点数据
|
//获取监测点数据
|
||||||
List<RMpPollutionDPO> lineData = rMpPollutionDPOMapper.selectMaxList ( monitorIdList,pollutionType,param.getSearchBeginTime());
|
List<RMpPollutionDPO> lineData = rMpPollutionDPOMapper.selectMaxList ( monitorIdList,pollutionType,param.getSearchBeginTime(),param.getSearchEndTime());
|
||||||
|
|
||||||
if(CollectionUtil.isEmpty(lineData)){
|
if(CollectionUtil.isEmpty(lineData)){
|
||||||
return list;
|
return list;
|
||||||
|
|||||||
Reference in New Issue
Block a user