河北pms接口慢问题解决
This commit is contained in:
@@ -5,9 +5,12 @@ import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.device.pms.api.fallback.PmsGeneralDeviceInfoClientFallbackFactory;
|
||||
import com.njcn.device.pms.pojo.dto.PmsGeneralDeviceDTO;
|
||||
import com.njcn.device.pms.pojo.param.PmsDeviceInfoParam;
|
||||
import com.njcn.device.pms.pojo.param.PwPmsMonitorParam;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -39,4 +42,8 @@ public interface PmsGeneralDeviceInfoClient {
|
||||
*/
|
||||
@PostMapping("/getPwPmsDeviceInfoWithOrgId")
|
||||
HttpResult<List<PmsGeneralDeviceDTO>> getPwPmsDeviceInfoWithOrgId(@RequestBody PmsDeviceInfoParam pmsDeviceInfoParam);
|
||||
|
||||
|
||||
@PostMapping("/getPwPmsMonitorIds")
|
||||
HttpResult<List<String>> getPwPmsMonitorIds(@RequestBody PwPmsMonitorParam pwPmsMonitorParam);
|
||||
}
|
||||
|
||||
@@ -7,10 +7,12 @@ import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.device.pms.api.PmsGeneralDeviceInfoClient;
|
||||
import com.njcn.device.pms.pojo.dto.PmsGeneralDeviceDTO;
|
||||
import com.njcn.device.pms.pojo.param.PmsDeviceInfoParam;
|
||||
import com.njcn.device.pms.pojo.param.PwPmsMonitorParam;
|
||||
import com.njcn.device.pms.utils.PmsDeviceEnumUtil;
|
||||
import feign.hystrix.FallbackFactory;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -46,6 +48,12 @@ public class PmsGeneralDeviceInfoClientFallbackFactory implements FallbackFactor
|
||||
log.error("{}异常,降级处理,异常为:{}", "获取指定组织下配网台账综合信息", throwable.toString());
|
||||
throw new BusinessException(finalExceptionEnum);
|
||||
}
|
||||
|
||||
@Override
|
||||
public HttpResult<List<String>> getPwPmsMonitorIds(PwPmsMonitorParam pwPmsMonitorParam) {
|
||||
log.error("{}异常,降级处理,异常为:{}", "获取指定组织下配网监测点索引", throwable.toString());
|
||||
throw new BusinessException(finalExceptionEnum);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
package com.njcn.device.pms.pojo.param;
|
||||
|
||||
import com.njcn.common.pojo.param.StatisticsBizBaseParam;
|
||||
import com.njcn.web.pojo.param.BaseParam;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Title RMpMonitorAlarmCountMParam
|
||||
* @Package com.njcn.device.pms.pojo.param
|
||||
@@ -12,7 +15,7 @@ import lombok.Data;
|
||||
* @Version V1.0
|
||||
*/
|
||||
@Data
|
||||
public class RMpMonitorAlarmCountMParam extends StatisticsBizBaseParam {
|
||||
public class RMpMonitorAlarmCountMParam extends BaseParam {
|
||||
|
||||
@ApiModelProperty(name = "voltage_Level", value = "电压等级id")
|
||||
private String voltageLevel; //电压等级
|
||||
@@ -23,4 +26,33 @@ public class RMpMonitorAlarmCountMParam extends StatisticsBizBaseParam {
|
||||
@ApiModelProperty(name = "measurementPointName", value = "监测点名称")
|
||||
private String measurementPointName;
|
||||
|
||||
private List<String> monitorSort;
|
||||
|
||||
/**
|
||||
* 按台账统计,id为台账索引
|
||||
* 按单位统计,id为单位索引
|
||||
*/
|
||||
@ApiModelProperty(name="id",value="按台账统计,id为台账索引;按单位统计,id为单位索引")
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 统计类型
|
||||
*/
|
||||
@ApiModelProperty(name="type",value="类型(1年 2季度 3月份 4周 5日)")
|
||||
private Integer type;
|
||||
|
||||
|
||||
/**
|
||||
* 统计起始日期
|
||||
*/
|
||||
@ApiModelProperty(name="startTime",value="统计起始日期(yyyy-MM-dd)")
|
||||
private String startTime;
|
||||
|
||||
/**
|
||||
* 统计截止日期
|
||||
*/
|
||||
@ApiModelProperty(name="endTime",value="统计截止日期(yyyy-MM-dd)")
|
||||
private String endTime;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -36,6 +36,8 @@ public class DistributionMonitor extends BaseEntity {
|
||||
@MppMultiId
|
||||
private String monitorId;
|
||||
|
||||
private String orgId;
|
||||
|
||||
/**
|
||||
* 电压等级(字典)
|
||||
*/
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.njcn.device.pms.controller.distribution;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||
import com.njcn.common.pojo.enums.common.LogEnum;
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
@@ -45,9 +46,9 @@ public class PwRMpMonitorAlarmCountMController extends BaseController {
|
||||
@PostMapping("/getPwRMpMonitorAlarmCountMList")
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@ApiOperation("查询监测点告警统计(月)(配网)")
|
||||
public HttpResult<List<PwRMpMonitorAlarmCountMVO>> getPwRMpMonitorAlarmCountMList(@RequestBody RMpMonitorAlarmCountMParam rMpMonitorAlarmCountMParam) {
|
||||
public HttpResult<Page<PwRMpMonitorAlarmCountMVO>> getPwRMpMonitorAlarmCountMList(@RequestBody RMpMonitorAlarmCountMParam rMpMonitorAlarmCountMParam) {
|
||||
String methodDescribe = getMethodDescribe("getPwRMpMonitorAlarmCountMList");
|
||||
List<PwRMpMonitorAlarmCountMVO> list = rMpMonitorAlarmCountMService.getPwRMpMonitorAlarmCountMList(rMpMonitorAlarmCountMParam);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
|
||||
Page<PwRMpMonitorAlarmCountMVO> page = rMpMonitorAlarmCountMService.getPwRMpMonitorAlarmCountMList(rMpMonitorAlarmCountMParam);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, page, methodDescribe);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -262,7 +262,7 @@ public class PmsDistributionMonitorController extends BaseController {
|
||||
*/
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/pwMonitorAreaDetailInfo")
|
||||
@ApiOperation("修改配网监测点数据状态")
|
||||
@ApiOperation("根据监测点获取配网监测点的详细信息")
|
||||
@ApiImplicitParam(name = "monitorIds", value = "配网监测点实体", required = true)
|
||||
public HttpResult<List<PwPmsMonitorDTO>> pwMonitorAreaDetailInfo(@RequestBody List<String> monitorIds) {
|
||||
String methodDescribe = getMethodDescribe("pwMonitorAreaDetailInfo");
|
||||
|
||||
@@ -9,6 +9,7 @@ import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.common.utils.HttpResultUtil;
|
||||
import com.njcn.device.pms.pojo.dto.PmsGeneralDeviceDTO;
|
||||
import com.njcn.device.pms.pojo.param.PmsDeviceInfoParam;
|
||||
import com.njcn.device.pms.pojo.param.PwPmsMonitorParam;
|
||||
import com.njcn.device.pms.service.majornetwork.IPmsGeneralDeviceService;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import io.swagger.annotations.Api;
|
||||
@@ -18,10 +19,8 @@ import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
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 org.springframework.web.bind.annotation.*;
|
||||
import springfox.documentation.annotations.ApiIgnore;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -99,6 +98,25 @@ public class PmsGeneralDeviceController extends BaseController {
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 根据单位获取单位的配网监测点集合
|
||||
* @author cdf
|
||||
* @date 2023/9/4
|
||||
*/
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/getPwPmsMonitorIds")
|
||||
@ApiOperation("获取指定单位下配网监测点")
|
||||
@ApiImplicitParam(name = "deptId", value = "查询台账条件", required = true)
|
||||
@ApiIgnore
|
||||
public HttpResult<List<String>> getPwPmsMonitorIds(@RequestBody PwPmsMonitorParam pwPmsMonitorParam) {
|
||||
String methodDescribe = getMethodDescribe("getPwPmsMonitorIds");
|
||||
List<String> deptDeviceInfos = generalPmsDeviceService.getPwPmsMonitorIds(pwPmsMonitorParam.getOrgId(),pwPmsMonitorParam.getMonitorSort());
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, deptDeviceInfos, methodDescribe);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -35,4 +35,9 @@ public interface PwMonitorMapper {
|
||||
*/
|
||||
List<PwPmsMonitorDTO> getPwPhotovoltaicMonitorList(@Param("deptIdList") List<String> deptIdList,
|
||||
@Param("pwPmsMonitorParam") PwPmsMonitorParam pwPmsMonitorParam);
|
||||
|
||||
|
||||
|
||||
List<PwPmsMonitorDTO> getPwBaseMonitorInfo(@Param("pwMonitorIds") List<String> pwMonitorIds,
|
||||
@Param("pwPmsMonitorParam") PwPmsMonitorParam pwPmsMonitorParam);
|
||||
}
|
||||
|
||||
@@ -224,4 +224,9 @@
|
||||
</if>
|
||||
</select>
|
||||
|
||||
|
||||
<select id="getPwBaseMonitorInfo">
|
||||
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
@@ -9,6 +9,7 @@ import com.njcn.device.pms.pojo.dto.PmsMonitorBaseDTO;
|
||||
import com.njcn.device.pms.pojo.dto.PmsSimpleDTO;
|
||||
import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO;
|
||||
import com.njcn.device.pms.pojo.param.PmsDeviceInfoParam;
|
||||
import com.njcn.device.pms.pojo.param.PwPmsMonitorParam;
|
||||
import com.njcn.device.pms.pojo.param.TaiZhangParam;
|
||||
import com.njcn.device.pms.pojo.po.DistributionMonitor;
|
||||
import com.njcn.device.pms.pojo.po.Monitor;
|
||||
@@ -87,4 +88,6 @@ public interface DistributionMonitorMapper extends MppBaseMapper<DistributionMon
|
||||
* 根据配网监测点id获取配网台账信息
|
||||
*/
|
||||
List<PwPmsMonitorDTO> pwMonitorAreaDetailInfo(@Param("monitorIds") List<String> monitorIds);
|
||||
|
||||
List<String> getBaseDisMonitorIds(@Param("list")List<String> list,@Param("monitorSortIds")List<String> monitorSortIds);
|
||||
}
|
||||
|
||||
@@ -383,9 +383,21 @@
|
||||
<foreach collection="monitorIds" item="item" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
|
||||
</select>
|
||||
|
||||
<select id="getBaseDisMonitorIds" resultType="string">
|
||||
select Monitor_Id from pms_distribution_monitor
|
||||
where org_id in
|
||||
<foreach collection="list" item="item" open="(" close=")" separator=",">
|
||||
#{item}
|
||||
</foreach>
|
||||
<if test="monitorSortIds!=null and monitorSortIds.size!=0">
|
||||
and Monitor_Sort in
|
||||
<foreach collection="monitorSortIds" item="it" open="(" separator="," close=")">
|
||||
#{it}
|
||||
</foreach>
|
||||
</if>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.njcn.device.pms.service.distribution;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.njcn.device.pms.pojo.param.RMpMonitorAlarmCountMParam;
|
||||
import com.njcn.device.pms.pojo.po.RMpMonitorAlarmCountM;
|
||||
@@ -21,5 +22,5 @@ public interface PwRMpMonitorAlarmCountMService extends IService<RMpMonitorAlarm
|
||||
* @param rMpMonitorAlarmCountMParam
|
||||
* @return java.util.List<com.njcn.device.pms.pojo.vo.RMpMonitorAlarmCountMVO>
|
||||
*/
|
||||
List<PwRMpMonitorAlarmCountMVO> getPwRMpMonitorAlarmCountMList(RMpMonitorAlarmCountMParam rMpMonitorAlarmCountMParam);
|
||||
Page<PwRMpMonitorAlarmCountMVO> getPwRMpMonitorAlarmCountMList(RMpMonitorAlarmCountMParam rMpMonitorAlarmCountMParam);
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.njcn.device.pms.service.distribution.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
@@ -11,11 +12,15 @@ import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO;
|
||||
import com.njcn.device.pms.pojo.param.PmsMonitorParam;
|
||||
import com.njcn.device.pms.pojo.param.PwPmsMonitorParam;
|
||||
import com.njcn.device.pms.pojo.param.RMpMonitorAlarmCountMParam;
|
||||
import com.njcn.device.pms.pojo.po.DistributionMonitor;
|
||||
import com.njcn.device.pms.pojo.po.RMpMonitorAlarmCountM;
|
||||
import com.njcn.device.pms.pojo.po.RStatAreaAlarmCountM;
|
||||
import com.njcn.device.pms.pojo.vo.DistributionMonitorVO;
|
||||
import com.njcn.device.pms.pojo.vo.PwRMpMonitorAlarmCountMVO;
|
||||
import com.njcn.device.pms.service.distribution.PwRMpMonitorAlarmCountMService;
|
||||
import com.njcn.device.pms.service.majornetwork.IDistributionMonitorService;
|
||||
import com.njcn.device.pms.service.majornetwork.IMonitorService;
|
||||
import com.njcn.device.pms.service.majornetwork.IPmsGeneralDeviceService;
|
||||
import com.njcn.system.api.DicDataFeignClient;
|
||||
import com.njcn.system.enums.DicDataEnum;
|
||||
import com.njcn.system.enums.DicDataTypeEnum;
|
||||
@@ -23,6 +28,7 @@ import com.njcn.system.pojo.po.DictData;
|
||||
import com.njcn.user.api.DeptFeignClient;
|
||||
import com.njcn.user.pojo.dto.DeptDTO;
|
||||
|
||||
import com.njcn.web.factory.PageFactory;
|
||||
import com.njcn.web.utils.WebUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
@@ -56,6 +62,10 @@ implements PwRMpMonitorAlarmCountMService {
|
||||
|
||||
private final IPwMonitorServiceImpl iPwMonitorService; //【配网监测点】服务类
|
||||
|
||||
private final IPmsGeneralDeviceService iPmsGeneralDeviceService;
|
||||
|
||||
private final IDistributionMonitorService iDistributionMonitorService;
|
||||
|
||||
/***
|
||||
* 根据条件查询监测点告警统计(月)(配网)
|
||||
* @author jianghaifei
|
||||
@@ -64,7 +74,9 @@ implements PwRMpMonitorAlarmCountMService {
|
||||
* @return java.util.List<com.njcn.device.pms.pojo.vo.PwRMpMonitorAlarmCountMVO>
|
||||
*/
|
||||
@Override
|
||||
public List<PwRMpMonitorAlarmCountMVO> getPwRMpMonitorAlarmCountMList(RMpMonitorAlarmCountMParam rMpMonitorAlarmCountMParam) {
|
||||
public Page<PwRMpMonitorAlarmCountMVO> getPwRMpMonitorAlarmCountMList(RMpMonitorAlarmCountMParam rMpMonitorAlarmCountMParam) {
|
||||
|
||||
Page<PwRMpMonitorAlarmCountMVO> pageResult = new Page<>(PageFactory.getPageNum(rMpMonitorAlarmCountMParam),PageFactory.getPageSize(rMpMonitorAlarmCountMParam));
|
||||
//提取查询条件
|
||||
String id = rMpMonitorAlarmCountMParam.getId(); //单位id
|
||||
if (StringUtils.isBlank(id)) {
|
||||
@@ -72,14 +84,12 @@ implements PwRMpMonitorAlarmCountMService {
|
||||
}
|
||||
String startTime = rMpMonitorAlarmCountMParam.getStartTime(); //开始时间
|
||||
String endTime = rMpMonitorAlarmCountMParam.getEndTime(); //结束时间
|
||||
// String monitorObjectType = rMpMonitorAlarmCountMParam.getMonitorObjectType(); //监测点对象类型id
|
||||
// List<String> voltageLevelParamList = StringUtils.isNotBlank(rMpMonitorAlarmCountMParam.getVoltageLevel()) ? Arrays.asList(rMpMonitorAlarmCountMParam.getVoltageLevel().split(",")) : null; //电压等级
|
||||
String monitorName = rMpMonitorAlarmCountMParam.getMeasurementPointName(); //监测点名称
|
||||
|
||||
/*获取下级子部门信息*/
|
||||
List<DeptDTO> deptDTOList = deptFeignClient.getDeptDescendantIndexes (id, WebUtil.filterDeptType()).getData ();
|
||||
if (CollUtil.isEmpty(deptDTOList)) {
|
||||
return Collections.emptyList();
|
||||
return new Page<>();
|
||||
}
|
||||
List<String> orgCodeList = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList());
|
||||
Map<String, DeptDTO> deptDTOMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, deptDTO -> deptDTO));
|
||||
@@ -91,28 +101,25 @@ implements PwRMpMonitorAlarmCountMService {
|
||||
Map<String, String> lineSortIdMap = lineSortDict.stream().collect(Collectors.toMap(DictData::getCode, DictData::getId));
|
||||
|
||||
//根据条件查询单位下面的所有配网监测点
|
||||
PwPmsMonitorParam pwPmsMonitorParam = new PwPmsMonitorParam();
|
||||
pwPmsMonitorParam.setOrgId(id); //单位id
|
||||
pwPmsMonitorParam.setMonitorName(monitorName); //监测点名称
|
||||
List<PwPmsMonitorDTO> pwMonitorList = iPwMonitorService.getPwMonitorList(pwPmsMonitorParam);
|
||||
//监测点id集合
|
||||
List<String> monitorIdList = pwMonitorList.stream().map(PwPmsMonitorDTO::getMonitorId).collect(Collectors.toList());
|
||||
if (CollUtil.isEmpty(monitorIdList)) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
//监测点map key:监测点id value:监测点实体
|
||||
Map<String, PwPmsMonitorDTO> monitorMap = pwMonitorList.stream().collect(Collectors.toMap(PwPmsMonitorDTO::getMonitorId, Function.identity(),(key1,kye2)->key1));
|
||||
List<String> pwMonitorIds = iPmsGeneralDeviceService.getPwPmsMonitorIds(id,rMpMonitorAlarmCountMParam.getMonitorSort());
|
||||
|
||||
//根据监测点idList等条件查询【监测点告警月统计】表数据
|
||||
LambdaQueryWrapper<RMpMonitorAlarmCountM> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.in(CollUtil.isNotEmpty(orgCodeList), RMpMonitorAlarmCountM::getOrgNo, orgCodeList)
|
||||
.in(RMpMonitorAlarmCountM::getMeasurementPointId, monitorIdList)
|
||||
lambdaQueryWrapper
|
||||
.in(RMpMonitorAlarmCountM::getMeasurementPointId, pwMonitorIds)
|
||||
.ge(RMpMonitorAlarmCountM::getDataDate, startTime)
|
||||
.le(RMpMonitorAlarmCountM::getDataDate, endTime)
|
||||
.eq(RMpMonitorAlarmCountM::getDataType, dataType);
|
||||
List<RMpMonitorAlarmCountM> alarmCountMList = this.list(lambdaQueryWrapper);
|
||||
Page<RMpMonitorAlarmCountM> page = this.page(new Page<>(PageFactory.getPageNum(rMpMonitorAlarmCountMParam),PageFactory.getPageSize(rMpMonitorAlarmCountMParam)),lambdaQueryWrapper);
|
||||
List<RMpMonitorAlarmCountM> alarmCountMList = page.getRecords();
|
||||
List<PwRMpMonitorAlarmCountMVO> resultList;
|
||||
if (CollUtil.isNotEmpty(alarmCountMList)) {
|
||||
//监测点id集合
|
||||
List<String> monitorIdList = alarmCountMList.stream().map(RMpMonitorAlarmCountM::getMeasurementPointId).distinct().collect(Collectors.toList());
|
||||
List<PwPmsMonitorDTO> pwMonitorList = iDistributionMonitorService.pwMonitorAreaDetailInfo(monitorIdList);
|
||||
//监测点map key:监测点id value:监测点实体
|
||||
Map<String, PwPmsMonitorDTO> monitorMap = pwMonitorList.stream().collect(Collectors.toMap(PwPmsMonitorDTO::getMonitorId, Function.identity(),(key1,kye2)->key1));
|
||||
|
||||
//封装前端展示的数据
|
||||
resultList = alarmCountMList.stream().map(item -> {
|
||||
PwRMpMonitorAlarmCountMVO pwRMpMonitorAlarmCountMVO = new PwRMpMonitorAlarmCountMVO();
|
||||
@@ -166,10 +173,10 @@ implements PwRMpMonitorAlarmCountMService {
|
||||
}
|
||||
return pwRMpMonitorAlarmCountMVO;
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
pageResult.setRecords(resultList);
|
||||
} else {
|
||||
resultList = new ArrayList<>();
|
||||
return new Page<>();
|
||||
}
|
||||
return resultList;
|
||||
return pageResult;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,7 +6,10 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.device.pms.api.PmsGeneralDeviceInfoClient;
|
||||
import com.njcn.device.pms.mapper.distribution.PwMonitorMapper;
|
||||
import com.njcn.device.pms.mapper.distribution.RStatPwAlarmCountWMapper;
|
||||
import com.njcn.device.pms.mapper.majornetwork.DistributionMonitorMapper;
|
||||
import com.njcn.device.pms.pojo.dto.PmsMonitorDTO;
|
||||
import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO;
|
||||
import com.njcn.device.pms.pojo.param.PmsMonitorParam;
|
||||
@@ -21,6 +24,7 @@ import com.njcn.device.pms.service.distribution.IPwMonitorService;
|
||||
import com.njcn.device.pms.service.distribution.RMpPwAlarmDetailDService;
|
||||
import com.njcn.device.pms.service.distribution.RStatPwAlarmCountWService;
|
||||
import com.njcn.device.pms.service.majornetwork.IMonitorService;
|
||||
import com.njcn.device.pms.service.majornetwork.IPmsGeneralDeviceService;
|
||||
import com.njcn.system.api.DicDataFeignClient;
|
||||
import com.njcn.system.enums.DicDataEnum;
|
||||
import com.njcn.system.enums.DicDataTypeEnum;
|
||||
@@ -54,10 +58,14 @@ public class RStatPwAlarmCountWServiceImpl extends ServiceImpl<RStatPwAlarmCount
|
||||
|
||||
private final IPwMonitorService iPwMonitorService;
|
||||
|
||||
private final IMonitorService iMonitorService;
|
||||
private final PwMonitorMapper pwMonitorMapper;
|
||||
|
||||
private final RMpPwAlarmDetailDService rMpPwAlarmDetailDService;
|
||||
|
||||
private final DistributionMonitorMapper distributionMonitorMapper;
|
||||
|
||||
private final IPmsGeneralDeviceService iPmsGeneralDeviceService;
|
||||
|
||||
/***
|
||||
* 查询各单位告警监测点总数、占比、占比同比信息
|
||||
* @author jianghaifei
|
||||
@@ -75,15 +83,7 @@ public class RStatPwAlarmCountWServiceImpl extends ServiceImpl<RStatPwAlarmCount
|
||||
String startTime = rStatPwAlarmCountWParam.getStartTime(); //开始时间
|
||||
String endTime = rStatPwAlarmCountWParam.getEndTime(); //结束时间
|
||||
|
||||
// //获取所有子部门信息
|
||||
// List<DeptDTO> deptDTOList = deptFeignClient.getDeptDescendantIndexes(id, WebUtil.filterDeptType()).getData();
|
||||
// if (CollUtil.isEmpty(deptDTOList)) {
|
||||
// throw new BusinessException(CommonResponseEnum.NO_DATA, "部门不存在");
|
||||
// }
|
||||
// //单位code集合
|
||||
// List<String> orgCodeList = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList());
|
||||
// //将单位信息转为map集合 key: 单位id value: 单位实体
|
||||
// Map<String, String> deptNameMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, DeptDTO::getName));
|
||||
|
||||
/*获取下级子部门信息*/
|
||||
List<DeptDTO> deptDTOList = deptFeignClient.getDepSonDetailByDeptId (id).getData ( );
|
||||
if (CollUtil.isEmpty(deptDTOList)) {
|
||||
@@ -140,24 +140,34 @@ public class RStatPwAlarmCountWServiceImpl extends ServiceImpl<RStatPwAlarmCount
|
||||
pwPmsMonitorParam.setOrgId(id); //单位id
|
||||
pwPmsMonitorParam.setMonitorName(monitorName); //监测点名称
|
||||
pwPmsMonitorParam.setMonitorSort(monitorSortList); //监测点类别
|
||||
List<PwPmsMonitorDTO> pwMonitorList = iPwMonitorService.getPwMonitorList(pwPmsMonitorParam);
|
||||
List<String> pwMonitorIds= iPmsGeneralDeviceService.getPwPmsMonitorIds(id,pwPmsMonitorParam.getMonitorSort());
|
||||
|
||||
//配网监测点id集合
|
||||
List<String> monitorIdList = pwMonitorList.stream().map(PwPmsMonitorDTO::getMonitorId).collect(Collectors.toList());
|
||||
if (CollUtil.isEmpty(monitorIdList)) {
|
||||
if(CollUtil.isEmpty(pwMonitorIds)){
|
||||
return new Page<>();
|
||||
}
|
||||
//监测点map key:监测点id value:监测点实体
|
||||
Map<String, PwPmsMonitorDTO> monitorMap = pwMonitorList.stream().collect(Collectors.toMap(PwPmsMonitorDTO::getMonitorId, Function.identity(),(key1,key2)->key1));
|
||||
|
||||
//查询监测点的告警明细
|
||||
LambdaQueryWrapper<RMpPwAlarmDetailD> alarmDetailWrapper = new LambdaQueryWrapper<>();
|
||||
alarmDetailWrapper.in(RMpPwAlarmDetailD::getMeasurementPointId, monitorIdList)
|
||||
alarmDetailWrapper.in(RMpPwAlarmDetailD::getMeasurementPointId, pwMonitorIds)
|
||||
.in(CollUtil.isNotEmpty(alarmTypeList), RMpPwAlarmDetailD::getAlarmType, alarmTypeList)
|
||||
.ge(StringUtils.isNotBlank(startTime), RMpPwAlarmDetailD::getDataDate, startTime)
|
||||
.le(StringUtils.isNotBlank(endTime), RMpPwAlarmDetailD::getDataDate, endTime);
|
||||
Page<RMpPwAlarmDetailD> alarmDetailListPage = rMpPwAlarmDetailDService.page(new Page<>(pageNum, pageSize), alarmDetailWrapper);
|
||||
|
||||
List<RMpPwAlarmDetailD> temList = alarmDetailListPage.getRecords();
|
||||
List<String> monitorIds = new ArrayList<>();
|
||||
if(CollUtil.isEmpty(temList)){
|
||||
return new Page<>();
|
||||
}
|
||||
monitorIds = temList.stream().map(RMpPwAlarmDetailD::getMeasurementPointId).distinct().collect(Collectors.toList());
|
||||
|
||||
//配网监测点id集合
|
||||
|
||||
List<PwPmsMonitorDTO> pwMonitorDataList = distributionMonitorMapper.pwMonitorAreaDetailInfo(monitorIds);
|
||||
|
||||
//监测点map key:监测点id value:监测点实体
|
||||
Map<String, PwPmsMonitorDTO> monitorMap = pwMonitorDataList.stream().collect(Collectors.toMap(PwPmsMonitorDTO::getMonitorId, Function.identity(),(key1,key2)->key1));
|
||||
|
||||
List<RStatPwAlarmDetailVO> resultList = alarmDetailListPage.getRecords().stream().map(item -> {
|
||||
RStatPwAlarmDetailVO rStatPwAlarmDetailVO = new RStatPwAlarmDetailVO();
|
||||
rStatPwAlarmDetailVO.setAlarmType(item.getAlarmType()); //告警类型
|
||||
|
||||
@@ -100,6 +100,13 @@ public interface IDistributionMonitorService extends IMppService<DistributionMon
|
||||
|
||||
List<PwPmsMonitorDTO> pwMonitorAreaDetailInfo(List<String> monitorIds);
|
||||
|
||||
/**
|
||||
* 根据单位获取配网监测点id集合
|
||||
* @author cdf
|
||||
* @date 2023/9/11
|
||||
*/
|
||||
List<String> getBaseDisMonitorIds(List<String> orgIds,List<String> monitorSortIds);
|
||||
|
||||
|
||||
/**
|
||||
* 批量同步台区到配网表
|
||||
|
||||
@@ -32,4 +32,7 @@ public interface IPmsGeneralDeviceService {
|
||||
List<PmsGeneralDeviceDTO> getPmsDeviceInfoByOrgId(PmsDeviceInfoParam pmsDeviceInfoParam);
|
||||
|
||||
|
||||
List<String> getPwPmsMonitorIds(String deptId,List<String> monitorSortIds);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -93,7 +93,6 @@ public class DistributionMonitorServiceImpl extends MppServiceImpl<DistributionM
|
||||
LambdaQueryWrapper<DistributionMonitor> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(DistributionMonitor::getStatus, DataStateEnum.ENABLE.getCode())
|
||||
.eq(DistributionMonitor::getMonitorId, distributionMonitorParam.getMonitorId());
|
||||
/*.eq(DistributionMonitor::getMonitorSort,dictData.getId());*/
|
||||
int count = this.count(lambdaQueryWrapper);
|
||||
if (count > 0) {
|
||||
throw new BusinessException(PmsDeviceResponseEnum.DIS_ADD_REPEAT);
|
||||
@@ -370,7 +369,6 @@ public class DistributionMonitorServiceImpl extends MppServiceImpl<DistributionM
|
||||
*/
|
||||
@Override
|
||||
public PmsDistributionMonitorDTO distributionMonitorDetail(String monitorId, String monitorSort, Integer ifPowerUser) {
|
||||
|
||||
DictData dictData = dicDataFeignClient.getDicDataById(monitorSort).getData();
|
||||
if (Objects.isNull(dictData)) {
|
||||
throw new BusinessException(PmsDeviceResponseEnum.NO_LINE_SORT);
|
||||
@@ -442,6 +440,11 @@ public class DistributionMonitorServiceImpl extends MppServiceImpl<DistributionM
|
||||
return distributionMonitorMapper.pwMonitorAreaDetailInfo(monitorIds);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getBaseDisMonitorIds(List<String> orgIds,List<String> monitorSortIds) {
|
||||
return distributionMonitorMapper.getBaseDisMonitorIds(orgIds,monitorSortIds);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean batchOpDistributionArea() {
|
||||
@@ -459,7 +462,7 @@ public class DistributionMonitorServiceImpl extends MppServiceImpl<DistributionM
|
||||
new LambdaQueryWrapper<PowerDistributionarea>()
|
||||
.select(PowerDistributionarea::getId,
|
||||
PowerDistributionarea::getState,
|
||||
PowerDistributionarea::getVoltageLevel)
|
||||
PowerDistributionarea::getVoltageLevel,PowerDistributionarea::getOrgId)
|
||||
.last(true, "limit " + page+ ",10000"));
|
||||
|
||||
List<DistributionMonitor> poList= new ArrayList<>();
|
||||
@@ -467,6 +470,7 @@ public class DistributionMonitorServiceImpl extends MppServiceImpl<DistributionM
|
||||
DistributionMonitor distributionMonitor = new DistributionMonitor();
|
||||
distributionMonitor.setMonitorSort(dictData.getId());
|
||||
distributionMonitor.setMonitorId(powerDistributionarea.getId());
|
||||
distributionMonitor.setOrgId(powerDistributionarea.getOrgId());
|
||||
distributionMonitor.setStatus(DataStateEnum.ENABLE.getCode());
|
||||
distributionMonitor.setMonitorState(powerDistributionarea.getState());
|
||||
distributionMonitor.setVoltageLevel(powerDistributionarea.getVoltageLevel());
|
||||
|
||||
@@ -105,6 +105,12 @@ public class PmsGeneralDeviceServiceImpl implements IPmsGeneralDeviceService {
|
||||
return deviceInfos;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getPwPmsMonitorIds(String deptId,List<String> monitorSortIds) {
|
||||
List<String> deptIds = deptFeignClient.getDepSonSelfCodetByDeptId(deptId).getData();
|
||||
return iDistributionMonitorService.getBaseDisMonitorIds(deptIds,monitorSortIds);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询当前部门pms台账信息
|
||||
* @param deptDTO 部门信息
|
||||
|
||||
Reference in New Issue
Block a user