1.pms台账功能调整

This commit is contained in:
2024-11-15 15:50:10 +08:00
parent a6acf6d1c9
commit 5cc21b6289
3 changed files with 78 additions and 51 deletions

View File

@@ -40,6 +40,7 @@ import com.njcn.web.pojo.param.BaseParam;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.math.RoundingMode;
@@ -119,6 +120,7 @@ public class StatationStatServiceImpl extends ServiceImpl<StatationStatMapper, S
}
@Override
@Transactional(rollbackFor = Exception.class)
public boolean updateStatationStat(StatationStatParam statationStatParam) {
//校验同一单位下不能出现同名电站
LambdaQueryWrapper<StatationStat> lambdaQueryWrapper = new LambdaQueryWrapper<>();
@@ -130,51 +132,60 @@ public class StatationStatServiceImpl extends ServiceImpl<StatationStatMapper, S
throw new BusinessException(PmsDeviceResponseEnum.DEPT_STATION_REPEAT);
}
StatationStat res = this.getById(statationStatParam.getPowerId());
StatationStat statationStat = new StatationStat();
BeanUtils.copyProperties(statationStatParam, statationStat);
this.updateById(statationStat);
//修改单位名称时候要确保其他台账中的电站名同时修改
LambdaQueryWrapper<Monitor> monitorLambdaQueryWrapper = new LambdaQueryWrapper<>();
monitorLambdaQueryWrapper.eq(Monitor::getStatus, DataStateEnum.ENABLE.getCode()).eq(Monitor::getPowerrId, statationStat.getPowerId());
if(!res.getPowerName().equals(statationStatParam.getPowerName())) {
//修改单位名称时候要确保其他台账中的电站名同时修改
LambdaQueryWrapper<Monitor> monitorLambdaQueryWrapper = new LambdaQueryWrapper<>();
monitorLambdaQueryWrapper.eq(Monitor::getStatus, DataStateEnum.ENABLE.getCode()).eq(Monitor::getPowerrId, statationStat.getPowerId());
//主网监测点
List<Monitor> monitorList = iMonitorService.list(monitorLambdaQueryWrapper);
if (CollectionUtil.isNotEmpty(monitorList)) {
List<Monitor> monitorListP = monitorList.stream().map(item -> {
Monitor monitor = new Monitor();
monitor.setPowerrName(statationStat.getPowerName());
monitor.setId(item.getId());
return monitor;
}).collect(Collectors.toList());
iMonitorService.updateBatchById(monitorListP);
}
//台区
LambdaQueryWrapper<PowerDistributionarea> powerDistributionareaLambdaQueryWrapper = new LambdaQueryWrapper<>();
powerDistributionareaLambdaQueryWrapper.eq(PowerDistributionarea::getStatus, DataStateEnum.ENABLE.getCode()).eq(PowerDistributionarea::getPowerStationId, statationStat.getPowerId());
//主网监测点
List<Monitor> monitorList = iMonitorService.list(monitorLambdaQueryWrapper);
if (CollectionUtil.isNotEmpty(monitorList)) {
List<Monitor> monitorListP = monitorList.stream().map(item -> {
Monitor monitor = new Monitor();
monitor.setPowerrName(statationStat.getPowerName());
monitor.setId(item.getId());
return monitor;
}).collect(Collectors.toList());
iMonitorService.updateBatchById(monitorListP);
}
List<PowerDistributionarea> powerDistributionareaList = powerDistributionareaMapper.selectList(powerDistributionareaLambdaQueryWrapper);
if (CollectionUtil.isNotEmpty(powerDistributionareaList)) {
powerDistributionareaList.forEach(item -> {
PowerDistributionarea powerDistributionarea = new PowerDistributionarea();
powerDistributionarea.setPowerrName(statationStat.getPowerName());
powerDistributionarea.setId(item.getId());
powerDistributionareaMapper.updateById(powerDistributionarea);
});
}
//装置
//台区
LambdaQueryWrapper<PmsTerminal> pmsTerminalLambdaQueryWrapper = new LambdaQueryWrapper<>();
pmsTerminalLambdaQueryWrapper.eq(PmsTerminal::getStatus, DataStateEnum.ENABLE.getCode()).eq(PmsTerminal::getPowerStationId, statationStat.getPowerId());
LambdaUpdateWrapper<GeneratrixWire> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
lambdaUpdateWrapper.set(GeneratrixWire::getStationName,statationStatParam.getPowerName())
.eq(GeneratrixWire::getStationId,statationStatParam.getPowerId());
pmsGeneratrixWireMapper.update(null,lambdaUpdateWrapper);
//台区
LambdaQueryWrapper<PowerDistributionarea> powerDistributionareaLambdaQueryWrapper = new LambdaQueryWrapper<>();
powerDistributionareaLambdaQueryWrapper.eq(PowerDistributionarea::getStatus, DataStateEnum.ENABLE.getCode()).eq(PowerDistributionarea::getPowerStationId, statationStat.getPowerId());
List<PmsTerminal> pmsTerminalList = terminalMapper.selectList(pmsTerminalLambdaQueryWrapper);
if (CollectionUtil.isNotEmpty(pmsTerminalList)) {
pmsTerminalList.forEach(item -> {
PmsTerminal pmsTerminalP = new PmsTerminal();
pmsTerminalP.setPowerrName(statationStat.getPowerName());
pmsTerminalP.setId(item.getId());
terminalMapper.updateById(pmsTerminalP);
});
List<PowerDistributionarea> powerDistributionareaList = powerDistributionareaMapper.selectList(powerDistributionareaLambdaQueryWrapper);
if (CollectionUtil.isNotEmpty(powerDistributionareaList)) {
powerDistributionareaList.forEach(item -> {
PowerDistributionarea powerDistributionarea = new PowerDistributionarea();
powerDistributionarea.setPowerrName(statationStat.getPowerName());
powerDistributionarea.setId(item.getId());
powerDistributionareaMapper.updateById(powerDistributionarea);
});
}
//装置
//台区
LambdaQueryWrapper<PmsTerminal> pmsTerminalLambdaQueryWrapper = new LambdaQueryWrapper<>();
pmsTerminalLambdaQueryWrapper.eq(PmsTerminal::getStatus, DataStateEnum.ENABLE.getCode()).eq(PmsTerminal::getPowerStationId, statationStat.getPowerId());
List<PmsTerminal> pmsTerminalList = terminalMapper.selectList(pmsTerminalLambdaQueryWrapper);
if (CollectionUtil.isNotEmpty(pmsTerminalList)) {
pmsTerminalList.forEach(item -> {
PmsTerminal pmsTerminalP = new PmsTerminal();
pmsTerminalP.setPowerrName(statationStat.getPowerName());
pmsTerminalP.setId(item.getId());
terminalMapper.updateById(pmsTerminalP);
});
}
}
return true;
}