pms台账功能修改
This commit is contained in:
@@ -275,5 +275,24 @@ public class PmsDistributionMonitorController extends BaseController {
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 批量同步台区到配网表
|
||||
* @author cdf
|
||||
* @date 2023/7/24
|
||||
*/
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/batchOpDistributionArea")
|
||||
@ApiOperation("批量同步台区到配网表")
|
||||
public HttpResult<Boolean> batchOpDistributionArea() {
|
||||
String methodDescribe = getMethodDescribe("batchOpDistributionArea");
|
||||
boolean result = iDistributionMonitorService.batchOpDistributionArea();
|
||||
if(result){
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||
}
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe);
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.njcn.device.pms.mapper.majornetwork;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||
import com.njcn.common.pojo.param.StatisticsBizBaseParam;
|
||||
import com.njcn.device.pms.pojo.dto.PmsMonitorBaseDTO;
|
||||
import com.njcn.device.pms.pojo.dto.PmsSimpleDTO;
|
||||
@@ -27,7 +28,7 @@ import java.util.List;
|
||||
* @author hongawen
|
||||
* @since 2022-10-14
|
||||
*/
|
||||
public interface DistributionMonitorMapper extends BaseMapper<DistributionMonitor> {
|
||||
public interface DistributionMonitorMapper extends MppBaseMapper<DistributionMonitor> {
|
||||
|
||||
/**
|
||||
* 根据组织机构id获取配网监测点
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
package com.njcn.device.pms.service.majornetwork.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.date.TimeInterval;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.common.pojo.enums.common.DataStateEnum;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.device.biz.pojo.po.Overlimit;
|
||||
@@ -51,7 +53,7 @@ import java.util.stream.Collectors;
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
@Slf4j
|
||||
public class DistributionMonitorServiceImpl extends ServiceImpl<DistributionMonitorMapper, DistributionMonitor> implements IDistributionMonitorService {
|
||||
public class DistributionMonitorServiceImpl extends MppServiceImpl<DistributionMonitorMapper, DistributionMonitor> implements IDistributionMonitorService {
|
||||
|
||||
private final DicDataFeignClient dicDataFeignClient;
|
||||
|
||||
@@ -143,7 +145,7 @@ public class DistributionMonitorServiceImpl extends ServiceImpl<DistributionMoni
|
||||
this.save(distributionMonitor);
|
||||
|
||||
//只有二三类需要填写限值,一类默认新建主网监测点时候已经新建限值
|
||||
overLimitAdd(distributionMonitor.getVoltageLevel(),distributionMonitor.getMonitorId());
|
||||
overLimitAdd(distributionMonitor.getVoltageLevel(), distributionMonitor.getMonitorId());
|
||||
|
||||
|
||||
break;
|
||||
@@ -179,7 +181,7 @@ public class DistributionMonitorServiceImpl extends ServiceImpl<DistributionMoni
|
||||
distributionMonitor.setPt1(distributionMonitorParam.getPt1());
|
||||
distributionMonitor.setPt2(distributionMonitorParam.getPt2());
|
||||
this.save(distributionMonitor);
|
||||
overLimitAdd(distributionMonitor.getVoltageLevel(),distributionMonitor.getMonitorId());
|
||||
overLimitAdd(distributionMonitor.getVoltageLevel(), distributionMonitor.getMonitorId());
|
||||
|
||||
break;
|
||||
default:
|
||||
@@ -440,11 +442,51 @@ public class DistributionMonitorServiceImpl extends ServiceImpl<DistributionMoni
|
||||
return distributionMonitorMapper.pwMonitorAreaDetailInfo(monitorIds);
|
||||
}
|
||||
|
||||
private void overLimitAdd(String voltageLevel,String id){
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean batchOpDistributionArea() {
|
||||
TimeInterval timeInterval = new TimeInterval();
|
||||
|
||||
DictData dictData = dicDataFeignClient.getDicDataByNameAndTypeName(DicDataTypeEnum.LINE_SORT.getName(),DicDataEnum.TWO_LINE.getName()).getData();
|
||||
int count = powerDistributionareaMapper.selectCount(new LambdaQueryWrapper<>());
|
||||
int calCount = 0;
|
||||
if (count > 0) {
|
||||
calCount = count / 10000 + 1;
|
||||
|
||||
for (int i = 0; i < calCount; i++) {
|
||||
int page = i * 10000;
|
||||
List<PowerDistributionarea> powerDistributionareaList = powerDistributionareaMapper.selectList(
|
||||
new LambdaQueryWrapper<PowerDistributionarea>()
|
||||
.select(PowerDistributionarea::getId,
|
||||
PowerDistributionarea::getState,
|
||||
PowerDistributionarea::getVoltageLevel)
|
||||
.last(true, "limit " + page+ ",10000"));
|
||||
|
||||
List<DistributionMonitor> poList= new ArrayList<>();
|
||||
for(PowerDistributionarea powerDistributionarea:powerDistributionareaList){
|
||||
DistributionMonitor distributionMonitor = new DistributionMonitor();
|
||||
distributionMonitor.setMonitorSort(dictData.getId());
|
||||
distributionMonitor.setMonitorId(powerDistributionarea.getId());
|
||||
distributionMonitor.setStatus(DataStateEnum.ENABLE.getCode());
|
||||
distributionMonitor.setMonitorState(powerDistributionarea.getState());
|
||||
distributionMonitor.setVoltageLevel(powerDistributionarea.getVoltageLevel());
|
||||
distributionMonitor.setCreatedDate(LocalDateTime.now());
|
||||
distributionMonitor.setIfPowerUser(0);
|
||||
poList.add(distributionMonitor);
|
||||
|
||||
}
|
||||
this.saveOrUpdateBatchByMultiId(poList);
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
private void overLimitAdd(String voltageLevel, String id) {
|
||||
DictData voltageDic = dicDataFeignClient.getDicDataById(voltageLevel).getData();
|
||||
float voltageLevelValue = Float.parseFloat(voltageDic.getValue());
|
||||
float capacity = COverlimitUtil.getDlCapByVoltageLevel(voltageLevelValue);
|
||||
Overlimit overlimit = COverlimitUtil.globalAssemble(voltageLevelValue,capacity,capacity,capacity,1,1);
|
||||
Overlimit overlimit = COverlimitUtil.globalAssemble(voltageLevelValue, capacity, capacity, capacity, 1, 1);
|
||||
overlimit.setId(id);
|
||||
overlimitMapper.insert(overlimit);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user