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

@@ -86,49 +86,49 @@ public class PowerClientParam {
* 合同容量 * 合同容量
*/ */
@ApiModelProperty(value = "合同容量",required = true) @ApiModelProperty(value = "合同容量",required = true)
@NotNull(message = "合同容量不可为空") //@NotNull(message = "合同容量不可为空")
private Float contractCapacity; private Float contractCapacity;
/** /**
* 运行容量 * 运行容量
*/ */
@ApiModelProperty(value = "运行容量",required = true) @ApiModelProperty(value = "运行容量",required = true)
@NotNull(message = "运行容量不可为空") //@NotNull(message = "运行容量不可为空")
private Float operatingCapacity; private Float operatingCapacity;
/** /**
* 生产班次(字典) * 生产班次(字典)
*/ */
@ApiModelProperty(value = "生产班次(字典)",required = true) @ApiModelProperty(value = "生产班次(字典)",required = true)
@NotBlank(message = "生产班次不可为空") //@NotBlank(message = "生产班次不可为空")
private String productionShift; private String productionShift;
/** /**
* 负荷性质(字典) * 负荷性质(字典)
*/ */
@ApiModelProperty(value = "负荷性质(字典)",required = true) @ApiModelProperty(value = "负荷性质(字典)",required = true)
@NotBlank(message = "负荷性质不可为空") //@NotBlank(message = "负荷性质不可为空")
private String loadNature; private String loadNature;
/** /**
* 供电电压(字典) * 供电电压(字典)
*/ */
@ApiModelProperty(value = "供电电压(字典)",required = true) @ApiModelProperty(value = "供电电压(字典)",required = true)
@NotBlank(message = "供电电压不可为空") //@NotBlank(message = "供电电压不可为空")
private String voltageLevel; private String voltageLevel;
/** /**
* 高耗能行业类别(字典) * 高耗能行业类别(字典)
*/ */
@ApiModelProperty(value = "高耗能行业类别(字典)",required = true) @ApiModelProperty(value = "高耗能行业类别(字典)",required = true)
@NotBlank(message = "高耗能行业类别不可为空") //@NotBlank(message = "高耗能行业类别不可为空")
private String highIndustryType; private String highIndustryType;
/** /**
* 送电日期 * 送电日期
*/ */
@ApiModelProperty(value = "送电日期",required = true) @ApiModelProperty(value = "送电日期",required = true)
@NotNull(message = "送电日期不可为空") //@NotNull(message = "送电日期不可为空")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDate powerTransmissionDate; private LocalDate powerTransmissionDate;
@@ -136,42 +136,42 @@ public class PowerClientParam {
* 重要性等级(字典) * 重要性等级(字典)
*/ */
@ApiModelProperty(value = "重要性等级",required = true) @ApiModelProperty(value = "重要性等级",required = true)
@NotBlank(message = "重要性等级不可为空") //@NotBlank(message = "重要性等级不可为空")
private String importanceLevel; private String importanceLevel;
/** /**
* 用电客户状态(字典) * 用电客户状态(字典)
*/ */
@ApiModelProperty(value = "用电客户状态",required = true) @ApiModelProperty(value = "用电客户状态",required = true)
@NotBlank(message = "用电客户状态不可为空") //@NotBlank(message = "用电客户状态不可为空")
private String eccStat; private String eccStat;
/** /**
* 是否敏感用户0-否1 * 是否敏感用户0-否1
*/ */
@ApiModelProperty(value = "是否敏感用户",required = true) @ApiModelProperty(value = "是否敏感用户",required = true)
@NotNull(message = "用户编号不可为空") //@NotNull(message = "用户编号不可为空")
private Integer ifSensitiveUser; private Integer ifSensitiveUser;
/** /**
* 是否影响电能质量0-否1 * 是否影响电能质量0-否1
*/ */
@ApiModelProperty(value = "是否影响电能质量0-否1",required = true) @ApiModelProperty(value = "是否影响电能质量0-否1",required = true)
@NotNull(message = "是否影响电能质量不可为空") //@NotNull(message = "是否影响电能质量不可为空")
private Integer ifPowerQuality; private Integer ifPowerQuality;
/** /**
* 是否重要客户0-否1 * 是否重要客户0-否1
*/ */
@ApiModelProperty(value = "是否重要客户0-否1",required = true) @ApiModelProperty(value = "是否重要客户0-否1",required = true)
@NotNull(message = "是否重要客户不可为空") //@NotNull(message = "是否重要客户不可为空")
private Integer ifKeyCustomers; private Integer ifKeyCustomers;
/** /**
* 敏感用户类别(字典) * 敏感用户类别(字典)
*/ */
@ApiModelProperty(value = "敏感用户类别",required = true) @ApiModelProperty(value = "敏感用户类别",required = true)
@NotBlank(message = "敏感用户类别不可为空") //@NotBlank(message = "敏感用户类别不可为空")
private String sensitiveType; private String sensitiveType;
/** /**

View File

@@ -1,5 +1,7 @@
package com.njcn.device.pms.pojo.po; package com.njcn.device.pms.pojo.po;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity; import com.njcn.db.bo.BaseEntity;
import lombok.Data; import lombok.Data;
@@ -70,66 +72,79 @@ public class PowerClient extends BaseEntity {
/** /**
* 合同容量 * 合同容量
*/ */
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Float contractCapacity; private Float contractCapacity;
/** /**
* 运行容量 * 运行容量
*/ */
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Float operatingCapacity; private Float operatingCapacity;
/** /**
* 生产班次(字典) * 生产班次(字典)
*/ */
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String productionShift; private String productionShift;
/** /**
* 负荷性质(字典) * 负荷性质(字典)
*/ */
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String loadNature; private String loadNature;
/** /**
* 供电电压(字典) * 供电电压(字典)
*/ */
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String voltageLevel; private String voltageLevel;
/** /**
* 高耗能行业类别(字典) * 高耗能行业类别(字典)
*/ */
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String highIndustryType; private String highIndustryType;
/** /**
* 送电日期 * 送电日期
*/ */
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDate powerTransmissionDate; private LocalDate powerTransmissionDate;
/** /**
* 重要性等级(字典) * 重要性等级(字典)
*/ */
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String importanceLevel; private String importanceLevel;
/** /**
* 用电客户状态(字典) * 用电客户状态(字典)
*/ */
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String eccStat; private String eccStat;
/** /**
* 是否敏感用户0-否1 * 是否敏感用户0-否1
*/ */
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Integer ifSensitiveUser; private Integer ifSensitiveUser;
/** /**
* 是否影响电能质量0-否1 * 是否影响电能质量0-否1
*/ */
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Integer ifPowerQuality; private Integer ifPowerQuality;
/** /**
* 是否重要客户0-否1 * 是否重要客户0-否1
*/ */
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Integer ifKeyCustomers; private Integer ifKeyCustomers;
/** /**
* 敏感用户类别(字典) * 敏感用户类别(字典)
*/ */
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String sensitiveType; private String sensitiveType;
/** /**
@@ -150,6 +165,7 @@ public class PowerClient extends BaseEntity {
/** /**
* 用户标签 * 用户标签
*/ */
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String userTag; private String userTag;
/** /**

View File

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