Bladeren bron

学生实习记录

dzx 5 maanden geleden
bovenliggende
commit
764f07da3d

+ 15 - 0
src/main/java/com/xjrsoft/module/internship/controller/InternshipPlanManageController.java

@@ -1,6 +1,7 @@
 package com.xjrsoft.module.internship.controller;
 
 import cn.dev33.satoken.annotation.SaCheckPermission;
+import cn.dev33.satoken.stp.StpUtil;
 import cn.hutool.core.bean.BeanUtil;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.xjrsoft.common.annotation.XjrLog;
@@ -56,6 +57,20 @@ public class InternshipPlanManageController {
         return RT.ok(pageOutput);
     }
 
+    @GetMapping(value = "/teacher-page")
+    @ApiOperation(value="实习计划管理表教师列表(分页)")
+    @SaCheckPermission("internshipplanmanage:detail")
+    @XjrLog(value = "实习计划管理表教师列表(分页)")
+    public RT<PageOutput<InternshipPlanManagePageVo>> teacherPage(@Valid InternshipPlanManagePageDto dto){
+        if(dto.getTeacherId() == null){
+            dto.setTeacherId(StpUtil.getLoginIdAsLong());
+        }
+        Page<InternshipPlanManagePageVo> page = internshipPlanManageService.getPage(new Page<>(dto.getLimit(), dto.getSize()), dto);
+        PageOutput<InternshipPlanManagePageVo> pageOutput = ConventPage.getPageOutput(page, InternshipPlanManagePageVo.class);
+        return RT.ok(pageOutput);
+    }
+
+
     @GetMapping(value = "/info")
     @ApiOperation(value="根据id查询实习计划管理表信息")
     @SaCheckPermission("internshipplanmanage:detail")

+ 4 - 0
src/main/java/com/xjrsoft/module/internship/dto/InternshipPlanManagePageDto.java

@@ -52,4 +52,8 @@ public class InternshipPlanManagePageDto extends PageInput {
 
     @ApiModelProperty("学期主键id(base_semester)")
     private Long baseSemesterId;
+
+
+    @ApiModelProperty("教师id")
+    private Long teacherId;
 }

+ 11 - 0
src/main/resources/mapper/internship/InternshipPlanManageMapper.xml

@@ -47,5 +47,16 @@
         <if test="dto.baseSemesterId != null">
             and t1.base_semester_id = #{dto.baseSemesterId}
         </if>
+        <if test="dto.teacheId != null">
+            and (t1.id in (
+                SELECT DISTINCT c1.internship_plan_manage_id FROM internship_plan_class c1
+                INNER JOIN base_class c2 ON c1.class_id = c2.id
+                WHERE c1.delete_mark = 0 AND c2.delete_mark = 0
+                AND c2.teacher_id = #{dto.teacheId}
+            ) or t1.id in (
+                SELECT DISTINCT internship_plan_manage_id FROM internship_plan_teacher
+                WHERE delete_mark = 0 AND user_id = #{dto.teacheId}
+            ))
+        </if>
     </select>
 </mapper>

+ 1 - 0
src/main/resources/sqlScript/20250623sql.sql

@@ -167,6 +167,7 @@ CREATE TABLE `student_internship_record` (
   `record_time` DATETIME DEFAULT NULL COMMENT '实习时间',
   `record_report_type` INT DEFAULT NULL COMMENT '实行类型(0:实习综合报告 1:周报 2:月报)',
   `internship_plan_manage_id` BIGINT NOT NULL COMMENT '所属实习计划id(internship_plan_manage)',
+  `record_content` VARCHAR(1000) DEFAULT NULL COMMENT '实习报告内容',
   `folder_id` BIGINT DEFAULT NULL COMMENT '附件(xjr_file)',
   PRIMARY KEY (`id`)
 ) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='学生自主实习申请表';