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 @@