diff --git a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/distribution/impl/RMpPwAlarmDetailDServiceImpl.java b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/distribution/impl/RMpPwAlarmDetailDServiceImpl.java index 54e50dbb2..19fa35545 100644 --- a/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/distribution/impl/RMpPwAlarmDetailDServiceImpl.java +++ b/pqs-device/pms-device/pms-device-boot/src/main/java/com/njcn/device/pms/service/distribution/impl/RMpPwAlarmDetailDServiceImpl.java @@ -34,6 +34,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; +import java.util.function.Function; import java.util.stream.Collectors; /** @@ -86,7 +87,7 @@ implements RMpPwAlarmDetailDService{ //配网监测点id集合 List pwMonitorIds = pwMonitorList.stream().map(PwPmsMonitorDTO::getMonitorId).collect(Collectors.toList()); //配网监测点Map集合 - Map pwMonitorMap = pwMonitorList.stream().collect(Collectors.toMap(PwPmsMonitorDTO::getMonitorId, item -> item)); + Map pwMonitorMap = pwMonitorList.stream().collect(Collectors.toMap(PwPmsMonitorDTO::getMonitorId, Function.identity(),(Key1, kye2) -> Key1)); //合并主网配网监测点id集合(并去重) diff --git a/pqs-process/process-api/src/main/java/com/njcn/process/enums/ProcessResponseEnum.java b/pqs-process/process-api/src/main/java/com/njcn/process/enums/ProcessResponseEnum.java index bb2c414db..03998b2da 100644 --- a/pqs-process/process-api/src/main/java/com/njcn/process/enums/ProcessResponseEnum.java +++ b/pqs-process/process-api/src/main/java/com/njcn/process/enums/ProcessResponseEnum.java @@ -18,7 +18,8 @@ public enum ProcessResponseEnum { PROCESS_COMMON_ERROR("A00550","监督管理模块异常"), ARCHIVE_ERROR("A00552","不满足归档调节,操作失败!"), PROCESS_ERROR("A00553","当前流程未审核通过,操作失败!"), - + QUERY_IS_EMPTY("A00554","当前未查询到当前策略信息,无法删除!"), + ENABLED_CANNOT_BE_DELETED("A00555","策略为启用状态不能删除!"), ; private final String code; diff --git a/pqs-process/process-api/src/main/java/com/njcn/process/pojo/param/ExcessiveParam.java b/pqs-process/process-api/src/main/java/com/njcn/process/pojo/param/ExcessiveParam.java index 15bc8ad88..5a911058c 100644 --- a/pqs-process/process-api/src/main/java/com/njcn/process/pojo/param/ExcessiveParam.java +++ b/pqs-process/process-api/src/main/java/com/njcn/process/pojo/param/ExcessiveParam.java @@ -28,6 +28,10 @@ public class ExcessiveParam extends IssuesParam { @NotNull(message = "监测点ID不可为空") private String measurementPointId; + @ApiModelProperty(name = "measurementPointId",value = "监测点ID") + @NotNull(message = "监测点ID不可为空") + private String measurementPointName; + @ApiModelProperty(name = "warnLastTime",value = "告警持续时间") @NotNull(message = "告警持续时间不可为空") private String warnLastTime; diff --git a/pqs-process/process-api/src/main/java/com/njcn/process/pojo/param/StrategyParam.java b/pqs-process/process-api/src/main/java/com/njcn/process/pojo/param/StrategyParam.java index 03425a7b9..2e925832b 100644 --- a/pqs-process/process-api/src/main/java/com/njcn/process/pojo/param/StrategyParam.java +++ b/pqs-process/process-api/src/main/java/com/njcn/process/pojo/param/StrategyParam.java @@ -37,7 +37,7 @@ public class StrategyParam { private String name; @ApiModelProperty("等级(0:一级;1:二级;2:三级)") - private String grade; + private Integer grade; @ApiModelProperty(value = "区分预警单/告警单(0:预警单 ;1:告警单)") private Integer type; @@ -71,7 +71,7 @@ public class StrategyParam { private String id; @ApiModelProperty(value = "关系(0:与;1:或)只存在于指标类型中") - @TableField("Operation") + @NotNull(message = "id不能为空") private Integer operation; @ApiModelProperty(value = "监测点标签") @@ -84,7 +84,23 @@ public class StrategyParam { } @Data - public static class StrategyUpdateParam { + public static class StrategyUpdateParam extends StrategyUpParam{ + + @ApiModelProperty(value = "关系(0:与;1:或)只存在于指标类型中") + private Integer operation; + + @ApiModelProperty(value = "监测点标签") + @NotBlank(message = "监测点标签不能为空") + private List monitorTag; + + @ApiModelProperty(value = "指标类型") + @NotEmpty(message = "指标类型集合不能为空") + private List indicatorTypes; + + } + + @Data + public static class StrategyUpParam { @ApiModelProperty(value = "预警单id") private String id; @@ -96,18 +112,6 @@ public class StrategyParam { @NotNull(message = "等级不能为空") private Integer grade; - @ApiModelProperty(value = "关系(0:与;1:或)只存在于指标类型中") - @TableField("Operation") - private Integer operation; - - @ApiModelProperty(value = "监测点标签") - @NotBlank(message = "监测点标签不能为空") - private String monitorTag; - - @ApiModelProperty(value = "指标类型") - @NotEmpty(message = "指标类型集合不能为空") - private List indicatorTypes; - } @Data @@ -116,7 +120,7 @@ public class StrategyParam { @NotBlank(message = "id不能为空") private String id; - @ApiModelProperty(value = "0.删除 1.正常") + @ApiModelProperty(value = "0.删除 1.启用 2.关闭") private Integer state; } diff --git a/pqs-process/process-api/src/main/java/com/njcn/process/pojo/po/RMpOnlineMonitorOverproofProblem.java b/pqs-process/process-api/src/main/java/com/njcn/process/pojo/po/RMpOnlineMonitorOverproofProblem.java index d8d93d3af..afbd2e90d 100644 --- a/pqs-process/process-api/src/main/java/com/njcn/process/pojo/po/RMpOnlineMonitorOverproofProblem.java +++ b/pqs-process/process-api/src/main/java/com/njcn/process/pojo/po/RMpOnlineMonitorOverproofProblem.java @@ -45,6 +45,11 @@ public class RMpOnlineMonitorOverproofProblem implements Serializable { */ private String measurementPointId; + /** + * 监测点ID + */ + private String measurementPointName; + /** * 操作时间 */ diff --git a/pqs-process/process-api/src/main/java/com/njcn/process/pojo/po/ThsWarnStrategy.java b/pqs-process/process-api/src/main/java/com/njcn/process/pojo/po/ThsWarnStrategy.java index de5b95df5..1a5ff6fa5 100644 --- a/pqs-process/process-api/src/main/java/com/njcn/process/pojo/po/ThsWarnStrategy.java +++ b/pqs-process/process-api/src/main/java/com/njcn/process/pojo/po/ThsWarnStrategy.java @@ -45,9 +45,8 @@ public class ThsWarnStrategy extends BaseEntity implements Serializable { @ApiModelProperty(value = "区分预警单还是告警单(0:预警单;1:告警单)") private Integer type; - @ApiModelProperty(value = "0.删除 1.正常") + @ApiModelProperty(value = "0.删除 1.启用 2.关闭") @TableField("State") - @TableLogic private Integer state; @TableField("Create_By") diff --git a/pqs-process/process-boot/src/main/java/com/njcn/process/controller/ThsWarnStrategyController.java b/pqs-process/process-boot/src/main/java/com/njcn/process/controller/ThsWarnStrategyController.java index 5aa175b1b..e01bfcd27 100644 --- a/pqs-process/process-boot/src/main/java/com/njcn/process/controller/ThsWarnStrategyController.java +++ b/pqs-process/process-boot/src/main/java/com/njcn/process/controller/ThsWarnStrategyController.java @@ -78,7 +78,7 @@ public class ThsWarnStrategyController extends BaseController { @PostMapping("/updateStrategy") @ApiOperation(value = "预警单/告警单修改") @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.UPDATE) - public HttpResult updateStrategy(@RequestBody @Validated StrategyParam.StrategyUpdateParam param) { + public HttpResult updateStrategy(@RequestBody @Validated StrategyParam.StrategyUpParam param) { String methodDescribe = getMethodDescribe("updateStrategy"); Boolean flag = thsWarnStrategyService.updateStrategy(param); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe); @@ -96,7 +96,7 @@ public class ThsWarnStrategyController extends BaseController { @PostMapping("/getMonitor") @ApiOperation(value = "监测点查询接口") @OperateInfo(info = LogEnum.BUSINESS_COMMON) - public HttpResult> getMonitor(@Param("monitorTag") String monitorTag, @Param("orgId") String orgId) { + public HttpResult> getMonitor(@Param("monitorTag") List monitorTag, @Param("orgId") String orgId) { String methodDescribe = getMethodDescribe("getMonitor"); List monitor = thsWarnStrategyService.getMonitor(monitorTag, orgId); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, monitor, methodDescribe); @@ -114,7 +114,7 @@ public class ThsWarnStrategyController extends BaseController { @PostMapping("/delStrategy") @ApiOperation(value = "预警单/告警单信息删除") @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.ADD) - public HttpResult bindStrategy(@RequestBody List ids) { + public HttpResult delStrategy(String ids) { String methodDescribe = getMethodDescribe("delStrategy"); Boolean flag = thsWarnStrategyService.delStrategy(ids); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, flag, methodDescribe); diff --git a/pqs-process/process-boot/src/main/java/com/njcn/process/mapper/ThsWarnStrategyMapper.java b/pqs-process/process-boot/src/main/java/com/njcn/process/mapper/ThsWarnStrategyMapper.java index e241c0c56..3f0e63644 100644 --- a/pqs-process/process-boot/src/main/java/com/njcn/process/mapper/ThsWarnStrategyMapper.java +++ b/pqs-process/process-boot/src/main/java/com/njcn/process/mapper/ThsWarnStrategyMapper.java @@ -37,6 +37,15 @@ public interface ThsWarnStrategyMapper extends BaseMapper { */ List getStrategyDetail(@Param("id") String id); + /*** + * 获取监测点标签id + * @author wr + * @date 2023-03-10 13:46 + * @param id + * @return List + */ + List getMonitorTagDetail(@Param("id") String id); + /** * 查询所有部门的策略列表 * diff --git a/pqs-process/process-boot/src/main/java/com/njcn/process/mapper/mapping/ThsWarnStrategyMapper.xml b/pqs-process/process-boot/src/main/java/com/njcn/process/mapper/mapping/ThsWarnStrategyMapper.xml index 297c1a10e..bc33f9af7 100644 --- a/pqs-process/process-boot/src/main/java/com/njcn/process/mapper/mapping/ThsWarnStrategyMapper.xml +++ b/pqs-process/process-boot/src/main/java/com/njcn/process/mapper/mapping/ThsWarnStrategyMapper.xml @@ -21,7 +21,11 @@ - + + @@ -67,5 +68,13 @@ tws.State = 1 and tws.Grade in(0,2) + diff --git a/pqs-process/process-boot/src/main/java/com/njcn/process/service/ThsWarnStrategyService.java b/pqs-process/process-boot/src/main/java/com/njcn/process/service/ThsWarnStrategyService.java index 17cf4868e..d1cc8b041 100644 --- a/pqs-process/process-boot/src/main/java/com/njcn/process/service/ThsWarnStrategyService.java +++ b/pqs-process/process-boot/src/main/java/com/njcn/process/service/ThsWarnStrategyService.java @@ -63,7 +63,7 @@ public interface ThsWarnStrategyService extends IService { * @param param * @return Boolean */ - Boolean updateStrategy(StrategyParam.StrategyUpdateParam param); + Boolean updateStrategy(StrategyParam.StrategyUpParam param); /*** * 预警单/告警单修改状态 @@ -81,7 +81,7 @@ public interface ThsWarnStrategyService extends IService { * @param monitorTag * @return List */ - List getMonitor(String monitorTag, String orgId); + List getMonitor(List monitorTag, String orgId); /*** @@ -101,5 +101,5 @@ public interface ThsWarnStrategyService extends IService { * @param ids * @return Boolean */ - Boolean delStrategy(List ids); + Boolean delStrategy(String ids); } diff --git a/pqs-process/process-boot/src/main/java/com/njcn/process/service/impl/IssuesServiceImpl.java b/pqs-process/process-boot/src/main/java/com/njcn/process/service/impl/IssuesServiceImpl.java index db4adacb1..017541d6f 100644 --- a/pqs-process/process-boot/src/main/java/com/njcn/process/service/impl/IssuesServiceImpl.java +++ b/pqs-process/process-boot/src/main/java/com/njcn/process/service/impl/IssuesServiceImpl.java @@ -122,7 +122,7 @@ public class IssuesServiceImpl implements IssuesService { */ @Override @Transactional(rollbackFor = {Exception.class}) - public void addExcessiveIssues(ExcessiveParam excessiveParam) { + public void addExcessiveIssues(ExcessiveParam excessiveParam) { IssuesParam issuesParam = new IssuesParam(); BeanUtil.copyProperties(excessiveParam, issuesParam); String powerQualityProblemNo = getPowerQualityProblemNo(issuesParam); @@ -284,9 +284,12 @@ public class IssuesServiceImpl implements IssuesService { ExcessiveDetailVO detail = new ExcessiveDetailVO(); BeanUtil.copyProperties(issuesSelectOne(powerQualityProblemNo), detail); detail.setOrgName(deptFeignClient.getDeptById(detail.getOrgNo()).getData().getName()); + + LambdaQueryWrapper excessiveQuery = new LambdaQueryWrapper<>(); excessiveQuery.eq(RMpOnlineMonitorOverproofProblem::getPowerQualityProblemNo, powerQualityProblemNo); RMpOnlineMonitorOverproofProblem excessiveOut = excessiveMapper.selectOne(excessiveQuery); + BeanUtil.copyProperties(excessiveOut, detail); RMpElectricQualityProblemFlowDetails flowDetails = flowDetailSelectOne(powerQualityProblemNo); BeanUtil.copyProperties(processFlowDetail(flowDetails), detail); @@ -484,7 +487,7 @@ public class IssuesServiceImpl implements IssuesService { */ @Override public String uploadFile(MultipartFile issuesFile) { - return fileStorageUtil.uploadMultipart(issuesFile, OssPath.ELECTRICITY_QUALITY); + return fileStorageUtil.getFileUrl( fileStorageUtil.uploadMultipart(issuesFile, OssPath.ELECTRICITY_QUALITY)); } /** @@ -661,6 +664,7 @@ public class IssuesServiceImpl implements IssuesService { toMap(PvTerminalTreeVO::getId, PvTerminalTreeVO::getName)); List rStatElectricQualityProblemLogVOList = rStatElectricQualityProblemLogMapper.selectByProblemNo(powerQualityProblemNo); + rStatElectricQualityProblemLogVOList.stream ().forEach (temp->temp.setOrgName (pvTerminalTreeVOMap.get (temp.getOrgName ()))); return rStatElectricQualityProblemLogVOList; diff --git a/pqs-process/process-boot/src/main/java/com/njcn/process/service/impl/ThsWarnStrategyServiceImpl.java b/pqs-process/process-boot/src/main/java/com/njcn/process/service/impl/ThsWarnStrategyServiceImpl.java index 6ab955a01..7f3ecdf97 100644 --- a/pqs-process/process-boot/src/main/java/com/njcn/process/service/impl/ThsWarnStrategyServiceImpl.java +++ b/pqs-process/process-boot/src/main/java/com/njcn/process/service/impl/ThsWarnStrategyServiceImpl.java @@ -7,11 +7,14 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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.api.MonitorClient; import com.njcn.device.pms.enums.PmsDeviceResponseEnum; import com.njcn.device.pms.pojo.dto.PmsMonitorDTO; import com.njcn.device.pms.pojo.param.PmsMonitorParam; +import com.njcn.device.pms.pojo.po.DistributionMonitor; +import com.njcn.process.enums.ProcessResponseEnum; import com.njcn.process.pojo.param.StrategyParam; import com.njcn.process.pojo.po.PmsTerminalDetection; import com.njcn.process.pojo.po.ThsDeptAlarm; @@ -27,6 +30,7 @@ import com.njcn.web.utils.RequestUtil; import com.njcn.web.utils.WebUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.*; import java.util.stream.Collectors; @@ -54,12 +58,14 @@ public class ThsWarnStrategyServiceImpl extends ServiceImpl() .like(StrUtil.isNotBlank(param.getName()), ThsWarnStrategy::getName, param.getName()) .eq(param.getGrade() != null, ThsWarnStrategy::getGrade, param.getGrade()) - .le(param.getType() != null, ThsWarnStrategy::getType, param.getType()) + .eq(param.getType() != null, ThsWarnStrategy::getType, param.getType()) + .ne(ThsWarnStrategy::getState, DataStateEnum.DELETED.getCode()) ); } @Override + @Transactional(rollbackFor = {Exception.class}) public Boolean insertStrategy(StrategyParam.StrategyInsertParam param) { int count = this.count(new LambdaQueryWrapper() .eq(ThsWarnStrategy::getName, param.getName()) @@ -68,18 +74,22 @@ public class ThsWarnStrategyServiceImpl extends ServiceImpl assList = new ArrayList<>(); + //删除之前绑定信息 + thsWarnStrategyAssService.removeById(param.getId()); + //监测点标签绑定 - add(assList,param.getId(),0,param.getMonitorTag()); + add(assList, param.getId(), 0, param.getMonitorTag()); //指标类型绑定 - add(assList,param.getId(),1,param.getIndicatorTypes()); + add(assList, param.getId(), 1, param.getIndicatorTypes()); thsWarnStrategyAssService.saveBatch(assList); ThsWarnStrategy warnStrategy = new ThsWarnStrategy(); @@ -88,32 +98,14 @@ public class ThsWarnStrategyServiceImpl extends ServiceImpl assList,String id,Integer type,List ids){ - ThsWarnStrategyAss ass ; - for (String indicatorType : ids) { - ass = new ThsWarnStrategyAss(); - ass.setWarnId(id); - ass.setAssId(indicatorType); - ass.setType(type); - assList.add(ass); - } - } + @Override public StrategyParam.StrategyUpdateParam getUpdateStrategy(String id) { return this.baseMapper.selectUpdateStrategy(id); } @Override - public Boolean updateStrategy(StrategyParam.StrategyUpdateParam param) { + public Boolean updateStrategy(StrategyParam.StrategyUpParam param) { ThsWarnStrategy one = this.getOne(new LambdaQueryWrapper() .ne(ThsWarnStrategy::getId, param.getId()) .and(wrapper -> @@ -125,10 +117,12 @@ public class ThsWarnStrategyServiceImpl extends ServiceImpl getMonitor(String monitorTag, String orgId) { + public List getMonitor(List monitorTag, String orgId) { PmsMonitorParam param = new PmsMonitorParam(); - param.setMonitorTags(Arrays.asList(monitorTag)); + param.setMonitorTags(monitorTag); List data = monitorClient.getMonitorInfoListByCond(param).getData(); //获取部门结构 List deptInfos = deptFeignClient.getDeptDescendantIndexes(orgId, WebUtil.filterDeptType()).getData(); List deptDTOS = deptInfos.stream().filter(org -> org.getId().equals(orgId)).collect(Collectors.toList()); - + //递归监测点信息 List monitorTrees = new ArrayList<>(); StrategyParam.MonitorTree tree = new StrategyParam.MonitorTree(); tree.setId(deptDTOS.get(0).getId()); @@ -156,6 +150,53 @@ public class ThsWarnStrategyServiceImpl extends ServiceImpl param) { + //删除之前数据 + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(ThsDeptAlarm::getDeptId, param.get(0).getDeptId()); + lambdaQueryWrapper.in(ThsDeptAlarm::getAlarmId, param.get(0).getDeptId()); + lambdaQueryWrapper.in(ThsDeptAlarm::getType, param.get(0).getType()); + thsDeptAlarmService.remove(lambdaQueryWrapper); + return thsDeptAlarmService.saveBatch(param); + } + + @Override + @Transactional(rollbackFor = {Exception.class}) + public Boolean delStrategy(String ids) { + Assert.isTrue(StrUtil.isNotBlank(ids), "id为空,不能删除"); + ThsWarnStrategy byId = this.getById(ids); + if(ObjectUtil.isNull(byId)){ + throw new BusinessException(ProcessResponseEnum.QUERY_IS_EMPTY); + } + if(byId.getState() == 1){ + throw new BusinessException(ProcessResponseEnum.ENABLED_CANNOT_BE_DELETED); + } + thsWarnStrategyAssService.removeById(ids); + return this.removeById(ids); + } + + /*** + * 告警单 监测点标签或指标类型绑定 + * @author wr + * @date 2023-03-20 18:57 + * @param assList 绑定信息 + * @param id 告警单id + * @param type 0:监测点标签 1:指标类型 + * @param ids 监测点标签集合 或 指标类型集合 + */ + private void add(List assList, String id, Integer type, List ids) { + ThsWarnStrategyAss ass; + for (String indicatorType : ids) { + ass = new ThsWarnStrategyAss(); + ass.setWarnId(id); + ass.setAssId(indicatorType); + ass.setType(type); + assList.add(ass); + } + } + /** * 递归生成监测点树 * @@ -215,15 +256,4 @@ public class ThsWarnStrategyServiceImpl extends ServiceImpl param) { - return thsDeptAlarmService.saveBatch(param); - } - - @Override - public Boolean delStrategy(List ids) { - Assert.isTrue(CollectionUtil.isNotEmpty(ids), "id为空,不能删除"); - thsWarnStrategyAssService.removeByIds(ids); - return this.removeByIds(ids); - } }