package com.ruoyi.course.domain; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import org.apache.commons.lang3.StringUtils; import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; /** *
* 排课信息 *
* * * */ @Data @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) @TableName("sc_cla_time") public class ScClaTime implements Serializable { private static final long serialVersionUID = 1L; /** * 排课编号 */ @TableId(value = "course_time_id", type = IdType.ASSIGN_ID) @JsonSerialize(using = ToStringSerializer.class) private Long courseTimeId; /** * 规则编号 */ @TableField("rule_id") private Long ruleId; /** * 班级id */ @TableField("cla_id") private Long claId; @TableField( "course_id") private Long courseId; /** * 任课教师 */ @TableField("teacher_id") private Long teacherId; /** * 上课教室 */ @TableField("room_id") private Long 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("teacher_fee") private BigDecimal teacherFee; /** * 来源 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("less_cnt") private Integer lessCnt; /** * 备注 */ @TableField("memo") private String memo; /** * 创建者 */ @TableField("create_user") private Long createUser; /** * 创建时间 */ @TableField("create_time") @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") private Date createTime; /** * 更新时间 */ @TableField("last_update_time") private Date lastUpdateTime; @TableField("venue_fee") private BigDecimal venueFee; @TableField("room_usage_time") private Double roomUsageTime;//不足0.5按0.5计,>0.5小时,按1小时计 /** * 所属租户 */ @TableField("tenant_id") private String tenantId; @TableField("dept_id") private Long storeId; @TableField(exist = false) private String courseName; @TableField(exist = false) private String claName; @TableField(exist = false) private String deptName; public boolean checkUpdateParam() { if (StringUtils.isAnyEmpty(claDate, startTime, endTime)) { return false; } if (null == teacherId) { return false; } return true; } public boolean checkAddParam() { if(null == claId || null == teacherId) { return false; } if (StringUtils.isAnyEmpty(claDate, startTime, endTime)) { return false; } return true; } }