pms台账功能修改

This commit is contained in:
2023-07-24 19:20:16 +08:00
parent 0a86b2f05a
commit b3157edd60
3 changed files with 68 additions and 6 deletions

View File

@@ -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);
}
}

View File

@@ -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获取配网监测点

View File

@@ -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;
@@ -440,6 +442,46 @@ public class DistributionMonitorServiceImpl extends ServiceImpl<DistributionMoni
return distributionMonitorMapper.pwMonitorAreaDetailInfo(monitorIds);
}
@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());