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 4cb9ba2..16b054a 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 @@ -670,6 +670,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()); @@ -731,6 +732,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))){ // 得到交集 @@ -758,6 +770,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;