1.解决综合评估,时间范围查询bug
This commit is contained in:
@@ -24,24 +24,13 @@ public interface RMpPollutionDPOMapper extends BaseMapper<RMpPollutionDPO> {
|
||||
|
||||
int insertOrUpdateSelective(RMpPollutionDPO record);
|
||||
|
||||
@Select({"<script>",
|
||||
"SELECT\n",
|
||||
" l.line_id,\n",
|
||||
" max(l.value) as value\n",
|
||||
"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<RMpPollutionDPO> selectMaxList(@Param("ids") List<String> line,
|
||||
@Param("pollutionType") String pollutionType,
|
||||
@Param("statTime") String statTime,
|
||||
@Param("endTime") String endTime);
|
||||
|
||||
})
|
||||
List<RMpPollutionDPO> selectMaxList(@Param("items") List<String> line, @Param("pollutionType") String pollutionType, @Param("searchBeginTime") String searchBeginTime);
|
||||
|
||||
List<PublicDTO> getTop10Line(@Param("list") List<String> lineList, @Param("start") DateTime searchBeginTime, @Param("end") DateTime searchEndTime, @Param("pollutionType") String id);
|
||||
List<PublicDTO> getTop10Line(@Param("list") List<String> lineList,
|
||||
@Param("start") DateTime searchBeginTime,
|
||||
@Param("end") DateTime searchEndTime,
|
||||
@Param("pollutionType") String id);
|
||||
}
|
||||
@@ -43,6 +43,30 @@
|
||||
ORDER BY data DESC
|
||||
LIMIT 0,10
|
||||
</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">
|
||||
|
||||
@@ -505,18 +505,6 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
|
||||
List<PollutionLineDTO> list = new ArrayList<>();
|
||||
|
||||
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();
|
||||
if (StringUtils.isBlank(RequestUtil.getDeptIndex())){
|
||||
return list;
|
||||
@@ -528,7 +516,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
|
||||
List<PmsStatationStatInfoDTO> data = statationStatClient.getStatationStatInfo(param).getData();
|
||||
if(CollectionUtil.isNotEmpty(data)){
|
||||
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));
|
||||
PollutionLineDTO dto;
|
||||
for (PmsStatationStatInfoDTO power : data) {
|
||||
@@ -559,7 +547,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
|
||||
if (!CollectionUtils.isEmpty(line)){
|
||||
paramDTO.setLineList(line);
|
||||
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)){
|
||||
list.stream().map(list1->lineData.stream().filter(list2-> Objects.equals(list1.getId(),list2.getLineId ())).findAny().map(m->{
|
||||
list1.setData (m.getValue ());
|
||||
@@ -621,7 +609,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
|
||||
|
||||
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)){
|
||||
return list;
|
||||
|
||||
Reference in New Issue
Block a user