zbj//1.功率负荷排名根据传入区域id进行筛选 代码调整

This commit is contained in:
zhangbaojian
2023-05-23 10:06:51 +08:00
parent 4ba34e084a
commit 35ede662dc
4 changed files with 35 additions and 12 deletions

View File

@@ -71,7 +71,7 @@ public class LargeScreenController extends BaseController {
@ApiOperation("功率负荷排名")
@ApiImplicitParam(name = "largeScreenParam", value = "功率负荷排名", required = true)
public HttpResult<List<PowerOrderVO>> getPowerOrder(@RequestBody @Validated LargeScreenParam largeScreenParam) {
String methodDescribe = getMethodDescribe("getHomeostasisLoad");
String methodDescribe = getMethodDescribe("getPowerOrder");
List<PowerOrderVO> result = largeScreenService.getPowerOrder(largeScreenParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}

View File

@@ -18,6 +18,6 @@ public interface LargeScreenMapper {
List<Map<String,Object>> getHomeostasisLoad (@Param("indexIds") List<String> indexIds, @Param("startTime") String startTime, @Param("endTime") String endTime);
List<PowerOrderVO> getPowerOrder (LargeScreenParam largeScreenParam);
List<PowerOrderVO> getPowerOrder (@Param("lineIds") List<String> lineIds,@Param("largeScreenParam") LargeScreenParam largeScreenParam);
}

View File

@@ -45,15 +45,21 @@
<select id="getPowerOrder" resultType="com.njcn.device.pq.pojo.vo.PowerOrderVO">
select t.*, pl.`Name` "name"
from (
SELECT rsdhpd.line_id "id", round(max(rsdhpd.p), 0) "max"
FROM r_stat_data_harmpower_p_d rsdhpd
where rsdhpd.value_type = 'MAX'
AND rsdhpd.time BETWEEN date_format(#{searchBeginTime}, '%y%m%d')
AND date_format(#{searchEndTime}, '%y%m%d')
group by rsdhpd.line_id
) t
left join pq_line pl on pl.Id = t.id
ORDER BY t.max desc limit #{limit}
SELECT rsdhpd.line_id "id", round(max(rsdhpd.p), 0) "max"
FROM r_stat_data_harmpower_p_d rsdhpd
<where>
rsdhpd.line_id in
<foreach collection="lineIds" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
and rsdhpd.value_type = 'MAX'
AND rsdhpd.time BETWEEN date_format(#{largeScreenParam.searchBeginTime}, '%y%m%d')
AND date_format(#{largeScreenParam.searchEndTime}, '%y%m%d')
</where>
group by rsdhpd.line_id
) t
left join pq_line pl on pl.Id = t.id
ORDER BY t.max desc limit #{largeScreenParam.limit}
</select>
</mapper>

View File

@@ -141,6 +141,23 @@ public class LargeScreenServiceImpl implements LargeScreenService {
*/
@Override
public List<PowerOrderVO> getPowerOrder(LargeScreenParam largeScreenParam) {
return largeScreenMapper.getPowerOrder(largeScreenParam);
DeviceInfoParam.BusinessParam deviceInfoParam = new DeviceInfoParam.BusinessParam();
//部门索引
deviceInfoParam.setDeptIndex(largeScreenParam.getDeptIndex());
//统计类型
SimpleDTO simpleDTO = new SimpleDTO();
simpleDTO.setCode(String.valueOf(StatisticsEnum.POWER_NETWORK));
deviceInfoParam.setStatisticalType(simpleDTO);
//添加时间
deviceInfoParam.setSearchBeginTime(largeScreenParam.getSearchBeginTime());
deviceInfoParam.setSearchEndTime(largeScreenParam.getSearchEndTime());
// 获取所有数据
List<GeneralDeviceDTO> generalDeviceDTOList = generalDeviceInfoClient.getPracticalAllDeviceInfo(deviceInfoParam).getData();
//获取所有监测点集合
List<String> lineIds = generalDeviceDTOList.stream().flatMap(dto -> dto.getLineIndexes().stream()).collect(Collectors.toList());
return largeScreenMapper.getPowerOrder(lineIds,largeScreenParam);
}
}