diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/enums/PmsDeviceResponseEnum.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/enums/PmsDeviceResponseEnum.java index af6f87ccc..b12b6a026 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/enums/PmsDeviceResponseEnum.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/enums/PmsDeviceResponseEnum.java @@ -24,7 +24,7 @@ public enum PmsDeviceResponseEnum { NO_LINE_SORT("A00366","未查询到字典监测点类别"), - GENERATRIXWIRE_NAME_REPEAT("A00368","同一母线下存在相同名称线路"), + GENERATRIXWIRE_NAME_REPEAT("A00368","同一电站下存在相同名称线路"), GENERATRIX_NAME_REPEAT("A00369","同一电站下存在相同名称母线"), POWERGENERATIONUSER_SAME("A00370","发电用户名称或编号重复"), POWERCLINET_SAME("A00371","用电用户名称或编号重复"), @@ -50,9 +50,11 @@ public enum PmsDeviceResponseEnum { MODEL_NAME_REPEAT("A00350","名称不可重复"), - TERMINAL_ID_REPEAT("A00351","终端索引已存在") - - + TERMINAL_ID_REPEAT("A00351","终端索引已存在"), + MONITOR_BIND_FIND("A00352","主网监测点存在绑定该装置关系,请先解除绑定关系"), + DIS_MONITOR_BIND_FIND("A00353","配网监测点存在绑定该装置关系,请先解除绑定关系"), + TERMINAL_BIND_FIND("A00354","装置管理存在绑定该电站关系,请先解除绑定关系"), + WIRE_BIND_FIND("A00355","线路台账存在绑定该电站关系,请先解除绑定关系"), ; diff --git a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/PmsTerminalParam.java b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/PmsTerminalParam.java index e1e9324bf..aef34b68c 100644 --- a/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/PmsTerminalParam.java +++ b/pqs-device/pms-device/pms-device-api/src/main/java/com/njcn/device/pms/pojo/param/PmsTerminalParam.java @@ -15,7 +15,7 @@ import javax.validation.constraints.NotNull; public class PmsTerminalParam { @ApiModelProperty(name = "id",value = "终端编号") - @NotNull(message = "终端编号不能为空") + //@NotNull(message = "终端编号不能为空") private String id; @ApiModelProperty(name = "name", value = "终端名称") diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/GeneratrixWireImpl.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/GeneratrixWireImpl.java index 9f8c1a462..06e8d8d8d 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/GeneratrixWireImpl.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/GeneratrixWireImpl.java @@ -104,8 +104,6 @@ public class GeneratrixWireImpl extends ServiceImpl lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper.eq(GeneratrixWire::getName, generatrixWireParam.getName()) .eq(GeneratrixWire::getStationId, generatrixWireParam.getStationId()) diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/StatationStatServiceImpl.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/StatationStatServiceImpl.java index 8b0285660..cf774199a 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/StatationStatServiceImpl.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/StatationStatServiceImpl.java @@ -6,14 +6,16 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.njcn.common.pojo.enums.common.DataStateEnum; import com.njcn.common.pojo.exception.BusinessException; import com.njcn.device.pms.enums.PmsDeviceResponseEnum; -import com.njcn.device.pms.mapper.majornetwork.StatationStatMapper; +import com.njcn.device.pms.mapper.majornetwork.*; import com.njcn.device.pms.pojo.dto.PmsStatationStatInfoDTO; import com.njcn.device.pms.pojo.param.PmsBaseParam; import com.njcn.device.pms.pojo.param.StatationStatParam; import com.njcn.device.pms.pojo.param.PmsStatationStatInfoParam; +import com.njcn.device.pms.pojo.po.GeneratrixWire; +import com.njcn.device.pms.pojo.po.PmsTerminal; import com.njcn.device.pms.pojo.po.StatationStat; import com.njcn.device.pms.pojo.vo.StatationStatVO; -import com.njcn.device.pms.service.majornetwork.IStatationStatService; +import com.njcn.device.pms.service.majornetwork.*; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.user.api.DeptFeignClient; import com.njcn.user.pojo.po.Dept; @@ -42,6 +44,14 @@ public class StatationStatServiceImpl extends ServiceImpl statationStatIds) { + //删除前需要判断是否存在绑定关系 + + //装置是否存在绑定 + LambdaQueryWrapper terminalLambdaQueryWrapper = new LambdaQueryWrapper<>(); + terminalLambdaQueryWrapper.eq(PmsTerminal::getStatus,DataStateEnum.ENABLE.getCode()).in(PmsTerminal::getPowerStationId,statationStatIds); + int terCount = terminalMapper.selectCount(terminalLambdaQueryWrapper); + if(terCount>0){ + throw new BusinessException(PmsDeviceResponseEnum.TERMINAL_BIND_FIND); + } + //线路 + LambdaQueryWrapper wireLambdaQueryWrapper = new LambdaQueryWrapper<>(); + wireLambdaQueryWrapper.eq(GeneratrixWire::getStatus,DataStateEnum.ENABLE.getCode()).in(GeneratrixWire::getStationId,statationStatIds); + int wCount = pmsGeneratrixWireMapper.selectCount(wireLambdaQueryWrapper); + if(wCount>0){ + throw new BusinessException(PmsDeviceResponseEnum.WIRE_BIND_FIND); + } + return this.removeByIds(statationStatIds); } diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/TerminalServiceImpl.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/TerminalServiceImpl.java index 34b3db4db..d8722d95e 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/TerminalServiceImpl.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/majornetwork/impl/TerminalServiceImpl.java @@ -11,8 +11,12 @@ import com.njcn.device.pms.mapper.majornetwork.TerminalMapper; import com.njcn.device.pms.pojo.param.PmsBaseParam; import com.njcn.device.pms.pojo.param.PmsTerminalParam; import com.njcn.device.pms.pojo.param.TerminalQueryParam; +import com.njcn.device.pms.pojo.po.DistributionMonitor; +import com.njcn.device.pms.pojo.po.Monitor; import com.njcn.device.pms.pojo.po.PmsTerminal; import com.njcn.device.pms.pojo.po.StatationStat; +import com.njcn.device.pms.service.majornetwork.IDistributionMonitorService; +import com.njcn.device.pms.service.majornetwork.IMonitorService; import com.njcn.device.pms.service.majornetwork.IStatationStatService; import com.njcn.device.pms.service.majornetwork.ITerminalService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -46,7 +50,11 @@ public class TerminalServiceImpl extends ServiceImpl getTerminalList(TerminalQueryParam baseParam) { @@ -157,6 +165,21 @@ public class TerminalServiceImpl extends ServiceImpl ids) { + //删除前需要判断依赖终端的监测点是否存在 + LambdaQueryWrapper monitorLambdaQueryWrapper = new LambdaQueryWrapper<>(); + monitorLambdaQueryWrapper.in(Monitor::getTerminalId,ids).eq(Monitor::getStatus,DataStateEnum.ENABLE.getCode()); + int mCount = iMonitorService.count(monitorLambdaQueryWrapper); + if(mCount>0){ + throw new BusinessException(PmsDeviceResponseEnum.MONITOR_BIND_FIND); + } + + LambdaQueryWrapper distributionMonitorLambdaQueryWrapper = new LambdaQueryWrapper<>(); + distributionMonitorLambdaQueryWrapper.in(DistributionMonitor::getTerminalId,ids).eq(DistributionMonitor::getStatus,DataStateEnum.ENABLE.getCode()); + int dCount = iDistributionMonitorService.count(distributionMonitorLambdaQueryWrapper); + if(dCount>0){ + throw new BusinessException(PmsDeviceResponseEnum.DIS_MONITOR_BIND_FIND); + } + return this.lambdaUpdate().set(PmsTerminal::getStatus, DataStateEnum.DELETED.getCode()).in(PmsTerminal::getId, ids).update(); } @@ -165,7 +188,7 @@ public class TerminalServiceImpl extends ServiceImpl lambdaQueryWrapper = new LambdaQueryWrapper<>(); - lambdaQueryWrapper.eq(PmsTerminal::getName,terminalParam.getName()); + lambdaQueryWrapper.eq(PmsTerminal::getName,terminalParam.getName()).eq(PmsTerminal::getPowerStationId,terminalParam.getPowerStationId()); //修改 if(!flag){ lambdaQueryWrapper.ne(PmsTerminal::getId,terminalParam.getId());