|
@@ -16,6 +16,7 @@ import cn.iocoder.yudao.module.system.service.user.AdminUserService;
|
|
|
import com.alibaba.druid.sql.visitor.functions.If;
|
|
|
import com.baomidou.mybatisplus.generator.IFill;
|
|
|
import org.apache.ibatis.annotations.Param;
|
|
|
+import org.springframework.scheduling.TaskScheduler;
|
|
|
import org.springframework.scheduling.annotation.Scheduled;
|
|
|
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
@@ -33,6 +34,7 @@ import java.time.DayOfWeek;
|
|
|
import java.time.LocalDate;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.time.ZoneId;
|
|
|
+import java.time.temporal.ChronoUnit;
|
|
|
import java.util.*;
|
|
|
import java.io.IOException;
|
|
|
|
|
@@ -70,40 +72,38 @@ public class studentSelectSupervisorRecordController {
|
|
|
@Resource
|
|
|
private studentSelectionProjectService studentSelectionProjectService;
|
|
|
|
|
|
-// @Resource
|
|
|
-// private ThreadPoolTaskScheduler taskScheduler;
|
|
|
-// // 调度器
|
|
|
-// private void scheduleNextExecution(LocalDateTime endTime) {
|
|
|
-// taskScheduler.schedule(this::checkSelection, Date.from(endTime.atZone(ZoneId.systemDefault()).toInstant()));
|
|
|
-// }
|
|
|
-// //在项目结束的时候
|
|
|
-// @Idempotent(timeout = 10)
|
|
|
-// public void checkSelection() {
|
|
|
-// //获取今年的选择记录
|
|
|
-// LocalDate date =LocalDate.now();
|
|
|
-// studentSelectionProjectSaveReqVO project = BeanUtils.toBean(studentSelectionProjectService.getStudentSelectionProjectByYear(date.getYear()),studentSelectionProjectSaveReqVO.class);
|
|
|
-// LocalDateTime endTime = project.getSupervisorConfirmDeadline();
|
|
|
-//
|
|
|
-// scheduleNextExecution(endTime);
|
|
|
-// //导师未同意或者没有选择导师的学生
|
|
|
-// List<AdminUserDO> studentList =adminUserService.getStudentAndSupervisorNull(project.getStudentGrade());
|
|
|
-// //更新待处理的记录
|
|
|
-// for (AdminUserDO student :studentList){
|
|
|
-// //待处理的记录
|
|
|
-// studentSelectSupervisorRecordDO record =studentSelectSupervisorRecordService.getRecordByStudentIdAndSupervisorId(student.getId(),null,1);
|
|
|
-// record.setSelectType(0);//设置成编辑状态
|
|
|
-// studentSelectSupervisorRecordService.updateStudentSelectSupervisorRecord(BeanUtils.toBean(record,studentSelectSupervisorRecordSaveReqVO.class));
|
|
|
-// studentList.remove(student);
|
|
|
-// }
|
|
|
-// //创建其他的记录
|
|
|
-// studentSelectSupervisorRecordSaveReqVO createReqVO =new studentSelectSupervisorRecordSaveReqVO();
|
|
|
-// for (AdminUserDO student :studentList){
|
|
|
-// createReqVO.setStudentId(student.getId());
|
|
|
-// createReqVO.setSelectType(0);//编辑状态
|
|
|
-// studentSelectSupervisorRecordService.createStudentSelectSupervisorRecord(createReqVO);
|
|
|
-// }
|
|
|
-//
|
|
|
-// }
|
|
|
+ @Scheduled(cron = "0 00 00 * * ?") // 每天0:00检测,更新未打卡
|
|
|
+ @Idempotent(timeout = 10)
|
|
|
+ public void attendanceNormalFirst() {
|
|
|
+ LocalDateTime nowTime =LocalDateTime.now();
|
|
|
+ studentSelectionProjectSaveReqVO project = BeanUtils.toBean(studentSelectionProjectService.getStudentSelectionProjectByYear(nowTime.getYear()),studentSelectionProjectSaveReqVO.class);
|
|
|
+ LocalDateTime endTime = project.getSupervisorConfirmDeadline();
|
|
|
+ if (nowTime.isAfter(endTime)){
|
|
|
+ checkSelection();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //在项目结束的时候
|
|
|
+ @GetMapping("/ceshi")
|
|
|
+ @Operation(summary = "测试生成编辑记录")
|
|
|
+ public void checkSelection() {
|
|
|
+ //获取今年的选择记录
|
|
|
+ LocalDate date =LocalDate.now();
|
|
|
+ studentSelectionProjectSaveReqVO project = BeanUtils.toBean(studentSelectionProjectService.getStudentSelectionProjectByYear(date.getYear()),studentSelectionProjectSaveReqVO.class);
|
|
|
+
|
|
|
+ //没有选择成功导师的学生
|
|
|
+ List<AdminUserDO> studentList =adminUserService.getStudentAndSupervisorNull(project.getStudentGrade());
|
|
|
+ //更新所有待处理的记录
|
|
|
+ studentSelectSupervisorRecordService.updatePendingSelectType(project.getId());
|
|
|
+ //创建其他的记录
|
|
|
+ studentSelectSupervisorRecordSaveReqVO createReqVO =new studentSelectSupervisorRecordSaveReqVO();
|
|
|
+ for (AdminUserDO student :studentList){
|
|
|
+ createReqVO.setProjectId(project.getId());
|
|
|
+ createReqVO.setStudentId(student.getId());
|
|
|
+
|
|
|
+ createReqVO.setSelectType(4);//编辑状态
|
|
|
+ studentSelectSupervisorRecordService.createStudentSelectSupervisorRecord(createReqVO);
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
|
|
|
@PostMapping("/create")
|
|
@@ -112,33 +112,46 @@ public class studentSelectSupervisorRecordController {
|
|
|
public CommonResult<String> createStudentSelectSupervisorRecord(@Valid @RequestBody studentSelectSupervisorRecordSaveReqVO createReqVO) {
|
|
|
Long loginId = SecurityFrameworkUtils.getLoginUserId();
|
|
|
AdminUserDO loginUser =adminUserService.getUser(loginId);
|
|
|
+ LocalDateTime dateTime =LocalDateTime.now();
|
|
|
+ studentSelectionProjectSaveReqVO project = BeanUtils.toBean(studentSelectionProjectService.getStudentSelectionProjectByYear(dateTime.getYear()), studentSelectionProjectSaveReqVO.class);
|
|
|
+ Set<Long> roleIds = permissionService.getUserRoleIdListByUserId(loginId);
|
|
|
+ if ((roleIds.contains(112L) || roleIds.contains(113L)) && project.getSupervisorConfirmDeadline().isBefore(dateTime)) {
|
|
|
+ return error(1, "该项目已过截至日期");
|
|
|
+ }else {
|
|
|
+ Integer occupiedAcademicSlots = adminUserService.countStudentListBySupervisorId(Math.toIntExact(createReqVO.getSupervisorId()), 1);//占用学硕
|
|
|
+ Integer occupiedProfessionalSlots = adminUserService.countStudentListBySupervisorId(Math.toIntExact(createReqVO.getSupervisorId()), 2);//占用专硕
|
|
|
+ supervisorSelectionSettingDO supervisorSelectionSetting = supervisorSelectionSettingService.getSettingBySupervisorIdAndProjectId(createReqVO.getSupervisorId(), createReqVO.getProjectId());
|
|
|
|
|
|
- Integer occupiedAcademicSlots =adminUserService.countStudentListBySupervisorId(Math.toIntExact(createReqVO.getSupervisorId()),1);//占用学硕
|
|
|
- Integer occupiedProfessionalSlots =adminUserService.countStudentListBySupervisorId(Math.toIntExact(createReqVO.getSupervisorId()),2);//占用专硕
|
|
|
- supervisorSelectionSettingDO supervisorSelectionSetting = supervisorSelectionSettingService.getSettingBySupervisorIdAndProjectId(createReqVO.getSupervisorId(),createReqVO.getProjectId());
|
|
|
+ if (supervisorSelectionSetting == null || (supervisorSelectionSetting.getAcademicSlots() == null && supervisorSelectionSetting.getProfessionalSlots() == null)) {
|
|
|
+ return error(1, "该导师无名额");
|
|
|
+ }
|
|
|
+ if (loginUser.getMasterType() == 1) {
|
|
|
+ if (supervisorSelectionSetting.getAcademicSlots() != null && supervisorSelectionSetting.getAcademicSlots().equals(occupiedAcademicSlots)) {
|
|
|
+ return error(1, "学硕名额已经满了");
|
|
|
+ }
|
|
|
+ } else if (loginUser.getMasterType() == 2) {
|
|
|
+ if (supervisorSelectionSetting.getProfessionalSlots() != null && supervisorSelectionSetting.getProfessionalSlots().equals(occupiedProfessionalSlots)) {
|
|
|
+ return error(1, "专硕名额已经满了");
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- if (loginUser.getMasterType()==1&&supervisorSelectionSetting.getAcademicSlots().equals(occupiedAcademicSlots)){
|
|
|
- return error(1,"学硕名额已经满了");
|
|
|
- }
|
|
|
- if (loginUser.getMasterType()==2&&supervisorSelectionSetting.getProfessionalSlots().equals(occupiedProfessionalSlots)){
|
|
|
- return error(1,"专硕名额已经满了");
|
|
|
- }
|
|
|
+ studentSelectSupervisorRecordDO record1 = studentSelectSupervisorRecordService.getRecordByStudentIdAndSupervisorId(loginId, null, 2);//同意
|
|
|
+ studentSelectSupervisorRecordDO record2 = studentSelectSupervisorRecordService.getRecordByStudentIdAndSupervisorId(loginId, null, 1);//待处理
|
|
|
+ studentSelectSupervisorRecordDO record3 = studentSelectSupervisorRecordService.getRecordByStudentIdAndSupervisorId(loginId, null, 0);//撤回
|
|
|
|
|
|
- studentSelectSupervisorRecordDO record1 =studentSelectSupervisorRecordService.getRecordByStudentIdAndSupervisorId(loginId,null,2);//同意
|
|
|
- studentSelectSupervisorRecordDO record2 =studentSelectSupervisorRecordService.getRecordByStudentIdAndSupervisorId(loginId,null,1);//待处理
|
|
|
- studentSelectSupervisorRecordDO record3 =studentSelectSupervisorRecordService.getRecordByStudentIdAndSupervisorId(loginId,null,0);//撤回
|
|
|
+ if (record1 != null) {
|
|
|
+ return error(1, "请求已通过了");
|
|
|
+ } else if (record2 != null) {
|
|
|
+ return error(1, "还有请求在待处理中");
|
|
|
+ }
|
|
|
|
|
|
- if (record1!=null){
|
|
|
- return error(1,"请求已通过了");
|
|
|
- }else if (record2!=null){
|
|
|
- return error(1,"还有请求在待处理中");
|
|
|
- }else if (record3!=null){
|
|
|
- return error(1,"还有请求在编辑中");
|
|
|
+ createReqVO.setStudentId(loginId);
|
|
|
+ createReqVO.setSelectType(1);//待处理
|
|
|
+ if (!createReqVO.getStudentSignature().isEmpty()) {
|
|
|
+ createReqVO.setStudentSignDate(dateTime.toLocalDate());//学生签名日期
|
|
|
+ }
|
|
|
+ studentSelectSupervisorRecordService.createStudentSelectSupervisorRecord(createReqVO);
|
|
|
}
|
|
|
-
|
|
|
- createReqVO.setStudentId(loginId);
|
|
|
- createReqVO.setSelectType(1);//待处理
|
|
|
- studentSelectSupervisorRecordService.createStudentSelectSupervisorRecord(createReqVO);
|
|
|
return success("请求提交成功");
|
|
|
}
|
|
|
|
|
@@ -149,12 +162,43 @@ public class studentSelectSupervisorRecordController {
|
|
|
public CommonResult<String> updateStudentSelectSupervisorRecord(@Valid @RequestBody studentSelectSupervisorRecordSaveReqVO updateReqVO) {
|
|
|
|
|
|
studentSelectSupervisorRecordDO record =studentSelectSupervisorRecordService.getStudentSelectSupervisorRecord(updateReqVO.getId());
|
|
|
- if(record.getSelectType()==0){
|
|
|
+ //
|
|
|
+ AdminUserDO user =adminUserService.getUser(record.getStudentId());
|
|
|
+ Integer occupiedAcademicSlots =adminUserService.countStudentListBySupervisorId(Math.toIntExact(updateReqVO.getSupervisorId()),1);//占用学硕
|
|
|
+ Integer occupiedProfessionalSlots =adminUserService.countStudentListBySupervisorId(Math.toIntExact(updateReqVO.getSupervisorId()),2);//占用专硕
|
|
|
+ supervisorSelectionSettingDO supervisorSelectionSetting = supervisorSelectionSettingService.getSettingBySupervisorIdAndProjectId(updateReqVO.getSupervisorId(), record.getProjectId());
|
|
|
+ // 检查导师是否有名额设置
|
|
|
+ if (supervisorSelectionSetting == null || (supervisorSelectionSetting.getAcademicSlots() == null && supervisorSelectionSetting.getProfessionalSlots() == null)) {
|
|
|
+ return error(1, "该导师无名额");
|
|
|
+ }
|
|
|
+
|
|
|
+ if (user.getMasterType() == 1) {
|
|
|
+ if (supervisorSelectionSetting.getAcademicSlots() != null && supervisorSelectionSetting.getAcademicSlots().equals(occupiedAcademicSlots)) {
|
|
|
+ return error(1, "该老师学硕名额已经满了");
|
|
|
+ }
|
|
|
+ } else if (user.getMasterType() == 2) {
|
|
|
+ if (supervisorSelectionSetting.getProfessionalSlots() != null && supervisorSelectionSetting.getProfessionalSlots().equals(occupiedProfessionalSlots)) {
|
|
|
+ return error(1, "该老师专硕名额已经满了");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ UserSaveReqVO saveReqVO =new UserSaveReqVO();
|
|
|
+ saveReqVO.setId(record.getStudentId());
|
|
|
+ saveReqVO.setSupervisorId(updateReqVO.getSupervisorId());
|
|
|
+
|
|
|
+ if(record.getSelectType()==4){//编辑状态
|
|
|
updateReqVO.setSelectType(2);//同意
|
|
|
- studentSelectSupervisorRecordService.updateStudentSelectSupervisorRecord(updateReqVO);
|
|
|
- return success("志愿修改成功");
|
|
|
+ }else if (record.getSelectType()==2){//同意了的
|
|
|
+ //更新记录里面的签名啥的
|
|
|
+ updateReqVO.setStudentSignature("");//学生签名
|
|
|
+ updateReqVO.setSupervisorApproveTime(null);
|
|
|
+ updateReqVO.setSupervisorSignature("");
|
|
|
+ }else {
|
|
|
+ return error(1,"该状态不可编辑");
|
|
|
}
|
|
|
- return error(1,"该状态不可编辑");
|
|
|
+ adminUserService.updateUser(saveReqVO);
|
|
|
+ studentSelectSupervisorRecordService.updateStudentSelectSupervisorRecord(updateReqVO);
|
|
|
+ return success("志愿修改成功");
|
|
|
}
|
|
|
|
|
|
|
|
@@ -180,16 +224,16 @@ public class studentSelectSupervisorRecordController {
|
|
|
@Operation(summary = "获得师生互选记录分页")
|
|
|
@PreAuthorize("@ss.hasPermission('system:student-select-supervisor-record:query')")
|
|
|
public CommonResult<PageResult<studentSelectSupervisorRecordRespVO>> getStudentSelectSupervisorRecordPage(@Valid studentSelectSupervisorRecordPageReqVO pageReqVO) {
|
|
|
- LocalDateTime dateTime = LocalDateTime.now();
|
|
|
- studentSelectionProjectSaveReqVO project = BeanUtils.toBean(studentSelectionProjectService.getStudentSelectionProjectByYear(dateTime.getYear()), studentSelectionProjectSaveReqVO.class);
|
|
|
- Long loginId = SecurityFrameworkUtils.getLoginUserId();
|
|
|
- Set<Long> roleIds = permissionService.getUserRoleIdListByUserId(loginId);
|
|
|
- if ((roleIds.contains(112L) || roleIds.contains(113L)) && project.getSupervisorConfirmDeadline().isBefore(dateTime)) {
|
|
|
- return error(1, "该项目已过截至日期");
|
|
|
- }else {
|
|
|
+// LocalDateTime dateTime = LocalDateTime.now();
|
|
|
+// studentSelectionProjectSaveReqVO project = BeanUtils.toBean(studentSelectionProjectService.getStudentSelectionProjectByYear(dateTime.getYear()), studentSelectionProjectSaveReqVO.class);
|
|
|
+// Long loginId = SecurityFrameworkUtils.getLoginUserId();
|
|
|
+// Set<Long> roleIds = permissionService.getUserRoleIdListByUserId(loginId);
|
|
|
+// if ((roleIds.contains(112L) || roleIds.contains(113L)) && project.getSupervisorConfirmDeadline().isBefore(dateTime)) {
|
|
|
+// return error(1, "该项目已过截至日期");
|
|
|
+// }else {
|
|
|
PageResult<studentSelectSupervisorRecordDO> pageResult = studentSelectSupervisorRecordService.getStudentSelectSupervisorRecordPage(pageReqVO);
|
|
|
return success(BeanUtils.toBean(pageResult, studentSelectSupervisorRecordRespVO.class));
|
|
|
- }
|
|
|
+// }
|
|
|
}
|
|
|
|
|
|
@GetMapping("/export-excel")
|
|
@@ -210,19 +254,26 @@ public class studentSelectSupervisorRecordController {
|
|
|
@Operation(summary = "通过")
|
|
|
@PreAuthorize("@ss.hasPermission('system:student-select-supervisor-record:agree')")
|
|
|
public CommonResult<Boolean> agreeStudentSelectSupervisorRecord(@Valid @RequestBody studentSelectSupervisorRecordSaveReqVO updateReqVO) {
|
|
|
- //提交导师签名
|
|
|
- updateReqVO.setSelectType(2);
|
|
|
- LocalDateTime dateTime =LocalDateTime.now();
|
|
|
- updateReqVO.setSupervisorApproveTime(dateTime);
|
|
|
- updateReqVO.setAgreeDate(dateTime.toLocalDate());
|
|
|
- studentSelectSupervisorRecordService.updateStudentSelectSupervisorRecord(updateReqVO);
|
|
|
- //更新学生的supervisorId
|
|
|
- if (updateReqVO.getId()!=null) {
|
|
|
- studentSelectSupervisorRecordDO record = studentSelectSupervisorRecordService.getStudentSelectSupervisorRecord(updateReqVO.getId());
|
|
|
- UserSaveReqVO saveReqVO =new UserSaveReqVO();
|
|
|
- saveReqVO.setId(record.getStudentId());
|
|
|
- saveReqVO.setSupervisorId(record.getSupervisorId());
|
|
|
- adminUserService.updateUser(saveReqVO);
|
|
|
+ LocalDateTime dateTime = LocalDateTime.now();
|
|
|
+ studentSelectionProjectSaveReqVO project = BeanUtils.toBean(studentSelectionProjectService.getStudentSelectionProjectByYear(dateTime.getYear()), studentSelectionProjectSaveReqVO.class);
|
|
|
+ Long loginId = SecurityFrameworkUtils.getLoginUserId();
|
|
|
+ Set<Long> roleIds = permissionService.getUserRoleIdListByUserId(loginId);
|
|
|
+ if ((roleIds.contains(112L) || roleIds.contains(113L)) && project.getSupervisorConfirmDeadline().isBefore(dateTime)) {
|
|
|
+ return error(1, "该项目已过截至日期");
|
|
|
+ }else {
|
|
|
+ //提交导师签名
|
|
|
+ updateReqVO.setSelectType(2);
|
|
|
+ updateReqVO.setSupervisorApproveTime(dateTime);
|
|
|
+ updateReqVO.setSupervisorSignDate(dateTime.toLocalDate());//导师日期
|
|
|
+ studentSelectSupervisorRecordService.updateStudentSelectSupervisorRecord(updateReqVO);
|
|
|
+ //更新学生的supervisorId
|
|
|
+ if (updateReqVO.getId() != null) {
|
|
|
+ studentSelectSupervisorRecordDO record = studentSelectSupervisorRecordService.getStudentSelectSupervisorRecord(updateReqVO.getId());
|
|
|
+ UserSaveReqVO saveReqVO = new UserSaveReqVO();
|
|
|
+ saveReqVO.setId(record.getStudentId());
|
|
|
+ saveReqVO.setSupervisorId(record.getSupervisorId());
|
|
|
+ adminUserService.updateUser(saveReqVO);
|
|
|
+ }
|
|
|
}
|
|
|
return success(true);
|
|
|
}
|
|
@@ -232,10 +283,17 @@ public class studentSelectSupervisorRecordController {
|
|
|
@Operation(summary = "退回")
|
|
|
@PreAuthorize("@ss.hasPermission('system:student-select-supervisor-record:refuse')")
|
|
|
public CommonResult<Boolean> refuseStudentSelectSupervisorRecord(@Valid @RequestBody studentSelectSupervisorRecordSaveReqVO updateReqVO) {
|
|
|
- LocalDateTime dateTime =LocalDateTime.now();
|
|
|
+ LocalDateTime dateTime = LocalDateTime.now();
|
|
|
+ studentSelectionProjectSaveReqVO project = BeanUtils.toBean(studentSelectionProjectService.getStudentSelectionProjectByYear(dateTime.getYear()), studentSelectionProjectSaveReqVO.class);
|
|
|
+ Long loginId = SecurityFrameworkUtils.getLoginUserId();
|
|
|
+ Set<Long> roleIds = permissionService.getUserRoleIdListByUserId(loginId);
|
|
|
+ if ((roleIds.contains(112L) || roleIds.contains(113L)) && project.getSupervisorConfirmDeadline().isBefore(dateTime)) {
|
|
|
+ return error(1, "该项目已过截至日期");
|
|
|
+ }else {
|
|
|
updateReqVO.setSupervisorApproveTime(dateTime);
|
|
|
updateReqVO.setSelectType(3);
|
|
|
studentSelectSupervisorRecordService.updateStudentSelectSupervisorRecord(updateReqVO);
|
|
|
+ }
|
|
|
return success(true);
|
|
|
}
|
|
|
|
|
@@ -244,48 +302,72 @@ public class studentSelectSupervisorRecordController {
|
|
|
@Operation(summary = "撤回")
|
|
|
@PreAuthorize("@ss.hasPermission('system:student-select-supervisor-record:withdraw')")
|
|
|
public CommonResult<Boolean> withdrawStudentSelectSupervisorRecord(@Valid @RequestBody studentSelectSupervisorRecordSaveReqVO updateReqVO) {
|
|
|
- Long loginId =SecurityFrameworkUtils.getLoginUserId();
|
|
|
- studentSelectSupervisorRecordDO record =studentSelectSupervisorRecordService.getRecordByStudentIdAndSupervisorId(loginId,updateReqVO.getSupervisorId(),1);//待处理的
|
|
|
- updateReqVO.setId(record.getId());
|
|
|
- updateReqVO.setSelectType(0);
|
|
|
+ LocalDateTime dateTime = LocalDateTime.now();
|
|
|
+ studentSelectionProjectSaveReqVO project = BeanUtils.toBean(studentSelectionProjectService.getStudentSelectionProjectByYear(dateTime.getYear()), studentSelectionProjectSaveReqVO.class);
|
|
|
+ Long loginId = SecurityFrameworkUtils.getLoginUserId();
|
|
|
+ Set<Long> roleIds = permissionService.getUserRoleIdListByUserId(loginId);
|
|
|
+ if ((roleIds.contains(112L) || roleIds.contains(113L)) && project.getSupervisorConfirmDeadline().isBefore(dateTime)) {
|
|
|
+ return error(1, "该项目已过截至日期");
|
|
|
+ }else {
|
|
|
+ studentSelectSupervisorRecordDO record = studentSelectSupervisorRecordService.getRecordByStudentIdAndSupervisorId(loginId, updateReqVO.getSupervisorId(), 1);//待处理的
|
|
|
+ updateReqVO.setId(record.getId());
|
|
|
+ updateReqVO.setSelectType(0);
|
|
|
// updateReqVO.setSupervisorId(0L);
|
|
|
- studentSelectSupervisorRecordService.updateStudentSelectSupervisorRecord(updateReqVO);
|
|
|
+ studentSelectSupervisorRecordService.updateStudentSelectSupervisorRecord(updateReqVO);
|
|
|
+ }
|
|
|
return success(true);
|
|
|
}
|
|
|
|
|
|
@GetMapping("/getSelectionBook")
|
|
|
@Operation(summary = "互选表打印数据")
|
|
|
@PreAuthorize("@ss.hasPermission('system:student-select-supervisor-record:getSelection')")
|
|
|
- public CommonResult<selectionBookRespVO> getSelectionBook(@Param("id") Integer recordId) {
|
|
|
- studentSelectSupervisorRecordDO record = studentSelectSupervisorRecordService.getStudentSelectSupervisorRecord(recordId);
|
|
|
+ public CommonResult<printBookVO> getSelectionBook(@RequestParam("id") Integer recordId) {
|
|
|
+ studentSelectSupervisorRecordDO record = studentSelectSupervisorRecordService.getStudentSelectSupervisorRecord(recordId);
|
|
|
+// 判断record是否存在
|
|
|
+ if (record == null) {
|
|
|
+ return error(1, "记录不存在");
|
|
|
+ }
|
|
|
+ LocalDate date = LocalDate.now();
|
|
|
+ studentSelectionProjectSaveReqVO project = BeanUtils.toBean(studentSelectionProjectService.getStudentSelectionProjectByYear(date.getYear()), studentSelectionProjectSaveReqVO.class);
|
|
|
|
|
|
- LocalDate date =LocalDate.now();
|
|
|
- studentSelectionProjectSaveReqVO project = BeanUtils.toBean(studentSelectionProjectService.getStudentSelectionProjectByYear(date.getYear()),studentSelectionProjectSaveReqVO.class);
|
|
|
+ if (project == null) {
|
|
|
+ return error(1, "项目不存在");
|
|
|
+ }
|
|
|
+
|
|
|
+ AdminUserDO student = adminUserService.getUser(record.getStudentId());
|
|
|
+ AdminUserDO supervisor = adminUserService.getUser(record.getSupervisorId());
|
|
|
+
|
|
|
+ if (student == null) {
|
|
|
+ return error(1, "学生信息不存在");
|
|
|
+ }
|
|
|
+ if (supervisor == null) {
|
|
|
+ return error(1, "导师信息不存在");
|
|
|
+ }
|
|
|
+ supervisorSelectionSettingDO superVisorSetting = supervisorSelectionSettingService.getSettingBySupervisorIdAndProjectId(record.getSupervisorId(), project.getId());
|
|
|
+
|
|
|
+ if (superVisorSetting == null) {
|
|
|
+ return error(1, "导师设置不存在");
|
|
|
+ }
|
|
|
+ printBookVO result = BeanUtils.toBean(record, printBookVO.class);
|
|
|
+
|
|
|
+ result.setMajor(student.getMajor());
|
|
|
+ result.setStudentName(student.getNickname());
|
|
|
+ result.setStudentMobile(student.getMobile());
|
|
|
+ result.setStudentNumber(student.getUserNumber());
|
|
|
|
|
|
- AdminUserDO student =adminUserService.getUser(record.getStudentId());
|
|
|
- AdminUserDO supervisor =adminUserService.getUser(record.getSupervisorId());
|
|
|
- supervisorSelectionSettingDO superVisorSetting = supervisorSelectionSettingService.getSettingBySupervisorIdAndProjectId(record.getSupervisorId(),project.getId());
|
|
|
- selectionBookRespVO result = new selectionBookRespVO();
|
|
|
- result =BeanUtils.toBean(record,selectionBookRespVO.class);
|
|
|
- //学生
|
|
|
- result.setMajor(student.getMajor());
|
|
|
- result.setStudentName(student.getNickname());
|
|
|
- result.setStudentMobile(student.getMobile());
|
|
|
- result.setStudentNumber(student.getUserNumber());
|
|
|
-
|
|
|
- //导师
|
|
|
result.setSupervisor(supervisor.getNickname());
|
|
|
if (supervisor.getUserType().equals("3")) {
|
|
|
result.setSupervisorType("校内导师");
|
|
|
- }else if (supervisor.getUserType().equals("5")) {
|
|
|
+ } else if (supervisor.getUserType().equals("5")) {
|
|
|
result.setSupervisorType("校外导师");
|
|
|
}
|
|
|
- result.setStudentAchievementRequirement(superVisorSetting.getStudentAchievementRequirement());
|
|
|
+
|
|
|
+ result.setStudentAchievementRequirement(superVisorSetting.getStudentAchievementRequirement());
|
|
|
return success(result);
|
|
|
- }
|
|
|
|
|
|
+ }
|
|
|
|
|
|
- //志愿填报方法都是这个
|
|
|
+ //信息弹窗填写
|
|
|
@PutMapping("/updateSelectionBook")
|
|
|
@Operation(summary = "更新互选表数据")
|
|
|
@PreAuthorize("@ss.hasPermission('system:student-select-supervisor-record:updateSelection')")
|
|
@@ -345,25 +427,7 @@ public class studentSelectSupervisorRecordController {
|
|
|
@Operation(summary = "获取选择记录列表")
|
|
|
@PreAuthorize("@ss.hasPermission('system:student-select-supervisor-record:getRecordList')")
|
|
|
public CommonResult<List<studentSelectSupervisorRecordRespVO>> getRecordSelectSupervisorRecordList(@Valid studentSelectSupervisorRecordPageReqVO listReqVO) {
|
|
|
- LocalDateTime dateTime = LocalDateTime.now();
|
|
|
- studentSelectionProjectSaveReqVO project = BeanUtils.toBean(studentSelectionProjectService.getStudentSelectionProjectByYear(dateTime.getYear()), studentSelectionProjectSaveReqVO.class);
|
|
|
- Long loginId = SecurityFrameworkUtils.getLoginUserId();
|
|
|
- Set<Long> roleIds = permissionService.getUserRoleIdListByUserId(loginId);
|
|
|
- if ((roleIds.contains(112L) || roleIds.contains(113L)) && project.getSupervisorConfirmDeadline().isBefore(dateTime)) {
|
|
|
- return error(1, "该项目已过截至日期");
|
|
|
- }else
|
|
|
- return success(BeanUtils.toBean(studentSelectSupervisorRecordService.getStudentSelectSupervisorRecordList(listReqVO),studentSelectSupervisorRecordRespVO.class));
|
|
|
+ return success(BeanUtils.toBean(studentSelectSupervisorRecordService.getStudentSelectSupervisorRecordList(listReqVO),studentSelectSupervisorRecordRespVO.class));
|
|
|
}
|
|
|
|
|
|
-// @GetMapping("/getStudentRecordList")
|
|
|
-// @Operation(summary = "学院获取今年学生列表")
|
|
|
-// @PreAuthorize("@ss.hasPermission('system:student-select-supervisor-record:getStudentRecordList')")
|
|
|
-// public CommonResult<List<studentSelectSupervisorRecordRespVO>> getStudentSelectSupervisorRecord(@Valid studentSelectSupervisorRecordPageReqVO listReqVO) {
|
|
|
-// LocalDate date =LocalDate.now();
|
|
|
-// studentSelectionProjectSaveReqVO project = BeanUtils.toBean(studentSelectionProjectService.getStudentSelectionProjectByYear(date.getYear()),studentSelectionProjectSaveReqVO.class);
|
|
|
-// listReqVO.setProjectId(project.getId());
|
|
|
-// listReqVO.set
|
|
|
-// return success(BeanUtils.toBean(studentSelectSupervisorRecordService.getStudentSelectSupervisorRecordList(listReqVO),studentSelectSupervisorRecordRespVO.class));
|
|
|
-// }
|
|
|
-
|
|
|
}
|