diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionTempLineRunTestServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionTempLineRunTestServiceImpl.java index 36d14eb1b..9adc22684 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionTempLineRunTestServiceImpl.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionTempLineRunTestServiceImpl.java @@ -3,6 +3,7 @@ package com.njcn.supervision.service.device.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.date.DatePattern; import cn.hutool.core.text.StrPool; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -28,10 +29,13 @@ import com.njcn.supervision.mapper.device.SupervisionTempLineRunTestMapper; import com.njcn.supervision.pojo.param.device.SupervisionTempLineRunTestParam; import com.njcn.supervision.pojo.po.device.SupervisionTempLineReport; import com.njcn.supervision.pojo.po.device.SupervisionTempLineRunTestPO; -import com.njcn.supervision.pojo.vo.device.CheckDeviceVo; +import com.njcn.supervision.pojo.po.user.UserReportNormalPO; +import com.njcn.supervision.pojo.po.user.UserReportProjectPO; +import com.njcn.supervision.pojo.po.user.UserReportSensitivePO; +import com.njcn.supervision.pojo.po.user.UserReportSubstationPO; import com.njcn.supervision.pojo.vo.device.SupervisionTempLineRunTestVO; import com.njcn.supervision.service.device.ISupervisionTempLineRunTestService; -import com.njcn.supervision.service.user.UserReportPOService; +import com.njcn.supervision.service.user.*; import com.njcn.supervision.utils.InstanceUtil; import com.njcn.web.utils.RequestUtil; import lombok.RequiredArgsConstructor; @@ -69,6 +73,10 @@ public class SupervisionTempLineRunTestServiceImpl extends ServiceImpl userIds = supervisionTempLineReportList.stream().map(SupervisionTempLineReport::getUserId).collect(Collectors.toList()); + List list = userReportProjectPOService.lambdaQuery().in(UserReportProjectPO::getId, userIds).eq(UserReportProjectPO::getNeedGovernance, 1).list(); + List list2 = userReportSubstationPOService.lambdaQuery().in(UserReportSubstationPO::getId, userIds).eq(UserReportSubstationPO::getNeedGovernance, 1).list(); + List list3 = userReportSensitivePOService.lambdaQuery().in(UserReportSensitivePO::getId, userIds).eq(UserReportSensitivePO::getNeedGovernance, 1).list(); + List tempUserIds = list.stream().map(UserReportProjectPO::getId).collect(Collectors.toList()); + tempUserIds.addAll(list2.stream().map(UserReportSubstationPO::getId).collect(Collectors.toList())); + tempUserIds.addAll(list3.stream().map(UserReportSensitivePO::getId).collect(Collectors.toList())); + + + + if(CollectionUtil.isNotEmpty(tempUserIds)){ + for (int i = tempUserIds.size() - 1; i >= 0; i--) { + List list1 = iUserReportNormalService.lambdaQuery().eq(UserReportNormalPO::getUserReportId, tempUserIds.get(i)).list(); + if (CollectionUtil.isNotEmpty(list1)){ + //为空则没有治理工程不需要移除,存在审核未通过的也不要移除,只有全是2的移除 + list1 = list1.stream().filter(temp->!Objects.equals(temp.getStatus(),2)).collect(Collectors.toList()); + if(CollectionUtil.isEmpty(list1)){ + tempUserIds.remove(i); + } + } + } + + } + if(CollectionUtil.isNotEmpty(tempUserIds)){ + String userNames = supervisionTempLineReportList.stream() + .filter(temp->tempUserIds.contains(temp.getUserId())) + .map(SupervisionTempLineReport::getUserName) + .collect(Collectors.joining(", ")); + throw new BusinessException(CommonResponseEnum.FAIL,"存在关联干扰源用户:"+userNames+"需要治理通过才可以进行试运行"); + } + + List supervisionTempLineRunTestPOList = this.list(new LambdaQueryWrapper().in(SupervisionTempLineRunTestPO::getId,ids).ne(SupervisionTempLineRunTestPO::getStatus,BpmTaskStatusEnum.REJECT.getStatus())); if(CollUtil.isNotEmpty(supervisionTempLineRunTestPOList)){ String msg = assMsg(supervisionTempLineReportList,supervisionTempLineRunTestPOList);