feat: 提交课表冲突检查相关功能模块

This commit is contained in:
dengxiaoyue
2026-08-21 14:39:03 +08:00
parent 179b12e3bf
commit f190c29e05
857 changed files with 10838 additions and 5 deletions
@@ -0,0 +1,167 @@
package com.roomroot.jwgl.entity;
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 lombok.Data;
import java.time.LocalDateTime;
/**
* 课表冲突检查结果实体。
* <p>
* 对应数据库表:课表_冲突检查结果(方案 A 落库表)。
* 每条记录 = 一次检查中的一条冲突明细,与 TimetableConflictDetailVO 字段一一对应,
* 额外加:年度、检查批次号、编号主键、创建时间 4 个落库字段。
* </p>
* <p>
* 命名风格与项目其他实体保持一致:
* 属性=拼音/缩写,列名=中文,显式 @TableField 映射
* </p>
*
* @author management
*/
@Data
@TableName("课表_冲突检查结果")
public class TimetableConflictResult {
// =========================================================
// 落库扩展字段
// =========================================================
/**
* 主键编号(BIGINT 自增,对应表"编号"列,IDENTITY(1,1))
*/
@TableId(value = "编号", type = IdType.AUTO)
private Long bh;
/**
* 年度(学期过滤,例:2026)
*/
@TableField("年度")
private Integer nd;
/**
* 检查批次号(同一次"执行全部检查"共用,例:20260821-153000-123)
*/
@TableField("检查批次号")
private String jcpch;
/**
* 创建时间(DEFAULT SYSDATE,MP 不做填充,数据库默认值即可)
*/
@TableField("创建时间")
private LocalDateTime cjsj;
// =========================================================
// 维度信息
// =========================================================
/**
* 维度编码,对应 TimetableConflictDimension.code
* 取值:TEAM_CONFLICT / ELECTIVE_REQUIRED_CONFLICT / TEACHER_CONFLICT / CLASSROOM_CONFLICT
*/
@TableField("维度编码")
private String wdbm;
/**
* 维度标题(中文,例:教员时间冲突)
*/
@TableField("维度标题")
private String wdbt;
// =========================================================
// 冲突资源信息
// =========================================================
/**
* 资源编号(学员队编号/教员编号/教室编号)
*/
@TableField("资源编号")
private String zybh;
/**
* 资源中文名(例:张教授、101多媒体教室)
*/
@TableField("资源名称")
private String zymc;
// =========================================================
// 日期节次
// =========================================================
/**
* 冲突日期
*/
@TableField("日期")
private LocalDateTime rq;
/**
* 冲突节次(1-N)
*/
@TableField("节次")
private Integer jc;
// =========================================================
// 冲突课次信息
// =========================================================
/**
* 占用课次数(同一资源同时被排了几门课,一般 ≥2)
*/
@TableField("占用课次数")
private Integer zykcsl;
/**
* 课程名称列表(WM_CONCAT 拼接,例:高等数学;大学英语)
*/
@TableField("课程名称列表")
private String kcmclb;
/**
* 冲突课次编号列表(= 实施_课程表.编号,逗号分隔,便于跳转到课次详情)
*/
@TableField("冲突课次编号列表")
private String ctkcbhlb;
/**
* 冲突原因中文整句(直接用于弹框展示)
*/
@TableField("冲突原因")
private String ctyy;
// =========================================================
// UI 明细表格 5 个业务字段(冲突号/班次/教员/场地/责任单位)
// =========================================================
/**
* 冲突号(规则:YYYYMMDD_节次2位_资源编号,例:20260910_03_XYD00001)
*/
@TableField("冲突号")
private String cth;
/**
* 班次名称列表(学员队名称,WM_CONCAT 去重拼接)
*/
@TableField("班次名称列表")
private String bcmclb;
/**
* 教员姓名列表(含【主】【辅】标注)
*/
@TableField("教员姓名列表")
private String jyxmlb;
/**
* 场地/教室名称列表
*/
@TableField("场地名称列表")
private String cdmclb;
/**
* 责任单位列表(班次的所属单位聚合)
*/
@TableField("责任单位列表")
private String zrdwlb;
}