|
@@ -18,8 +18,11 @@ import com.ningdatech.basic.util.StrPool; |
|
|
import com.ningdatech.basic.util.ValidUtil; |
|
|
import com.ningdatech.basic.util.ValidUtil; |
|
|
import com.ningdatech.cache.lock.DistributedLock; |
|
|
import com.ningdatech.cache.lock.DistributedLock; |
|
|
import com.ningdatech.pmapi.common.helper.RegionCacheHelper; |
|
|
import com.ningdatech.pmapi.common.helper.RegionCacheHelper; |
|
|
|
|
|
import com.ningdatech.pmapi.expert.constant.ReviewResultEnum; |
|
|
import com.ningdatech.pmapi.expert.entity.ExpertUserFullInfo; |
|
|
import com.ningdatech.pmapi.expert.entity.ExpertUserFullInfo; |
|
|
import com.ningdatech.pmapi.expert.helper.PermissionCheckHelper; |
|
|
import com.ningdatech.pmapi.expert.helper.PermissionCheckHelper; |
|
|
|
|
|
import com.ningdatech.pmapi.expert.model.entity.ExpertReview; |
|
|
|
|
|
import com.ningdatech.pmapi.expert.service.IExpertReviewService; |
|
|
import com.ningdatech.pmapi.expert.service.IExpertUserFullInfoService; |
|
|
import com.ningdatech.pmapi.expert.service.IExpertUserFullInfoService; |
|
|
import com.ningdatech.pmapi.meeting.builder.ExpertInviteBuilder; |
|
|
import com.ningdatech.pmapi.meeting.builder.ExpertInviteBuilder; |
|
|
import com.ningdatech.pmapi.meeting.entity.domain.*; |
|
|
import com.ningdatech.pmapi.meeting.entity.domain.*; |
|
@@ -41,7 +44,6 @@ import com.ningdatech.pmapi.organization.service.IDingOrganizationService; |
|
|
import com.ningdatech.pmapi.organization.service.IGovBusinessStripService; |
|
|
import com.ningdatech.pmapi.organization.service.IGovBusinessStripService; |
|
|
import com.ningdatech.pmapi.projectlib.enumeration.ProjectStatusEnum; |
|
|
import com.ningdatech.pmapi.projectlib.enumeration.ProjectStatusEnum; |
|
|
import com.ningdatech.pmapi.projectlib.model.entity.Project; |
|
|
import com.ningdatech.pmapi.projectlib.model.entity.Project; |
|
|
import com.ningdatech.pmapi.projectlib.model.vo.ProjectLibListItemVO; |
|
|
|
|
|
import com.ningdatech.pmapi.projectlib.service.IProjectService; |
|
|
import com.ningdatech.pmapi.projectlib.service.IProjectService; |
|
|
import com.ningdatech.pmapi.sys.model.dto.RegionDTO; |
|
|
import com.ningdatech.pmapi.sys.model.dto.RegionDTO; |
|
|
import com.ningdatech.pmapi.user.security.auth.model.UserInfoDetails; |
|
|
import com.ningdatech.pmapi.user.security.auth.model.UserInfoDetails; |
|
@@ -89,7 +91,7 @@ public class MeetingManage { |
|
|
private final IMeetingOuterProjectService meetingOuterProjectService; |
|
|
private final IMeetingOuterProjectService meetingOuterProjectService; |
|
|
private final IGovBusinessStripService businessStripService; |
|
|
private final IGovBusinessStripService businessStripService; |
|
|
private final IDingOrganizationService dingOrganizationService; |
|
|
private final IDingOrganizationService dingOrganizationService; |
|
|
|
|
|
|
|
|
|
|
|
private final IExpertReviewService expertReviewService; |
|
|
private final ExpertInviteHelper expertInviteHelper; |
|
|
private final ExpertInviteHelper expertInviteHelper; |
|
|
private static final String INVITED_RULE_CREATE = "INVITED_RULE_CREATE:"; |
|
|
private static final String INVITED_RULE_CREATE = "INVITED_RULE_CREATE:"; |
|
|
|
|
|
|
|
@@ -728,7 +730,7 @@ public class MeetingManage { |
|
|
return PageVo.of(page.getRecords(), page.getTotal()); |
|
|
return PageVo.of(page.getRecords(), page.getTotal()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public PageVo<ProjectLibListItemVO> optionProject(MeetingOptionProjectReq req) { |
|
|
|
|
|
|
|
|
public PageVo<MeetingReviewProjectVO> optionProject(MeetingOptionProjectReq req) { |
|
|
String meetingType = req.getMeetingType(); |
|
|
String meetingType = req.getMeetingType(); |
|
|
LambdaQueryWrapper<Project> query = Wrappers.lambdaQuery(Project.class); |
|
|
LambdaQueryWrapper<Project> query = Wrappers.lambdaQuery(Project.class); |
|
|
switch (MeetingReviewTypeEnum.getByCode(meetingType)) { |
|
|
switch (MeetingReviewTypeEnum.getByCode(meetingType)) { |
|
@@ -748,28 +750,38 @@ public class MeetingManage { |
|
|
return PageVo.empty(); |
|
|
return PageVo.empty(); |
|
|
} |
|
|
} |
|
|
Page<Project> page = projectService.page(req.page(), query); |
|
|
Page<Project> page = projectService.page(req.page(), query); |
|
|
PageVo<ProjectLibListItemVO> result = PageVo.of(null, page.getTotal()); |
|
|
|
|
|
|
|
|
PageVo<MeetingReviewProjectVO> result = PageVo.of(null, page.getTotal()); |
|
|
if (result.getTotal() > 0) { |
|
|
if (result.getTotal() > 0) { |
|
|
result.setRecords(CollUtils.convert(page.getRecords(), this::buildProjectList)); |
|
|
result.setRecords(CollUtils.convert(page.getRecords(), this::buildProjectList)); |
|
|
} |
|
|
} |
|
|
return result; |
|
|
return result; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public List<ProjectLibListItemVO> projectsByMeetingId(Long meetingId) { |
|
|
|
|
|
|
|
|
public List<MeetingReviewProjectVO> projectsByMeetingId(Long meetingId) { |
|
|
Meeting meeting = meetingService.getById(meetingId); |
|
|
Meeting meeting = meetingService.getById(meetingId); |
|
|
if (meeting.getIsInnerProject()) { |
|
|
if (meeting.getIsInnerProject()) { |
|
|
List<MeetingInnerProject> projects = meetingInnerProjectService.listByMeetingId(meetingId); |
|
|
List<MeetingInnerProject> projects = meetingInnerProjectService.listByMeetingId(meetingId); |
|
|
List<Long> projectIdList = CollUtils.fieldList(projects, MeetingInnerProject::getProjectId); |
|
|
List<Long> projectIdList = CollUtils.fieldList(projects, MeetingInnerProject::getProjectId); |
|
|
List<Project> projectList = projectService.listByIds(projectIdList); |
|
|
List<Project> projectList = projectService.listByIds(projectIdList); |
|
|
return CollUtils.convert(projectList, this::buildProjectList); |
|
|
|
|
|
|
|
|
Map<Long, ExpertReview> reviewMap = expertReviewService.listFinalReview(meetingId); |
|
|
|
|
|
return CollUtils.convert(projectList, w -> { |
|
|
|
|
|
MeetingReviewProjectVO vo = buildProjectList(w); |
|
|
|
|
|
ExpertReview review = reviewMap.get(w.getId()); |
|
|
|
|
|
if (review != null) { |
|
|
|
|
|
vo.setReviewResult(ReviewResultEnum.getByCode(review.getReviewResult()).getValue()); |
|
|
|
|
|
} else { |
|
|
|
|
|
vo.setReviewResult("--"); |
|
|
|
|
|
} |
|
|
|
|
|
return vo; |
|
|
|
|
|
}); |
|
|
} else { |
|
|
} else { |
|
|
List<MeetingOuterProject> projects = meetingOuterProjectService.listByMeetingId(meetingId); |
|
|
List<MeetingOuterProject> projects = meetingOuterProjectService.listByMeetingId(meetingId); |
|
|
return BeanUtil.copyToList(projects, ProjectLibListItemVO.class); |
|
|
|
|
|
|
|
|
return BeanUtil.copyToList(projects, MeetingReviewProjectVO.class); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private ProjectLibListItemVO buildProjectList(Project project) { |
|
|
|
|
|
return ProjectLibListItemVO |
|
|
|
|
|
|
|
|
private MeetingReviewProjectVO buildProjectList(Project project) { |
|
|
|
|
|
return MeetingReviewProjectVO |
|
|
.builder() |
|
|
.builder() |
|
|
.id(project.getId()) |
|
|
.id(project.getId()) |
|
|
.projectName(project.getProjectName()) |
|
|
.projectName(project.getProjectName()) |
|
@@ -777,6 +789,7 @@ public class MeetingManage { |
|
|
.projectType(project.getProjectType()) |
|
|
.projectType(project.getProjectType()) |
|
|
.projectYear(project.getProjectYear()) |
|
|
.projectYear(project.getProjectYear()) |
|
|
.buildOrg(project.getBuildOrgName()) |
|
|
.buildOrg(project.getBuildOrgName()) |
|
|
|
|
|
.createOn(project.getCreateOn()) |
|
|
.build(); |
|
|
.build(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|