소스 검색

1.2日互选记录打印列表/一个互选记录撤回

Crazy 5 달 전
부모
커밋
8dcd3c2128
11개의 변경된 파일159개의 추가작업 그리고 114개의 파일을 삭제
  1. 49 80
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/studentSelectSupervisorRecord/StudentSelectSupervisorRecordController.java
  2. 1 1
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/studentSelectSupervisorRecord/vo/PrintBookVO.java
  3. 1 2
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/studentSelectSupervisorRecord/vo/SelectionBookRespVO.java
  4. 1 2
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/studentSelectSupervisorRecord/vo/StudentSelectSupervisorRecordPageReqVO.java
  5. 1 4
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/studentSelectSupervisorRecord/vo/StudentSelectSupervisorRecordRespVO.java
  6. 1 5
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/studentSelectSupervisorRecord/vo/StudentSelectSupervisorRecordSaveReqVO.java
  7. 7 4
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/studentSelectSupervisorRecord/studentSelectSupervisorRecordMapper.java
  8. 11 6
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/studentSelectSupervisorRecord/studentSelectSupervisorRecordService.java
  9. 16 9
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/studentSelectSupervisorRecord/studentSelectSupervisorRecordServiceImpl.java
  10. 10 1
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/supervisorSelectionSetting/supervisorSelectionSettingServiceImpl.java
  11. 61 0
      yudao-module-system/yudao-module-system-biz/src/main/resources/Mapper/studentSelectSupervisorRecord/studentSelectSupervisorRecordMapper.xml

+ 49 - 80
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/studentSelectSupervisorRecord/studentSelectSupervisorRecordController.java → yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/studentSelectSupervisorRecord/StudentSelectSupervisorRecordController.java

@@ -4,21 +4,14 @@ import cn.iocoder.yudao.framework.idempotent.core.annotation.Idempotent;
 import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
 import cn.iocoder.yudao.module.system.controller.admin.studentSelectionProject.vo.studentSelectionProjectSaveReqVO;
 import cn.iocoder.yudao.module.system.controller.admin.supervisorSelectionSetting.vo.supervisorSelectionSettingSaveReqVO;
-import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserPageReqVO;
 import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserSaveReqVO;
-import cn.iocoder.yudao.module.system.dal.dataobject.studentSelectionProject.studentSelectionProjectDO;
 import cn.iocoder.yudao.module.system.dal.dataobject.supervisorSelectionSetting.supervisorSelectionSettingDO;
 import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
 import cn.iocoder.yudao.module.system.service.permission.PermissionService;
 import cn.iocoder.yudao.module.system.service.studentSelectionProject.studentSelectionProjectService;
 import cn.iocoder.yudao.module.system.service.supervisorSelectionSetting.supervisorSelectionSettingService;
 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.*;
 import javax.annotation.Resource;
 import org.springframework.validation.annotation.Validated;
@@ -27,14 +20,10 @@ import io.swagger.v3.oas.annotations.tags.Tag;
 import io.swagger.v3.oas.annotations.Parameter;
 import io.swagger.v3.oas.annotations.Operation;
 
-import javax.validation.constraints.*;
 import javax.validation.*;
 import javax.servlet.http.*;
-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;
 
@@ -59,7 +48,7 @@ import cn.iocoder.yudao.module.system.service.studentSelectSupervisorRecord.stud
 @RestController
 @RequestMapping("/system/student-select-supervisor-record")
 @Validated
