瀏覽代碼

班级异动记录

dzx 7 月之前
父節點
當前提交
7a9b0328da

+ 2 - 9
src/main/java/com/xjrsoft/module/base/controller/BaseClassTeacherChangeController.java

@@ -2,13 +2,11 @@ package com.xjrsoft.module.base.controller;
 
 import cn.dev33.satoken.annotation.SaCheckPermission;
 import cn.hutool.core.bean.BeanUtil;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.xjrsoft.common.annotation.XjrLog;
 import com.xjrsoft.common.model.result.RT;
 import com.xjrsoft.common.page.ConventPage;
 import com.xjrsoft.common.page.PageOutput;
-import com.xjrsoft.common.utils.VoToColumnUtil;
 import com.xjrsoft.module.base.dto.AddBaseClassTeacherChangeDto;
 import com.xjrsoft.module.base.dto.BaseClassTeacherChangePageDto;
 import com.xjrsoft.module.base.dto.UpdateBaseClassTeacherChangeDto;
@@ -52,11 +50,7 @@ public class BaseClassTeacherChangeController {
     @XjrLog(value = "班主任异动记录表列表(分页)")
     public RT<PageOutput<BaseClassTeacherChangePageVo>> page(@Valid BaseClassTeacherChangePageDto dto){
 
-        LambdaQueryWrapper<BaseClassTeacherChange> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper
-                    .orderByDesc(BaseClassTeacherChange::getId)
-                .select(BaseClassTeacherChange.class,x -> VoToColumnUtil.fieldsToColumns(BaseClassTeacherChangePageVo.class).contains(x.getProperty()));
-        IPage<BaseClassTeacherChange> page = baseClassTeacherChangeService.page(ConventPage.getPage(dto), queryWrapper);
+        Page<BaseClassTeacherChangePageVo> page = baseClassTeacherChangeService.getPage(new Page<>(dto.getLimit(), dto.getSize()), dto);
         PageOutput<BaseClassTeacherChangePageVo> pageOutput = ConventPage.getPageOutput(page, BaseClassTeacherChangePageVo.class);
         return RT.ok(pageOutput);
     }
@@ -101,7 +95,6 @@ public class BaseClassTeacherChangeController {
     @XjrLog(value = "删除班主任异动记录表")
     public RT<Boolean> delete(@Valid @RequestBody List<Long> ids){
         return RT.ok(baseClassTeacherChangeService.removeBatchByIds(ids));
-
     }
 
 }

+ 27 - 0
src/main/java/com/xjrsoft/module/base/dto/BaseClassTeacherChangePageDto.java

@@ -1,8 +1,12 @@
 package com.xjrsoft.module.base.dto;
 
 import com.xjrsoft.common.page.PageInput;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDate;
 
 
 /**
@@ -15,5 +19,28 @@ import lombok.EqualsAndHashCode;
 @EqualsAndHashCode(callSuper = false)
 public class BaseClassTeacherChangePageDto extends PageInput {
 
+    @ApiModelProperty("班级名称")
+    private String className;
+
+    @ApiModelProperty("班级代码")
+    private String classCode;
+
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @ApiModelProperty("异动时间-开始")
+    private LocalDate createDateStart;
+
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @ApiModelProperty("异动时间-结束")
+    private LocalDate createDateEnd;
+
+    @ApiModelProperty("异动前班主任")
+    private String beforeTeacherName;
+
+    @ApiModelProperty("异动后班主任")
+    private String afterTeacherName;
+
+    @ApiModelProperty("年级")
+    private Long gradeId;
+
 
 }

+ 5 - 0
src/main/java/com/xjrsoft/module/base/mapper/BaseClassTeacherChangeMapper.java

@@ -1,8 +1,12 @@
 package com.xjrsoft.module.base.mapper;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.base.MPJBaseMapper;
+import com.xjrsoft.module.base.dto.BaseClassTeacherChangePageDto;
 import com.xjrsoft.module.base.entity.BaseClassTeacherChange;
+import com.xjrsoft.module.base.vo.BaseClassTeacherChangePageVo;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 /**
 * @title: 班主任异动记录表
@@ -13,4 +17,5 @@ import org.apache.ibatis.annotations.Mapper;
 @Mapper
 public interface BaseClassTeacherChangeMapper extends MPJBaseMapper<BaseClassTeacherChange> {
 
+    Page<BaseClassTeacherChangePageVo> getPage(Page<BaseClassTeacherChangePageVo> page, @Param("dto") BaseClassTeacherChangePageDto dto);
 }

+ 6 - 0
src/main/java/com/xjrsoft/module/base/service/IBaseClassTeacherChangeService.java

@@ -1,7 +1,11 @@
 package com.xjrsoft.module.base.service;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.base.MPJBaseService;
+import com.xjrsoft.module.base.dto.BaseClassTeacherChangePageDto;
 import com.xjrsoft.module.base.entity.BaseClassTeacherChange;
+import com.xjrsoft.module.base.vo.BaseClassTeacherChangePageVo;
+import org.apache.ibatis.annotations.Param;
 
 /**
 * @title: 班主任异动记录表
@@ -11,4 +15,6 @@ import com.xjrsoft.module.base.entity.BaseClassTeacherChange;
 */
 
 public interface IBaseClassTeacherChangeService extends MPJBaseService<BaseClassTeacherChange> {
+
+    Page<BaseClassTeacherChangePageVo> getPage(Page<BaseClassTeacherChangePageVo> page, @Param("dto") BaseClassTeacherChangePageDto dto);
 }

+ 7 - 0
src/main/java/com/xjrsoft/module/base/service/impl/BaseClassTeacherChangeServiceImpl.java

@@ -1,9 +1,12 @@
 package com.xjrsoft.module.base.service.impl;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.base.MPJBaseServiceImpl;
+import com.xjrsoft.module.base.dto.BaseClassTeacherChangePageDto;
 import com.xjrsoft.module.base.entity.BaseClassTeacherChange;
 import com.xjrsoft.module.base.mapper.BaseClassTeacherChangeMapper;
 import com.xjrsoft.module.base.service.IBaseClassTeacherChangeService;
+import com.xjrsoft.module.base.vo.BaseClassTeacherChangePageVo;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 
@@ -16,4 +19,8 @@ import org.springframework.stereotype.Service;
 @Service
 @AllArgsConstructor
 public class BaseClassTeacherChangeServiceImpl extends MPJBaseServiceImpl<BaseClassTeacherChangeMapper, BaseClassTeacherChange> implements IBaseClassTeacherChangeService {
+    @Override
+    public Page<BaseClassTeacherChangePageVo> getPage(Page<BaseClassTeacherChangePageVo> page, BaseClassTeacherChangePageDto dto) {
+        return this.baseMapper.getPage(page, dto);
+    }
 }

+ 22 - 48
src/main/java/com/xjrsoft/module/base/vo/BaseClassTeacherChangePageVo.java

@@ -14,55 +14,29 @@ import java.time.LocalDateTime;
 @Data
 public class BaseClassTeacherChangePageVo {
 
-    /**
-    * 
-    */
-    @ApiModelProperty("")
+
+    @ApiModelProperty("主键编号")
     private String id;
-    /**
-    * 创建人
-    */
-    @ApiModelProperty("创建人")
-    private Long createUserId;
-    /**
-    * 创建时间
-    */
-    @ApiModelProperty("创建时间")
+
+    @ApiModelProperty("年级名称")
+    private String gradeName;
+
+    @ApiModelProperty("班级名称")
+    private String className;
+
+    @ApiModelProperty("班级代码")
+    private String classCode;
+
+    @ApiModelProperty("异动时间")
     private LocalDateTime createDate;
-    /**
-    * 修改人
-    */
-    @ApiModelProperty("修改人")
-    private Long modifyUserId;
-    /**
-    * 修改日期
-    */
-    @ApiModelProperty("修改日期")
-    private LocalDateTime modifyDate;
-    /**
-    * 删除标记
-    */
-    @ApiModelProperty("删除标记")
-    private Integer deleteMark;
-    /**
-    * 有效标记
-    */
-    @ApiModelProperty("有效标记")
-    private Integer enabledMark;
-    /**
-    * 班级id(base_class)
-    */
-    @ApiModelProperty("班级id(base_class)")
-    private Long classId;
-    /**
-    * 异动前班主任(xjr_user)
-    */
-    @ApiModelProperty("异动前班主任(xjr_user)")
-    private Long beforeTeacherId;
-    /**
-    * 异动后班主任(xjr_user)
-    */
-    @ApiModelProperty("异动后班主任(xjr_user)")
-    private Long afterTeacherId;
+
+    @ApiModelProperty("操作人")
+    private String createUserName;
+
+    @ApiModelProperty("异动前班主任")
+    private String beforeTeacherName;
+
+    @ApiModelProperty("异动后班主任")
+    private String afterTeacherName;
 
 }

+ 39 - 0
src/main/resources/mapper/base/BaseClassTeacherChange.xml

@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.xjrsoft.module.base.mapper.BaseClassTeacherChangeMapper">
+    <select id="getPage" parameterType="com.xjrsoft.module.base.dto.BaseClassTeacherChangePageDto" resultType="com.xjrsoft.module.base.vo.BaseClassTeacherChangePageVo">
+        SELECT t1.id,t3.name AS grade_name,t2.name AS class_name,t2.code AS class_code,t1.create_date,
+        t6.name AS create_user_name,t4.name AS before_teacher_name,t5.name AS after_teacher_name FROM base_class_teacher_change t1
+        INNER JOIN base_class t2 ON t1.class_id = t2.id
+        INNER JOIN base_grade t3 ON t2.grade_id = t3.id
+        LEFT JOIN xjr_user t4 ON t1.before_teacher_id = t4.id
+        LEFT JOIN xjr_user t5 ON t1.after_teacher_id = t5.id
+        LEFT JOIN xjr_user t6 ON t1.create_user_id = t6.id
+        WHERE t1.delete_mark = 0
+        <if test="dto.className != null and dto.className != ''">
+            t2.name like concat('%', #{dto.className}, '%')
+        </if>
+        <if test="dto.classCode != null and dto.classCode != ''">
+            t2.code like concat('%', #{dto.classCode}, '%')
+        </if>
+        <if test="dto.afterTeacherName != null and dto.afterTeacherName != ''">
+            t5.name like concat('%', #{dto.afterTeacherName}, '%')
+        </if>
+        <if test="dto.beforeTeacherName != null and dto.beforeTeacherName != ''">
+            t4.name like concat('%', #{dto.beforeTeacherName}, '%')
+        </if>
+        <if test="dto.gradeId != null">
+            t3.id = #{dto.gradeId}
+        </if>
+        <if test="dto.gradeId != null">
+            t3.id = #{dto.gradeId}
+        </if>
+        <if test="dto.createDateStart != null and dto.createDateEnd != null">
+            t1.create_date between #{dto.createDateStart} and #{dto.createDateEnd}
+        </if>
+        order by t1.create_date desc
+    </select>
+
+</mapper>