干扰源用户建档是否治理治理审核通过,才能去试运行,否则要提示出来;

This commit is contained in:
hzj
2024-06-24 14:14:55 +08:00
parent 4ad60cbe96
commit 0e1a10a860

View File

@@ -3,6 +3,7 @@ package com.njcn.supervision.service.device.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DatePattern;
import cn.hutool.core.text.StrPool; import cn.hutool.core.text.StrPool;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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.param.device.SupervisionTempLineRunTestParam;
import com.njcn.supervision.pojo.po.device.SupervisionTempLineReport; import com.njcn.supervision.pojo.po.device.SupervisionTempLineReport;
import com.njcn.supervision.pojo.po.device.SupervisionTempLineRunTestPO; 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.pojo.vo.device.SupervisionTempLineRunTestVO;
import com.njcn.supervision.service.device.ISupervisionTempLineRunTestService; 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.supervision.utils.InstanceUtil;
import com.njcn.web.utils.RequestUtil; import com.njcn.web.utils.RequestUtil;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
@@ -69,6 +73,10 @@ public class SupervisionTempLineRunTestServiceImpl extends ServiceImpl<Supervisi
private final UserReportPOService userReportPOService; private final UserReportPOService userReportPOService;
private final UserReportProjectPOService userReportProjectPOService;
private final UserReportSubstationPOService userReportSubstationPOService;
private final UserReportSensitivePOService userReportSensitivePOService;
private final IUserReportNormalService iUserReportNormalService;
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public Boolean addRunTest(SupervisionTempLineRunTestParam supervisionTempLineRunTestParam) { public Boolean addRunTest(SupervisionTempLineRunTestParam supervisionTempLineRunTestParam) {
@@ -83,6 +91,39 @@ public class SupervisionTempLineRunTestServiceImpl extends ServiceImpl<Supervisi
} }
//校验 //校验
//查询干扰源用户建档是否治理治理审核通过,才能去试运行,否则要提示出来;
List<String> userIds = supervisionTempLineReportList.stream().map(SupervisionTempLineReport::getUserId).collect(Collectors.toList());
List<UserReportProjectPO> list = userReportProjectPOService.lambdaQuery().in(UserReportProjectPO::getId, userIds).eq(UserReportProjectPO::getNeedGovernance, 1).list();
List<UserReportSubstationPO> list2 = userReportSubstationPOService.lambdaQuery().in(UserReportSubstationPO::getId, userIds).eq(UserReportSubstationPO::getNeedGovernance, 1).list();
List<UserReportSensitivePO> list3 = userReportSensitivePOService.lambdaQuery().in(UserReportSensitivePO::getId, userIds).eq(UserReportSensitivePO::getNeedGovernance, 1).list();
List<String> 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<UserReportNormalPO> 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<SupervisionTempLineRunTestPO> supervisionTempLineRunTestPOList = this.list(new LambdaQueryWrapper<SupervisionTempLineRunTestPO>().in(SupervisionTempLineRunTestPO::getId,ids).ne(SupervisionTempLineRunTestPO::getStatus,BpmTaskStatusEnum.REJECT.getStatus())); List<SupervisionTempLineRunTestPO> supervisionTempLineRunTestPOList = this.list(new LambdaQueryWrapper<SupervisionTempLineRunTestPO>().in(SupervisionTempLineRunTestPO::getId,ids).ne(SupervisionTempLineRunTestPO::getStatus,BpmTaskStatusEnum.REJECT.getStatus()));
if(CollUtil.isNotEmpty(supervisionTempLineRunTestPOList)){ if(CollUtil.isNotEmpty(supervisionTempLineRunTestPOList)){
String msg = assMsg(supervisionTempLineReportList,supervisionTempLineRunTestPOList); String msg = assMsg(supervisionTempLineReportList,supervisionTempLineRunTestPOList);