1.终端和主配网监测点,国网下穿接口编写
This commit is contained in:
@@ -0,0 +1,55 @@
|
|||||||
|
package com.njcn.device.pms.pojo.param.gw;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author wr
|
||||||
|
* @description
|
||||||
|
* @date 2024/5/16 9:57
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class GwStatisticalParam {
|
||||||
|
|
||||||
|
@ApiModelProperty("统计日期-结束")
|
||||||
|
private String endDate;
|
||||||
|
|
||||||
|
@ApiModelProperty("导出标识:page-导出本页,all-导出全部")
|
||||||
|
private String exportFlag;
|
||||||
|
|
||||||
|
@ApiModelProperty("01-在运,02-在线")
|
||||||
|
private String flag;
|
||||||
|
|
||||||
|
@ApiModelProperty("组织结构id")
|
||||||
|
private String nodeId;
|
||||||
|
|
||||||
|
@ApiModelProperty("组织结构等级")
|
||||||
|
private String nodeLevel;
|
||||||
|
|
||||||
|
@ApiModelProperty("单位id")
|
||||||
|
private String orgId;
|
||||||
|
|
||||||
|
@ApiModelProperty("单位名称")
|
||||||
|
private String orgLevel;
|
||||||
|
|
||||||
|
@ApiModelProperty("统计日期-开始")
|
||||||
|
private String startDate;
|
||||||
|
|
||||||
|
@ApiModelProperty("统计日期")
|
||||||
|
private String statDate;
|
||||||
|
|
||||||
|
@ApiModelProperty("数据类型,01-年数据,02-月数据,03-日数据")
|
||||||
|
private String statType;
|
||||||
|
|
||||||
|
@ApiModelProperty("01-变电站,02-换流站,03-电气化铁路,04-风电场,05-光伏电站,06-冶炼负荷,07-重要敏感用户,08-其他")
|
||||||
|
private String stationType;
|
||||||
|
|
||||||
|
@ApiModelProperty("页码")
|
||||||
|
private Integer pageNum;
|
||||||
|
|
||||||
|
@ApiModelProperty("每页条数")
|
||||||
|
private Integer pageSize;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package com.njcn.device.pms.pojo.param.gw;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author wr
|
||||||
|
* @description 查询监测终端数据列表入参
|
||||||
|
* @date 2024/5/29 15:56
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class GwTerminalParam {
|
||||||
|
|
||||||
|
|
||||||
|
@ApiModelProperty("设备状态:10:未投运;20:在运;30:退役;31:现场留用;33:待报废;40:报废;50:再利用;60:备品备件;70:调拨。")
|
||||||
|
private List<String> deployState;
|
||||||
|
|
||||||
|
@ApiModelProperty("设备类型")
|
||||||
|
private String deviceType;
|
||||||
|
|
||||||
|
@ApiModelProperty("页码")
|
||||||
|
private Integer pageNum;
|
||||||
|
|
||||||
|
@ApiModelProperty("每页条数")
|
||||||
|
private Integer pageSize;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,90 @@
|
|||||||
|
package com.njcn.device.pms.pojo.vo.gw;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author wr
|
||||||
|
* @description
|
||||||
|
* @date 2024/5/29 16:06
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class Statistical {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
|
||||||
|
@ApiModelProperty("实收数")
|
||||||
|
private String actualCollectNum;
|
||||||
|
|
||||||
|
@ApiModelProperty("监测母线id")
|
||||||
|
private String busId;
|
||||||
|
|
||||||
|
@ApiModelProperty("母线名称")
|
||||||
|
private String busName;
|
||||||
|
|
||||||
|
@ApiModelProperty("所属地市")
|
||||||
|
private String cityId;
|
||||||
|
|
||||||
|
@ApiModelProperty("所属地市名称")
|
||||||
|
private String cityName;
|
||||||
|
|
||||||
|
@ApiModelProperty("数据完整率")
|
||||||
|
private String dataFullRate;
|
||||||
|
|
||||||
|
@ApiModelProperty("应收数")
|
||||||
|
private String expectCollectNum;
|
||||||
|
|
||||||
|
@ApiModelProperty("运维单位")
|
||||||
|
private String maintOrg;
|
||||||
|
|
||||||
|
@ApiModelProperty("运维单位名称")
|
||||||
|
private String maintOrgName;
|
||||||
|
|
||||||
|
@ApiModelProperty("监测点Id")
|
||||||
|
private String monitorId;
|
||||||
|
|
||||||
|
@ApiModelProperty("监测点名称")
|
||||||
|
private String monitorName;
|
||||||
|
|
||||||
|
@ApiModelProperty("监测对象名称")
|
||||||
|
private String monitorObjName;
|
||||||
|
|
||||||
|
@ApiModelProperty("监测对象大类")
|
||||||
|
private String monitorObjPre;
|
||||||
|
|
||||||
|
@ApiModelProperty("监测对象大类名称")
|
||||||
|
private String monitorObjPreName;
|
||||||
|
|
||||||
|
@ApiModelProperty("监测点类别")
|
||||||
|
private String monitorType;
|
||||||
|
|
||||||
|
@ApiModelProperty("监测点类别名称")
|
||||||
|
private String monitorTypeName;
|
||||||
|
|
||||||
|
@ApiModelProperty("在线日期")
|
||||||
|
private String onlineDate;
|
||||||
|
|
||||||
|
@ApiModelProperty("主键")
|
||||||
|
private String psrId;
|
||||||
|
|
||||||
|
@ApiModelProperty("所属电站id")
|
||||||
|
private String stationId;
|
||||||
|
|
||||||
|
@ApiModelProperty("所属电站名称")
|
||||||
|
private String stationName;
|
||||||
|
|
||||||
|
@ApiModelProperty("监测点状态")
|
||||||
|
private String status;
|
||||||
|
|
||||||
|
@ApiModelProperty("监测点状态名称")
|
||||||
|
private String statusName;
|
||||||
|
|
||||||
|
@ApiModelProperty("监测点电压等级")
|
||||||
|
private String voltageLevel;
|
||||||
|
|
||||||
|
@ApiModelProperty("监测点电压等级名称")
|
||||||
|
private String voltageLevelName;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,57 @@
|
|||||||
|
package com.njcn.device.pms.controller.gwPush;
|
||||||
|
|
||||||
|
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||||
|
import com.njcn.common.pojo.enums.common.LogEnum;
|
||||||
|
import com.njcn.device.pms.pojo.param.gw.GwStatisticalParam;
|
||||||
|
import com.njcn.device.pms.pojo.param.gw.GwTerminalParam;
|
||||||
|
import com.njcn.device.pms.pojo.vo.gw.Statistical;
|
||||||
|
import com.njcn.device.pms.service.gwPush.MonitorStatisticsService;
|
||||||
|
import com.njcn.web.pojo.dto.PmsHttpResult;
|
||||||
|
import com.njcn.web.pojo.dto.PmsPage;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiImplicitParam;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author wr
|
||||||
|
* @description
|
||||||
|
* @date 2024/5/16 9:22
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/basicInfo")
|
||||||
|
@Api(tags = "主配网监测点统计下穿")
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class MonitorStatisticalController {
|
||||||
|
|
||||||
|
private final MonitorStatisticsService monitorStatisticsService;
|
||||||
|
|
||||||
|
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||||
|
@PostMapping("/Equipment/getMonitorTerminalData")
|
||||||
|
@ApiOperation("查询监测终端数据列表")
|
||||||
|
@ApiImplicitParam(name = "param", value = "实体参数", required = true)
|
||||||
|
public PmsHttpResult<PmsPage<Map<String, String>>> getMonitorTerminalData(@RequestBody GwTerminalParam param) {
|
||||||
|
PmsPage<Map<String, String>> PmsPage = monitorStatisticsService.getMonitorTerminalData(param);
|
||||||
|
return new PmsHttpResult<>(0, PmsPage);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||||
|
@PostMapping("/jcd/getMonitorStatisticalDetailList")
|
||||||
|
@ApiOperation("查询主配网监测点统计")
|
||||||
|
@ApiImplicitParam(name = "param", value = "实体参数", required = true)
|
||||||
|
public PmsHttpResult<PmsPage<Statistical>> getMonitorStatisticalDetailList(@RequestBody GwStatisticalParam param) {
|
||||||
|
PmsPage<Statistical> PmsPage = monitorStatisticsService.getMonitorStatisticalDetailList(param);;
|
||||||
|
return new PmsHttpResult<>(0, PmsPage);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -4,6 +4,7 @@ package com.njcn.device.pms.mapper.majornetwork;
|
|||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.njcn.device.pms.pojo.dto.MonitorIntegrityDataDTO;
|
import com.njcn.device.pms.pojo.dto.MonitorIntegrityDataDTO;
|
||||||
|
import com.njcn.device.pms.pojo.param.DataQualityDetailsParam;
|
||||||
import com.njcn.device.pq.pojo.param.LineBaseQueryParam;
|
import com.njcn.device.pq.pojo.param.LineBaseQueryParam;
|
||||||
import com.njcn.device.pq.pojo.param.OnlineRateParam;
|
import com.njcn.device.pq.pojo.param.OnlineRateParam;
|
||||||
import com.njcn.device.pq.pojo.po.LineDataIntegrity;
|
import com.njcn.device.pq.pojo.po.LineDataIntegrity;
|
||||||
@@ -26,4 +27,18 @@ public interface RStatIntegrityDMapper extends BaseMapper<RStatIntegrityD> {
|
|||||||
|
|
||||||
Page<RStatIntegrityD> getMonitorIntegrityData (@Param("page") Page<RStatIntegrityD> page,@Param("monitorIntegrityDataDTO")MonitorIntegrityDataDTO monitorIntegrityDataDTO,@Param("ids")List<String> ids);
|
Page<RStatIntegrityD> getMonitorIntegrityData (@Param("page") Page<RStatIntegrityD> page,@Param("monitorIntegrityDataDTO")MonitorIntegrityDataDTO monitorIntegrityDataDTO,@Param("ids")List<String> ids);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 实收数大于0的,监测点数据完整率信息
|
||||||
|
* @param monitorIds 监测点id
|
||||||
|
* @param startTime 开始时间
|
||||||
|
* @param endTime 结束时间
|
||||||
|
* @param type 是否判断实收数大于0
|
||||||
|
* @Date: 2024/5/30 9:48
|
||||||
|
*/
|
||||||
|
List<RStatIntegrityVO> getMonitorRealTimeBeZero(@Param("monitorIds") List<String> monitorIds,
|
||||||
|
@Param("startTime") String startTime,
|
||||||
|
@Param("endTime") String endTime,
|
||||||
|
@Param("type") Integer type
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,6 +20,38 @@
|
|||||||
integrityData < #{monitorIntegrityDataDTO.limitValue}
|
integrityData < #{monitorIntegrityDataDTO.limitValue}
|
||||||
</if>
|
</if>
|
||||||
|
|
||||||
|
</select>
|
||||||
|
<select id="getMonitorRealTimeBeZero" resultType="com.njcn.device.pq.pojo.vo.RStatIntegrityVO">
|
||||||
|
SELECT
|
||||||
|
line_index lineIndex,
|
||||||
|
CONVERT (
|
||||||
|
SUM( real_time )* 100 / SUM( due_time ),
|
||||||
|
DECIMAL ( 15, 2 )) AS integrityRate,
|
||||||
|
sum( real_time ) `realTime`,
|
||||||
|
sum( due_time ) dueTime
|
||||||
|
FROM
|
||||||
|
r_stat_integrity_d
|
||||||
|
<where>
|
||||||
|
<if test="monitorIds.size > 0">
|
||||||
|
AND line_index IN
|
||||||
|
<foreach collection='monitorIds' item='item' index="index" open='(' separator=',' close=')'>
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
<if test="startTime != null and startTime !=''">
|
||||||
|
AND time_id >= #{startTime}
|
||||||
|
</if>
|
||||||
|
<if test="endTime != null and endTime != ''">
|
||||||
|
AND time_id <= #{endTime}
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
GROUP BY
|
||||||
|
lineIndex
|
||||||
|
<if test="type != null ">
|
||||||
|
HAVING
|
||||||
|
realTime > 0
|
||||||
|
</if>
|
||||||
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
@@ -1,8 +1,13 @@
|
|||||||
package com.njcn.device.pms.service.gwPush;
|
package com.njcn.device.pms.service.gwPush;
|
||||||
|
|
||||||
|
import com.njcn.device.pms.pojo.param.gw.GwStatisticalParam;
|
||||||
|
import com.njcn.device.pms.pojo.param.gw.GwTerminalParam;
|
||||||
import com.njcn.device.pms.pojo.vo.gw.MonitorEnergy;
|
import com.njcn.device.pms.pojo.vo.gw.MonitorEnergy;
|
||||||
|
import com.njcn.device.pms.pojo.vo.gw.Statistical;
|
||||||
|
import com.njcn.web.pojo.dto.PmsPage;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 国网台账类上送
|
* 国网台账类上送
|
||||||
@@ -22,4 +27,21 @@ public interface MonitorStatisticsService {
|
|||||||
* @Date: 2024/3/22 9:49
|
* @Date: 2024/3/22 9:49
|
||||||
*/
|
*/
|
||||||
List<MonitorEnergy> getGwMonitorEnergy(String deptId);
|
List<MonitorEnergy> getGwMonitorEnergy(String deptId);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 查询监测终端数据列表
|
||||||
|
* @param param
|
||||||
|
* @Author: wr
|
||||||
|
* @Date: 2024/5/29 16:22
|
||||||
|
*/
|
||||||
|
PmsPage<Map<String, String>> getMonitorTerminalData(GwTerminalParam param);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 查询主配网监测点统计
|
||||||
|
* @param param
|
||||||
|
* @Author: wr
|
||||||
|
* @Date: 2024/5/29 16:32
|
||||||
|
*/
|
||||||
|
PmsPage<Statistical> getMonitorStatisticalDetailList(GwStatisticalParam param);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,21 +1,31 @@
|
|||||||
package com.njcn.device.pms.service.gwPush.impl;
|
package com.njcn.device.pms.service.gwPush.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.util.NumberUtil;
|
import cn.hutool.core.util.NumberUtil;
|
||||||
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.extension.plugins.pagination.Page;
|
||||||
import com.njcn.common.pojo.enums.common.DataStateEnum;
|
import com.njcn.common.pojo.enums.common.DataStateEnum;
|
||||||
import com.njcn.device.biz.pojo.dto.DeptGetBase;
|
import com.njcn.device.biz.pojo.dto.DeptGetBase;
|
||||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
|
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
|
||||||
import com.njcn.device.biz.pojo.dto.LineDevGetDTO;
|
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.device.pms.mapper.majornetwork.MonitorMapper;
|
import com.njcn.device.pms.mapper.majornetwork.MonitorMapper;
|
||||||
import com.njcn.device.pms.pojo.po.Monitor;
|
import com.njcn.device.pms.mapper.majornetwork.PmsGeneratrixWireMapper;
|
||||||
import com.njcn.device.pms.pojo.po.PmsNewEnergy;
|
import com.njcn.device.pms.mapper.majornetwork.RStatIntegrityDMapper;
|
||||||
|
import com.njcn.device.pms.mapper.majornetwork.StatationStatMapper;
|
||||||
|
import com.njcn.device.pms.pojo.param.gw.GwStatisticalParam;
|
||||||
|
import com.njcn.device.pms.pojo.param.gw.GwTerminalParam;
|
||||||
|
import com.njcn.device.pms.pojo.po.*;
|
||||||
import com.njcn.device.pms.pojo.vo.gw.MonitorEnergy;
|
import com.njcn.device.pms.pojo.vo.gw.MonitorEnergy;
|
||||||
|
import com.njcn.device.pms.pojo.vo.gw.Statistical;
|
||||||
import com.njcn.device.pms.service.gwPush.IPmsNewEnergyService;
|
import com.njcn.device.pms.service.gwPush.IPmsNewEnergyService;
|
||||||
import com.njcn.device.pms.service.gwPush.MonitorStatisticsService;
|
import com.njcn.device.pms.service.gwPush.MonitorStatisticsService;
|
||||||
import com.njcn.device.pms.service.ledgerManger.CommTerminalService;
|
import com.njcn.device.pms.service.ledgerManger.CommTerminalService;
|
||||||
|
import com.njcn.device.pms.service.majornetwork.ITerminalService;
|
||||||
|
import com.njcn.device.pms.service.majornetwork.ITractionStationService;
|
||||||
|
import com.njcn.device.pq.pojo.vo.RStatIntegrityVO;
|
||||||
import com.njcn.system.api.DicDataFeignClient;
|
import com.njcn.system.api.DicDataFeignClient;
|
||||||
import com.njcn.system.api.DictTreeFeignClient;
|
import com.njcn.system.api.DictTreeFeignClient;
|
||||||
import com.njcn.system.enums.DicDataTypeEnum;
|
import com.njcn.system.enums.DicDataTypeEnum;
|
||||||
@@ -25,10 +35,12 @@ import com.njcn.system.pojo.po.SysDicTreePO;
|
|||||||
import com.njcn.system.pojo.vo.DictTreeVO;
|
import com.njcn.system.pojo.vo.DictTreeVO;
|
||||||
import com.njcn.user.api.DeptFeignClient;
|
import com.njcn.user.api.DeptFeignClient;
|
||||||
import com.njcn.user.pojo.dto.DeptDTO;
|
import com.njcn.user.pojo.dto.DeptDTO;
|
||||||
|
import com.njcn.web.pojo.dto.PmsPage;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
import java.util.function.Function;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
import java.util.stream.Stream;
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
@@ -45,9 +57,15 @@ public class MonitorStatisticsServiceImpl implements MonitorStatisticsService {
|
|||||||
private final CommTerminalService commTerminalService;
|
private final CommTerminalService commTerminalService;
|
||||||
private final DictTreeFeignClient dictTreeFeignClient;
|
private final DictTreeFeignClient dictTreeFeignClient;
|
||||||
private final IPmsNewEnergyService pmsNewEnergyService;
|
private final IPmsNewEnergyService pmsNewEnergyService;
|
||||||
private final MonitorMapper monitorIdList;
|
private final MonitorMapper monitorMapper;
|
||||||
private final DeptFeignClient deptFeignClient;
|
private final DeptFeignClient deptFeignClient;
|
||||||
private final DicDataFeignClient dicDataFeignClient;
|
private final DicDataFeignClient dicDataFeignClient;
|
||||||
|
private final RStatIntegrityDMapper integrityDMapper;
|
||||||
|
private final PmsGeneratrixWireMapper generatrixWireMapper;
|
||||||
|
private final StatationStatMapper statationStatMapper;
|
||||||
|
private final ITractionStationService tractionStationService;
|
||||||
|
private final ITerminalService terminalService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<List<String>> getGwMonitorStatistics(String deptId) {
|
public List<List<String>> getGwMonitorStatistics(String deptId) {
|
||||||
List<List<String>> info = new ArrayList<>();
|
List<List<String>> info = new ArrayList<>();
|
||||||
@@ -145,7 +163,7 @@ public class MonitorStatisticsServiceImpl implements MonitorStatisticsService {
|
|||||||
monitorEnergy = new MonitorEnergy();
|
monitorEnergy = new MonitorEnergy();
|
||||||
list = new ArrayList<>();
|
list = new ArrayList<>();
|
||||||
monitorEnergy.setOrgName(pmsGeneralDeviceDTO.getUnitName());
|
monitorEnergy.setOrgName(pmsGeneralDeviceDTO.getUnitName());
|
||||||
List<Monitor> monitors = monitorIdList.selectMonitorAndNewEnergy(pmsGeneralDeviceDTO.getUnitChildrenList(), Arrays.asList(powerStation.getId(), windFarms.getId()));
|
List<Monitor> monitors = monitorMapper.selectMonitorAndNewEnergy(pmsGeneralDeviceDTO.getUnitChildrenList(), Arrays.asList(powerStation.getId(), windFarms.getId()));
|
||||||
//获取场站台账信息
|
//获取场站台账信息
|
||||||
List<PmsNewEnergy> newEnergies = pmsNewEnergyService.list(new LambdaQueryWrapper<PmsNewEnergy>()
|
List<PmsNewEnergy> newEnergies = pmsNewEnergyService.list(new LambdaQueryWrapper<PmsNewEnergy>()
|
||||||
.in(PmsNewEnergy::getObjType, Arrays.asList(powerStation.getId(), windFarms.getId()))
|
.in(PmsNewEnergy::getObjType, Arrays.asList(powerStation.getId(), windFarms.getId()))
|
||||||
@@ -186,6 +204,353 @@ public class MonitorStatisticsServiceImpl implements MonitorStatisticsService {
|
|||||||
return monitorEnergyList;
|
return monitorEnergyList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PmsPage<Map<String, String>> getMonitorTerminalData(GwTerminalParam param) {
|
||||||
|
|
||||||
|
//终端状态
|
||||||
|
List<DictData> devStatus = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_STATUS.getCode()).getData();
|
||||||
|
List<String> devStatusIds = devStatus.stream().filter(x -> param.getDeployState().contains(x.getValue())).map(DictData::getId).collect(Collectors.toList());
|
||||||
|
Map<String, DictData> mapDevStatus = devStatus.stream().collect(Collectors.toMap(DictData::getId, Function.identity()));
|
||||||
|
|
||||||
|
|
||||||
|
//测量信号输入形式
|
||||||
|
List<DictData> signal = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.INPUT_SIGNAL.getCode()).getData();
|
||||||
|
Map<String, DictData> mapSignal = signal.stream().collect(Collectors.toMap(DictData::getId, Function.identity()));
|
||||||
|
|
||||||
|
//生产厂家
|
||||||
|
List<DictData> manufacture = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_MANUFACTURER.getCode()).getData();
|
||||||
|
Map<String, DictData> mapManufacture = manufacture.stream().collect(Collectors.toMap(DictData::getId, Function.identity()));
|
||||||
|
|
||||||
|
|
||||||
|
LambdaQueryWrapper<Monitor> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
lambdaQueryWrapper.select(Monitor::getTerminalId);
|
||||||
|
lambdaQueryWrapper.eq(Monitor::getIsUpToGrid, 1);
|
||||||
|
List<Monitor> monitors = monitorMapper.selectList( lambdaQueryWrapper);
|
||||||
|
|
||||||
|
List<String> terminalIds = monitors.stream().map(Monitor::getTerminalId).collect(Collectors.toList());
|
||||||
|
Page<PmsTerminal> page = terminalService.page(new Page<>(param.getPageNum(), param.getPageSize()),
|
||||||
|
new LambdaQueryWrapper<PmsTerminal>()
|
||||||
|
.in(PmsTerminal::getId, terminalIds)
|
||||||
|
.in(CollUtil.isNotEmpty(devStatusIds), PmsTerminal::getTerminalState,devStatusIds)
|
||||||
|
);
|
||||||
|
List<PmsTerminal> records = page.getRecords();
|
||||||
|
List<Map<String, String>> info = new ArrayList<>();
|
||||||
|
Map<String, String> map;
|
||||||
|
for (PmsTerminal terminal : records) {
|
||||||
|
map = new LinkedHashMap<>();
|
||||||
|
//电能质量监测装置
|
||||||
|
map.put("deviceKind", "");
|
||||||
|
//运维单位ID
|
||||||
|
map.put("maintOrg", terminal.getOperationId());
|
||||||
|
//信号输出形式
|
||||||
|
map.put("signalInputForm", "");
|
||||||
|
//电站类型
|
||||||
|
map.put("stationType", "");
|
||||||
|
//设备增加方式名称
|
||||||
|
map.put("source#Name", "");
|
||||||
|
//设备增加方式
|
||||||
|
map.put("source", "");
|
||||||
|
//电流输出变化
|
||||||
|
map.put("currsigInputChanqutity", "");
|
||||||
|
//资产单位名称
|
||||||
|
map.put("astOrg#Name", "");
|
||||||
|
//资产单位
|
||||||
|
map.put("astOrg", "");
|
||||||
|
//屏柜类型
|
||||||
|
map.put("cabinetType", "");
|
||||||
|
//时间
|
||||||
|
map.put("ctime", "");
|
||||||
|
//型号
|
||||||
|
map.put("model", "");
|
||||||
|
//电站名称
|
||||||
|
map.put("station#Name", "");
|
||||||
|
//设备所有者
|
||||||
|
map.put("equipmentOwner", "");
|
||||||
|
//制造商编号
|
||||||
|
map.put("manufactureNum", "");
|
||||||
|
//Ip地址
|
||||||
|
map.put("ipAddress", terminal.getIp());
|
||||||
|
//设备编码
|
||||||
|
map.put("equipCode", "");
|
||||||
|
//子网
|
||||||
|
map.put("subnetMask", "");
|
||||||
|
//设备ID
|
||||||
|
map.put("astId", "");
|
||||||
|
//mac地址
|
||||||
|
map.put("macAddress", "");
|
||||||
|
//信号输出形式名称
|
||||||
|
if (mapSignal.containsKey(terminal.getInputType())) {
|
||||||
|
DictData dictData = mapSignal.get(terminal.getInputType());
|
||||||
|
map.put("signalInputForm#Name", dictData.getName());
|
||||||
|
}
|
||||||
|
//运维单位名称
|
||||||
|
map.put("maintOrg#Name", terminal.getOperationName());
|
||||||
|
//名字
|
||||||
|
map.put("name", terminal.getName());
|
||||||
|
//装置等级
|
||||||
|
map.put("deviceLevel", "");
|
||||||
|
//工程编号
|
||||||
|
map.put("projectNum", "");
|
||||||
|
//工程名称
|
||||||
|
map.put("projectName", "");
|
||||||
|
//操作日期
|
||||||
|
map.put("operateDate", "");
|
||||||
|
|
||||||
|
//设备状态
|
||||||
|
if (mapDevStatus.containsKey(terminal.getTerminalState())) {
|
||||||
|
DictData dictData = mapDevStatus.get(terminal.getTerminalState());
|
||||||
|
//设备状态字典
|
||||||
|
map.put("deployState", dictData.getValue());
|
||||||
|
//设备状态字典名称
|
||||||
|
map.put("deployState#Name", dictData.getName());
|
||||||
|
}
|
||||||
|
|
||||||
|
//硬盘容量
|
||||||
|
map.put("hardDiskCapacity", "");
|
||||||
|
//城市
|
||||||
|
map.put("city", "");
|
||||||
|
//时间同步
|
||||||
|
map.put("timeSynchronization", "");
|
||||||
|
//资产性质
|
||||||
|
map.put("astNature", "");
|
||||||
|
|
||||||
|
//生产厂家
|
||||||
|
if (mapManufacture.containsKey(terminal.getManufacture())) {
|
||||||
|
DictData dictData = mapManufacture.get(terminal.getManufacture());
|
||||||
|
map.put("manufacturer", dictData.getName());
|
||||||
|
}
|
||||||
|
|
||||||
|
//设备所属名称
|
||||||
|
map.put("astOrgName", "");
|
||||||
|
//电压信号输入变化
|
||||||
|
map.put("voltsigInputChanqutity", "");
|
||||||
|
//运行编号
|
||||||
|
map.put("runDevName", "");
|
||||||
|
//设备电源电压
|
||||||
|
map.put("devPowerVoltage", "");
|
||||||
|
//变电站
|
||||||
|
map.put("station", "");
|
||||||
|
//制造日期
|
||||||
|
map.put("manufactureDate", "");
|
||||||
|
//资产性质名称
|
||||||
|
map.put("astNature#Name", "");
|
||||||
|
//端口编号
|
||||||
|
map.put("portNum", "");
|
||||||
|
//保养组名称
|
||||||
|
map.put("maintGroup#Name", "");
|
||||||
|
//保养组
|
||||||
|
map.put("maintGroup", "");
|
||||||
|
//制造商名称
|
||||||
|
map.put("manufacturer#Name", "");
|
||||||
|
//发现日期
|
||||||
|
map.put("detectDate", "");
|
||||||
|
//城市名称
|
||||||
|
map.put("city#Name", "");
|
||||||
|
//变电站类型名称
|
||||||
|
map.put("stationType#Name", "");
|
||||||
|
|
||||||
|
//设备级别名称
|
||||||
|
map.put("deviceLevel#Name", "");
|
||||||
|
//储藏柜
|
||||||
|
map.put("cabinet", "");
|
||||||
|
//网关
|
||||||
|
map.put("gateway", "");
|
||||||
|
//电站电压等级名称
|
||||||
|
map.put("stationVoltageLevelName", "");
|
||||||
|
//终端识别码
|
||||||
|
map.put("terminalIdentifyCode", "");
|
||||||
|
//终端键
|
||||||
|
map.put("terminalKey", "");
|
||||||
|
info.add(map);
|
||||||
|
}
|
||||||
|
PmsPage pmsPage = BeanUtil.copyProperties(page, PmsPage.class);
|
||||||
|
pmsPage.setList(info);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PmsPage<Statistical> getMonitorStatisticalDetailList(GwStatisticalParam param) {
|
||||||
|
//在线监测点 监测点实收数量大于0,则标识这个监测点就是在线的
|
||||||
|
List<RStatIntegrityVO> monitorRealTimeBeZero = new ArrayList<>();
|
||||||
|
List<String> lineIds = new ArrayList<>();
|
||||||
|
if ("02".equals(param.getFlag())) {
|
||||||
|
monitorRealTimeBeZero.addAll(integrityDMapper.getMonitorRealTimeBeZero(null, param.getStartDate(), param.getEndDate(), 0));
|
||||||
|
lineIds.addAll(monitorRealTimeBeZero.stream().map(RStatIntegrityVO::getLineIndex).collect(Collectors.toList()));
|
||||||
|
}
|
||||||
|
List<String> objTypeIds = new ArrayList<>();
|
||||||
|
LambdaQueryWrapper<Monitor> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
if (StrUtil.isNotBlank(param.getOrgId())) {
|
||||||
|
List<String> data = deptFeignClient.getDepSonSelfCodetByCode(param.getOrgId()).getData();
|
||||||
|
lambdaQueryWrapper.in(Monitor::getOrgId, data);
|
||||||
|
}
|
||||||
|
String monitorObjPreName;
|
||||||
|
if ("08".equals(param.getStationType())) {
|
||||||
|
monitorObjPreName="其他";
|
||||||
|
//特殊处理
|
||||||
|
List<SysDicTreePO> sysDicTreePOList = dictTreeFeignClient.queryAll().getData();
|
||||||
|
List<SysDicTreePO> typicDic = sysDicTreePOList.stream()
|
||||||
|
.filter(item -> Objects.equals(DicTreeEnum.Trans_Sub.getCode(), item.getCode()) ||
|
||||||
|
Objects.equals(DicTreeEnum.Converter.getCode(), item.getCode()) ||
|
||||||
|
Objects.equals(DicTreeEnum.Ele_Railways.getCode(), item.getCode()) ||
|
||||||
|
Objects.equals(DicTreeEnum.Wind_Farms.getCode(), item.getCode()) ||
|
||||||
|
Objects.equals(DicTreeEnum.Power_Station.getCode(), item.getCode()) ||
|
||||||
|
Objects.equals(DicTreeEnum.Smelting_Load.getCode(), item.getCode()) ||
|
||||||
|
Objects.equals(DicTreeEnum.Imp_Users.getCode(), item.getCode()))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
for (SysDicTreePO sysDicTreePO : typicDic) {
|
||||||
|
List<DictTreeVO> temList = dictTreeFeignClient.query(sysDicTreePO.getId()).getData();
|
||||||
|
List<String> ids = temList.stream().map(DictTreeVO::getId).collect(Collectors.toList());
|
||||||
|
objTypeIds.addAll(ids);
|
||||||
|
objTypeIds.add(sysDicTreePO.getId());
|
||||||
|
}
|
||||||
|
lambdaQueryWrapper.notIn(Monitor::getObjType, objTypeIds);
|
||||||
|
} else {
|
||||||
|
//01-变电站,02-换流站,03-电气化铁路,04-风电场,05-光伏电站,06-冶炼负荷,07-重要敏感用户,08-其他
|
||||||
|
String code;
|
||||||
|
switch (param.getStationType()) {
|
||||||
|
case "01":
|
||||||
|
monitorObjPreName=DicTreeEnum.Trans_Sub.getName();
|
||||||
|
code = DicTreeEnum.Trans_Sub.getCode();
|
||||||
|
break;
|
||||||
|
case "02":
|
||||||
|
monitorObjPreName=DicTreeEnum.Converter.getName();
|
||||||
|
code = DicTreeEnum.Converter.getCode();
|
||||||
|
break;
|
||||||
|
case "03":
|
||||||
|
monitorObjPreName=DicTreeEnum.Ele_Railways.getName();
|
||||||
|
code = DicTreeEnum.Ele_Railways.getCode();
|
||||||
|
break;
|
||||||
|
case "04":
|
||||||
|
monitorObjPreName=DicTreeEnum.Wind_Farms.getName();
|
||||||
|
code = DicTreeEnum.Wind_Farms.getCode();
|
||||||
|
break;
|
||||||
|
case "05":
|
||||||
|
monitorObjPreName=DicTreeEnum.Power_Station.getName();
|
||||||
|
code = DicTreeEnum.Power_Station.getCode();
|
||||||
|
break;
|
||||||
|
case "06":
|
||||||
|
monitorObjPreName=DicTreeEnum.Smelting_Load.getName();
|
||||||
|
code = DicTreeEnum.Smelting_Load.getCode();
|
||||||
|
break;
|
||||||
|
case "07":
|
||||||
|
monitorObjPreName=DicTreeEnum.Imp_Users.getName();
|
||||||
|
code = DicTreeEnum.Imp_Users.getCode();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return new PmsPage<>(param.getPageNum(), param.getPageSize());
|
||||||
|
}
|
||||||
|
String id = dictTreeFeignClient.queryByCode(code).getData().getId();
|
||||||
|
List<DictTreeVO> objType = dictTreeFeignClient.query(id).getData();
|
||||||
|
objTypeIds.add(id);
|
||||||
|
if (CollUtil.isNotEmpty(objType)) {
|
||||||
|
objTypeIds.addAll(objType.stream().map(DictTreeVO::getId).collect(Collectors.toList()));
|
||||||
|
}
|
||||||
|
lambdaQueryWrapper.in(Monitor::getObjType, objTypeIds);
|
||||||
|
}
|
||||||
|
|
||||||
|
//获取监测点信息
|
||||||
|
lambdaQueryWrapper.eq(Monitor::getIsUpToGrid, 1);
|
||||||
|
lambdaQueryWrapper.in(CollUtil.isNotEmpty(lineIds), Monitor::getId, lineIds);
|
||||||
|
Page<Monitor> monitorList = monitorMapper.selectPage(new Page<>(param.getPageNum(), param.getPageSize()), lambdaQueryWrapper);
|
||||||
|
|
||||||
|
if (CollUtil.isNotEmpty(monitorList.getRecords())) {
|
||||||
|
List<String> monitorId = monitorList.getRecords().stream().map(Monitor::getId).distinct().collect(Collectors.toList());
|
||||||
|
monitorRealTimeBeZero.addAll(integrityDMapper.getMonitorRealTimeBeZero(monitorId, param.getStartDate(), param.getEndDate(), null));
|
||||||
|
}
|
||||||
|
//线路变电站
|
||||||
|
List<String> wireIds = monitorList.getRecords().stream().map(Monitor::getLineId).distinct().collect(Collectors.toList());
|
||||||
|
List<String> powerIds = monitorList.getRecords().stream().map(Monitor::getPowerrId).distinct().collect(Collectors.toList());
|
||||||
|
List<GeneratrixWire> wiresList = new ArrayList<>();
|
||||||
|
List<StatationStat> stationStats = new ArrayList<>();
|
||||||
|
if (CollUtil.isNotEmpty(lineIds)) {
|
||||||
|
wiresList.addAll(generatrixWireMapper.selectBatchIds(wireIds));
|
||||||
|
}
|
||||||
|
if (CollUtil.isNotEmpty(powerIds)) {
|
||||||
|
stationStats.addAll(statationStatMapper.selectBatchIds(powerIds));
|
||||||
|
}
|
||||||
|
Map<String, GeneratrixWire> wireMap = wiresList.stream().collect(Collectors
|
||||||
|
.toMap(GeneratrixWire::getId, Function.identity()));
|
||||||
|
Map<String, StatationStat> powerMap = stationStats.stream().collect(Collectors
|
||||||
|
.toMap(StatationStat::getPowerId, Function.identity()));
|
||||||
|
//电压等级
|
||||||
|
List<DictData> voltage = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE.getCode()).getData();
|
||||||
|
Map<String, DictData> mapVoltage = voltage.stream().collect(Collectors.toMap(DictData::getId, Function.identity()));
|
||||||
|
//运行状态
|
||||||
|
List<DictData> lineState = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.LINE_STATE.getCode()).getData();
|
||||||
|
Map<String, DictData> mapLineState = lineState.stream().collect(Collectors.toMap(DictData::getId, Function.identity()));
|
||||||
|
//分类行业
|
||||||
|
List<DictData> industryType = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.INDUSTRY_TYPE.getCode()).getData();
|
||||||
|
Map<String, DictData> mapIndustryType = industryType.stream().collect(Collectors.toMap(DictData::getId, Function.identity()));
|
||||||
|
//获取已存在牵引站的信息
|
||||||
|
List<String> tractionIds = monitorList.getRecords().stream().map(Monitor::getTractionId).collect(Collectors.toList());
|
||||||
|
List<TractionStation> tractionStationList = new ArrayList<>();
|
||||||
|
if (CollUtil.isNotEmpty(powerIds)) {
|
||||||
|
tractionStationList.addAll(tractionStationService.list(new LambdaQueryWrapper<TractionStation>()
|
||||||
|
.in(TractionStation::getId, tractionIds)));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Map<String, RStatIntegrityVO> integrityVOMap = monitorRealTimeBeZero.stream().collect(Collectors.toMap(RStatIntegrityVO::getLineIndex, Function.identity()));
|
||||||
|
List<Statistical> info = new ArrayList<>();
|
||||||
|
Statistical statistical;
|
||||||
|
|
||||||
|
|
||||||
|
for (Monitor monitor : monitorList.getRecords()) {
|
||||||
|
statistical = new Statistical();
|
||||||
|
if (integrityVOMap.containsKey(monitor.getId())) {
|
||||||
|
RStatIntegrityVO integrity = integrityVOMap.get(monitor.getId());
|
||||||
|
statistical.setActualCollectNum(integrity.getRealTime().toString());
|
||||||
|
statistical.setExpectCollectNum(integrity.getDueTime().toString());
|
||||||
|
statistical.setDataFullRate(integrity.getIntegrityRate().toString());
|
||||||
|
} else {
|
||||||
|
statistical.setActualCollectNum("0");
|
||||||
|
statistical.setExpectCollectNum("0");
|
||||||
|
statistical.setDataFullRate("0");
|
||||||
|
}
|
||||||
|
//母线的电压等级
|
||||||
|
if (wireMap.containsKey(monitor.getLineId())) {
|
||||||
|
GeneratrixWire generatrixWire = wireMap.get(monitor.getLineId());
|
||||||
|
statistical.setBusId(generatrixWire.getMidBusId());
|
||||||
|
statistical.setBusName(generatrixWire.getName());
|
||||||
|
}
|
||||||
|
statistical.setCityId(monitor.getOrgId());
|
||||||
|
statistical.setCityName(monitor.getOrgName());
|
||||||
|
statistical.setMaintOrg(monitor.getOperationId());
|
||||||
|
statistical.setMaintOrgName(monitor.getOperationName());
|
||||||
|
statistical.setMonitorId(monitor.getMonitorId());
|
||||||
|
statistical.setMonitorName(monitor.getName());
|
||||||
|
statistical.setMonitorObjName(monitor.getMonitorObjectName());
|
||||||
|
statistical.setOnlineDate(param.getEndDate());
|
||||||
|
statistical.setPsrId(monitor.getId());
|
||||||
|
|
||||||
|
statistical.setMonitorObjPre(param.getStationType());
|
||||||
|
statistical.setMonitorObjPreName(monitorObjPreName);
|
||||||
|
// statistical.setMonitorType();
|
||||||
|
// statistical.setMonitorTypeName();
|
||||||
|
//变电站
|
||||||
|
if (powerMap.containsKey(monitor.getPowerrId())) {
|
||||||
|
StatationStat statationStat = powerMap.get(monitor.getPowerrId());
|
||||||
|
statistical.setStationId(statationStat.getMidStationId());
|
||||||
|
statistical.setStationName(statationStat.getPowerName());
|
||||||
|
}
|
||||||
|
//电压等级
|
||||||
|
if (mapVoltage.containsKey(monitor.getVoltageLevel())) {
|
||||||
|
statistical.setVoltageLevel(String.format("%02d", mapVoltage.get(monitor.getVoltageLevel()).getAlgoDescribe()));
|
||||||
|
statistical.setVoltageLevelName(mapVoltage.get(monitor.getVoltageLevel()).getName());
|
||||||
|
}
|
||||||
|
//运行状态
|
||||||
|
if (mapLineState.containsKey(monitor.getMonitorState())) {
|
||||||
|
statistical.setStatus(mapLineState.get(monitor.getMonitorState()).getValue());
|
||||||
|
statistical.setStatusName(mapLineState.get(monitor.getMonitorState()).getName());
|
||||||
|
}
|
||||||
|
info.add(statistical);
|
||||||
|
}
|
||||||
|
PmsPage pmsPage = BeanUtil.copyProperties(monitorList, PmsPage.class);
|
||||||
|
pmsPage.setList(info);
|
||||||
|
return pmsPage;
|
||||||
|
}
|
||||||
|
|
||||||
private List<String> addmetWorkList(Map<String, List<String>> mapSourceLoad, List<LineDevGetDTO> upToGridList, List<String> line) {
|
private List<String> addmetWorkList(Map<String, List<String>> mapSourceLoad, List<LineDevGetDTO> upToGridList, List<String> line) {
|
||||||
long total = 0;
|
long total = 0;
|
||||||
for (String s : mapSourceLoad.keySet()) {
|
for (String s : mapSourceLoad.keySet()) {
|
||||||
@@ -199,6 +564,7 @@ public class MonitorStatisticsServiceImpl implements MonitorStatisticsService {
|
|||||||
line.add(String.valueOf(total));
|
line.add(String.valueOf(total));
|
||||||
return line;
|
return line;
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<String> addSourceLoadList(Map<String, List<String>> mapSourceLoad, List<LineDevGetDTO> upToGridList, List<String> line) {
|
private List<String> addSourceLoadList(Map<String, List<String>> mapSourceLoad, List<LineDevGetDTO> upToGridList, List<String> line) {
|
||||||
long total = 0;
|
long total = 0;
|
||||||
for (String s : mapSourceLoad.keySet()) {
|
for (String s : mapSourceLoad.keySet()) {
|
||||||
@@ -218,8 +584,8 @@ public class MonitorStatisticsServiceImpl implements MonitorStatisticsService {
|
|||||||
line.add(String.valueOf(total));
|
line.add(String.valueOf(total));
|
||||||
return line;
|
return line;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @param objType 监测点对象类型大类
|
* @param objType 监测点对象类型大类
|
||||||
* @param objTypeAll 监测点所有对象类型
|
* @param objTypeAll 监测点所有对象类型
|
||||||
* @return
|
* @return
|
||||||
@@ -229,11 +595,13 @@ public class MonitorStatisticsServiceImpl implements MonitorStatisticsService {
|
|||||||
for (SysDicTreePO load : objType) {
|
for (SysDicTreePO load : objType) {
|
||||||
List<String> ids = objTypeAll.stream().filter(item -> item.getPid().equals(load.getId()) ||
|
List<String> ids = objTypeAll.stream().filter(item -> item.getPid().equals(load.getId()) ||
|
||||||
item.getId().equals(load.getId())
|
item.getId().equals(load.getId())
|
||||||
).map(SysDicTreePO::getId).collect(Collectors.toList());;
|
).map(SysDicTreePO::getId).collect(Collectors.toList());
|
||||||
|
;
|
||||||
mapKey.put(load.getCode(), ids);
|
mapKey.put(load.getCode(), ids);
|
||||||
}
|
}
|
||||||
return mapKey;
|
return mapKey;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<DeptGetBase> getDeptChildrenByParent(String deptId) {
|
public List<DeptGetBase> getDeptChildrenByParent(String deptId) {
|
||||||
List<DeptGetBase> result = new ArrayList<>();
|
List<DeptGetBase> result = new ArrayList<>();
|
||||||
List<DeptDTO> deptDTOList = deptFeignClient.getDepSonDetailByDeptId(deptId).getData();
|
List<DeptDTO> deptDTOList = deptFeignClient.getDepSonDetailByDeptId(deptId).getData();
|
||||||
|
|||||||
@@ -672,7 +672,7 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
|
|||||||
List<String> data = deptFeignClient.getDepSonSelfCodetByCode(param.getOrgId()).getData();
|
List<String> data = deptFeignClient.getDepSonSelfCodetByCode(param.getOrgId()).getData();
|
||||||
lambdaQueryWrapper.in(Monitor::getOrgId, data);
|
lambdaQueryWrapper.in(Monitor::getOrgId, data);
|
||||||
}
|
}
|
||||||
if (StrUtil.isBlank(param.getStatisticsType())) {
|
if ("04".equals(param.getStatisticsType())) {
|
||||||
//特殊处理
|
//特殊处理
|
||||||
List<SysDicTreePO> sysDicTreePOList = dictTreeFeignClient.queryAll().getData();
|
List<SysDicTreePO> sysDicTreePOList = dictTreeFeignClient.queryAll().getData();
|
||||||
List<SysDicTreePO> typicDic = sysDicTreePOList.stream()
|
List<SysDicTreePO> typicDic = sysDicTreePOList.stream()
|
||||||
@@ -702,9 +702,6 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
|
|||||||
case "03":
|
case "03":
|
||||||
code = DicTreeEnum.Power_Station.getCode();
|
code = DicTreeEnum.Power_Station.getCode();
|
||||||
break;
|
break;
|
||||||
case "04":
|
|
||||||
code = DicTreeEnum.Imp_Users.getCode();
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
return new Page<>(param.getPageNum(), param.getPageSize());
|
return new Page<>(param.getPageNum(), param.getPageSize());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -237,7 +237,76 @@
|
|||||||
from (
|
from (
|
||||||
SELECT
|
SELECT
|
||||||
my_index,
|
my_index,
|
||||||
sum( all_time )+sum( flicker_all_time )AS allCount
|
SUM( freq_dev_overtime )+
|
||||||
|
SUM( flicker_overtime ) +
|
||||||
|
SUM( voltage_dev_overtime )+
|
||||||
|
SUM( ubalance_overtime ) +
|
||||||
|
SUM( uaberrance_overtime ) +
|
||||||
|
SUM( i_neg_overtime ) +
|
||||||
|
sum(if((uharm_2_overtime+
|
||||||
|
uharm_3_overtime+
|
||||||
|
uharm_4_overtime+
|
||||||
|
uharm_5_overtime+
|
||||||
|
uharm_6_overtime+
|
||||||
|
uharm_7_overtime+
|
||||||
|
uharm_8_overtime+
|
||||||
|
uharm_9_overtime+
|
||||||
|
uharm_10_overtime+
|
||||||
|
uharm_11_overtime+
|
||||||
|
uharm_12_overtime+
|
||||||
|
uharm_13_overtime+
|
||||||
|
uharm_14_overtime+
|
||||||
|
uharm_15_overtime+
|
||||||
|
uharm_16_overtime+
|
||||||
|
uharm_17_overtime+
|
||||||
|
uharm_18_overtime+
|
||||||
|
uharm_19_overtime+
|
||||||
|
uharm_20_overtime+
|
||||||
|
uharm_21_overtime+
|
||||||
|
uharm_22_overtime+
|
||||||
|
uharm_23_overtime+
|
||||||
|
uharm_24_overtime+
|
||||||
|
uharm_25_overtime)>0,1,0))+
|
||||||
|
sum(if((iharm_2_overtime+
|
||||||
|
iharm_3_overtime+
|
||||||
|
iharm_4_overtime+
|
||||||
|
iharm_5_overtime+
|
||||||
|
iharm_6_overtime+
|
||||||
|
iharm_7_overtime+
|
||||||
|
iharm_8_overtime+
|
||||||
|
iharm_9_overtime+
|
||||||
|
iharm_10_overtime+
|
||||||
|
iharm_11_overtime+
|
||||||
|
iharm_12_overtime+
|
||||||
|
iharm_13_overtime+
|
||||||
|
iharm_14_overtime+
|
||||||
|
iharm_15_overtime+
|
||||||
|
iharm_16_overtime+
|
||||||
|
iharm_17_overtime+
|
||||||
|
iharm_18_overtime+
|
||||||
|
iharm_19_overtime+
|
||||||
|
iharm_20_overtime+
|
||||||
|
iharm_21_overtime+
|
||||||
|
iharm_22_overtime+
|
||||||
|
iharm_23_overtime+
|
||||||
|
iharm_24_overtime+
|
||||||
|
iharm_25_overtime)>0,1,0)) +
|
||||||
|
sum(if((inuharm_1_overtime+
|
||||||
|
inuharm_2_overtime+
|
||||||
|
inuharm_3_overtime+
|
||||||
|
inuharm_4_overtime+
|
||||||
|
inuharm_5_overtime+
|
||||||
|
inuharm_6_overtime+
|
||||||
|
inuharm_7_overtime+
|
||||||
|
inuharm_8_overtime+
|
||||||
|
inuharm_9_overtime+
|
||||||
|
inuharm_10_overtime+
|
||||||
|
inuharm_11_overtime+
|
||||||
|
inuharm_12_overtime+
|
||||||
|
inuharm_13_overtime+
|
||||||
|
inuharm_14_overtime+
|
||||||
|
inuharm_15_overtime+
|
||||||
|
inuharm_16_overtime)>0,1,0)) AS allCount
|
||||||
FROM
|
FROM
|
||||||
r_stat_limit_target_d
|
r_stat_limit_target_d
|
||||||
<where>
|
<where>
|
||||||
|
|||||||
Reference in New Issue
Block a user