|
@@ -22,6 +22,10 @@ import org.apache.ibatis.annotations.Update;
|
|
@Mapper
|
|
@Mapper
|
|
public interface studentSelectSupervisorRecordMapper extends BaseMapperX<studentSelectSupervisorRecordDO> {
|
|
public interface studentSelectSupervisorRecordMapper extends BaseMapperX<studentSelectSupervisorRecordDO> {
|
|
|
|
|
|
|
|
+ // 部分能传null
|
|
|
|
+ void updateRecordNull(@Param("recordDO") studentSelectSupervisorRecordDO recordDO);
|
|
|
|
+
|
|
|
|
+ //招生详情和导师的项目详情
|
|
default PageResult<studentSelectSupervisorRecordDO> selectPage(StudentSelectSupervisorRecordPageReqVO reqVO, Set<Long>roleIds, AdminUserDO loginUser) {
|
|
default PageResult<studentSelectSupervisorRecordDO> selectPage(StudentSelectSupervisorRecordPageReqVO reqVO, Set<Long>roleIds, AdminUserDO loginUser) {
|
|
|
|
|
|
MPJLambdaWrapperX<studentSelectSupervisorRecordDO> queryWrapperX =new MPJLambdaWrapperX<>();
|
|
MPJLambdaWrapperX<studentSelectSupervisorRecordDO> queryWrapperX =new MPJLambdaWrapperX<>();
|
|
@@ -46,17 +50,21 @@ public interface studentSelectSupervisorRecordMapper extends BaseMapperX<student
|
|
.eqIfExists(studentSelectSupervisorRecordDO::getStudentSignature, reqVO.getStudentSignature())
|
|
.eqIfExists(studentSelectSupervisorRecordDO::getStudentSignature, reqVO.getStudentSignature())
|
|
.eqIfExists(studentSelectSupervisorRecordDO::getSupervisorSignature, reqVO.getSupervisorSignature())
|
|
.eqIfExists(studentSelectSupervisorRecordDO::getSupervisorSignature, reqVO.getSupervisorSignature())
|
|
.eqIfExists(studentSelectSupervisorRecordDO::getExternalSupervisorId, reqVO.getExternalSupervisorId())
|
|
.eqIfExists(studentSelectSupervisorRecordDO::getExternalSupervisorId, reqVO.getExternalSupervisorId())
|
|
- .orderByDesc(studentSelectSupervisorRecordDO::getId);
|
|
|
|
|
|
+ .orderByDesc(studentSelectSupervisorRecordDO::getCreateTime);
|
|
|
|
|
|
- if (roleIds.contains(113L)){
|
|
|
|
|
|
+ if (roleIds.contains(113L)){//导师看自己的待处理,同意,退回
|
|
queryWrapperX.eqIfPresent(studentSelectSupervisorRecordDO::getSupervisorId,loginUser.getId())
|
|
queryWrapperX.eqIfPresent(studentSelectSupervisorRecordDO::getSupervisorId,loginUser.getId())
|
|
.inIfPresent(studentSelectSupervisorRecordDO::getSelectType,1,2,3)
|
|
.inIfPresent(studentSelectSupervisorRecordDO::getSelectType,1,2,3)
|
|
.orderBy(true, true, studentSelectSupervisorRecordDO::getSelectType)
|
|
.orderBy(true, true, studentSelectSupervisorRecordDO::getSelectType)
|
|
.last("ORDER BY FIELD(select_type, 1,2,3)");
|
|
.last("ORDER BY FIELD(select_type, 1,2,3)");
|
|
- }else if (roleIds.contains(114L)){//学院看所有的编辑、待处理、退回记录
|
|
|
|
- queryWrapperX.inIfPresent(studentSelectSupervisorRecordDO::getSelectType,0,1,2,3,4)
|
|
|
|
- .orderBy(true, true, studentSelectSupervisorRecordDO::getSelectType)
|
|
|
|
- .last("ORDER BY FIELD(select_type, 4, 1, 3, 2,0)");
|
|
|
|
|
|
+ }else if (roleIds.contains(114L)){
|
|
|
|
+ if ( reqVO.getSupervisorId()!=null&&reqVO.getSupervisorId()!=0) {//招生详情学院看对应导师的同意的
|
|
|
|
+ queryWrapperX.eqIfPresent(studentSelectSupervisorRecordDO::getSelectType, 2);
|
|
|
|
+ }else {//互选记录看所有
|
|
|
|
+ queryWrapperX.inIfPresent(studentSelectSupervisorRecordDO::getSelectType,0,1,2,3)
|
|
|
|
+ .orderBy(true, true, studentSelectSupervisorRecordDO::getSelectType)
|
|
|
|
+ .last("ORDER BY FIELD(select_type,2,1,3,0)");
|
|
|
|
+ }
|
|
}else if (roleIds.contains(112L)){//学生看自己的
|
|
}else if (roleIds.contains(112L)){//学生看自己的
|
|
queryWrapperX.eqIfPresent(studentSelectSupervisorRecordDO::getStudentId,loginUser.getId());
|
|
queryWrapperX.eqIfPresent(studentSelectSupervisorRecordDO::getStudentId,loginUser.getId());
|
|
}
|
|
}
|
|
@@ -84,23 +92,96 @@ public interface studentSelectSupervisorRecordMapper extends BaseMapperX<student
|
|
.eqIfExists(studentSelectSupervisorRecordDO::getStudentSignature, reqVO.getStudentSignature())
|
|
.eqIfExists(studentSelectSupervisorRecordDO::getStudentSignature, reqVO.getStudentSignature())
|
|
.eqIfExists(studentSelectSupervisorRecordDO::getSupervisorSignature, reqVO.getSupervisorSignature())
|
|
.eqIfExists(studentSelectSupervisorRecordDO::getSupervisorSignature, reqVO.getSupervisorSignature())
|
|
.eqIfExists(studentSelectSupervisorRecordDO::getExternalSupervisorId, reqVO.getExternalSupervisorId())
|
|
.eqIfExists(studentSelectSupervisorRecordDO::getExternalSupervisorId, reqVO.getExternalSupervisorId())
|
|
- .orderByDesc(studentSelectSupervisorRecordDO::getId);
|
|
|
|
- if (roleIds.contains(113L)){
|
|
|
|
|
|
+ .orderByDesc(studentSelectSupervisorRecordDO::getCreateTime);
|
|
|
|
+ if (roleIds.contains(113L)){//导师看自己的待处理,同意,退回
|
|
queryWrapperX.eqIfPresent(studentSelectSupervisorRecordDO::getSupervisorId,loginUser.getId())
|
|
queryWrapperX.eqIfPresent(studentSelectSupervisorRecordDO::getSupervisorId,loginUser.getId())
|
|
- .inIfPresent(studentSelectSupervisorRecordDO::getSelectType,1,2,3)
|
|
|
|
- .orderBy(true, true, studentSelectSupervisorRecordDO::getSelectType)
|
|
|
|
- .last("ORDER BY FIELD(select_type, 1,2,3)");
|
|
|
|
- }else if (roleIds.contains(114L)){//学院看所有的编辑、待处理、退回记录
|
|
|
|
- queryWrapperX.inIfPresent(studentSelectSupervisorRecordDO::getSelectType,0,1,2,3,4)
|
|
|
|
|
|
+ .inIfPresent(studentSelectSupervisorRecordDO::getSelectType,1,2,3)
|
|
.orderBy(true, true, studentSelectSupervisorRecordDO::getSelectType)
|
|
.orderBy(true, true, studentSelectSupervisorRecordDO::getSelectType)
|
|
- .last("ORDER BY FIELD(select_type, 4, 1, 3, 2)");
|
|
|
|
-
|
|
|
|
|
|
+ .last("ORDER BY FIELD(select_type, 1,2,3)");
|
|
|
|
+ }else if (roleIds.contains(114L)){//
|
|
|
|
+ if ( reqVO.getSupervisorId()!=null&&reqVO.getSupervisorId()!=0) {//招生详情
|
|
|
|
+ queryWrapperX.eqIfPresent(studentSelectSupervisorRecordDO::getSelectType, 2);
|
|
|
|
+ }else {//互选记录看所有
|
|
|
|
+ queryWrapperX.inIfPresent(studentSelectSupervisorRecordDO::getSelectType,0,1,2,3)
|
|
|
|
+ .orderBy(true, true, studentSelectSupervisorRecordDO::getSelectType)
|
|
|
|
+ .last("ORDER BY FIELD(select_type,2,1,3,0)");
|
|
|
|
+ }
|
|
}else if (roleIds.contains(112L)){//学生看自己的
|
|
}else if (roleIds.contains(112L)){//学生看自己的
|
|
queryWrapperX.eqIfPresent(studentSelectSupervisorRecordDO::getStudentId,loginUser.getId());
|
|
queryWrapperX.eqIfPresent(studentSelectSupervisorRecordDO::getStudentId,loginUser.getId());
|
|
}
|
|
}
|
|
return selectList(queryWrapperX);
|
|
return selectList(queryWrapperX);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ //导师待审批
|
|
|
|
+ default PageResult<studentSelectSupervisorRecordDO> getPendingApprovalRecordPage(StudentSelectSupervisorRecordPageReqVO reqVO, Set<Long>roleIds, AdminUserDO loginUser) {
|
|
|
|
+
|
|
|
|
+ MPJLambdaWrapperX<studentSelectSupervisorRecordDO> queryWrapperX =new MPJLambdaWrapperX<>();
|
|
|
|
+
|
|
|
|
+ queryWrapperX
|
|
|
|
+ .betweenIfPresent(studentSelectSupervisorRecordDO::getSupervisorApproveTime, reqVO.getSupervisorApproveTime())
|
|
|
|
+ .selectAll(studentSelectSupervisorRecordDO.class)
|
|
|
|
+ .leftJoin(AdminUserDO.class,AdminUserDO::getId,studentSelectSupervisorRecordDO::getStudentId)//关联学生信息
|
|
|
|
+ .leftJoin(studentSelectionProjectDO.class,studentSelectionProjectDO::getId,studentSelectSupervisorRecordDO::getProjectId)//关联项目
|
|
|
|
+ .selectAs(AdminUserDO::getNickname,studentSelectSupervisorRecordDO::getStudentName)//学生姓名
|
|
|
|
+ .selectAs(AdminUserDO::getGrade,studentSelectSupervisorRecordDO::getStudentGrade)//学生年级
|
|
|
|
+ .selectAs(AdminUserDO::getMasterType,studentSelectSupervisorRecordDO::getMasterType)//硕士类型
|
|
|
|
+ .selectAs(AdminUserDO::getMajor,studentSelectSupervisorRecordDO::getMajor)//专业
|
|
|
|
+ .selectAs(AdminUserDO::getIntroduction,studentSelectSupervisorRecordDO::getIntroduction)//简历
|
|
|
|
+ .selectAs(studentSelectionProjectDO::getProjectName,studentSelectSupervisorRecordDO::getProjectName)//项目名称
|
|
|
|
+ .likeIfExists(AdminUserDO::getNickname,reqVO.getStudentName())//学生姓名
|
|
|
|
+ .eqIfExists(AdminUserDO::getGrade,reqVO.getStudentGrade())//学生年级
|
|
|
|
+ .eqIfExists(studentSelectSupervisorRecordDO::getProjectId, reqVO.getProjectId())
|
|
|
|
+ .eqIfExists(studentSelectSupervisorRecordDO::getStudentId, reqVO.getStudentId())
|
|
|
|
+ .eqIfExists(studentSelectSupervisorRecordDO::getSupervisorId, reqVO.getSupervisorId())//学院看招生情况会传导师id
|
|
|
|
+ .eqIfExists(studentSelectSupervisorRecordDO::getSelectType, reqVO.getSelectType())
|
|
|
|
+ .eqIfExists(studentSelectSupervisorRecordDO::getStudentSignature, reqVO.getStudentSignature())
|
|
|
|
+ .eqIfExists(studentSelectSupervisorRecordDO::getSupervisorSignature, reqVO.getSupervisorSignature())
|
|
|
|
+ .eqIfExists(studentSelectSupervisorRecordDO::getExternalSupervisorId, reqVO.getExternalSupervisorId())
|
|
|
|
+ .orderByDesc(studentSelectSupervisorRecordDO::getCreateTime);
|
|
|
|
+
|
|
|
|
+ if (roleIds.contains(113L)){//导师看自己的待处理
|
|
|
|
+ queryWrapperX.eqIfPresent(studentSelectSupervisorRecordDO::getSupervisorId,loginUser.getId())
|
|
|
|
+ .eqIfPresent(studentSelectSupervisorRecordDO::getSelectType,1);
|
|
|
|
+ }
|
|
|
|
+ return selectPage(reqVO,queryWrapperX);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //导师已审批
|
|
|
|
+ default PageResult<studentSelectSupervisorRecordDO> getApprovedRecordPage(StudentSelectSupervisorRecordPageReqVO reqVO, Set<Long>roleIds, AdminUserDO loginUser) {
|
|
|
|
+
|
|
|
|
+ MPJLambdaWrapperX<studentSelectSupervisorRecordDO> queryWrapperX =new MPJLambdaWrapperX<>();
|
|
|
|
+
|
|
|
|
+ queryWrapperX
|
|
|
|
+ .betweenIfPresent(studentSelectSupervisorRecordDO::getSupervisorApproveTime, reqVO.getSupervisorApproveTime())
|
|
|
|
+ .selectAll(studentSelectSupervisorRecordDO.class)
|
|
|
|
+ .leftJoin(AdminUserDO.class,AdminUserDO::getId,studentSelectSupervisorRecordDO::getStudentId)//关联学生信息
|
|
|
|
+ .leftJoin(studentSelectionProjectDO.class,studentSelectionProjectDO::getId,studentSelectSupervisorRecordDO::getProjectId)//关联项目
|
|
|
|
+ .selectAs(AdminUserDO::getNickname,studentSelectSupervisorRecordDO::getStudentName)//学生姓名
|
|
|
|
+ .selectAs(AdminUserDO::getGrade,studentSelectSupervisorRecordDO::getStudentGrade)//学生年级
|
|
|
|
+ .selectAs(AdminUserDO::getMasterType,studentSelectSupervisorRecordDO::getMasterType)//硕士类型
|
|
|
|
+ .selectAs(AdminUserDO::getMajor,studentSelectSupervisorRecordDO::getMajor)//专业
|
|
|
|
+ .selectAs(AdminUserDO::getIntroduction,studentSelectSupervisorRecordDO::getIntroduction)//简历
|
|
|
|
+ .selectAs(studentSelectionProjectDO::getProjectName,studentSelectSupervisorRecordDO::getProjectName)//项目名称
|
|
|
|
+ .likeIfExists(AdminUserDO::getNickname,reqVO.getStudentName())//学生姓名
|
|
|
|
+ .eqIfExists(AdminUserDO::getGrade,reqVO.getStudentGrade())//学生年级
|
|
|
|
+ .eqIfExists(studentSelectSupervisorRecordDO::getProjectId, reqVO.getProjectId())
|
|
|
|
+ .eqIfExists(studentSelectSupervisorRecordDO::getStudentId, reqVO.getStudentId())
|
|
|
|
+ .eqIfExists(studentSelectSupervisorRecordDO::getSupervisorId, reqVO.getSupervisorId())//学院看招生情况会传导师id
|
|
|
|
+ .eqIfExists(studentSelectSupervisorRecordDO::getSelectType, reqVO.getSelectType())
|
|
|
|
+ .eqIfExists(studentSelectSupervisorRecordDO::getStudentSignature, reqVO.getStudentSignature())
|
|
|
|
+ .eqIfExists(studentSelectSupervisorRecordDO::getSupervisorSignature, reqVO.getSupervisorSignature())
|
|
|
|
+ .eqIfExists(studentSelectSupervisorRecordDO::getExternalSupervisorId, reqVO.getExternalSupervisorId())
|
|
|
|
+ .orderByDesc(studentSelectSupervisorRecordDO::getCreateTime);
|
|
|
|
+
|
|
|
|
+ if (roleIds.contains(113L)){//导师看自己的同意和退回
|
|
|
|
+ queryWrapperX.eqIfPresent(studentSelectSupervisorRecordDO::getSupervisorId,loginUser.getId())
|
|
|
|
+ .inIfPresent(studentSelectSupervisorRecordDO::getSelectType,2,3);
|
|
|
|
+ }
|
|
|
|
+ return selectPage(reqVO,queryWrapperX);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
//只能查一直只有一条记录的,同意/未处理
|
|
//只能查一直只有一条记录的,同意/未处理
|
|
studentSelectSupervisorRecordDO getRecordByStudentIdAndSupervisorId(
|
|
studentSelectSupervisorRecordDO getRecordByStudentIdAndSupervisorId(
|
|
@Param("projectId") Long projectId,
|
|
@Param("projectId") Long projectId,
|
|
@@ -120,4 +201,8 @@ public interface studentSelectSupervisorRecordMapper extends BaseMapperX<student
|
|
@Select("SELECT supervisor_signature FROM student_select_supervisor_record WHERE supervisor_id=#{supervisorId} AND select_type =2 AND supervisor_signature IS NOT NULL AND supervisor_signature != '' AND deleted =0 ORDER BY supervisor_sign_date DESC LIMIT 1")
|
|
@Select("SELECT supervisor_signature FROM student_select_supervisor_record WHERE supervisor_id=#{supervisorId} AND select_type =2 AND supervisor_signature IS NOT NULL AND supervisor_signature != '' AND deleted =0 ORDER BY supervisor_sign_date DESC LIMIT 1")
|
|
String getSupervisorSignatureById(@Param("supervisorId") Long supervisorId);
|
|
String getSupervisorSignatureById(@Param("supervisorId") Long supervisorId);
|
|
|
|
|
|
|
|
+ @Update("UPDATE student_select_supervisor_record SET deleted = 1 WHERE project_id = #{projectId} AND deleted = 0")
|
|
|
|
+ void deleteRecordsByProjectId(@Param("projectId") Long projectId);
|
|
|
|
+
|
|
|
|
+
|
|
}
|
|
}
|