From 208d1030146a4ff71cd4650cb2221a95576072f3 Mon Sep 17 00:00:00 2001 From: WendyYang Date: Wed, 8 Mar 2023 13:41:30 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=B7=B2=E8=AF=84=E5=AE=A1?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=88=97=E8=A1=A8=E3=80=81=E6=9C=AA=E8=AF=84?= =?UTF-8?q?=E5=AE=A1=E9=A1=B9=E7=9B=AE=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../meeting/controller/MeetingController.java | 7 +++ .../pmapi/meeting/entity/dto/ReviewProjectDTO.java | 62 ++++++++++++++++++++++ .../meeting/entity/req/ReviewProjectListReq.java | 37 +++++++++++++ .../pmapi/meeting/manage/MeetingManage.java | 5 ++ .../pmapi/meeting/mapper/MeetingExpertMapper.java | 12 +++++ .../pmapi/meeting/mapper/MeetingExpertMapper.xml | 50 +++++++++++++++++ .../meeting/service/IMeetingExpertService.java | 12 +++++ .../service/impl/MeetingExpertServiceImpl.java | 7 +++ 8 files changed, 192 insertions(+) create mode 100644 pmapi/src/main/java/com/ningdatech/pmapi/meeting/entity/dto/ReviewProjectDTO.java create mode 100644 pmapi/src/main/java/com/ningdatech/pmapi/meeting/entity/req/ReviewProjectListReq.java diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/meeting/controller/MeetingController.java b/pmapi/src/main/java/com/ningdatech/pmapi/meeting/controller/MeetingController.java index 14c20cd..979468f 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/meeting/controller/MeetingController.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/meeting/controller/MeetingController.java @@ -4,6 +4,7 @@ package com.ningdatech.pmapi.meeting.controller; import com.ningdatech.basic.model.IdVo; import com.ningdatech.basic.model.PageVo; import com.ningdatech.log.annotation.WebLog; +import com.ningdatech.pmapi.meeting.entity.dto.ReviewProjectDTO; import com.ningdatech.pmapi.meeting.entity.req.*; import com.ningdatech.pmapi.meeting.entity.vo.*; import com.ningdatech.pmapi.meeting.manage.MeetingManage; @@ -165,4 +166,10 @@ public class MeetingController { meetingManage.confirmedRoster(req.getMeetingId()); } + @GetMapping("/listReviewProject") + @ApiOperation("评审会议列表") + public PageVo listReviewProject(ReviewProjectListReq req){ + return meetingManage.pageReviewProject(req); + } + } diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/meeting/entity/dto/ReviewProjectDTO.java b/pmapi/src/main/java/com/ningdatech/pmapi/meeting/entity/dto/ReviewProjectDTO.java new file mode 100644 index 0000000..ffaf2f9 --- /dev/null +++ b/pmapi/src/main/java/com/ningdatech/pmapi/meeting/entity/dto/ReviewProjectDTO.java @@ -0,0 +1,62 @@ +package com.ningdatech.pmapi.meeting.entity.dto; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + *

+ * ReviewProjectDTO + *

