From 3488c2edf7e14576e0242d9e43ab8784a0ac6884 Mon Sep 17 00:00:00 2001 From: CMM <2198256324@qq.com> Date: Wed, 2 Aug 2023 16:13:12 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=84=E4=BB=B7=E8=AE=A1=E5=88=92=E5=88=86?= =?UTF-8?q?=E7=BB=84-=E6=B7=BB=E5=8A=A0=E5=BE=85=E8=AF=84=E4=BB=B7?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E3=80=81=E5=BA=94=E7=94=A8=E6=A0=A1=E9=AA=8C?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manage/PerformanceAppraisalPlanManage.java | 23 ++++++++++++++++++++++ .../model/dto/AddAppraisalObjectDTO.java | 3 +++ .../model/vo/PerformanceAppraisalVO.java | 6 ------ 3 files changed, 26 insertions(+), 6 deletions(-) diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/performance/manage/PerformanceAppraisalPlanManage.java b/pmapi/src/main/java/com/ningdatech/pmapi/performance/manage/PerformanceAppraisalPlanManage.java index c9bffc5..3efe4f6 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/performance/manage/PerformanceAppraisalPlanManage.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/performance/manage/PerformanceAppraisalPlanManage.java @@ -668,6 +668,7 @@ public class PerformanceAppraisalPlanManage { PerformanceAppraisalProjectVO vo = new PerformanceAppraisalProjectVO(); if(projectMap.containsKey(projectCode)){ Project project = projectMap.get(projectCode); + vo.setProjectName(project.getProjectName()); vo.setProjectTypeName(BizUtils.getProjectTypeName(project.getProjectType())); vo.setProjectType(project.getProjectType()); vo.setId(project.getId()); @@ -729,6 +730,17 @@ public class PerformanceAppraisalPlanManage { // 获取已经创建的评价计划中添加的评价项目ID List projectIds = performanceAppraisalProjectService.list().stream() .map(PerformanceAppraisalProject::getProjectId).collect(Collectors.toList()); + Long appraisalId = addDTO.getAppraisalId(); + // 如果评价计划不为空,说明是编辑评价计划, + // 评价计划中原来已经勾选的待评价项目,不作为判断重复添加的内容 + if (Objects.nonNull(appraisalId)){ + // 获取当前编辑的评价计划中选择的项目 + List proIds = performanceAppraisalProjectService.list(Wrappers.lambdaQuery(PerformanceAppraisalProject.class) + .eq(PerformanceAppraisalProject::getAppraisalId, appraisalId)).stream() + .map(PerformanceAppraisalProject::getProjectId).collect(Collectors.toList()); + // 去除这些项目 + projectIds.removeAll(proIds); + } // 如果有交集,说明选择的项目中,有已经在其他评价计划中的项目 if (Boolean.TRUE.equals(haveIntersection(projectIdList, projectIds))){ // 得到交集 @@ -756,6 +768,17 @@ public class PerformanceAppraisalPlanManage { // 获取已经创建的评价计划中添加的评价应用ID List applicationIds = performanceAppraisalApplicationService.list().stream() .map(PerformanceAppraisalApplication::getApplicationId).collect(Collectors.toList()); + Long appraisalId = addDTO.getAppraisalId(); + // 如果评价计划不为空,说明是编辑评价计划, + // 评价计划中原来已经勾选的待评价应用,不作为判断重复添加的内容 + if (Objects.nonNull(appraisalId)){ + // 获取当前编辑的评价计划中选择的应用 + List appIds = performanceAppraisalApplicationService.list(Wrappers.lambdaQuery(PerformanceAppraisalApplication.class) + .eq(PerformanceAppraisalApplication::getAppraisalId, appraisalId)).stream() + .map(PerformanceAppraisalApplication::getApplicationId).collect(Collectors.toList()); + // 去除这些应用 + applicationIds.removeAll(appIds); + } // 如果有交集,说明选择的应用中,有已经在其他评价计划中的应用 if (Boolean.TRUE.equals(haveIntersection(applicationIdList, applicationIds))){ // 得到交集 diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/performance/model/dto/AddAppraisalObjectDTO.java b/pmapi/src/main/java/com/ningdatech/pmapi/performance/model/dto/AddAppraisalObjectDTO.java index c43f995..2e5cac4 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/performance/model/dto/AddAppraisalObjectDTO.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/performance/model/dto/AddAppraisalObjectDTO.java @@ -25,6 +25,9 @@ public class AddAppraisalObjectDTO implements Serializable { private static final long serialVersionUID = 1L; + @ApiModelProperty("评价计划ID") + private Long appraisalId; + @ApiModelProperty("评价项目 只有ID 和是否复评") private List projectIds; diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/performance/model/vo/PerformanceAppraisalVO.java b/pmapi/src/main/java/com/ningdatech/pmapi/performance/model/vo/PerformanceAppraisalVO.java index 50ed03f..f93f321 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/performance/model/vo/PerformanceAppraisalVO.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/performance/model/vo/PerformanceAppraisalVO.java @@ -31,12 +31,6 @@ public class PerformanceAppraisalVO implements Serializable { @ApiModelProperty("计划名称") private String name; - @ApiModelProperty("自评开始时间") - private LocalDateTime selfAppraisalStart; - - @ApiModelProperty("自评结束时间") - private LocalDateTime selfAppraisalEnd; - @ApiModelProperty("评价目标 1项目 2应用 可多选 1,2") private String target;