1
This commit is contained in:
@@ -2,7 +2,7 @@ package com.yunhai.bschclassmanage.Repository;
|
||||
|
||||
import com.yunhai.bschclassmanage.entity.SchClass;
|
||||
import com.yunhai.bschclassmanage.entity.SchClassHistory;
|
||||
import io.lettuce.core.dynamic.annotation.Param;
|
||||
import org.springframework.data.repository.query.Param;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
@@ -1,14 +1,16 @@
|
||||
package com.yunhai.bschclassmanage.Repository;
|
||||
|
||||
import com.yunhai.bschclassmanage.entity.SchClass;
|
||||
import io.lettuce.core.dynamic.annotation.Param;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
|
||||
import org.springframework.data.jpa.repository.Modifying;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.data.repository.query.Param;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
@@ -66,4 +68,29 @@ public interface SchClassRepository extends JpaRepository<SchClass, Integer>, Jp
|
||||
*/
|
||||
@Query("SELECT MIN(c.enrollYear) FROM SchClass c WHERE c.schId = :schId AND c.gradeId IN :gradeIds")
|
||||
Integer findMinEnrollYear(@Param("schId") Integer schId, @Param("gradeIds") List<Integer> gradeIds);
|
||||
|
||||
/**
|
||||
* 学年升级:指定学校下、给定年级(非最高年级)的未毕业班级整体升一级
|
||||
* 使用 grade_id = grade_id + 1 的 SET 语义,单次语句原子完成,避免逐班加载与保存
|
||||
* @param schId 学校ID(安全过滤)
|
||||
* @param gradeIds 需要升级的年级ID列表(非最高年级)
|
||||
* @param now 修改时间
|
||||
* @return 实际受影响行数
|
||||
*/
|
||||
@Modifying(clearAutomatically = true)
|
||||
@Query("UPDATE SchClass c SET c.gradeId = c.gradeId + 1, c.updateDate = :now, c.updateUserId = 0 " +
|
||||
"WHERE c.schId = :schId AND c.gradeId IN :gradeIds AND c.graduate = false")
|
||||
int batchUpgradeGrade(@Param("schId") Integer schId, @Param("gradeIds") List<Integer> gradeIds, @Param("now") Date now);
|
||||
|
||||
/**
|
||||
* 学年升级:指定学校下、最高年级的未毕业班级标记为毕业
|
||||
* @param schId 学校ID(安全过滤)
|
||||
* @param maxGrade 最高年级ID
|
||||
* @param now 修改时间
|
||||
* @return 实际受影响行数
|
||||
*/
|
||||
@Modifying(clearAutomatically = true)
|
||||
@Query("UPDATE SchClass c SET c.graduate = true, c.updateDate = :now, c.updateUserId = 0 " +
|
||||
"WHERE c.schId = :schId AND c.gradeId = :maxGrade AND c.graduate = false")
|
||||
int batchGraduate(@Param("schId") Integer schId, @Param("maxGrade") Integer maxGrade, @Param("now") Date now);
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ package com.yunhai.bschclassmanage.Repository;
|
||||
|
||||
import com.yunhai.bschclassmanage.entity.SchDicCampus;
|
||||
import com.yunhai.bschclassmanage.entity.SchDicCourse;
|
||||
import io.lettuce.core.dynamic.annotation.Param;
|
||||
import org.springframework.data.repository.query.Param;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.yunhai.bschclassmanage.Repository;
|
||||
|
||||
import com.yunhai.bschclassmanage.entity.SchDicMajors;
|
||||
import io.lettuce.core.dynamic.annotation.Param;
|
||||
import org.springframework.data.repository.query.Param;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.yunhai.bschclassmanage.Repository;
|
||||
|
||||
import com.yunhai.bschclassmanage.entity.SchStudent;
|
||||
import io.lettuce.core.dynamic.annotation.Param;
|
||||
import org.springframework.data.repository.query.Param;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
|
||||
import org.springframework.data.jpa.repository.Modifying;
|
||||
|
||||
@@ -6,7 +6,7 @@ import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import io.lettuce.core.dynamic.annotation.Param;
|
||||
import org.springframework.data.repository.query.Param;
|
||||
import org.springframework.data.jpa.repository.Modifying;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
@@ -2,7 +2,7 @@ package com.yunhai.bschclassmanage.Repository;
|
||||
|
||||
import com.yunhai.bschclassmanage.entity.SchTeacher;
|
||||
import com.yunhai.bschclassmanage.model.vo.TeacherSchVO;
|
||||
import io.lettuce.core.dynamic.annotation.Param;
|
||||
import org.springframework.data.repository.query.Param;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
Reference in New Issue
Block a user