-public class studentSelectSupervisorRecordController {
+public class StudentSelectSupervisorRecordController {
 
     @Resource
     private studentSelectSupervisorRecordService studentSelectSupervisorRecordService;
@@ -95,7 +84,7 @@ public class studentSelectSupervisorRecordController {
         //更新所有待处理的记录=>撤回
         studentSelectSupervisorRecordService.updatePendingSelectType(project.getId());
         //创建其他的记录
-        studentSelectSupervisorRecordSaveReqVO createReqVO =new studentSelectSupervisorRecordSaveReqVO();
+        StudentSelectSupervisorRecordSaveReqVO createReqVO =new StudentSelectSupervisorRecordSaveReqVO();
         for (AdminUserDO student :studentList){
             createReqVO.setProjectId(project.getId());
             createReqVO.setStudentId(student.getId());
@@ -108,7 +97,7 @@ public class studentSelectSupervisorRecordController {
     @PostMapping("/create")
     @Operation(summary = "创建师生互选记录")
     @PreAuthorize("@ss.hasPermission('system:student-select-supervisor-record:create')")
-    public CommonResult<String> createStudentSelectSupervisorRecord(@Valid @RequestBody studentSelectSupervisorRecordSaveReqVO createReqVO) {
+    public CommonResult<String> createStudentSelectSupervisorRecord(@Valid @RequestBody StudentSelectSupervisorRecordSaveReqVO createReqVO) {
         Long loginId = SecurityFrameworkUtils.getLoginUserId();
         AdminUserDO loginUser =adminUserService.getUser(loginId);
         LocalDateTime dateTime =LocalDateTime.now();
@@ -134,8 +123,8 @@ public class studentSelectSupervisorRecordController {
                 }
             }
 
-            studentSelectSupervisorRecordDO record1 = studentSelectSupervisorRecordService.getRecordByStudentIdAndSupervisorId(loginId, null, 2);//同意
-            studentSelectSupervisorRecordDO record2 = studentSelectSupervisorRecordService.getRecordByStudentIdAndSupervisorId(loginId, null, 1);//待处理
+            studentSelectSupervisorRecordDO record1 = studentSelectSupervisorRecordService.getRecordByStudentIdAndSupervisorId(project.getId(),loginId, null, 2);//同意
+            studentSelectSupervisorRecordDO record2 = studentSelectSupervisorRecordService.getRecordByStudentIdAndSupervisorId(project.getId(),loginId, null, 1);//待处理
 
             if (record1 != null) {
                 return error(1, "请求已通过了");
@@ -157,7 +146,7 @@ public class studentSelectSupervisorRecordController {
     @PutMapping("/update")
     @Operation(summary = "更新师生互选记录")
     @PreAuthorize("@ss.hasPermission('system:student-select-supervisor-record:update')")
-    public CommonResult<String> updateStudentSelectSupervisorRecord(@Valid @RequestBody studentSelectSupervisorRecordSaveReqVO updateReqVO) {
+    public CommonResult<String> updateStudentSelectSupervisorRecord(@Valid @RequestBody StudentSelectSupervisorRecordSaveReqVO updateReqVO) {
 
         studentSelectSupervisorRecordDO record =studentSelectSupervisorRecordService.getStudentSelectSupervisorRecord(updateReqVO.getId());
         //
@@ -211,15 +200,15 @@ public class studentSelectSupervisorRecordController {
     @Operation(summary = "获得师生互选记录")
     @Parameter(name = "id", description = "编号", required = true, example = "1024")
     @PreAuthorize("@ss.hasPermission('system:student-select-supervisor-record:query')")
-    public CommonResult<studentSelectSupervisorRecordRespVO> getStudentSelectSupervisorRecord(@RequestParam("id") Integer id) {
+    public CommonResult<StudentSelectSupervisorRecordRespVO> getStudentSelectSupervisorRecord(@RequestParam("id") Integer id) {
         studentSelectSupervisorRecordDO studentSelectSupervisorRecord = studentSelectSupervisorRecordService.getStudentSelectSupervisorRecord(id);
-        return success(BeanUtils.toBean(studentSelectSupervisorRecord, studentSelectSupervisorRecordRespVO.class));
+        return success(BeanUtils.toBean(studentSelectSupervisorRecord, StudentSelectSupervisorRecordRespVO.class));
     }
 
     @GetMapping("/page")
     @Operation(summary = "获得师生互选记录分页")
     @PreAuthorize("@ss.hasPermission('system:student-select-supervisor-record:query')")
-    public CommonResult<PageResult<studentSelectSupervisorRecordRespVO>> getStudentSelectSupervisorRecordPage(@Valid studentSelectSupervisorRecordPageReqVO pageReqVO) {
+    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();
@@ -228,7 +217,7 @@ public class studentSelectSupervisorRecordController {
 //            return error(1, "该项目已过截至日期");
 //        }else {
             PageResult<studentSelectSupervisorRecordDO> pageResult = studentSelectSupervisorRecordService.getStudentSelectSupervisorRecordPage(pageReqVO);
-            return success(BeanUtils.toBean(pageResult, studentSelectSupervisorRecordRespVO.class));
+            return success(BeanUtils.toBean(pageResult, StudentSelectSupervisorRecordRespVO.class));
 //        }
     }
 
@@ -236,20 +225,20 @@ public class studentSelectSupervisorRecordController {
     @Operation(summary = "导出师生互选记录 Excel")
     @PreAuthorize("@ss.hasPermission('system:student-select-supervisor-record:export')")
     @ApiAccessLog(operateType = EXPORT)
-    public void exportStudentSelectSupervisorRecordExcel(@Valid studentSelectSupervisorRecordPageReqVO pageReqVO,
+    public void exportStudentSelectSupervisorRecordExcel(@Valid StudentSelectSupervisorRecordPageReqVO pageReqVO,
               HttpServletResponse response) throws IOException {
         pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
         List<studentSelectSupervisorRecordDO> list = studentSelectSupervisorRecordService.getStudentSelectSupervisorRecordPage(pageReqVO).getList();
         // 导出 Excel
-        ExcelUtils.write(response, "师生互选记录.xls", "数据", studentSelectSupervisorRecordRespVO.class,
-                        BeanUtils.toBean(list, studentSelectSupervisorRecordRespVO.class));
+        ExcelUtils.write(response, "师生互选记录.xls", "数据", StudentSelectSupervisorRecordRespVO.class,
+                        BeanUtils.toBean(list, StudentSelectSupervisorRecordRespVO.class));
     }
 
     //通过,
     @PutMapping("/agree")
     @Operation(summary = "通过")
     @PreAuthorize("@ss.hasPermission('system:student-select-supervisor-record:agree')")
-    public CommonResult<Boolean> agreeSelectionRecord(@Valid @RequestBody studentSelectSupervisorRecordSaveReqVO updateReqVO) {
+    public CommonResult<Boolean> agreeSelectionRecord(@Valid @RequestBody StudentSelectSupervisorRecordSaveReqVO updateReqVO) {
         LocalDateTime dateTime = LocalDateTime.now();
 
         studentSelectionProjectSaveReqVO project = BeanUtils.toBean(studentSelectionProjectService.getStudentSelectionProjectByYear(dateTime.getYear()), studentSelectionProjectSaveReqVO.class);
@@ -299,7 +288,7 @@ public class studentSelectSupervisorRecordController {
     @PutMapping("/refuse")
     @Operation(summary = "退回")
     @PreAuthorize("@ss.hasPermission('system:student-select-supervisor-record:refuse')")
-    public CommonResult<Boolean> refuseSelectionRecord(@Valid @RequestBody studentSelectSupervisorRecordSaveReqVO updateReqVO) {
+    public CommonResult<Boolean> refuseSelectionRecord(@Valid @RequestBody StudentSelectSupervisorRecordSaveReqVO updateReqVO) {
         LocalDateTime dateTime = LocalDateTime.now();
         studentSelectionProjectSaveReqVO project = BeanUtils.toBean(studentSelectionProjectService.getStudentSelectionProjectByYear(dateTime.getYear()), studentSelectionProjectSaveReqVO.class);
         Long loginId = SecurityFrameworkUtils.getLoginUserId();
@@ -318,7 +307,7 @@ public class studentSelectSupervisorRecordController {
     @PutMapping("/withdraw")
     @Operation(summary = "撤回")
     @PreAuthorize("@ss.hasPermission('system:student-select-supervisor-record:withdraw')")
-    public CommonResult<Boolean> withdrawSelectionRecordBySupervisorId(@Valid @RequestBody studentSelectSupervisorRecordSaveReqVO updateReqVO) {
+    public CommonResult<Boolean> withdrawSelectionRecordBySupervisorId(@Valid @RequestBody StudentSelectSupervisorRecordSaveReqVO updateReqVO) {
         LocalDateTime dateTime = LocalDateTime.now();
         studentSelectionProjectSaveReqVO project = BeanUtils.toBean(studentSelectionProjectService.getStudentSelectionProjectByYear(dateTime.getYear()), studentSelectionProjectSaveReqVO.class);
         Long loginId = SecurityFrameworkUtils.getLoginUserId();
@@ -326,7 +315,7 @@ public class studentSelectSupervisorRecordController {
         if ((roleIds.contains(112L) || roleIds.contains(113L)) && project.getSupervisorConfirmDeadline().isBefore(dateTime)) {
             return error(1, "该项目已过截至日期");
         }else {
-            studentSelectSupervisorRecordDO record = studentSelectSupervisorRecordService.getRecordByStudentIdAndSupervisorId(loginId, updateReqVO.getSupervisorId(), 1);//待处理的
+            studentSelectSupervisorRecordDO record = studentSelectSupervisorRecordService.getRecordByStudentIdAndSupervisorId(project.getId(),loginId, updateReqVO.getSupervisorId(), 1);//待处理的
             updateReqVO.setId(record.getId());
             updateReqVO.setSelectType(0);
 //        updateReqVO.setSupervisorId(0L);
@@ -335,59 +324,12 @@ public class studentSelectSupervisorRecordController {
         return success(true);
     }
 
-    @GetMapping("/getSelectionBook")
-    @Operation(summary = "互选表打印数据")
-    @PreAuthorize("@ss.hasPermission('system:student-select-supervisor-record:getSelection')")
-    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);
-
-        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());
-
-        result.setSupervisor(supervisor.getNickname());
-        if (supervisor.getUserType().equals("3")) {
-            result.setSupervisorType("校内导师");
-        } else if (supervisor.getUserType().equals("5")) {
-            result.setSupervisorType("校外导师");
-        }
-
-        result.setStudentAchievementRequirement(superVisorSetting.getStudentAchievementRequirement());
-        return success(result);
-    }
 
     //在互选记录里面撤回
     @PutMapping("/withdrawRecord")
     @Operation(summary = "撤回")
     @PreAuthorize("@ss.hasPermission('system:student-select-supervisor-record:withdrawRecord')")
-    public CommonResult<Boolean> withdrawSelectionRecord(@Valid @RequestBody studentSelectSupervisorRecordSaveReqVO updateReqVO) {
+    public CommonResult<Boolean> withdrawSelectionRecord(@Valid @RequestBody StudentSelectSupervisorRecordSaveReqVO updateReqVO) {
         LocalDateTime dateTime = LocalDateTime.now();
         studentSelectionProjectSaveReqVO project = BeanUtils.toBean(studentSelectionProjectService.getStudentSelectionProjectByYear(dateTime.getYear()), studentSelectionProjectSaveReqVO.class);
         Long loginId = SecurityFrameworkUtils.getLoginUserId();
@@ -402,11 +344,38 @@ public class studentSelectSupervisorRecordController {
     }
 
 
+
+    @GetMapping("/getSelectionBookList")
+    @Operation(summary = "互选表打印数据列表")
+    @PreAuthorize("@ss.hasPermission('system:student-select-supervisor-record:getSelectionList')")
+    public CommonResult<List<PrintBookVO>> getSelectionBookList() {
+        LocalDate date = LocalDate.now();
+        studentSelectionProjectSaveReqVO project = BeanUtils.toBean(studentSelectionProjectService.getStudentSelectionProjectByYear(date.getYear()), studentSelectionProjectSaveReqVO.class);
+        if (project == null) {
+            return error(1, "项目不存在");
+        }
+        List<PrintBookVO> recordList = studentSelectSupervisorRecordService.getSelectionBookListByProjectId(project.getId());
+
+        return success(recordList);
+    }
+
+
+    @GetMapping("/getSelectionBook")
+    @Operation(summary = "互选表打印数据")
+    @PreAuthorize("@ss.hasPermission('system:student-select-supervisor-record:getSelection')")
+    public CommonResult<PrintBookVO> getSelectionBook(@RequestParam("id") Integer recordId) {
+        PrintBookVO record = studentSelectSupervisorRecordService.getSelectionBookById(recordId);
+        if (record == null) {
+            return error(1, "记录不存在");
+        }
+        return success(record);
+    }
+
     //信息弹窗填写
     @PutMapping("/updateSelectionBook")
     @Operation(summary = "更新互选表数据")
     @PreAuthorize("@ss.hasPermission('system:student-select-supervisor-record:updateSelection')")
-    public CommonResult<String> updateSelectionBook(@RequestBody selectionBookRespVO updateVo) {
+    public CommonResult<String> updateSelectionBook(@RequestBody SelectionBookRespVO updateVo) {
         Long loginId =SecurityFrameworkUtils.getLoginUserId();
         Set<Long> roleIds =permissionService.getUserRoleIdListByUserId(loginId);
 
@@ -420,7 +389,7 @@ public class studentSelectSupervisorRecordController {
             userSaveReqVO.setIntroduction(updateVo.getIntroduction());//用户简历
         }
 
-        studentSelectSupervisorRecordSaveReqVO recordUpdateReqVO =new studentSelectSupervisorRecordSaveReqVO();
+        StudentSelectSupervisorRecordSaveReqVO recordUpdateReqVO =new StudentSelectSupervisorRecordSaveReqVO();
         if (roleIds.contains(112L)){
             if (updateVo.getStudentMobile()!=null&&!updateVo.getStudentMobile().isEmpty()){
                 userSaveReqVO.setMobile(updateVo.getStudentMobile());
@@ -460,8 +429,8 @@ public class studentSelectSupervisorRecordController {
     @GetMapping("/getRecordList")
     @Operation(summary = "获取选择记录列表")
     @PreAuthorize("@ss.hasPermission('system:student-select-supervisor-record:getRecordList')")
-    public CommonResult<List<studentSelectSupervisorRecordRespVO>> getRecordSelectSupervisorRecordList(@Valid studentSelectSupervisorRecordPageReqVO listReqVO) {
-        return success(BeanUtils.toBean(studentSelectSupervisorRecordService.getStudentSelectSupervisorRecordList(listReqVO),studentSelectSupervisorRecordRespVO.class));
+    public CommonResult<List<StudentSelectSupervisorRecordRespVO>> getRecordSelectSupervisorRecordList(@Valid StudentSelectSupervisorRecordPageReqVO listReqVO) {
+        return success(BeanUtils.toBean(studentSelectSupervisorRecordService.getStudentSelectSupervisorRecordList(listReqVO), StudentSelectSupervisorRecordRespVO.class));
     }
 
 

+ 1 - 1
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/studentSelectSupervisorRecord/vo/printBookVO.java → yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/studentSelectSupervisorRecord/vo/PrintBookVO.java

@@ -9,7 +9,7 @@ import java.time.LocalDate;
 @Schema(description = "管理后台 - 互许表 Response VO")
 @Data
 @ExcelIgnoreUnannotated
-public class printBookVO {
+public class PrintBookVO {
 
     @Schema(description = "互选记录id")
     private Integer id;

+ 1 - 2
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/studentSelectSupervisorRecord/vo/selectionBookRespVO.java → yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/studentSelectSupervisorRecord/vo/SelectionBookRespVO.java

@@ -5,12 +5,11 @@ import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
 import java.time.LocalDate;
-import java.util.Date;
 
 @Schema(description = "管理后台 - 互许表 Response VO")
 @Data
 @ExcelIgnoreUnannotated
-public class selectionBookRespVO {
+public class SelectionBookRespVO {
 
     @Schema(description = "互选记录id")
     private Integer id;

+ 1 - 2
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/studentSelectSupervisorRecord/vo/studentSelectSupervisorRecordPageReqVO.java → yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/studentSelectSupervisorRecord/vo/StudentSelectSupervisorRecordPageReqVO.java

@@ -1,7 +1,6 @@
 package cn.iocoder.yudao.module.system.controller.admin.studentSelectSupervisorRecord.vo;
 
 import lombok.*;
-import java.util.*;
 import io.swagger.v3.oas.annotations.media.Schema;
 import cn.iocoder.yudao.framework.common.pojo.PageParam;
 import org.springframework.format.annotation.DateTimeFormat;
@@ -13,7 +12,7 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
 @Data
 @EqualsAndHashCode(callSuper = true)
 @ToString(callSuper = true)
-public class studentSelectSupervisorRecordPageReqVO extends PageParam {
+public class StudentSelectSupervisorRecordPageReqVO extends PageParam {
 
     @Schema(description = "项目id", example = "20003")
     private Integer projectId;

+ 1 - 4
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/studentSelectSupervisorRecord/vo/studentSelectSupervisorRecordRespVO.java → yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/studentSelectSupervisorRecord/vo/StudentSelectSupervisorRecordRespVO.java

@@ -1,20 +1,17 @@
 package cn.iocoder.yudao.module.system.controller.admin.studentSelectSupervisorRecord.vo;
 
 import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
-import com.baomidou.mybatisplus.annotation.TableField;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import java.time.LocalDate;
-import java.util.*;
-import org.springframework.format.annotation.DateTimeFormat;
 import java.time.LocalDateTime;
 import com.alibaba.excel.annotation.*;
 
 @Schema(description = "管理后台 - 师生互选记录 Response VO")
 @Data
 @ExcelIgnoreUnannotated
-public class studentSelectSupervisorRecordRespVO {
+public class StudentSelectSupervisorRecordRespVO {
 
     @Schema(description = "选择id,自增", requiredMode = Schema.RequiredMode.REQUIRED, example = "2519")
     @ExcelProperty("选择id,自增")

+ 1 - 5
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/studentSelectSupervisorRecord/vo/studentSelectSupervisorRecordSaveReqVO.java → yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/studentSelectSupervisorRecord/vo/StudentSelectSupervisorRecordSaveReqVO.java

@@ -1,19 +1,15 @@
 package cn.iocoder.yudao.module.system.controller.admin.studentSelectSupervisorRecord.vo;
 
 import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
-import cn.iocoder.yudao.module.system.enums.DictTypeConstants;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import java.time.LocalDate;
-import java.util.*;
-import javax.validation.constraints.*;
-import org.springframework.format.annotation.DateTimeFormat;
 import java.time.LocalDateTime;
 
 @Schema(description = "管理后台 - 师生互选记录新增/修改 Request VO")
 @Data
-public class studentSelectSupervisorRecordSaveReqVO {
+public class StudentSelectSupervisorRecordSaveReqVO {
 
     @Schema(description = "选择id,自增", requiredMode = Schema.RequiredMode.REQUIRED, example = "2519")
     private Integer id;

+ 7 - 4
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/studentSelectSupervisorRecord/studentSelectSupervisorRecordMapper.java

@@ -3,7 +3,6 @@ package cn.iocoder.yudao.module.system.dal.mysql.studentSelectSupervisorRecord;
 import java.util.*;
 
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
 import cn.iocoder.yudao.framework.mybatis.core.query.MPJLambdaWrapperX;
 import cn.iocoder.yudao.module.system.dal.dataobject.studentSelectSupervisorRecord.studentSelectSupervisorRecordDO;
@@ -23,7 +22,7 @@ import org.apache.ibatis.annotations.Update;
 @Mapper
 public interface studentSelectSupervisorRecordMapper extends BaseMapperX<studentSelectSupervisorRecordDO> {
 
-    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<>();
 
@@ -64,7 +63,7 @@ public interface studentSelectSupervisorRecordMapper extends BaseMapperX<student
         return selectPage(reqVO,queryWrapperX);
     }
 
-    default List<studentSelectSupervisorRecordDO> selectList(studentSelectSupervisorRecordPageReqVO reqVO,Set<Long>roleIds, AdminUserDO loginUser){
+    default List<studentSelectSupervisorRecordDO> selectList(StudentSelectSupervisorRecordPageReqVO reqVO, Set<Long>roleIds, AdminUserDO loginUser){
         MPJLambdaWrapperX<studentSelectSupervisorRecordDO> queryWrapperX =new MPJLambdaWrapperX<>();
         queryWrapperX .betweenIfPresent(studentSelectSupervisorRecordDO::getSupervisorApproveTime, reqVO.getSupervisorApproveTime())
                 .selectAll(studentSelectSupervisorRecordDO.class)
@@ -104,13 +103,17 @@ public interface studentSelectSupervisorRecordMapper extends BaseMapperX<student
 
     //只能查一直只有一条记录的,同意/未处理
     studentSelectSupervisorRecordDO getRecordByStudentIdAndSupervisorId(
+            @Param("projectId") Integer projectId,
             @Param("studentId") Long studentId,
             @Param("supervisorId") Long supervisorId,
             @Param("selectType") Integer selectType);
 
-
     //更新待处理到撤回
     @Update("UPDATE student_select_supervisor_record SET select_type = 0 WHERE project_id = #{projectId} AND select_type = 1 AND deleted =0")
     void updatePendingSelectType(@Param("projectId") Integer projectId);
 
+    PrintBookVO getSelectionBookById(@Param("id") Integer id);
+
+    List<PrintBookVO> getSelectionBookListByProjectId( @Param("projectId") Integer projectId);
+
 }

+ 11 - 6
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/studentSelectSupervisorRecord/studentSelectSupervisorRecordService.java

@@ -5,7 +5,6 @@ import javax.validation.*;
 import cn.iocoder.yudao.module.system.controller.admin.studentSelectSupervisorRecord.vo.*;
 import cn.iocoder.yudao.module.system.dal.dataobject.studentSelectSupervisorRecord.studentSelectSupervisorRecordDO;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.framework.common.pojo.PageParam;
 import org.apache.ibatis.annotations.Param;
 
 /**
@@ -21,14 +20,14 @@ public interface studentSelectSupervisorRecordService {
      * @param createReqVO 创建信息
      * @return 编号
      */
-    Integer createStudentSelectSupervisorRecord(@Valid studentSelectSupervisorRecordSaveReqVO createReqVO);
+    Integer createStudentSelectSupervisorRecord(@Valid StudentSelectSupervisorRecordSaveReqVO createReqVO);
 
     /**
      * 更新师生互选记录
      *
      * @param updateReqVO 更新信息
      */
-    void updateStudentSelectSupervisorRecord(@Valid studentSelectSupervisorRecordSaveReqVO updateReqVO);
+    void updateStudentSelectSupervisorRecord(@Valid StudentSelectSupervisorRecordSaveReqVO updateReqVO);
 
     /**
      * 删除师生互选记录
@@ -51,13 +50,19 @@ public interface studentSelectSupervisorRecordService {
      * @param pageReqVO 分页查询
      * @return 师生互选记录分页
      */
-    PageResult<studentSelectSupervisorRecordDO> getStudentSelectSupervisorRecordPage(studentSelectSupervisorRecordPageReqVO pageReqVO);
+    PageResult<studentSelectSupervisorRecordDO> getStudentSelectSupervisorRecordPage(StudentSelectSupervisorRecordPageReqVO pageReqVO);
 
-    List<studentSelectSupervisorRecordDO> getStudentSelectSupervisorRecordList(studentSelectSupervisorRecordPageReqVO pageReqVO);
+    List<studentSelectSupervisorRecordDO> getStudentSelectSupervisorRecordList(StudentSelectSupervisorRecordPageReqVO pageReqVO);
 
-    studentSelectSupervisorRecordDO getRecordByStudentIdAndSupervisorId( Long studentId ,Long supervisorId,Integer selectType);
+    studentSelectSupervisorRecordDO getRecordByStudentIdAndSupervisorId( Integer projectId,Long studentId ,Long supervisorId,Integer selectType);
 
     //更新待处理的状态为撤回
     void updatePendingSelectType(Integer projectId);
 
+    PrintBookVO getSelectionBookById( Integer id);
+
+    List<PrintBookVO> getSelectionBookListByProjectId(Integer projectId);
+
+
+
 }

+ 16 - 9
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/studentSelectSupervisorRecord/studentSelectSupervisorRecordServiceImpl.java

@@ -4,17 +4,14 @@ import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
 import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
 import cn.iocoder.yudao.module.system.service.permission.PermissionService;
 import cn.iocoder.yudao.module.system.service.user.AdminUserService;
-import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
 import org.springframework.validation.annotation.Validated;
-import org.springframework.transaction.annotation.Transactional;
 
 import java.util.*;
 import cn.iocoder.yudao.module.system.controller.admin.studentSelectSupervisorRecord.vo.*;
 import cn.iocoder.yudao.module.system.dal.dataobject.studentSelectSupervisorRecord.studentSelectSupervisorRecordDO;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.framework.common.pojo.PageParam;
 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
 
 import cn.iocoder.yudao.module.system.dal.mysql.studentSelectSupervisorRecord.studentSelectSupervisorRecordMapper;
@@ -40,7 +37,7 @@ public class studentSelectSupervisorRecordServiceImpl implements studentSelectSu
     private PermissionService permissionService;
 
     @Override
-    public Integer createStudentSelectSupervisorRecord(studentSelectSupervisorRecordSaveReqVO createReqVO) {
+    public Integer createStudentSelectSupervisorRecord(StudentSelectSupervisorRecordSaveReqVO createReqVO) {
         // 插入
         studentSelectSupervisorRecordDO studentSelectSupervisorRecord = BeanUtils.toBean(createReqVO, studentSelectSupervisorRecordDO.class);
         studentSelectSupervisorRecordMapper.insert(studentSelectSupervisorRecord);
@@ -49,7 +46,7 @@ public class studentSelectSupervisorRecordServiceImpl implements studentSelectSu
     }
 
     @Override
-    public void updateStudentSelectSupervisorRecord(studentSelectSupervisorRecordSaveReqVO updateReqVO) {
+    public void updateStudentSelectSupervisorRecord(StudentSelectSupervisorRecordSaveReqVO updateReqVO) {
         // 校验存在
         validateStudentSelectSupervisorRecordExists(updateReqVO.getId());
         // 更新
@@ -77,7 +74,7 @@ public class studentSelectSupervisorRecordServiceImpl implements studentSelectSu
     }
 
     @Override
-    public PageResult<studentSelectSupervisorRecordDO> getStudentSelectSupervisorRecordPage(studentSelectSupervisorRecordPageReqVO pageReqVO) {
+    public PageResult<studentSelectSupervisorRecordDO> getStudentSelectSupervisorRecordPage(StudentSelectSupervisorRecordPageReqVO pageReqVO) {
         Long loginId = SecurityFrameworkUtils.getLoginUserId();
         AdminUserDO loginUser = adminUserService.getUser(loginId);
         Set<Long> roleIds = permissionService.getUserRoleIdListByUserId(loginId);
@@ -93,7 +90,7 @@ public class studentSelectSupervisorRecordServiceImpl implements studentSelectSu
     }
 
     @Override
-    public List<studentSelectSupervisorRecordDO> getStudentSelectSupervisorRecordList(studentSelectSupervisorRecordPageReqVO listReqVO){
+    public List<studentSelectSupervisorRecordDO> getStudentSelectSupervisorRecordList(StudentSelectSupervisorRecordPageReqVO listReqVO){
         Long loginId = SecurityFrameworkUtils.getLoginUserId();
         AdminUserDO loginUser = adminUserService.getUser(loginId);
         Set<Long> roleIds = permissionService.getUserRoleIdListByUserId(loginId);
@@ -109,8 +106,8 @@ public class studentSelectSupervisorRecordServiceImpl implements studentSelectSu
     }
 
     @Override
-    public studentSelectSupervisorRecordDO getRecordByStudentIdAndSupervisorId(Long studentId , Long supervisorId, Integer selectType){
-        return studentSelectSupervisorRecordMapper.getRecordByStudentIdAndSupervisorId(studentId,supervisorId,selectType);
+    public studentSelectSupervisorRecordDO getRecordByStudentIdAndSupervisorId(Integer projectId,Long studentId , Long supervisorId, Integer selectType){
+        return studentSelectSupervisorRecordMapper.getRecordByStudentIdAndSupervisorId(projectId,studentId,supervisorId,selectType);
     }
     //更新待处理的记录为撤回
     @Override
@@ -118,4 +115,14 @@ public class studentSelectSupervisorRecordServiceImpl implements studentSelectSu
         studentSelectSupervisorRecordMapper.updatePendingSelectType(projectId);
     }
 
+    @Override
+    public PrintBookVO getSelectionBookById( Integer id){
+        return studentSelectSupervisorRecordMapper.getSelectionBookById(id);
+    }
+
+    @Override
+    public  List<PrintBookVO> getSelectionBookListByProjectId(Integer projectId){
+        return studentSelectSupervisorRecordMapper.getSelectionBookListByProjectId(projectId);
+    }
+
 }

+ 10 - 1
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/supervisorSelectionSetting/supervisorSelectionSettingServiceImpl.java

@@ -1,16 +1,19 @@
 package cn.iocoder.yudao.module.system.service.supervisorSelectionSetting;
 
 import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
+import cn.iocoder.yudao.module.system.controller.admin.studentSelectionProject.vo.studentSelectionProjectSaveReqVO;
 import cn.iocoder.yudao.module.system.dal.dataobject.studentSelectSupervisorRecord.studentSelectSupervisorRecordDO;
 import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
 import cn.iocoder.yudao.module.system.service.permission.PermissionService;
 import cn.iocoder.yudao.module.system.service.studentSelectSupervisorRecord.studentSelectSupervisorRecordService;
+import cn.iocoder.yudao.module.system.service.studentSelectionProject.studentSelectionProjectService;
 import cn.iocoder.yudao.module.system.service.user.AdminUserService;
 import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.time.LocalDateTime;
 import java.util.*;
 import cn.iocoder.yudao.module.system.controller.admin.supervisorSelectionSetting.vo.*;
 import cn.iocoder.yudao.module.system.dal.dataobject.supervisorSelectionSetting.supervisorSelectionSettingDO;
@@ -40,6 +43,8 @@ public class supervisorSelectionSettingServiceImpl implements supervisorSelectio
     private studentSelectSupervisorRecordService studentSelectSupervisorRecordService;
     @Resource
     private PermissionService permissionService;
+    @Resource
+    private studentSelectionProjectService studentSelectionProjectService;
 
     @Override
     public Integer createSupervisorSelectionSetting(supervisorSelectionSettingSaveReqVO createReqVO) {
@@ -83,6 +88,10 @@ public class supervisorSelectionSettingServiceImpl implements supervisorSelectio
         Long loginId = SecurityFrameworkUtils.getLoginUserId();
         AdminUserDO loginUser = adminUserService.getUser(loginId);
         Set<Long> roleIds = permissionService.getUserRoleIdListByUserId(loginId);
+        //获取项目名称
+        LocalDateTime dateTime =LocalDateTime.now();
+        studentSelectionProjectSaveReqVO project = BeanUtils.toBean(studentSelectionProjectService.getStudentSelectionProjectByYear(dateTime.getYear()), studentSelectionProjectSaveReqVO.class);
+
         PageResult<supervisorSelectionSettingDO> result =supervisorSelectionSettingMapper.selectPage(pageReqVO,roleIds,loginUser);
 
         result.getList().forEach(re->{
@@ -92,7 +101,7 @@ public class supervisorSelectionSettingServiceImpl implements supervisorSelectio
             re.setOccupiedAcademicSlots(occupiedAcademicSlots);
             re.setOccupiedProfessionalSlots(occupiedProfessionalSlots);
             if (roleIds.contains(112L)){
-                studentSelectSupervisorRecordDO record = studentSelectSupervisorRecordService.getRecordByStudentIdAndSupervisorId(loginId, Long.valueOf(supervisorId),1);//待处理的
+                studentSelectSupervisorRecordDO record = studentSelectSupervisorRecordService.getRecordByStudentIdAndSupervisorId(project.getId(),loginId, Long.valueOf(supervisorId),1);//待处理的
                 if (record!=null){
                     re.setSelectType(1);
                 }

+ 61 - 0
yudao-module-system/yudao-module-system-biz/src/main/resources/Mapper/studentSelectSupervisorRecord/studentSelectSupervisorRecordMapper.xml

@@ -12,6 +12,9 @@
     <select id="getRecordByStudentIdAndSupervisorId" resultType="cn.iocoder.yudao.module.system.dal.dataobject.studentSelectSupervisorRecord.studentSelectSupervisorRecordDO">
             SELECT * FROM student_select_supervisor_record
             WHERE deleted = 0
+            <if test="projectId != null">
+                AND project_id = #{projectId}
+            </if>
             <if test="studentId != null">
                 AND student_id = #{studentId}
             </if>
@@ -23,5 +26,63 @@
             </if>
     </select>
 
+    <select id="selectAgreeRecordById" resultType="cn.iocoder.yudao.module.system.controller.admin.studentSelectSupervisorRecord.vo.PrintBookVO">
+        SELECT
+        r.*,
+        su_student.nickname AS studentName,
+        su_student.major AS major,
+        su_student.mobile AS studentMobile,
+        su_student.user_number AS studentNumber,
+        su_supervisor.nickname AS supervisor,
+        supervisor_setting.student_achievement_requirement AS studentAchievementRequirement,
+
+        CASE
+        WHEN su_supervisor.user_type = 3 THEN '校内导师'
+        WHEN su_supervisor.user_type = 5 THEN '校外导师'
+        ELSE '其他类型'
+        END AS supervisorType
+        FROM student_select_supervisor_record r
+        LEFT JOIN system_users su_student ON r.student_id = su_student.id
+        LEFT JOIN system_users su_supervisor ON r.supervisor_id = su_supervisor.id
+        LEFT JOIN supervisor_selection_setting supervisor_setting ON r.supervisor_id = supervisor_setting.supervisor_id
+
+        WHERE r.deleted = 0
+        <if test="id != null">
+            AND r.id = #{id}
+            AND r.project_id = supervisor_setting.project_id
+        </if>
+
+    </select>
+
+    <select id="selectAgreeRecordListByProjectId" resultType="cn.iocoder.yudao.module.system.controller.admin.studentSelectSupervisorRecord.vo.PrintBookVO">
+        SELECT
+        r.*,
+        su_student.nickname AS studentName,
+        su_student.major AS major,
+        su_student.mobile AS studentMobile,
+        su_student.user_number AS studentNumber,
+        su_supervisor.nickname AS supervisor,
+        supervisor_setting.student_achievement_requirement AS studentAchievementRequirement,
+
+        CASE
+        WHEN su_supervisor.user_type = 3 THEN '校内导师'
+        WHEN su_supervisor.user_type = 5 THEN '校外导师'
+        ELSE '其他类型'
+        END AS supervisorType
+        FROM student_select_supervisor_record r
+        LEFT JOIN system_users su_student ON r.student_id = su_student.id
+        LEFT JOIN system_users su_supervisor ON r.supervisor_id = su_supervisor.id
+        LEFT JOIN supervisor_selection_setting supervisor_setting ON r.supervisor_id = supervisor_setting.supervisor_id
+
+        WHERE r.deleted = 0
+        AND r.select_type = 2
+        <if test="projectId != null">
+            AND r.project_id = #{projectId}
+            AND supervisor_setting.project_id = #{projectId}
+        </if>
+
+    </select>
+
+
 
 </mapper>