+ * + * @author WendyYang + * @since 10:27 2023/3/8 + */ +@Data +public class ReviewProjectDTO { + + @ApiModelProperty("会议ID") + private Long meetingId; + + @ApiModelProperty("项目ID") + private Long projectId; + + @ApiModelProperty("项目名称") + private String projectName; + + @ApiModelProperty("项目类型") + private Integer projectType; + + @ApiModelProperty("预算年度") + private Integer projectYear; + + @ApiModelProperty("申报金额") + private BigDecimal declaredAmount; + + @ApiModelProperty("申报单位") + private String buildOrgName; + + @ApiModelProperty("评审时间") + private LocalDateTime reviewTime; + + @ApiModelProperty("评审类型") + private Integer reviewType; + + @ApiModelProperty("联系人") + private String connecter; + + @ApiModelProperty("联系方式") + private String contact; + + @ApiModelProperty("业务领域") + private String bizDomain; + + @ApiModelProperty("是否是专家组长") + private Boolean isHeadman; + + @ApiModelProperty("是否已评价:0 未自评、1 已自评、2 已终评") + private Integer reviewed; + +} diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/meeting/entity/req/ReviewProjectListReq.java b/pmapi/src/main/java/com/ningdatech/pmapi/meeting/entity/req/ReviewProjectListReq.java new file mode 100644 index 0000000..0aaeca8 --- /dev/null +++ b/pmapi/src/main/java/com/ningdatech/pmapi/meeting/entity/req/ReviewProjectListReq.java @@ -0,0 +1,37 @@ +package com.ningdatech.pmapi.meeting.entity.req; + +import com.ningdatech.basic.model.PagePo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.time.LocalDateTime; + +/** + *

+ * ReviewProjectListReq + *

+ * + * @author WendyYang + * @since 10:54 2023/3/8 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class ReviewProjectListReq extends PagePo { + + @ApiModelProperty("项目名称") + private String projectName; + + @ApiModelProperty("建设单位") + private String buildOrgName; + + private Long userId; + + @ApiModelProperty("是否已评审") + private Boolean reviewed; + + private LocalDateTime reviewTimeMin; + + private LocalDateTime reviewTimeMax; + +} diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/meeting/manage/MeetingManage.java b/pmapi/src/main/java/com/ningdatech/pmapi/meeting/manage/MeetingManage.java index ff2f50e..3a02ad2 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/meeting/manage/MeetingManage.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/meeting/manage/MeetingManage.java @@ -696,4 +696,9 @@ public class MeetingManage { } } + public PageVo pageReviewProject(ReviewProjectListReq req) { + Page page = meetingExpertService.pageReviewProjectList(req); + return PageVo.of(page.getRecords(), page.getTotal()); + } + } diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/meeting/mapper/MeetingExpertMapper.java b/pmapi/src/main/java/com/ningdatech/pmapi/meeting/mapper/MeetingExpertMapper.java index 222dab7..e6332e3 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/meeting/mapper/MeetingExpertMapper.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/meeting/mapper/MeetingExpertMapper.java @@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ningdatech.pmapi.meeting.entity.domain.MeetingExpert; import com.ningdatech.pmapi.meeting.entity.dto.MeetingAndAttendStatusDTO; +import com.ningdatech.pmapi.meeting.entity.dto.ReviewProjectDTO; import com.ningdatech.pmapi.meeting.entity.enumeration.ExpertAttendStatusEnum; +import com.ningdatech.pmapi.meeting.entity.req.ReviewProjectListReq; import org.apache.ibatis.annotations.Param; import java.util.Collection; @@ -78,4 +80,14 @@ public interface MeetingExpertMapper extends BaseMapper { **/ List listExpertLastByMeetingIds(@Param("meetingIds") Collection meetingIds); + /** + * 查询专家待评审项目 + * + * @param page 分页 + * @param req 查询参数 + * @return 待评审项目分页数据 + * @author WendyYang + **/ + Page pageReviewProjectList(Page page, @Param("p") ReviewProjectListReq req); + } diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/meeting/mapper/MeetingExpertMapper.xml b/pmapi/src/main/java/com/ningdatech/pmapi/meeting/mapper/MeetingExpertMapper.xml index 0752ff4..f1fe5d8 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/meeting/mapper/MeetingExpertMapper.xml +++ b/pmapi/src/main/java/com/ningdatech/pmapi/meeting/mapper/MeetingExpertMapper.xml @@ -72,4 +72,54 @@ #{item}) em WHERE rowNumber = 1 + + + and exists(select 1 from nd_expert_review ner where ner.project_id = np.id and ner.create_by = + me.expert_id and is_final = true) + + + and not exists(select 1 from nd_expert_review ner where ner.project_id = np.id and ner.create_by = + me.expert_id and is_final = true) + + + + + + and exists(select 1 from nd_expert_review ner where ner.project_id = np.id and ner.create_by = + me.expert_id) + + + and not exists(select 1 from nd_expert_review ner where ner.project_id = np.id and ner.create_by = + me.expert_id) + + + + + diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/meeting/service/IMeetingExpertService.java b/pmapi/src/main/java/com/ningdatech/pmapi/meeting/service/IMeetingExpertService.java index 15b1e17..9545645 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/meeting/service/IMeetingExpertService.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/meeting/service/IMeetingExpertService.java @@ -5,8 +5,11 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.ningdatech.pmapi.meeting.entity.domain.MeetingExpert; import com.ningdatech.pmapi.meeting.entity.dto.CountConfirmByMeetingIdDTO; import com.ningdatech.pmapi.meeting.entity.dto.MeetingAndAttendStatusDTO; +import com.ningdatech.pmapi.meeting.entity.dto.ReviewProjectDTO; import com.ningdatech.pmapi.meeting.entity.enumeration.ExpertAttendStatusEnum; import com.ningdatech.pmapi.meeting.entity.enumeration.ExpertInviteTypeEnum; +import com.ningdatech.pmapi.meeting.entity.req.ReviewProjectListReq; +import org.apache.ibatis.annotations.Param; import java.util.Collection; import java.util.Collections; @@ -143,4 +146,13 @@ public interface IMeetingExpertService extends IService { return listExpertLastByMeetingIds(Collections.singletonList(meetingId)); } + /** + * 查询专家待评审项目 + * + * @param req {@link ReviewProjectListReq} + * @return 待评审项目分页数据 + * @author WendyYang + **/ + Page pageReviewProjectList(ReviewProjectListReq req); + } \ No newline at end of file diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/meeting/service/impl/MeetingExpertServiceImpl.java b/pmapi/src/main/java/com/ningdatech/pmapi/meeting/service/impl/MeetingExpertServiceImpl.java index 261fc5f..80d7883 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/meeting/service/impl/MeetingExpertServiceImpl.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/meeting/service/impl/MeetingExpertServiceImpl.java @@ -9,8 +9,10 @@ import com.ningdatech.pmapi.meeting.entity.domain.ExpertInviteRule; import com.ningdatech.pmapi.meeting.entity.domain.MeetingExpert; import com.ningdatech.pmapi.meeting.entity.dto.CountConfirmByMeetingIdDTO; import com.ningdatech.pmapi.meeting.entity.dto.MeetingAndAttendStatusDTO; +import com.ningdatech.pmapi.meeting.entity.dto.ReviewProjectDTO; import com.ningdatech.pmapi.meeting.entity.enumeration.ExpertAttendStatusEnum; import com.ningdatech.pmapi.meeting.entity.enumeration.ExpertInviteTypeEnum; +import com.ningdatech.pmapi.meeting.entity.req.ReviewProjectListReq; import com.ningdatech.pmapi.meeting.mapper.ExpertInviteRuleMapper; import com.ningdatech.pmapi.meeting.mapper.MeetingExpertMapper; import com.ningdatech.pmapi.meeting.service.IMeetingExpertService; @@ -127,4 +129,9 @@ public class MeetingExpertServiceImpl extends ServiceImpl pageReviewProjectList(ReviewProjectListReq req) { + return baseMapper.pageReviewProjectList(req.page(), req); + } + }