diff --git a/detection/src/main/java/com/njcn/gather/plan/controller/AdPlanController.java b/detection/src/main/java/com/njcn/gather/plan/controller/AdPlanController.java index d23aae6e..ec046ad8 100644 --- a/detection/src/main/java/com/njcn/gather/plan/controller/AdPlanController.java +++ b/detection/src/main/java/com/njcn/gather/plan/controller/AdPlanController.java @@ -22,6 +22,8 @@ import com.njcn.gather.plan.pojo.vo.AdPlanVO; import com.njcn.gather.plan.service.IAdPlanService; import com.njcn.gather.type.pojo.po.DevType; import com.njcn.gather.type.service.IDevTypeService; +import com.njcn.gather.user.user.pojo.po.SysUser; +import com.njcn.gather.user.user.service.ISysUserService; import com.njcn.web.controller.BaseController; import com.njcn.web.utils.FileUtil; import com.njcn.web.utils.HttpResultUtil; @@ -36,6 +38,7 @@ import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -54,6 +57,7 @@ public class AdPlanController extends BaseController { private final IAdPlanService adPlanService; private final IPqDevService pqDevService; private final IDevTypeService devTypeService; + private final ISysUserService sysUserService; @OperateInfo(info = LogEnum.BUSINESS_COMMON) @PostMapping("/list") @@ -428,5 +432,25 @@ public class AdPlanController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe); } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @GetMapping("/getMemberList") + @ApiOperation("根据计划ID获取项目成员") + @ApiImplicitParam(name = "planId", value = "计划ID", required = true) + public HttpResult> getMemberList(@RequestParam("planId") String planId) { + String methodDescribe = getMethodDescribe("getMemberList"); + LogUtil.njcnDebug(log, "{},计划ID为:{},获取项目成员", methodDescribe, planId); + AdPlan plan = adPlanService.getById(planId); + List result = new ArrayList<>(); + if (plan != null) { + String members = plan.getMembers(); + if (StrUtil.isNotBlank(members)) { + List memberIds = StrUtil.split(members, StrUtil.COMMA); + result = sysUserService.listByIds(memberIds); + result.forEach(member -> member.setPassword(null)); + } + } + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); + } } diff --git a/detection/src/main/java/com/njcn/gather/plan/service/impl/AdPlanServiceImpl.java b/detection/src/main/java/com/njcn/gather/plan/service/impl/AdPlanServiceImpl.java index 16d07c79..8e461226 100644 --- a/detection/src/main/java/com/njcn/gather/plan/service/impl/AdPlanServiceImpl.java +++ b/detection/src/main/java/com/njcn/gather/plan/service/impl/AdPlanServiceImpl.java @@ -234,17 +234,24 @@ public class AdPlanServiceImpl extends ServiceImpl impleme AdPlanTestConfig testConfig = adPlanTestConfigService.getOne(new LambdaQueryWrapper().eq(AdPlanTestConfig::getPlanId, adPlan.getFatherPlanId())); adPlanVO.setTestConfig(testConfig); } - if (StrUtil.isNotBlank(adPlan.getLeader())) { - SysUser leader = sysUserService.getById(adPlan.getLeader()); - if (leader != null) { - adPlanVO.setLeaderName(leader.getName()); + // 导入的直接显示 + if (adPlan.getImportFlag().equals(DataStateEnum.ENABLE.getCode())) { + adPlanVO.setLeaderName(adPlan.getLeader()); + adPlanVO.setMembersName(adPlan.getMembers()); + } else { + if (StrUtil.isNotBlank(adPlan.getLeader())) { + SysUser leader = sysUserService.getById(adPlan.getLeader()); + if (leader != null) { + adPlanVO.setLeaderName(leader.getName()); + } + } + if (StrUtil.isNotBlank(adPlan.getMembers())) { + List memberIds = Arrays.asList(adPlan.getMembers().split(StrUtil.COMMA)); + List memberList = sysUserService.listByIds(memberIds); + adPlanVO.setMembersName(memberList.stream().map(SysUser::getName).reduce((a, b) -> a + "," + b).orElse("")); } } - if (StrUtil.isNotBlank(adPlan.getMembers())) { - List memberIds = Arrays.asList(adPlan.getMembers().split(StrUtil.COMMA)); - List memberList = sysUserService.listByIds(memberIds); - adPlanVO.setMembersName(memberList.stream().map(SysUser::getName).reduce((a, b) -> a + "," + b).orElse("")); - } + } @Override @@ -328,10 +335,21 @@ public class AdPlanServiceImpl extends ServiceImpl impleme public boolean updateAdPlan(AdPlanParam.UpdateParam param) { param.setName(param.getName().trim()); AdPlan plan1 = this.getById(param.getId()); + // 更新子计划 String fatherPlanId = plan1.getFatherPlanId(); - if (StrUtil.isNotEmpty(fatherPlanId) && !StrUtil.equals(fatherPlanId, "0")) { - + if (StrUtil.isNotEmpty(fatherPlanId) && !StrUtil.equals(fatherPlanId, CommonEnum.FATHER_ID.getValue())) { + plan1.setName(param.getName().trim()); + if (CollUtil.isNotEmpty(param.getDatasourceIds())) { + plan1.setDatasourceId(String.join(StrUtil.COMMA, param.getDatasourceIds())); + } else { + plan1.setDatasourceId(null); + } + if (CollUtil.isNotEmpty(param.getMemberIds())) { + plan1.setMembers(String.join(StrUtil.COMMA, param.getMemberIds())); + } else { + plan1.setMembers(null); + } this.updateBindStandardDev(param.getId(), param.getStandardDevIds()); List list = new ArrayList<>(); AdPlan fatherPlan = this.getById(fatherPlanId); @@ -363,7 +381,7 @@ public class AdPlanServiceImpl extends ServiceImpl impleme list.add(fatherPlan); } } - + list.add(plan1); return this.updateBatchById(list); } this.checkRepeat(param, true, CommonEnum.FATHER_ID.getValue()); @@ -1593,6 +1611,17 @@ public class AdPlanServiceImpl extends ServiceImpl impleme // 获取检测计划基本数据 AdPlan subPlan = this.getById(planId); + if (StrUtil.isNotBlank(subPlan.getLeader())) { + SysUser leader = sysUserService.getById(subPlan.getLeader()); + if (leader != null) { + subPlan.setLeader(leader.getName()); + } + } + if (StrUtil.isNotBlank(subPlan.getMembers())) { + List memberIds = StrUtil.split(subPlan.getMembers(), StrUtil.COMMA); + List members = sysUserService.listByIds(memberIds); + subPlan.setMembers(members.stream().map(SysUser::getName).collect(Collectors.joining(StrUtil.COMMA))); + } subPlanMetaData.setPlan(subPlan); // 获取检测配置 AdPlanTestConfig testConfig = adPlanTestConfigService.lambdaQuery().eq(AdPlanTestConfig::getPlanId, subPlan.getFatherPlanId()).one();