1.河北修改
This commit is contained in:
@@ -204,6 +204,11 @@ public interface CommTerminalGeneralClient {
|
||||
@PostMapping("/tagOrIdGetSub")
|
||||
HttpResult<List<SubGetBase>> tagOrIdGetSub(@RequestBody SubstationParam substationParam);
|
||||
|
||||
|
||||
@GetMapping("/runLedgerStatistic")
|
||||
HttpResult<Boolean> runLedgerStatistic(@RequestParam("date")String date);
|
||||
|
||||
|
||||
/**
|
||||
* 用于返回pq 还是pms系统
|
||||
*
|
||||
|
||||
@@ -169,6 +169,12 @@ public class CommTerminalGeneralClientFallbackFactory implements FallbackFactory
|
||||
throw new BusinessException(finalExceptionEnum);
|
||||
}
|
||||
|
||||
@Override
|
||||
public HttpResult<Boolean> runLedgerStatistic(String date) {
|
||||
log.error("{}异常,降级处理,异常为:{}", "统计每日运行测点装置详细信息", throwable.toString());
|
||||
throw new BusinessException(finalExceptionEnum);
|
||||
}
|
||||
|
||||
@Override
|
||||
public HttpResult<String> isPqOrPms() {
|
||||
log.error("{}异常,降级处理,异常为:{}", "返回pq还是pms系统", throwable.toString());
|
||||
|
||||
@@ -31,4 +31,7 @@ public class LineDTO {
|
||||
|
||||
@ApiModelProperty(name = "ptPhaseType",value = "监测点接线相别(0,单相,1,三相,默认三相)")
|
||||
private String ptPhaseType;
|
||||
|
||||
@ApiModelProperty(name = "objType",value = "对象类型")
|
||||
private String objType;
|
||||
}
|
||||
|
||||
@@ -29,4 +29,7 @@ public class DeptGetLineParam {
|
||||
@ApiModelProperty(name = "monitorStateAll",value = "true.只返回在线监测点信息 false.返回全部监测点信息")
|
||||
private Boolean monitorStateRunning=true;
|
||||
|
||||
@ApiModelProperty(name = "isUpToGrid",value = "0.非送国网 1.需要送国网的")
|
||||
private Integer isUpToGrid;
|
||||
|
||||
}
|
||||
|
||||
@@ -17,6 +17,7 @@ import com.njcn.device.biz.pojo.po.PqsDeviceUnit;
|
||||
import com.njcn.device.pms.pojo.po.Monitor;
|
||||
import com.njcn.device.pms.pojo.po.PmsTerminal;
|
||||
import com.njcn.device.pms.service.ledgerManger.CommTerminalService;
|
||||
import com.njcn.device.pms.service.ledgerManger.IPmsRunStatisticService;
|
||||
import com.njcn.device.pms.service.majornetwork.IDistributionMonitorService;
|
||||
import com.njcn.device.pms.service.majornetwork.IMonitorService;
|
||||
import com.njcn.device.pms.service.majornetwork.ITerminalService;
|
||||
@@ -56,6 +57,8 @@ public class CommTerminalController extends BaseController {
|
||||
|
||||
private final ITerminalService terminalService;
|
||||
|
||||
private final IPmsRunStatisticService iPmsRunStatisticService;
|
||||
|
||||
/**
|
||||
* 通过部门获取所有子集部门所拥有的监测点
|
||||
*
|
||||
@@ -432,4 +435,20 @@ public class CommTerminalController extends BaseController {
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 统计每日运行测点装置详细信息
|
||||
* @author cdf
|
||||
* @date 2024/4/17
|
||||
*/
|
||||
@GetMapping("runLedgerStatistic")
|
||||
@ApiOperation("统计每日运行测点装置详细信息")
|
||||
@ApiIgnore
|
||||
public HttpResult<Boolean> runLedgerStatistic(@RequestParam("date") String date) {
|
||||
String methodDescribe = getMethodDescribe("runLedgerStatistic");
|
||||
iPmsRunStatisticService.statisticLedgerRunDay(date);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.njcn.device.pms.mapper.majornetwork;
|
||||
|
||||
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||
import com.njcn.device.pms.pojo.po.PmsRunStatistic;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author cdf
|
||||
* @since 2024-04-17
|
||||
*/
|
||||
public interface PmsRunStatisticMapper extends MppBaseMapper<PmsRunStatistic> {
|
||||
|
||||
}
|
||||
@@ -180,7 +180,8 @@
|
||||
pm.Voltage_Level as voltageLevel,
|
||||
pm.Monitor_State as runFlag,
|
||||
pm.Terminal_Wiring_Method as ptType,
|
||||
pm.PT_Phase_Type as ptPhaseType
|
||||
pm.PT_Phase_Type as ptPhaseType,
|
||||
pm.Obj_Type
|
||||
FROM
|
||||
pms_monitor pm
|
||||
WHERE
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.njcn.device.pms.service.ledgerManger;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||
import com.njcn.device.pms.pojo.po.PmsRunStatistic;
|
||||
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author cdf
|
||||
* @since 2024-04-17
|
||||
*/
|
||||
public interface IPmsRunStatisticService extends IMppService<PmsRunStatistic> {
|
||||
|
||||
/**
|
||||
* 对外接口,统计每日在运测点,在线装置详细信息
|
||||
* @author cdf
|
||||
* @date 2024/4/17
|
||||
*/
|
||||
void statisticLedgerRunDay(String date);
|
||||
|
||||
}
|
||||
@@ -85,6 +85,7 @@ public class CommTerminalServiceImpl implements CommTerminalService {
|
||||
private final IPowerDistributionareaService iPowerDistributionareaService;
|
||||
|
||||
private final LineBakMapper lineBakMapper;
|
||||
|
||||
/**
|
||||
* 基础获取单位信息
|
||||
*
|
||||
@@ -122,16 +123,17 @@ public class CommTerminalServiceImpl implements CommTerminalService {
|
||||
List<DeptGetChildrenMoreDTO> result = new ArrayList<>();
|
||||
List<DeptGetBase> temDept = getDeptChildrenByParent(deptGetLineParam);
|
||||
//电压等级
|
||||
List<DictData> voltageDic = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE.getCode()).getData();
|
||||
Map<String, DictData> mapVoltage = voltageDic.stream().collect(Collectors.toMap(DictData::getId, Function.identity()));
|
||||
// List<DictData> voltageDic = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE.getCode()).getData();
|
||||
//Map<String, DictData> mapVoltage = voltageDic.stream().collect(Collectors.toMap(DictData::getId, Function.identity()));
|
||||
//监测点状态
|
||||
DictData dictData = dicDataFeignClient.getDicDataByNameAndTypeName(DicDataTypeEnum.LINE_STATE.getName(), DicDataEnum.RUN.getName()).getData();
|
||||
|
||||
Map<String, List<Monitor>> map = new HashMap<>();
|
||||
if (deptGetLineParam.getSystemType() == 0 || deptGetLineParam.getSystemType() == 2) {
|
||||
List<Monitor> monitorList = monitorMapper.selectList(new LambdaQueryWrapper<Monitor>()
|
||||
.eq(Monitor::getStatus, 1)
|
||||
.eq(deptGetLineParam.getMonitorStateRunning(),Monitor::getMonitorState, dictData.getId()));
|
||||
.eq(Monitor::getStatus, DataStateEnum.ENABLE.getCode())
|
||||
.eq(Objects.nonNull(deptGetLineParam.getIsUpToGrid()), Monitor::getIsUpToGrid, deptGetLineParam.getIsUpToGrid())
|
||||
.eq(deptGetLineParam.getMonitorStateRunning(), Monitor::getMonitorState, dictData.getId()));
|
||||
map = monitorList.stream().collect(Collectors.groupingBy(Monitor::getOrgId));
|
||||
}
|
||||
//TODO 配网数据量巨大,暂时注释
|
||||
@@ -596,7 +598,7 @@ public class CommTerminalServiceImpl implements CommTerminalService {
|
||||
LineBak lineBak = lineBakMapper.selectOne(new LambdaQueryWrapper<LineBak>()
|
||||
.eq(LineBak::getId, monitor.getId())
|
||||
);
|
||||
if(ObjUtil.isNotNull(lineBak)){
|
||||
if (ObjUtil.isNotNull(lineBak)) {
|
||||
lineDevGetDTO.setOracleLineId(lineBak.getLineId());
|
||||
}
|
||||
return lineDevGetDTO;
|
||||
@@ -784,15 +786,15 @@ public class CommTerminalServiceImpl implements CommTerminalService {
|
||||
@Override
|
||||
public List<BusBarAndHisMonitorDTO> getBusBarAndHisMonitor() {
|
||||
List<BusBarAndHisMonitorDTO> result = new ArrayList<>();
|
||||
DictData dictData = dicDataFeignClient.getDicDataByNameAndTypeName(DicDataTypeEnum.LINE_STATE.getName(),DicDataEnum.RUN.getName()).getData();
|
||||
DictData dictData = dicDataFeignClient.getDicDataByNameAndTypeName(DicDataTypeEnum.LINE_STATE.getName(), DicDataEnum.RUN.getName()).getData();
|
||||
|
||||
LambdaQueryWrapper<Monitor> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.select(Monitor::getId,Monitor::getLineId).eq(Monitor::getMonitorState,dictData.getId())
|
||||
lambdaQueryWrapper.select(Monitor::getId, Monitor::getLineId).eq(Monitor::getMonitorState, dictData.getId())
|
||||
.eq(Monitor::getStatus, DataStateEnum.ENABLE.getCode());
|
||||
List<Monitor> monitorList = monitorMapper.selectList(lambdaQueryWrapper);
|
||||
|
||||
Map<String,List<Monitor>> busBarMap = monitorList.stream().collect(Collectors.groupingBy(Monitor::getLineId));
|
||||
busBarMap.forEach((key,val)->{
|
||||
Map<String, List<Monitor>> busBarMap = monitorList.stream().collect(Collectors.groupingBy(Monitor::getLineId));
|
||||
busBarMap.forEach((key, val) -> {
|
||||
BusBarAndHisMonitorDTO busBarAndHisMonitorDTO = new BusBarAndHisMonitorDTO();
|
||||
busBarAndHisMonitorDTO.setBusBarId(key);
|
||||
busBarAndHisMonitorDTO.setMonitorIds(val.stream().map(Monitor::getId).collect(Collectors.toList()));
|
||||
@@ -802,20 +804,20 @@ public class CommTerminalServiceImpl implements CommTerminalService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<CommMonitorInfoDTO> tagOrIdGetMonitorList(List<String> tagList, List<String> monitorIds,List<String> deptIds) {
|
||||
public List<CommMonitorInfoDTO> tagOrIdGetMonitorList(List<String> tagList, List<String> monitorIds, List<String> deptIds) {
|
||||
List<CommMonitorInfoDTO> result = new ArrayList<>();
|
||||
|
||||
DictData dictData = dicDataFeignClient.getDicDataByCodeAndType(DicDataEnum.RUN.getCode(),DicDataTypeEnum.LINE_STATE.getCode()).getData();
|
||||
DictData dictData = dicDataFeignClient.getDicDataByCodeAndType(DicDataEnum.RUN.getCode(), DicDataTypeEnum.LINE_STATE.getCode()).getData();
|
||||
|
||||
List<Dept> deptList = deptFeignClient.getDeptInfoListByIds(deptIds).getData();
|
||||
List<Monitor> monitorList = monitorMapper.selectList(new LambdaQueryWrapper<Monitor>()
|
||||
|
||||
.eq(Monitor::getStatus,DataStateEnum.ENABLE.getCode()).in(Monitor::getOrgId,deptList.stream().map(Dept::getCode).collect(Collectors.toList()))
|
||||
.eq(Monitor::getMonitorState,dictData.getId())
|
||||
.in(Monitor::getMonitorTag,tagList)
|
||||
.or(CollectionUtil.isNotEmpty(monitorIds),item->item.in(CollectionUtil.isNotEmpty(monitorIds),Monitor::getId,monitorIds)));
|
||||
monitorList.forEach(item->result.add(CommMonitorInfoDTO.builder().id(item.getId()).name(item.getName()).powerStationName(item.getPowerrName()).objTagId(item.getMonitorTag()).build()));
|
||||
return result;
|
||||
.eq(Monitor::getStatus, DataStateEnum.ENABLE.getCode()).in(Monitor::getOrgId, deptList.stream().map(Dept::getCode).collect(Collectors.toList()))
|
||||
.eq(Monitor::getMonitorState, dictData.getId())
|
||||
.in(Monitor::getMonitorTag, tagList)
|
||||
.or(CollectionUtil.isNotEmpty(monitorIds), item -> item.in(CollectionUtil.isNotEmpty(monitorIds), Monitor::getId, monitorIds)));
|
||||
monitorList.forEach(item -> result.add(CommMonitorInfoDTO.builder().id(item.getId()).name(item.getName()).powerStationName(item.getPowerrName()).objTagId(item.getMonitorTag()).build()));
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -846,10 +848,10 @@ public class CommTerminalServiceImpl implements CommTerminalService {
|
||||
//获取部门下变电信息
|
||||
List<PmsStatationStatInfoDTO> sub = statationAndMonitorMap.get(deptId);
|
||||
Map<String, List<PmsStatationStatInfoDTO>> subMap = sub.stream()
|
||||
.collect(Collectors.groupingBy(x->x.getPowerId()+"_"+x.getPowerName()+"_"+x.getPowerVoltageLevel()));
|
||||
.collect(Collectors.groupingBy(x -> x.getPowerId() + "_" + x.getPowerName() + "_" + x.getPowerVoltageLevel()));
|
||||
for (Map.Entry<String, List<PmsStatationStatInfoDTO>> stringListEntry : subMap.entrySet()) {
|
||||
String[] split = stringListEntry.getKey().split("_");
|
||||
subGetBase=new SubGetBase();
|
||||
subGetBase = new SubGetBase();
|
||||
subGetBase.setId(split[0]);
|
||||
subGetBase.setName(split[1]);
|
||||
subGetBase.setVoltageLevel(split[2]);
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
package com.njcn.device.pms.service.ledgerManger.impl;
|
||||
|
||||
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO;
|
||||
import com.njcn.device.biz.pojo.dto.LineDevGetDTO;
|
||||
import com.njcn.device.biz.pojo.param.DeptGetLineParam;
|
||||
import com.njcn.device.pms.mapper.majornetwork.PmsRunStatisticMapper;
|
||||
import com.njcn.device.pms.pojo.po.Monitor;
|
||||
import com.njcn.device.pms.pojo.po.PmsRunStatistic;
|
||||
import com.njcn.device.pms.service.ledgerManger.CommTerminalService;
|
||||
import com.njcn.device.pms.service.ledgerManger.IPmsRunStatisticService;
|
||||
import com.njcn.device.pms.service.majornetwork.IMonitorService;
|
||||
import com.njcn.user.api.DeptFeignClient;
|
||||
import com.njcn.user.pojo.po.Dept;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author cdf
|
||||
* @since 2024-04-17
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class PmsRunStatisticServiceImpl extends MppServiceImpl<PmsRunStatisticMapper, PmsRunStatistic> implements IPmsRunStatisticService {
|
||||
|
||||
private final CommTerminalService commTerminalService;
|
||||
|
||||
private final DeptFeignClient deptFeignClient;
|
||||
|
||||
@Override
|
||||
public void statisticLedgerRunDay(String date) {
|
||||
Dept dept = deptFeignClient.getRootDept().getData();
|
||||
|
||||
DeptGetLineParam deptGetLineParam = new DeptGetLineParam();
|
||||
deptGetLineParam.setDeptId(dept.getId());
|
||||
deptGetLineParam.setIsUpToGrid(1);
|
||||
|
||||
List<DeptGetChildrenMoreDTO> deptGetChildrenMoreDTOList = commTerminalService.deptGetLine(deptGetLineParam);
|
||||
List<PmsRunStatistic> poList = new ArrayList<>();
|
||||
for(DeptGetChildrenMoreDTO dto : deptGetChildrenMoreDTOList){
|
||||
PmsRunStatistic pmsRunStatistic = new PmsRunStatistic();
|
||||
pmsRunStatistic.setStatisticDate(LocalDate.parse(date));
|
||||
pmsRunStatistic.setDeptId(dto.getUnitId());
|
||||
pmsRunStatistic.setRunMonitorIds(dto.getLineBaseList().stream().map(LineDevGetDTO::getPointId).distinct().collect(Collectors.joining(StrUtil.COMMA)));
|
||||
pmsRunStatistic.setRunDevIds(dto.getLineBaseList().stream().map(LineDevGetDTO::getDevId).distinct().collect(Collectors.joining(StrUtil.COMMA)));
|
||||
poList.add(pmsRunStatistic);
|
||||
}
|
||||
this.saveBatch(poList);
|
||||
}
|
||||
}
|
||||
@@ -1013,7 +1013,7 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
|
||||
List<DictData> monitorStatelDic = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.LINE_STATE.getCode()).getData();
|
||||
Map<String, DictData> monitorStateDicMap = monitorStatelDic.stream().collect(Collectors.toMap(DictData::getName, Function.identity()));
|
||||
|
||||
//检测点对象类型(原监测点标签)
|
||||
//监测点标签
|
||||
List<DictData> objTypeList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.MONITORING_LABELS.getCode()).getData();
|
||||
Map<String, DictData> objTypeDicMap = objTypeList.stream().collect(Collectors.toMap(DictData::getName, Function.identity()));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user