소스 검색

修复创建会议选择项目重复

tags/24080901
WendyYang 1 년 전
부모
커밋
78f674763d
1개의 변경된 파일7개의 추가작업 그리고 3개의 파일을 삭제
  1. +7
    -3
      pmapi/src/main/java/com/ningdatech/pmapi/meeting/manage/MeetingManage.java

+ 7
- 3
pmapi/src/main/java/com/ningdatech/pmapi/meeting/manage/MeetingManage.java 파일 보기

@@ -835,12 +835,16 @@ public class MeetingManage {
}

private void buildOptionProjectQuery(LambdaQueryWrapper<Project> query, String meetingType, ProjectStatusEnum status) {
query.eq(Project::getStatus, status.getCode());
String sql = String.format("select 1 from meeting m inner join meeting_inner_project mip on" +
" m.is_inner_project = true and m.id = mip.meeting_id and nd_project.id = mip.project_id" +
" and m.type = %s and m.status != 3", meetingType);
query.eq(Project::getStatus, status.getCode());
query.and(q1 -> q1.notExists(sql).or(q2 -> q2.exists(sql + " inner join nd_expert_review ner " +
"on ner.meeting_id = m.id and ner.project_id = mip.project_id and ner.is_final = true and review_result in (2, 3)")));
String sql2 = String.format("select review_result in (2,3) from " +
" (select ner.review_result from meeting m inner join meeting_inner_project mip on" +
" m.is_inner_project = true and m.id = mip.meeting_id and nd_project.id = mip.project_id" +
" and m.type = %s and m.status != 3 left join nd_expert_review ner on ner.meeting_id = m.id " +
" and ner.project_id = mip.project_id and ner.is_final = true order by m.create_on desc limit 1) t", meetingType);
query.and(q1 -> q1.notExists(sql).or(q2 -> q2.apply(sql2)));
}

}

불러오는 중...
취소
저장