From 33d945c59413507e05a2baa2efd9ac502f6a0419 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com>
Date: Thu, 6 Nov 2025 14:22:22 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3bug?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../controller/ScClaTimeController.java | 3 +-
.../domain/req/time/ReqSearchClaTime.java | 15 +-
.../req/time/ReqSearchScClaTimeRule.java | 6 +
.../domain/resp/time/ClaTimeCalendarItem.java | 4 +-
.../course/domain/resp/time/RespClaTime.java | 6 +-
.../domain/resp/time/RespClaTimeCalendar.java | 185 +++++++++++++-
.../domain/resp/time/RespClaTimeRule.java | 133 +++++++++-
.../course/repo/mapping/ScClaTimeMapper.xml | 2 +-
.../repo/mapping/ScClaTimeRuleMapper.xml | 4 +-
.../sc/course/repo/model/ScClaTimeRuleVo.java | 185 ++++++++++++++
.../sc/course/repo/model/ScClaTimeVo.java | 231 ++++++++++++++++++
.../sc/course/repo/model/ScCourseVo.java | 2 +-
.../service/BusinessClaTimeRuleService.java | 7 +-
.../service/BusinessClaTimeService.java | 13 +-
.../service/BusinessScCourseClaService.java | 4 +-
.../domain/req/ReqSearchScStudent.java | 5 +
.../domain/resp/RespStudentCourse.java | 2 +-
.../student/repo/mapping/ScStudentMapper.xml | 2 +-
18 files changed, 782 insertions(+), 27 deletions(-)
create mode 100644 ruoyi-admin/src/main/java/cn/xluobo/business/sc/course/repo/model/ScClaTimeRuleVo.java
create mode 100644 ruoyi-admin/src/main/java/cn/xluobo/business/sc/course/repo/model/ScClaTimeVo.java
diff --git a/ruoyi-admin/src/main/java/cn/xluobo/business/sc/course/controller/ScClaTimeController.java b/ruoyi-admin/src/main/java/cn/xluobo/business/sc/course/controller/ScClaTimeController.java
index 4d322a1..91c30d5 100644
--- a/ruoyi-admin/src/main/java/cn/xluobo/business/sc/course/controller/ScClaTimeController.java
+++ b/ruoyi-admin/src/main/java/cn/xluobo/business/sc/course/controller/ScClaTimeController.java
@@ -5,6 +5,7 @@ import cn.xluobo.business.sc.course.domain.resp.time.RespBusinessClaTimeCalendar
import cn.xluobo.business.sc.course.domain.resp.time.RespClaTime;
import cn.xluobo.business.sc.course.domain.resp.time.RespClaTimeCalendar;
import cn.xluobo.business.sc.course.repo.model.ScClaTime;
+import cn.xluobo.business.sc.course.repo.model.ScClaTimeVo;
import cn.xluobo.business.sc.course.service.BusinessClaTimeService;
import cn.xluobo.business.sc.student.domain.req.ReqClaTimeAttend;
import cn.xluobo.core.api.APIResponse;
@@ -89,7 +90,7 @@ public class ScClaTimeController {
* @return
*/
@PutMapping("/update/updateScClaTime")
- public APIResponse updateScClaTime(@RequestBody ScClaTime scClaTime) {
+ public APIResponse updateScClaTime(@RequestBody ScClaTimeVo scClaTime) {
return claTimeService.updateClaTime(scClaTime);
}
diff --git a/ruoyi-admin/src/main/java/cn/xluobo/business/sc/course/domain/req/time/ReqSearchClaTime.java b/ruoyi-admin/src/main/java/cn/xluobo/business/sc/course/domain/req/time/ReqSearchClaTime.java
index de7774e..2c6b5cd 100644
--- a/ruoyi-admin/src/main/java/cn/xluobo/business/sc/course/domain/req/time/ReqSearchClaTime.java
+++ b/ruoyi-admin/src/main/java/cn/xluobo/business/sc/course/domain/req/time/ReqSearchClaTime.java
@@ -1,6 +1,7 @@
package cn.xluobo.business.sc.course.domain.req.time;
import cn.xluobo.core.page.ReqPageBase;
+import com.ruoyi.common.utils.SecurityUtils;
import lombok.Data;
import org.joda.time.DateTime;
@@ -14,10 +15,10 @@ import java.io.Serializable;
public class ReqSearchClaTime extends ReqPageBase implements Serializable {
// 排课 编号
- private Long courseTimeId;
+ private String courseTimeId;
// 课程
- private Long courseId;
+ private String courseId;
// 校区
private Long deptId;
@@ -26,10 +27,10 @@ public class ReqSearchClaTime extends ReqPageBase implements Serializable {
private String userId;
// 班级
- private Long claId;
+ private String claId;
// 学生
- private Long studentId;
+ private String studentId;
private Long teacherId;
@@ -58,6 +59,12 @@ public class ReqSearchClaTime extends ReqPageBase implements Serializable {
*/
private String orderByType;
+ private String tenantId;
+
+ public String getTenantId(){
+ return SecurityUtils.getLoginUser().getNowTenantId();
+ }
+
public void setDiffNowDay(Integer diffNowDay) {
this.diffNowDay = diffNowDay;
if(null != diffNowDay) {
diff --git a/ruoyi-admin/src/main/java/cn/xluobo/business/sc/course/domain/req/time/ReqSearchScClaTimeRule.java b/ruoyi-admin/src/main/java/cn/xluobo/business/sc/course/domain/req/time/ReqSearchScClaTimeRule.java
index 8a1810d..d14bea0 100644
--- a/ruoyi-admin/src/main/java/cn/xluobo/business/sc/course/domain/req/time/ReqSearchScClaTimeRule.java
+++ b/ruoyi-admin/src/main/java/cn/xluobo/business/sc/course/domain/req/time/ReqSearchScClaTimeRule.java
@@ -1,6 +1,7 @@
package cn.xluobo.business.sc.course.domain.req.time;
import cn.xluobo.core.page.ReqPageBase;
+import com.ruoyi.common.utils.SecurityUtils;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
@@ -19,6 +20,11 @@ public class ReqSearchScClaTimeRule extends ReqPageBase implements Serializable
private Boolean filterHoliday;
private String beginDate;
private String endDate;
+ private String tenantId;
+
+ public String getTenantId(){
+ return SecurityUtils.getLoginUser().getNowTenantId();
+ }
public void setClaDate(String[] claDate) {
this.claDate = claDate;
diff --git a/ruoyi-admin/src/main/java/cn/xluobo/business/sc/course/domain/resp/time/ClaTimeCalendarItem.java b/ruoyi-admin/src/main/java/cn/xluobo/business/sc/course/domain/resp/time/ClaTimeCalendarItem.java
index 3bf1a74..204c074 100644
--- a/ruoyi-admin/src/main/java/cn/xluobo/business/sc/course/domain/resp/time/ClaTimeCalendarItem.java
+++ b/ruoyi-admin/src/main/java/cn/xluobo/business/sc/course/domain/resp/time/ClaTimeCalendarItem.java
@@ -11,7 +11,7 @@ import lombok.Data;
@Data
public class ClaTimeCalendarItem {
- private Long courseTimeId;
+ private String courseTimeId;
private String claName;
@@ -40,7 +40,7 @@ public class ClaTimeCalendarItem {
private String claTimeStatus;
public ClaTimeCalendarItem transfer(RespClaTimeCalendar respClaTime) {
- this.courseTimeId = respClaTime.getCourseTimeId();
+ this.courseTimeId = respClaTime.getCourseTimeId()+"";
this.claName = respClaTime.getClaName();
this.courseName = respClaTime.getCourseName();
this.claDate = respClaTime.getClaDate();
diff --git a/ruoyi-admin/src/main/java/cn/xluobo/business/sc/course/domain/resp/time/RespClaTime.java b/ruoyi-admin/src/main/java/cn/xluobo/business/sc/course/domain/resp/time/RespClaTime.java
index 0e46f43..1c9b0a9 100644
--- a/ruoyi-admin/src/main/java/cn/xluobo/business/sc/course/domain/resp/time/RespClaTime.java
+++ b/ruoyi-admin/src/main/java/cn/xluobo/business/sc/course/domain/resp/time/RespClaTime.java
@@ -13,13 +13,13 @@ import java.util.Date;
@Data
public class RespClaTime {
- private Long courseTimeId;
+ private String courseTimeId;
- private Long claId;
+ private String claId;
private String claName;
- private Long courseId;
+ private String courseId;
private String courseName;
diff --git a/ruoyi-admin/src/main/java/cn/xluobo/business/sc/course/domain/resp/time/RespClaTimeCalendar.java b/ruoyi-admin/src/main/java/cn/xluobo/business/sc/course/domain/resp/time/RespClaTimeCalendar.java
index 728f2b0..853de05 100644
--- a/ruoyi-admin/src/main/java/cn/xluobo/business/sc/course/domain/resp/time/RespClaTimeCalendar.java
+++ b/ruoyi-admin/src/main/java/cn/xluobo/business/sc/course/domain/resp/time/RespClaTimeCalendar.java
@@ -1,15 +1,21 @@
package cn.xluobo.business.sc.course.domain.resp.time;
import cn.xluobo.business.sc.course.repo.model.ScClaTime;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
+import java.math.BigDecimal;
+import java.util.Date;
+
/**
* 排课信息(课表)
* @author :zhangbaoyu
* @date :Created in 2020/9/18 14:50
*/
@Data
-public class RespClaTimeCalendar extends ScClaTime {
+public class RespClaTimeCalendar {
private String claColor;
@@ -23,4 +29,181 @@ public class RespClaTimeCalendar extends ScClaTime {
private Integer studentCount;
+ /**
+ * 排课编号
+ */
+ @TableId(value = "course_time_id", type = IdType.ASSIGN_ID)
+ private String courseTimeId;
+
+ /**
+ * 规则编号
+ */
+ @TableField("rule_id")
+ private String ruleId;
+
+ /**
+ * 班级id
+ */
+ @TableField("cla_id")
+ private String claId;
+
+ /**
+ * 任课教师
+ */
+ @TableField("teacher_id")
+ private Long teacherId;
+
+ /**
+ * 上课教室
+ */
+ @TableField("room_id")
+ private String roomId;
+
+ /**
+ * 上课教室
+ */
+ @TableField("room_name")
+ private String roomName;
+
+ /**
+ * 上课主题
+ */
+ @TableField("class_theme")
+ private String classTheme;
+
+ /**
+ * 上课日期 如:2020-02-05
+ */
+ @TableField("cla_date")
+ private String claDate;
+
+ /**
+ * 上课开始时间
+ */
+ @TableField("start_time")
+ private String startTime;
+
+ /**
+ * 上课结束时间
+ */
+ @TableField("end_time")
+ private String endTime;
+
+ /**
+ * 实际上课时间
+ */
+ @TableField("real_cla_date")
+ private String realClaDate;
+
+ /**
+ * 实际开始时间
+ */
+ @TableField("real_start_time")
+ private String realStartTime;
+
+ /**
+ * 实际结束时间
+ */
+ @TableField("real_end_time")
+ private String realEndTime;
+
+ /**
+ * 课时变更数量
+ */
+ @TableField("pay_hour")
+ private BigDecimal payHour;
+
+ /**
+ * 总课时消耗
+ */
+ @TableField("pay_total_hour")
+ private BigDecimal payTotalHour;
+
+ /**
+ * 总学费消耗
+ */
+ @TableField("pay_total_fee")
+ private BigDecimal payTotalFee;
+
+ /**
+ * 来源 1:重复排课 2:未排课上课 3:单个新增
+ */
+ @TableField("source")
+ private String source;
+
+ /**
+ * 状态 1:待上课 2:已上课
+ */
+ @TableField("status")
+ private String status;
+
+ /**
+ * 应到人数
+ */
+ @TableField("book_attend_cnt")
+ private Integer bookAttendCnt;
+
+ /**
+ * 实到人数
+ */
+ @TableField("real_attend_cnt")
+ private Integer realAttendCnt;
+
+ /**
+ * 到课人数
+ */
+ @TableField("at_class_cnt")
+ private Integer atClassCnt;
+
+ /**
+ * 请假人数
+ */
+// @TableField("leave_cnt")
+// private Integer leaveCnt;
+
+ /**
+ * 缺勤人数
+ */
+ @TableField("out_cnt")
+ private Integer outCnt;
+
+ /**
+ * 备注
+ */
+ @TableField("memo")
+ private String memo;
+
+ /**
+ * 创建者
+ */
+ @TableField("create_user")
+ private Long createUser;
+
+ /**
+ * 创建时间
+ */
+ @TableField("create_time")
+ private Date createTime;
+
+ /**
+ * 更新者
+ */
+ @TableField("last_update_user")
+ private Long lastUpdateUser;
+
+ /**
+ * 更新时间
+ */
+ @TableField("last_update_time")
+ private Date lastUpdateTime;
+
+ @TableField(exist = false)
+ private Long deptId;
+ @TableField(exist = false)
+ private String courseName;
+ @TableField(exist = false)
+ private String claName;
+ @TableField(exist = false)
+ private String deptName;
+
}
diff --git a/ruoyi-admin/src/main/java/cn/xluobo/business/sc/course/domain/resp/time/RespClaTimeRule.java b/ruoyi-admin/src/main/java/cn/xluobo/business/sc/course/domain/resp/time/RespClaTimeRule.java
index e971c3a..86b120c 100644
--- a/ruoyi-admin/src/main/java/cn/xluobo/business/sc/course/domain/resp/time/RespClaTimeRule.java
+++ b/ruoyi-admin/src/main/java/cn/xluobo/business/sc/course/domain/resp/time/RespClaTimeRule.java
@@ -1,11 +1,16 @@
package cn.xluobo.business.sc.course.domain.resp.time;
import cn.xluobo.business.sc.course.repo.model.ScClaTimeRule;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
+import java.util.Date;
+
/**
* 排课信息
* @author :zhangbaoyu
@@ -15,7 +20,7 @@ import lombok.NoArgsConstructor;
@Builder
@AllArgsConstructor
@NoArgsConstructor
-public class RespClaTimeRule extends ScClaTimeRule {
+public class RespClaTimeRule {
private String courseName;
private String claName;
@@ -26,4 +31,130 @@ public class RespClaTimeRule extends ScClaTimeRule {
private String weekDayName;
+ /**
+ * 规则id
+ */
+ @TableId(value = "rule_id", type = IdType.ASSIGN_ID)
+ private String ruleId;
+
+ /**
+ * 班级
+ */
+ @TableField("cla_id")
+ private String claId;
+
+ /**
+ * 规则类型 1重复排课 2单次排课
+ */
+ @TableField("rule_type")
+ private String ruleType;
+
+ /**
+ * 开始日期
+ */
+ @TableField("begin_date")
+ private String beginDate;
+
+ /**
+ * 结束日期
+ */
+ @TableField("end_date")
+ private String endDate;
+
+ /**
+ * 单次排课 日期
+ */
+ @TableField("once_date")
+ private String onceDate;
+
+ /**
+ * 重复方式 1每周重复 2隔天重复 3隔周重复
+ */
+ @TableField("repeat_type")
+ private String repeatType;
+
+ /**
+ * 上课星期 周几上课
+ */
+ @TableField("week_day")
+ private String weekDay;
+
+ /**
+ * 是否过滤节假日 1过滤 0不过滤
+ */
+ @TableField("filter_holiday")
+ private boolean filterHoliday;
+
+ /**
+ * 上课时间
+ */
+ @TableField("start_time")
+ private String startTime;
+
+ /**
+ * 下课时间
+ */
+ @TableField("end_time")
+ private String endTime;
+
+ /**
+ * 任课教师
+ */
+ @TableField("teacher_id")
+ private Long teacherId;
+
+ /**
+ * 上课教室
+ */
+ @TableField("room_id")
+ private String roomId;
+
+ /**
+ * 上课教室
+ */
+ @TableField("room_name")
+ private String roomName;
+
+ /**
+ * 上课主题
+ */
+ @TableField("class_theme")
+ private String classTheme;
+
+ /**
+ * 创建者
+ */
+ @TableField("create_user")
+ private Long createUser;
+
+ /**
+ * 创建时间
+ */
+ @TableField("create_time")
+ private Date createTime;
+
+ /**
+ * 更新者
+ */
+ @TableField("last_update_user")
+ private Long lastUpdateUser;
+
+ /**
+ * 更新时间
+ */
+ @TableField("last_update_time")
+ private Date lastUpdateTime;
+
+ /**
+ * 单次排课 选择的上课日期
+ */
+ @TableField(exist = false)
+ private String[] chooseDate;
+
+ /**
+ * 所属校区
+ */
+ @TableField(exist = false)
+ private Long deptId;
+
}
diff --git a/ruoyi-admin/src/main/java/cn/xluobo/business/sc/course/repo/mapping/ScClaTimeMapper.xml b/ruoyi-admin/src/main/java/cn/xluobo/business/sc/course/repo/mapping/ScClaTimeMapper.xml
index e0010ab..2c5f81b 100644
--- a/ruoyi-admin/src/main/java/cn/xluobo/business/sc/course/repo/mapping/ScClaTimeMapper.xml
+++ b/ruoyi-admin/src/main/java/cn/xluobo/business/sc/course/repo/mapping/ScClaTimeMapper.xml
@@ -68,7 +68,7 @@
left join sc_course course on cc.course_id=course.course_id,
sc_cla_time ct
left join sys_staff s on ct.teacher_id=s.staff_id
- where cc.cla_id = ct.cla_id
+ where cc.cla_id = ct.cla_id and cc.tenant_id=#{searchClaTime.tenantId}
and ct.cla_date between #{searchClaTime.beginDate} and #{searchClaTime.endDate}
diff --git a/ruoyi-admin/src/main/java/cn/xluobo/business/sc/course/repo/mapping/ScClaTimeRuleMapper.xml b/ruoyi-admin/src/main/java/cn/xluobo/business/sc/course/repo/mapping/ScClaTimeRuleMapper.xml
index fd78dab..c0210b3 100644
--- a/ruoyi-admin/src/main/java/cn/xluobo/business/sc/course/repo/mapping/ScClaTimeRuleMapper.xml
+++ b/ruoyi-admin/src/main/java/cn/xluobo/business/sc/course/repo/mapping/ScClaTimeRuleMapper.xml
@@ -4,9 +4,9 @@