预处理兼容pq/pms处理

This commit is contained in:
2023-09-21 09:15:48 +08:00
parent 79865cc395
commit d868558c6e
22 changed files with 771 additions and 508 deletions

View File

@@ -21,6 +21,10 @@ import com.njcn.device.pms.pojo.po.TerminalLog;
import com.njcn.device.pms.pojo.vo.DoubleUserVO;
import com.njcn.device.pms.service.majornetwork.IDistributionMonitorService;
import com.njcn.device.pms.service.majornetwork.ITerminalLogService;
import com.njcn.system.api.DicDataFeignClient;
import com.njcn.system.enums.DicDataEnum;
import com.njcn.system.enums.DicDataTypeEnum;
import com.njcn.system.pojo.po.DictData;
import com.njcn.web.utils.RequestUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
@@ -36,6 +40,7 @@ import com.njcn.web.controller.BaseController;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
@@ -58,6 +63,7 @@ public class PmsDistributionMonitorController extends BaseController {
private final ITerminalLogService iTerminalLogService;
/**
* 新增配网监测点表
* @author cdf
@@ -294,5 +300,20 @@ public class PmsDistributionMonitorController extends BaseController {
}
/**
* 批量给配网监测点录入单位id
* @author cdf
* @date 2023/9/20
*/
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/disMonitorWriteOrgId")
@ApiOperation("批量修改配网里的单位")
public HttpResult<Boolean> disMonitorWriteOrgId() {
String methodDescribe = getMethodDescribe("disMonitorWriteOrgId");
iDistributionMonitorService.disMonitorWriteOrgId();
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
}
}

View File

@@ -115,4 +115,6 @@ public interface IDistributionMonitorService extends IMppService<DistributionMon
*/
Boolean batchOpDistributionArea();
Boolean disMonitorWriteOrgId();
}

View File

@@ -1,6 +1,7 @@
package com.njcn.device.pms.service.majornetwork.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.TimeInterval;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -110,6 +111,7 @@ public class DistributionMonitorServiceImpl extends MppServiceImpl<DistributionM
distributionMonitor.setMonitorId(monitor.getId());
distributionMonitor.setCreatedDate(LocalDateTime.now());
distributionMonitor.setIfPowerUser(0);
distributionMonitor.setOrgId(monitor.getOrgId());
distributionMonitor.setMonitorState(monitor.getMonitorState());
distributionMonitor.setVoltageLevel(monitor.getVoltageLevel());
distributionMonitor.setStatus(DataStateEnum.ENABLE.getCode());
@@ -129,6 +131,7 @@ public class DistributionMonitorServiceImpl extends MppServiceImpl<DistributionM
}
PowerDistributionarea powerDistributionareaTem = powerDistributionareaMapper.selectById(powerDistributionarea.getId());
distributionMonitor.setMonitorId(powerDistributionarea.getId());
distributionMonitor.setOrgId(powerDistributionarea.getOrgId());
distributionMonitor.setCreatedDate(LocalDateTime.now());
distributionMonitor.setIfPowerUser(0);
distributionMonitor.setMonitorState(distributionMonitorParam.getMonitorState());
@@ -158,7 +161,7 @@ public class DistributionMonitorServiceImpl extends MppServiceImpl<DistributionM
}
distributionMonitor.setIfPowerUser(1);
distributionMonitor.setVoltageLevel(powerGenerationUser.getVoltageLevel());
distributionMonitor.setOrgId(powerGenerationUser.getOrgId());
} else {
//用电
PowerClient powerClient = powerClientMapper.selectById(distributionMonitorParam.getMonitorId());
@@ -167,6 +170,7 @@ public class DistributionMonitorServiceImpl extends MppServiceImpl<DistributionM
}
distributionMonitor.setIfPowerUser(0);
distributionMonitor.setVoltageLevel(powerClient.getVoltageLevel());
distributionMonitor.setOrgId(powerClient.getOrgId());
}
distributionMonitor.setMonitorId(distributionMonitorParam.getMonitorId());
@@ -486,6 +490,58 @@ public class DistributionMonitorServiceImpl extends MppServiceImpl<DistributionM
return true;
}
@Override
public Boolean disMonitorWriteOrgId() {
List<DistributionMonitor> distributionMonitorList = this.list();
if(CollectionUtil.isNotEmpty(distributionMonitorList)){
Map<String,List<DistributionMonitor>> map = distributionMonitorList.stream().collect(Collectors.groupingBy(DistributionMonitor::getMonitorSort));
List<DistributionMonitor> po = new ArrayList<>();
map.forEach((key,val)->{
if(key.equals("78a96acb276a5fe9d6eff737fdf1973f")){
List<DistributionMonitor> one = map.get("78a96acb276a5fe9d6eff737fdf1973f");
List<String> oneIds = one.stream().map(DistributionMonitor::getMonitorId).distinct().collect(Collectors.toList());
List<Monitor> monitorList = monitorMapper.selectList(new LambdaQueryWrapper<Monitor>().in(Monitor::getId,oneIds));
for(Monitor monitor:monitorList){
DistributionMonitor distributionMonitor = new DistributionMonitor();
distributionMonitor.setMonitorId(monitor.getId());
distributionMonitor.setOrgId(monitor.getOrgId());
LambdaUpdateWrapper<DistributionMonitor> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.set(DistributionMonitor::getOrgId,distributionMonitor.getOrgId()).eq(DistributionMonitor::getMonitorId,distributionMonitor.getMonitorId());
this.update(updateWrapper);
}
}else if(key.equals("a5696acb276a5fe9d6eff74fdf1973f")){
List<DistributionMonitor> two = map.get("a5696acb276a5fe9d6eff74fdf1973f");
List<String> twoIds = two.stream().map(DistributionMonitor::getMonitorId).distinct().collect(Collectors.toList());
List<PowerDistributionarea> monitorList = powerDistributionareaMapper.selectList(new LambdaQueryWrapper<PowerDistributionarea>().in(PowerDistributionarea::getId,twoIds));
for(PowerDistributionarea monitor:monitorList){
DistributionMonitor distributionMonitor = new DistributionMonitor();
distributionMonitor.setMonitorId(monitor.getId());
distributionMonitor.setOrgId(monitor.getOrgId());
LambdaUpdateWrapper<DistributionMonitor> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.set(DistributionMonitor::getOrgId,distributionMonitor.getOrgId()).eq(DistributionMonitor::getMonitorId,distributionMonitor.getMonitorId());
this.update(updateWrapper);
}
}else {
List<DistributionMonitor> two = map.get("a5696acb276a5fe9d6eff74fdf1973f");
List<String> twoIds = two.stream().map(DistributionMonitor::getMonitorId).distinct().collect(Collectors.toList());
List<PowerDistributionarea> monitorList = powerDistributionareaMapper.selectList(new LambdaQueryWrapper<PowerDistributionarea>().in(PowerDistributionarea::getId,twoIds));
}
});
}
return true;
}
private void overLimitAdd(String voltageLevel, String id) {
DictData voltageDic = dicDataFeignClient.getDicDataById(voltageLevel).getData();
float voltageLevelValue = Float.parseFloat(voltageDic.getValue());