diff --git a/backend/ruoyi-modules/ruoyi-xg/src/main/java/org/dromara/xg/controller/XgStudentStatusChangeController.java b/backend/ruoyi-modules/ruoyi-xg/src/main/java/org/dromara/xg/controller/XgStudentStatusChangeController.java new file mode 100644 index 00000000..ed3be00f --- /dev/null +++ b/backend/ruoyi-modules/ruoyi-xg/src/main/java/org/dromara/xg/controller/XgStudentStatusChangeController.java @@ -0,0 +1,119 @@ +package org.dromara.xg.controller; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.web.core.BaseController; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.excel.utils.ExcelUtil; +import org.dromara.xg.domain.vo.XgStudentStatusChangeVo; +import org.dromara.xg.domain.bo.XgStudentStatusChangeBo; +import org.dromara.xg.service.IXgStudentStatusChangeService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 学生学籍异动 + * + * @author zlwu + * @date 2025-07-23 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/studentMsg/studentStatusChange") +public class XgStudentStatusChangeController extends BaseController { + + private final IXgStudentStatusChangeService xgStudentStatusChangeService; + + /** + * 查询学生学籍异动列表 + */ + // @SaCheckPermission("studentMsg:studentStatusChange:list") + @GetMapping("/list") + public TableDataInfo list(XgStudentStatusChangeBo bo, PageQuery pageQuery) { + return xgStudentStatusChangeService.queryPageList(bo, pageQuery); + } + + /** + * 导出学生学籍异动列表 + */ + // @SaCheckPermission("studentMsg:studentStatusChange:export") + @Log(title = "学生学籍异动", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(XgStudentStatusChangeBo bo, HttpServletResponse response) { + List list = xgStudentStatusChangeService.queryList(bo); + ExcelUtil.exportExcel(list, "学生学籍异动", XgStudentStatusChangeVo.class, response); + } + + /** + * 获取学生学籍异动详细信息 + * + * @param id 主键 + */ + // @SaCheckPermission("studentMsg:studentStatusChange:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") @PathVariable Long id) { + return R.ok(xgStudentStatusChangeService.queryById(id)); + } + + /** + * 新增学生学籍异动 + */ + // @SaCheckPermission("studentMsg:studentStatusChange:add") + @Log(title = "学生学籍异动", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody XgStudentStatusChangeBo bo) { + return toAjax(xgStudentStatusChangeService.insertByBo(bo)); + } + + /** + * 批量新增学生学籍异动(用于前端提交多个学生的异动) + */ + // @SaCheckPermission("studentMsg:studentStatusChange:add") + @Log(title = "学生学籍异动", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping("/batch") + public R addBatch(@Validated(AddGroup.class) @RequestBody List boList) { + boolean result = true; + for (XgStudentStatusChangeBo bo : boList) { + result &= xgStudentStatusChangeService.insertByBo(bo); + } + return toAjax(result); + } + + /** + * 修改学生学籍异动 + */ + // @SaCheckPermission("studentMsg:studentStatusChange:edit") + @Log(title = "学生学籍异动", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody XgStudentStatusChangeBo bo) { + return toAjax(xgStudentStatusChangeService.updateByBo(bo)); + } + + /** + * 删除学生学籍异动 + * + * @param ids 主键串 + */ + // @SaCheckPermission("studentMsg:studentStatusChange:remove") + @Log(title = "学生学籍异动", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") @PathVariable Long[] ids) { + return toAjax(xgStudentStatusChangeService.deleteWithValidByIds(List.of(ids), true)); + } + +} diff --git a/backend/ruoyi-modules/ruoyi-xg/src/main/java/org/dromara/xg/domain/XgStudentStatusChange.java b/backend/ruoyi-modules/ruoyi-xg/src/main/java/org/dromara/xg/domain/XgStudentStatusChange.java new file mode 100644 index 00000000..63057e46 --- /dev/null +++ b/backend/ruoyi-modules/ruoyi-xg/src/main/java/org/dromara/xg/domain/XgStudentStatusChange.java @@ -0,0 +1,86 @@ +package org.dromara.xg.domain; + +import org.dromara.common.tenant.core.TenantEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; +import java.io.Serial; + +/** + * 学生学籍异动对象 xg_student_status_change + * + * @author zlwu + * @date 2025-07-23 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("xg_student_status_change") +public class XgStudentStatusChange extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键,雪花ID + */ + @TableId(value = "id") + private Long id; + + /** + * 删除标志(0代表存在 1代表删除) + */ + @TableLogic(value = "0", delval = "1") + private Long deleted; + + /** + * 学生ID,关联学生主表 + */ + private Long studentId; + + /** + * 学号 + */ + private String studentNo; + + /** + * 异动类型: TUI_XUE(退学), XIU_XUE(休学), FU_XUE(复学), BI_YE(毕业) + */ + private String changeType; + + /** + * 申请/登记日期 + */ + private Date applyDate; + + /** + * 生效日期(业务生效时间) + */ + private Date effectiveDate; + + /** + * 异动原因 + */ + private String reason; + + /** + * 经办人ID(登记人) + */ + private Long operatorId; + + /** + * 经办人姓名 + */ + private String operatorName; + + /** + * 来源: manual/import/workflow + */ + private String source; + + /** + * 处理状态:0=未处理,1=已处理 + */ + private Integer processStatus; + +} diff --git a/backend/ruoyi-modules/ruoyi-xg/src/main/java/org/dromara/xg/domain/bo/XgStudentStatusChangeBo.java b/backend/ruoyi-modules/ruoyi-xg/src/main/java/org/dromara/xg/domain/bo/XgStudentStatusChangeBo.java new file mode 100644 index 00000000..f08bdc07 --- /dev/null +++ b/backend/ruoyi-modules/ruoyi-xg/src/main/java/org/dromara/xg/domain/bo/XgStudentStatusChangeBo.java @@ -0,0 +1,96 @@ +package org.dromara.xg.domain.bo; + +import org.dromara.xg.domain.XgStudentStatusChange; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; + +/** + * 学生学籍异动业务对象 xg_student_status_change + * + * @author zlwu + * @date 2025-07-23 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = XgStudentStatusChange.class, reverseConvertGenerate = false) +public class XgStudentStatusChangeBo extends BaseEntity { + + /** + * 主键,雪花ID + */ + @NotNull(message = "主键,雪花ID不能为空", groups = { EditGroup.class }) + private Long id; + + /** + * 学生ID,关联学生主表 + */ + @NotNull(message = "学生ID,关联学生主表不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long studentId; + + /** + * 学号 + */ + private String studentNo; + + /** + * 异动类型: TUI_XUE(退学), XIU_XUE(休学), FU_XUE(复学), BI_YE(毕业) + */ + @NotBlank(message = "异动类型: TUI_XUE(退学), XIU_XUE(休学), FU_XUE(复学), BI_YE(毕业)不能为空", groups = { AddGroup.class, EditGroup.class }) + private String changeType; + + /** + * 申请/登记日期 + */ + @NotNull(message = "申请/登记日期不能为空", groups = { AddGroup.class, EditGroup.class }) + private Date applyDate; + + /** + * 生效日期(业务生效时间) + */ + @NotNull(message = "生效日期(业务生效时间)不能为空", groups = { AddGroup.class, EditGroup.class }) + private Date effectiveDate; + + /** + * 异动原因 + */ + @NotBlank(message = "异动原因不能为空", groups = { AddGroup.class, EditGroup.class }) + private String reason; + + /** + * 经办人ID(登记人) + */ + private Long operatorId; + + /** + * 经办人姓名 + */ + private String operatorName; + + /** + * 来源: manual/import/workflow + */ + private String source; + + /** + * 处理状态:0=未处理,1=已处理 + */ + private Integer processStatus; + + /** + * 创建部门 + */ + private Long createDept; + + /** + * 备注信息 + */ + private String remark; + +} diff --git a/backend/ruoyi-modules/ruoyi-xg/src/main/java/org/dromara/xg/domain/vo/XgStudentStatusChangeVo.java b/backend/ruoyi-modules/ruoyi-xg/src/main/java/org/dromara/xg/domain/vo/XgStudentStatusChangeVo.java new file mode 100644 index 00000000..8b5524e6 --- /dev/null +++ b/backend/ruoyi-modules/ruoyi-xg/src/main/java/org/dromara/xg/domain/vo/XgStudentStatusChangeVo.java @@ -0,0 +1,151 @@ +package org.dromara.xg.domain.vo; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.dromara.xg.domain.XgStudentStatusChange; +import cn.idev.excel.annotation.ExcelIgnoreUnannotated; +import cn.idev.excel.annotation.ExcelProperty; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; + +/** + * 学生学籍异动视图对象 xg_student_status_change + * + * @author zlwu + * @date 2025-07-23 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = XgStudentStatusChange.class) +public class XgStudentStatusChangeVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键,雪花ID + */ + @ExcelProperty(value = "主键,雪花ID", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "雪=花ID") + private Long id; + + /** + * 学生ID,关联学生主表 + */ + @ExcelProperty(value = "学生ID,关联学生主表") + private Long studentId; + + /** + * 学号 + */ + @ExcelProperty(value = "学号") + private String studentNo; + + /** + * 学生姓名 + */ + @ExcelProperty(value = "学生姓名") + private String studentName; + + /** + * 班级名称 + */ + @ExcelProperty(value = "班级名称") + private String className; + + /** + * 专业名称 + */ + @ExcelProperty(value = "专业名称") + private String majorName; + + /** + * 学院名称 + */ + @ExcelProperty(value = "学院名称") + private String collegeName; + + /** + * 异动类型: TUI_XUE(退学), XIU_XUE(休学), FU_XUE(复学), BI_YE(毕业) + */ + @ExcelProperty(value = "异动类型") + private String changeType; + + /** + * 申请/登记日期 + */ + @ExcelProperty(value = "申请/登记日期") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date applyDate; + + /** + * 生效日期(业务生效时间) + */ + @ExcelProperty(value = "生效日期") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date effectiveDate; + + /** + * 异动原因 + */ + @ExcelProperty(value = "异动原因") + private String reason; + + /** + * 经办人ID(登记人) + */ + @ExcelProperty(value = "经办人ID") + private Long operatorId; + + /** + * 经办人姓名 + */ + @ExcelProperty(value = "经办人姓名") + private String operatorName; + + /** + * 来源: manual/import/workflow + */ + @ExcelProperty(value = "来源") + private String source; + + /** + * 处理状态:0=未处理,1=已处理 + */ + @ExcelProperty(value = "处理状态") + private Integer processStatus; + + + /** + * 创建部门 + */ + private Long createDept; + + /** + * 创建者 + */ + private Long createBy; + + /** + * 创建时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createTime; + + /** + * 更新者 + */ + private Long updateBy; + + /** + * 更新时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date updateTime; + +} diff --git a/backend/ruoyi-modules/ruoyi-xg/src/main/java/org/dromara/xg/mapper/XgStudentStatusChangeMapper.java b/backend/ruoyi-modules/ruoyi-xg/src/main/java/org/dromara/xg/mapper/XgStudentStatusChangeMapper.java new file mode 100644 index 00000000..a600d768 --- /dev/null +++ b/backend/ruoyi-modules/ruoyi-xg/src/main/java/org/dromara/xg/mapper/XgStudentStatusChangeMapper.java @@ -0,0 +1,35 @@ +package org.dromara.xg.mapper; + +import org.dromara.xg.domain.XgStudentStatusChange; +import org.dromara.xg.domain.vo.XgStudentStatusChangeVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +import java.util.List; + +/** + * 学生学籍异动Mapper接口 + * + * @author zlwu + * @date 2025-07-23 + */ +public interface XgStudentStatusChangeMapper extends BaseMapperPlus { + + /** + * 分页查询学生学籍异动列表(包含学生信息) + */ + Page selectVoPageWithStudentInfo(IPage page, LambdaQueryWrapper lqw); + + /** + * 查询学生学籍异动列表(包含学生信息) + */ + List selectVoListWithStudentInfo(LambdaQueryWrapper lqw); + + /** + * 根据ID查询学生学籍异动(包含学生信息) + */ + XgStudentStatusChangeVo selectVoByIdWithStudentInfo(Long id); + +} diff --git a/backend/ruoyi-modules/ruoyi-xg/src/main/java/org/dromara/xg/service/IXgStudentStatusChangeService.java b/backend/ruoyi-modules/ruoyi-xg/src/main/java/org/dromara/xg/service/IXgStudentStatusChangeService.java new file mode 100644 index 00000000..2c49df2f --- /dev/null +++ b/backend/ruoyi-modules/ruoyi-xg/src/main/java/org/dromara/xg/service/IXgStudentStatusChangeService.java @@ -0,0 +1,69 @@ +package org.dromara.xg.service; + +import org.dromara.xg.domain.vo.XgStudentStatusChangeVo; +import org.dromara.xg.domain.bo.XgStudentStatusChangeBo; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 学生学籍异动Service接口 + * + * @author zlwu + * @date 2025-07-23 + */ +public interface IXgStudentStatusChangeService { + + /** + * 查询学生学籍异动 + * + * @param id 主键 + * @return 学生学籍异动 + */ + XgStudentStatusChangeVo queryById(Long id); + + /** + * 分页查询学生学籍异动列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 学生学籍异动分页列表 + */ + TableDataInfo queryPageList(XgStudentStatusChangeBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的学生学籍异动列表 + * + * @param bo 查询条件 + * @return 学生学籍异动列表 + */ + List queryList(XgStudentStatusChangeBo bo); + + /** + * 新增学生学籍异动 + * + * @param bo 学生学籍异动 + * @return 是否新增成功 + */ + Boolean insertByBo(XgStudentStatusChangeBo bo); + + /** + * 修改学生学籍异动 + * + * @param bo 学生学籍异动 + * @return 是否修改成功 + */ + Boolean updateByBo(XgStudentStatusChangeBo bo); + + /** + * 校验并批量删除学生学籍异动信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + +} diff --git a/backend/ruoyi-modules/ruoyi-xg/src/main/java/org/dromara/xg/service/impl/XgStudentStatusChangeServiceImpl.java b/backend/ruoyi-modules/ruoyi-xg/src/main/java/org/dromara/xg/service/impl/XgStudentStatusChangeServiceImpl.java new file mode 100644 index 00000000..94554cf7 --- /dev/null +++ b/backend/ruoyi-modules/ruoyi-xg/src/main/java/org/dromara/xg/service/impl/XgStudentStatusChangeServiceImpl.java @@ -0,0 +1,146 @@ +package org.dromara.xg.service.impl; + +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.dromara.xg.domain.bo.XgStudentStatusChangeBo; +import org.dromara.xg.domain.vo.XgStudentStatusChangeVo; +import org.dromara.xg.domain.XgStudentStatusChange; +import org.dromara.xg.mapper.XgStudentStatusChangeMapper; +import org.dromara.xg.service.IXgStudentStatusChangeService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 学生学籍异动Service业务层处理 + * + * @author zlwu + * @date 2025-07-23 + */ +@Slf4j +@RequiredArgsConstructor +@Service +public class XgStudentStatusChangeServiceImpl implements IXgStudentStatusChangeService { + + private final XgStudentStatusChangeMapper baseMapper; + + /** + * 查询学生学籍异动 + * + * @param id 主键 + * @return 学生学籍异动 + */ + @Override + public XgStudentStatusChangeVo queryById(Long id) { + return baseMapper.selectVoByIdWithStudentInfo(id); + } + + /** + * 分页查询学生学籍异动列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 学生学籍异动分页列表 + */ + @Override + public TableDataInfo queryPageList(XgStudentStatusChangeBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page page = pageQuery.build(); + Page result = baseMapper.selectVoPageWithStudentInfo(page, lqw); + return TableDataInfo.build(result); + } + + /** + * 查询符合条件的学生学籍异动列表 + * + * @param bo 查询条件 + * @return 学生学籍异动列表 + */ + @Override + public List queryList(XgStudentStatusChangeBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoListWithStudentInfo(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(XgStudentStatusChangeBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getId() != null, XgStudentStatusChange::getId, bo.getId()); + lqw.eq(bo.getStudentId() != null, XgStudentStatusChange::getStudentId, bo.getStudentId()); + lqw.like(StringUtils.isNotBlank(bo.getStudentNo()), XgStudentStatusChange::getStudentNo, bo.getStudentNo()); + lqw.eq(StringUtils.isNotBlank(bo.getChangeType()), XgStudentStatusChange::getChangeType, bo.getChangeType()); + lqw.eq(bo.getEffectiveDate() != null, XgStudentStatusChange::getEffectiveDate, bo.getEffectiveDate()); + lqw.like(StringUtils.isNotBlank(bo.getReason()), XgStudentStatusChange::getReason, bo.getReason()); + lqw.eq(bo.getOperatorId() != null, XgStudentStatusChange::getOperatorId, bo.getOperatorId()); + lqw.like(StringUtils.isNotBlank(bo.getOperatorName()), XgStudentStatusChange::getOperatorName, bo.getOperatorName()); + lqw.eq(StringUtils.isNotBlank(bo.getSource()), XgStudentStatusChange::getSource, bo.getSource()); + lqw.eq(bo.getProcessStatus() != null, XgStudentStatusChange::getProcessStatus, bo.getProcessStatus()); + return lqw; + } + + /** + * 新增学生学籍异动 + * + * @param bo 学生学籍异动 + * @return 是否新增成功 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean insertByBo(XgStudentStatusChangeBo bo) { + XgStudentStatusChange add = MapstructUtils.convert(bo, XgStudentStatusChange.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改学生学籍异动 + * + * @param bo 学生学籍异动 + * @return 是否修改成功 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean updateByBo(XgStudentStatusChangeBo bo) { + XgStudentStatusChange update = MapstructUtils.convert(bo, XgStudentStatusChange.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(XgStudentStatusChange entity) { + // TODO 做一些数据校验,如唯一约束 + } + + /** + * 校验并批量删除学生学籍异动信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if (isValid) { + // TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteByIds(ids) > 0; + } + +} diff --git a/backend/ruoyi-modules/ruoyi-xg/src/main/resources/mapper/studentStatusChange/XgStudentStatusChangeMapper.xml b/backend/ruoyi-modules/ruoyi-xg/src/main/resources/mapper/studentStatusChange/XgStudentStatusChangeMapper.xml new file mode 100644 index 00000000..bafa1d4f --- /dev/null +++ b/backend/ruoyi-modules/ruoyi-xg/src/main/resources/mapper/studentStatusChange/XgStudentStatusChangeMapper.xml @@ -0,0 +1,83 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select c.id, c.student_id, c.student_no, + s.name as student_name, s.class_name as class_name, s.major_name as major_name, s.college_name as college_name, + c.change_type, c.apply_date, c.effective_date, + c.reason, c.operator_id, c.operator_name, c.source, c.process_status, + c.create_dept, c.create_by, c.create_time, c.update_by, c.update_time + from xg_student_status_change c + left join xg_student_msg s on c.student_id = s.id and s.deleted = 0 + where c.deleted = 0 + + + + + + + + + + + + + + + + diff --git a/web/src/api/xg/xsjcxx/studentStatusChange/types.ts b/web/src/api/xg/xsjcxx/studentStatusChange/types.ts new file mode 100644 index 00000000..c3bcee22 --- /dev/null +++ b/web/src/api/xg/xsjcxx/studentStatusChange/types.ts @@ -0,0 +1,85 @@ +/** 学生学籍异动查询参数 */ +export interface XgStudentStatusChangeQuery { + /** 学号 */ + studentNo?: string; + /** 异动类型 */ + changeType?: string; + /** 处理状态 */ + processStatus?: number | null; + /** 经办人姓名 */ + operatorName?: string; + /** 分页大小 */ + pageSize: number; + /** 当前页码 */ + pageNum: number; + /** 其他参数 */ + params: Record; +} + +/** 学生学籍异动视图对象 */ +export interface XgStudentStatusChangeVo { + /** 主键,雪花ID */ + id: string | number; + /** 学生ID,关联学生主表 */ + studentId?: string | number; + /** 学号 */ + studentNo?: string; + /** 学生姓名 */ + studentName?: string; + /** 班级名称 */ + className?: string; + /** 专业名称 */ + majorName?: string; + /** 学院名称 */ + collegeName?: string; + /** 异动类型: TUI_XUE(退学), XIU_XUE(休学), FU_XUE(复学), BI_YE(毕业) */ + changeType?: string; + /** 申请/登记日期 */ + applyDate?: string; + /** 生效日期(业务生效时间) */ + effectiveDate?: string; + /** 异动原因 */ + reason?: string; + /** 经办人ID(登记人) */ + operatorId?: string | number; + /** 经办人姓名 */ + operatorName?: string; + /** 来源: manual/import/workflow */ + source?: string; + /** 处理状态:0=未处理,1=已处理 */ + processStatus?: number; + /** 创建者 */ + createBy?: string | number; + /** 创建时间 */ + createTime?: string; + /** 更新者 */ + updateBy?: string | number; + /** 更新时间 */ + updateTime?: string; +} + +/** 学生学籍异动业务对象 */ +export interface XgStudentStatusChangeBo { + /** 主键,雪花ID */ + id?: string | number; + /** 学生ID,关联学生主表 */ + studentId?: string | number; + /** 学号 */ + studentNo?: string; + /** 异动类型: TUI_XUE(退学), XIU_XUE(休学), FU_XUE(复学), BI_YE(毕业) */ + changeType?: string; + /** 申请/登记日期 */ + applyDate?: string; + /** 生效日期(业务生效时间) */ + effectiveDate?: string; + /** 异动原因 */ + reason?: string; + /** 经办人ID(登记人) */ + operatorId?: string | number; + /** 经办人姓名 */ + operatorName?: string; + /** 来源: manual/import/workflow */ + source?: string; + /** 处理状态:0=未处理,1=已处理 */ + processStatus?: number; +} diff --git a/web/src/views/xg/xsjcxx/studentMsg/studentMsg/index.vue b/web/src/views/xg/xsjcxx/studentMsg/studentMsg/index.vue index ed4947a0..f61040f9 100644 --- a/web/src/views/xg/xsjcxx/studentMsg/studentMsg/index.vue +++ b/web/src/views/xg/xsjcxx/studentMsg/studentMsg/index.vue @@ -115,6 +115,18 @@ + + 退学 + + + 休学 + + + 复学 + + + 毕业 + @@ -1508,6 +1520,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ {{ student.studentNo }} - {{ student.name }} +
+
+
+
+
+
+ +
@@ -1527,11 +1602,13 @@ import { globalHeaders } from '@/utils/request'; // import type { FormInstance, TreeInstance } from 'element-plus'; import { Plus, ArrowDown, InfoFilled, Loading } from '@element-plus/icons-vue'; import service from '@/utils/request'; +import { useUserStore } from '@/store/modules/user'; interface ComponentInternalInstance { proxy?: any; } const router = useRouter(); const { proxy } = getCurrentInstance() as ComponentInternalInstance; +const userStore = useUserStore(); const { wenhuachengdu, xg_political_status, @@ -1551,7 +1628,8 @@ const { xg_training_mode, admission_category, student_status, - xg_class_status + xg_class_status, + xg_stu_status } = toRefs( proxy?.useDict( 'wenhuachengdu', @@ -1572,7 +1650,8 @@ const { 'xg_training_mode', 'admission_category', 'student_status', - 'xg_class_status' + 'xg_class_status', + 'xg_stu_status' ) ); @@ -1696,6 +1775,7 @@ const columns = ref([ const deptTreeRef = ref(); const queryFormRef = ref(); const studentFormRef = ref(); +const statusChangeFormRef = ref(); const uploadRef = ref(); const initPassword = ref('Hzdyjs123456!@#'); @@ -1704,6 +1784,21 @@ const dialog = reactive({ title: '' }); +// 学籍异动弹窗 +const statusChangeDialog = reactive({ + visible: false +}); + +// 学籍异动表单 +const statusChangeForm = reactive({ + changeType: '', + effectiveDate: '', + reason: '', + operatorId: '', + operatorName: '', + selectedStudents: [] as StudentVO[] +}); + const detailDialog = reactive({ visible: false, title: '学生详情' @@ -1854,6 +1949,15 @@ const rules = reactive({ gender: [{ required: true, message: '性别不能为空', trigger: 'blur' }] }); +// 学籍异动表单验证规则 +const statusChangeRules = reactive({ + changeType: [{ required: true, message: '异动类型不能为空', trigger: 'change' }], + effectiveDate: [{ required: true, message: '生效日期不能为空', trigger: 'blur' }], + reason: [{ required: true, message: '异动原因不能为空', trigger: 'blur' }] +}); + +// 异动类型选项通过字典表获取:xg_stu_status + const queryParams = reactive({ pageNum: 1, pageSize: 10, @@ -2811,6 +2915,81 @@ const handleSelectionChange = (selection: StudentVO[]) => { multiple.value = !selection.length; }; +/** 打开学籍异动弹窗 */ +const openStatusChangeModal = (changeType?: string) => { + if (ids.value.length === 0) { + ElMessage.warning('请先选择要进行学籍异动的学生'); + return; + } + + // 获取选中的学生信息 + const selectedStudents = studentList.value.filter((student) => ids.value.includes(student.id)); + + // 设置表单数据 + statusChangeForm.changeType = changeType || ''; + statusChangeForm.effectiveDate = proxy?.parseTime(new Date(), '{y}-{m}-{d}'); + statusChangeForm.reason = ''; + statusChangeForm.operatorId = userStore.userId || ''; + statusChangeForm.operatorName = userStore.nickname || ''; + statusChangeForm.selectedStudents = selectedStudents; + + statusChangeDialog.visible = true; +}; + +/** 获取学籍异动弹窗标题 */ +const getStatusChangeDialogTitle = () => { + const typeMap = { + 'TUI_XUE': '退学', + 'XIU_XUE': '休学', + 'FU_XUE': '复学', + 'BI_YE': '毕业' + }; + const typeLabel = typeMap[statusChangeForm.changeType as keyof typeof typeMap] || '学籍异动'; + return `${typeLabel}申请`; +}; + +/** 限制日期选择(不能选择过去的日期) */ +const disabledDate = (time: Date) => { + return time.getTime() < Date.now() - 24 * 60 * 60 * 1000; // 不能选择昨天及以前的日期 +}; + +/** 提交学籍异动 */ +const submitStatusChange = async () => { + const formRef = statusChangeFormRef.value; + if (!formRef) return; + + await formRef.validate(async (valid: boolean) => { + if (valid) { + try { + const submitData = statusChangeForm.selectedStudents.map((student) => ({ + studentId: student.id, + studentNo: student.studentNo, + changeType: statusChangeForm.changeType, + applyDate: proxy?.parseTime(new Date(), '{y}-{m}-{d} {h}:{i}:{s}'), + effectiveDate: statusChangeForm.effectiveDate, + reason: statusChangeForm.reason, + operatorId: statusChangeForm.operatorId, + operatorName: statusChangeForm.operatorName, + source: 'manual', + processStatus: 0 + })); + + const res = await service.post('/studentMsg/studentStatusChange/batch', submitData); + if (res && res.code === 200) { + ElMessage.success('学籍异动申请提交成功'); + statusChangeDialog.visible = false; + await getList(); // 刷新列表 + } else { + ElMessage.error(res?.msg || '提交失败'); + } + } catch (error) { + console.error('提交学籍异动失败:', error); + ElMessage.error('提交失败,请重试'); + } + } + }); +}; + /** 导入按钮操作 */ const handleImport = () => { if (!showAddButton.value) { @@ -3580,4 +3759,25 @@ onMounted(() => { :deep(.batch-cancel-bed-dialog .el-message-box__message strong) { font-weight: 600; } + +/* 选中学生列表样式 */ +.selected-students-container { + max-height: 200px; + overflow-y: auto; + border: 1px solid #e4e7ed; + border-radius: 4px; + padding: 12px; + background-color: #fafafa; +} + +.student-item { + margin-bottom: 8px; + display: inline-block; + margin-right: 12px; +} + +.student-item:last-child { + margin-bottom: 0; + margin-right: 0; +} diff --git a/web/src/views/xg/xsjcxx/studentStatusChange/index.vue b/web/src/views/xg/xsjcxx/studentStatusChange/index.vue new file mode 100644 index 00000000..5808bc04 --- /dev/null +++ b/web/src/views/xg/xsjcxx/studentStatusChange/index.vue @@ -0,0 +1,359 @@ + + + + + diff --git a/退学、休学、复学、毕业/hzdyjs_xg.sql b/退学、休学、复学、毕业/hzdyjs_xg.sql new file mode 100644 index 00000000..368019aa --- /dev/null +++ b/退学、休学、复学、毕业/hzdyjs_xg.sql @@ -0,0 +1,8874 @@ +/* + Navicat Premium Dump SQL + + Source Server : 47.99.164.66 hn02le.34lkdLKD + Source Server Type : MySQL + Source Server Version : 50736 (5.7.36) + Source Host : 47.99.164.66:3306 + Source Schema : hzdyjs_xg + + Target Server Type : MySQL + Target Server Version : 50736 (5.7.36) + File Encoding : 65001 + + Date: 24/12/2025 08:50:32 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for bmzr_assessment_indicator +-- ---------------------------- +DROP TABLE IF EXISTS `bmzr_assessment_indicator`; +CREATE TABLE `bmzr_assessment_indicator` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `indicator_name` varchar(100) NOT NULL COMMENT '指标名称', + `indicator_code` varchar(50) NOT NULL COMMENT '指标编码', + `indicator_type` varchar(20) NOT NULL COMMENT '指标类型', + `parent_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '父级指标ID', + `sort_order` int(4) NOT NULL DEFAULT '1' COMMENT '排序', + `weight_ratio` decimal(5,4) NOT NULL DEFAULT '0.0000' COMMENT '权重比例(0-1之间)', + `max_score` decimal(5,2) NOT NULL DEFAULT '100.00' COMMENT '最高分值', + `score` decimal(5,2) NOT NULL DEFAULT '0.00' COMMENT '分值', + `allow_self_evaluation` char(1) NOT NULL DEFAULT '1' COMMENT '允许自评(0=否 1=是)', + `allow_superior_evaluation` char(1) NOT NULL DEFAULT '1' COMMENT '允许上级评(0=否 1=是)', + `status` char(1) NOT NULL DEFAULT '0' COMMENT '状态(0正常 1停用)', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` int(1) NOT NULL DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_tenant_indicator_code` (`tenant_id`,`indicator_code`), + KEY `idx_parent_id` (`parent_id`), + KEY `idx_indicator_type` (`indicator_type`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='班主任考核指标体系表'; + +-- ---------------------------- +-- Table structure for bmzr_assessment_indicator_discipline_reward +-- ---------------------------- +DROP TABLE IF EXISTS `bmzr_assessment_indicator_discipline_reward`; +CREATE TABLE `bmzr_assessment_indicator_discipline_reward` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `indicator_id` bigint(20) NOT NULL COMMENT '考核指标ID', + `discipline_type_ids` varchar(500) NOT NULL COMMENT '违纪处分类型ID,逗号分隔', + `reward_type_ids` varchar(500) NOT NULL COMMENT '奖励类型ID,逗号分隔', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` int(1) NOT NULL DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + PRIMARY KEY (`id`), + KEY `idx_indicator_id` (`indicator_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='班主任考核指标与违纪处分奖励关联关系表'; + +-- ---------------------------- +-- Table structure for bmzr_assessment_indicator_type +-- ---------------------------- +DROP TABLE IF EXISTS `bmzr_assessment_indicator_type`; +CREATE TABLE `bmzr_assessment_indicator_type` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `indicator_type_name` varchar(100) NOT NULL COMMENT '指标类型名称', + `indicator_type_code` varchar(50) NOT NULL COMMENT '指标类型编码', + `status` char(1) NOT NULL DEFAULT '0' COMMENT '状态(0正常 1停用)', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` int(1) NOT NULL DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_tenant_indicator_type_code` (`tenant_id`,`indicator_type_code`), + KEY `idx_create_time` (`create_time`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='班主任考核指标类型表'; + +-- ---------------------------- +-- Table structure for bmzr_assessment_plan +-- ---------------------------- +DROP TABLE IF EXISTS `bmzr_assessment_plan`; +CREATE TABLE `bmzr_assessment_plan` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `plan_name` varchar(100) NOT NULL COMMENT '计划名称', + `plan_code` varchar(50) NOT NULL COMMENT '计划编码', + `scheme_id` bigint(20) NOT NULL COMMENT '考核方案ID', + `academic_year` varchar(10) NOT NULL COMMENT '学年', + `semester` char(1) NOT NULL COMMENT '学期(1=上学期 2=下学期)', + `plan_start_time` datetime NOT NULL COMMENT '计划开始时间', + `plan_end_time` datetime NOT NULL COMMENT '计划结束时间', + `data_extract_start_time` datetime DEFAULT NULL COMMENT '数据提取开始时间', + `data_extract_end_time` datetime DEFAULT NULL COMMENT '数据提取结束时间', + `plan_status` char(1) NOT NULL DEFAULT '1' COMMENT '计划状态(0=禁用 1=启用 )', + `description` text COMMENT '计划描述', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` int(1) NOT NULL DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_tenant_plan_code` (`tenant_id`,`plan_code`), + KEY `idx_scheme_id` (`scheme_id`), + KEY `idx_academic_year_semester` (`academic_year`,`semester`), + KEY `idx_plan_status` (`plan_status`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='班主任考核计划表'; + +-- ---------------------------- +-- Table structure for bmzr_assessment_scheme +-- ---------------------------- +DROP TABLE IF EXISTS `bmzr_assessment_scheme`; +CREATE TABLE `bmzr_assessment_scheme` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `scheme_name` varchar(100) NOT NULL COMMENT '方案名称', + `scheme_code` varchar(50) NOT NULL COMMENT '方案编码', + `academic_year` varchar(10) NOT NULL COMMENT '学年', + `semester` char(1) NOT NULL COMMENT '学期(1=上学期 2=下学期)', + `scheme_description` text COMMENT '方案描述', + `self_evaluation_required` char(1) NOT NULL DEFAULT '1' COMMENT '是否需要自评(0=否 1=是)', + `superior_evaluation_required` char(1) NOT NULL DEFAULT '1' COMMENT '是否需要上级评(0=否 1=是)', + `status` char(1) NOT NULL DEFAULT '0' COMMENT '状态(0正常 1停用)', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` int(1) NOT NULL DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_tenant_scheme_code` (`tenant_id`,`scheme_code`), + KEY `idx_academic_year_semester` (`academic_year`,`semester`), + KEY `idx_create_time` (`create_time`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='班主任考核方案表'; + +-- ---------------------------- +-- Table structure for bmzr_assessment_scheme_indicator +-- ---------------------------- +DROP TABLE IF EXISTS `bmzr_assessment_scheme_indicator`; +CREATE TABLE `bmzr_assessment_scheme_indicator` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `scheme_id` bigint(20) NOT NULL COMMENT '考核方案ID', + `indicator_id` bigint(20) NOT NULL COMMENT '考核指标ID', + `weight_ratio` decimal(5,4) NOT NULL DEFAULT '0.0000' COMMENT '在方案中的权重比例', + `custom_max_score` decimal(5,2) DEFAULT NULL COMMENT '自定义最高分值', + `sort_order` int(4) NOT NULL DEFAULT '1' COMMENT '排序', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` int(1) NOT NULL DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + PRIMARY KEY (`id`), + KEY `idx_scheme_id` (`scheme_id`), + KEY `idx_indicator_id` (`indicator_id`), + KEY `uk_scheme_indicator` (`scheme_id`,`indicator_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='班主任考核方案指标关联表'; + +-- ---------------------------- +-- Table structure for bmzr_assessment_score +-- ---------------------------- +DROP TABLE IF EXISTS `bmzr_assessment_score`; +CREATE TABLE `bmzr_assessment_score` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `plan_id` bigint(20) NOT NULL COMMENT '考核计划ID', + `scheme_id` bigint(20) NOT NULL COMMENT '考核方案ID', + `indicator_id` bigint(20) NOT NULL COMMENT '考核指标ID', + `evaluated_user_id` bigint(20) NOT NULL COMMENT '被评价用户ID', + `evaluated_user_name` varchar(50) NOT NULL COMMENT '被评价用户姓名', + `evaluated_dept_id` bigint(20) DEFAULT NULL COMMENT '被评价用户部门ID', + `class_id` bigint(20) DEFAULT NULL COMMENT '班级ID', + `self_score` decimal(5,2) DEFAULT NULL COMMENT '自评分数', + `self_comment` text COMMENT '自评意见', + `self_overall_comment` text COMMENT '自我总体评价', + `self_submit_time` datetime DEFAULT NULL COMMENT '自评提交时间', + `superior_score` decimal(5,2) DEFAULT NULL COMMENT '上级评分数', + `superior_comment` text COMMENT '上级评意见', + `superior_overall_comment` text COMMENT '上级总体评价', + `superior_evaluator_id` bigint(20) DEFAULT NULL COMMENT '上级评价人ID', + `superior_submit_time` datetime DEFAULT NULL COMMENT '上级评提交时间', + `evaluation_level` varchar(20) DEFAULT NULL COMMENT '评价等级 dict_type = bmzr_evaluation_level', + `audit_status` char(1) NOT NULL DEFAULT '0' COMMENT '审核状态(0=待审核 1=审核通过 2=审核不通过)', + `final_score` decimal(5,2) DEFAULT NULL COMMENT '最终得分', + `submit_time` datetime DEFAULT NULL COMMENT '提交时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` int(1) NOT NULL DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + PRIMARY KEY (`id`), + KEY `uk_plan_indicator_user` (`plan_id`,`indicator_id`,`evaluated_user_id`), + KEY `idx_plan_id` (`plan_id`), + KEY `idx_scheme_id` (`scheme_id`), + KEY `idx_indicator_id` (`indicator_id`), + KEY `idx_evaluated_user_id` (`evaluated_user_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='班主任考核得分表'; + +-- ---------------------------- +-- Table structure for club_activity +-- ---------------------------- +DROP TABLE IF EXISTS `club_activity`; +CREATE TABLE `club_activity` ( + `activity_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '活动ID', + `club_id` bigint(20) NOT NULL COMMENT '社团ID', + `activity_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '活动名称', + `activity_theme` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '活动主题', + `activity_type` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '活动类型:学术讲座|技能培训|文体比赛|社会实践|志愿服务|联谊活动', + `activity_desc` text COLLATE utf8mb4_unicode_ci COMMENT '活动描述', + `start_time` datetime NOT NULL COMMENT '开始时间', + `end_time` datetime NOT NULL COMMENT '结束时间', + `registration_deadline` datetime DEFAULT NULL COMMENT '报名截止时间', + `activity_location` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '活动地点', + `participant_limit` int(11) DEFAULT '50' COMMENT '参与人数限制', + `target_scope` varchar(15) COLLATE utf8mb4_unicode_ci DEFAULT '仅社团成员' COMMENT '参与范围:仅社团成员|面向全校', + `need_checkin` tinyint(1) DEFAULT '0' COMMENT '是否需要签到:0=不需要,1=需要', + `activity_status` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT '草稿' COMMENT '活动状态:草稿|待审核|已发布|进行中|已结束|已取消', + `current_participants` int(11) DEFAULT '0' COMMENT '当前报名人数', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '逻辑删除标记:0=正常,1=删除', + `tenant_id` bigint(20) DEFAULT '1' COMMENT '租户ID', + PRIMARY KEY (`activity_id`), + KEY `idx_club_id` (`club_id`), + KEY `idx_activity_status` (`activity_status`), + KEY `idx_activity_type` (`activity_type`), + KEY `idx_start_time` (`start_time`), + KEY `idx_end_time` (`end_time`), + KEY `idx_registration_deadline` (`registration_deadline`), + KEY `idx_target_scope` (`target_scope`), + KEY `idx_create_by` (`create_by`), + KEY `idx_create_time` (`create_time`) +) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='社团活动表'; + +-- ---------------------------- +-- Table structure for club_activity_audit +-- ---------------------------- +DROP TABLE IF EXISTS `club_activity_audit`; +CREATE TABLE `club_activity_audit` ( + `audit_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '审核记录ID', + `activity_id` bigint(20) NOT NULL COMMENT '活动ID', + `auditor_id` bigint(20) NOT NULL COMMENT '审核人ID', + `audit_status` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '审核状态:通过|拒绝', + `audit_comment` text COLLATE utf8mb4_unicode_ci COMMENT '审核意见', + `audit_time` datetime DEFAULT NULL COMMENT '审核时间', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '逻辑删除标记:0=正常,1=删除', + `tenant_id` bigint(20) DEFAULT '1' COMMENT '租户ID', + PRIMARY KEY (`audit_id`), + KEY `idx_activity_id` (`activity_id`), + KEY `idx_auditor_id` (`auditor_id`), + KEY `idx_audit_status` (`audit_status`), + KEY `idx_audit_time` (`audit_time`) +) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='活动审核表'; + +-- ---------------------------- +-- Table structure for club_activity_participant +-- ---------------------------- +DROP TABLE IF EXISTS `club_activity_participant`; +CREATE TABLE `club_activity_participant` ( + `participant_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '参与记录ID', + `activity_id` bigint(20) NOT NULL COMMENT '活动ID', + `user_id` bigint(20) NOT NULL COMMENT '参与用户ID', + `registration_time` datetime DEFAULT NULL COMMENT '报名时间', + `participation_status` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT '已报名' COMMENT '参与状态:已报名|已参与|已取消', + `checkin_time` datetime DEFAULT NULL COMMENT '签到时间', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '逻辑删除标记:0=正常,1=删除', + `tenant_id` bigint(20) DEFAULT '1' COMMENT '租户ID', + PRIMARY KEY (`participant_id`), + UNIQUE KEY `uk_activity_user` (`activity_id`,`user_id`,`deleted`), + KEY `idx_user_id` (`user_id`), + KEY `idx_participation_status` (`participation_status`), + KEY `idx_registration_time` (`registration_time`), + KEY `idx_checkin_time` (`checkin_time`) +) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='活动参与表'; + +-- ---------------------------- +-- Table structure for club_info +-- ---------------------------- +DROP TABLE IF EXISTS `club_info`; +CREATE TABLE `club_info` ( + `club_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '社团ID', + `club_name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '社团名称', + `club_type` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '社团类型:学术科技|文化艺术|体育健身|志愿服务|创新创业', + `club_desc` text COLLATE utf8mb4_unicode_ci COMMENT '社团简介', + `target_scope` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT '全校' COMMENT '面向范围:全校|本学院', + `club_status` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT '待审核' COMMENT '社团状态:待审核|活跃中|已暂停|已注销', + `advisor_id` bigint(20) DEFAULT NULL COMMENT '指导老师ID', + `leader_id` bigint(20) DEFAULT NULL COMMENT '社团负责人ID', + `college_id` bigint(20) DEFAULT NULL COMMENT '所属学院ID', + `member_limit` int(11) DEFAULT '100' COMMENT '成员数量限制', + `current_members` int(11) DEFAULT '0' COMMENT '当前成员数', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '逻辑删除标记:0=正常,1=删除', + `tenant_id` bigint(20) DEFAULT '1' COMMENT '租户ID', + PRIMARY KEY (`club_id`), + UNIQUE KEY `uk_club_name` (`club_name`,`deleted`), + KEY `idx_advisor_id` (`advisor_id`), + KEY `idx_leader_id` (`leader_id`), + KEY `idx_college_id` (`college_id`), + KEY `idx_club_status` (`club_status`), + KEY `idx_club_type` (`club_type`), + KEY `idx_create_time` (`create_time`), + KEY `idx_target_scope` (`target_scope`) +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='社团信息表'; + +-- ---------------------------- +-- Table structure for club_member +-- ---------------------------- +DROP TABLE IF EXISTS `club_member`; +CREATE TABLE `club_member` ( + `member_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '成员关系ID', + `club_id` bigint(20) NOT NULL COMMENT '社团ID', + `user_id` bigint(20) NOT NULL COMMENT '用户ID', + `member_type` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT '普通成员' COMMENT '成员类型:普通成员|干部成员|负责人', + `join_reason` text COLLATE utf8mb4_unicode_ci COMMENT '加入理由', + `member_status` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT '申请中' COMMENT '成员状态:申请中|已加入|已退出', + `join_time` datetime DEFAULT NULL COMMENT '加入时间', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '逻辑删除标记:0=正常,1=删除', + `tenant_id` bigint(20) DEFAULT '1' COMMENT '租户ID', + PRIMARY KEY (`member_id`), + UNIQUE KEY `uk_club_user` (`club_id`,`user_id`,`deleted`), + KEY `idx_user_id` (`user_id`), + KEY `idx_member_status` (`member_status`), + KEY `idx_member_type` (`member_type`), + KEY `idx_join_time` (`join_time`), + KEY `idx_create_time` (`create_time`) +) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='社团成员表'; + +-- ---------------------------- +-- Table structure for club_permission +-- ---------------------------- +DROP TABLE IF EXISTS `club_permission`; +CREATE TABLE `club_permission` ( + `permission_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '权限ID', + `club_id` bigint(20) NOT NULL COMMENT '社团ID', + `user_id` bigint(20) NOT NULL COMMENT '用户ID', + `permission_type` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '权限类型:member_audit|activity_publish|info_edit|finance_manage', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '逻辑删除标记:0=正常,1=删除', + `tenant_id` bigint(20) DEFAULT '1' COMMENT '租户ID', + PRIMARY KEY (`permission_id`), + UNIQUE KEY `uk_club_user_permission` (`club_id`,`user_id`,`permission_type`,`deleted`), + KEY `idx_user_id` (`user_id`), + KEY `idx_permission_type` (`permission_type`) +) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='社团权限表'; + +-- ---------------------------- +-- Table structure for cw_application_attachment +-- ---------------------------- +DROP TABLE IF EXISTS `cw_application_attachment`; +CREATE TABLE `cw_application_attachment` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `application_id` bigint(20) NOT NULL COMMENT '申报ID', + `application_no` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '申报编号', + `file_name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '文件名称', + `file_original_name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '原始文件名', + `file_type` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '文件类型(pdf,doc,docx,xls,xlsx,jpg,png等)', + `file_size` bigint(20) DEFAULT NULL COMMENT '文件大小(字节)', + `file_path` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '文件存储路径', + `file_url` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '文件访问URL', + `attachment_type` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '附件类型(feasibility_report-可行性研究报告 implementation_plan-项目实施方案 budget_calculation-资金测算明细表 other_materials-其他相关证明材料)', + `attachment_type_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '附件类型名称', + `description` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '文件说明', + `upload_user_id` bigint(20) NOT NULL COMMENT '上传人ID', + `upload_user_name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '上传人姓名', + `upload_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '上传时间', + `sort_order` int(11) DEFAULT '0' COMMENT '排序', + `status` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '1' COMMENT '状态(0-删除 1-正常)', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0-正常 1-删除)', + `tenant_id` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT '000000' COMMENT '租户ID', + PRIMARY KEY (`id`), + KEY `idx_application_id` (`application_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='申报附件表'; + +-- ---------------------------- +-- Table structure for cw_approval_record +-- ---------------------------- +DROP TABLE IF EXISTS `cw_approval_record`; +CREATE TABLE `cw_approval_record` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `application_id` bigint(20) NOT NULL COMMENT '申报ID', + `application_no` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '申报编号', + `process_id` bigint(20) DEFAULT NULL COMMENT '流程实例ID', + `node_code` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '节点编码(dept_approve-部门审批 finance_approve-财务审批 leader_approve-领导审批)', + `node_name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '节点名称', + `custom_node_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '自定义节点名称', + `node_order` int(11) NOT NULL COMMENT '节点顺序(1-部门审批 2-财务审批 3-领导审批)', + `approver_id` bigint(20) NOT NULL COMMENT '审批人ID', + `approver_name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '审批人姓名', + `is_delegate` tinyint(1) DEFAULT '0' COMMENT '是否代理审批(0-否 1-是)', + `original_approver_id` bigint(20) DEFAULT NULL COMMENT '原审批人ID(代理时使用)', + `original_approver_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '原审批人姓名(代理时使用)', + `node_status` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '节点状态(waiting-等待审批 approving-审批中 approved-已通过 rejected-已拒绝 returned-已退回)', + `approve_action` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '审批动作(approve-通过 reject-拒绝 return-退回)', + `approve_opinion` text COLLATE utf8mb4_unicode_ci COMMENT '审批意见', + `is_custom_process` tinyint(1) DEFAULT '0' COMMENT '是否自定义流程(0-否 1-是)', + `start_time` datetime NOT NULL COMMENT '节点开始时间', + `end_time` datetime DEFAULT NULL COMMENT '节点结束时间', + `expect_finish_time` datetime DEFAULT NULL COMMENT '期望完成时间', + `is_overtime` tinyint(1) DEFAULT '0' COMMENT '是否超时(0-否 1-是)', + `config_id` bigint(20) DEFAULT NULL COMMENT '使用的审批配置ID', + `config_snapshot` json DEFAULT NULL COMMENT '审批配置快照(JSON格式,记录当时的配置)', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0-正常 1-删除)', + `tenant_id` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT '000000' COMMENT '租户ID', + PRIMARY KEY (`id`), + KEY `idx_application_id` (`application_id`), + KEY `idx_approver_id` (`approver_id`), + KEY `idx_node_status` (`node_status`), + KEY `idx_process_id` (`process_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='审批记录表'; + +-- ---------------------------- +-- Table structure for cw_approver_config +-- ---------------------------- +DROP TABLE IF EXISTS `cw_approver_config`; +CREATE TABLE `cw_approver_config` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `config_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '配置名称', + `config_type` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '配置类型(global-全局配置 dept-按部门配置 amount-按金额配置)', + `dept_id` bigint(20) DEFAULT NULL COMMENT '部门ID(按部门配置时使用)', + `dept_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '部门名称(按部门配置时使用)', + `min_amount` decimal(15,2) DEFAULT NULL COMMENT '最小金额(按金额配置时使用,万元)', + `max_amount` decimal(15,2) DEFAULT NULL COMMENT '最大金额(按金额配置时使用,万元)', + `dept_approver_id` bigint(20) DEFAULT NULL COMMENT '部门审批人ID', + `dept_approver_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '部门审批人姓名', + `dept_delegate_id` bigint(20) DEFAULT NULL COMMENT '部门代理审批人ID', + `dept_delegate_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '部门代理审批人姓名', + `dept_delegate_start_time` datetime DEFAULT NULL COMMENT '部门代理开始时间', + `dept_delegate_end_time` datetime DEFAULT NULL COMMENT '部门代理结束时间', + `finance_approver_id` bigint(20) DEFAULT NULL COMMENT '财务审批人ID', + `finance_approver_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '财务审批人姓名', + `finance_delegate_id` bigint(20) DEFAULT NULL COMMENT '财务代理审批人ID', + `finance_delegate_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '财务代理审批人姓名', + `finance_delegate_start_time` datetime DEFAULT NULL COMMENT '财务代理开始时间', + `finance_delegate_end_time` datetime DEFAULT NULL COMMENT '财务代理结束时间', + `leader_approver_id` bigint(20) DEFAULT NULL COMMENT '领导审批人ID', + `leader_approver_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '领导审批人姓名', + `leader_delegate_id` bigint(20) DEFAULT NULL COMMENT '领导代理审批人ID', + `leader_delegate_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '领导代理审批人姓名', + `leader_delegate_start_time` datetime DEFAULT NULL COMMENT '领导代理开始时间', + `leader_delegate_end_time` datetime DEFAULT NULL COMMENT '领导代理结束时间', + `priority` int(11) DEFAULT '0' COMMENT '优先级(数字越大优先级越高,用于多个配置冲突时的选择)', + `status` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '1' COMMENT '状态(0-禁用 1-启用)', + `effective_start_time` datetime DEFAULT NULL COMMENT '生效开始时间', + `effective_end_time` datetime DEFAULT NULL COMMENT '生效结束时间', + `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0-正常 1-删除)', + `tenant_id` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT '000000' COMMENT '租户ID', + PRIMARY KEY (`id`), + KEY `idx_config_type` (`config_type`), + KEY `idx_dept_id` (`dept_id`), + KEY `idx_amount_range` (`min_amount`,`max_amount`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='审批人配置表'; + +-- ---------------------------- +-- Table structure for cw_expenditure_detail +-- ---------------------------- +DROP TABLE IF EXISTS `cw_expenditure_detail`; +CREATE TABLE `cw_expenditure_detail` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `application_id` bigint(20) NOT NULL COMMENT '申报ID', + `application_no` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '申报编号', + `category_code` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '支出科目编码(关联字典)', + `category` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '支出科目名称', + `amount` decimal(15,2) NOT NULL COMMENT '金额(万元)', + `calculation` text COLLATE utf8mb4_unicode_ci COMMENT '测算依据', + `description` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '详细说明', + `current_year_amount` decimal(15,2) DEFAULT '0.00' COMMENT '当年执行金额(万元)', + `next_year_amount` decimal(15,2) DEFAULT '0.00' COMMENT '下年度金额(万元)', + `future_year_amount` decimal(15,2) DEFAULT '0.00' COMMENT '以后年度金额(万元)', + `municipal_fiscal_amount` decimal(15,2) DEFAULT '0.00' COMMENT '市财政资金(万元)', + `self_funding_amount` decimal(15,2) DEFAULT '0.00' COMMENT '单位自筹(万元)', + `other_funding_amount` decimal(15,2) DEFAULT '0.00' COMMENT '其他资金(万元)', + `sort_order` int(11) DEFAULT '0' COMMENT '排序', + `status` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '1' COMMENT '状态(0-删除 1-正常)', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0-正常 1-删除)', + `tenant_id` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT '000000' COMMENT '租户ID', + PRIMARY KEY (`id`), + KEY `idx_application_id` (`application_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='项目支出明细表'; + +-- ---------------------------- +-- Table structure for cw_performance_indicator +-- ---------------------------- +DROP TABLE IF EXISTS `cw_performance_indicator`; +CREATE TABLE `cw_performance_indicator` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `application_id` bigint(20) NOT NULL COMMENT '申报ID', + `application_no` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '申报编号', + `indicator_type` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '指标类型(quantity-数量指标 quality-质量指标 timeliness-时效指标 cost-成本指标 economic-经济效益指标 social-社会效益指标 environmental-环境效益指标 satisfaction-满意度指标)', + `indicator_type_name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '指标类型名称', + `goal_name` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '绩效目标名称', + `target_value` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '目标值', + `weight_percentage` decimal(5,2) NOT NULL COMMENT '分值占比(%)', + `description` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '详细说明', + `unit` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '计量单位', + `measurement_method` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '测量方法', + `data_source` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '数据来源', + `is_quantitative` tinyint(1) DEFAULT '1' COMMENT '是否定量指标(0-定性 1-定量)', + `sort_order` int(11) DEFAULT '0' COMMENT '排序', + `status` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '1' COMMENT '状态(0-删除 1-正常)', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0-正常 1-删除)', + `tenant_id` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT '000000' COMMENT '租户ID', + PRIMARY KEY (`id`), + KEY `idx_application_id` (`application_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='绩效指标表'; + +-- ---------------------------- +-- Table structure for cw_performance_monitoring +-- ---------------------------- +DROP TABLE IF EXISTS `cw_performance_monitoring`; +CREATE TABLE `cw_performance_monitoring` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT '000000' COMMENT '租户ID', + `evaluation_id` bigint(20) NOT NULL COMMENT '绩效自评ID', + `project_application_id` bigint(20) DEFAULT NULL COMMENT '项目申报ID', + `monitoring_period` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '监控周期(例如:2024年度1-6月)', + `fund_usage` text COLLATE utf8mb4_unicode_ci COMMENT '资金使用情况', + `performance_target_completion` text COLLATE utf8mb4_unicode_ci COMMENT '绩效目标完成情况', + `indicators` text COLLATE utf8mb4_unicode_ci COMMENT '绩效指标完成情况(JSON数组)', + `existing_problems` text COLLATE utf8mb4_unicode_ci COMMENT '存在问题', + `indicator_variance_analysis` text COLLATE utf8mb4_unicode_ci COMMENT '指标差异率分析和说明', + `next_step_suggestions` text COLLATE utf8mb4_unicode_ci COMMENT '下一步工作建议和打算', + `fill_by` bigint(20) DEFAULT NULL COMMENT '填报人ID', + `fill_by_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '填报人姓名', + `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志', + PRIMARY KEY (`id`) USING BTREE, + KEY `idx_evaluation_id` (`evaluation_id`) USING BTREE, + KEY `idx_project_application` (`project_application_id`) USING BTREE, + KEY `idx_tenant` (`tenant_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='绩效运行监控表'; + +-- ---------------------------- +-- Table structure for cw_project_application +-- ---------------------------- +DROP TABLE IF EXISTS `cw_project_application`; +CREATE TABLE `cw_project_application` ( + `id` bigint(20) NOT NULL COMMENT '主键ID(雪花ID)', + `application_no` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '申报编号(自动生成,格式:CW-YYYY-MMDD-XXXX)', + `project_name` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '项目名称', + `principal` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '项目负责人', + `contact_phone` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '联系电话', + `start_date` date DEFAULT NULL COMMENT '项目实施开始时间', + `end_date` date DEFAULT NULL COMMENT '项目实施结束时间', + `target_sme` tinyint(1) DEFAULT '0' COMMENT '是否面向中小企业(0-否 1-是)', + `target_micro_sme` tinyint(1) DEFAULT '0' COMMENT '是否面向小微企业(0-否 1-是)', + `import_equipment` tinyint(1) DEFAULT '0' COMMENT '是否采购进口设备(0-否 1-是)', + `application_reason` text COLLATE utf8mb4_unicode_ci COMMENT '项目申请原因(包括设立依据、可行性及必要性)', + `construction_content` text COLLATE utf8mb4_unicode_ci COMMENT '项目建设内容', + `total_performance_goal` text COLLATE utf8mb4_unicode_ci COMMENT '绩效总目标', + `current_year_goal` text COLLATE utf8mb4_unicode_ci COMMENT '当年绩效目标', + `total_investment` decimal(15,2) DEFAULT '0.00' COMMENT '项目总投资-合计(万元)', + `total_municipal_fiscal` decimal(15,2) DEFAULT '0.00' COMMENT '项目总投资-市财政资金(万元)', + `total_self_funding` decimal(15,2) DEFAULT '0.00' COMMENT '项目总投资-单位自筹(万元)', + `total_other_funding` decimal(15,2) DEFAULT '0.00' COMMENT '项目总投资-其他(万元)', + `current_year_total` decimal(15,2) DEFAULT '0.00' COMMENT '年度预计执行数-合计(万元)', + `current_year_municipal` decimal(15,2) DEFAULT '0.00' COMMENT '年度预计执行数-市财政资金(万元)', + `current_year_self` decimal(15,2) DEFAULT '0.00' COMMENT '年度预计执行数-单位自筹(万元)', + `current_year_other` decimal(15,2) DEFAULT '0.00' COMMENT '年度预计执行数-其他(万元)', + `next_year_total` decimal(15,2) DEFAULT '0.00' COMMENT '下年度申请资金-合计(万元)', + `next_year_municipal` decimal(15,2) DEFAULT '0.00' COMMENT '下年度申请资金-市财政资金(万元)', + `next_year_self` decimal(15,2) DEFAULT '0.00' COMMENT '下年度申请资金-单位自筹(万元)', + `next_year_other` decimal(15,2) DEFAULT '0.00' COMMENT '下年度申请资金-其他(万元)', + `future_year_total` decimal(15,2) DEFAULT '0.00' COMMENT '以后年度安排-合计(万元)', + `future_year_municipal` decimal(15,2) DEFAULT '0.00' COMMENT '以后年度安排-市财政资金(万元)', + `future_year_self` decimal(15,2) DEFAULT '0.00' COMMENT '以后年度安排-单位自筹(万元)', + `future_year_other` decimal(15,2) DEFAULT '0.00' COMMENT '以后年度安排-其他(万元)', + `applicant_id` bigint(20) NOT NULL COMMENT '申请人ID', + `applicant_name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '申请人姓名', + `department_id` bigint(20) NOT NULL COMMENT '所属部门ID', + `department_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '所属部门名称', + `approval_status` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT 'draft' COMMENT '审批状态(draft-草稿 submitted-已提交 approving-审批中 approved-已通过 rejected-已拒绝 returned-已退回 cancelled-已取消)', + `submit_time` datetime DEFAULT NULL COMMENT '提交时间', + `approve_time` datetime DEFAULT NULL COMMENT '审批完成时间', + `year` int(11) NOT NULL COMMENT '预算年度', + `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0-正常 1-删除)', + `tenant_id` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT '000000' COMMENT '租户ID', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_application_no` (`application_no`,`tenant_id`,`deleted`), + KEY `idx_applicant_id` (`applicant_id`), + KEY `idx_department_id` (`department_id`), + KEY `idx_status_year` (`approval_status`,`year`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='项目预算申报表'; + +-- ---------------------------- +-- Table structure for cw_project_application_backup_20250126 +-- ---------------------------- +DROP TABLE IF EXISTS `cw_project_application_backup_20250126`; +CREATE TABLE `cw_project_application_backup_20250126` ( + `id` bigint(20) NOT NULL COMMENT '主键ID(雪花ID)', + `application_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '申报编号(自动生成,格式:CW-YYYY-MMDD-XXXX)', + `project_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '项目名称', + `principal` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '项目负责人', + `contact_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '联系电话', + `start_date` date DEFAULT NULL COMMENT '项目实施开始时间', + `end_date` date DEFAULT NULL COMMENT '项目实施结束时间', + `target_sme` tinyint(1) DEFAULT '0' COMMENT '是否面向中小企业(0-否 1-是)', + `target_micro_sme` tinyint(1) DEFAULT '0' COMMENT '是否面向小微企业(0-否 1-是)', + `import_equipment` tinyint(1) DEFAULT '0' COMMENT '是否采购进口设备(0-否 1-是)', + `application_reason` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '项目申请原因(包括设立依据、可行性及必要性)', + `construction_content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '项目建设内容', + `total_performance_goal` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '绩效总目标', + `current_year_goal` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci COMMENT '当年绩效目标', + `total_investment` decimal(15,2) DEFAULT '0.00' COMMENT '项目总投资-合计(万元)', + `total_municipal_fiscal` decimal(15,2) DEFAULT '0.00' COMMENT '项目总投资-市财政资金(万元)', + `total_self_funding` decimal(15,2) DEFAULT '0.00' COMMENT '项目总投资-单位自筹(万元)', + `total_other_funding` decimal(15,2) DEFAULT '0.00' COMMENT '项目总投资-其他(万元)', + `current_year_total` decimal(15,2) DEFAULT '0.00' COMMENT '年度预计执行数-合计(万元)', + `current_year_municipal` decimal(15,2) DEFAULT '0.00' COMMENT '年度预计执行数-市财政资金(万元)', + `current_year_self` decimal(15,2) DEFAULT '0.00' COMMENT '年度预计执行数-单位自筹(万元)', + `current_year_other` decimal(15,2) DEFAULT '0.00' COMMENT '年度预计执行数-其他(万元)', + `next_year_total` decimal(15,2) DEFAULT '0.00' COMMENT '下年度申请资金-合计(万元)', + `next_year_municipal` decimal(15,2) DEFAULT '0.00' COMMENT '下年度申请资金-市财政资金(万元)', + `next_year_self` decimal(15,2) DEFAULT '0.00' COMMENT '下年度申请资金-单位自筹(万元)', + `next_year_other` decimal(15,2) DEFAULT '0.00' COMMENT '下年度申请资金-其他(万元)', + `future_year_total` decimal(15,2) DEFAULT '0.00' COMMENT '以后年度安排-合计(万元)', + `future_year_municipal` decimal(15,2) DEFAULT '0.00' COMMENT '以后年度安排-市财政资金(万元)', + `future_year_self` decimal(15,2) DEFAULT '0.00' COMMENT '以后年度安排-单位自筹(万元)', + `future_year_other` decimal(15,2) DEFAULT '0.00' COMMENT '以后年度安排-其他(万元)', + `applicant_id` bigint(20) NOT NULL COMMENT '申请人ID', + `applicant_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '申请人姓名', + `department_id` bigint(20) NOT NULL COMMENT '所属部门ID', + `department_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '所属部门名称', + `approval_status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT 'draft' COMMENT '审批状态(draft-草稿 submitted-已提交 approving-审批中 approved-已通过 rejected-已拒绝 returned-已退回 cancelled-已取消)', + `submit_time` datetime DEFAULT NULL COMMENT '提交时间', + `approve_time` datetime DEFAULT NULL COMMENT '审批完成时间', + `year` int(11) NOT NULL COMMENT '预算年度', + `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0-正常 1-删除)', + `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '000000' COMMENT '租户ID' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + +-- ---------------------------- +-- Table structure for cw_project_approval_process +-- ---------------------------- +DROP TABLE IF EXISTS `cw_project_approval_process`; +CREATE TABLE `cw_project_approval_process` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '000000' COMMENT '租户编号', + `application_id` bigint(20) NOT NULL COMMENT '申报ID', + `application_no` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '申报编号', + `process_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '流程名称', + `process_status` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'draft' COMMENT '流程状态(draft-草稿 running-进行中 completed-已完成 terminated-已终止 suspended-已暂停)', + `total_nodes` int(11) NOT NULL DEFAULT '0' COMMENT '总节点数', + `current_node` int(11) NOT NULL DEFAULT '0' COMMENT '当前节点序号', + `start_time` datetime DEFAULT NULL COMMENT '流程开始时间', + `end_time` datetime DEFAULT NULL COMMENT '流程结束时间', + `submitter_id` bigint(20) NOT NULL COMMENT '提交人ID', + `submitter_name` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '提交人姓名', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` int(1) NOT NULL DEFAULT '0' COMMENT '逻辑删除标志(0代表存在 1代表删除)', + PRIMARY KEY (`id`) USING BTREE, + KEY `idx_cw_approval_process_tenant` (`tenant_id`) USING BTREE, + KEY `idx_cw_approval_process_application` (`application_id`) USING BTREE, + KEY `idx_cw_approval_process_status` (`process_status`) USING BTREE, + KEY `idx_cw_approval_process_submitter` (`submitter_id`) USING BTREE, + KEY `idx_cw_approval_process_time` (`start_time`,`end_time`) USING BTREE, + KEY `idx_cw_approval_process_deleted` (`deleted`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='项目申报审批流程表'; + +-- ---------------------------- +-- Table structure for cw_project_auditor +-- ---------------------------- +DROP TABLE IF EXISTS `cw_project_auditor`; +CREATE TABLE `cw_project_auditor` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '000000' COMMENT '租户编号', + `user_id` bigint(20) NOT NULL COMMENT '用户ID', + `user_name` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '用户账号', + `nick_name` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '用户昵称', + `dept_id` bigint(20) DEFAULT NULL COMMENT '部门ID', + `dept_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '部门名称', + `phone_number` varchar(11) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '手机号码', + `email` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '用户邮箱', + `status` char(1) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '0' COMMENT '帐号状态(0正常 1停用)', + `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + `config_by` bigint(20) NOT NULL COMMENT '配置人ID', + `config_by_name` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '配置人姓名', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` int(1) NOT NULL DEFAULT '0' COMMENT '逻辑删除标志(0代表存在 1代表删除)', + PRIMARY KEY (`id`) USING BTREE, + KEY `idx_cw_project_auditor_tenant` (`tenant_id`) USING BTREE, + KEY `idx_cw_project_auditor_user` (`user_id`) USING BTREE, + KEY `idx_cw_project_auditor_dept` (`dept_id`) USING BTREE, + KEY `idx_cw_project_auditor_status` (`status`) USING BTREE, + KEY `idx_cw_project_auditor_config` (`config_by`) USING BTREE, + KEY `idx_cw_project_auditor_deleted` (`deleted`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='项目申报审核人配置表'; + +-- ---------------------------- +-- Table structure for cw_project_evaluation_indicator +-- ---------------------------- +DROP TABLE IF EXISTS `cw_project_evaluation_indicator`; +CREATE TABLE `cw_project_evaluation_indicator` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT '000000' COMMENT '租户ID', + `evaluation_id` bigint(20) NOT NULL COMMENT '绩效自评ID', + `indicator_category` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '指标类别', + `indicator_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '指标名称', + `indicator_type` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '指标类型', + `target_value` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '目标值', + `actual_value` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '实际完成值', + `completion_rate` decimal(5,2) DEFAULT NULL COMMENT '完成率', + `standard_score` decimal(5,2) DEFAULT NULL COMMENT '指标分值', + `actual_score` decimal(5,2) DEFAULT NULL COMMENT '实际得分', + `completion_description` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '完成情况说明', + `sort_order` int(11) DEFAULT '0' COMMENT '排序号', + `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志', + PRIMARY KEY (`id`) USING BTREE, + KEY `idx_evaluation_id` (`evaluation_id`) USING BTREE, + KEY `idx_category` (`indicator_category`) USING BTREE, + KEY `idx_tenant` (`tenant_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='项目绩效自评指标明细表'; + +-- ---------------------------- +-- Table structure for cw_project_monthly_monitoring +-- ---------------------------- +DROP TABLE IF EXISTS `cw_project_monthly_monitoring`; +CREATE TABLE `cw_project_monthly_monitoring` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT '000000' COMMENT '租户ID', + `evaluation_id` bigint(20) NOT NULL COMMENT '绩效自评ID', + `project_application_id` bigint(20) NOT NULL COMMENT '项目申报ID', + `monitoring_year` int(11) NOT NULL COMMENT '监控年度', + `monitoring_month` int(11) NOT NULL COMMENT '监控月份', + `planned_progress` decimal(5,2) DEFAULT NULL COMMENT '计划进度', + `actual_progress` decimal(5,2) DEFAULT NULL COMMENT '实际进度', + `progress_variance` decimal(5,2) DEFAULT NULL COMMENT '进度偏差', + `monthly_budget` decimal(15,2) DEFAULT NULL COMMENT '本月预算', + `monthly_expenditure` decimal(15,2) DEFAULT NULL COMMENT '本月实际支出', + `cumulative_budget` decimal(15,2) DEFAULT NULL COMMENT '累计预算', + `cumulative_expenditure` decimal(15,2) DEFAULT NULL COMMENT '累计实际支出', + `fund_execution_rate` decimal(5,2) DEFAULT NULL COMMENT '资金执行率(%)', + `key_milestones` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '本月完成的关键节点', + `milestone_completion` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '节点完成情况', + `problems_encountered` text COLLATE utf8mb4_unicode_ci COMMENT '本月遇到的问题', + `risk_description` text COLLATE utf8mb4_unicode_ci COMMENT '风险描述', + `countermeasures` text COLLATE utf8mb4_unicode_ci COMMENT '应对措施', + `next_month_plan` text COLLATE utf8mb4_unicode_ci COMMENT '下月工作计划', + `fill_status` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT 'not_filled' COMMENT '填报状态', + `fill_time` datetime DEFAULT NULL COMMENT '填报时间', + `fill_by` bigint(20) DEFAULT NULL COMMENT '填报人ID', + `fill_by_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '填报人姓名', + `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE KEY `uk_evaluation_month` (`evaluation_id`,`monitoring_year`,`monitoring_month`,`tenant_id`,`deleted`) USING BTREE, + KEY `idx_project_application` (`project_application_id`) USING BTREE, + KEY `idx_year_month` (`monitoring_year`,`monitoring_month`) USING BTREE, + KEY `idx_fill_status` (`fill_status`) USING BTREE, + KEY `idx_tenant` (`tenant_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='项目月度运行监控表'; + +-- ---------------------------- +-- Table structure for cw_project_performance_self_evaluation +-- ---------------------------- +DROP TABLE IF EXISTS `cw_project_performance_self_evaluation`; +CREATE TABLE `cw_project_performance_self_evaluation` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT '000000' COMMENT '租户ID', + `project_application_id` bigint(20) NOT NULL COMMENT '项目申报ID', + `application_no` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '项目申报编号', + `project_name` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '项目名称', + `supervisory_dept` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '主管部门', + `implement_unit` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '实施单位', + `evaluation_year` int(11) NOT NULL COMMENT '自评年度', + `initial_budget` decimal(15,2) DEFAULT NULL COMMENT '年初预算数(万元)', + `principal` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '项目负责人', + `contact_phone` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '联系电话', + `start_date` date DEFAULT NULL COMMENT '项目实施开始时间', + `end_date` date DEFAULT NULL COMMENT '项目实施结束时间', + `total_investment` decimal(15,2) DEFAULT NULL COMMENT '项目总投资(万元)', + `annual_budget` decimal(15,2) DEFAULT NULL COMMENT '本年度预算(万元)', + `actual_expenditure` decimal(15,2) DEFAULT NULL COMMENT '本年度实际支出(万元)', + `fund_value` decimal(5,2) DEFAULT NULL COMMENT '资金到位分值', + `fund_execution_rate` decimal(5,2) DEFAULT NULL COMMENT '资金执行率(%)', + `fund_score` decimal(5,2) DEFAULT NULL COMMENT '资金到位得分', + `current_year_budget_initial` decimal(15,2) DEFAULT NULL COMMENT '当年财政拨款-年初预算数(万元)', + `current_year_budget_annual` decimal(15,2) DEFAULT NULL COMMENT '当年财政拨款-全年预算数(万元)', + `current_year_budget_actual` decimal(15,2) DEFAULT NULL COMMENT '当年财政拨款-全年执行数(万元)', + `current_year_budget_value` decimal(5,2) DEFAULT NULL COMMENT '当年财政拨款-分值', + `current_year_budget_execution_rate` decimal(5,2) DEFAULT NULL COMMENT '当年财政拨款-执行率(%)', + `current_year_budget_score` decimal(5,2) DEFAULT NULL COMMENT '当年财政拨款-得分', + `last_year_carryover_initial` decimal(15,2) DEFAULT NULL COMMENT '上年结转资金-年初预算数(万元)', + `last_year_carryover_annual` decimal(15,2) DEFAULT NULL COMMENT '上年结转资金-全年预算数(万元)', + `last_year_carryover_actual` decimal(15,2) DEFAULT NULL COMMENT '上年结转资金-全年执行数(万元)', + `last_year_carryover_value` decimal(5,2) DEFAULT NULL COMMENT '上年结转资金-分值', + `last_year_carryover_execution_rate` decimal(5,2) DEFAULT NULL COMMENT '上年结转资金-执行率(%)', + `last_year_carryover_score` decimal(5,2) DEFAULT NULL COMMENT '上年结转资金-得分', + `other_funds_initial` decimal(15,2) DEFAULT NULL COMMENT '其他资金-年初预算数(万元)', + `other_funds_annual` decimal(15,2) DEFAULT NULL COMMENT '其他资金-全年预算数(万元)', + `other_funds_actual` decimal(15,2) DEFAULT NULL COMMENT '其他资金-全年执行数(万元)', + `other_funds_value` decimal(5,2) DEFAULT NULL COMMENT '其他资金-分值', + `other_funds_execution_rate` decimal(5,2) DEFAULT NULL COMMENT '其他资金-执行率(%)', + `other_funds_score` decimal(5,2) DEFAULT NULL COMMENT '其他资金-得分', + `budget_execution_rate` decimal(5,2) DEFAULT NULL COMMENT '预算执行率(%)', + `performance_goal` text COLLATE utf8mb4_unicode_ci COMMENT '年度绩效目标', + `target_completion` text COLLATE utf8mb4_unicode_ci COMMENT '目标完成情况说明', + `quantity_indicator` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '数量指标名称', + `quantity_target` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '数量指标-指标值', + `quantity_actual` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '数量指标-实际完成值', + `quantity_value` decimal(5,2) DEFAULT NULL COMMENT '数量指标-分值', + `quantity_score` decimal(5,2) DEFAULT NULL COMMENT '数量指标-得分', + `quantity_deviation` text COLLATE utf8mb4_unicode_ci COMMENT '数量指标-偏差原因分析及改进措施', + `quality_indicator` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '质量指标名称', + `quality_target` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '质量指标-指标值', + `quality_actual` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '质量指标-实际完成值', + `quality_value` decimal(5,2) DEFAULT NULL COMMENT '质量指标-分值', + `quality_score` decimal(5,2) DEFAULT NULL COMMENT '质量指标-得分', + `quality_deviation` text COLLATE utf8mb4_unicode_ci COMMENT '质量指标-偏差原因分析及改进措施', + `timeliness_indicator` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '时效指标名称', + `timeliness_target` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '时效指标-指标值', + `timeliness_actual` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '时效指标-实际完成值', + `timeliness_value` decimal(5,2) DEFAULT NULL COMMENT '时效指标-分值', + `timeliness_score` decimal(5,2) DEFAULT NULL COMMENT '时效指标-得分', + `timeliness_deviation` text COLLATE utf8mb4_unicode_ci COMMENT '时效指标-偏差原因分析及改进措施', + `cost_indicator` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '成本指标名称', + `cost_target` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '成本指标-指标值', + `cost_actual` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '成本指标-实际完成值', + `cost_value` decimal(5,2) DEFAULT NULL COMMENT '成本指标-分值', + `cost_score` decimal(5,2) DEFAULT NULL COMMENT '成本指标-得分', + `cost_deviation` text COLLATE utf8mb4_unicode_ci COMMENT '成本指标-偏差原因分析及改进措施', + `economic_indicator` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '经济效益指标名称', + `economic_target` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '经济效益指标-指标值', + `economic_actual` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '经济效益指标-实际完成值', + `economic_value` decimal(5,2) DEFAULT NULL COMMENT '经济效益指标-分值', + `economic_score` decimal(5,2) DEFAULT NULL COMMENT '经济效益指标-得分', + `economic_deviation` text COLLATE utf8mb4_unicode_ci COMMENT '经济效益指标-偏差原因分析及改进措施', + `social_indicator` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '社会效益指标名称', + `social_target` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '社会效益指标-指标值', + `social_actual` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '社会效益指标-实际完成值', + `social_value` decimal(5,2) DEFAULT NULL COMMENT '社会效益指标-分值', + `social_score` decimal(5,2) DEFAULT NULL COMMENT '社会效益指标-得分', + `social_deviation` text COLLATE utf8mb4_unicode_ci COMMENT '社会效益指标-偏差原因分析及改进措施', + `ecological_indicator` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '生态效益指标名称', + `ecological_target` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '生态效益指标-指标值', + `ecological_actual` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '生态效益指标-实际完成值', + `ecological_value` decimal(5,2) DEFAULT NULL COMMENT '生态效益指标-分值', + `ecological_score` decimal(5,2) DEFAULT NULL COMMENT '生态效益指标-得分', + `ecological_deviation` text COLLATE utf8mb4_unicode_ci COMMENT '生态效益指标-偏差原因分析及改进措施', + `satisfaction_indicator` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '满意度指标名称', + `satisfaction_target` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '满意度指标-指标值', + `satisfaction_actual` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '满意度指标-实际完成值', + `satisfaction_value` decimal(5,2) DEFAULT NULL COMMENT '满意度指标-分值', + `satisfaction_score` decimal(5,2) DEFAULT NULL COMMENT '满意度指标-得分', + `satisfaction_deviation` text COLLATE utf8mb4_unicode_ci COMMENT '满意度指标-偏差原因分析及改进措施', + `decision_score` decimal(5,2) DEFAULT NULL COMMENT '项目决策得分', + `decision_content` text COLLATE utf8mb4_unicode_ci COMMENT '项目决策自评内容', + `process_score` decimal(5,2) DEFAULT NULL COMMENT '项目过程得分', + `process_content` text COLLATE utf8mb4_unicode_ci COMMENT '项目过程自评内容', + `output_score` decimal(5,2) DEFAULT NULL COMMENT '项目产出得分', + `output_content` text COLLATE utf8mb4_unicode_ci COMMENT '项目产出自评内容', + `benefit_score` decimal(5,2) DEFAULT NULL COMMENT '项目效益得分', + `benefit_content` text COLLATE utf8mb4_unicode_ci COMMENT '项目效益自评内容', + `total_score` decimal(5,2) DEFAULT NULL COMMENT '自评总分', + `self_evaluation_level` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '自评等级', + `existing_problems` text COLLATE utf8mb4_unicode_ci COMMENT '存在问题', + `improvement_measures` text COLLATE utf8mb4_unicode_ci COMMENT '改进措施和建议', + `evaluation_status` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT 'draft' COMMENT '自评状态', + `allow_edit_after_submit` tinyint(1) DEFAULT '0' COMMENT '允许已提交后编辑(0-不允许 1-允许)', + `submit_time` datetime DEFAULT NULL COMMENT '提交时间', + `submit_by` bigint(20) DEFAULT NULL COMMENT '提交人ID', + `submit_by_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '提交人姓名', + `approve_time` datetime DEFAULT NULL COMMENT '审核时间', + `approve_by` bigint(20) DEFAULT NULL COMMENT '审核人ID', + `approve_by_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '审核人姓名', + `approve_opinion` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '审核意见', + `is_locked` tinyint(1) DEFAULT '0' COMMENT '是否锁定(0-未锁定 1-已锁定),锁定后不可修改', + `lock_time` datetime DEFAULT NULL COMMENT '锁定时间', + `lock_by` bigint(20) DEFAULT NULL COMMENT '锁定人ID', + `lock_by_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '锁定人姓名', + `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志', + PRIMARY KEY (`id`) USING BTREE, + KEY `idx_application_no` (`application_no`) USING BTREE, + KEY `idx_evaluation_year` (`evaluation_year`) USING BTREE, + KEY `idx_status` (`evaluation_status`) USING BTREE, + KEY `idx_tenant` (`tenant_id`) USING BTREE, + KEY `idx_application_year` (`project_application_id`,`evaluation_year`,`tenant_id`) COMMENT '项目-年度-租户联合索引', + KEY `idx_is_locked` (`is_locked`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='项目绩效自评表'; + +-- ---------------------------- +-- Table structure for cx_bjsj +-- ---------------------------- +DROP TABLE IF EXISTS `cx_bjsj`; +CREATE TABLE `cx_bjsj` ( + `inserttime` bigint(20) DEFAULT NULL COMMENT '提交时间戳', + `updatetime` bigint(20) DEFAULT NULL COMMENT '修改时间戳', + `bjxx_bjmc` varchar(255) DEFAULT NULL COMMENT '班级名称', + `bjxx_bjbh` varchar(255) DEFAULT NULL COMMENT '班级编号', + `bjxx_ssyx` varchar(255) DEFAULT NULL COMMENT '所属系部', + `bjxx_yxbm` varchar(255) DEFAULT NULL COMMENT '系部编码', + `bjxx_zy` varchar(255) DEFAULT NULL COMMENT '专业', + `bjxx_zybh` varchar(255) DEFAULT NULL COMMENT '专业编号', + `bjxx_rxnf` varchar(255) DEFAULT NULL COMMENT '入学年份', + `bjxx_bzr` varchar(255) DEFAULT NULL COMMENT '班主任', + `bjxx_bzrgh` varchar(255) DEFAULT NULL COMMENT '班主任工号', + `bjxx_szxq` varchar(255) DEFAULT NULL COMMENT '所属校区', + `bjxx_xqbm` varchar(255) DEFAULT NULL COMMENT '校区编号', + `bjxx_njrs` bigint(20) DEFAULT NULL COMMENT '班级人数', + `bjxx_bjzdrs` varchar(255) DEFAULT NULL COMMENT '班级最大人数', + `bjxx_ssjys` varchar(255) DEFAULT NULL COMMENT '所属教研室', + `bjxx_jysbh` varchar(255) DEFAULT NULL COMMENT '教研室编号', + `bjxx_bynf` varchar(255) DEFAULT NULL COMMENT '毕业年份', + `bjxx_jbny` varchar(255) DEFAULT NULL COMMENT '建班年月', + `bjxx_byxnxq` varchar(255) DEFAULT NULL COMMENT '毕业学年学期', + `bjxx_byny` varchar(255) DEFAULT NULL COMMENT '毕业年月', + `bjxx_gdjs` varchar(255) DEFAULT NULL COMMENT '固定教室', + `bjxx_gdjsbh` varchar(255) DEFAULT NULL COMMENT '固定教室编号', + `bjxx_bjjc` varchar(255) DEFAULT NULL COMMENT '班级简称', + `bjxx_sfqy` varchar(255) DEFAULT NULL COMMENT '是否启用', + `bjxx_sznf` bigint(20) DEFAULT NULL COMMENT '所在年份(num)', + `dataMigrateUniqueId` varchar(255) DEFAULT NULL COMMENT '数据迁移字段' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='超星 - 班级数据'; + +-- ---------------------------- +-- Table structure for cx_xbsj +-- ---------------------------- +DROP TABLE IF EXISTS `cx_xbsj`; +CREATE TABLE `cx_xbsj` ( + `inserttime` bigint(20) DEFAULT NULL COMMENT '提交时间戳', + `updatetime` bigint(20) DEFAULT NULL COMMENT '修改时间戳', + `yxsj_yxmc` varchar(1024) DEFAULT NULL COMMENT '系部名称', + `yxsj_yxdm` varchar(1024) DEFAULT NULL COMMENT '系部代码', + `yxsj_sfkkyx` varchar(1024) DEFAULT NULL COMMENT '是否开课系部', + `yxsj_sfskyx` varchar(1024) DEFAULT NULL COMMENT '是否上课系部', + `yxsj_sfqy` varchar(1024) DEFAULT NULL COMMENT '是否启用', + `yxsj_yxywmc` varchar(1024) DEFAULT NULL COMMENT '系部英文名称', + `yxsj_yxjc` varchar(1024) DEFAULT NULL COMMENT '系部简称', + `yxsj_gdjxl` varchar(1024) DEFAULT NULL COMMENT '固定教学楼', + `yxsj_yxfzr` varchar(1024) DEFAULT NULL COMMENT '系部负责人', + `yxsj_kyjxlsx` varchar(1024) DEFAULT NULL COMMENT '可用教学楼筛选', + `dataMigrateUniqueId` varchar(1024) DEFAULT NULL COMMENT '数据迁移字段' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='超星的系部数据'; + +-- ---------------------------- +-- Table structure for cx_xg_code +-- ---------------------------- +DROP TABLE IF EXISTS `cx_xg_code`; +CREATE TABLE `cx_xg_code` ( + `data_id` varchar(255) DEFAULT NULL COMMENT '超星的data_id', + `cx_type` varchar(255) DEFAULT NULL COMMENT '超星的type', + `cx_value` varchar(255) DEFAULT NULL COMMENT '超星的value', + `cx_code` varchar(255) DEFAULT NULL COMMENT '超星的code', + `cx_tjr` varchar(255) DEFAULT NULL COMMENT '超星的提交人', + `cx_uid` varchar(255) DEFAULT NULL COMMENT '超星的uid', + `xg_code` varchar(255) DEFAULT NULL COMMENT '我们学工系统的code', + `xg_value` varchar(255) DEFAULT NULL COMMENT '我们学工系统的value', + `is_valid` int(11) DEFAULT '1' COMMENT '1-有效 , 0-无效' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='超星教务系统的字典表,对应我们学工系统的转化关系'; + +-- ---------------------------- +-- Table structure for cx_xssj +-- ---------------------------- +DROP TABLE IF EXISTS `cx_xssj`; +CREATE TABLE `cx_xssj` ( + `inserttime` bigint(20) DEFAULT NULL COMMENT '提交时间戳', + `updatetime` bigint(20) DEFAULT NULL COMMENT '修改时间戳', + `xsjbxx_xm` varchar(255) DEFAULT NULL COMMENT '姓名', + `xsjbxx_xh` varchar(255) DEFAULT NULL COMMENT '学号', + `xsjbxx_lxdh` varchar(255) DEFAULT NULL COMMENT '联系电话', + `xsjbxx_sfzjlx` varchar(255) DEFAULT NULL COMMENT '身份证件类型', + `xsjbxx_sfzjh` varchar(255) DEFAULT NULL COMMENT '身份证件号', + `dataMigrateUniqueId` varchar(255) DEFAULT NULL COMMENT '迁移数据唯一标识', + `xsjbxx_bjxx` varchar(255) DEFAULT NULL COMMENT '班级信息', + `xsjbxx_bjbh` varchar(255) DEFAULT NULL COMMENT '班级编号', + `xsjbxx_szxq` varchar(255) DEFAULT NULL COMMENT '所在校区', + `xsjbxx_xqdm` varchar(255) DEFAULT NULL COMMENT '校区代码', + `xsjbxx_sznj` varchar(255) DEFAULT NULL COMMENT '所在年级', + `xsjbxx_rxnj` varchar(255) DEFAULT NULL COMMENT '入学年份', + `xsjbxx_yxxx` varchar(255) DEFAULT NULL COMMENT '系部信息', + `xsjbxx_yxdm` varchar(255) DEFAULT NULL COMMENT '系部代码', + `xsjbxx_zyxx` varchar(255) DEFAULT NULL COMMENT '专业信息', + `xsjbxx_zydm` varchar(255) DEFAULT NULL COMMENT '专业代码', + `xsjbxx_bzrgh` varchar(255) DEFAULT NULL COMMENT '班主任工号', + `xsjbxx_xsdqzt` varchar(255) DEFAULT NULL COMMENT '学生当前状态', + `xsjbxx_xssfzx` varchar(255) DEFAULT NULL COMMENT '学生是否在校', + `xsjbxx_xjydlx` varchar(255) DEFAULT NULL COMMENT '学籍异动类型', + `xsjbxx_pycc` varchar(255) DEFAULT NULL COMMENT '培养层次', + `xsjbxx_xz` varchar(255) DEFAULT NULL COMMENT '学制', + `xsjbxx_xb` varchar(255) DEFAULT NULL COMMENT '性别', + `xsjbxx_csrq` varchar(255) DEFAULT NULL COMMENT '出生日期', + `xsjbxx_gj` varchar(255) DEFAULT NULL COMMENT '国籍', + `xsjbxx_jtzz` varchar(255) DEFAULT NULL COMMENT '家庭现住址', + `xsjbxx_jtyzbm` varchar(255) DEFAULT NULL COMMENT '家庭邮政编码', + `xsjbxx_jtlxr` varchar(255) DEFAULT NULL COMMENT '家庭联系人', + `xsjbxx_jtdh` varchar(255) DEFAULT NULL COMMENT '家庭电话', + `xsjbxx_fmxm1` varchar(255) DEFAULT NULL COMMENT '成员1姓名', + `xsjbxx_fmxm2` varchar(255) DEFAULT NULL COMMENT '成员2姓名', + `xsjbxx_cygx1` varchar(255) DEFAULT NULL COMMENT '成员1关系', + `xsjbxx_cygx2` varchar(255) DEFAULT NULL COMMENT '成员2关系', + `xsjbxx_cysfwjhr1` varchar(255) DEFAULT NULL COMMENT '成员1是否为监护人', + `xsjbxx_cysfwjhr2` varchar(255) DEFAULT NULL COMMENT '成员2是否为监护人', + `xsjbxx_fmsjh1` varchar(255) DEFAULT NULL COMMENT '成员1联系电话', + `xsjbxx_fmsjh2` varchar(255) DEFAULT NULL COMMENT '成员2联系电话', + `xsjbxx_fmzjlx1` varchar(255) DEFAULT NULL COMMENT '成员1证件类型', + `xsjbxx_fmzjlx2` varchar(255) DEFAULT NULL COMMENT '成员2证件类型', + `xsjbxx_fmzjh1` varchar(255) DEFAULT NULL COMMENT '成员1证件号', + `xsjbxx_fmzjh2` varchar(255) DEFAULT NULL COMMENT '成员2证件号', + `xsjbxx_xmpy` varchar(255) DEFAULT NULL COMMENT '姓名拼音', + `xsjbxx_xjzt` varchar(255) DEFAULT NULL COMMENT '学籍状态' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='超星 - 学生数据'; + +-- ---------------------------- +-- Table structure for cx_xsydsj +-- ---------------------------- +DROP TABLE IF EXISTS `cx_xsydsj`; +CREATE TABLE `cx_xsydsj` ( + `inserttime` bigint(20) DEFAULT NULL COMMENT '提交时间戳', + `updatetime` bigint(20) DEFAULT NULL COMMENT '修改时间戳', + `xjyd_yjsqsj` varchar(255) DEFAULT NULL COMMENT '提交申请时间', + `xjyd_ydsxxq` varchar(255) DEFAULT NULL COMMENT '异动生效学期', + `xjydsp_ydlx` varchar(255) DEFAULT NULL COMMENT '异动类型', + `xjydsp_sqrxh` varchar(255) DEFAULT NULL COMMENT '申请人学号', + `xjydsp_xm` varchar(255) DEFAULT NULL COMMENT '姓名', + `xjydsp_ydqssxq` varchar(255) DEFAULT NULL COMMENT '异动前所属校区', + `xjydsp_ydqsznj` varchar(255) DEFAULT NULL COMMENT '异动前所在年级', + `xjydsp_ydqszyx` varchar(255) DEFAULT NULL COMMENT '异动前所在院系', + `xjydsp_ydqszzy` varchar(255) DEFAULT NULL COMMENT '异动前所在专业', + `xjydsp_ydqszbj` varchar(255) DEFAULT NULL COMMENT '异动前所在班级', + `xjydsp_ydqxz` varchar(255) DEFAULT NULL COMMENT '异动前学制', + `xjydsp_ydhszbj` varchar(255) DEFAULT NULL COMMENT '异动后所在班级', + `xjydsp_ydhsznj` varchar(255) DEFAULT NULL COMMENT '异动后所在年级', + `xjydsp_ydhszyx` varchar(255) DEFAULT NULL COMMENT '异动后所在院系', + `xjydsp_ydhszzy` varchar(255) DEFAULT NULL COMMENT '异动后所在专业', + `xjydsp_ydhssxq` varchar(255) DEFAULT NULL COMMENT '异动后所在校区', + `xjydsp_ydhxz` varchar(255) DEFAULT NULL COMMENT '异动后学制', + `xjydsp_ydhbzrgh` varchar(255) DEFAULT NULL COMMENT '异动后班主任工号', + `xjyd_name` varchar(255) DEFAULT NULL COMMENT '新名字', + `xjydsp_sqyy` varchar(255) DEFAULT NULL COMMENT '申请原因', + `xjydsp_ydhbzr` varchar(255) DEFAULT NULL COMMENT '异动后班主任', + `xjydsp_sxqm` varchar(255) DEFAULT NULL COMMENT '手写签名', + `xjydsp_zmfj` varchar(255) DEFAULT NULL COMMENT '证明附件', + `xjyd_shzt` varchar(255) DEFAULT NULL COMMENT '审核状态', + `xjydsp_ydhyxbh` varchar(255) DEFAULT NULL COMMENT '异动后院系编号', + `xjydsp_ydhzybh` varchar(255) DEFAULT NULL COMMENT '异动后专业编号', + `xjydsp_ydhbjbh` varchar(255) DEFAULT NULL COMMENT '异动后班级编号' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='超星-学生异动数据'; + +-- ---------------------------- +-- Table structure for cx_zysj +-- ---------------------------- +DROP TABLE IF EXISTS `cx_zysj`; +CREATE TABLE `cx_zysj` ( + `inserttime` bigint(20) DEFAULT NULL COMMENT '提交时间戳', + `updatetime` bigint(20) DEFAULT NULL COMMENT '修改时间戳', + `zysj_zymc` varchar(255) DEFAULT NULL COMMENT '专业名称', + `zysj_zybh` varchar(255) DEFAULT NULL COMMENT '专业编号', + `zysj_ssyx` varchar(255) DEFAULT NULL COMMENT '所属系部', + `zysj_xbdm` varchar(255) DEFAULT NULL COMMENT '系部代码', + `zysj_kbzt` varchar(255) DEFAULT NULL COMMENT '是否启用', + `zysj_xz` varchar(255) DEFAULT NULL COMMENT '学制', + `zysj_pycc` varchar(255) DEFAULT NULL COMMENT '培养层次', + `zysj_xzm` varchar(255) DEFAULT NULL COMMENT '学制码', + `zysj_sfdlmc` varchar(255) DEFAULT NULL COMMENT '是否大类名称', + `zysj_zyywmc` varchar(255) DEFAULT NULL COMMENT '专业英文名称', + `zysj_zyjc` varchar(255) DEFAULT NULL COMMENT '专业简称', + `zysj_sfkz` varchar(255) DEFAULT NULL COMMENT '是否扩招', + `zysj_qyyxsx` varchar(255) DEFAULT NULL COMMENT '启用院系筛选', + `zysj_xxdm` varchar(255) DEFAULT NULL COMMENT '学校代码', + `zysj_zymldm` varchar(255) DEFAULT NULL COMMENT '专业目录代码', + `zysj_pzszny` varchar(255) DEFAULT NULL COMMENT '批准设置年月', + `zysj_sczsny` varchar(255) DEFAULT NULL COMMENT '首次招生年月', + `zysj_sfzdzy` varchar(255) DEFAULT NULL COMMENT '是否重点专业', + `zysj_zdzyjbmc` varchar(255) DEFAULT NULL COMMENT '重点专业级别名称', + `zysj_zdzyjbm` varchar(255) DEFAULT NULL COMMENT '重点专业级别码', + `zysj_zdzylxmc` varchar(255) DEFAULT NULL COMMENT '重点专业类型名称', + `zysj_zdzylxm` varchar(255) DEFAULT NULL COMMENT '重点专业类型码', + `zysj_sszyqmc` varchar(255) DEFAULT NULL COMMENT '所属专业群名称', + `zysj_sszyqh` varchar(255) DEFAULT NULL COMMENT '所属专业群号', + `zysj_sjzt` varchar(255) DEFAULT NULL COMMENT '数据状态', + `zysj_sjztm` varchar(255) DEFAULT NULL COMMENT '数据状态码', + `zysj_sjcjsj` varchar(255) DEFAULT NULL COMMENT '数据采集时间', + `dataMigrateUniqueId` varchar(255) DEFAULT NULL COMMENT '数据迁移字段' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='超星-专业数据'; + +-- ---------------------------- +-- Table structure for flow_category +-- ---------------------------- +DROP TABLE IF EXISTS `flow_category`; +CREATE TABLE `flow_category` ( + `category_id` bigint(20) NOT NULL COMMENT '流程分类ID', + `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', + `parent_id` bigint(20) DEFAULT '0' COMMENT '父流程分类id', + `ancestors` varchar(500) DEFAULT '' COMMENT '祖级列表', + `category_name` varchar(30) NOT NULL COMMENT '流程分类名称', + `order_num` int(4) DEFAULT '0' COMMENT '显示顺序', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`category_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程分类'; + +-- ---------------------------- +-- Table structure for flow_category_bak +-- ---------------------------- +DROP TABLE IF EXISTS `flow_category_bak`; +CREATE TABLE `flow_category_bak` ( + `category_id` bigint(20) NOT NULL COMMENT '流程分类ID', + `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', + `parent_id` bigint(20) DEFAULT '0' COMMENT '父流程分类id', + `ancestors` varchar(500) DEFAULT '' COMMENT '祖级列表', + `category_name` varchar(30) NOT NULL COMMENT '流程分类名称', + `order_num` int(4) DEFAULT '0' COMMENT '显示顺序', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`category_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程分类'; + +-- ---------------------------- +-- Table structure for flow_definition +-- ---------------------------- +DROP TABLE IF EXISTS `flow_definition`; +CREATE TABLE `flow_definition` ( + `id` bigint(20) NOT NULL COMMENT '主键id', + `flow_code` varchar(40) NOT NULL COMMENT '流程编码', + `flow_name` varchar(100) NOT NULL COMMENT '流程名称', + `category` varchar(100) DEFAULT NULL COMMENT '流程类别', + `version` varchar(20) NOT NULL COMMENT '流程版本', + `is_publish` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否发布(0未发布 1已发布 9失效)', + `form_custom` char(1) DEFAULT 'N' COMMENT '审批表单是否自定义(Y是 N否)', + `form_path` varchar(100) DEFAULT NULL COMMENT '审批表单路径', + `activity_status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '流程激活状态(0挂起 1激活)', + `listener_type` varchar(100) DEFAULT NULL COMMENT '监听器类型', + `listener_path` varchar(400) DEFAULT NULL COMMENT '监听器路径', + `ext` varchar(500) DEFAULT NULL COMMENT '业务详情 存业务表对象json字符串', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标志', + `tenant_id` varchar(40) DEFAULT NULL COMMENT '租户id', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程定义表'; + +-- ---------------------------- +-- Table structure for flow_definition_bak +-- ---------------------------- +DROP TABLE IF EXISTS `flow_definition_bak`; +CREATE TABLE `flow_definition_bak` ( + `id` bigint(20) NOT NULL COMMENT '主键id', + `flow_code` varchar(40) NOT NULL COMMENT '流程编码', + `flow_name` varchar(100) NOT NULL COMMENT '流程名称', + `category` varchar(100) DEFAULT NULL COMMENT '流程类别', + `version` varchar(20) NOT NULL COMMENT '流程版本', + `is_publish` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否发布(0未发布 1已发布 9失效)', + `form_custom` char(1) DEFAULT 'N' COMMENT '审批表单是否自定义(Y是 N否)', + `form_path` varchar(100) DEFAULT NULL COMMENT '审批表单路径', + `activity_status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '流程激活状态(0挂起 1激活)', + `listener_type` varchar(100) DEFAULT NULL COMMENT '监听器类型', + `listener_path` varchar(400) DEFAULT NULL COMMENT '监听器路径', + `ext` varchar(500) DEFAULT NULL COMMENT '业务详情 存业务表对象json字符串', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标志', + `tenant_id` varchar(40) DEFAULT NULL COMMENT '租户id', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程定义表'; + +-- ---------------------------- +-- Table structure for flow_his_task +-- ---------------------------- +DROP TABLE IF EXISTS `flow_his_task`; +CREATE TABLE `flow_his_task` ( + `id` bigint(20) NOT NULL COMMENT '主键id', + `definition_id` bigint(20) NOT NULL COMMENT '对应flow_definition表的id', + `instance_id` bigint(20) NOT NULL COMMENT '对应flow_instance表的id', + `task_id` bigint(20) NOT NULL COMMENT '对应flow_task表的id', + `node_code` varchar(100) DEFAULT NULL COMMENT '开始节点编码', + `node_name` varchar(100) DEFAULT NULL COMMENT '开始节点名称', + `node_type` tinyint(1) DEFAULT NULL COMMENT '开始节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)', + `target_node_code` varchar(200) DEFAULT NULL COMMENT '目标节点编码', + `target_node_name` varchar(200) DEFAULT NULL COMMENT '结束节点名称', + `approver` varchar(40) DEFAULT NULL COMMENT '审批者', + `cooperate_type` tinyint(1) NOT NULL DEFAULT '0' COMMENT '协作方式(1审批 2转办 3委派 4会签 5票签 6加签 7减签)', + `collaborator` varchar(40) DEFAULT NULL COMMENT '协作人', + `skip_type` varchar(10) NOT NULL COMMENT '流转类型(PASS通过 REJECT退回 NONE无动作)', + `flow_status` varchar(20) NOT NULL COMMENT '流程状态(0待提交 1审批中 2审批通过 4终止 5作废 6撤销 8已完成 9已退回 10失效 11拿回)', + `form_custom` char(1) DEFAULT 'N' COMMENT '审批表单是否自定义(Y是 N否)', + `form_path` varchar(100) DEFAULT NULL COMMENT '审批表单路径', + `message` varchar(500) DEFAULT NULL COMMENT '审批意见', + `signature` text COMMENT '手写签名(Base64编码的图片数据)', + `variable` text COMMENT '任务变量', + `ext` varchar(500) DEFAULT NULL COMMENT '业务详情 存业务表对象json字符串', + `create_time` datetime DEFAULT NULL COMMENT '任务开始时间', + `update_time` datetime DEFAULT NULL COMMENT '审批完成时间', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标志', + `tenant_id` varchar(40) DEFAULT NULL COMMENT '租户id', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='历史任务记录表'; + +-- ---------------------------- +-- Table structure for flow_his_task_bak +-- ---------------------------- +DROP TABLE IF EXISTS `flow_his_task_bak`; +CREATE TABLE `flow_his_task_bak` ( + `id` bigint(20) NOT NULL COMMENT '主键id', + `definition_id` bigint(20) NOT NULL COMMENT '对应flow_definition表的id', + `instance_id` bigint(20) NOT NULL COMMENT '对应flow_instance表的id', + `task_id` bigint(20) NOT NULL COMMENT '对应flow_task表的id', + `node_code` varchar(100) DEFAULT NULL COMMENT '开始节点编码', + `node_name` varchar(100) DEFAULT NULL COMMENT '开始节点名称', + `node_type` tinyint(1) DEFAULT NULL COMMENT '开始节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)', + `target_node_code` varchar(200) DEFAULT NULL COMMENT '目标节点编码', + `target_node_name` varchar(200) DEFAULT NULL COMMENT '结束节点名称', + `approver` varchar(40) DEFAULT NULL COMMENT '审批者', + `cooperate_type` tinyint(1) NOT NULL DEFAULT '0' COMMENT '协作方式(1审批 2转办 3委派 4会签 5票签 6加签 7减签)', + `collaborator` varchar(40) DEFAULT NULL COMMENT '协作人', + `skip_type` varchar(10) NOT NULL COMMENT '流转类型(PASS通过 REJECT退回 NONE无动作)', + `flow_status` varchar(20) NOT NULL COMMENT '流程状态(0待提交 1审批中 2审批通过 4终止 5作废 6撤销 8已完成 9已退回 10失效 11拿回)', + `form_custom` char(1) DEFAULT 'N' COMMENT '审批表单是否自定义(Y是 N否)', + `form_path` varchar(100) DEFAULT NULL COMMENT '审批表单路径', + `message` varchar(500) DEFAULT NULL COMMENT '审批意见', + `variable` text COMMENT '任务变量', + `ext` varchar(500) DEFAULT NULL COMMENT '业务详情 存业务表对象json字符串', + `create_time` datetime DEFAULT NULL COMMENT '任务开始时间', + `update_time` datetime DEFAULT NULL COMMENT '审批完成时间', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标志', + `tenant_id` varchar(40) DEFAULT NULL COMMENT '租户id', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='历史任务记录表'; + +-- ---------------------------- +-- Table structure for flow_instance +-- ---------------------------- +DROP TABLE IF EXISTS `flow_instance`; +CREATE TABLE `flow_instance` ( + `id` bigint(20) NOT NULL COMMENT '主键id', + `definition_id` bigint(20) NOT NULL COMMENT '对应flow_definition表的id', + `business_id` varchar(40) NOT NULL COMMENT '业务id', + `node_type` tinyint(1) NOT NULL COMMENT '节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)', + `node_code` varchar(40) NOT NULL COMMENT '流程节点编码', + `node_name` varchar(100) DEFAULT NULL COMMENT '流程节点名称', + `variable` text COMMENT '任务变量', + `flow_status` varchar(20) NOT NULL COMMENT '流程状态(0待提交 1审批中 2审批通过 4终止 5作废 6撤销 8已完成 9已退回 10失效 11拿回)', + `activity_status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '流程激活状态(0挂起 1激活)', + `def_json` text COMMENT '流程定义json', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `ext` varchar(500) DEFAULT NULL COMMENT '扩展字段,预留给业务系统使用', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标志', + `tenant_id` varchar(40) DEFAULT NULL COMMENT '租户id', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程实例表'; + +-- ---------------------------- +-- Table structure for flow_instance_bak +-- ---------------------------- +DROP TABLE IF EXISTS `flow_instance_bak`; +CREATE TABLE `flow_instance_bak` ( + `id` bigint(20) NOT NULL COMMENT '主键id', + `definition_id` bigint(20) NOT NULL COMMENT '对应flow_definition表的id', + `business_id` varchar(40) NOT NULL COMMENT '业务id', + `node_type` tinyint(1) NOT NULL COMMENT '节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)', + `node_code` varchar(40) NOT NULL COMMENT '流程节点编码', + `node_name` varchar(100) DEFAULT NULL COMMENT '流程节点名称', + `variable` text COMMENT '任务变量', + `flow_status` varchar(20) NOT NULL COMMENT '流程状态(0待提交 1审批中 2审批通过 4终止 5作废 6撤销 8已完成 9已退回 10失效 11拿回)', + `activity_status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '流程激活状态(0挂起 1激活)', + `def_json` text COMMENT '流程定义json', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `ext` varchar(500) DEFAULT NULL COMMENT '扩展字段,预留给业务系统使用', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标志', + `tenant_id` varchar(40) DEFAULT NULL COMMENT '租户id', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程实例表'; + +-- ---------------------------- +-- Table structure for flow_node +-- ---------------------------- +DROP TABLE IF EXISTS `flow_node`; +CREATE TABLE `flow_node` ( + `id` bigint(20) NOT NULL COMMENT '主键id', + `node_type` tinyint(1) NOT NULL COMMENT '节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)', + `definition_id` bigint(20) NOT NULL COMMENT '流程定义id', + `node_code` varchar(100) NOT NULL COMMENT '流程节点编码', + `node_name` varchar(100) DEFAULT NULL COMMENT '流程节点名称', + `permission_flag` varchar(200) DEFAULT NULL COMMENT '权限标识(权限类型:权限标识,可以多个,用逗号隔开)', + `node_ratio` decimal(6,3) DEFAULT NULL COMMENT '流程签署比例值', + `coordinate` varchar(100) DEFAULT NULL COMMENT '坐标', + `any_node_skip` varchar(100) DEFAULT NULL COMMENT '任意结点跳转', + `listener_type` varchar(100) DEFAULT NULL COMMENT '监听器类型', + `listener_path` varchar(400) DEFAULT NULL COMMENT '监听器路径', + `handler_type` varchar(100) DEFAULT NULL COMMENT '处理器类型', + `handler_path` varchar(400) DEFAULT NULL COMMENT '处理器路径', + `form_custom` char(1) DEFAULT 'N' COMMENT '审批表单是否自定义(Y是 N否)', + `form_path` varchar(100) DEFAULT NULL COMMENT '审批表单路径', + `version` varchar(20) NOT NULL COMMENT '版本', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `ext` text COMMENT '扩展属性', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标志', + `tenant_id` varchar(40) DEFAULT NULL COMMENT '租户id', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程节点表'; + +-- ---------------------------- +-- Table structure for flow_node_bak +-- ---------------------------- +DROP TABLE IF EXISTS `flow_node_bak`; +CREATE TABLE `flow_node_bak` ( + `id` bigint(20) NOT NULL COMMENT '主键id', + `node_type` tinyint(1) NOT NULL COMMENT '节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)', + `definition_id` bigint(20) NOT NULL COMMENT '流程定义id', + `node_code` varchar(100) NOT NULL COMMENT '流程节点编码', + `node_name` varchar(100) DEFAULT NULL COMMENT '流程节点名称', + `permission_flag` varchar(200) DEFAULT NULL COMMENT '权限标识(权限类型:权限标识,可以多个,用逗号隔开)', + `node_ratio` decimal(6,3) DEFAULT NULL COMMENT '流程签署比例值', + `coordinate` varchar(100) DEFAULT NULL COMMENT '坐标', + `any_node_skip` varchar(100) DEFAULT NULL COMMENT '任意结点跳转', + `listener_type` varchar(100) DEFAULT NULL COMMENT '监听器类型', + `listener_path` varchar(400) DEFAULT NULL COMMENT '监听器路径', + `handler_type` varchar(100) DEFAULT NULL COMMENT '处理器类型', + `handler_path` varchar(400) DEFAULT NULL COMMENT '处理器路径', + `form_custom` char(1) DEFAULT 'N' COMMENT '审批表单是否自定义(Y是 N否)', + `form_path` varchar(100) DEFAULT NULL COMMENT '审批表单路径', + `version` varchar(20) NOT NULL COMMENT '版本', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `ext` text COMMENT '扩展属性', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标志', + `tenant_id` varchar(40) DEFAULT NULL COMMENT '租户id', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程节点表'; + +-- ---------------------------- +-- Table structure for flow_skip +-- ---------------------------- +DROP TABLE IF EXISTS `flow_skip`; +CREATE TABLE `flow_skip` ( + `id` bigint(20) NOT NULL COMMENT '主键id', + `definition_id` bigint(20) NOT NULL COMMENT '流程定义id', + `now_node_code` varchar(100) NOT NULL COMMENT '当前流程节点的编码', + `now_node_type` tinyint(1) DEFAULT NULL COMMENT '当前节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)', + `next_node_code` varchar(100) NOT NULL COMMENT '下一个流程节点的编码', + `next_node_type` tinyint(1) DEFAULT NULL COMMENT '下一个节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)', + `skip_name` varchar(100) DEFAULT NULL COMMENT '跳转名称', + `skip_type` varchar(40) DEFAULT NULL COMMENT '跳转类型(PASS审批通过 REJECT退回)', + `skip_condition` varchar(200) DEFAULT NULL COMMENT '跳转条件', + `coordinate` varchar(100) DEFAULT NULL COMMENT '坐标', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标志', + `tenant_id` varchar(40) DEFAULT NULL COMMENT '租户id', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='节点跳转关联表'; + +-- ---------------------------- +-- Table structure for flow_skip_bak +-- ---------------------------- +DROP TABLE IF EXISTS `flow_skip_bak`; +CREATE TABLE `flow_skip_bak` ( + `id` bigint(20) NOT NULL COMMENT '主键id', + `definition_id` bigint(20) NOT NULL COMMENT '流程定义id', + `now_node_code` varchar(100) NOT NULL COMMENT '当前流程节点的编码', + `now_node_type` tinyint(1) DEFAULT NULL COMMENT '当前节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)', + `next_node_code` varchar(100) NOT NULL COMMENT '下一个流程节点的编码', + `next_node_type` tinyint(1) DEFAULT NULL COMMENT '下一个节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)', + `skip_name` varchar(100) DEFAULT NULL COMMENT '跳转名称', + `skip_type` varchar(40) DEFAULT NULL COMMENT '跳转类型(PASS审批通过 REJECT退回)', + `skip_condition` varchar(200) DEFAULT NULL COMMENT '跳转条件', + `coordinate` varchar(100) DEFAULT NULL COMMENT '坐标', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标志', + `tenant_id` varchar(40) DEFAULT NULL COMMENT '租户id', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='节点跳转关联表'; + +-- ---------------------------- +-- Table structure for flow_task +-- ---------------------------- +DROP TABLE IF EXISTS `flow_task`; +CREATE TABLE `flow_task` ( + `id` bigint(20) NOT NULL COMMENT '主键id', + `definition_id` bigint(20) NOT NULL COMMENT '对应flow_definition表的id', + `instance_id` bigint(20) NOT NULL COMMENT '对应flow_instance表的id', + `node_code` varchar(100) NOT NULL COMMENT '节点编码', + `node_name` varchar(100) DEFAULT NULL COMMENT '节点名称', + `node_type` tinyint(1) NOT NULL COMMENT '节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)', + `flow_status` varchar(20) NOT NULL COMMENT '流程状态(0待提交 1审批中 2审批通过 4终止 5作废 6撤销 8已完成 9已退回 10失效 11拿回)', + `form_custom` char(1) DEFAULT 'N' COMMENT '审批表单是否自定义(Y是 N否)', + `form_path` varchar(100) DEFAULT NULL COMMENT '审批表单路径', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标志', + `tenant_id` varchar(40) DEFAULT NULL COMMENT '租户id', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='待办任务表'; + +-- ---------------------------- +-- Table structure for flow_task_bak +-- ---------------------------- +DROP TABLE IF EXISTS `flow_task_bak`; +CREATE TABLE `flow_task_bak` ( + `id` bigint(20) NOT NULL COMMENT '主键id', + `definition_id` bigint(20) NOT NULL COMMENT '对应flow_definition表的id', + `instance_id` bigint(20) NOT NULL COMMENT '对应flow_instance表的id', + `node_code` varchar(100) NOT NULL COMMENT '节点编码', + `node_name` varchar(100) DEFAULT NULL COMMENT '节点名称', + `node_type` tinyint(1) NOT NULL COMMENT '节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)', + `flow_status` varchar(20) NOT NULL COMMENT '流程状态(0待提交 1审批中 2审批通过 4终止 5作废 6撤销 8已完成 9已退回 10失效 11拿回)', + `form_custom` char(1) DEFAULT 'N' COMMENT '审批表单是否自定义(Y是 N否)', + `form_path` varchar(100) DEFAULT NULL COMMENT '审批表单路径', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标志', + `tenant_id` varchar(40) DEFAULT NULL COMMENT '租户id', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='待办任务表'; + +-- ---------------------------- +-- Table structure for flow_user +-- ---------------------------- +DROP TABLE IF EXISTS `flow_user`; +CREATE TABLE `flow_user` ( + `id` bigint(20) NOT NULL COMMENT '主键id', + `type` char(1) NOT NULL COMMENT '人员类型(1待办任务的审批人权限 2待办任务的转办人权限 3待办任务的委托人权限)', + `processed_by` varchar(80) DEFAULT NULL COMMENT '权限人', + `associated` bigint(20) NOT NULL COMMENT '任务表id', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `create_by` varchar(80) DEFAULT NULL COMMENT '创建人', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标志', + `tenant_id` varchar(40) DEFAULT NULL COMMENT '租户id', + PRIMARY KEY (`id`) USING BTREE, + KEY `user_processed_type` (`processed_by`,`type`), + KEY `user_associated` (`associated`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程用户表'; + +-- ---------------------------- +-- Table structure for flow_user_bak +-- ---------------------------- +DROP TABLE IF EXISTS `flow_user_bak`; +CREATE TABLE `flow_user_bak` ( + `id` bigint(20) NOT NULL COMMENT '主键id', + `type` char(1) NOT NULL COMMENT '人员类型(1待办任务的审批人权限 2待办任务的转办人权限 3待办任务的委托人权限)', + `processed_by` varchar(80) DEFAULT NULL COMMENT '权限人', + `associated` bigint(20) NOT NULL COMMENT '任务表id', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `create_by` varchar(80) DEFAULT NULL COMMENT '创建人', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标志', + `tenant_id` varchar(40) DEFAULT NULL COMMENT '租户id', + PRIMARY KEY (`id`) USING BTREE, + KEY `user_processed_type` (`processed_by`,`type`), + KEY `user_associated` (`associated`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程用户表'; + +-- ---------------------------- +-- Table structure for gen_table +-- ---------------------------- +DROP TABLE IF EXISTS `gen_table`; +CREATE TABLE `gen_table` ( + `table_id` bigint(20) NOT NULL COMMENT '编号', + `data_name` varchar(200) DEFAULT '' COMMENT '数据源名称', + `table_name` varchar(200) DEFAULT '' COMMENT '表名称', + `table_comment` varchar(500) DEFAULT '' COMMENT '表描述', + `sub_table_name` varchar(64) DEFAULT NULL COMMENT '关联子表的表名', + `sub_table_fk_name` varchar(64) DEFAULT NULL COMMENT '子表关联的外键名', + `class_name` varchar(100) DEFAULT '' COMMENT '实体类名称', + `tpl_category` varchar(200) DEFAULT 'crud' COMMENT '使用的模板(crud单表操作 tree树表操作)', + `package_name` varchar(100) DEFAULT NULL COMMENT '生成包路径', + `module_name` varchar(30) DEFAULT NULL COMMENT '生成模块名', + `business_name` varchar(30) DEFAULT NULL COMMENT '生成业务名', + `function_name` varchar(50) DEFAULT NULL COMMENT '生成功能名', + `function_author` varchar(50) DEFAULT NULL COMMENT '生成功能作者', + `gen_type` char(1) DEFAULT '0' COMMENT '生成代码方式(0zip压缩包 1自定义路径)', + `gen_path` varchar(200) DEFAULT '/' COMMENT '生成路径(不填默认项目路径)', + `options` varchar(1000) DEFAULT NULL COMMENT '其它生成选项', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`table_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='代码生成业务表'; + +-- ---------------------------- +-- Table structure for gen_table_column +-- ---------------------------- +DROP TABLE IF EXISTS `gen_table_column`; +CREATE TABLE `gen_table_column` ( + `column_id` bigint(20) NOT NULL COMMENT '编号', + `table_id` bigint(20) DEFAULT NULL COMMENT '归属表编号', + `column_name` varchar(200) DEFAULT NULL COMMENT '列名称', + `column_comment` varchar(500) DEFAULT NULL COMMENT '列描述', + `column_type` varchar(100) DEFAULT NULL COMMENT '列类型', + `java_type` varchar(500) DEFAULT NULL COMMENT 'JAVA类型', + `java_field` varchar(200) DEFAULT NULL COMMENT 'JAVA字段名', + `is_pk` char(1) DEFAULT NULL COMMENT '是否主键(1是)', + `is_increment` char(1) DEFAULT NULL COMMENT '是否自增(1是)', + `is_required` char(1) DEFAULT NULL COMMENT '是否必填(1是)', + `is_insert` char(1) DEFAULT NULL COMMENT '是否为插入字段(1是)', + `is_edit` char(1) DEFAULT NULL COMMENT '是否编辑字段(1是)', + `is_list` char(1) DEFAULT NULL COMMENT '是否列表字段(1是)', + `is_query` char(1) DEFAULT NULL COMMENT '是否查询字段(1是)', + `query_type` varchar(200) DEFAULT 'EQ' COMMENT '查询方式(等于、不等于、大于、小于、范围)', + `html_type` varchar(200) DEFAULT NULL COMMENT '显示类型(文本框、文本域、下拉框、复选框、单选框、日期控件)', + `dict_type` varchar(200) DEFAULT '' COMMENT '字典类型', + `sort` int(11) DEFAULT NULL COMMENT '排序', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`column_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='代码生成业务表字段'; + +-- ---------------------------- +-- Table structure for his_bjsj +-- ---------------------------- +DROP TABLE IF EXISTS `his_bjsj`; +CREATE TABLE `his_bjsj` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT, + `class_code` varchar(128) DEFAULT NULL, + `class_name` varchar(256) DEFAULT NULL, + `major_code` varchar(64) DEFAULT NULL, + `major_name` varchar(256) DEFAULT NULL, + `college_code` varchar(64) DEFAULT NULL, + `enrollment_year` varchar(16) DEFAULT NULL, + `enrollment_date` varchar(64) DEFAULT NULL, + `teaching_dept` varchar(256) DEFAULT NULL, + `class_teacher` varchar(128) DEFAULT NULL, + `student_type` varchar(64) DEFAULT NULL, + `level_code` varchar(64) DEFAULT NULL, + `level_name` varchar(256) DEFAULT NULL, + `grade` varchar(64) DEFAULT NULL, + `school_system` varchar(16) DEFAULT NULL, + `full_row` json DEFAULT NULL, + `created_at` datetime DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + UNIQUE KEY `uk_class_code` (`class_code`) +) ENGINE=InnoDB AUTO_INCREMENT=643 DEFAULT CHARSET=utf8mb4; + +-- ---------------------------- +-- Table structure for his_lssj +-- ---------------------------- +DROP TABLE IF EXISTS `his_lssj`; +CREATE TABLE `his_lssj` ( + `工号` text, + `姓名` text, + `部门` text, + `性别` text, + `手机号码` text +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + +-- ---------------------------- +-- Table structure for his_xssj +-- ---------------------------- +DROP TABLE IF EXISTS `his_xssj`; +CREATE TABLE `his_xssj` ( + `学号` text, + `姓名` text, + `性别` text, + `学生状态` text, + `身份证号` text, + `出生日期` text, + `籍贯` text, + `政治面貌` text, + `入学年份` text, + `入学日期` text, + `教学系部` text, + `班级名称` text, + `班主任` text, + `录取号` text, + `学生类别` text, + `学院编号` text, + `专业编号` text, + `专业名称` text, + `层次编号` text, + `报读层次` text, + `所属年级` text, + `班级编号` text, + `学制编码` text, + `学生标识号` text, + `生源省区编码` text, + `生源省区` text, + `银行卡号` text, + `联系方式` text, + `个人邮箱` text, + `家庭住址` text, + `招生季度` text, + `毕业院校` text, + `文化程度` text, + `收入来源` text, + `家庭年总收入` text, + `家庭人均收入` text, + `爱好特长` text, + `户口性质` text, + `户口所在地` text, + `是否低保` text, + `家长电话` text, + `家长姓名` text, + `是否空身份证` text, + `学生自定义类别` text, + `是否住校` text, + `宿舍号码` text +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + +-- ---------------------------- +-- Table structure for hq_hall_info +-- ---------------------------- +DROP TABLE IF EXISTS `hq_hall_info`; +CREATE TABLE `hq_hall_info` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `hall_name` varchar(100) NOT NULL COMMENT '报告厅名称', + `hall_image` text COMMENT '报告厅图片url', + `hall_status` char(1) NOT NULL DEFAULT '1' COMMENT '报告厅状态:0-不可用,1-正常', + `hall_description` text COMMENT '报告厅描述', + PRIMARY KEY (`id`), + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_hall_status` (`hall_status`), + KEY `idx_deleted` (`deleted`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='报告厅信息表'; + +-- ---------------------------- +-- Table structure for hq_hall_reservation +-- ---------------------------- +DROP TABLE IF EXISTS `hq_hall_reservation`; +CREATE TABLE `hq_hall_reservation` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `hall_id` bigint(20) NOT NULL COMMENT '报告厅ID', + `hall_name` varchar(100) NOT NULL COMMENT '报告厅名称', + `start_time` datetime NOT NULL COMMENT '开始时间', + `end_time` datetime NOT NULL COMMENT '结束时间', + `reservation_purpose` varchar(200) NOT NULL COMMENT '预约用途', + `applicant_id` bigint(20) NOT NULL COMMENT '申请人id', + `applicant_name` varchar(50) NOT NULL COMMENT '申请人姓名', + `applicant_phone` varchar(20) DEFAULT NULL COMMENT '申请人电话', + `status` char(1) NOT NULL DEFAULT '0' COMMENT '预约状态:0-待审核,1-预约成功,2-预约失败', + `audit_by` bigint(20) DEFAULT NULL COMMENT '审核人id', + `audit_name` varchar(50) DEFAULT NULL COMMENT '审核人姓名', + `audit_time` datetime DEFAULT NULL COMMENT '审核时间', + `audit_remark` varchar(500) DEFAULT NULL COMMENT '审核备注', + PRIMARY KEY (`id`), + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_hall_id` (`hall_id`), + KEY `idx_status` (`status`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='报告厅预约表'; + +-- ---------------------------- +-- Table structure for hq_pm_repair_attachment +-- ---------------------------- +DROP TABLE IF EXISTS `hq_pm_repair_attachment`; +CREATE TABLE `hq_pm_repair_attachment` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `order_id` bigint(20) DEFAULT NULL COMMENT '报修工单ID,关联pm_repair_order.id', + `file_name` varchar(200) NOT NULL COMMENT '文件原始名称', + `file_path` varchar(500) NOT NULL COMMENT '文件存储路径', + `file_size` bigint(20) NOT NULL COMMENT '文件大小(字节)', + `file_type` varchar(20) NOT NULL COMMENT '文件类型:image-图片,video-视频', + `file_extension` varchar(10) NOT NULL COMMENT '文件扩展名', + `file_mime_type` varchar(100) DEFAULT NULL COMMENT '文件MIME类型', + `upload_stage` char(1) NOT NULL DEFAULT '1' COMMENT '上传阶段:1-报修申请,2-维修过程,3-完成确认', + `uploader_id` bigint(20) NOT NULL COMMENT '上传人ID,关联sys_user.id', + `uploader_name` varchar(50) NOT NULL COMMENT '上传人姓名', + `thumbnail_path` varchar(500) DEFAULT NULL COMMENT '缩略图路径(图片文件)', + `duration` int(11) DEFAULT NULL COMMENT '时长(视频文件,秒)', + `resolution` varchar(20) DEFAULT NULL COMMENT '分辨率(如:1920x1080)', + `description` varchar(200) DEFAULT NULL COMMENT '文件描述说明', + `sort_order` int(11) DEFAULT '0' COMMENT '排序顺序', + PRIMARY KEY (`id`) USING BTREE, + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_deleted` (`deleted`), + KEY `idx_order_id` (`order_id`), + KEY `idx_upload_stage` (`upload_stage`), + KEY `idx_uploader_id` (`uploader_id`), + KEY `idx_create_time` (`create_time`), + KEY `idx_file_type` (`file_type`), + KEY `idx_order_stage` (`order_id`,`upload_stage`), + KEY `idx_uploader_time` (`uploader_id`,`create_time`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='报修附件表'; + +-- ---------------------------- +-- Table structure for hq_pm_repair_category +-- ---------------------------- +DROP TABLE IF EXISTS `hq_pm_repair_category`; +CREATE TABLE `hq_pm_repair_category` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `category_name` varchar(50) NOT NULL COMMENT '类型名称', + `category_code` varchar(20) NOT NULL COMMENT '类型编码', + `category_description` varchar(200) DEFAULT NULL COMMENT '类型描述', + `parent_id` bigint(20) DEFAULT '0' COMMENT '父级ID,顶级为0', + `ancestor_ids` varchar(500) DEFAULT '0' COMMENT '祖级列表(逗号分隔)', + `level_depth` tinyint(2) DEFAULT '1' COMMENT '层级深度(1-顶级,2-二级...)', + `children_count` int(11) DEFAULT '0' COMMENT '子类数量', + `required_skills` varchar(200) DEFAULT NULL COMMENT '所需专业技能(逗号分隔)', + `skill_level` char(1) DEFAULT '1' COMMENT '技能等级要求:1-初级,2-中级,3-高级', + `estimated_duration` int(11) DEFAULT NULL COMMENT '预估维修时长(分钟)', + `standard_cost` decimal(10,2) DEFAULT NULL COMMENT '标准成本(元)', + `icon_url` varchar(200) DEFAULT NULL COMMENT '分类图标URL', + `color_code` varchar(10) DEFAULT '#1890ff' COMMENT '分类颜色代码', + `sort_order` int(11) DEFAULT '0' COMMENT '排序顺序', + `status` char(1) DEFAULT '1' COMMENT '状态(0-停用,1-正常)', + `usage_count` int(11) DEFAULT '0' COMMENT '使用次数统计', + `last_used_time` datetime DEFAULT NULL COMMENT '最后使用时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注信息', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE KEY `uk_category_code` (`category_code`,`tenant_id`), + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_deleted` (`deleted`), + KEY `idx_parent_id` (`parent_id`), + KEY `idx_status` (`status`), + KEY `idx_sort_order` (`sort_order`), + KEY `idx_level_depth` (`level_depth`), + KEY `idx_usage_count` (`usage_count`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='维修类型表'; + +-- ---------------------------- +-- Table structure for hq_pm_repair_order +-- ---------------------------- +DROP TABLE IF EXISTS `hq_pm_repair_order`; +CREATE TABLE `hq_pm_repair_order` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `order_no` varchar(50) NOT NULL COMMENT '工单编号,格式:RO+年月日+4位流水号', + `title` varchar(200) NOT NULL COMMENT '报修标题', + `description` text NOT NULL COMMENT '问题描述', + `repair_location` varchar(200) NOT NULL COMMENT '报修地点', + `category_id` bigint(20) NOT NULL COMMENT '维修类型ID,关联pm_repair_category.id', + `priority_level` tinyint(1) NOT NULL DEFAULT '3' COMMENT '紧急程度:1-非常紧急,2-紧急,3-一般,4-不紧急,5-可延后', + `expected_finish_time` datetime DEFAULT NULL COMMENT '期望完成时间', + `reporter_id` bigint(20) NOT NULL COMMENT '报修人ID,关联sys_user.id', + `reporter_name` varchar(50) NOT NULL COMMENT '报修人姓名', + `reporter_phone` varchar(20) NOT NULL COMMENT '报修人电话', + `reporter_dept` varchar(100) DEFAULT NULL COMMENT '报修人部门', + `order_status` char(1) NOT NULL DEFAULT '1' COMMENT '工单状态:1-待分派,2-已分派,3-进行中,4-已完成,5-已评价,6-已归档,9-已取消', + `assign_time` datetime DEFAULT NULL COMMENT '分派时间', + `assignee_id` bigint(20) DEFAULT NULL COMMENT '分派维修员ID,关联sys_user.id', + `assignee_name` varchar(50) DEFAULT NULL COMMENT '分派维修员姓名', + `assign_remark` varchar(500) DEFAULT NULL COMMENT '分派备注说明', + `start_time` datetime DEFAULT NULL COMMENT '开始处理时间', + `finish_time` datetime DEFAULT NULL COMMENT '完成时间', + `total_duration` int(11) DEFAULT NULL COMMENT '总处理时长(分钟)', + `repair_result` text COMMENT '维修结果描述', + `used_materials` varchar(500) DEFAULT NULL COMMENT '使用材料清单', + `follow_suggestions` varchar(500) DEFAULT NULL COMMENT '后续建议', + `evaluation_score` decimal(3,1) DEFAULT NULL COMMENT '综合评价得分(1.0-5.0)', + `evaluation_time` datetime DEFAULT NULL COMMENT '评价时间', + `attachment_count` int(11) DEFAULT '0' COMMENT '附件数量', + `progress_count` int(11) DEFAULT '0' COMMENT '进度记录数量', + `cancel_reason` varchar(500) DEFAULT NULL COMMENT '取消原因', + `remark` varchar(500) DEFAULT NULL COMMENT '备注信息', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE KEY `uk_order_no` (`order_no`,`tenant_id`), + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_deleted` (`deleted`), + KEY `idx_order_status` (`order_status`), + KEY `idx_priority_level` (`priority_level`), + KEY `idx_create_time` (`create_time`), + KEY `idx_reporter_id` (`reporter_id`), + KEY `idx_assignee_id` (`assignee_id`), + KEY `idx_category_id` (`category_id`), + KEY `idx_assign_time` (`assign_time`), + KEY `idx_finish_time` (`finish_time`), + KEY `idx_tenant_status` (`tenant_id`,`order_status`,`deleted`), + KEY `idx_status_time` (`order_status`,`create_time`), + KEY `idx_assignee_status` (`assignee_id`,`order_status`), + KEY `idx_reporter_time` (`reporter_id`,`create_time`), + KEY `idx_priority_assign` (`priority_level`,`assign_time`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='报修工单表'; + +-- ---------------------------- +-- Table structure for hq_pm_repair_progress +-- ---------------------------- +DROP TABLE IF EXISTS `hq_pm_repair_progress`; +CREATE TABLE `hq_pm_repair_progress` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `order_id` bigint(20) NOT NULL COMMENT '报修工单ID,关联pm_repair_order.id', + `progress_type` char(1) NOT NULL COMMENT '进度类型:1-工单分派,2-接收确认,3-到达现场,4-开始维修,5-进度更新,6-完成维修,7-用户评价,8-工单归档,9-其他', + `progress_status` varchar(50) NOT NULL COMMENT '进度状态描述', + `progress_detail` text COMMENT '进度详细描述', + `operator_id` bigint(20) NOT NULL COMMENT '操作人ID,关联sys_user.id', + `operator_name` varchar(50) NOT NULL COMMENT '操作人姓名', + `operator_role` varchar(20) NOT NULL COMMENT '操作人角色:user-用户,admin-管理员,worker-维修员', + `location_info` varchar(200) DEFAULT NULL COMMENT '操作位置信息', + `gps_latitude` decimal(10,7) DEFAULT NULL COMMENT 'GPS纬度', + `gps_longitude` decimal(10,7) DEFAULT NULL COMMENT 'GPS经度', + `operation_time` datetime NOT NULL COMMENT '操作时间', + `estimated_duration` int(11) DEFAULT NULL COMMENT '预计耗时(分钟)', + `attachment_ids` varchar(500) DEFAULT NULL COMMENT '关联附件ID列表(逗号分隔)', + `next_step` varchar(200) DEFAULT NULL COMMENT '下一步计划', + `issues_encountered` varchar(500) DEFAULT NULL COMMENT '遇到的问题', + `materials_needed` varchar(200) DEFAULT NULL COMMENT '需要的材料', + `remark` varchar(500) DEFAULT NULL COMMENT '备注信息', + PRIMARY KEY (`id`) USING BTREE, + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_deleted` (`deleted`), + KEY `idx_order_id` (`order_id`), + KEY `idx_progress_type` (`progress_type`), + KEY `idx_operator_id` (`operator_id`), + KEY `idx_operation_time` (`operation_time`), + KEY `idx_create_time` (`create_time`), + KEY `idx_order_time` (`order_id`,`operation_time`), + KEY `idx_order_operation_time` (`order_id`,`operation_time`), + KEY `idx_operator_time` (`operator_id`,`operation_time`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='维修进度表'; + +-- ---------------------------- +-- Table structure for hq_pm_service_evaluation +-- ---------------------------- +DROP TABLE IF EXISTS `hq_pm_service_evaluation`; +CREATE TABLE `hq_pm_service_evaluation` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `order_id` bigint(20) NOT NULL COMMENT '报修工单ID,关联pm_repair_order.id', + `evaluator_id` bigint(20) NOT NULL COMMENT '评价人ID,关联sys_user.id', + `evaluator_name` varchar(50) NOT NULL COMMENT '评价人姓名', + `evaluated_worker_id` bigint(20) NOT NULL COMMENT '被评价维修员ID,关联sys_user.id', + `evaluated_worker_name` varchar(50) NOT NULL COMMENT '被评价维修员姓名', + `overall_score` decimal(3,1) NOT NULL COMMENT '综合评价得分(1.0-5.0)', + `quality_score` decimal(3,1) NOT NULL COMMENT '维修质量得分(1.0-5.0)', + `attitude_score` decimal(3,1) NOT NULL COMMENT '服务态度得分(1.0-5.0)', + `response_speed_score` decimal(3,1) NOT NULL COMMENT '响应速度得分(1.0-5.0)', + `communication_score` decimal(3,1) NOT NULL COMMENT '沟通效果得分(1.0-5.0)', + `evaluation_content` text COMMENT '文字评价内容', + `satisfaction_level` char(1) NOT NULL COMMENT '满意度等级:1-非常满意,2-满意,3-一般,4-不满意,5-非常不满意', + `is_anonymous` tinyint(1) DEFAULT '0' COMMENT '是否匿名评价(0-实名,1-匿名)', + `is_public` tinyint(1) DEFAULT '1' COMMENT '是否公开显示(0-不公开,1-公开)', + `evaluation_time` datetime NOT NULL COMMENT '评价时间', + `service_start_time` datetime DEFAULT NULL COMMENT '服务开始时间', + `service_end_time` datetime DEFAULT NULL COMMENT '服务结束时间', + `service_duration` int(11) DEFAULT NULL COMMENT '服务时长(分钟)', + `positive_tags` varchar(200) DEFAULT NULL COMMENT '正面标签(逗号分隔)', + `negative_tags` varchar(200) DEFAULT NULL COMMENT '负面标签(逗号分隔)', + `improvement_suggestions` varchar(500) DEFAULT NULL COMMENT '改进建议', + `remark` varchar(500) DEFAULT NULL COMMENT '备注信息', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE KEY `uk_order_evaluation` (`order_id`,`tenant_id`), + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_deleted` (`deleted`), + KEY `idx_evaluator_id` (`evaluator_id`), + KEY `idx_evaluated_worker_id` (`evaluated_worker_id`), + KEY `idx_overall_score` (`overall_score`), + KEY `idx_satisfaction_level` (`satisfaction_level`), + KEY `idx_evaluation_time` (`evaluation_time`), + KEY `idx_create_time` (`create_time`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='服务评价表'; + +-- ---------------------------- +-- Table structure for hq_pm_system_config +-- ---------------------------- +DROP TABLE IF EXISTS `hq_pm_system_config`; +CREATE TABLE `hq_pm_system_config` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `config_key` varchar(100) NOT NULL COMMENT '配置键名', + `config_value` text COMMENT '配置值', + `config_type` varchar(20) NOT NULL COMMENT '配置类型:string-字符串,number-数字,boolean-布尔,json-JSON对象', + `config_group` varchar(50) NOT NULL COMMENT '配置分组:file-文件设置,time-时间设置,workflow-流程设置', + `config_name` varchar(100) NOT NULL COMMENT '配置名称', + `config_description` varchar(500) DEFAULT NULL COMMENT '配置描述说明', + `default_value` text COMMENT '默认值', + `is_system` tinyint(1) DEFAULT '0' COMMENT '是否系统内置(0-否,1-是,系统内置不可删除)', + `is_editable` tinyint(1) DEFAULT '1' COMMENT '是否可编辑(0-否,1-是)', + `validation_rule` varchar(200) DEFAULT NULL COMMENT '验证规则(正则表达式或范围)', + `sort_order` int(11) DEFAULT '0' COMMENT '排序顺序', + `status` char(1) DEFAULT '1' COMMENT '状态(0-停用,1-正常)', + `remark` varchar(500) DEFAULT NULL COMMENT '备注信息', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE KEY `uk_config_key` (`config_key`,`tenant_id`), + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_deleted` (`deleted`), + KEY `idx_config_group` (`config_group`), + KEY `idx_status` (`status`), + KEY `idx_sort_order` (`sort_order`), + KEY `idx_is_system` (`is_system`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='系统配置表'; + +-- ---------------------------- +-- Table structure for hq_sat_answer +-- ---------------------------- +DROP TABLE IF EXISTS `hq_sat_answer`; +CREATE TABLE `hq_sat_answer` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `record_id` bigint(20) NOT NULL COMMENT '答题记录ID', + `question_id` bigint(20) NOT NULL COMMENT '题目ID', + `question_type` char(1) NOT NULL COMMENT '题目类型(1单选题 2多选题 3问答题)', + `option_id` bigint(20) DEFAULT NULL COMMENT '选项ID(单选题、多选题用,问答题为NULL)', + `option_value` varchar(50) DEFAULT NULL COMMENT '选项值(A、B、C、D等)', + `option_text` varchar(500) DEFAULT NULL COMMENT '选项文本内容', + `answer_value` text COMMENT '答案值(单选题存选项值,多选题存逗号分隔选项值,问答题存文本内容)', + `answer_score` int(11) DEFAULT '0' COMMENT '该答案得分', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`), + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_record_id` (`record_id`), + KEY `idx_question_id` (`question_id`), + KEY `idx_question_type` (`question_type`), + KEY `idx_option_id` (`option_id`), + KEY `idx_record_question` (`record_id`,`question_id`) +) ENGINE=InnoDB AUTO_INCREMENT=432 DEFAULT CHARSET=utf8mb4 COMMENT='答题答案表'; + +-- ---------------------------- +-- Table structure for hq_sat_category +-- ---------------------------- +DROP TABLE IF EXISTS `hq_sat_category`; +CREATE TABLE `hq_sat_category` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `category_code` varchar(50) NOT NULL COMMENT '分类编码', + `category_name` varchar(100) NOT NULL COMMENT '分类名称', + `category_desc` varchar(500) DEFAULT NULL COMMENT '分类描述', + `sort_order` int(11) DEFAULT '0' COMMENT '排序', + `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_category_code` (`category_code`,`tenant_id`,`deleted`), + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_status` (`status`) +) ENGINE=InnoDB AUTO_INCREMENT=1959280742165159939 DEFAULT CHARSET=utf8mb4 COMMENT='题目分类表'; + +-- ---------------------------- +-- Table structure for hq_sat_detail +-- ---------------------------- +DROP TABLE IF EXISTS `hq_sat_detail`; +CREATE TABLE `hq_sat_detail` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `record_id` bigint(20) NOT NULL COMMENT '答题记录ID', + `question_id` bigint(20) NOT NULL COMMENT '题目ID', + `option_id` bigint(20) DEFAULT NULL COMMENT '题目选项id', + `answer_score` int(11) DEFAULT '0' COMMENT '答案分数', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`), + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_record_id` (`record_id`), + KEY `idx_question_id` (`question_id`), + KEY `idx_answer_score` (`answer_score`) +) ENGINE=InnoDB AUTO_INCREMENT=1947203274230128642 DEFAULT CHARSET=utf8mb4 COMMENT='答题详情表'; + +-- ---------------------------- +-- Table structure for hq_sat_option +-- ---------------------------- +DROP TABLE IF EXISTS `hq_sat_option`; +CREATE TABLE `hq_sat_option` ( + `id` bigint(20) NOT NULL COMMENT '选项ID', + `question_id` bigint(20) NOT NULL COMMENT '题目ID', + `option_content` varchar(255) NOT NULL COMMENT '选项内容', + `option_score` int(11) DEFAULT '0' COMMENT '选项分值', + `option_order` int(11) DEFAULT '0' COMMENT '选项排序', + `is_default` char(1) DEFAULT 'N' COMMENT '是否默认选项(Y是 N否)', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + PRIMARY KEY (`id`) USING BTREE, + KEY `idx_question_id` (`question_id`) COMMENT '题目ID索引' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='满意度调查题目选项表'; + +-- ---------------------------- +-- Table structure for hq_sat_question +-- ---------------------------- +DROP TABLE IF EXISTS `hq_sat_question`; +CREATE TABLE `hq_sat_question` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `question_title` varchar(200) NOT NULL COMMENT '题目标题', + `question_content` text COMMENT '题目内容(支持富文本)', + `category_id` bigint(20) NOT NULL COMMENT '所属分类ID', + `question_type` char(1) DEFAULT '1' COMMENT '题目类型(1单选题 2多选题 3问答题)', + `is_required` tinyint(1) DEFAULT '1' COMMENT '是否必填(0否 1是)', + `sort_order` int(11) DEFAULT '0' COMMENT '排序', + `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `score` int(11) DEFAULT '0' COMMENT '题目分值 默认0', + PRIMARY KEY (`id`), + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_category_id` (`category_id`), + KEY `idx_status` (`status`) +) ENGINE=InnoDB AUTO_INCREMENT=1959281908605296643 DEFAULT CHARSET=utf8mb4 COMMENT='题库表'; + +-- ---------------------------- +-- Table structure for hq_sat_record +-- ---------------------------- +DROP TABLE IF EXISTS `hq_sat_record`; +CREATE TABLE `hq_sat_record` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `survey_id` bigint(20) NOT NULL COMMENT '问卷ID', + `user_id` bigint(20) DEFAULT NULL COMMENT '答题用户ID(匿名时为NULL)', + `user_type` char(1) NOT NULL COMMENT '用户类型(1学生 2教职工 3超级管理员)', + `user_dept` varchar(100) DEFAULT NULL COMMENT '用户部门(匿名时为NULL)', + `submit_time` datetime NOT NULL COMMENT '提交时间', + `total_score` decimal(10,2) DEFAULT '0.00' COMMENT '总分', + `avg_score` decimal(5,2) DEFAULT '0.00' COMMENT '平均分', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`), + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_survey_id` (`survey_id`), + KEY `idx_user_id` (`user_id`), + KEY `idx_user_type` (`user_type`), + KEY `idx_submit_time` (`submit_time`) +) ENGINE=InnoDB AUTO_INCREMENT=1947203268504903682 DEFAULT CHARSET=utf8mb4 COMMENT='答题记录表'; + +-- ---------------------------- +-- Table structure for hq_sat_survey +-- ---------------------------- +DROP TABLE IF EXISTS `hq_sat_survey`; +CREATE TABLE `hq_sat_survey` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `survey_code` varchar(50) NOT NULL COMMENT '问卷编号', + `survey_title` varchar(200) NOT NULL COMMENT '问卷标题', + `survey_desc` varchar(1000) DEFAULT NULL COMMENT '问卷描述', + `survey_instruction` text COMMENT '填写说明', + `target_group` varchar(100) NOT NULL COMMENT '目标群体(1学生 2教职工 3全体)', + `start_time` datetime NOT NULL COMMENT '开始时间', + `end_time` datetime NOT NULL COMMENT '结束时间', + `max_submit_times` int(11) DEFAULT '1' COMMENT '最大提交次数(0不限制)', + `is_anonymous` tinyint(1) DEFAULT '0' COMMENT '是否匿名(0否 1是)', + `is_published` tinyint(1) DEFAULT '0' COMMENT '是否发布(0否 1是)', + `status` char(1) DEFAULT '0' COMMENT '状态(0草稿 1进行中 2已结束)', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `score` int(11) DEFAULT NULL COMMENT '问卷总分值', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_survey_code` (`survey_code`,`tenant_id`,`deleted`), + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_target_group` (`target_group`), + KEY `idx_time_range` (`start_time`,`end_time`), + KEY `idx_status` (`status`) +) ENGINE=InnoDB AUTO_INCREMENT=1959279680305799171 DEFAULT CHARSET=utf8mb4 COMMENT='问卷表'; + +-- ---------------------------- +-- Table structure for hq_sat_survey_question +-- ---------------------------- +DROP TABLE IF EXISTS `hq_sat_survey_question`; +CREATE TABLE `hq_sat_survey_question` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `survey_id` bigint(20) NOT NULL COMMENT '问卷ID', + `question_id` bigint(20) NOT NULL COMMENT '题目ID', + `sort_order` int(11) DEFAULT '0' COMMENT '题目顺序', + `weight` decimal(5,2) DEFAULT '1.00' COMMENT '题目权重', + `is_required` tinyint(1) DEFAULT '1' COMMENT '是否必填(0否 1是)', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_survey_question` (`survey_id`,`question_id`,`deleted`), + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_survey_id` (`survey_id`), + KEY `idx_question_id` (`question_id`), + KEY `idx_sort_order` (`sort_order`) +) ENGINE=InnoDB AUTO_INCREMENT=1959279938465210371 DEFAULT CHARSET=utf8mb4 COMMENT='问卷题目关联表'; + +-- ---------------------------- +-- Table structure for hq_venue_info +-- ---------------------------- +DROP TABLE IF EXISTS `hq_venue_info`; +CREATE TABLE `hq_venue_info` ( + `id` bigint(20) NOT NULL COMMENT '场地ID', + `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', + `venue_name` varchar(100) NOT NULL COMMENT '场地名称', + `venue_code` varchar(50) NOT NULL COMMENT '场地编码', + `venue_location` varchar(200) NOT NULL COMMENT '场地位置', + `venue_capacity` int(11) NOT NULL COMMENT '场地容量', + `venue_type` varchar(20) NOT NULL COMMENT '场地类型', + `venue_status` char(1) NOT NULL DEFAULT '1' COMMENT '场地状态(0-维修中 1-可用)', + `venue_description` text COMMENT '场地描述', + `venue_images` varchar(500) DEFAULT NULL COMMENT '场地图片', + `venue_manager_id` bigint(20) DEFAULT NULL COMMENT '场地管理员ID', + `venue_manager_name` varchar(30) DEFAULT NULL COMMENT '场地管理员姓名', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(4) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_venue_code` (`venue_code`), + KEY `idx_venue_type` (`venue_type`), + KEY `idx_venue_status` (`venue_status`), + KEY `idx_venue_manager` (`venue_manager_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='场地信息表'; + +-- ---------------------------- +-- Table structure for hq_venue_reservation +-- ---------------------------- +DROP TABLE IF EXISTS `hq_venue_reservation`; +CREATE TABLE `hq_venue_reservation` ( + `id` bigint(20) NOT NULL COMMENT '预约ID', + `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', + `venue_id` bigint(20) NOT NULL COMMENT '场地ID', + `venue_name` varchar(100) NOT NULL COMMENT '场地名称', + `applicant_id` bigint(20) NOT NULL COMMENT '申请人ID', + `applicant_name` varchar(30) NOT NULL COMMENT '申请人姓名', + `applicant_phone` varchar(20) NOT NULL COMMENT '联系方式', + `reservation_date` date NOT NULL COMMENT '预约日期', + `start_time` datetime NOT NULL COMMENT '开始时间', + `end_time` datetime NOT NULL COMMENT '结束时间', + `reservation_purpose` varchar(200) NOT NULL COMMENT '预约用途', + `participant_count` int(11) NOT NULL COMMENT '参与人数', + `special_requirements` text COMMENT '特殊需求', + `reservation_status` char(1) NOT NULL DEFAULT '0' COMMENT '预约状态(0-待审批 1-已批准 2-已拒绝)', + `approver_id` bigint(20) DEFAULT NULL COMMENT '审批人ID', + `approver_name` varchar(30) DEFAULT NULL COMMENT '审批人姓名', + `approve_time` datetime DEFAULT NULL COMMENT '审批时间', + `approve_remark` varchar(500) DEFAULT NULL COMMENT '审批意见', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(4) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + PRIMARY KEY (`id`), + KEY `idx_venue_id` (`venue_id`), + KEY `idx_applicant_id` (`applicant_id`), + KEY `idx_reservation_date` (`reservation_date`), + KEY `idx_reservation_status` (`reservation_status`), + KEY `idx_time_range` (`start_time`,`end_time`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='场地预约表'; + +-- ---------------------------- +-- Table structure for jcbt_application_attachment +-- ---------------------------- +DROP TABLE IF EXISTS `jcbt_application_attachment`; +CREATE TABLE `jcbt_application_attachment` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志', + `application_id` bigint(20) NOT NULL COMMENT '申请ID', + `application_no` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '申请编号', + `attachment_type` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '附件类型', + `file_name` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '文件名称', + `file_original_name` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '文件原始名称', + `file_path` varchar(500) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '文件存储路径', + `file_url` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '文件访问URL', + `file_size` bigint(20) NOT NULL COMMENT '文件大小', + `file_extension` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '文件扩展名', + `mime_type` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'MIME类型', + `upload_status` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '1' COMMENT '上传状态', + `is_required` tinyint(1) DEFAULT '1' COMMENT '是否必需', + PRIMARY KEY (`id`) USING BTREE, + KEY `idx_tenant_id` (`tenant_id`) USING BTREE, + KEY `idx_application` (`application_id`,`application_no`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='申请附件表'; + +-- ---------------------------- +-- Table structure for jcbt_application_flow +-- ---------------------------- +DROP TABLE IF EXISTS `jcbt_application_flow`; +CREATE TABLE `jcbt_application_flow` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志', + `application_id` bigint(20) NOT NULL COMMENT '申请ID', + `application_no` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '申请编号', + `flow_step` int(11) NOT NULL COMMENT '流转步骤', + `from_status` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '原状态', + `to_status` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '目标状态', + `action_type` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '操作类型', + `operator_id` bigint(20) NOT NULL COMMENT '操作人用户ID', + `operator_name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '操作人姓名', + `operator_role` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '操作人角色', + `operation_comment` text COLLATE utf8mb4_unicode_ci COMMENT '操作意见', + `operation_time` datetime NOT NULL COMMENT '操作时间', + `ip_address` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '操作IP地址', + PRIMARY KEY (`id`) USING BTREE, + KEY `idx_tenant_id` (`tenant_id`) USING BTREE, + KEY `idx_application` (`application_id`,`application_no`) USING BTREE, + KEY `idx_operator` (`operator_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='申请流程表'; + +-- ---------------------------- +-- Table structure for jcbt_assistance_type +-- ---------------------------- +DROP TABLE IF EXISTS `jcbt_assistance_type`; +CREATE TABLE `jcbt_assistance_type` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志', + `assistance_code` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '自助类型编码', + `assistance_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '自助类型名称', + `assistance_description` text COLLATE utf8mb4_unicode_ci COMMENT '自助类型说明', + `is_multi_select` tinyint(1) DEFAULT '1' COMMENT '是否支持多选', + `sort_order` int(11) DEFAULT '0' COMMENT '排序序号', + `status` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '1' COMMENT '状态', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE KEY `uk_assistance_code` (`assistance_code`) USING BTREE, + KEY `idx_tenant_id` (`tenant_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='助学金类型表'; + +-- ---------------------------- +-- Table structure for jcbt_poverty_application +-- ---------------------------- +DROP TABLE IF EXISTS `jcbt_poverty_application`; +CREATE TABLE `jcbt_poverty_application` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志', + `application_no` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '申请编号', + `academic_year` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '学年', + `term` tinyint(1) NOT NULL COMMENT '学期', + `student_id` bigint(20) NOT NULL COMMENT '学生ID', + `student_no` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '学号', + `student_name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '学生姓名', + `gender` char(1) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '性别', + `college_id` bigint(20) DEFAULT NULL COMMENT '学院ID', + `class_id` bigint(20) DEFAULT NULL COMMENT '班级ID', + `class_code` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '班级代码', + `class_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '班级名称', + `major_code` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '专业代码', + `major_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '专业名称', + `college_code` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '学院代码', + `college_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '学院名称', + `major_id` bigint(20) DEFAULT NULL COMMENT '专业ID', + `teacher_id` bigint(20) DEFAULT NULL COMMENT '班主任教师ID', + `teacher_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '班主任教师姓名', + `recognition_group` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '认定群体', + `recognition_type_id` bigint(20) NOT NULL COMMENT '认定类型ID', + `recognition_type_code` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '认定类型编码', + `recognition_type_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '认定类型名称', + `assistance_type_ids` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '申请资助类型ID数组', + `assistance_type_names` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '申请资助类型名称', + `assistance_types` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '申请资助类型', + `family_economic_summary` text COLLATE utf8mb4_unicode_ci COMMENT '家庭经济情况摘要', + `attach_application_form_url` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '申请表附件URL', + `application_status` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'draft' COMMENT '申请状态', + `submit_time` datetime DEFAULT NULL COMMENT '提交时间', + `audit_time` datetime DEFAULT NULL COMMENT '审核时间', + `auditor_id` bigint(20) DEFAULT NULL COMMENT '审核人用户ID', + `auditor_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '审核人姓名', + `audit_opinion` text COLLATE utf8mb4_unicode_ci COMMENT '审核意见', + `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + `status` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT 'DRAFT' COMMENT '申请状态(DRAFT-草稿,SUBMITTED-已提交,REVIEWING-审核中,APPROVED-已通过,REJECTED-已拒绝,WITHDRAWN-已撤回)', + `submitter_id` bigint(20) DEFAULT NULL COMMENT '提交人ID', + `submitter_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '提交人姓名', + `attach_application_form_id` bigint(20) DEFAULT NULL COMMENT '申请表附件ID', + `attach_survey_form_url` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '调查表附件URL', + `attach_survey_form_id` bigint(20) DEFAULT NULL COMMENT '调查表附件ID', + `family_economy_summary` text COLLATE utf8mb4_unicode_ci COMMENT '家庭经济情况摘要', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE KEY `uk_application_no` (`application_no`) USING BTREE, + KEY `idx_tenant_id` (`tenant_id`) USING BTREE, + KEY `idx_student` (`student_id`,`student_no`) USING BTREE, + KEY `idx_academic_year` (`academic_year`,`term`) USING BTREE, + KEY `idx_status_time` (`application_status`,`submit_time`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='贫困生申请表'; + +-- ---------------------------- +-- Table structure for jcbt_recognition_type +-- ---------------------------- +DROP TABLE IF EXISTS `jcbt_recognition_type`; +CREATE TABLE `jcbt_recognition_type` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志', + `type_group` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '所属群体', + `type_code` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '类型编码', + `type_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '类型名称', + `type_description` text COLLATE utf8mb4_unicode_ci COMMENT '类型说明', + `certificate_requirement` text COLLATE utf8mb4_unicode_ci COMMENT '证明材料要求', + `sort_order` int(11) DEFAULT '0' COMMENT '排序序号', + `status` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '1' COMMENT '状态', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE KEY `uk_type_code` (`type_code`) USING BTREE, + KEY `idx_tenant_id` (`tenant_id`) USING BTREE, + KEY `idx_group_status` (`type_group`,`status`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='认定类型表'; + +-- ---------------------------- +-- Table structure for jcbt_scholarship_application +-- ---------------------------- +DROP TABLE IF EXISTS `jcbt_scholarship_application`; +CREATE TABLE `jcbt_scholarship_application` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `application_no` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '申请编号', + `batch_id` bigint(20) NOT NULL COMMENT '批次ID', + `scholarship_type_id` bigint(20) NOT NULL COMMENT '奖学金类型ID', + `student_id` bigint(20) NOT NULL COMMENT '学生ID', + `student_no` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '学号', + `student_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '学生姓名', + `dept_id` bigint(20) NOT NULL COMMENT '所属部门ID', + `major_id` bigint(20) DEFAULT NULL COMMENT '专业ID', + `class_id` bigint(20) DEFAULT NULL COMMENT '班级ID', + `application_type` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '申请类型:TEACHER_RECOMMEND-教师推荐,AUTO-自动评定,DIRECT-直接指定', + `current_status` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT 'PENDING' COMMENT '当前状态:PENDING-待审核,APPROVED-已通过,REJECTED-已拒绝,WITHDRAWN-已撤回', + `apply_reason` text COLLATE utf8mb4_unicode_ci COMMENT '申请理由', + `self_evaluation` text COLLATE utf8mb4_unicode_ci COMMENT '自我评价', + `calculated_score` decimal(8,2) DEFAULT NULL COMMENT '系统计算分数', + `final_score` decimal(8,2) DEFAULT NULL COMMENT '最终评定分数', + `ranking_in_dept` int(11) DEFAULT NULL COMMENT '在院系的排名', + `ranking_in_major` int(11) DEFAULT NULL COMMENT '在专业的排名', + `submit_time` datetime DEFAULT NULL COMMENT '提交时间', + `tenant_id` bigint(20) NOT NULL COMMENT '租户ID', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标记:0-正常,1-删除', + `applicant_type` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT 'TEACHER' COMMENT '申请人类型:STUDENT-学生申请,TEACHER-教师代申请', + `applicant_id` bigint(20) DEFAULT NULL COMMENT '申请人ID(班主任ID)', + `applicant_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '申请人姓名(班主任姓名)', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_application_no` (`application_no`), + KEY `idx_batch_type_student` (`batch_id`,`scholarship_type_id`,`student_id`), + KEY `idx_student_status` (`student_id`,`current_status`), + KEY `idx_dept_batch` (`dept_id`,`batch_id`), + KEY `idx_status_score` (`current_status`,`final_score`), + KEY `idx_tenant` (`tenant_id`,`deleted`), + KEY `idx_app_batch_status_score` (`batch_id`,`current_status`,`final_score`), + KEY `idx_class_batch` (`class_id`,`batch_id`), + KEY `idx_applicant_batch` (`applicant_id`,`batch_id`), + KEY `idx_applicant_type` (`applicant_type`,`applicant_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='奖学金申请表'; + +-- ---------------------------- +-- Table structure for jcbt_scholarship_attachment +-- ---------------------------- +DROP TABLE IF EXISTS `jcbt_scholarship_attachment`; +CREATE TABLE `jcbt_scholarship_attachment` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `application_id` bigint(20) NOT NULL COMMENT '申请ID', + `attachment_type` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '附件类型:TRANSCRIPT-成绩单,CERTIFICATE-证书,PROOF-证明材料,OTHER-其他', + `file_name` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '文件名称', + `file_path` varchar(500) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '文件路径', + `file_size` bigint(20) DEFAULT NULL COMMENT '文件大小(字节)', + `file_type` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '文件类型', + `upload_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '上传时间', + `is_required` tinyint(1) DEFAULT '0' COMMENT '是否必需:0-否,1-是(新需求中材料非必填)', + `description` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '附件描述', + `tenant_id` bigint(20) NOT NULL COMMENT '租户ID', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标记:0-正常,1-删除', + `uploader_type` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT 'TEACHER' COMMENT '上传者类型:STUDENT-学生,TEACHER-教师', + `uploader_id` bigint(20) DEFAULT NULL COMMENT '上传者ID', + `uploader_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '上传者姓名', + PRIMARY KEY (`id`), + KEY `idx_application_type` (`application_id`,`attachment_type`), + KEY `idx_upload_time` (`upload_time`), + KEY `idx_tenant` (`tenant_id`,`deleted`), + KEY `idx_uploader` (`uploader_type`,`uploader_id`), + KEY `idx_uploader_time` (`uploader_id`,`upload_time`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='奖学金附件表'; + +-- ---------------------------- +-- Table structure for jcbt_scholarship_award +-- ---------------------------- +DROP TABLE IF EXISTS `jcbt_scholarship_award`; +CREATE TABLE `jcbt_scholarship_award` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `award_no` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '获奖编号', + `application_id` bigint(20) NOT NULL COMMENT '申请ID', + `batch_id` bigint(20) NOT NULL COMMENT '批次ID', + `scholarship_type_id` bigint(20) NOT NULL COMMENT '奖学金类型ID', + `student_id` bigint(20) NOT NULL COMMENT '学生ID', + `student_no` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '学号', + `student_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '学生姓名', + `dept_id` bigint(20) NOT NULL COMMENT '所属部门ID', + `award_amount` decimal(10,2) NOT NULL COMMENT '奖励金额', + `award_level` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '获奖等级', + `final_score` decimal(8,2) DEFAULT NULL COMMENT '最终得分', + `ranking_in_dept` int(11) DEFAULT NULL COMMENT '院系排名', + `award_date` date NOT NULL COMMENT '获奖日期', + `certificate_no` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '证书编号', + `is_published` tinyint(1) DEFAULT '0' COMMENT '是否公示:0-否,1-是', + `publish_date` date DEFAULT NULL COMMENT '公示日期', + `is_paid` tinyint(1) DEFAULT '0' COMMENT '是否已发放:0-否,1-是', + `pay_date` date DEFAULT NULL COMMENT '发放日期', + `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + `tenant_id` bigint(20) NOT NULL COMMENT '租户ID', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标记:0-正常,1-删除', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_award_no` (`award_no`), + KEY `idx_batch_type` (`batch_id`,`scholarship_type_id`), + KEY `idx_student_award` (`student_id`,`award_date`), + KEY `idx_dept_batch` (`dept_id`,`batch_id`), + KEY `idx_publish_pay` (`is_published`,`is_paid`), + KEY `idx_tenant` (`tenant_id`,`deleted`), + KEY `idx_award_student_date` (`student_id`,`award_date`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='奖学金获奖表'; + +-- ---------------------------- +-- Table structure for jcbt_scholarship_batch +-- ---------------------------- +DROP TABLE IF EXISTS `jcbt_scholarship_batch`; +CREATE TABLE `jcbt_scholarship_batch` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `batch_code` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '批次编码', + `batch_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '批次名称', + `academic_year` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '学年', + `semester` tinyint(1) NOT NULL COMMENT '学期:1-第一学期,2-第二学期,3-全年', + `batch_type` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '批次类型:REGULAR-常规批次,SPECIAL-专项批次,SUPPLEMENTARY-补充批次', + `start_time` datetime NOT NULL COMMENT '开始时间', + `end_time` datetime NOT NULL COMMENT '结束时间', + `apply_start_time` datetime DEFAULT NULL COMMENT '申请开始时间', + `apply_end_time` datetime DEFAULT NULL COMMENT '申请结束时间', + `review_start_time` datetime DEFAULT NULL COMMENT '审核开始时间', + `review_end_time` datetime DEFAULT NULL COMMENT '审核结束时间', + `status` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT 'DRAFT' COMMENT '状态:DRAFT-草稿,ACTIVE-进行中,COMPLETED-已完成,CANCELLED-已取消', + `description` text COLLATE utf8mb4_unicode_ci COMMENT '批次描述', + `notice_content` text COLLATE utf8mb4_unicode_ci COMMENT '通知内容', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `tenant_id` bigint(20) NOT NULL COMMENT '租户ID', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标记:0-正常,1-删除', + `application_start_time` datetime DEFAULT NULL COMMENT '申请开始时间', + `application_end_time` datetime DEFAULT NULL COMMENT '申请结束时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_batch_code_tenant` (`batch_code`,`tenant_id`,`deleted`), + KEY `idx_academic_year` (`academic_year`,`semester`), + KEY `idx_status_time` (`status`,`start_time`,`end_time`), + KEY `idx_tenant_status` (`tenant_id`,`status`,`deleted`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='奖学金批次'; + +-- ---------------------------- +-- Table structure for jcbt_scholarship_batch_type +-- ---------------------------- +DROP TABLE IF EXISTS `jcbt_scholarship_batch_type`; +CREATE TABLE `jcbt_scholarship_batch_type` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `batch_id` bigint(20) NOT NULL COMMENT '批次ID', + `scholarship_type_id` bigint(20) NOT NULL COMMENT '奖学金类型ID', + `is_active` tinyint(1) DEFAULT '1' COMMENT '是否启用:0-禁用,1-启用', + `sort_order` int(11) DEFAULT '0' COMMENT '排序号', + `tenant_id` bigint(20) NOT NULL COMMENT '租户ID', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标记:0-正常,1-删除', + PRIMARY KEY (`id`), + KEY `idx_batch_id` (`batch_id`), + KEY `idx_type_id` (`scholarship_type_id`), + KEY `idx_tenant` (`tenant_id`,`deleted`), + CONSTRAINT `fk_batch_type_batch` FOREIGN KEY (`batch_id`) REFERENCES `jcbt_scholarship_batch` (`id`) ON DELETE CASCADE, + CONSTRAINT `fk_batch_type_type` FOREIGN KEY (`scholarship_type_id`) REFERENCES `jcbt_scholarship_type` (`id`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='奖学金批次类型'; + +-- ---------------------------- +-- Table structure for jcbt_scholarship_class_quota +-- ---------------------------- +DROP TABLE IF EXISTS `jcbt_scholarship_class_quota`; +CREATE TABLE `jcbt_scholarship_class_quota` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `batch_id` bigint(20) NOT NULL COMMENT '批次ID', + `scholarship_type_id` bigint(20) NOT NULL COMMENT '奖学金类型ID', + `dept_id` bigint(20) NOT NULL COMMENT '学院ID', + `class_id` bigint(20) NOT NULL COMMENT '班级ID', + `class_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '班级名称', + `total_quota` int(11) DEFAULT '0' COMMENT '总名额数量', + `used_quota` int(11) DEFAULT '0' COMMENT '已使用名额', + `reserved_quota` int(11) DEFAULT '0' COMMENT '预留名额', + `available_quota` int(11) DEFAULT '0' COMMENT '可用名额', + `allocation_method` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT 'MANUAL' COMMENT '分配方式:MANUAL-手动分配,AUTO-自动分配', + `allocation_basis` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '分配依据说明', + `is_locked` tinyint(1) DEFAULT '0' COMMENT '是否锁定:0-否,1-是', + `status` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT 'ACTIVE' COMMENT '状态:ACTIVE-有效,INACTIVE-无效', + `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + `tenant_id` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT '000000' COMMENT '租户ID', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标记:0-正常,1-删除', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_batch_type_class` (`batch_id`,`scholarship_type_id`,`class_id`,`deleted`), + KEY `idx_dept_class` (`dept_id`,`class_id`), + KEY `idx_batch_dept` (`batch_id`,`dept_id`), + KEY `idx_quota_status` (`total_quota`,`status`), + KEY `idx_tenant` (`tenant_id`,`deleted`) +) ENGINE=InnoDB AUTO_INCREMENT=2005 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='班级名额分配表'; + +-- ---------------------------- +-- Table structure for jcbt_scholarship_compatibility +-- ---------------------------- +DROP TABLE IF EXISTS `jcbt_scholarship_compatibility`; +CREATE TABLE `jcbt_scholarship_compatibility` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `type_id_1` bigint(20) NOT NULL COMMENT '奖学金类型1', + `type_id_2` bigint(20) NOT NULL COMMENT '奖学金类型2', + `relation_type` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '关系类型:COMPATIBLE-兼容,EXCLUSIVE-互斥,PRIORITY-优先级关系', + `priority_level` int(11) DEFAULT '0' COMMENT '优先级(relation_type为PRIORITY时有效)', + `description` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '关系描述', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `tenant_id` bigint(20) NOT NULL COMMENT '租户ID', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标记:0-正常,1-删除', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_types_tenant` (`type_id_1`,`type_id_2`,`tenant_id`,`deleted`), + KEY `idx_type1_relation` (`type_id_1`,`relation_type`), + KEY `idx_type2_relation` (`type_id_2`,`relation_type`), + KEY `idx_tenant` (`tenant_id`,`deleted`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='奖学金兼容性'; + +-- ---------------------------- +-- Table structure for jcbt_scholarship_quota +-- ---------------------------- +DROP TABLE IF EXISTS `jcbt_scholarship_quota`; +CREATE TABLE `jcbt_scholarship_quota` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `batch_id` bigint(20) NOT NULL COMMENT '批次ID', + `scholarship_type_id` bigint(20) NOT NULL COMMENT '奖学金类型ID', + `allocation_level` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '分配级别:UNIVERSITY-全校,COLLEGE-学院,MAJOR-专业,CLASS-班级', + `target_dept_id` bigint(20) DEFAULT NULL COMMENT '目标部门ID(学院/专业/班级)', + `parent_quota_id` bigint(20) DEFAULT NULL COMMENT '父名额ID', + `total_quota` int(11) NOT NULL DEFAULT '0' COMMENT '总名额', + `used_quota` int(11) NOT NULL DEFAULT '0' COMMENT '已使用名额', + `reserved_quota` int(11) NOT NULL DEFAULT '0' COMMENT '预留名额', + `available_quota` int(11) NOT NULL DEFAULT '0' COMMENT '可用名额', + `allocation_rule` text COLLATE utf8mb4_unicode_ci COMMENT '分配规则(JSON格式', + `allocation_basis` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '分配依据说明', + `allocation_method` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT 'MANUAL' COMMENT '分配方法', + `is_adjustable` tinyint(1) DEFAULT '1' COMMENT '是否可调整:0-否,1-是', + `is_locked` tinyint(1) DEFAULT '0' COMMENT '是否锁定', + `status` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT 'ACTIVE' COMMENT '状态', + `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + `tenant_id` bigint(20) NOT NULL COMMENT '租户ID', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建人', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新人', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '是否删除', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_batch_type_dept` (`batch_id`,`scholarship_type_id`,`target_dept_id`,`deleted`), + KEY `idx_batch_level` (`batch_id`,`allocation_level`), + KEY `idx_dept_quota` (`target_dept_id`,`total_quota`), + KEY `idx_parent_quota` (`parent_quota_id`), + KEY `idx_tenant_status` (`tenant_id`,`status`,`deleted`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='奖学金名额分配表'; + +-- ---------------------------- +-- Table structure for jcbt_scholarship_quota_adjustment +-- ---------------------------- +DROP TABLE IF EXISTS `jcbt_scholarship_quota_adjustment`; +CREATE TABLE `jcbt_scholarship_quota_adjustment` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `quota_id` bigint(20) NOT NULL COMMENT '名额分配ID', + `adjustment_type` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '调整类型:INCREASE-增加,DECREASE-减少,TRANSFER-转移', + `from_quota_id` bigint(20) DEFAULT NULL COMMENT '源名额ID(转移时使用)', + `to_quota_id` bigint(20) DEFAULT NULL COMMENT '目标名额ID(转移时使用)', + `adjustment_amount` int(11) NOT NULL COMMENT '调整数量', + `before_total` int(11) NOT NULL COMMENT '调整前总名额', + `after_total` int(11) NOT NULL COMMENT '调整后总名额', + `adjustment_reason` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '调整原因', + `approval_status` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'PENDING' COMMENT '审批状态:PENDING-待审批,APPROVED-已通过,REJECTED-已拒绝', + `approval_user_id` bigint(20) DEFAULT NULL COMMENT '审批人ID', + `approval_time` datetime DEFAULT NULL COMMENT '审批时间', + `approval_remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '审批备注', + `tenant_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '租户ID', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常,1-删除', + PRIMARY KEY (`id`), + KEY `idx_quota_id` (`quota_id`), + KEY `idx_adjustment_type` (`adjustment_type`,`approval_status`), + KEY `idx_from_to_quota` (`from_quota_id`,`to_quota_id`), + KEY `idx_tenant` (`tenant_id`,`deleted`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='名额调整记录表'; + +-- ---------------------------- +-- Table structure for jcbt_scholarship_quota_usage +-- ---------------------------- +DROP TABLE IF EXISTS `jcbt_scholarship_quota_usage`; +CREATE TABLE `jcbt_scholarship_quota_usage` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `batch_id` bigint(20) NOT NULL COMMENT '批次ID', + `scholarship_type_id` bigint(20) NOT NULL COMMENT '奖学金类型ID', + `quota_type` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '名额类型:CLASS-班级名额,DEPT-学院名额', + `target_id` bigint(20) NOT NULL COMMENT '目标ID(班级ID或学院ID)', + `application_id` bigint(20) NOT NULL COMMENT '申请ID', + `student_id` bigint(20) NOT NULL COMMENT '学生ID', + `operation_type` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '操作类型:USE-使用,RELEASE-释放', + `operation_time` datetime NOT NULL COMMENT '操作时间', + `operator_id` bigint(20) NOT NULL COMMENT '操作人ID', + `operator_name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '操作人姓名', + `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + `tenant_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '租户ID', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常,1-删除', + PRIMARY KEY (`id`), + KEY `idx_batch_type_target` (`batch_id`,`scholarship_type_id`,`target_id`), + KEY `idx_application_student` (`application_id`,`student_id`), + KEY `idx_operation_time` (`operation_type`,`operation_time`), + KEY `idx_operator_time` (`operator_id`,`operation_time`), + KEY `idx_tenant` (`tenant_id`,`deleted`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='名额使用记录表'; + +-- ---------------------------- +-- Table structure for jcbt_scholarship_review +-- ---------------------------- +DROP TABLE IF EXISTS `jcbt_scholarship_review`; +CREATE TABLE `jcbt_scholarship_review` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `application_id` bigint(20) NOT NULL COMMENT '申请ID', + `review_level` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '审核级别:DEPT-院系审核,UNIVERSITY-校级审核', + `reviewer_id` bigint(20) NOT NULL COMMENT '审核人ID', + `reviewer_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '审核人姓名', + `review_result` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '审核结果:APPROVED-通过,REJECTED-拒绝,RETURNED-退回修改', + `review_score` decimal(8,2) DEFAULT NULL COMMENT '审核评分', + `review_opinion` text COLLATE utf8mb4_unicode_ci COMMENT '审核意见', + `review_time` datetime NOT NULL COMMENT '审核时间', + `next_reviewer_id` bigint(20) DEFAULT NULL COMMENT '下一审核人ID', + `is_final_review` tinyint(1) DEFAULT '0' COMMENT '是否最终审核:0-否,1-是', + `tenant_id` bigint(20) NOT NULL COMMENT '租户ID', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标记:0-正常,1-删除', + PRIMARY KEY (`id`), + KEY `idx_application_level` (`application_id`,`review_level`), + KEY `idx_reviewer_time` (`reviewer_id`,`review_time`), + KEY `idx_result_time` (`review_result`,`review_time`), + KEY `idx_tenant` (`tenant_id`,`deleted`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='奖学金评审'; + +-- ---------------------------- +-- Table structure for jcbt_scholarship_rule +-- ---------------------------- +DROP TABLE IF EXISTS `jcbt_scholarship_rule`; +CREATE TABLE `jcbt_scholarship_rule` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `rule_code` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '规则编码', + `rule_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '规则名称', + `scholarship_type_id` bigint(20) NOT NULL COMMENT '关联奖学金类型ID', + `rule_type` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '规则类型:AUTO-自动评定,MANUAL-手动申请,HYBRID-混合模式', + `evaluation_method` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '评定方法:SCORE-积分制,RANKING-排名制,THRESHOLD-阈值制', + `min_score` decimal(8,2) DEFAULT NULL COMMENT '最低分数要求', + `is_active` tinyint(1) DEFAULT '1' COMMENT '是否激活:0-否,1-是', + `priority_level` int(11) DEFAULT '0' COMMENT '规则优先级', + `description` text COLLATE utf8mb4_unicode_ci COMMENT '规则描述', + `tenant_id` bigint(20) NOT NULL COMMENT '租户ID', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标记:0-正常,1-删除', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_rule_code_tenant` (`rule_code`,`tenant_id`,`deleted`), + KEY `idx_scholarship_type` (`scholarship_type_id`), + KEY `idx_rule_type_active` (`rule_type`,`is_active`), + KEY `idx_tenant_active` (`tenant_id`,`is_active`,`deleted`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='奖学金规则'; + +-- ---------------------------- +-- Table structure for jcbt_scholarship_rule_action +-- ---------------------------- +DROP TABLE IF EXISTS `jcbt_scholarship_rule_action`; +CREATE TABLE `jcbt_scholarship_rule_action` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `rule_id` bigint(20) NOT NULL COMMENT '规则ID', + `action_type` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '动作类型:CALCULATE-计算分数,NOTIFY-通知,LOG-记录日志,EXECUTE-执行方法', + `action_config` text COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '动作配置(JSON格式)', + `execution_order` int(11) DEFAULT '0' COMMENT '执行顺序', + `is_enabled` tinyint(1) DEFAULT '1' COMMENT '是否启用:0-否,1-是', + `tenant_id` bigint(20) NOT NULL COMMENT '租户ID', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标记:0-正常,1-删除', + PRIMARY KEY (`id`), + KEY `idx_rule_order` (`rule_id`,`execution_order`), + KEY `idx_action_type` (`action_type`), + KEY `idx_tenant` (`tenant_id`,`deleted`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='奖学金规则动作'; + +-- ---------------------------- +-- Table structure for jcbt_scholarship_rule_condition +-- ---------------------------- +DROP TABLE IF EXISTS `jcbt_scholarship_rule_condition`; +CREATE TABLE `jcbt_scholarship_rule_condition` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `rule_id` bigint(20) NOT NULL COMMENT '规则ID', + `condition_group` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '条件组标识(同组内为AND关系,不同组为OR关系)', + `field_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '字段名称', + `field_type` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '字段类型:NUMBER-数字,STRING-字符串,DATE-日期,BOOLEAN-布尔', + `operator_type` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '操作符:EQ-等于,GT-大于,GTE-大于等于,LT-小于,LTE-小于等于,IN-包含,NOT_IN-不包含,LIKE-模糊匹配,BETWEEN-区间', + `condition_value` text COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '条件值(JSON格式存储复杂数据)', + `weight` decimal(5,2) DEFAULT '1.00' COMMENT '权重', + `is_required` tinyint(1) DEFAULT '1' COMMENT '是否必要条件:0-否,1-是', + `error_message` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '不满足条件时的提示信息', + `sort_order` int(11) DEFAULT '0' COMMENT '排序号', + `tenant_id` bigint(20) NOT NULL COMMENT '租户ID', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标记:0-正常,1-删除', + PRIMARY KEY (`id`), + KEY `idx_rule_group` (`rule_id`,`condition_group`), + KEY `idx_field_operator` (`field_name`,`operator_type`), + KEY `idx_tenant` (`tenant_id`,`deleted`), + KEY `idx_rule_condition_field` (`rule_id`,`field_name`,`operator_type`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='奖学金规则条件'; + +-- ---------------------------- +-- Table structure for jcbt_scholarship_type +-- ---------------------------- +DROP TABLE IF EXISTS `jcbt_scholarship_type`; +CREATE TABLE `jcbt_scholarship_type` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `type_code` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '奖学金类型编码', + `type_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '奖学金名称', + `type_category` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '奖学金类别:ACADEMIC-学业奖学金,INNOVATION-创新奖学金,SOCIAL-社会工作奖学金,SPECIAL-专项奖学金', + `level_type` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '等级类型:FIRST-一等,SECOND-二等,THIRD-三等,SPECIAL-特等', + `award_amount` decimal(10,2) DEFAULT NULL COMMENT '奖励金额', + `description` text COLLATE utf8mb4_unicode_ci COMMENT '奖学金描述', + `application_guide` text COLLATE utf8mb4_unicode_ci COMMENT '申请指南', + `compatibility_type` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT 'COMPATIBLE' COMMENT '兼得类型:COMPATIBLE-兼容,EXCLUSIVE-互斥,PRIORITY-优先级,CUSTOM-自定义配置', + `status` tinyint(1) DEFAULT '1' COMMENT '状态:0-禁用,1-启用', + `sort_order` int(11) DEFAULT '0' COMMENT '排序号', + `is_system` tinyint(1) DEFAULT '0' COMMENT '是否系统内置:0-否,1-是', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `tenant_id` bigint(20) NOT NULL COMMENT '租户ID', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标记:0-正常,1-删除', + `application_conditions` text COLLATE utf8mb4_unicode_ci COMMENT '申请条件', + `evaluation_criteria` text COLLATE utf8mb4_unicode_ci COMMENT '评定标准', + `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_type_code_tenant` (`type_code`,`tenant_id`,`deleted`), + KEY `idx_category_status` (`type_category`,`status`), + KEY `idx_tenant_status` (`tenant_id`,`status`,`deleted`), + KEY `idx_create_time` (`create_time`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='奖学金类型'; + +-- ---------------------------- +-- Table structure for jcbt_work_study_application +-- ---------------------------- +DROP TABLE IF EXISTS `jcbt_work_study_application`; +CREATE TABLE `jcbt_work_study_application` ( + `id` bigint(20) NOT NULL COMMENT '主键ID(雪花ID)', + `position_id` bigint(20) NOT NULL COMMENT '岗位ID', + `position_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '岗位名称(冗余字段)', + `student_id` bigint(20) NOT NULL COMMENT '学生ID', + `student_name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '学生姓名', + `student_number` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '学号', + `college_id` bigint(20) NOT NULL COMMENT '学生所在学院ID', + `college_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '学生所在学院名称', + `major` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '专业', + `grade` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '年级', + `class_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '班级', + `phone` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '联系电话', + `email` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '邮箱地址', + `application_reason` text COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '申请理由', + `status` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'DRAFT' COMMENT '申请状态', + `application_date` datetime NOT NULL COMMENT '申请提交时间', + `college_review_status` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '学院审核状态', + `college_review_time` datetime DEFAULT NULL COMMENT '学院审核时间', + `college_reviewer_id` bigint(20) DEFAULT NULL COMMENT '学院审核人ID', + `college_reviewer_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '学院审核人姓名', + `college_review_comment` text COLLATE utf8mb4_unicode_ci COMMENT '学院审核意见', + `final_review_status` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '学生处审核状态', + `final_review_time` datetime DEFAULT NULL COMMENT '学生处审核时间', + `final_reviewer_id` bigint(20) DEFAULT NULL COMMENT '学生处审核人ID', + `final_reviewer_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '学生处审核人姓名', + `final_review_comment` text COLLATE utf8mb4_unicode_ci COMMENT '学生处审核意见', + `work_start_date` date DEFAULT NULL COMMENT '工作开始时间', + `work_end_date` date DEFAULT NULL COMMENT '工作结束时间', + `create_by` bigint(20) NOT NULL COMMENT '创建者', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` bigint(20) NOT NULL COMMENT '更新者', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '逻辑删除标记', + `tenant_id` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '000000' COMMENT '租户ID', + `position_type` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '岗位类型', + `work_location` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '工作地点', + `planned_work_hours` int(11) DEFAULT NULL COMMENT '计划工作时长(小时/周)', + `id_card` varchar(18) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '身份证号', + `contact_phone` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '联系电话', + `major_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '专业名称', + `family_financial_status` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '家庭经济情况', + `personal_ability` text COLLATE utf8mb4_unicode_ci COMMENT '个人能力及经验', + `time_arrangement` text COLLATE utf8mb4_unicode_ci COMMENT '时间安排', + `remark` text COLLATE utf8mb4_unicode_ci COMMENT '备注', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_student_position` (`student_id`,`position_id`,`deleted`), + KEY `idx_application_position` (`position_id`,`deleted`), + KEY `idx_application_student` (`student_id`,`deleted`), + KEY `idx_application_student_number` (`student_number`), + KEY `idx_application_college_status` (`college_id`,`status`,`deleted`), + KEY `idx_application_status_time` (`status`,`application_date`), + KEY `idx_application_review_status` (`college_review_status`,`final_review_status`), + KEY `idx_application_tenant` (`tenant_id`,`deleted`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='勤工助学申请表'; + +-- ---------------------------- +-- Table structure for jcbt_work_study_position +-- ---------------------------- +DROP TABLE IF EXISTS `jcbt_work_study_position`; +CREATE TABLE `jcbt_work_study_position` ( + `id` bigint(20) NOT NULL COMMENT '主键ID(雪花ID)', + `position_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '岗位名称', + `position_scope` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '发布范围(COLLEGE/UNIVERSITY)', + `required_count` int(11) NOT NULL DEFAULT '1' COMMENT '需求人数', + `work_time` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '工作时间描述', + `start_date` date NOT NULL COMMENT '岗位有效期开始', + `end_date` date NOT NULL COMMENT '岗位有效期结束', + `position_requirements` text COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '岗位要求', + `salary_info` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '薪资情况', + `contact_teacher` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '联系老师', + `contact_phone` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '联系电话', + `college_id` bigint(20) NOT NULL COMMENT '发布学院ID', + `college_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '发布学院名称', + `status` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'DRAFT' COMMENT '岗位状态', + `current_count` int(11) NOT NULL DEFAULT '0' COMMENT '当前申请通过人数', + `is_active` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否启用', + `create_by` bigint(20) NOT NULL COMMENT '创建者', + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` bigint(20) NOT NULL COMMENT '更新者', + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '逻辑删除标记', + `tenant_id` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '000000' COMMENT '租户ID', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + PRIMARY KEY (`id`), + KEY `idx_position_college_status` (`college_id`,`status`,`deleted`), + KEY `idx_position_scope_date` (`position_scope`,`start_date`,`end_date`), + KEY `idx_position_name` (`position_name`), + KEY `idx_position_create_time` (`create_time`), + KEY `idx_position_tenant` (`tenant_id`,`deleted`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='勤工助学岗位表'; + +-- ---------------------------- +-- Table structure for rs_applicant +-- ---------------------------- +DROP TABLE IF EXISTS `rs_applicant`; +CREATE TABLE `rs_applicant` ( + `applicant_id` bigint(20) NOT NULL COMMENT '应聘者ID', + `user_id` bigint(20) DEFAULT NULL COMMENT '关联用户ID', + `name` varchar(50) NOT NULL COMMENT '姓名', + `phone` varchar(20) NOT NULL COMMENT '手机号码', + `email` varchar(100) NOT NULL COMMENT '电子邮箱', + `resume_file_path` varchar(255) DEFAULT NULL COMMENT '简历文件路径', + `self_intro` text COMMENT '自我介绍', + `current_status` varchar(20) DEFAULT 'active' COMMENT '当前状态(active-可申请 hired-已录用 rejected-已拒绝)', + `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `deleted` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + PRIMARY KEY (`applicant_id`), + KEY `idx_user_id` (`user_id`), + KEY `idx_phone` (`phone`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='应聘者信息表'; + +-- ---------------------------- +-- Table structure for rs_application +-- ---------------------------- +DROP TABLE IF EXISTS `rs_application`; +CREATE TABLE `rs_application` ( + `application_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '申请ID', + `job_id` bigint(20) NOT NULL COMMENT '职位ID', + `applicant_id` bigint(20) DEFAULT NULL COMMENT '应聘者ID(NULL表示匿名用户)', + `apply_time` datetime NOT NULL COMMENT '申请时间', + `status` varchar(20) DEFAULT 'pending' COMMENT '状态(pending-待处理 interviewed-已面试 offered-已录用 rejected-已拒绝)', + `resume_path` varchar(255) DEFAULT NULL COMMENT '简历路径', + `self_description` text COMMENT '自我介绍', + `attachment_path` varchar(255) DEFAULT NULL COMMENT '附件路径', + `attachment_name` varchar(255) DEFAULT NULL COMMENT '附件名称', + `job_title` varchar(100) DEFAULT NULL COMMENT '职位名称', + `applicant_name` varchar(50) DEFAULT NULL COMMENT '应聘者姓名', + `gender` varchar(10) DEFAULT NULL COMMENT '性别', + `contact_phone` varchar(20) DEFAULT NULL COMMENT '联系电话', + `contact_email` varchar(100) DEFAULT NULL COMMENT '联系邮箱', + `age` int(11) DEFAULT NULL COMMENT '年龄', + `education` text COMMENT '教育背景', + `education_background` text COMMENT '教育背景详情', + `experience` text COMMENT '工作经验', + `hr_notes` text COMMENT 'HR备注', + `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `deleted` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + PRIMARY KEY (`application_id`), + KEY `idx_job_id` (`job_id`), + KEY `idx_applicant_id` (`applicant_id`), + KEY `idx_status` (`status`) +) ENGINE=InnoDB AUTO_INCREMENT=110 DEFAULT CHARSET=utf8mb4 COMMENT='应聘申请记录表'; + +-- ---------------------------- +-- Table structure for rs_attachment +-- ---------------------------- +DROP TABLE IF EXISTS `rs_attachment`; +CREATE TABLE `rs_attachment` ( + `attachment_id` bigint(20) NOT NULL COMMENT '附件ID', + `application_id` bigint(20) NOT NULL COMMENT '申请ID', + `file_name` varchar(100) NOT NULL COMMENT '文件名', + `file_path` varchar(255) NOT NULL COMMENT '文件路径', + `file_type` varchar(50) DEFAULT NULL COMMENT '文件类型', + `file_size` bigint(20) DEFAULT NULL COMMENT '文件大小(字节)', + `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + PRIMARY KEY (`attachment_id`), + KEY `idx_application_id` (`application_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='申请附件表'; + +-- ---------------------------- +-- Table structure for rs_education +-- ---------------------------- +DROP TABLE IF EXISTS `rs_education`; +CREATE TABLE `rs_education` ( + `edu_id` bigint(20) NOT NULL COMMENT '教育经历ID', + `applicant_id` bigint(20) NOT NULL COMMENT '应聘者ID', + `school_name` varchar(100) NOT NULL COMMENT '学校名称', + `major` varchar(100) DEFAULT NULL COMMENT '专业', + `degree` varchar(50) DEFAULT NULL COMMENT '学位', + `start_date` date DEFAULT NULL COMMENT '开始日期', + `end_date` date DEFAULT NULL COMMENT '结束日期', + `gpa` varchar(20) DEFAULT NULL COMMENT '绩点', + `description` text COMMENT '描述', + `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + PRIMARY KEY (`edu_id`), + KEY `idx_applicant_id` (`applicant_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='教育经历表'; + +-- ---------------------------- +-- Table structure for rs_employee_info +-- ---------------------------- +DROP TABLE IF EXISTS `rs_employee_info`; +CREATE TABLE `rs_employee_info` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `employee_no` varchar(50) NOT NULL COMMENT '工号', + `name` varchar(50) NOT NULL COMMENT '姓名', + `department` varchar(100) DEFAULT NULL COMMENT '部门', + `gender` char(1) DEFAULT '0' COMMENT '性别:0-男,1-女', + `phone` varchar(50) DEFAULT NULL COMMENT '手机号码', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE KEY `uk_employee_no` (`employee_no`,`tenant_id`,`deleted`) COMMENT '工号唯一索引', + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_deleted` (`deleted`), + KEY `idx_name` (`name`), + KEY `idx_department` (`department`), + KEY `idx_create_time` (`create_time`), + KEY `idx_tenant_deleted` (`tenant_id`,`deleted`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='教职工信息表'; + +-- ---------------------------- +-- Table structure for rs_job +-- ---------------------------- +DROP TABLE IF EXISTS `rs_job`; +CREATE TABLE `rs_job` ( + `job_id` bigint(20) NOT NULL COMMENT '职位ID', + `title` varchar(100) NOT NULL COMMENT '职位名称', + `department` varchar(50) NOT NULL COMMENT '部门', + `salary_range` varchar(50) DEFAULT NULL COMMENT '薪资范围', + `location` varchar(100) DEFAULT NULL COMMENT '工作地点', + `description` text COMMENT '职位描述', + `requirements` text COMMENT '任职要求', + `is_active` char(1) DEFAULT '0' COMMENT '是否在招(0是 1否)', + `publish_time` datetime DEFAULT NULL COMMENT '发布时间', + `view_count` int(11) DEFAULT '0' COMMENT '浏览次数', + `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `deleted` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + PRIMARY KEY (`job_id`), + KEY `idx_department` (`department`), + KEY `idx_is_active` (`is_active`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='招聘职位表'; + +-- ---------------------------- +-- Table structure for rs_overseas_application +-- ---------------------------- +DROP TABLE IF EXISTS `rs_overseas_application`; +CREATE TABLE `rs_overseas_application` ( + `application_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '申请ID', + `serial_number` varchar(50) DEFAULT NULL COMMENT '编号(自动生成的登记编号)', + `applicant_id` bigint(20) NOT NULL COMMENT '申请人ID', + `applicant_name` varchar(50) NOT NULL COMMENT '申请人姓名', + `gender` char(1) DEFAULT NULL COMMENT '性别:0-男,1-女', + `birth_date` date DEFAULT NULL COMMENT '出生日期', + `photo` varchar(500) DEFAULT NULL COMMENT '照片地址(2寸免冠白色或淡蓝色底彩照)', + `id_number` varchar(18) DEFAULT NULL COMMENT '公民身份号码(18位身份证号)', + `political_status` varchar(50) DEFAULT NULL COMMENT '政治面貌', + `registered_address` varchar(200) DEFAULT NULL COMMENT '户籍所在地(填写至县市区)', + `department` varchar(200) DEFAULT NULL COMMENT '所属部门(工作部门/教学系部)', + `position` varchar(100) DEFAULT NULL COMMENT '职位', + `professional_title` varchar(100) DEFAULT NULL COMMENT '职称', + `administrative_level` varchar(20) DEFAULT NULL COMMENT '行政职级', + `personnel_category` varchar(10) DEFAULT NULL COMMENT '人员类别代码(根据报备人员范围中的情形项填写)', + `registration_unit` varchar(200) DEFAULT NULL COMMENT '登记备案责任单位', + `unit_leader_signature` varchar(100) DEFAULT NULL COMMENT '登记备案责任单位负责人签名', + `office_phone` varchar(20) DEFAULT NULL COMMENT '办公电话', + `mobile_phone` varchar(11) DEFAULT NULL COMMENT '移动电话', + `document_name` varchar(100) DEFAULT NULL COMMENT '申领证件名称', + `document_number` varchar(50) DEFAULT NULL COMMENT '证件号码', + `destination_country` varchar(100) DEFAULT NULL COMMENT '前往国家', + `exit_reason` varchar(50) DEFAULT NULL COMMENT '出境事由', + `visit_relationship` varchar(200) DEFAULT NULL COMMENT '探望对象姓名及与申请者关系', + `remarks` text COMMENT '备注', + `emergency_contact` varchar(200) DEFAULT NULL COMMENT '紧急联系人及电话', + `signature` longtext COMMENT '手写签字(base64格式)', + `stamped_registration_file_path` varchar(500) DEFAULT NULL COMMENT '登记备案表盖章文件路径', + `stamped_registration_file_name` varchar(200) DEFAULT NULL COMMENT '登记备案表盖章文件名', + `stamped_file_upload_time` datetime DEFAULT NULL COMMENT '盖章文件上传时间', + `stamped_file_upload_status` char(1) DEFAULT '0' COMMENT '盖章文件上传状态:0-未上传,1-已上传', + `stamped_file_oss_id` bigint(20) DEFAULT NULL COMMENT '盖章文件OSS ID', + `party_retention_file_path` varchar(500) DEFAULT NULL COMMENT '党组织保留附件文件路径', + `party_retention_file_name` varchar(200) DEFAULT NULL COMMENT '党组织保留附件文件名', + `party_retention_upload_time` datetime DEFAULT NULL COMMENT '党组织保留附件上传时间', + `party_retention_upload_status` varchar(1) DEFAULT '0' COMMENT '党组织保留附件上传状态:0-未上传,1-已上传', + `party_retention_file_oss_id` varchar(500) DEFAULT NULL COMMENT '党籍保留附件OSS ID(多个ID用逗号分隔)', + `attachment_count` int(11) DEFAULT '0' COMMENT '附件数量', + `contact_phone` varchar(20) DEFAULT NULL COMMENT '联系电话', + `contact_email` varchar(100) DEFAULT NULL COMMENT '联系邮箱', + `purpose` varchar(50) NOT NULL COMMENT '出国目的', + `purpose_detail` text NOT NULL COMMENT '目的详细说明', + `destination` varchar(100) NOT NULL COMMENT '目的地国家', + `destination_city` varchar(100) DEFAULT NULL COMMENT '目的地城市', + `start_date` date NOT NULL COMMENT '开始日期', + `end_date` date NOT NULL COMMENT '结束日期', + `duration` int(11) NOT NULL COMMENT '出国天数', + `invitation` text COMMENT '邀请方信息', + `itinerary` text NOT NULL COMMENT '行程安排', + `accommodation_plan` text COMMENT '住宿安排', + `transportation_plan` text COMMENT '交通安排', + `status` char(1) NOT NULL DEFAULT '0' COMMENT '申请状态:0-待审核,1-已通过,2-已拒绝,3-已取消,4-已完成', + `approval_status` varchar(20) DEFAULT 'draft' COMMENT '审批状态(工作流状态):draft-草稿,waiting-待审批,finish-已完成,cancel-已取消,back-已退回', + `current_approver` varchar(100) DEFAULT NULL COMMENT '当前审批人', + `current_approver_id` bigint(20) DEFAULT NULL COMMENT '当前审批人ID', + `approval_level` varchar(10) DEFAULT NULL COMMENT '审批级别:1-部门负责人,2-人事处,3-纪委,4-学院分管领导,5-学院党委书记', + `apply_time` datetime NOT NULL COMMENT '申请时间', + `approval_time` datetime DEFAULT NULL COMMENT '审批时间', + `admin_remark` text COMMENT '管理员备注', + `applicant_remark` text COMMENT '申请人备注', + `attachment_ids` text COMMENT '附件OSS ID列表(逗号分隔)', + `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', + `deleted` char(1) DEFAULT '0' COMMENT '删除标志:0-存在,1-删除', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`application_id`), + KEY `idx_applicant_id` (`applicant_id`), + KEY `idx_department` (`department`), + KEY `idx_status` (`status`), + KEY `idx_apply_time` (`apply_time`), + KEY `idx_tenant_deleted` (`tenant_id`,`deleted`), + KEY `idx_stamped_file_oss_id` (`stamped_file_oss_id`), + KEY `idx_party_retention_file_oss_id` (`party_retention_file_oss_id`), + KEY `idx_approval_status` (`approval_status`), + KEY `idx_current_approver_id` (`current_approver_id`) +) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=utf8mb4 COMMENT='出国申请表'; + +-- ---------------------------- +-- Table structure for rs_overseas_application_attachment +-- ---------------------------- +DROP TABLE IF EXISTS `rs_overseas_application_attachment`; +CREATE TABLE `rs_overseas_application_attachment` ( + `attachment_id` bigint(20) NOT NULL COMMENT '附件ID(主键)', + `application_id` bigint(20) NOT NULL COMMENT '出国申请附件对象 rs_overseas_application_attachment\n *\n * @author weizzzz\n * @date 2025-10-10\n */\n@Data\n@EqualsAndHashCode(callSuper = true)\n@TableName("rs_overseas_application_attachment")\npublic class RsOverseasApplicationAttachment extends BaseEntity {\n\n private static final long serialVersionUID = 1L;\n\n /**\n * 附件ID(主键)\n */\n @TableId(value = "attachment_id", type = IdType.ASSIGN_ID)\n private Long attachmentId;\n\n /**\n * 出国申请ID', + `attachment_title` varchar(200) NOT NULL COMMENT '附件标题', + `attachment_content` text COMMENT '附件内容说明', + `file_name` varchar(200) NOT NULL COMMENT '文件名称', + `file_original_name` varchar(200) NOT NULL COMMENT '文件原始名称', + `file_path` varchar(500) NOT NULL COMMENT '文件存储路径/OSS URL', + `file_size` bigint(20) DEFAULT NULL COMMENT '文件大小(字节)', + `file_type` varchar(50) DEFAULT NULL COMMENT '文件类型(如pdf、jpg、png、doc等)', + `mime_type` varchar(100) DEFAULT NULL COMMENT 'MIME类型', + `upload_time` datetime DEFAULT NULL COMMENT '上传时间', + `upload_user_id` bigint(20) DEFAULT NULL COMMENT '上传时间\n */\n @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")\n private Date uploadTime;\n\n /**\n * 上传人ID', + `upload_user_name` varchar(50) DEFAULT NULL COMMENT '上传人姓名', + `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户ID', + `deleted` char(1) DEFAULT '0' COMMENT '删除标志', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`attachment_id`), + KEY `idx_application_id` (`application_id`) COMMENT '出国申请ID索引', + KEY `idx_tenant_deleted` (`tenant_id`,`deleted`) COMMENT '租户和删除标志联合索引', + KEY `idx_upload_time` (`upload_time`) COMMENT '上传时间索引' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='出国申请附件表'; + +-- ---------------------------- +-- Table structure for rs_overseas_application_backup_20251011 +-- ---------------------------- +DROP TABLE IF EXISTS `rs_overseas_application_backup_20251011`; +CREATE TABLE `rs_overseas_application_backup_20251011` ( + `application_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '申请ID', + `serial_number` varchar(50) DEFAULT NULL COMMENT '编号(自动生成的登记编号)', + `applicant_id` bigint(20) NOT NULL COMMENT '申请人ID', + `applicant_name` varchar(50) NOT NULL COMMENT '申请人姓名', + `gender` char(1) DEFAULT NULL COMMENT '性别:0-男,1-女', + `birth_date` date DEFAULT NULL COMMENT '出生日期', + `photo` varchar(500) DEFAULT NULL COMMENT '照片地址(2寸免冠白色或淡蓝色底彩照)', + `id_number` varchar(18) DEFAULT NULL COMMENT '公民身份号码(18位身份证号)', + `political_status` varchar(50) DEFAULT NULL COMMENT '政治面貌', + `registered_address` varchar(200) DEFAULT NULL COMMENT '户籍所在地(填写至县市区)', + `department` varchar(200) DEFAULT NULL COMMENT '所属部门(工作部门/教学系部)', + `position` varchar(100) DEFAULT NULL COMMENT '职位', + `professional_title` varchar(100) DEFAULT NULL COMMENT '职称', + `administrative_level` varchar(20) DEFAULT NULL COMMENT '行政职级', + `personnel_category` varchar(10) DEFAULT NULL COMMENT '人员类别代码(根据报备人员范围中的情形项填写)', + `registration_unit` varchar(200) DEFAULT NULL COMMENT '登记备案责任单位', + `unit_leader_signature` varchar(100) DEFAULT NULL COMMENT '登记备案责任单位负责人签名', + `unit_contact` varchar(100) DEFAULT NULL COMMENT '登记备案责任单位联系人', + `office_phone` varchar(20) DEFAULT NULL COMMENT '办公电话', + `mobile_phone` varchar(11) DEFAULT NULL COMMENT '移动电话', + `document_name` varchar(100) DEFAULT NULL COMMENT '申领证件名称', + `document_number` varchar(50) DEFAULT NULL COMMENT '证件号码', + `destination_country` varchar(100) DEFAULT NULL COMMENT '前往国家', + `exit_reason` varchar(50) DEFAULT NULL COMMENT '出境事由(旅游/探亲等)', + `visit_relationship` varchar(200) DEFAULT NULL COMMENT '探望对象姓名及与申请者关系', + `remarks` text COMMENT '备注', + `emergency_contact` varchar(200) DEFAULT NULL COMMENT '应急联系人及电话', + `signature` longtext COMMENT '手写签字(base64格式)', + `stamped_registration_file_path` varchar(500) DEFAULT NULL COMMENT '登记备案表盖章文件路径', + `stamped_registration_file_name` varchar(200) DEFAULT NULL COMMENT '登记备案表盖章文件名', + `stamped_file_upload_time` datetime DEFAULT NULL COMMENT '盖章文件上传时间', + `stamped_file_upload_status` char(1) DEFAULT '0' COMMENT '盖章文件上传状态:0-未上传,1-已上传', + `stamped_file_oss_id` bigint(20) DEFAULT NULL COMMENT '盖章文件OSS ID', + `party_retention_file_path` varchar(500) DEFAULT NULL COMMENT '党籍保留附件文件路径', + `party_retention_file_name` varchar(200) DEFAULT NULL COMMENT '党籍保留附件文件名', + `party_retention_upload_time` datetime DEFAULT NULL COMMENT '党籍保留附件上传时间', + `party_retention_upload_status` varchar(1) DEFAULT '0' COMMENT '党籍保留附件上传状态:0-未上传,1-已上传', + `party_retention_file_oss_id` bigint(20) DEFAULT NULL COMMENT '党籍保留附件OSS ID', + `attachment_count` int(11) DEFAULT '0' COMMENT '附件数量', + `contact_phone` varchar(20) DEFAULT NULL COMMENT '联系电话', + `contact_email` varchar(100) DEFAULT NULL COMMENT '联系邮箱', + `purpose` varchar(50) NOT NULL COMMENT '出国目的', + `purpose_detail` text NOT NULL COMMENT '目的详细说明', + `destination` varchar(100) NOT NULL COMMENT '目的地国家', + `destination_city` varchar(100) DEFAULT NULL COMMENT '目的地城市', + `start_date` date NOT NULL COMMENT '开始日期', + `end_date` date NOT NULL COMMENT '结束日期', + `duration` int(11) NOT NULL COMMENT '出国天数', + `budget` decimal(15,2) NOT NULL COMMENT '预算金额', + `invitation` text COMMENT '邀请方信息', + `itinerary` text NOT NULL COMMENT '行程安排', + `accommodation_plan` text COMMENT '住宿安排', + `transportation_plan` text COMMENT '交通安排', + `status` char(1) NOT NULL DEFAULT '0' COMMENT '申请状态:0-待审核,1-已通过,2-已拒绝,3-已取消,4-已完成', + `current_approver` varchar(100) DEFAULT NULL COMMENT '当前审批人', + `approval_level` char(1) DEFAULT NULL COMMENT '审批级别:1-部门主管,2-分管领导,3-校领导', + `apply_time` datetime NOT NULL COMMENT '申请时间', + `approval_time` datetime DEFAULT NULL COMMENT '审批时间', + `admin_remark` text COMMENT '管理员备注', + `applicant_remark` text COMMENT '申请人备注', + `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', + `deleted` char(1) DEFAULT '0' COMMENT '删除标志:0-存在,1-删除', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + +-- ---------------------------- +-- Table structure for rs_overseas_approval +-- ---------------------------- +DROP TABLE IF EXISTS `rs_overseas_approval`; +CREATE TABLE `rs_overseas_approval` ( + `approval_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '审批ID', + `application_id` bigint(20) NOT NULL COMMENT '申请ID', + `approver_id` bigint(20) NOT NULL COMMENT '审批人ID', + `approver_name` varchar(50) NOT NULL COMMENT '审批人姓名', + `approval_level` char(1) NOT NULL COMMENT '审批级别:1-部门主管,2-分管领导,3-校领导', + `approval_status` char(1) NOT NULL COMMENT '审批结果:0-待审核,1-通过,2-拒绝', + `approval_opinion` text COMMENT '审批意见', + `approval_signature` text COMMENT '手写签名', + `approval_time` datetime DEFAULT NULL COMMENT '审批时间', + `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', + `deleted` char(1) DEFAULT '0' COMMENT '删除标志:0-存在,1-删除', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`approval_id`), + KEY `idx_application_id` (`application_id`), + KEY `idx_approver_id` (`approver_id`), + KEY `idx_approval_level` (`approval_level`), + KEY `idx_tenant_deleted` (`tenant_id`,`deleted`) +) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COMMENT='出国审批记录表'; + +-- ---------------------------- +-- Table structure for rs_overseas_itinerary_change +-- ---------------------------- +DROP TABLE IF EXISTS `rs_overseas_itinerary_change`; +CREATE TABLE `rs_overseas_itinerary_change` ( + `change_id` bigint(20) NOT NULL COMMENT '变更ID(主键,雪花ID)', + `record_id` bigint(20) NOT NULL COMMENT '出国行程变更对象 rs_overseas_itinerary_change\n *\n * @author zlwu\n * @date 2025-01-13\n */\n@Data\n@EqualsAndHashCode(callSuper = true)\n@TableName("rs_overseas_itinerary_change")\npublic class RsOverseasItineraryChange extends BaseEntity {\n\n private static final long serialVersionUID = 1L;\n\n /**\n * 变更ID(主键,雪花ID)\n */\n @TableId(value = "change_id")\n private Long changeId;\n\n /**\n * 关联备案记录ID(外键,关联rs_overseas_entry_exit_record.record_id)', + `application_id` bigint(20) DEFAULT NULL COMMENT '关联出国申请ID(外键,关联rs_overseas_application.application_id,可为空)', + `applicant_id` bigint(20) NOT NULL COMMENT '申请人ID(外键,关联sys_user.user_id)', + `applicant_name` varchar(100) NOT NULL COMMENT '申请人姓名', + `gender` char(1) DEFAULT NULL COMMENT '性别:0-男,1-女', + `birth_date` date DEFAULT NULL COMMENT '出生日期', + `political_status` varchar(20) DEFAULT NULL COMMENT '政治面貌', + `professional_title` varchar(100) DEFAULT NULL COMMENT '职称', + `position` varchar(100) DEFAULT NULL COMMENT '职务', + `document_name` varchar(100) DEFAULT NULL COMMENT '申领证件名称', + `document_number` varchar(100) DEFAULT NULL COMMENT '证件号码', + `department` varchar(200) DEFAULT NULL COMMENT '部门', + `original_destination` varchar(100) DEFAULT NULL COMMENT '原目的地国家', + `original_destination_city` varchar(100) DEFAULT NULL COMMENT '原目的地城市', + `original_exit_reason` varchar(100) DEFAULT NULL COMMENT '原出境事由', + `original_start_date` date DEFAULT NULL COMMENT '原计划开始日期', + `original_end_date` date DEFAULT NULL COMMENT '原计划结束日期', + `original_duration` int(11) DEFAULT NULL COMMENT '原计划天数', + `original_itinerary` text COMMENT '原行程安排(详细)', + `original_accommodation_plan` text COMMENT '原住宿计划', + `original_transportation_plan` text COMMENT '原交通计划', + `change_type` varchar(200) NOT NULL COMMENT '变更类型(字典:rs_itinerary_change_type)', + `new_destination` varchar(100) DEFAULT NULL COMMENT '新目的地国家', + `new_destination_city` varchar(100) DEFAULT NULL COMMENT '新目的地城市', + `new_exit_reason` varchar(100) DEFAULT NULL COMMENT '新出境事由', + `new_start_date` date DEFAULT NULL COMMENT '新计划开始日期', + `new_end_date` date DEFAULT NULL COMMENT '新计划结束日期', + `new_duration` int(11) DEFAULT NULL COMMENT '新计划天数', + `new_itinerary` text COMMENT '新行程安排(详细)', + `new_accommodation_plan` text COMMENT '新住宿计划', + `new_transportation_plan` text COMMENT '新交通计划', + `change_reason` varchar(500) NOT NULL COMMENT '变更原因(必填)', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `status` char(1) NOT NULL DEFAULT '0' COMMENT '审批状态(字典:rs_itinerary_change_status,0:待审核 1:已通过 2:已拒绝 3:已撤回)', + `approval_opinion` varchar(500) DEFAULT NULL COMMENT '审批意见', + `approval_time` datetime DEFAULT NULL COMMENT '审批时间', + `approver_id` bigint(20) DEFAULT NULL COMMENT '审批人ID', + `approver_name` varchar(100) DEFAULT NULL COMMENT '审批人姓名', + `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志', + PRIMARY KEY (`change_id`), + KEY `idx_record_id` (`record_id`) COMMENT '出国记录ID索引', + KEY `idx_application_id` (`application_id`) COMMENT '原申请ID索引', + KEY `idx_applicant_id` (`applicant_id`) COMMENT '申请人ID索引', + KEY `idx_status` (`status`) COMMENT '状态索引', + KEY `idx_tenant_id` (`tenant_id`) COMMENT '租户ID索引', + KEY `idx_create_time` (`create_time`) COMMENT '创建时间索引' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='出国行程变更表'; + +-- ---------------------------- +-- Table structure for rs_overseas_record +-- ---------------------------- +DROP TABLE IF EXISTS `rs_overseas_record`; +CREATE TABLE `rs_overseas_record` ( + `record_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '记录ID', + `application_id` bigint(20) NOT NULL COMMENT '关联申请ID', + `applicant_id` bigint(20) NOT NULL COMMENT '申请人ID', + `applicant_name` varchar(50) NOT NULL COMMENT '申请人姓名', + `department` varchar(100) NOT NULL COMMENT '所属部门', + `position` varchar(100) DEFAULT NULL COMMENT '职位', + `contact_phone` varchar(20) DEFAULT NULL COMMENT '联系电话', + `contact_email` varchar(100) DEFAULT NULL COMMENT '联系邮箱', + `purpose` varchar(50) NOT NULL COMMENT '出国目的', + `purpose_detail` text COMMENT '目的详细说明', + `destination` varchar(100) NOT NULL COMMENT '目的地国家', + `destination_city` varchar(100) DEFAULT NULL COMMENT '目的地城市', + `actual_start_date` date DEFAULT NULL COMMENT '实际开始日期', + `actual_end_date` date DEFAULT NULL COMMENT '实际结束日期', + `actual_duration` int(11) DEFAULT NULL COMMENT '实际出国天数', + `actual_budget` decimal(15,2) DEFAULT NULL COMMENT '实际花费金额', + `budget_source` varchar(50) DEFAULT NULL COMMENT '经费来源', + `invitation` text COMMENT '邀请方信息', + `itinerary` text COMMENT '行程安排', + `accommodation_plan` text COMMENT '住宿安排', + `transportation_plan` text COMMENT '交通安排', + `completion_status` char(1) NOT NULL DEFAULT '1' COMMENT '状态', + `achievement` text COMMENT '出国成果', + `report_content` text COMMENT '出国报告', + `certificate_path` varchar(500) DEFAULT NULL COMMENT '证明材料路径', + `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', + `deleted` char(1) DEFAULT '0' COMMENT '删除标志:0-存在,1-删除', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`record_id`), + KEY `idx_application_id` (`application_id`), + KEY `idx_applicant_id` (`applicant_id`), + KEY `idx_department` (`department`), + KEY `idx_tenant_deleted` (`tenant_id`,`deleted`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COMMENT='出国记录表'; + +-- ---------------------------- +-- Table structure for rs_overseas_record_status_backup +-- ---------------------------- +DROP TABLE IF EXISTS `rs_overseas_record_status_backup`; +CREATE TABLE `rs_overseas_record_status_backup` ( + `record_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '记录ID', + `completion_status` char(1) DEFAULT '0' COMMENT '完成状态:0-进行中,1-已完成,2-提前结束', + `old_status_text` varchar(12) NOT NULL DEFAULT '' COMMENT '原状态文本', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_time` datetime DEFAULT NULL COMMENT '更新时间' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + +-- ---------------------------- +-- Table structure for rs_overseas_registration +-- ---------------------------- +DROP TABLE IF EXISTS `rs_overseas_registration`; +CREATE TABLE `rs_overseas_registration` ( + `registration_id` bigint(20) NOT NULL COMMENT '登记ID(主键)', + `application_id` bigint(20) DEFAULT NULL COMMENT '关联申请ID', + `name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '姓名', + `gender` char(1) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '性别:0-男,1-女', + `birth_date` date NOT NULL COMMENT '出生日期', + `photo` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '照片(预留,前端UI标识)', + `id_number` varchar(18) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '身份证号', + `political_status` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '政治面貌', + `registered_address` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '户籍地址', + `department` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '单位部门', + `position` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '职务', + `administrative_level` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '行政级别', + `personnel_category` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '人员类别', + `status` char(1) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '0' COMMENT '登记状态:0-草稿,1-已提交,2-已确认,3-已拒绝', + `registration_time` datetime DEFAULT NULL COMMENT '登记时间', + `remarks` text COLLATE utf8mb4_unicode_ci COMMENT '备注', + `tenant_id` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT '000000' COMMENT '租户ID', + `deleted` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '0' COMMENT '删除标志', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`registration_id`) USING BTREE, + KEY `idx_application_id` (`application_id`) USING BTREE COMMENT '关联申请ID索引', + KEY `idx_name` (`name`) USING BTREE COMMENT '姓名索引(支持模糊查询)', + KEY `idx_id_number` (`id_number`) USING BTREE COMMENT '身份证号索引(唯一性查询)', + KEY `idx_political_status` (`political_status`) USING BTREE COMMENT '政治面貌索引(党员筛选)', + KEY `idx_status` (`status`) USING BTREE COMMENT '状态索引(用于筛选)', + KEY `idx_registration_time` (`registration_time`) USING BTREE COMMENT '登记时间索引(用于排序)', + KEY `idx_tenant_deleted` (`tenant_id`,`deleted`) USING BTREE COMMENT '多租户隔离索引', + KEY `idx_department` (`department`) USING BTREE COMMENT '部门索引', + KEY `idx_create_time` (`create_time`) USING BTREE COMMENT '创建时间索引' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='出国登记表'; + +-- ---------------------------- +-- Table structure for rs_overseas_registration_history +-- ---------------------------- +DROP TABLE IF EXISTS `rs_overseas_registration_history`; +CREATE TABLE `rs_overseas_registration_history` ( + `history_id` bigint(20) NOT NULL COMMENT '历史记录ID', + `registration_id` bigint(20) NOT NULL COMMENT '关联的登记ID', + `actual_departure_date` date DEFAULT NULL COMMENT '实际出发日期', + `actual_return_date` date DEFAULT NULL COMMENT '实际返回日期', + `actual_duration_days` int(11) DEFAULT NULL COMMENT '实际出行天数', + `actual_destination` varchar(200) DEFAULT NULL COMMENT '实际目的地', + `completion_status` char(1) NOT NULL DEFAULT '0' COMMENT '完成状态:0-进行中,1-已完成,2-已取消', + `completion_notes` text COMMENT '完成说明', + `evidence_files` text COMMENT '证明文件(JSON格式存储文件信息)', + `actual_cost` decimal(10,2) DEFAULT NULL COMMENT '实际费用', + `cost_notes` varchar(500) DEFAULT NULL COMMENT '费用说明', + `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户ID', + `deleted` char(1) DEFAULT '0' COMMENT '删除标志', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`history_id`), + KEY `idx_registration_id` (`registration_id`), + KEY `idx_completion_status` (`completion_status`), + CONSTRAINT `fk_history_registration` FOREIGN KEY (`registration_id`) REFERENCES `rs_overseas_registration` (`registration_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='出国登记历史表'; + +-- ---------------------------- +-- Table structure for rs_training_application +-- ---------------------------- +DROP TABLE IF EXISTS `rs_training_application`; +CREATE TABLE `rs_training_application` ( + `application_id` bigint(20) NOT NULL COMMENT '申请ID', + `course_id` bigint(20) NOT NULL COMMENT '课程ID', + `course_name` varchar(100) DEFAULT NULL COMMENT '自定义课程名称', + `reject_time` datetime DEFAULT NULL COMMENT '拒绝时间', + `user_id` bigint(20) NOT NULL COMMENT '申请人ID', + `user_name` varchar(50) NOT NULL COMMENT '申请人姓名', + `department` varchar(50) NOT NULL COMMENT '所属部门', + `position` varchar(50) DEFAULT NULL COMMENT '职位', + `current_title` varchar(100) DEFAULT NULL COMMENT '现职称', + `current_position` varchar(50) DEFAULT NULL COMMENT '现岗位', + `work_start_time` date DEFAULT NULL COMMENT '参加工作时间', + `phone` varchar(20) DEFAULT NULL COMMENT '联系电话', + `emergency_contact` varchar(200) DEFAULT NULL COMMENT '应急联系人及电话', + `organizer_unit` varchar(200) DEFAULT NULL COMMENT '主办单位', + `training_type` varchar(50) DEFAULT NULL COMMENT '培训类型', + `training_fee` decimal(10,2) DEFAULT '0.00' COMMENT '培训费用', + `companions` text COMMENT '同行人员列表(JSON格式)', + `training_purpose` text COMMENT '培训目的', + `attachment_ids` text COMMENT '附件ID列表(逗号分隔)', + `reason` text COMMENT '申请理由', + `status` char(1) DEFAULT '0' COMMENT '状态(0待审核 1已通过 2已拒绝 3进行中 4已完成)', + `apply_time` datetime DEFAULT NULL COMMENT '申请时间', + `current_approver` varchar(50) DEFAULT NULL COMMENT '当前审批人', + `current_approver_id` bigint(20) DEFAULT NULL COMMENT '当前审批人ID', + `approval_level` varchar(10) DEFAULT '1' COMMENT '当前审批级别(1-7,2a-教务处,2b-学生处)', + `approval_time` datetime DEFAULT NULL COMMENT '审批时间', + `location` varchar(200) DEFAULT NULL COMMENT '培训地点', + `duration` int(11) DEFAULT NULL COMMENT '学时', + `start_time` datetime DEFAULT NULL COMMENT '开始时间', + `end_time` datetime DEFAULT NULL COMMENT '结束时间', + `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `deleted` char(1) DEFAULT '0' COMMENT '删除标志', + PRIMARY KEY (`application_id`), + KEY `idx_current_approver_id` (`current_approver_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='培训申请表'; + +-- ---------------------------- +-- Table structure for rs_training_application_backup_20250103 +-- ---------------------------- +DROP TABLE IF EXISTS `rs_training_application_backup_20250103`; +CREATE TABLE `rs_training_application_backup_20250103` ( + `application_id` bigint(20) NOT NULL COMMENT '申请ID', + `course_id` bigint(20) NOT NULL COMMENT '课程ID', + `course_name` varchar(100) DEFAULT NULL COMMENT '自定义课程名称', + `reject_time` datetime DEFAULT NULL COMMENT '拒绝时间', + `user_id` bigint(20) NOT NULL COMMENT '申请人ID', + `user_name` varchar(50) NOT NULL COMMENT '申请人姓名', + `department` varchar(50) NOT NULL COMMENT '所属部门', + `position` varchar(50) DEFAULT NULL COMMENT '职位', + `reason` text COMMENT '申请理由', + `status` char(1) DEFAULT '0' COMMENT '状态(0待审核 1已通过 2已拒绝 3进行中 4已完成)', + `apply_time` datetime DEFAULT NULL COMMENT '申请时间', + `current_approver` varchar(50) DEFAULT NULL COMMENT '当前审批人', + `location` varchar(200) DEFAULT NULL COMMENT '培训地点', + `duration` int(11) DEFAULT NULL COMMENT '学时', + `start_time` datetime DEFAULT NULL COMMENT '开始时间', + `end_time` datetime DEFAULT NULL COMMENT '结束时间', + `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `deleted` char(1) DEFAULT '0' COMMENT '删除标志' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + +-- ---------------------------- +-- Table structure for rs_training_approval +-- ---------------------------- +DROP TABLE IF EXISTS `rs_training_approval`; +CREATE TABLE `rs_training_approval` ( + `approval_id` bigint(20) NOT NULL COMMENT '审批ID', + `application_id` bigint(20) NOT NULL COMMENT '申请ID', + `approver_id` bigint(20) NOT NULL COMMENT '审批人ID', + `approver_name` varchar(50) NOT NULL COMMENT '审批人姓名', + `approval_level` int(11) NOT NULL COMMENT '审批级别(1部门主管 2分管领导 3校领导)', + `status` char(1) DEFAULT '0' COMMENT '状态(0待审核 1已通过 2已拒绝)', + `opinion` varchar(500) DEFAULT NULL COMMENT '审批意见', + `approval_time` datetime DEFAULT NULL COMMENT '审批时间', + `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `deleted` char(1) DEFAULT '0' COMMENT '删除标志', + PRIMARY KEY (`approval_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='培训审批表'; + +-- ---------------------------- +-- Table structure for rs_training_course +-- ---------------------------- +DROP TABLE IF EXISTS `rs_training_course`; +CREATE TABLE `rs_training_course` ( + `course_id` bigint(20) NOT NULL COMMENT '课程ID', + `title` varchar(100) NOT NULL COMMENT '课程名称', + `category` varchar(50) NOT NULL COMMENT '课程类别', + `description` text COMMENT '课程描述', + `start_time` datetime NOT NULL COMMENT '开始时间', + `end_time` datetime NOT NULL COMMENT '结束时间', + `duration` int(11) NOT NULL COMMENT '学时数', + `location` varchar(200) DEFAULT NULL COMMENT '培训地点', + `max_participants` int(11) DEFAULT '0' COMMENT '最大参与人数', + `current_participants` int(11) DEFAULT '0' COMMENT '当前报名人数', + `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)', + `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `deleted` char(1) DEFAULT '0' COMMENT '删除标志', + PRIMARY KEY (`course_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='培训课程表'; + +-- ---------------------------- +-- Table structure for rs_training_record +-- ---------------------------- +DROP TABLE IF EXISTS `rs_training_record`; +CREATE TABLE `rs_training_record` ( + `record_id` bigint(20) NOT NULL COMMENT '记录ID', + `application_id` bigint(20) NOT NULL COMMENT '申请ID', + `course_id` bigint(20) NOT NULL COMMENT '课程ID', + `user_id` bigint(20) NOT NULL COMMENT '用户ID', + `user_name` varchar(50) NOT NULL COMMENT '用户姓名', + `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `dept_id` bigint(20) DEFAULT NULL COMMENT '部门ID', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` char(1) DEFAULT '0' COMMENT '删除标志', + `location` varchar(255) DEFAULT NULL COMMENT '培训地点', + `duration` int(11) DEFAULT NULL COMMENT '学时', + `apply_time` datetime DEFAULT NULL COMMENT '申请时间', + `status` varchar(10) DEFAULT NULL COMMENT '申请状态', + `course_name` varchar(255) DEFAULT NULL COMMENT '课程名称', + `department` varchar(255) DEFAULT NULL COMMENT '所属部门', + `position` varchar(255) DEFAULT NULL COMMENT '职位', + `reason` varchar(255) DEFAULT NULL COMMENT '申请理由', + `current_approver` varchar(255) DEFAULT NULL COMMENT '当前审批人', + `start_time` datetime DEFAULT NULL COMMENT '开始时间', + `end_time` datetime DEFAULT NULL COMMENT '结束时间', + `completion_status` char(1) DEFAULT '0' COMMENT '完成状态(0进行中 1已完成 2未完成)', + `completion_time` datetime DEFAULT NULL COMMENT '完成时间', + `score` decimal(5,2) DEFAULT NULL COMMENT '成绩', + `certificate_path` varchar(255) DEFAULT NULL COMMENT '证书路径', + `certificate_number` varchar(50) DEFAULT NULL COMMENT '证书编号', + `attachment_ids` text COMMENT '证书附件ID', + `feedback` text COMMENT '培训反馈', + PRIMARY KEY (`record_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='培训记录表'; + +-- ---------------------------- +-- Table structure for rs_work_experience +-- ---------------------------- +DROP TABLE IF EXISTS `rs_work_experience`; +CREATE TABLE `rs_work_experience` ( + `exp_id` bigint(20) NOT NULL COMMENT '工作经历ID', + `applicant_id` bigint(20) NOT NULL COMMENT '应聘者ID', + `company_name` varchar(100) NOT NULL COMMENT '公司名称', + `position` varchar(100) NOT NULL COMMENT '职位', + `start_date` date DEFAULT NULL COMMENT '开始日期', + `end_date` date DEFAULT NULL COMMENT '结束日期', + `is_current` char(1) DEFAULT '0' COMMENT '是否当前工作(0是 1否)', + `description` text COMMENT '工作描述', + `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + PRIMARY KEY (`exp_id`), + KEY `idx_applicant_id` (`applicant_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='工作经历表'; + +-- ---------------------------- +-- Table structure for sj_distributed_lock +-- ---------------------------- +DROP TABLE IF EXISTS `sj_distributed_lock`; +CREATE TABLE `sj_distributed_lock` ( + `name` varchar(64) NOT NULL COMMENT '锁名称', + `lock_until` timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3) COMMENT '锁定时长', + `locked_at` timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '锁定时间', + `locked_by` varchar(255) NOT NULL COMMENT '锁定者', + `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', + PRIMARY KEY (`name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='锁定表'; + +-- ---------------------------- +-- Table structure for sj_group_config +-- ---------------------------- +DROP TABLE IF EXISTS `sj_group_config`; +CREATE TABLE `sj_group_config` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', + `group_name` varchar(64) NOT NULL DEFAULT '' COMMENT '组名称', + `description` varchar(256) NOT NULL DEFAULT '' COMMENT '组描述', + `token` varchar(64) NOT NULL DEFAULT 'SJ_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT' COMMENT 'token', + `group_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '组状态 0、未启用 1、启用', + `version` int(11) NOT NULL COMMENT '版本号', + `group_partition` int(11) NOT NULL COMMENT '分区', + `id_generator_mode` tinyint(4) NOT NULL DEFAULT '1' COMMENT '唯一id生成模式 默认号段模式', + `init_scene` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否初始化场景 0:否 1:是', + `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_namespace_id_group_name` (`namespace_id`,`group_name`) +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COMMENT='组配置'; + +-- ---------------------------- +-- Table structure for sj_job +-- ---------------------------- +DROP TABLE IF EXISTS `sj_job`; +CREATE TABLE `sj_job` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', + `group_name` varchar(64) NOT NULL COMMENT '组名称', + `job_name` varchar(64) NOT NULL COMMENT '名称', + `args_str` text COMMENT '执行方法参数', + `args_type` tinyint(4) NOT NULL DEFAULT '1' COMMENT '参数类型 ', + `next_trigger_at` bigint(13) NOT NULL COMMENT '下次触发时间', + `job_status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '任务状态 0、关闭、1、开启', + `task_type` tinyint(4) NOT NULL DEFAULT '1' COMMENT '任务类型 1、集群 2、广播 3、切片', + `route_key` tinyint(4) NOT NULL DEFAULT '4' COMMENT '路由策略', + `executor_type` tinyint(4) NOT NULL DEFAULT '1' COMMENT '执行器类型', + `executor_info` varchar(255) DEFAULT NULL COMMENT '执行器名称', + `trigger_type` tinyint(4) NOT NULL COMMENT '触发类型 1.CRON 表达式 2. 固定时间', + `trigger_interval` varchar(255) NOT NULL COMMENT '间隔时长', + `block_strategy` tinyint(4) NOT NULL DEFAULT '1' COMMENT '阻塞策略 1、丢弃 2、覆盖 3、并行 4、恢复', + `executor_timeout` int(11) NOT NULL DEFAULT '0' COMMENT '任务执行超时时间,单位秒', + `max_retry_times` int(11) NOT NULL DEFAULT '0' COMMENT '最大重试次数', + `parallel_num` int(11) NOT NULL DEFAULT '1' COMMENT '并行数', + `retry_interval` int(11) NOT NULL DEFAULT '0' COMMENT '重试间隔(s)', + `bucket_index` int(11) NOT NULL DEFAULT '0' COMMENT 'bucket', + `resident` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否是常驻任务', + `notify_ids` varchar(128) NOT NULL DEFAULT '' COMMENT '通知告警场景配置id列表', + `owner_id` bigint(20) DEFAULT NULL COMMENT '负责人id', + `description` varchar(256) NOT NULL DEFAULT '' COMMENT '描述', + `ext_attrs` varchar(256) DEFAULT '' COMMENT '扩展字段', + `deleted` tinyint(4) NOT NULL DEFAULT '0' COMMENT '逻辑删除 1、删除', + `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', + PRIMARY KEY (`id`), + KEY `idx_namespace_id_group_name` (`namespace_id`,`group_name`), + KEY `idx_job_status_bucket_index` (`job_status`,`bucket_index`), + KEY `idx_create_dt` (`create_dt`) +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COMMENT='任务信息'; + +-- ---------------------------- +-- Table structure for sj_job_log_message +-- ---------------------------- +DROP TABLE IF EXISTS `sj_job_log_message`; +CREATE TABLE `sj_job_log_message` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', + `group_name` varchar(64) NOT NULL COMMENT '组名称', + `job_id` bigint(20) NOT NULL COMMENT '任务信息id', + `task_batch_id` bigint(20) NOT NULL COMMENT '任务批次id', + `task_id` bigint(20) NOT NULL COMMENT '调度任务id', + `message` longtext NOT NULL COMMENT '调度信息', + `log_num` int(11) NOT NULL DEFAULT '1' COMMENT '日志数量', + `real_time` bigint(13) NOT NULL DEFAULT '0' COMMENT '上报时间', + `ext_attrs` varchar(256) DEFAULT '' COMMENT '扩展字段', + `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + PRIMARY KEY (`id`), + KEY `idx_task_batch_id_task_id` (`task_batch_id`,`task_id`), + KEY `idx_create_dt` (`create_dt`), + KEY `idx_namespace_id_group_name` (`namespace_id`,`group_name`) +) ENGINE=InnoDB AUTO_INCREMENT=3950 DEFAULT CHARSET=utf8mb4 COMMENT='调度日志'; + +-- ---------------------------- +-- Table structure for sj_job_summary +-- ---------------------------- +DROP TABLE IF EXISTS `sj_job_summary`; +CREATE TABLE `sj_job_summary` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', + `group_name` varchar(64) NOT NULL DEFAULT '' COMMENT '组名称', + `business_id` bigint(20) NOT NULL COMMENT '业务id (job_id或workflow_id)', + `system_task_type` tinyint(4) NOT NULL DEFAULT '3' COMMENT '任务类型 3、JOB任务 4、WORKFLOW任务', + `trigger_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '统计时间', + `success_num` int(11) NOT NULL DEFAULT '0' COMMENT '执行成功-日志数量', + `fail_num` int(11) NOT NULL DEFAULT '0' COMMENT '执行失败-日志数量', + `fail_reason` varchar(512) NOT NULL DEFAULT '' COMMENT '失败原因', + `stop_num` int(11) NOT NULL DEFAULT '0' COMMENT '执行失败-日志数量', + `stop_reason` varchar(512) NOT NULL DEFAULT '' COMMENT '失败原因', + `cancel_num` int(11) NOT NULL DEFAULT '0' COMMENT '执行失败-日志数量', + `cancel_reason` varchar(512) NOT NULL DEFAULT '' COMMENT '失败原因', + `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_trigger_at_system_task_type_business_id` (`trigger_at`,`system_task_type`,`business_id`) USING BTREE, + KEY `idx_namespace_id_group_name_business_id` (`namespace_id`,`group_name`,`business_id`) +) ENGINE=InnoDB AUTO_INCREMENT=177 DEFAULT CHARSET=utf8mb4 COMMENT='DashBoard_Job'; + +-- ---------------------------- +-- Table structure for sj_job_task +-- ---------------------------- +DROP TABLE IF EXISTS `sj_job_task`; +CREATE TABLE `sj_job_task` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', + `group_name` varchar(64) NOT NULL COMMENT '组名称', + `job_id` bigint(20) NOT NULL COMMENT '任务信息id', + `task_batch_id` bigint(20) NOT NULL COMMENT '调度任务id', + `parent_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '父执行器id', + `task_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '执行的状态 0、失败 1、成功', + `retry_count` int(11) NOT NULL DEFAULT '0' COMMENT '重试次数', + `mr_stage` tinyint(4) DEFAULT NULL COMMENT '动态分片所处阶段 1:map 2:reduce 3:mergeReduce', + `leaf` tinyint(4) NOT NULL DEFAULT '1' COMMENT '叶子节点', + `task_name` varchar(255) NOT NULL DEFAULT '' COMMENT '任务名称', + `client_info` varchar(128) DEFAULT NULL COMMENT '客户端地址 clientId#ip:port', + `wf_context` text COMMENT '工作流全局上下文', + `result_message` text NOT NULL COMMENT '执行结果', + `args_str` text COMMENT '执行方法参数', + `args_type` tinyint(4) NOT NULL DEFAULT '1' COMMENT '参数类型 ', + `ext_attrs` varchar(256) DEFAULT '' COMMENT '扩展字段', + `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', + PRIMARY KEY (`id`), + KEY `idx_task_batch_id_task_status` (`task_batch_id`,`task_status`), + KEY `idx_create_dt` (`create_dt`), + KEY `idx_namespace_id_group_name` (`namespace_id`,`group_name`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COMMENT='任务实例'; + +-- ---------------------------- +-- Table structure for sj_job_task_batch +-- ---------------------------- +DROP TABLE IF EXISTS `sj_job_task_batch`; +CREATE TABLE `sj_job_task_batch` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', + `group_name` varchar(64) NOT NULL COMMENT '组名称', + `job_id` bigint(20) NOT NULL COMMENT '任务id', + `workflow_node_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '工作流节点id', + `parent_workflow_node_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '工作流任务父批次id', + `workflow_task_batch_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '工作流任务批次id', + `task_batch_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '任务批次状态 0、失败 1、成功', + `operation_reason` tinyint(4) NOT NULL DEFAULT '0' COMMENT '操作原因', + `execution_at` bigint(13) NOT NULL DEFAULT '0' COMMENT '任务执行时间', + `system_task_type` tinyint(4) NOT NULL DEFAULT '3' COMMENT '任务类型 3、JOB任务 4、WORKFLOW任务', + `parent_id` varchar(64) NOT NULL DEFAULT '' COMMENT '父节点', + `ext_attrs` varchar(256) DEFAULT '' COMMENT '扩展字段', + `deleted` tinyint(4) NOT NULL DEFAULT '0' COMMENT '逻辑删除 1、删除', + `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', + PRIMARY KEY (`id`), + KEY `idx_job_id_task_batch_status` (`job_id`,`task_batch_status`), + KEY `idx_create_dt` (`create_dt`), + KEY `idx_namespace_id_group_name` (`namespace_id`,`group_name`), + KEY `idx_workflow_task_batch_id_workflow_node_id` (`workflow_task_batch_id`,`workflow_node_id`) +) ENGINE=InnoDB AUTO_INCREMENT=101918 DEFAULT CHARSET=utf8mb4 COMMENT='任务批次'; + +-- ---------------------------- +-- Table structure for sj_namespace +-- ---------------------------- +DROP TABLE IF EXISTS `sj_namespace`; +CREATE TABLE `sj_namespace` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `name` varchar(64) NOT NULL COMMENT '名称', + `unique_id` varchar(64) NOT NULL COMMENT '唯一id', + `description` varchar(256) NOT NULL DEFAULT '' COMMENT '描述', + `deleted` tinyint(4) NOT NULL DEFAULT '0' COMMENT '逻辑删除 1、删除', + `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_unique_id` (`unique_id`), + KEY `idx_name` (`name`) +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COMMENT='命名空间'; + +-- ---------------------------- +-- Table structure for sj_notify_config +-- ---------------------------- +DROP TABLE IF EXISTS `sj_notify_config`; +CREATE TABLE `sj_notify_config` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', + `group_name` varchar(64) NOT NULL COMMENT '组名称', + `notify_name` varchar(64) NOT NULL DEFAULT '' COMMENT '通知名称', + `system_task_type` tinyint(4) NOT NULL DEFAULT '3' COMMENT '任务类型 1. 重试任务 2. 重试回调 3、JOB任务 4、WORKFLOW任务', + `notify_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '通知状态 0、未启用 1、启用', + `recipient_ids` varchar(128) NOT NULL COMMENT '接收人id列表', + `notify_threshold` int(11) NOT NULL DEFAULT '0' COMMENT '通知阈值', + `notify_scene` tinyint(4) NOT NULL DEFAULT '0' COMMENT '通知场景', + `rate_limiter_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '限流状态 0、未启用 1、启用', + `rate_limiter_threshold` int(11) NOT NULL DEFAULT '0' COMMENT '每秒限流阈值', + `description` varchar(256) NOT NULL DEFAULT '' COMMENT '描述', + `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', + PRIMARY KEY (`id`), + KEY `idx_namespace_id_group_name_scene_name` (`namespace_id`,`group_name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='通知配置'; + +-- ---------------------------- +-- Table structure for sj_notify_recipient +-- ---------------------------- +DROP TABLE IF EXISTS `sj_notify_recipient`; +CREATE TABLE `sj_notify_recipient` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', + `recipient_name` varchar(64) NOT NULL COMMENT '接收人名称', + `notify_type` tinyint(4) NOT NULL DEFAULT '0' COMMENT '通知类型 1、钉钉 2、邮件 3、企业微信 4 飞书 5 webhook', + `notify_attribute` varchar(512) NOT NULL COMMENT '配置属性', + `description` varchar(256) NOT NULL DEFAULT '' COMMENT '描述', + `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', + PRIMARY KEY (`id`), + KEY `idx_namespace_id` (`namespace_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='告警通知接收人'; + +-- ---------------------------- +-- Table structure for sj_retry +-- ---------------------------- +DROP TABLE IF EXISTS `sj_retry`; +CREATE TABLE `sj_retry` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', + `group_name` varchar(64) NOT NULL COMMENT '组名称', + `group_id` bigint(20) NOT NULL COMMENT '组Id', + `scene_name` varchar(64) NOT NULL COMMENT '场景名称', + `scene_id` bigint(20) NOT NULL COMMENT '场景ID', + `idempotent_id` varchar(64) NOT NULL COMMENT '幂等id', + `biz_no` varchar(64) NOT NULL DEFAULT '' COMMENT '业务编号', + `executor_name` varchar(512) NOT NULL DEFAULT '' COMMENT '执行器名称', + `args_str` text NOT NULL COMMENT '执行方法参数', + `ext_attrs` text NOT NULL COMMENT '扩展字段', + `next_trigger_at` bigint(13) NOT NULL COMMENT '下次触发时间', + `retry_count` int(11) NOT NULL DEFAULT '0' COMMENT '重试次数', + `retry_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '重试状态 0、重试中 1、成功 2、最大重试次数', + `task_type` tinyint(4) NOT NULL DEFAULT '1' COMMENT '任务类型 1、重试数据 2、回调数据', + `bucket_index` int(11) NOT NULL DEFAULT '0' COMMENT 'bucket', + `parent_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '父节点id', + `deleted` bigint(20) NOT NULL DEFAULT '0' COMMENT '逻辑删除', + `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_scene_tasktype_idempotentid_deleted` (`scene_id`,`task_type`,`idempotent_id`,`deleted`), + KEY `idx_biz_no` (`biz_no`), + KEY `idx_idempotent_id` (`idempotent_id`), + KEY `idx_retry_status_bucket_index` (`retry_status`,`bucket_index`), + KEY `idx_parent_id` (`parent_id`), + KEY `idx_create_dt` (`create_dt`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='重试信息表'; + +-- ---------------------------- +-- Table structure for sj_retry_dead_letter +-- ---------------------------- +DROP TABLE IF EXISTS `sj_retry_dead_letter`; +CREATE TABLE `sj_retry_dead_letter` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', + `group_name` varchar(64) NOT NULL COMMENT '组名称', + `group_id` bigint(20) NOT NULL COMMENT '组Id', + `scene_name` varchar(64) NOT NULL COMMENT '场景名称', + `scene_id` bigint(20) NOT NULL COMMENT '场景ID', + `idempotent_id` varchar(64) NOT NULL COMMENT '幂等id', + `biz_no` varchar(64) NOT NULL DEFAULT '' COMMENT '业务编号', + `executor_name` varchar(512) NOT NULL DEFAULT '' COMMENT '执行器名称', + `args_str` text NOT NULL COMMENT '执行方法参数', + `ext_attrs` text NOT NULL COMMENT '扩展字段', + `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + PRIMARY KEY (`id`), + KEY `idx_namespace_id_group_name_scene_name` (`namespace_id`,`group_name`,`scene_name`), + KEY `idx_idempotent_id` (`idempotent_id`), + KEY `idx_biz_no` (`biz_no`), + KEY `idx_create_dt` (`create_dt`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='死信队列表'; + +-- ---------------------------- +-- Table structure for sj_retry_scene_config +-- ---------------------------- +DROP TABLE IF EXISTS `sj_retry_scene_config`; +CREATE TABLE `sj_retry_scene_config` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', + `scene_name` varchar(64) NOT NULL COMMENT '场景名称', + `group_name` varchar(64) NOT NULL COMMENT '组名称', + `scene_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '组状态 0、未启用 1、启用', + `max_retry_count` int(11) NOT NULL DEFAULT '5' COMMENT '最大重试次数', + `back_off` tinyint(4) NOT NULL DEFAULT '1' COMMENT '1、默认等级 2、固定间隔时间 3、CRON 表达式', + `trigger_interval` varchar(16) NOT NULL DEFAULT '' COMMENT '间隔时长', + `notify_ids` varchar(128) NOT NULL DEFAULT '' COMMENT '通知告警场景配置id列表', + `deadline_request` bigint(20) unsigned NOT NULL DEFAULT '60000' COMMENT 'Deadline Request 调用链超时 单位毫秒', + `executor_timeout` int(11) unsigned NOT NULL DEFAULT '5' COMMENT '任务执行超时时间,单位秒', + `route_key` tinyint(4) NOT NULL DEFAULT '4' COMMENT '路由策略', + `block_strategy` tinyint(4) NOT NULL DEFAULT '1' COMMENT '阻塞策略 1、丢弃 2、覆盖 3、并行', + `cb_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '回调状态 0、不开启 1、开启', + `cb_trigger_type` tinyint(4) NOT NULL DEFAULT '1' COMMENT '1、默认等级 2、固定间隔时间 3、CRON 表达式', + `cb_max_count` int(11) NOT NULL DEFAULT '16' COMMENT '回调的最大执行次数', + `cb_trigger_interval` varchar(16) NOT NULL DEFAULT '' COMMENT '回调的最大执行次数', + `description` varchar(256) NOT NULL DEFAULT '' COMMENT '描述', + `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_namespace_id_group_name_scene_name` (`namespace_id`,`group_name`,`scene_name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='场景配置'; + +-- ---------------------------- +-- Table structure for sj_retry_summary +-- ---------------------------- +DROP TABLE IF EXISTS `sj_retry_summary`; +CREATE TABLE `sj_retry_summary` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', + `group_name` varchar(64) NOT NULL DEFAULT '' COMMENT '组名称', + `scene_name` varchar(50) NOT NULL DEFAULT '' COMMENT '场景名称', + `trigger_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '统计时间', + `running_num` int(11) NOT NULL DEFAULT '0' COMMENT '重试中-日志数量', + `finish_num` int(11) NOT NULL DEFAULT '0' COMMENT '重试完成-日志数量', + `max_count_num` int(11) NOT NULL DEFAULT '0' COMMENT '重试到达最大次数-日志数量', + `suspend_num` int(11) NOT NULL DEFAULT '0' COMMENT '暂停重试-日志数量', + `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_scene_name_trigger_at` (`namespace_id`,`group_name`,`scene_name`,`trigger_at`) USING BTREE, + KEY `idx_trigger_at` (`trigger_at`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='DashBoard_Retry'; + +-- ---------------------------- +-- Table structure for sj_retry_task +-- ---------------------------- +DROP TABLE IF EXISTS `sj_retry_task`; +CREATE TABLE `sj_retry_task` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', + `group_name` varchar(64) NOT NULL COMMENT '组名称', + `scene_name` varchar(64) NOT NULL COMMENT '场景名称', + `retry_id` bigint(20) NOT NULL COMMENT '重试信息Id', + `ext_attrs` text NOT NULL COMMENT '扩展字段', + `task_status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '重试状态', + `task_type` tinyint(4) NOT NULL DEFAULT '1' COMMENT '任务类型 1、重试数据 2、回调数据', + `operation_reason` tinyint(4) NOT NULL DEFAULT '0' COMMENT '操作原因', + `client_info` varchar(128) DEFAULT NULL COMMENT '客户端地址 clientId#ip:port', + `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', + PRIMARY KEY (`id`), + KEY `idx_group_name_scene_name` (`namespace_id`,`group_name`,`scene_name`), + KEY `task_status` (`task_status`), + KEY `idx_create_dt` (`create_dt`), + KEY `idx_retry_id` (`retry_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='重试任务表'; + +-- ---------------------------- +-- Table structure for sj_retry_task_log_message +-- ---------------------------- +DROP TABLE IF EXISTS `sj_retry_task_log_message`; +CREATE TABLE `sj_retry_task_log_message` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', + `group_name` varchar(64) NOT NULL COMMENT '组名称', + `retry_id` bigint(20) NOT NULL COMMENT '重试信息Id', + `retry_task_id` bigint(20) NOT NULL COMMENT '重试任务Id', + `message` longtext NOT NULL COMMENT '异常信息', + `log_num` int(11) NOT NULL DEFAULT '1' COMMENT '日志数量', + `real_time` bigint(13) NOT NULL DEFAULT '0' COMMENT '上报时间', + `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + PRIMARY KEY (`id`), + KEY `idx_namespace_id_group_name_retry_task_id` (`namespace_id`,`group_name`,`retry_task_id`), + KEY `idx_create_dt` (`create_dt`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='任务调度日志信息记录表'; + +-- ---------------------------- +-- Table structure for sj_sequence_alloc +-- ---------------------------- +DROP TABLE IF EXISTS `sj_sequence_alloc`; +CREATE TABLE `sj_sequence_alloc` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', + `group_name` varchar(64) NOT NULL DEFAULT '' COMMENT '组名称', + `max_id` bigint(20) NOT NULL DEFAULT '1' COMMENT '最大id', + `step` int(11) NOT NULL DEFAULT '100' COMMENT '步长', + `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_namespace_id_group_name` (`namespace_id`,`group_name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='号段模式序号ID分配表'; + +-- ---------------------------- +-- Table structure for sj_server_node +-- ---------------------------- +DROP TABLE IF EXISTS `sj_server_node`; +CREATE TABLE `sj_server_node` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', + `group_name` varchar(64) NOT NULL COMMENT '组名称', + `host_id` varchar(64) NOT NULL COMMENT '主机id', + `host_ip` varchar(64) NOT NULL COMMENT '机器ip', + `host_port` int(16) NOT NULL COMMENT '机器端口', + `expire_at` datetime NOT NULL COMMENT '过期时间', + `node_type` tinyint(4) NOT NULL COMMENT '节点类型 1、客户端 2、是服务端', + `ext_attrs` varchar(256) DEFAULT '' COMMENT '扩展字段', + `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_host_id_host_ip` (`host_id`,`host_ip`), + KEY `idx_namespace_id_group_name` (`namespace_id`,`group_name`), + KEY `idx_expire_at_node_type` (`expire_at`,`node_type`) +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COMMENT='服务器节点'; + +-- ---------------------------- +-- Table structure for sj_system_user +-- ---------------------------- +DROP TABLE IF EXISTS `sj_system_user`; +CREATE TABLE `sj_system_user` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `username` varchar(64) NOT NULL COMMENT '账号', + `password` varchar(128) NOT NULL COMMENT '密码', + `role` tinyint(4) NOT NULL DEFAULT '0' COMMENT '角色:1-普通用户、2-管理员', + `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_username` (`username`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COMMENT='系统用户表'; + +-- ---------------------------- +-- Table structure for sj_system_user_permission +-- ---------------------------- +DROP TABLE IF EXISTS `sj_system_user_permission`; +CREATE TABLE `sj_system_user_permission` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `group_name` varchar(64) NOT NULL COMMENT '组名称', + `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', + `system_user_id` bigint(20) NOT NULL COMMENT '系统用户id', + `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_namespace_id_group_name_system_user_id` (`namespace_id`,`group_name`,`system_user_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='系统用户权限表'; + +-- ---------------------------- +-- Table structure for sj_workflow +-- ---------------------------- +DROP TABLE IF EXISTS `sj_workflow`; +CREATE TABLE `sj_workflow` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `workflow_name` varchar(64) NOT NULL COMMENT '工作流名称', + `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', + `group_name` varchar(64) NOT NULL COMMENT '组名称', + `workflow_status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '工作流状态 0、关闭、1、开启', + `trigger_type` tinyint(4) NOT NULL COMMENT '触发类型 1.CRON 表达式 2. 固定时间', + `trigger_interval` varchar(255) NOT NULL COMMENT '间隔时长', + `next_trigger_at` bigint(20) NOT NULL COMMENT '下次触发时间', + `block_strategy` tinyint(4) NOT NULL DEFAULT '1' COMMENT '阻塞策略 1、丢弃 2、覆盖 3、并行', + `executor_timeout` int(11) NOT NULL DEFAULT '0' COMMENT '任务执行超时时间,单位秒', + `description` varchar(256) NOT NULL DEFAULT '' COMMENT '描述', + `flow_info` text COMMENT '流程信息', + `wf_context` text COMMENT '上下文', + `notify_ids` varchar(128) NOT NULL DEFAULT '' COMMENT '通知告警场景配置id列表', + `bucket_index` int(11) NOT NULL DEFAULT '0' COMMENT 'bucket', + `version` int(11) NOT NULL COMMENT '版本号', + `ext_attrs` varchar(256) DEFAULT '' COMMENT '扩展字段', + `deleted` tinyint(4) NOT NULL DEFAULT '0' COMMENT '逻辑删除 1、删除', + `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', + PRIMARY KEY (`id`), + KEY `idx_create_dt` (`create_dt`), + KEY `idx_namespace_id_group_name` (`namespace_id`,`group_name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='工作流'; + +-- ---------------------------- +-- Table structure for sj_workflow_node +-- ---------------------------- +DROP TABLE IF EXISTS `sj_workflow_node`; +CREATE TABLE `sj_workflow_node` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', + `node_name` varchar(64) NOT NULL COMMENT '节点名称', + `group_name` varchar(64) NOT NULL COMMENT '组名称', + `job_id` bigint(20) NOT NULL COMMENT '任务信息id', + `workflow_id` bigint(20) NOT NULL COMMENT '工作流ID', + `node_type` tinyint(4) NOT NULL DEFAULT '1' COMMENT '1、任务节点 2、条件节点', + `expression_type` tinyint(4) NOT NULL DEFAULT '0' COMMENT '1、SpEl、2、Aviator 3、QL', + `fail_strategy` tinyint(4) NOT NULL DEFAULT '1' COMMENT '失败策略 1、跳过 2、阻塞', + `workflow_node_status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '工作流节点状态 0、关闭、1、开启', + `priority_level` int(11) NOT NULL DEFAULT '1' COMMENT '优先级', + `node_info` text COMMENT '节点信息 ', + `version` int(11) NOT NULL COMMENT '版本号', + `ext_attrs` varchar(256) DEFAULT '' COMMENT '扩展字段', + `deleted` tinyint(4) NOT NULL DEFAULT '0' COMMENT '逻辑删除 1、删除', + `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', + PRIMARY KEY (`id`), + KEY `idx_create_dt` (`create_dt`), + KEY `idx_namespace_id_group_name` (`namespace_id`,`group_name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='工作流节点'; + +-- ---------------------------- +-- Table structure for sj_workflow_task_batch +-- ---------------------------- +DROP TABLE IF EXISTS `sj_workflow_task_batch`; +CREATE TABLE `sj_workflow_task_batch` ( + `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', + `group_name` varchar(64) NOT NULL COMMENT '组名称', + `workflow_id` bigint(20) NOT NULL COMMENT '工作流任务id', + `task_batch_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '任务批次状态 0、失败 1、成功', + `operation_reason` tinyint(4) NOT NULL DEFAULT '0' COMMENT '操作原因', + `flow_info` text COMMENT '流程信息', + `wf_context` text COMMENT '全局上下文', + `execution_at` bigint(13) NOT NULL DEFAULT '0' COMMENT '任务执行时间', + `ext_attrs` varchar(256) DEFAULT '' COMMENT '扩展字段', + `version` int(11) NOT NULL DEFAULT '1' COMMENT '版本号', + `deleted` tinyint(4) NOT NULL DEFAULT '0' COMMENT '逻辑删除 1、删除', + `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', + PRIMARY KEY (`id`), + KEY `idx_job_id_task_batch_status` (`workflow_id`,`task_batch_status`), + KEY `idx_create_dt` (`create_dt`), + KEY `idx_namespace_id_group_name` (`namespace_id`,`group_name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='工作流批次'; + +-- ---------------------------- +-- Table structure for stgl_activity +-- ---------------------------- +DROP TABLE IF EXISTS `stgl_activity`; +CREATE TABLE `stgl_activity` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `activity_name` varchar(100) NOT NULL COMMENT '活动名称', + `activity_type` varchar(50) NOT NULL COMMENT '活动类型', + `activity_theme` varchar(100) DEFAULT NULL COMMENT '活动主题', + `start_time` datetime DEFAULT NULL COMMENT '开始时间', + `end_time` datetime DEFAULT NULL COMMENT '结束时间', + `location` varchar(200) DEFAULT NULL COMMENT '活动地点', + `description` text COMMENT '活动简介(1000字以内)', + `poster_url` varchar(500) DEFAULT NULL COMMENT '活动海报路径', + `related_club_id` bigint(20) DEFAULT NULL COMMENT '关联社团ID', + `related_dept_id` bigint(20) DEFAULT NULL COMMENT '关联部门ID', + `related_dept_name` varchar(100) DEFAULT NULL COMMENT '关联部门名称', + `related_dept_ids` text COMMENT '关联部门ID JSON', + `related_dept_names` varchar(500) DEFAULT NULL COMMENT '关联部门名称 JSON', + `related_type` tinyint(4) DEFAULT NULL COMMENT '关联组织类型(1-社团,2-志愿者队伍)', + `organizer_name` varchar(100) DEFAULT NULL COMMENT '主办方名称', + `organizer_type` varchar(50) DEFAULT NULL COMMENT '主办方类型', + `organizer_contact` varchar(100) DEFAULT NULL COMMENT '主办方联系人', + `organizer_phone` varchar(20) DEFAULT NULL COMMENT '主办方电话', + `co_organizers` json DEFAULT NULL COMMENT '承办方信息(JSON格式存储多个承办方)', + `instructors` json DEFAULT NULL COMMENT '指导老师列表(JSON格式)', + `registration_type` tinyint(4) DEFAULT NULL COMMENT '报名方式(1-个人 2-团队 3-两者均可)', + `registration_start` datetime DEFAULT NULL COMMENT '报名开始时间', + `registration_end` datetime DEFAULT NULL COMMENT '报名结束时间', + `registration_status` tinyint(4) DEFAULT NULL COMMENT '报名状态(0-未开始 1-报名中 2-已截止 3-已关闭)', + `max_participants` int(11) DEFAULT NULL COMMENT '总人数上限', + `max_teams` int(11) DEFAULT NULL COMMENT '团队数量上限', + `team_size_min` int(11) DEFAULT NULL COMMENT '每队最小人数', + `team_size_max` int(11) DEFAULT NULL COMMENT '每队最大人数', + `need_approval` tinyint(4) DEFAULT '0' COMMENT '是否需要审核(0-无需 1-需要)', + `activity_range` tinyint(4) DEFAULT '1' COMMENT '活动报名范围(0-无限制,1-本组织成员)', + `activity_status` varchar(20) DEFAULT '筹备中' COMMENT '活动状态', + `is_finished` tinyint(4) DEFAULT '0' COMMENT '是否为已办活动(0-否 1-是)', + `summary` text COMMENT '活动总结报告', + `achievements` text COMMENT '活动成果', + `import_source` varchar(200) DEFAULT NULL COMMENT '导入来源信息', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `summary_attachments` text COMMENT '活动总结报告附件', + `achievements_attachments` text COMMENT '活动成果附件', + PRIMARY KEY (`id`), + KEY `idx_activity_name` (`activity_name`), + KEY `idx_activity_type` (`activity_type`), + KEY `idx_start_time` (`start_time`), + KEY `idx_end_time` (`end_time`), + KEY `idx_activity_status` (`activity_status`), + KEY `idx_registration_status` (`registration_status`), + KEY `idx_related_club_id` (`related_club_id`), + KEY `idx_create_time` (`create_time`), + KEY `idx_tenant_deleted` (`tenant_id`,`deleted`), + KEY `idx_related_type` (`related_type`), + KEY `idx_related_dept_id` (`related_dept_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='活动信息表'; + +-- ---------------------------- +-- Table structure for stgl_activity_audit +-- ---------------------------- +DROP TABLE IF EXISTS `stgl_activity_audit`; +CREATE TABLE `stgl_activity_audit` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户ID', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志', + `activity_id` bigint(20) NOT NULL COMMENT '活动ID', + `node_code` varchar(50) NOT NULL COMMENT '节点代码(advisor_approve/dept_approve等', + `node_name` varchar(100) NOT NULL COMMENT '节点名称(指导老师审批/部门审批等', + `node_order` decimal(5,1) NOT NULL COMMENT '节点顺序(1.1,1.2,2.1,2.2等', + `approver_id` bigint(20) NOT NULL COMMENT '审批人ID', + `approver_name` varchar(100) NOT NULL COMMENT '审批人姓名', + `approve_result` varchar(20) DEFAULT NULL COMMENT '审批结果(通过/不通过)', + `audit_status` varchar(20) NOT NULL DEFAULT 'pending' COMMENT '审批状态(pending/waiting/approved)', + `audit_opinion` text COMMENT '审批意见', + `audit_time` datetime DEFAULT NULL COMMENT '审批时间', + PRIMARY KEY (`id`), + KEY `idx_activity_id` (`activity_id`), + KEY `idx_node_code` (`node_code`), + KEY `idx_node_order` (`node_order`), + KEY `idx_approver_id` (`approver_id`), + KEY `idx_audit_status` (`audit_status`), + KEY `idx_tenant_id` (`tenant_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='活动审批记录表'; + +-- ---------------------------- +-- Table structure for stgl_activity_rating +-- ---------------------------- +DROP TABLE IF EXISTS `stgl_activity_rating`; +CREATE TABLE `stgl_activity_rating` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `activity_id` bigint(20) NOT NULL COMMENT '活动ID', + `user_id` bigint(20) NOT NULL COMMENT '评分人ID', + `student_no` varchar(20) DEFAULT NULL COMMENT '学号', + `student_name` varchar(50) DEFAULT NULL COMMENT '学生姓名', + `rating_score` decimal(3,1) NOT NULL COMMENT '综合评分', + `rating_comment` varchar(500) DEFAULT NULL COMMENT '评分备注', + `rating_time` datetime DEFAULT NULL COMMENT '评分时间', + `content_score` tinyint(4) DEFAULT NULL COMMENT '内容评分(1-5分)', + `organization_score` tinyint(4) DEFAULT NULL COMMENT '组织评分(1-5分)', + `experience_score` tinyint(4) DEFAULT NULL COMMENT '体验评分(1-5分)', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_activity_user` (`activity_id`,`user_id`,`deleted`), + KEY `idx_activity_id` (`activity_id`), + KEY `idx_user_id` (`user_id`), + KEY `idx_student_no` (`student_no`), + KEY `idx_rating_score` (`rating_score`), + KEY `idx_rating_time` (`rating_time`), + KEY `idx_tenant_deleted` (`tenant_id`,`deleted`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='活动评分表'; + +-- ---------------------------- +-- Table structure for stgl_activity_registration +-- ---------------------------- +DROP TABLE IF EXISTS `stgl_activity_registration`; +CREATE TABLE `stgl_activity_registration` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `activity_id` bigint(20) NOT NULL COMMENT '活动ID', + `user_id` bigint(20) NOT NULL COMMENT '用户ID', + `student_no` varchar(20) DEFAULT NULL COMMENT '学号', + `student_name` varchar(50) DEFAULT NULL COMMENT '学生姓名', + `gender` varchar(10) DEFAULT NULL COMMENT '性别', + `phone` varchar(20) DEFAULT NULL COMMENT '联系方式', + `email` varchar(100) DEFAULT NULL COMMENT '邮箱', + `department` varchar(100) DEFAULT NULL COMMENT '院系', + `major` varchar(100) DEFAULT NULL COMMENT '专业', + `class_name` varchar(100) DEFAULT NULL COMMENT '班级', + `registration_type` tinyint(4) NOT NULL COMMENT '报名类型(1-个人 2-团队)', + `team_id` bigint(20) DEFAULT NULL COMMENT '团队ID(团队报名时)', + `team_name` varchar(100) DEFAULT NULL COMMENT '团队名称', + `registration_time` datetime DEFAULT NULL COMMENT '报名时间', + `approval_status` tinyint(4) DEFAULT '0' COMMENT '审核状态(0-待审核 1-通过 2-驳回)', + `approval_time` datetime DEFAULT NULL COMMENT '审核时间', + `approval_by` bigint(20) DEFAULT NULL COMMENT '审核人ID', + `approval_remark` varchar(500) DEFAULT NULL COMMENT '审核意见', + `score` varchar(50) DEFAULT NULL COMMENT '获得成绩', + `score_time` datetime DEFAULT NULL COMMENT '成绩录入时间', + `score_by` bigint(20) DEFAULT NULL COMMENT '成绩录入人ID', + `remark` text COMMENT '备注', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_activity_user` (`activity_id`,`user_id`,`deleted`), + KEY `idx_activity_id` (`activity_id`), + KEY `idx_user_id` (`user_id`), + KEY `idx_student_no` (`student_no`), + KEY `idx_registration_type` (`registration_type`), + KEY `idx_team_id` (`team_id`), + KEY `idx_approval_status` (`approval_status`), + KEY `idx_registration_time` (`registration_time`), + KEY `idx_tenant_deleted` (`tenant_id`,`deleted`), + KEY `idx_gender` (`gender`), + KEY `idx_phone` (`phone`), + KEY `idx_department` (`department`), + CONSTRAINT `fk_registration_activity_id` FOREIGN KEY (`activity_id`) REFERENCES `stgl_activity` (`id`), + CONSTRAINT `fk_registration_team_id` FOREIGN KEY (`team_id`) REFERENCES `stgl_activity_team_info` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='活动报名表'; + +-- ---------------------------- +-- Table structure for stgl_activity_sign +-- ---------------------------- +DROP TABLE IF EXISTS `stgl_activity_sign`; +CREATE TABLE `stgl_activity_sign` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `activity_id` bigint(20) NOT NULL COMMENT '活动ID', + `user_id` bigint(20) NOT NULL COMMENT '用户ID', + `student_name` varchar(50) NOT NULL COMMENT '学生姓名', + `student_no` varchar(20) NOT NULL COMMENT '学号', + `department` varchar(100) DEFAULT NULL COMMENT '院系', + `major` varchar(100) DEFAULT NULL COMMENT '专业', + `class_name` varchar(100) DEFAULT NULL COMMENT '班级', + `phone` varchar(20) DEFAULT NULL COMMENT '联系方式', + `email` varchar(100) DEFAULT NULL COMMENT '邮箱', + `sign_in_time` datetime DEFAULT NULL COMMENT '签到时间', + `sign_in_status` tinyint(4) DEFAULT '0' COMMENT '签到状态', + `sign_in_location` varchar(200) DEFAULT NULL COMMENT '签到地点', + `sign_in_device` varchar(200) DEFAULT NULL COMMENT '签到设备', + `sign_in_remark` varchar(500) DEFAULT NULL, + `sign_out_time` datetime DEFAULT NULL COMMENT '签退时间', + `sign_out_status` tinyint(4) DEFAULT '0' COMMENT '签退状态', + `sign_out_location` varchar(200) DEFAULT NULL COMMENT '签退地点', + `sign_out_device` varchar(200) DEFAULT NULL COMMENT '签退设备', + `sign_out_remark` varchar(500) DEFAULT NULL, + `overall_status` tinyint(4) DEFAULT '0', + PRIMARY KEY (`id`), + KEY `idx_activity_id` (`activity_id`), + KEY `idx_user_id` (`user_id`), + KEY `idx_student_no` (`student_no`), + KEY `idx_student_name` (`student_name`), + KEY `idx_department` (`department`), + KEY `idx_overall_status` (`overall_status`), + KEY `idx_sign_in_time` (`sign_in_time`), + KEY `idx_sign_out_time` (`sign_out_time`), + KEY `idx_create_time` (`create_time`), + KEY `idx_tenant_deleted` (`tenant_id`,`deleted`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='活动签到记录表'; + +-- ---------------------------- +-- Table structure for stgl_activity_team_info +-- ---------------------------- +DROP TABLE IF EXISTS `stgl_activity_team_info`; +CREATE TABLE `stgl_activity_team_info` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `team_name` varchar(100) NOT NULL COMMENT '团队名称', + `activity_id` bigint(20) NOT NULL COMMENT '关联活动ID', + `leader_user_id` bigint(20) NOT NULL COMMENT '队长用户ID', + `leader_name` varchar(50) DEFAULT NULL COMMENT '队长姓名', + `leader_student_no` varchar(20) DEFAULT NULL COMMENT '队长学号', + `team_members` json DEFAULT NULL COMMENT '团队成员信息(JSON格式)', + `team_size` int(11) DEFAULT '0' COMMENT '团队人数', + `description` text COMMENT '团队描述', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_team_activity` (`team_name`,`activity_id`,`deleted`), + KEY `idx_activity_id` (`activity_id`), + KEY `idx_leader_user_id` (`leader_user_id`), + KEY `idx_create_time` (`create_time`), + KEY `idx_tenant_deleted` (`tenant_id`,`deleted`), + CONSTRAINT `fk_team_activity_id` FOREIGN KEY (`activity_id`) REFERENCES `stgl_activity` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='团队信息表'; + +-- ---------------------------- +-- Table structure for stgl_annual_review_audit +-- ---------------------------- +DROP TABLE IF EXISTS `stgl_annual_review_audit`; +CREATE TABLE `stgl_annual_review_audit` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `annual_review_id` bigint(20) NOT NULL COMMENT '年审记录ID', + `node_code` varchar(50) NOT NULL COMMENT '节点代码', + `node_name` varchar(100) NOT NULL COMMENT '节点名称', + `node_order` decimal(5,1) NOT NULL COMMENT '节点顺序', + `approver_id` bigint(20) NOT NULL COMMENT '审批人ID', + `approver_name` varchar(100) NOT NULL COMMENT '审批人姓名', + `approve_result` varchar(20) DEFAULT NULL COMMENT '审批结果(通过/不通过)', + `audit_status` varchar(20) NOT NULL DEFAULT 'pending' COMMENT '审批状态', + `audit_opinion` text COMMENT '审批意见', + `audit_time` datetime DEFAULT NULL COMMENT '审批时间', + PRIMARY KEY (`id`), + KEY `idx_annual_review_id` (`annual_review_id`), + KEY `idx_node_order` (`node_order`), + KEY `idx_approver_id` (`approver_id`), + KEY `idx_audit_status` (`audit_status`) +) ENGINE=InnoDB AUTO_INCREMENT=1966352507944898562 DEFAULT CHARSET=utf8mb4 COMMENT='社团年审审批记录表'; + +-- ---------------------------- +-- Table structure for stgl_attendance_record_bak +-- ---------------------------- +DROP TABLE IF EXISTS `stgl_attendance_record_bak`; +CREATE TABLE `stgl_attendance_record_bak` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `task_id` bigint(20) NOT NULL COMMENT '考勤任务ID', + `activity_id` bigint(20) NOT NULL COMMENT '活动ID', + `user_id` bigint(20) NOT NULL COMMENT '用户ID', + `student_no` varchar(20) DEFAULT NULL COMMENT '学号', + `student_name` varchar(50) DEFAULT NULL COMMENT '学生姓名', + `check_time` datetime DEFAULT NULL COMMENT '签到时间', + `check_status` tinyint(4) DEFAULT '0' COMMENT '签到状态(0-未签到 1-已签到 2-迟到)', + `check_latitude` decimal(10,7) DEFAULT NULL COMMENT '签到纬度', + `check_longitude` decimal(10,7) DEFAULT NULL COMMENT '签到经度', + `check_address` varchar(200) DEFAULT NULL COMMENT '签到地址', + `device_type` tinyint(4) DEFAULT NULL COMMENT '设备类型(1-Web 2-移动端)', + `distance` int(11) DEFAULT NULL COMMENT '与标准位置距离(米)', + `checkout_time` datetime DEFAULT NULL COMMENT '签退时间', + `checkout_latitude` decimal(10,7) DEFAULT NULL COMMENT '签退纬度', + `checkout_longitude` decimal(10,7) DEFAULT NULL COMMENT '签退经度', + `checkout_address` varchar(200) DEFAULT NULL COMMENT '签退地址', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_task_user` (`task_id`,`user_id`,`deleted`), + KEY `idx_task_id` (`task_id`), + KEY `idx_activity_id` (`activity_id`), + KEY `idx_user_id` (`user_id`), + KEY `idx_student_no` (`student_no`), + KEY `idx_check_status` (`check_status`), + KEY `idx_check_time` (`check_time`), + KEY `idx_device_type` (`device_type`), + KEY `idx_tenant_deleted` (`tenant_id`,`deleted`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='签到记录表'; + +-- ---------------------------- +-- Table structure for stgl_attendance_task_bak +-- ---------------------------- +DROP TABLE IF EXISTS `stgl_attendance_task_bak`; +CREATE TABLE `stgl_attendance_task_bak` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `activity_id` bigint(20) NOT NULL COMMENT '关联活动ID', + `task_name` varchar(100) NOT NULL COMMENT '考勤任务名称', + `task_status` tinyint(4) DEFAULT '0' COMMENT '任务状态(0-未发起 1-进行中 2-已停止 3-已结束)', + `start_time` datetime DEFAULT NULL COMMENT '签到开始时间', + `end_time` datetime DEFAULT NULL COMMENT '签到结束时间', + `location_required` tinyint(4) DEFAULT '0' COMMENT '是否需要地理位置(0-否 1-是)', + `check_location` varchar(200) DEFAULT NULL COMMENT '签到地点', + `location_latitude` decimal(10,7) DEFAULT NULL COMMENT '签到地点纬度', + `location_longitude` decimal(10,7) DEFAULT NULL COMMENT '签到地点经度', + `location_range` int(11) DEFAULT '500' COMMENT '允许签到范围(米)', + `total_participants` int(11) DEFAULT '0' COMMENT '应签到人数', + `checked_count` int(11) DEFAULT '0' COMMENT '已签到人数', + `late_count` int(11) DEFAULT '0' COMMENT '迟到人数', + `absent_count` int(11) DEFAULT '0' COMMENT '缺席人数', + PRIMARY KEY (`id`), + KEY `idx_activity_id` (`activity_id`), + KEY `idx_task_status` (`task_status`), + KEY `idx_start_time` (`start_time`), + KEY `idx_end_time` (`end_time`), + KEY `idx_create_time` (`create_time`), + KEY `idx_tenant_deleted` (`tenant_id`,`deleted`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='考勤任务表'; + +-- ---------------------------- +-- Table structure for stgl_auditor +-- ---------------------------- +DROP TABLE IF EXISTS `stgl_auditor`; +CREATE TABLE `stgl_auditor` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `user_id` bigint(20) NOT NULL COMMENT '用户ID', + `user_name` varchar(30) NOT NULL COMMENT '用户姓名', + `nick_name` varchar(30) NOT NULL COMMENT '用户昵称', + `dept_id` bigint(20) NOT NULL COMMENT '部门ID', + `dept_name` varchar(50) NOT NULL COMMENT '部门名称', + `phone_number` varchar(11) DEFAULT NULL COMMENT '联系电话', + `email` varchar(50) DEFAULT NULL COMMENT '邮箱地址', + `status` char(1) NOT NULL DEFAULT '1' COMMENT '状态(1正常 0停用)', + `remark` varchar(500) DEFAULT NULL COMMENT '备注说明', + `config_by` bigint(20) DEFAULT NULL COMMENT '配置人ID', + `config_by_name` varchar(30) DEFAULT NULL COMMENT '配置人姓名', + PRIMARY KEY (`id`), + KEY `idx_user_id` (`user_id`), + KEY `idx_dept_id` (`dept_id`), + KEY `idx_status` (`status`), + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_create_time` (`create_time`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='社团管理审核人配置表'; + +-- ---------------------------- +-- Table structure for stgl_club +-- ---------------------------- +DROP TABLE IF EXISTS `stgl_club`; +CREATE TABLE `stgl_club` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `club_name` varchar(100) NOT NULL COMMENT '社团名称', + `club_type` varchar(50) NOT NULL COMMENT '社团类型', + `establish_date` date DEFAULT NULL COMMENT '成立日期', + `description` text COMMENT '社团简介(500字以内)', + `email` varchar(100) DEFAULT NULL COMMENT '邮箱', + `phone` varchar(20) DEFAULT NULL COMMENT '电话', + `logo_url` varchar(500) DEFAULT NULL COMMENT 'logo图片路径', + `president_name` varchar(50) DEFAULT NULL COMMENT '社长姓名', + `president_student_no` varchar(20) DEFAULT NULL COMMENT '社长学号', + `president_dept` varchar(100) DEFAULT NULL COMMENT '社长院系', + `president_major` varchar(100) DEFAULT NULL COMMENT '社长专业', + `president_class` varchar(100) DEFAULT NULL COMMENT '社长班级', + `president_phone` varchar(20) DEFAULT NULL COMMENT '社长联系方式', + `vice_president_name` varchar(50) DEFAULT NULL COMMENT '副社长姓名', + `vice_president_student_no` varchar(20) DEFAULT NULL COMMENT '副社长学号', + `vice_president_dept` varchar(100) DEFAULT NULL COMMENT '副社长院系', + `vice_president_major` varchar(100) DEFAULT NULL COMMENT '副社长专业', + `vice_president_class` varchar(100) DEFAULT NULL COMMENT '副社长班级', + `vice_president_phone` varchar(20) DEFAULT NULL COMMENT '副社长联系方式', + `vice_presidents_json` text, + `advisor_name` varchar(50) DEFAULT NULL COMMENT '指导老师姓名', + `advisor_dept` varchar(100) DEFAULT NULL COMMENT '指导老师所属院系', + `advisor_phone` varchar(20) DEFAULT NULL COMMENT '指导老师联系方式', + `advisor_email` varchar(100) DEFAULT NULL COMMENT '指导老师邮箱', + `advisors_json` text, + `member_limit` int(11) DEFAULT '0' COMMENT '成员规模上限', + `departments` text COMMENT '组织架构(部门设置及职责)', + `recruit_cycle` varchar(50) DEFAULT NULL COMMENT '招新周期', + `recruit_time` varchar(50) DEFAULT NULL COMMENT '招新时间', + `activity_frequency` varchar(50) DEFAULT NULL COMMENT '活动频率', + `funding_sources` varchar(200) DEFAULT NULL COMMENT '经费来源(多选)', + `charter_url` varchar(500) DEFAULT NULL COMMENT '章程文档路径', + `honors` text COMMENT '历史荣誉', + `status` tinyint(4) DEFAULT '1' COMMENT '状态(1-正常 0-停用)', + `sigh_open` char(1) DEFAULT 'Y' COMMENT '是否开放报名', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_club_name` (`club_name`,`tenant_id`,`deleted`), + KEY `idx_club_type` (`club_type`), + KEY `idx_create_time` (`create_time`), + KEY `idx_status` (`status`), + KEY `idx_tenant_deleted` (`tenant_id`,`deleted`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='社团信息表'; + +-- ---------------------------- +-- Table structure for stgl_club_advisor_history +-- ---------------------------- +DROP TABLE IF EXISTS `stgl_club_advisor_history`; +CREATE TABLE `stgl_club_advisor_history` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `club_id` bigint(20) NOT NULL COMMENT '社团ID', + `advisor_name` varchar(100) NOT NULL COMMENT '指导老师姓名', + `advisor_dept` varchar(200) DEFAULT NULL COMMENT '指导老师部门', + `advisor_phone` varchar(20) DEFAULT NULL COMMENT '指导老师电话', + `advisor_email` varchar(100) DEFAULT NULL COMMENT '指导老师邮箱', + `advisor_user_id` bigint(20) DEFAULT NULL COMMENT '指导老师用户ID', + `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '在任状态:1-当前在任,0-历史(已离任)', + `start_time` datetime NOT NULL COMMENT '上任时间', + `end_time` datetime DEFAULT NULL COMMENT '离任时间', + PRIMARY KEY (`id`), + KEY `idx_club_id` (`club_id`), + KEY `idx_status` (`status`), + KEY `idx_start_time` (`start_time`), + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_deleted` (`deleted`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='社团指导老师任职历史表'; + +-- ---------------------------- +-- Table structure for stgl_club_annual_review +-- ---------------------------- +DROP TABLE IF EXISTS `stgl_club_annual_review`; +CREATE TABLE `stgl_club_annual_review` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `club_id` bigint(20) NOT NULL COMMENT '社团ID', + `review_year` int(4) NOT NULL COMMENT '年审年度', + `review_start_date` date NOT NULL COMMENT '年审开始日期', + `review_end_date` date NOT NULL COMMENT '年审结束日期', + `review_time` date NOT NULL COMMENT '年审时间', + `club_name` varchar(100) NOT NULL COMMENT '社团名称', + `establish_date` date DEFAULT NULL COMMENT '成立时间', + `president_name` varchar(50) DEFAULT NULL COMMENT '社长姓名', + `club_type` varchar(20) DEFAULT NULL COMMENT '社团类别', + `advisor_name` varchar(50) DEFAULT NULL COMMENT '指导老师', + `advisor_dept` varchar(100) DEFAULT NULL COMMENT '指导部门', + `has_charter` char(1) DEFAULT 'N' COMMENT '有无章程(Y-有,N-无)', + `charter_url` varchar(500) DEFAULT NULL COMMENT '章程文件URL', + `has_funds` char(1) DEFAULT 'N' COMMENT '社团金额(Y-有,N-无)', + `fund_amount` decimal(10,2) DEFAULT NULL COMMENT '金额数字', + `member_count` int(11) DEFAULT '0' COMMENT '成员总数', + `status` char(1) DEFAULT '0' COMMENT '状态(0-草稿,1-已提交)', + `advisor_opinion` text COMMENT '指导老师意见', + `college_opinion` text COMMENT '二级学院意见', + `youth_league_opinion` text COMMENT '校团委意见', + PRIMARY KEY (`id`), + KEY `idx_club_id` (`club_id`), + KEY `idx_review_year` (`review_year`), + KEY `idx_tenant_id` (`tenant_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='社团年审记录表'; + +-- ---------------------------- +-- Table structure for stgl_club_annual_review_activity +-- ---------------------------- +DROP TABLE IF EXISTS `stgl_club_annual_review_activity`; +CREATE TABLE `stgl_club_annual_review_activity` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `annual_review_id` bigint(20) NOT NULL COMMENT '年审记录ID', + `activity_name` varchar(100) NOT NULL COMMENT '活动名称', + `activity_time` date DEFAULT NULL COMMENT '活动时间', + `activity_start_time` datetime DEFAULT NULL COMMENT '活动开始时间', + `activity_end_time` datetime DEFAULT NULL COMMENT '活动结束时间', + `activity_location` varchar(200) DEFAULT NULL COMMENT '活动地点', + `activity_type` varchar(50) DEFAULT NULL COMMENT '活动类型', + `participant_count` int(11) DEFAULT '0' COMMENT '参与人数', + `activity_description` text COMMENT '活动描述', + PRIMARY KEY (`id`), + KEY `idx_annual_review_id` (`annual_review_id`), + KEY `idx_tenant_id` (`tenant_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='社团年审活动快照表'; + +-- ---------------------------- +-- Table structure for stgl_club_annual_review_member +-- ---------------------------- +DROP TABLE IF EXISTS `stgl_club_annual_review_member`; +CREATE TABLE `stgl_club_annual_review_member` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `annual_review_id` bigint(20) NOT NULL COMMENT '年审记录ID', + `member_name` varchar(50) NOT NULL COMMENT '成员姓名', + `class_name` varchar(100) DEFAULT NULL COMMENT '班级', + `role` varchar(50) DEFAULT NULL COMMENT '角色', + `contact_info` varchar(100) DEFAULT NULL COMMENT '联系方式', + PRIMARY KEY (`id`), + KEY `idx_annual_review_id` (`annual_review_id`), + KEY `idx_tenant_id` (`tenant_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='社团年审成员快照表'; + +-- ---------------------------- +-- Table structure for stgl_material_submission +-- ---------------------------- +DROP TABLE IF EXISTS `stgl_material_submission`; +CREATE TABLE `stgl_material_submission` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `task_id` bigint(20) NOT NULL COMMENT '收集任务ID', + `activity_id` bigint(20) NOT NULL COMMENT '活动ID', + `user_id` bigint(20) NOT NULL COMMENT '提交人ID', + `student_no` varchar(20) DEFAULT NULL COMMENT '学号', + `student_name` varchar(50) DEFAULT NULL COMMENT '学生姓名', + `submission_type` tinyint(4) NOT NULL COMMENT '提交类型(1-个人 2-团队)', + `team_id` bigint(20) DEFAULT NULL COMMENT '团队ID(团队提交时)', + `content_text` text COMMENT '文本内容', + `file_urls` json DEFAULT NULL COMMENT '附件路径(JSON格式)', + `image_urls` json DEFAULT NULL COMMENT '图片路径(JSON格式)', + `submission_time` datetime DEFAULT NULL COMMENT '提交时间', + `round_number` int(11) DEFAULT '1' COMMENT '提交轮次', + `review_status` tinyint(4) DEFAULT '0' COMMENT '审核状态(0-待审核 1-通过 2-需修改)', + `review_time` datetime DEFAULT NULL COMMENT '审核时间', + `review_by` bigint(20) DEFAULT NULL COMMENT '审核人ID', + `review_remark` varchar(500) DEFAULT NULL COMMENT '审核意见', + PRIMARY KEY (`id`), + KEY `idx_task_id` (`task_id`), + KEY `idx_activity_id` (`activity_id`), + KEY `idx_user_id` (`user_id`), + KEY `idx_student_no` (`student_no`), + KEY `idx_submission_type` (`submission_type`), + KEY `idx_team_id` (`team_id`), + KEY `idx_submission_time` (`submission_time`), + KEY `idx_round_number` (`round_number`), + KEY `idx_review_status` (`review_status`), + KEY `idx_tenant_deleted` (`tenant_id`,`deleted`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='材料提交记录表'; + +-- ---------------------------- +-- Table structure for stgl_material_task +-- ---------------------------- +DROP TABLE IF EXISTS `stgl_material_task`; +CREATE TABLE `stgl_material_task` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `activity_id` bigint(20) NOT NULL COMMENT '关联活动ID', + `task_name` varchar(100) NOT NULL COMMENT '收集任务名称', + `collection_types` varchar(100) NOT NULL COMMENT '收集类型(word,excel,ppt,pdf,图片)', + `task_description` text COMMENT '收集说明', + `task_status` tinyint(4) DEFAULT '1' COMMENT '任务状态(0-关闭 1-开启)', + `deadline` datetime DEFAULT NULL COMMENT '截止时间', + `round_number` int(11) DEFAULT '1' COMMENT '收集轮次', + `file_size_limit` int(11) DEFAULT '10' COMMENT '文件大小限制(MB)', + `file_count_limit` int(11) DEFAULT '5' COMMENT '文件数量限制', + `allowed_file_types` varchar(200) DEFAULT NULL COMMENT '允许的文件类型', + `total_participants` int(11) DEFAULT '0' COMMENT '应提交人数', + `submitted_count` int(11) DEFAULT '0' COMMENT '已提交人数', + `pending_count` int(11) DEFAULT '0' COMMENT '待提交人数', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`), + KEY `idx_activity_id` (`activity_id`), + KEY `idx_task_status` (`task_status`), + KEY `idx_deadline` (`deadline`), + KEY `idx_round_number` (`round_number`), + KEY `idx_create_time` (`create_time`), + KEY `idx_tenant_deleted` (`tenant_id`,`deleted`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='材料收集任务表'; + +-- ---------------------------- +-- Table structure for stgl_member +-- ---------------------------- +DROP TABLE IF EXISTS `stgl_member`; +CREATE TABLE `stgl_member` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `member_type` tinyint(4) NOT NULL COMMENT '成员类型(1-社团成员 2-志愿者)', + `relation_id` bigint(20) NOT NULL COMMENT '关联ID(社团ID或志愿者队伍ID)', + `user_id` bigint(20) NOT NULL COMMENT '用户ID', + `student_no` varchar(20) DEFAULT NULL COMMENT '学号', + `student_name` varchar(50) DEFAULT NULL COMMENT '学生姓名', + `role_type` varchar(50) DEFAULT NULL COMMENT '成员角色', + `join_time` datetime DEFAULT NULL COMMENT '加入时间', + `status` tinyint(4) DEFAULT '1' COMMENT '状态(1-正常 0-退出)', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_member_relation` (`member_type`,`relation_id`,`user_id`,`deleted`), + KEY `idx_member_type` (`member_type`), + KEY `idx_relation_id` (`relation_id`), + KEY `idx_user_id` (`user_id`), + KEY `idx_student_no` (`student_no`), + KEY `idx_join_time` (`join_time`), + KEY `idx_tenant_deleted` (`tenant_id`,`deleted`), + KEY `idx_member_type_status` (`member_type`,`status`), + KEY `idx_member_type_relation` (`member_type`,`relation_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='成员关系表'; + +-- ---------------------------- +-- Table structure for stgl_volunteer_team +-- ---------------------------- +DROP TABLE IF EXISTS `stgl_volunteer_team`; +CREATE TABLE `stgl_volunteer_team` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `team_name` varchar(100) NOT NULL COMMENT '队伍名称', + `team_type` varchar(50) DEFAULT NULL COMMENT '队伍类型', + `description` text COMMENT '队伍简介', + `establish_date` date DEFAULT NULL COMMENT '创建日期', + `phone` varchar(20) DEFAULT NULL COMMENT '联系电话', + `email` varchar(100) DEFAULT NULL COMMENT '邮箱', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `leader_name` varchar(50) DEFAULT NULL COMMENT '队长姓名', + `leader_student_no` varchar(20) DEFAULT NULL COMMENT '队长学号', + `leader_user_id` bigint(20) DEFAULT NULL COMMENT '队长用户ID', + `leader_phone` varchar(20) DEFAULT NULL COMMENT '队长联系方式', + `leader_dept` varchar(100) DEFAULT NULL COMMENT '队长院系', + `leader_major` varchar(100) DEFAULT NULL COMMENT '队长专业', + `leader_class` varchar(100) DEFAULT NULL COMMENT '队长班级', + `advisor_name` varchar(50) DEFAULT NULL COMMENT '指导老师', + `advisor_phone` varchar(20) DEFAULT NULL COMMENT '指导老师联系电话', + `advisor_dept` varchar(100) DEFAULT NULL COMMENT '指导老师部门', + `advisor_email` varchar(100) DEFAULT NULL COMMENT '指导老师邮箱', + `advisors_json` text, + `member_limit` int(11) DEFAULT '0' COMMENT '成员上限', + `status` tinyint(4) DEFAULT '1' COMMENT '状态(1-正常 0-停用)', + `sigh_open` char(1) DEFAULT 'Y' COMMENT '是否开放报名', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_team_name` (`team_name`,`tenant_id`,`deleted`), + KEY `idx_team_type` (`team_type`), + KEY `idx_leader_user_id` (`leader_user_id`), + KEY `idx_create_time` (`create_time`), + KEY `idx_status` (`status`), + KEY `idx_tenant_deleted` (`tenant_id`,`deleted`), + KEY `idx_advisors_json` (`advisors_json`(100)) COMMENT '指导老师JSON索引' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='志愿者队伍表'; + +-- ---------------------------- +-- Table structure for sys_bucket_access_password +-- ---------------------------- +DROP TABLE IF EXISTS `sys_bucket_access_password`; +CREATE TABLE `sys_bucket_access_password` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `bucket_name` varchar(100) NOT NULL COMMENT 'bucket名称', + `access_password` varchar(255) NOT NULL COMMENT '访问密码(加密存储)', + `password_salt` varchar(100) NOT NULL COMMENT '密码盐值', + `is_active` tinyint(4) DEFAULT '1' COMMENT '是否启用(1启用 0禁用)', + `expire_time` datetime DEFAULT NULL COMMENT '密码过期时间', + `max_access_count` int(11) DEFAULT '0' COMMENT '最大访问次数(0表示无限制)', + `current_access_count` int(11) DEFAULT '0' COMMENT '当前访问次数', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `deleted` tinyint(4) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `tenant_id` bigint(20) DEFAULT '0' COMMENT '租户编号', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_bucket_name` (`bucket_name`), + KEY `idx_bucket_access_password_bucket_name` (`bucket_name`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COMMENT='bucket访问密码表'; + +-- ---------------------------- +-- Table structure for sys_bucket_access_record +-- ---------------------------- +DROP TABLE IF EXISTS `sys_bucket_access_record`; +CREATE TABLE `sys_bucket_access_record` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `bucket_name` varchar(100) NOT NULL COMMENT 'bucket名称', + `access_password_id` bigint(20) NOT NULL COMMENT '访问密码ID', + `access_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '访问时间', + `access_ip` varchar(50) DEFAULT NULL COMMENT '访问IP', + `access_user_agent` varchar(500) DEFAULT NULL COMMENT '用户代理', + `access_result` tinyint(4) DEFAULT '1' COMMENT '访问结果(1成功 0失败)', + `fail_reason` varchar(500) DEFAULT NULL COMMENT '失败原因', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + PRIMARY KEY (`id`), + KEY `idx_bucket_access_record_bucket_name` (`bucket_name`), + KEY `idx_bucket_access_record_access_time` (`access_time`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='bucket访问记录表'; + +-- ---------------------------- +-- Table structure for sys_client +-- ---------------------------- +DROP TABLE IF EXISTS `sys_client`; +CREATE TABLE `sys_client` ( + `id` bigint(20) NOT NULL COMMENT 'id', + `client_id` varchar(64) DEFAULT NULL COMMENT '客户端id', + `client_key` varchar(32) DEFAULT NULL COMMENT '客户端key', + `client_secret` varchar(255) DEFAULT NULL COMMENT '客户端秘钥', + `grant_type` varchar(255) DEFAULT NULL COMMENT '授权类型', + `device_type` varchar(32) DEFAULT NULL COMMENT '设备类型', + `active_timeout` int(11) DEFAULT '1800' COMMENT 'token活跃超时时间', + `timeout` int(11) DEFAULT '604800' COMMENT 'token固定超时', + `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='系统授权表'; + +-- ---------------------------- +-- Table structure for sys_config +-- ---------------------------- +DROP TABLE IF EXISTS `sys_config`; +CREATE TABLE `sys_config` ( + `config_id` bigint(20) NOT NULL COMMENT '参数主键', + `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', + `config_name` varchar(100) DEFAULT '' COMMENT '参数名称', + `config_key` varchar(100) DEFAULT '' COMMENT '参数键名', + `config_value` varchar(500) DEFAULT '' COMMENT '参数键值', + `config_type` char(1) DEFAULT 'N' COMMENT '系统内置(Y是 N否)', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`config_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='参数配置表'; + +-- ---------------------------- +-- Table structure for sys_dept +-- ---------------------------- +DROP TABLE IF EXISTS `sys_dept`; +CREATE TABLE `sys_dept` ( + `dept_id` bigint(20) NOT NULL COMMENT '部门id', + `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', + `parent_id` bigint(20) DEFAULT '0' COMMENT '父部门id', + `ancestors` varchar(500) DEFAULT '' COMMENT '祖级列表', + `dept_name` varchar(30) DEFAULT '' COMMENT '部门名称', + `dept_category` varchar(100) DEFAULT NULL COMMENT '部门类别编码', + `order_num` int(4) DEFAULT '0' COMMENT '显示顺序', + `leader` bigint(20) DEFAULT NULL COMMENT '负责人', + `phone` varchar(11) DEFAULT NULL COMMENT '联系电话', + `email` varchar(50) DEFAULT NULL COMMENT '邮箱', + `status` char(1) DEFAULT '0' COMMENT '部门状态(0正常 1停用)', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`dept_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='部门表'; + +-- ---------------------------- +-- Table structure for sys_dept_20251112 +-- ---------------------------- +DROP TABLE IF EXISTS `sys_dept_20251112`; +CREATE TABLE `sys_dept_20251112` ( + `dept_id` bigint(20) NOT NULL COMMENT '部门id', + `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', + `parent_id` bigint(20) DEFAULT '0' COMMENT '父部门id', + `ancestors` varchar(500) DEFAULT '' COMMENT '祖级列表', + `dept_name` varchar(30) DEFAULT '' COMMENT '部门名称', + `dept_category` varchar(100) DEFAULT NULL COMMENT '部门类别编码', + `order_num` int(4) DEFAULT '0' COMMENT '显示顺序', + `leader` bigint(20) DEFAULT NULL COMMENT '负责人', + `phone` varchar(11) DEFAULT NULL COMMENT '联系电话', + `email` varchar(50) DEFAULT NULL COMMENT '邮箱', + `status` char(1) DEFAULT '0' COMMENT '部门状态(0正常 1停用)', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`dept_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='部门表'; + +-- ---------------------------- +-- Table structure for sys_dept_20251222 +-- ---------------------------- +DROP TABLE IF EXISTS `sys_dept_20251222`; +CREATE TABLE `sys_dept_20251222` ( + `dept_id` bigint(20) NOT NULL COMMENT '部门id', + `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', + `parent_id` bigint(20) DEFAULT '0' COMMENT '父部门id', + `ancestors` varchar(500) DEFAULT '' COMMENT '祖级列表', + `dept_name` varchar(30) DEFAULT '' COMMENT '部门名称', + `dept_category` varchar(100) DEFAULT NULL COMMENT '部门类别编码', + `order_num` int(4) DEFAULT '0' COMMENT '显示顺序', + `leader` bigint(20) DEFAULT NULL COMMENT '负责人', + `phone` varchar(11) DEFAULT NULL COMMENT '联系电话', + `email` varchar(50) DEFAULT NULL COMMENT '邮箱', + `status` char(1) DEFAULT '0' COMMENT '部门状态(0正常 1停用)', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`dept_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='部门表'; + +-- ---------------------------- +-- Table structure for sys_dict_data +-- ---------------------------- +DROP TABLE IF EXISTS `sys_dict_data`; +CREATE TABLE `sys_dict_data` ( + `dict_code` bigint(20) NOT NULL COMMENT '字典编码', + `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', + `dict_sort` int(4) DEFAULT '0' COMMENT '字典排序', + `dict_label` varchar(100) DEFAULT '' COMMENT '字典标签', + `dict_value` varchar(100) DEFAULT '' COMMENT '字典键值', + `dict_type` varchar(100) DEFAULT '' COMMENT '字典类型', + `css_class` varchar(100) DEFAULT NULL COMMENT '样式属性(其他样式扩展)', + `list_class` varchar(100) DEFAULT NULL COMMENT '表格回显样式', + `is_default` char(1) DEFAULT 'N' COMMENT '是否默认(Y是 N否)', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`dict_code`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='字典数据表'; + +-- ---------------------------- +-- Table structure for sys_dict_type +-- ---------------------------- +DROP TABLE IF EXISTS `sys_dict_type`; +CREATE TABLE `sys_dict_type` ( + `dict_id` bigint(20) NOT NULL COMMENT '字典主键', + `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', + `dict_name` varchar(100) DEFAULT '' COMMENT '字典名称', + `dict_type` varchar(100) DEFAULT '' COMMENT '字典类型', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`dict_id`), + UNIQUE KEY `tenant_id` (`tenant_id`,`dict_type`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='字典类型表'; + +-- ---------------------------- +-- Table structure for sys_file_access_log +-- ---------------------------- +DROP TABLE IF EXISTS `sys_file_access_log`; +CREATE TABLE `sys_file_access_log` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `oss_id` bigint(20) NOT NULL COMMENT '文件ID', + `user_id` bigint(20) NOT NULL COMMENT '访问用户ID', + `access_type` varchar(20) NOT NULL COMMENT '访问类型:DOWNLOAD, PREVIEW', + `access_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '访问时间', + `ip_address` varchar(50) DEFAULT NULL COMMENT '访问IP', + `user_agent` varchar(500) DEFAULT NULL COMMENT '用户代理', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + PRIMARY KEY (`id`), + KEY `idx_file_access_log_oss_id` (`oss_id`), + KEY `idx_file_access_log_user_id` (`user_id`), + KEY `idx_file_access_log_access_time` (`access_time`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='文件访问日志表'; + +-- ---------------------------- +-- Table structure for sys_file_permission +-- ---------------------------- +DROP TABLE IF EXISTS `sys_file_permission`; +CREATE TABLE `sys_file_permission` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID', + `oss_id` bigint(20) NOT NULL COMMENT '文件ID', + `user_id` bigint(20) DEFAULT NULL COMMENT '用户ID(为空表示角色权限)', + `role_id` bigint(20) DEFAULT NULL COMMENT '角色ID(为空表示用户权限)', + `permission_type` varchar(20) NOT NULL COMMENT '权限类型:READ, WRITE, DELETE', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `deleted` tinyint(4) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `tenant_id` bigint(20) DEFAULT '0' COMMENT '租户编号', + PRIMARY KEY (`id`), + KEY `idx_file_permission_oss_id` (`oss_id`), + KEY `idx_file_permission_user_id` (`user_id`), + KEY `idx_file_permission_role_id` (`role_id`) +) ENGINE=InnoDB AUTO_INCREMENT=108 DEFAULT CHARSET=utf8mb4 COMMENT='文件权限表'; + +-- ---------------------------- +-- Table structure for sys_logininfor +-- ---------------------------- +DROP TABLE IF EXISTS `sys_logininfor`; +CREATE TABLE `sys_logininfor` ( + `info_id` bigint(20) NOT NULL COMMENT '访问ID', + `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', + `user_name` varchar(50) DEFAULT '' COMMENT '用户账号', + `client_key` varchar(32) DEFAULT '' COMMENT '客户端', + `device_type` varchar(32) DEFAULT '' COMMENT '设备类型', + `ipaddr` varchar(128) DEFAULT '' COMMENT '登录IP地址', + `login_location` varchar(255) DEFAULT '' COMMENT '登录地点', + `browser` varchar(50) DEFAULT '' COMMENT '浏览器类型', + `os` varchar(50) DEFAULT '' COMMENT '操作系统', + `status` char(1) DEFAULT '0' COMMENT '登录状态(0成功 1失败)', + `msg` varchar(255) DEFAULT '' COMMENT '提示消息', + `login_time` datetime DEFAULT NULL COMMENT '访问时间', + PRIMARY KEY (`info_id`), + KEY `idx_sys_logininfor_s` (`status`), + KEY `idx_sys_logininfor_lt` (`login_time`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='系统访问记录'; + +-- ---------------------------- +-- Table structure for sys_menu +-- ---------------------------- +DROP TABLE IF EXISTS `sys_menu`; +CREATE TABLE `sys_menu` ( + `menu_id` bigint(20) NOT NULL COMMENT '菜单ID', + `menu_name` varchar(50) NOT NULL COMMENT '菜单名称', + `parent_id` bigint(20) DEFAULT '0' COMMENT '父菜单ID', + `order_num` int(4) DEFAULT '0' COMMENT '显示顺序', + `path` varchar(200) DEFAULT '' COMMENT '路由地址', + `component` varchar(255) DEFAULT NULL COMMENT '组件路径', + `query_param` varchar(255) DEFAULT NULL COMMENT '路由参数', + `is_frame` int(1) DEFAULT '1' COMMENT '是否为外链(0是 1否)', + `is_cache` int(1) DEFAULT '0' COMMENT '是否缓存(0缓存 1不缓存)', + `menu_type` char(1) DEFAULT '' COMMENT '菜单类型(M目录 C菜单 F按钮)', + `visible` char(1) DEFAULT '0' COMMENT '显示状态(0显示 1隐藏)', + `status` char(1) DEFAULT '0' COMMENT '菜单状态(0正常 1停用)', + `perms` varchar(100) DEFAULT NULL COMMENT '权限标识', + `icon` varchar(100) DEFAULT '#' COMMENT '菜单图标', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT '' COMMENT '备注', + PRIMARY KEY (`menu_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='菜单权限表'; + +-- ---------------------------- +-- Table structure for sys_menu_linshi +-- ---------------------------- +DROP TABLE IF EXISTS `sys_menu_linshi`; +CREATE TABLE `sys_menu_linshi` ( + `menu_id` bigint(20) NOT NULL COMMENT '菜单ID', + `menu_name` varchar(50) NOT NULL COMMENT '菜单名称', + `parent_id` bigint(20) DEFAULT '0' COMMENT '父菜单ID', + `order_num` int(4) DEFAULT '0' COMMENT '显示顺序', + `path` varchar(200) DEFAULT '' COMMENT '路由地址', + `component` varchar(255) DEFAULT NULL COMMENT '组件路径', + `query_param` varchar(255) DEFAULT NULL COMMENT '路由参数', + `is_frame` int(1) DEFAULT '1' COMMENT '是否为外链(0是 1否)', + `is_cache` int(1) DEFAULT '0' COMMENT '是否缓存(0缓存 1不缓存)', + `menu_type` char(1) DEFAULT '' COMMENT '菜单类型(M目录 C菜单 F按钮)', + `visible` char(1) DEFAULT '0' COMMENT '显示状态(0显示 1隐藏)', + `status` char(1) DEFAULT '0' COMMENT '菜单状态(0正常 1停用)', + `perms` varchar(100) DEFAULT NULL COMMENT '权限标识', + `icon` varchar(100) DEFAULT '#' COMMENT '菜单图标', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT '' COMMENT '备注', + PRIMARY KEY (`menu_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='菜单权限表'; + +-- ---------------------------- +-- Table structure for sys_notice +-- ---------------------------- +DROP TABLE IF EXISTS `sys_notice`; +CREATE TABLE `sys_notice` ( + `notice_id` bigint(20) NOT NULL COMMENT '公告ID', + `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', + `notice_title` varchar(50) NOT NULL COMMENT '公告标题', + `notice_type` char(1) NOT NULL COMMENT '公告类型(1通知 2公告)', + `notice_content` longblob COMMENT '公告内容', + `status` char(1) DEFAULT '0' COMMENT '公告状态(0正常 1关闭)', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(255) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`notice_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='通知公告表'; + +-- ---------------------------- +-- Table structure for sys_oper_log +-- ---------------------------- +DROP TABLE IF EXISTS `sys_oper_log`; +CREATE TABLE `sys_oper_log` ( + `oper_id` bigint(20) NOT NULL COMMENT '日志主键', + `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', + `title` varchar(50) DEFAULT '' COMMENT '模块标题', + `business_type` int(2) DEFAULT '0' COMMENT '业务类型(0其它 1新增 2修改 3删除)', + `method` varchar(100) DEFAULT '' COMMENT '方法名称', + `request_method` varchar(10) DEFAULT '' COMMENT '请求方式', + `operator_type` int(1) DEFAULT '0' COMMENT '操作类别(0其它 1后台用户 2手机端用户)', + `oper_name` varchar(50) DEFAULT '' COMMENT '操作人员', + `dept_name` varchar(50) DEFAULT '' COMMENT '部门名称', + `oper_url` varchar(255) DEFAULT '' COMMENT '请求URL', + `oper_ip` varchar(128) DEFAULT '' COMMENT '主机地址', + `oper_location` varchar(255) DEFAULT '' COMMENT '操作地点', + `oper_param` varchar(4000) DEFAULT '' COMMENT '请求参数', + `json_result` varchar(4000) DEFAULT '' COMMENT '返回参数', + `status` int(1) DEFAULT '0' COMMENT '操作状态(0正常 1异常)', + `error_msg` varchar(4000) DEFAULT '' COMMENT '错误消息', + `oper_time` datetime DEFAULT NULL COMMENT '操作时间', + `cost_time` bigint(20) DEFAULT '0' COMMENT '消耗时间', + PRIMARY KEY (`oper_id`), + KEY `idx_sys_oper_log_bt` (`business_type`), + KEY `idx_sys_oper_log_s` (`status`), + KEY `idx_sys_oper_log_ot` (`oper_time`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='操作日志记录'; + +-- ---------------------------- +-- Table structure for sys_oss +-- ---------------------------- +DROP TABLE IF EXISTS `sys_oss`; +CREATE TABLE `sys_oss` ( + `oss_id` bigint(20) NOT NULL COMMENT '对象存储主键', + `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', + `file_name` varchar(255) NOT NULL DEFAULT '' COMMENT '文件名', + `original_name` varchar(255) NOT NULL DEFAULT '' COMMENT '原名', + `file_suffix` varchar(10) NOT NULL DEFAULT '' COMMENT '文件后缀名', + `url` varchar(500) NOT NULL COMMENT 'URL地址', + `ext1` text COMMENT '扩展字段', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `create_by` bigint(20) DEFAULT NULL COMMENT '上传人', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新人', + `service` varchar(20) NOT NULL DEFAULT 'minio' COMMENT '服务商', + PRIMARY KEY (`oss_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='OSS对象存储表'; + +-- ---------------------------- +-- Table structure for sys_oss_config +-- ---------------------------- +DROP TABLE IF EXISTS `sys_oss_config`; +CREATE TABLE `sys_oss_config` ( + `oss_config_id` bigint(20) NOT NULL COMMENT '主键', + `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', + `config_key` varchar(20) NOT NULL DEFAULT '' COMMENT '配置key', + `access_key` varchar(255) DEFAULT '' COMMENT 'accessKey', + `secret_key` varchar(255) DEFAULT '' COMMENT '秘钥', + `bucket_name` varchar(255) DEFAULT '' COMMENT '桶名称', + `prefix` varchar(255) DEFAULT '' COMMENT '前缀', + `endpoint` varchar(255) DEFAULT '' COMMENT '访问站点', + `domain` varchar(255) DEFAULT '' COMMENT '自定义域名', + `is_https` char(1) DEFAULT 'N' COMMENT '是否https(Y=是,N=否)', + `region` varchar(255) DEFAULT '' COMMENT '域', + `access_policy` char(1) NOT NULL DEFAULT '1' COMMENT '桶权限类型(0=private 1=public 2=custom)', + `status` char(1) DEFAULT '1' COMMENT '是否默认(0=是,1=否)', + `ext1` varchar(255) DEFAULT '' COMMENT '扩展字段', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`oss_config_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='对象存储配置表'; + +-- ---------------------------- +-- Table structure for sys_post +-- ---------------------------- +DROP TABLE IF EXISTS `sys_post`; +CREATE TABLE `sys_post` ( + `post_id` bigint(20) NOT NULL COMMENT '岗位ID', + `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', + `dept_id` bigint(20) NOT NULL COMMENT '部门id', + `post_code` varchar(64) NOT NULL COMMENT '岗位编码', + `post_category` varchar(100) DEFAULT NULL COMMENT '岗位类别编码', + `post_name` varchar(50) NOT NULL COMMENT '岗位名称', + `post_sort` int(4) NOT NULL COMMENT '显示顺序', + `status` char(1) NOT NULL COMMENT '状态(0正常 1停用)', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`post_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='岗位信息表'; + +-- ---------------------------- +-- Table structure for sys_region +-- ---------------------------- +DROP TABLE IF EXISTS `sys_region`; +CREATE TABLE `sys_region` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `code` varchar(20) NOT NULL COMMENT '行政区划编码', + `name` varchar(50) NOT NULL COMMENT '行政区划名称', + `short_name` varchar(30) DEFAULT NULL COMMENT '行政区划简称', + `parent_code` bigint(20) DEFAULT '0' COMMENT '父级行政区划编码,顶级为0', + `level` tinyint(1) NOT NULL COMMENT '层级(1:省,2:市,3:区/县,4:街道/镇)', + `sort` int(11) DEFAULT '0' COMMENT '排序', + `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `longitude` decimal(10,7) DEFAULT NULL COMMENT '经度', + `latitude` decimal(10,7) DEFAULT NULL COMMENT '纬度', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '逻辑删除标识(0未删除 1已删除)', + `tenant_id` bigint(20) DEFAULT NULL COMMENT '租户ID', + PRIMARY KEY (`id`), + UNIQUE KEY `idx_region_code` (`code`,`deleted`,`tenant_id`), + KEY `idx_region_parent_code` (`parent_code`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='行政区划表'; + +-- ---------------------------- +-- Table structure for sys_role +-- ---------------------------- +DROP TABLE IF EXISTS `sys_role`; +CREATE TABLE `sys_role` ( + `role_id` bigint(20) NOT NULL COMMENT '角色ID', + `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', + `role_name` varchar(30) NOT NULL COMMENT '角色名称', + `role_key` varchar(100) NOT NULL COMMENT '角色权限字符串', + `role_sort` int(4) NOT NULL COMMENT '显示顺序', + `data_scope` char(1) DEFAULT '1' COMMENT '数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限 5:仅本人数据权限 6:部门及以下或本人数据权限)', + `menu_check_strictly` tinyint(1) DEFAULT '1' COMMENT '菜单树选择项是否关联显示', + `dept_check_strictly` tinyint(1) DEFAULT '1' COMMENT '部门树选择项是否关联显示', + `status` char(1) NOT NULL COMMENT '角色状态(0正常 1停用)', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`role_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='角色信息表'; + +-- ---------------------------- +-- Table structure for sys_role_dept +-- ---------------------------- +DROP TABLE IF EXISTS `sys_role_dept`; +CREATE TABLE `sys_role_dept` ( + `role_id` bigint(20) NOT NULL COMMENT '角色ID', + `dept_id` bigint(20) NOT NULL COMMENT '部门ID', + PRIMARY KEY (`role_id`,`dept_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='角色和部门关联表'; + +-- ---------------------------- +-- Table structure for sys_role_menu +-- ---------------------------- +DROP TABLE IF EXISTS `sys_role_menu`; +CREATE TABLE `sys_role_menu` ( + `role_id` bigint(20) NOT NULL COMMENT '角色ID', + `menu_id` bigint(20) NOT NULL COMMENT '菜单ID', + PRIMARY KEY (`role_id`,`menu_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='角色和菜单关联表'; + +-- ---------------------------- +-- Table structure for sys_social +-- ---------------------------- +DROP TABLE IF EXISTS `sys_social`; +CREATE TABLE `sys_social` ( + `id` bigint(20) NOT NULL COMMENT '主键', + `user_id` bigint(20) NOT NULL COMMENT '用户ID', + `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户id', + `auth_id` varchar(255) NOT NULL COMMENT '平台+平台唯一id', + `source` varchar(255) NOT NULL COMMENT '用户来源', + `open_id` varchar(255) DEFAULT NULL COMMENT '平台编号唯一id', + `user_name` varchar(30) NOT NULL COMMENT '登录账号', + `nick_name` varchar(30) DEFAULT '' COMMENT '用户昵称', + `email` varchar(255) DEFAULT '' COMMENT '用户邮箱', + `avatar` varchar(500) DEFAULT '' COMMENT '头像地址', + `access_token` varchar(2000) NOT NULL COMMENT '用户的授权令牌', + `expire_in` int(11) DEFAULT NULL COMMENT '用户的授权令牌的有效期,部分平台可能没有', + `refresh_token` varchar(255) DEFAULT NULL COMMENT '刷新令牌,部分平台可能没有', + `access_code` varchar(2000) DEFAULT NULL COMMENT '平台的授权信息,部分平台可能没有', + `union_id` varchar(255) DEFAULT NULL COMMENT '用户的 unionid', + `scope` varchar(255) DEFAULT NULL COMMENT '授予的权限,部分平台可能没有', + `token_type` varchar(255) DEFAULT NULL COMMENT '个别平台的授权信息,部分平台可能没有', + `id_token` varchar(2000) DEFAULT NULL COMMENT 'id token,部分平台可能没有', + `mac_algorithm` varchar(255) DEFAULT NULL COMMENT '小米平台用户的附带属性,部分平台可能没有', + `mac_key` varchar(255) DEFAULT NULL COMMENT '小米平台用户的附带属性,部分平台可能没有', + `code` varchar(255) DEFAULT NULL COMMENT '用户的授权code,部分平台可能没有', + `oauth_token` varchar(255) DEFAULT NULL COMMENT 'Twitter平台用户的附带属性,部分平台可能没有', + `oauth_token_secret` varchar(255) DEFAULT NULL COMMENT 'Twitter平台用户的附带属性,部分平台可能没有', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='社会化关系表'; + +-- ---------------------------- +-- Table structure for sys_tenant +-- ---------------------------- +DROP TABLE IF EXISTS `sys_tenant`; +CREATE TABLE `sys_tenant` ( + `id` bigint(20) NOT NULL COMMENT 'id', + `tenant_id` varchar(20) NOT NULL COMMENT '租户编号', + `contact_user_name` varchar(20) DEFAULT NULL COMMENT '联系人', + `contact_phone` varchar(20) DEFAULT NULL COMMENT '联系电话', + `company_name` varchar(30) DEFAULT NULL COMMENT '企业名称', + `license_number` varchar(30) DEFAULT NULL COMMENT '统一社会信用代码', + `address` varchar(200) DEFAULT NULL COMMENT '地址', + `intro` varchar(200) DEFAULT NULL COMMENT '企业简介', + `domain` varchar(200) DEFAULT NULL COMMENT '域名', + `remark` varchar(200) DEFAULT NULL COMMENT '备注', + `package_id` bigint(20) DEFAULT NULL COMMENT '租户套餐编号', + `expire_time` datetime DEFAULT NULL COMMENT '过期时间', + `account_count` int(11) DEFAULT '-1' COMMENT '用户数量(-1不限制)', + `status` char(1) DEFAULT '0' COMMENT '租户状态(0正常 1停用)', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='租户表'; + +-- ---------------------------- +-- Table structure for sys_tenant_package +-- ---------------------------- +DROP TABLE IF EXISTS `sys_tenant_package`; +CREATE TABLE `sys_tenant_package` ( + `package_id` bigint(20) NOT NULL COMMENT '租户套餐id', + `package_name` varchar(20) DEFAULT NULL COMMENT '套餐名称', + `menu_ids` varchar(3000) DEFAULT NULL COMMENT '关联菜单id', + `remark` varchar(200) DEFAULT NULL COMMENT '备注', + `menu_check_strictly` tinyint(1) DEFAULT '1' COMMENT '菜单树选择项是否关联显示', + `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`package_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='租户套餐表'; + +-- ---------------------------- +-- Table structure for sys_user +-- ---------------------------- +DROP TABLE IF EXISTS `sys_user`; +CREATE TABLE `sys_user` ( + `user_id` bigint(20) NOT NULL COMMENT '用户ID', + `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', + `dept_id` bigint(20) DEFAULT NULL COMMENT '部门ID', + `user_name` varchar(30) NOT NULL COMMENT '用户账号', + `nick_name` varchar(30) NOT NULL COMMENT '用户昵称', + `user_type` varchar(10) DEFAULT 'sys_user' COMMENT '用户类型(sys_user系统用户)', + `email` varchar(50) DEFAULT '' COMMENT '用户邮箱', + `phonenumber` varchar(11) DEFAULT '' COMMENT '手机号码', + `sex` char(1) DEFAULT '0' COMMENT '用户性别(0男 1女 2未知)', + `avatar` bigint(20) DEFAULT NULL COMMENT '头像地址', + `password` varchar(100) DEFAULT '' COMMENT '密码', + `status` char(1) DEFAULT '0' COMMENT '帐号状态(0正常 1停用)', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `login_ip` varchar(128) DEFAULT '' COMMENT '最后登录IP', + `login_date` datetime DEFAULT NULL COMMENT '最后登录时间', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `account_type` varchar(255) DEFAULT '1' COMMENT '账户类型 1 - 教职工 2- 学生', + PRIMARY KEY (`user_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户信息表'; + +-- ---------------------------- +-- Table structure for sys_user_20251222 +-- ---------------------------- +DROP TABLE IF EXISTS `sys_user_20251222`; +CREATE TABLE `sys_user_20251222` ( + `user_id` bigint(20) NOT NULL COMMENT '用户ID', + `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', + `dept_id` bigint(20) DEFAULT NULL COMMENT '部门ID', + `user_name` varchar(30) NOT NULL COMMENT '用户账号', + `nick_name` varchar(30) NOT NULL COMMENT '用户昵称', + `user_type` varchar(10) DEFAULT 'sys_user' COMMENT '用户类型(sys_user系统用户)', + `email` varchar(50) DEFAULT '' COMMENT '用户邮箱', + `phonenumber` varchar(11) DEFAULT '' COMMENT '手机号码', + `sex` char(1) DEFAULT '0' COMMENT '用户性别(0男 1女 2未知)', + `avatar` bigint(20) DEFAULT NULL COMMENT '头像地址', + `password` varchar(100) DEFAULT '' COMMENT '密码', + `status` char(1) DEFAULT '0' COMMENT '帐号状态(0正常 1停用)', + `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `login_ip` varchar(128) DEFAULT '' COMMENT '最后登录IP', + `login_date` datetime DEFAULT NULL COMMENT '最后登录时间', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `account_type` varchar(255) DEFAULT '1' COMMENT '账户类型 1 - 教职工 2- 学生', + PRIMARY KEY (`user_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户信息表'; + +-- ---------------------------- +-- Table structure for sys_user_post +-- ---------------------------- +DROP TABLE IF EXISTS `sys_user_post`; +CREATE TABLE `sys_user_post` ( + `user_id` bigint(20) NOT NULL COMMENT '用户ID', + `post_id` bigint(20) NOT NULL COMMENT '岗位ID', + PRIMARY KEY (`user_id`,`post_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户与岗位关联表'; + +-- ---------------------------- +-- Table structure for sys_user_post_20251222 +-- ---------------------------- +DROP TABLE IF EXISTS `sys_user_post_20251222`; +CREATE TABLE `sys_user_post_20251222` ( + `user_id` bigint(20) NOT NULL COMMENT '用户ID', + `post_id` bigint(20) NOT NULL COMMENT '岗位ID', + PRIMARY KEY (`user_id`,`post_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户与岗位关联表'; + +-- ---------------------------- +-- Table structure for sys_user_role +-- ---------------------------- +DROP TABLE IF EXISTS `sys_user_role`; +CREATE TABLE `sys_user_role` ( + `user_id` bigint(20) NOT NULL COMMENT '用户ID', + `role_id` bigint(20) NOT NULL COMMENT '角色ID', + PRIMARY KEY (`user_id`,`role_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户和角色关联表'; + +-- ---------------------------- +-- Table structure for sys_user_role_20251222 +-- ---------------------------- +DROP TABLE IF EXISTS `sys_user_role_20251222`; +CREATE TABLE `sys_user_role_20251222` ( + `user_id` bigint(20) NOT NULL COMMENT '用户ID', + `role_id` bigint(20) NOT NULL COMMENT '角色ID', + PRIMARY KEY (`user_id`,`role_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户和角色关联表'; + +-- ---------------------------- +-- Table structure for sys_user_role_backup_20251023 +-- ---------------------------- +DROP TABLE IF EXISTS `sys_user_role_backup_20251023`; +CREATE TABLE `sys_user_role_backup_20251023` ( + `user_id` bigint(20) NOT NULL COMMENT '用户ID', + `role_id` bigint(20) NOT NULL COMMENT '角色ID', + `backup_time` datetime NOT NULL, + `backup_reason` varchar(27) CHARACTER SET latin1 NOT NULL DEFAULT '' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + +-- ---------------------------- +-- Table structure for sys_wechat_config +-- ---------------------------- +DROP TABLE IF EXISTS `sys_wechat_config`; +CREATE TABLE `sys_wechat_config` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '参数主键', + `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', + `config_name` varchar(100) DEFAULT '' COMMENT '参数名称', + `config_key` varchar(100) DEFAULT '' COMMENT '参数键名', + `config_value` varchar(500) DEFAULT '' COMMENT '参数键值', + `config_type` char(1) DEFAULT 'N' COMMENT '系统内置(Y是 N否)', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COMMENT='参数配置表'; + +-- ---------------------------- +-- Table structure for test_demo +-- ---------------------------- +DROP TABLE IF EXISTS `test_demo`; +CREATE TABLE `test_demo` ( + `id` bigint(20) NOT NULL COMMENT '主键', + `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', + `dept_id` bigint(20) DEFAULT NULL COMMENT '部门id', + `user_id` bigint(20) DEFAULT NULL COMMENT '用户id', + `order_num` int(11) DEFAULT '0' COMMENT '排序号', + `test_key` varchar(255) DEFAULT NULL COMMENT 'key键', + `value` varchar(255) DEFAULT NULL COMMENT '值', + `version` int(11) DEFAULT '0' COMMENT '版本', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建人', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新人', + `del_flag` int(11) DEFAULT '0' COMMENT '删除标志', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='测试单表'; + +-- ---------------------------- +-- Table structure for test_leave +-- ---------------------------- +DROP TABLE IF EXISTS `test_leave`; +CREATE TABLE `test_leave` ( + `id` bigint(20) NOT NULL COMMENT 'id', + `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', + `leave_type` varchar(255) NOT NULL COMMENT '请假类型', + `start_date` datetime NOT NULL COMMENT '开始时间', + `end_date` datetime NOT NULL COMMENT '结束时间', + `leave_days` int(10) NOT NULL COMMENT '请假天数', + `remark` varchar(255) DEFAULT NULL COMMENT '请假原因', + `status` varchar(255) DEFAULT NULL COMMENT '状态', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='请假申请表'; + +-- ---------------------------- +-- Table structure for test_tree +-- ---------------------------- +DROP TABLE IF EXISTS `test_tree`; +CREATE TABLE `test_tree` ( + `id` bigint(20) NOT NULL COMMENT '主键', + `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', + `parent_id` bigint(20) DEFAULT '0' COMMENT '父id', + `dept_id` bigint(20) DEFAULT NULL COMMENT '部门id', + `user_id` bigint(20) DEFAULT NULL COMMENT '用户id', + `tree_name` varchar(255) DEFAULT NULL COMMENT '值', + `version` int(11) DEFAULT '0' COMMENT '版本', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建人', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新人', + `del_flag` int(11) DEFAULT '0' COMMENT '删除标志', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='测试树表'; + +-- ---------------------------- +-- Table structure for xg_class_msg +-- ---------------------------- +DROP TABLE IF EXISTS `xg_class_msg`; +CREATE TABLE `xg_class_msg` ( + `id` bigint(20) NOT NULL COMMENT '主键ID(雪花ID)', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `college_id` bigint(20) DEFAULT NULL COMMENT '学院代码', + `college_name` varchar(100) DEFAULT NULL COMMENT '学院名称', + `major_id` bigint(20) DEFAULT NULL COMMENT '专业代码', + `major_name` varchar(100) DEFAULT NULL COMMENT '专业名称', + `class_code` varchar(32) NOT NULL COMMENT '班级代码', + `class_name` varchar(100) NOT NULL COMMENT '班级名称', + `class_type` varchar(20) DEFAULT '1' COMMENT '班级类型:0 - 三年制中级技工 、 1 - 三年制技师 、 2 - 四年制高级工 、3 - 五年制高级技工 、4 - 六年制技师', + `grade` varchar(10) NOT NULL COMMENT '年级', + `enrollment_year` int(4) NOT NULL COMMENT '入学年份', + `graduation_year` int(4) DEFAULT NULL COMMENT '毕业年份', + `training_type` varchar(20) DEFAULT NULL COMMENT '培养方式:全日制,在职,函授,夜大等', + `degree_type` varchar(20) DEFAULT NULL COMMENT '学位类型:学士,硕士,博士,专科', + `counselor_id` bigint(20) DEFAULT NULL COMMENT '辅导员ID', + `counselor_name` varchar(50) DEFAULT NULL COMMENT '辅导员姓名', + `class_teacher_id` bigint(20) DEFAULT NULL COMMENT '班主任ID', + `class_teacher_name` varchar(50) DEFAULT NULL COMMENT '班主任姓名', + `class_advisor_id` bigint(20) DEFAULT NULL COMMENT '班级导师ID', + `class_advisor_name` varchar(50) DEFAULT NULL COMMENT '班级导师姓名', + `class_monitor_id` bigint(20) DEFAULT NULL COMMENT '班长ID', + `class_monitor_name` varchar(50) DEFAULT NULL COMMENT '班长姓名', + `deputy_monitor_id` bigint(20) DEFAULT NULL COMMENT '副班长ID', + `deputy_monitor_name` varchar(50) DEFAULT NULL COMMENT '副班长姓名', + `class_status` char(1) DEFAULT '1' COMMENT '班级状态:1-正常,2-暂停,3-毕业,4-解散', + `is_graduation` tinyint(1) DEFAULT '0' COMMENT '是否已毕业:0-未毕业,1-已毕业', + `graduation_date` date DEFAULT NULL COMMENT '毕业日期', + `planned_capacity` int(11) DEFAULT '50' COMMENT '计划容量', + `current_student_count` int(11) DEFAULT '0' COMMENT '当前学生人数', + `max_student_count` int(11) DEFAULT '50' COMMENT '最大学生人数', + `male_count` int(11) DEFAULT '0' COMMENT '男生人数', + `female_count` int(11) DEFAULT '0' COMMENT '女生人数', + `active_count` int(11) DEFAULT '0' COMMENT '在籍人数', + `transfer_in_count` int(11) DEFAULT '0' COMMENT '转入人数', + `transfer_out_count` int(11) DEFAULT '0' COMMENT '转出人数', + `dropout_count` int(11) DEFAULT '0' COMMENT '退学人数', + `graduate_count` int(11) DEFAULT '0' COMMENT '毕业人数', + `office_location` varchar(200) DEFAULT NULL COMMENT '班级办公室位置', + `class_location` varchar(100) DEFAULT NULL COMMENT '班级教室位置', + `contact_phone` varchar(20) DEFAULT NULL COMMENT '联系电话', + `qq_group` varchar(20) DEFAULT NULL COMMENT 'QQ群号', + `wechat_group` varchar(100) DEFAULT NULL COMMENT '微信群', + `email` varchar(100) DEFAULT NULL COMMENT '班级邮箱', + `class_schedule` text COMMENT '课程安排(JSON格式)', + `class_culture` text COMMENT '班级文化建设', + `class_rules` text COMMENT '班级规章制度', + `class_description` varchar(500) DEFAULT NULL COMMENT '班级描述', + `last_count_update` datetime DEFAULT NULL COMMENT '最后统计更新时间', + `ext_field1` varchar(200) DEFAULT NULL COMMENT '扩展字段1', + `ext_field2` varchar(200) DEFAULT NULL COMMENT '扩展字段2', + `ext_field3` varchar(200) DEFAULT NULL COMMENT '扩展字段3', + `remark` varchar(500) DEFAULT NULL COMMENT '备注信息', + `school_system` int(11) DEFAULT '4' COMMENT '学制(年)', + PRIMARY KEY (`id`) USING BTREE, + KEY `uk_class_code_tenant` (`class_code`,`tenant_id`), + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_deleted` (`deleted`), + KEY `idx_college_id` (`college_id`), + KEY `idx_enrollment_year` (`enrollment_year`), + KEY `idx_grade` (`grade`), + KEY `idx_major_id` (`major_id`), + KEY `idx_counselor_id` (`counselor_id`), + KEY `idx_class_teacher_id` (`class_teacher_id`), + KEY `idx_class_status` (`class_status`), + KEY `idx_college_grade` (`college_id`,`grade`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='班级信息表-新版'; + +-- ---------------------------- +-- Table structure for xg_class_msg20251112 +-- ---------------------------- +DROP TABLE IF EXISTS `xg_class_msg20251112`; +CREATE TABLE `xg_class_msg20251112` ( + `id` bigint(20) NOT NULL COMMENT '主键ID(雪花ID)', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `college_id` bigint(20) DEFAULT NULL COMMENT '学院代码', + `college_name` varchar(100) DEFAULT NULL COMMENT '学院名称', + `major_id` bigint(20) DEFAULT NULL COMMENT '专业代码', + `major_name` varchar(100) DEFAULT NULL COMMENT '专业名称', + `class_code` varchar(32) NOT NULL COMMENT '班级代码', + `class_name` varchar(100) NOT NULL COMMENT '班级名称', + `class_type` varchar(20) DEFAULT '1' COMMENT '班级类型:1-中级工 2-高级工 3-预备技师 4-技师 5-中高职一体', + `grade` varchar(10) NOT NULL COMMENT '年级', + `enrollment_year` int(4) NOT NULL COMMENT '入学年份', + `graduation_year` int(4) DEFAULT NULL COMMENT '毕业年份', + `training_type` varchar(20) DEFAULT NULL COMMENT '培养方式:全日制,在职,函授,夜大等', + `degree_type` varchar(20) DEFAULT NULL COMMENT '学位类型:学士,硕士,博士,专科', + `counselor_id` bigint(20) DEFAULT NULL COMMENT '辅导员ID', + `counselor_name` varchar(50) DEFAULT NULL COMMENT '辅导员姓名', + `class_teacher_id` bigint(20) DEFAULT NULL COMMENT '班主任ID', + `class_teacher_name` varchar(50) DEFAULT NULL COMMENT '班主任姓名', + `class_advisor_id` bigint(20) DEFAULT NULL COMMENT '班级导师ID', + `class_advisor_name` varchar(50) DEFAULT NULL COMMENT '班级导师姓名', + `class_monitor_id` bigint(20) DEFAULT NULL COMMENT '班长ID', + `class_monitor_name` varchar(50) DEFAULT NULL COMMENT '班长姓名', + `deputy_monitor_id` bigint(20) DEFAULT NULL COMMENT '副班长ID', + `deputy_monitor_name` varchar(50) DEFAULT NULL COMMENT '副班长姓名', + `class_status` char(1) DEFAULT '1' COMMENT '班级状态:1-正常,2-暂停,3-毕业,4-解散', + `is_graduation` tinyint(1) DEFAULT '0' COMMENT '是否已毕业:0-未毕业,1-已毕业', + `graduation_date` date DEFAULT NULL COMMENT '毕业日期', + `planned_capacity` int(11) DEFAULT '50' COMMENT '计划容量', + `current_student_count` int(11) DEFAULT '0' COMMENT '当前学生人数', + `max_student_count` int(11) DEFAULT '50' COMMENT '最大学生人数', + `male_count` int(11) DEFAULT '0' COMMENT '男生人数', + `female_count` int(11) DEFAULT '0' COMMENT '女生人数', + `active_count` int(11) DEFAULT '0' COMMENT '在籍人数', + `transfer_in_count` int(11) DEFAULT '0' COMMENT '转入人数', + `transfer_out_count` int(11) DEFAULT '0' COMMENT '转出人数', + `dropout_count` int(11) DEFAULT '0' COMMENT '退学人数', + `graduate_count` int(11) DEFAULT '0' COMMENT '毕业人数', + `office_location` varchar(200) DEFAULT NULL COMMENT '班级办公室位置', + `class_location` varchar(100) DEFAULT NULL COMMENT '班级教室位置', + `contact_phone` varchar(20) DEFAULT NULL COMMENT '联系电话', + `qq_group` varchar(20) DEFAULT NULL COMMENT 'QQ群号', + `wechat_group` varchar(100) DEFAULT NULL COMMENT '微信群', + `email` varchar(100) DEFAULT NULL COMMENT '班级邮箱', + `class_schedule` text COMMENT '课程安排(JSON格式)', + `class_culture` text COMMENT '班级文化建设', + `class_rules` text COMMENT '班级规章制度', + `class_description` varchar(500) DEFAULT NULL COMMENT '班级描述', + `last_count_update` datetime DEFAULT NULL COMMENT '最后统计更新时间', + `ext_field1` varchar(200) DEFAULT NULL COMMENT '扩展字段1', + `ext_field2` varchar(200) DEFAULT NULL COMMENT '扩展字段2', + `ext_field3` varchar(200) DEFAULT NULL COMMENT '扩展字段3', + `remark` varchar(500) DEFAULT NULL COMMENT '备注信息', + `school_system` int(11) DEFAULT '4' COMMENT '学制(年)', + PRIMARY KEY (`id`) USING BTREE, + KEY `uk_class_code_tenant` (`class_code`,`tenant_id`), + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_deleted` (`deleted`), + KEY `idx_college_id` (`college_id`), + KEY `idx_enrollment_year` (`enrollment_year`), + KEY `idx_grade` (`grade`), + KEY `idx_major_id` (`major_id`), + KEY `idx_counselor_id` (`counselor_id`), + KEY `idx_class_teacher_id` (`class_teacher_id`), + KEY `idx_class_status` (`class_status`), + KEY `idx_college_grade` (`college_id`,`grade`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='班级信息表-新版'; + +-- ---------------------------- +-- Table structure for xg_class_msg_20251222 +-- ---------------------------- +DROP TABLE IF EXISTS `xg_class_msg_20251222`; +CREATE TABLE `xg_class_msg_20251222` ( + `id` bigint(20) NOT NULL COMMENT '主键ID(雪花ID)', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `college_id` bigint(20) DEFAULT NULL COMMENT '学院代码', + `college_name` varchar(100) DEFAULT NULL COMMENT '学院名称', + `major_id` bigint(20) DEFAULT NULL COMMENT '专业代码', + `major_name` varchar(100) DEFAULT NULL COMMENT '专业名称', + `class_code` varchar(32) NOT NULL COMMENT '班级代码', + `class_name` varchar(100) NOT NULL COMMENT '班级名称', + `class_type` varchar(20) DEFAULT '1' COMMENT '班级类型:1-中级工 2-高级工 3-预备技师 4-技师 5-中高职一体', + `grade` varchar(10) NOT NULL COMMENT '年级', + `enrollment_year` int(4) NOT NULL COMMENT '入学年份', + `graduation_year` int(4) DEFAULT NULL COMMENT '毕业年份', + `training_type` varchar(20) DEFAULT NULL COMMENT '培养方式:全日制,在职,函授,夜大等', + `degree_type` varchar(20) DEFAULT NULL COMMENT '学位类型:学士,硕士,博士,专科', + `counselor_id` bigint(20) DEFAULT NULL COMMENT '辅导员ID', + `counselor_name` varchar(50) DEFAULT NULL COMMENT '辅导员姓名', + `class_teacher_id` bigint(20) DEFAULT NULL COMMENT '班主任ID', + `class_teacher_name` varchar(50) DEFAULT NULL COMMENT '班主任姓名', + `class_advisor_id` bigint(20) DEFAULT NULL COMMENT '班级导师ID', + `class_advisor_name` varchar(50) DEFAULT NULL COMMENT '班级导师姓名', + `class_monitor_id` bigint(20) DEFAULT NULL COMMENT '班长ID', + `class_monitor_name` varchar(50) DEFAULT NULL COMMENT '班长姓名', + `deputy_monitor_id` bigint(20) DEFAULT NULL COMMENT '副班长ID', + `deputy_monitor_name` varchar(50) DEFAULT NULL COMMENT '副班长姓名', + `class_status` char(1) DEFAULT '1' COMMENT '班级状态:1-正常,2-暂停,3-毕业,4-解散', + `is_graduation` tinyint(1) DEFAULT '0' COMMENT '是否已毕业:0-未毕业,1-已毕业', + `graduation_date` date DEFAULT NULL COMMENT '毕业日期', + `planned_capacity` int(11) DEFAULT '50' COMMENT '计划容量', + `current_student_count` int(11) DEFAULT '0' COMMENT '当前学生人数', + `max_student_count` int(11) DEFAULT '50' COMMENT '最大学生人数', + `male_count` int(11) DEFAULT '0' COMMENT '男生人数', + `female_count` int(11) DEFAULT '0' COMMENT '女生人数', + `active_count` int(11) DEFAULT '0' COMMENT '在籍人数', + `transfer_in_count` int(11) DEFAULT '0' COMMENT '转入人数', + `transfer_out_count` int(11) DEFAULT '0' COMMENT '转出人数', + `dropout_count` int(11) DEFAULT '0' COMMENT '退学人数', + `graduate_count` int(11) DEFAULT '0' COMMENT '毕业人数', + `office_location` varchar(200) DEFAULT NULL COMMENT '班级办公室位置', + `class_location` varchar(100) DEFAULT NULL COMMENT '班级教室位置', + `contact_phone` varchar(20) DEFAULT NULL COMMENT '联系电话', + `qq_group` varchar(20) DEFAULT NULL COMMENT 'QQ群号', + `wechat_group` varchar(100) DEFAULT NULL COMMENT '微信群', + `email` varchar(100) DEFAULT NULL COMMENT '班级邮箱', + `class_schedule` text COMMENT '课程安排(JSON格式)', + `class_culture` text COMMENT '班级文化建设', + `class_rules` text COMMENT '班级规章制度', + `class_description` varchar(500) DEFAULT NULL COMMENT '班级描述', + `last_count_update` datetime DEFAULT NULL COMMENT '最后统计更新时间', + `ext_field1` varchar(200) DEFAULT NULL COMMENT '扩展字段1', + `ext_field2` varchar(200) DEFAULT NULL COMMENT '扩展字段2', + `ext_field3` varchar(200) DEFAULT NULL COMMENT '扩展字段3', + `remark` varchar(500) DEFAULT NULL COMMENT '备注信息', + `school_system` int(11) DEFAULT '4' COMMENT '学制(年)', + PRIMARY KEY (`id`) USING BTREE, + KEY `uk_class_code_tenant` (`class_code`,`tenant_id`), + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_deleted` (`deleted`), + KEY `idx_college_id` (`college_id`), + KEY `idx_enrollment_year` (`enrollment_year`), + KEY `idx_grade` (`grade`), + KEY `idx_major_id` (`major_id`), + KEY `idx_counselor_id` (`counselor_id`), + KEY `idx_class_teacher_id` (`class_teacher_id`), + KEY `idx_class_status` (`class_status`), + KEY `idx_college_grade` (`college_id`,`grade`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='班级信息表-新版'; + +-- ---------------------------- +-- Table structure for xg_class_pos_dict +-- ---------------------------- +DROP TABLE IF EXISTS `xg_class_pos_dict`; +CREATE TABLE `xg_class_pos_dict` ( + `id` bigint(20) NOT NULL COMMENT '主键ID(雪花ID)', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `position_code` varchar(20) NOT NULL COMMENT '职务编码', + `position_name` varchar(50) NOT NULL COMMENT '职务名称', + `position_category` varchar(20) DEFAULT 'class' COMMENT '学生职务类别:class-班级干部,party-党团干部,other-其他', + `position_level` tinyint(1) NOT NULL DEFAULT '9' COMMENT '学生职务级别:1-班长,2-副班长,3-委员,9-普通成员', + `position_type` varchar(20) DEFAULT 'regular' COMMENT '学生职务类型:regular-常规职务,special-特殊职务,temporary-临时职务', + `responsibilities` text COMMENT '职责描述', + `status` char(1) DEFAULT '1' COMMENT '状态:0-启用,1-停用', + `sort_order` int(11) DEFAULT '0' COMMENT '排序顺序', + `remark` varchar(500) DEFAULT NULL COMMENT '备注信息', + PRIMARY KEY (`id`) USING BTREE, + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_deleted` (`deleted`), + KEY `idx_position_level` (`position_level`), + KEY `idx_position_category` (`position_category`), + KEY `idx_dict_status` (`status`), + KEY `idx_sort_order` (`sort_order`), + KEY `idx_position_type` (`position_type`), + KEY `uk_position_code_tenant` (`position_code`,`tenant_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='班级干部职务字典表'; + +-- ---------------------------- +-- Table structure for xg_class_pos_msg +-- ---------------------------- +DROP TABLE IF EXISTS `xg_class_pos_msg`; +CREATE TABLE `xg_class_pos_msg` ( + `id` bigint(20) NOT NULL COMMENT '主键ID(雪花ID)', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `class_id` bigint(20) NOT NULL COMMENT '班级ID,关联xg_class_msg.id', + `student_id` bigint(20) NOT NULL COMMENT '学生ID,关联xg_student_msg.id', + `student_no` varchar(32) NOT NULL COMMENT '学号', + `student_name` varchar(50) NOT NULL COMMENT '学生姓名(冗余字段)', + `position_id` bigint(20) NOT NULL COMMENT '职务编码,关联xg_class_pos_dict.id', + `position_code` varchar(20) NOT NULL COMMENT '职务编码,关联xg_class_pos_dict.position_code', + `appointment_date` date NOT NULL COMMENT '任职日期', + `term_start_date` date NOT NULL COMMENT '任期开始日期', + `term_end_date` date DEFAULT NULL COMMENT '任期结束日期', + `term_duration` int(11) DEFAULT '12' COMMENT '任期时长(月)', + `is_current` tinyint(1) DEFAULT '1' COMMENT '是否现任:0-否,1-是', + `cadre_status` char(1) DEFAULT '1' COMMENT '学生职务任职状态:1-在任,2-到期,3-辞职,4-免职,5-调任,6-休学', + `appointment_reason` varchar(200) DEFAULT NULL COMMENT '任命原因', + `appointment_method` varchar(20) DEFAULT 'appointment' COMMENT '学生职务任命方式:appointment-任命,election-选举,recommendation-推荐', + `dismissal_date` date DEFAULT NULL COMMENT '离任日期', + `dismissal_reason` varchar(200) DEFAULT NULL COMMENT '离任原因', + `remark` varchar(500) DEFAULT NULL COMMENT '备注信息', + PRIMARY KEY (`id`) USING BTREE, + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_deleted` (`deleted`), + KEY `idx_class_id` (`class_id`), + KEY `idx_student_id` (`student_id`), + KEY `idx_position_code` (`position_code`), + KEY `idx_cadre_status` (`cadre_status`), + KEY `idx_is_current` (`is_current`), + KEY `idx_appointment_date` (`appointment_date`), + KEY `idx_term_dates` (`term_start_date`,`term_end_date`), + KEY `idx_class_position` (`class_id`,`position_code`,`is_current`), + KEY `idx_student_cadre` (`student_id`,`is_current`,`cadre_status`), + KEY `uk_class_student_position` (`class_id`,`student_id`,`position_code`,`tenant_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='班级干部信息表'; + +-- ---------------------------- +-- Table structure for xg_class_teacher_counselor_rel +-- ---------------------------- +DROP TABLE IF EXISTS `xg_class_teacher_counselor_rel`; +CREATE TABLE `xg_class_teacher_counselor_rel` ( + `id` bigint(20) NOT NULL COMMENT '主键ID(雪花ID)', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `class_id` bigint(20) NOT NULL COMMENT '班级ID,关联xg_class_msg.id', + `class_name` varchar(100) DEFAULT NULL COMMENT '班级名称', + `teacher_id` bigint(20) NOT NULL COMMENT '教师ID,关联sys_user.user_id', + `teacher_name` varchar(50) DEFAULT NULL COMMENT '教师姓名', + `teacher_type` varchar(20) NOT NULL COMMENT '教师类型:class_teacher-班主任,counselor-辅导员,advisor-导师', + `start_date` datetime NOT NULL COMMENT '开始日期', + `end_date` datetime DEFAULT NULL COMMENT '结束日期', + `remark` varchar(500) DEFAULT NULL COMMENT '备注信息', + PRIMARY KEY (`id`) USING BTREE, + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_deleted` (`deleted`), + KEY `idx_class_id` (`class_id`), + KEY `idx_teacher_id` (`teacher_id`), + KEY `idx_teacher_type` (`teacher_type`), + KEY `idx_start_date` (`start_date`), + KEY `idx_end_date` (`end_date`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='班级班主任辅导员关联表'; + +-- ---------------------------- +-- Table structure for xg_college_leader +-- ---------------------------- +DROP TABLE IF EXISTS `xg_college_leader`; +CREATE TABLE `xg_college_leader` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `college_id` bigint(20) NOT NULL COMMENT '二级学院ID,关联sys_dept.dept_id', + `college_name` varchar(100) DEFAULT NULL COMMENT '二级学院名称', + `leader_id` bigint(20) NOT NULL COMMENT '分管领导ID,关联sys_user.user_id', + `leader_name` varchar(50) DEFAULT NULL COMMENT '分管领导姓名', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_deleted` (`deleted`), + KEY `idx_college_id` (`college_id`), + KEY `idx_leader_id` (`leader_id`), + KEY `idx_create_time` (`create_time`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='二级学院分管领导配置表'; + +-- ---------------------------- +-- Table structure for xg_dorm_application +-- ---------------------------- +DROP TABLE IF EXISTS `xg_dorm_application`; +CREATE TABLE `xg_dorm_application` ( + `id` bigint(20) NOT NULL COMMENT '主键ID(雪花ID)', + `application_name` varchar(50) NOT NULL COMMENT '申请名称', + `application_type` char(1) NOT NULL COMMENT '申请类型(1:调宿申请 2:退宿申请)', + `application_status` char(20) DEFAULT 'waiting' COMMENT '审批状态:cancel-已撤销 , draft-草稿, waiting-待审核, finish-已完成, invalid-已作废, back-已退回, termination-已终止"', + `student_id` bigint(20) NOT NULL COMMENT '申请学生ID', + `student_no` varchar(20) NOT NULL COMMENT '学号', + `student_name` varchar(50) NOT NULL COMMENT '学生姓名', + `student_phone` varchar(20) DEFAULT NULL COMMENT '学生联系电话', + `college_id` bigint(20) NOT NULL COMMENT '学院ID', + `college_name` varchar(100) DEFAULT NULL COMMENT '学院名称', + `major_id` bigint(20) DEFAULT NULL COMMENT '专业ID', + `major_name` varchar(100) DEFAULT NULL COMMENT '专业名称', + `class_id` bigint(20) DEFAULT NULL COMMENT '班级ID', + `class_name` varchar(100) DEFAULT NULL COMMENT '班级名称', + `current_campus_id` bigint(20) DEFAULT NULL COMMENT '当前校区ID', + `current_campus_name` varchar(100) DEFAULT NULL COMMENT '当前校区名称', + `current_building_id` bigint(20) DEFAULT NULL COMMENT '当前宿舍楼ID', + `current_building_name` varchar(100) DEFAULT NULL COMMENT '当前宿舍楼名称', + `current_room_id` bigint(20) DEFAULT NULL COMMENT '当前房间ID', + `current_room_no` varchar(20) DEFAULT NULL COMMENT '当前房间号', + `current_bed_id` bigint(20) DEFAULT NULL COMMENT '当前床位ID', + `current_bed_no` varchar(10) DEFAULT NULL COMMENT '当前床位号', + `target_campus_id` bigint(20) DEFAULT NULL COMMENT '目标校区ID', + `target_campus_name` varchar(100) DEFAULT NULL COMMENT '目标校区名称', + `target_building_id` bigint(20) DEFAULT NULL COMMENT '目标宿舍楼ID', + `target_building_name` varchar(100) DEFAULT NULL COMMENT '目标宿舍楼名称', + `target_room_id` bigint(20) DEFAULT NULL COMMENT '目标房间ID', + `target_room_no` varchar(20) DEFAULT NULL COMMENT '目标房间号', + `target_bed_id` bigint(20) DEFAULT NULL COMMENT '目标床位ID', + `target_bed_no` varchar(10) DEFAULT NULL COMMENT '目标床位号', + `reason_detail` text COMMENT '详细原因说明', + `apply_time` datetime NOT NULL COMMENT '申请时间', + `attachment_oss_ids` varchar(1000) DEFAULT NULL COMMENT '附件OSS文件ID,多个用逗号分隔', + `remark` varchar(500) DEFAULT NULL COMMENT '备注信息', + `ext_field1` varchar(200) DEFAULT NULL COMMENT '扩展字段1', + `ext_field2` varchar(200) DEFAULT NULL COMMENT '扩展字段2', + `ext_field3` varchar(500) DEFAULT NULL COMMENT '扩展字段3', + `deleted` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `tenant_id` bigint(20) DEFAULT '0' COMMENT '租户编号', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`id`) USING BTREE, + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_deleted` (`deleted`), + KEY `idx_student_id` (`student_id`), + KEY `idx_student_no` (`student_no`), + KEY `idx_application_type` (`application_type`), + KEY `idx_application_status` (`application_status`), + KEY `idx_apply_time` (`apply_time`), + KEY `idx_college_id` (`college_id`), + KEY `idx_current_building_id` (`current_building_id`), + KEY `idx_target_building_id` (`target_building_id`), + KEY `idx_tenant_deleted_status` (`tenant_id`,`deleted`,`application_status`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='学生宿舍申请单表(调宿+退宿)'; + +-- ---------------------------- +-- Table structure for xg_dorm_area +-- ---------------------------- +DROP TABLE IF EXISTS `xg_dorm_area`; +CREATE TABLE `xg_dorm_area` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `area_code` varchar(50) NOT NULL COMMENT '宿舍区编码', + `area_name` varchar(100) NOT NULL COMMENT '宿舍区名称', + `campus_id` bigint(20) NOT NULL COMMENT '所属校区ID', + `area_description` varchar(500) DEFAULT NULL COMMENT '宿舍区描述', + `sort_order` int(11) DEFAULT '0' COMMENT '排序号', + `deleted` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `tenant_id` bigint(20) DEFAULT '0' COMMENT '租户编号', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_area_code` (`area_code`), + KEY `idx_campus_id` (`campus_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='宿舍区信息表'; + +-- ---------------------------- +-- Table structure for xg_dorm_bed +-- ---------------------------- +DROP TABLE IF EXISTS `xg_dorm_bed`; +CREATE TABLE `xg_dorm_bed` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `bed_code` varchar(50) NOT NULL COMMENT '床位编号', + `bed_name` varchar(100) NOT NULL COMMENT '床位名称', + `room_id` bigint(20) NOT NULL COMMENT '所属房间ID', + `bed_type` char(1) DEFAULT '1' COMMENT '床位类型(1下铺 2上铺 3中铺 4独立床)', + `bed_status` char(1) DEFAULT '0' COMMENT '床位状态(0空闲 1已分配 2维修中)', + `deleted` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `tenant_id` bigint(20) DEFAULT '0' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`), + KEY `idx_room_id` (`room_id`), + KEY `uk_bed_code` (`bed_code`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='宿舍床位信息表'; + +-- ---------------------------- +-- Table structure for xg_dorm_bed_student +-- ---------------------------- +DROP TABLE IF EXISTS `xg_dorm_bed_student`; +CREATE TABLE `xg_dorm_bed_student` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `college_id` bigint(20) NOT NULL COMMENT '分配学院ID', + `major_id` bigint(20) DEFAULT NULL COMMENT '分配专业ID', + `class_id` bigint(20) DEFAULT NULL COMMENT '分配班级ID', + `student_id` bigint(20) DEFAULT NULL COMMENT '分配学生ID', + `bed_id` bigint(20) NOT NULL COMMENT '床位ID', + `room_id` bigint(20) NOT NULL COMMENT '房间ID', + `building_id` bigint(20) NOT NULL COMMENT '宿舍楼ID', + `area_id` bigint(20) DEFAULT NULL COMMENT '宿舍区ID', + `campus_id` bigint(20) NOT NULL COMMENT '校区ID', + `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1已退宿)', + `assign_time` datetime NOT NULL COMMENT '分配时间', + `checkout_time` datetime DEFAULT NULL COMMENT '退宿时间', + `deleted` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `tenant_id` bigint(20) DEFAULT '0' COMMENT '租户编号', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`), + KEY `uk_student_bed` (`student_id`,`bed_id`), + KEY `idx_college_id` (`college_id`), + KEY `idx_student_id` (`student_id`), + KEY `idx_bed_id` (`bed_id`), + KEY `idx_room_id` (`room_id`), + KEY `idx_building_id` (`building_id`), + KEY `idx_area_id` (`area_id`), + KEY `idx_campus_id` (`campus_id`), + KEY `idx_assign_time` (`assign_time`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='床位学生分配关系表'; + +-- ---------------------------- +-- Table structure for xg_dorm_building +-- ---------------------------- +DROP TABLE IF EXISTS `xg_dorm_building`; +CREATE TABLE `xg_dorm_building` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `building_code` varchar(50) NOT NULL COMMENT '宿舍楼编码', + `building_name` varchar(100) NOT NULL COMMENT '宿舍楼名称', + `area_id` bigint(20) DEFAULT NULL COMMENT '所属宿舍区ID', + `campus_id` bigint(20) NOT NULL COMMENT '所属校区ID', + `floors` int(11) NOT NULL DEFAULT '6' COMMENT '总楼层数', + `building_type` char(1) DEFAULT '1' COMMENT '宿舍楼类型(1男生楼 2女生楼 3混合楼)', + `building_description` varchar(500) DEFAULT NULL COMMENT '宿舍楼描述', + `sort_order` int(11) DEFAULT '0' COMMENT '排序号', + `deleted` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `tenant_id` bigint(20) DEFAULT '0' COMMENT '租户编号', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_building_code` (`building_code`), + KEY `idx_area_id` (`area_id`), + KEY `idx_campus_id` (`campus_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='宿舍楼信息表'; + +-- ---------------------------- +-- Table structure for xg_dorm_campus +-- ---------------------------- +DROP TABLE IF EXISTS `xg_dorm_campus`; +CREATE TABLE `xg_dorm_campus` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `campus_code` varchar(50) NOT NULL COMMENT '校区编码', + `campus_name` varchar(100) NOT NULL COMMENT '校区名称', + `campus_description` varchar(500) DEFAULT NULL COMMENT '校区描述', + `sort_order` int(11) DEFAULT '0' COMMENT '排序号', + `deleted` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `tenant_id` bigint(20) DEFAULT '0' COMMENT '租户编号', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_campus_code` (`campus_code`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='校区信息表'; + +-- ---------------------------- +-- Table structure for xg_dorm_college_bed +-- ---------------------------- +DROP TABLE IF EXISTS `xg_dorm_college_bed`; +CREATE TABLE `xg_dorm_college_bed` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `college_id` bigint(20) NOT NULL COMMENT '学院ID', + `bed_id` bigint(20) NOT NULL COMMENT '床位ID', + `building_id` bigint(20) NOT NULL COMMENT '宿舍楼ID', + `room_id` bigint(20) NOT NULL COMMENT '房间ID', + `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1已解除)', + `assign_time` datetime DEFAULT NULL COMMENT '分配时间', + `release_time` datetime DEFAULT NULL COMMENT '到期解除时间', + `deleted` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `tenant_id` bigint(20) DEFAULT '0' COMMENT '租户编号', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_college_bed` (`college_id`,`bed_id`), + KEY `idx_college_id` (`college_id`), + KEY `idx_bed_id` (`bed_id`), + KEY `idx_building_id` (`building_id`), + KEY `idx_room_id` (`room_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='二级学院床位绑定关系表'; + +-- ---------------------------- +-- Table structure for xg_dorm_hygiene_check +-- ---------------------------- +DROP TABLE IF EXISTS `xg_dorm_hygiene_check`; +CREATE TABLE `xg_dorm_hygiene_check` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `check_title` varchar(200) NOT NULL COMMENT '检查标题', + `check_date` datetime NOT NULL COMMENT '检查日期', + `checker_id` bigint(20) NOT NULL COMMENT '检查员ID,关联sys_user.id', + `checker_name` varchar(50) NOT NULL COMMENT '检查员姓名', + `check_type` char(1) DEFAULT '1' COMMENT '检查类型(1日常检查 2专项检查 3突击检查 4复查)', + `check_level` char(1) DEFAULT '1' COMMENT '检查级别(1宿管员 2学院 3学校)', + `room_id` bigint(20) NOT NULL COMMENT '宿舍房间ID,关联xg_dorm_room.id', + `room_code` varchar(50) NOT NULL COMMENT '房间编号', + `room_name` varchar(100) NOT NULL COMMENT '房间名称', + `building_id` bigint(20) NOT NULL COMMENT '宿舍楼ID,关联xg_dorm_building.id', + `building_name` varchar(100) NOT NULL COMMENT '宿舍楼名称', + `area_id` bigint(20) DEFAULT NULL COMMENT '宿舍区ID,关联xg_dorm_area.id', + `area_name` varchar(100) DEFAULT NULL COMMENT '宿舍区名称', + `campus_id` bigint(20) DEFAULT NULL COMMENT '校区ID,关联xg_dorm_campus.id', + `campus_name` varchar(100) DEFAULT NULL COMMENT '校区名称', + `total_score` decimal(5,2) DEFAULT NULL COMMENT '宿舍扣分(0-100分)', + `hygiene_grade` char(1) DEFAULT NULL COMMENT '卫生等级(A优秀 B良好 C合格 D不合格)', + `attachment_ids` text COMMENT '附件OSS ID列表,逗号分隔', + `check_summary` text COMMENT '检查总结', + `improvement_suggestions` text COMMENT '整改建议', + `check_remarks` varchar(500) DEFAULT NULL COMMENT '检查备注', + `discipline_type_id` bigint(20) DEFAULT NULL COMMENT '违纪类型ID,关联xskh_discipline_type.id', + `discipline_type_name` varchar(255) DEFAULT NULL COMMENT '违纪类型名称', + PRIMARY KEY (`id`) USING BTREE, + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_deleted` (`deleted`), + KEY `idx_check_date` (`check_date`), + KEY `idx_checker_id` (`checker_id`), + KEY `idx_room_id` (`room_id`), + KEY `idx_building_id` (`building_id`), + KEY `idx_area_id` (`area_id`), + KEY `idx_campus_id` (`campus_id`), + KEY `idx_hygiene_grade` (`hygiene_grade`), + KEY `idx_check_type` (`check_type`), + KEY `idx_create_time` (`create_time`), + KEY `idx_tenant_deleted` (`tenant_id`,`deleted`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='宿舍卫生检查表'; + +-- ---------------------------- +-- Table structure for xg_dorm_hygiene_student_score +-- ---------------------------- +DROP TABLE IF EXISTS `xg_dorm_hygiene_student_score`; +CREATE TABLE `xg_dorm_hygiene_student_score` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `hygiene_check_id` bigint(20) NOT NULL COMMENT '卫生检查ID,关联xg_dorm_hygiene_check.id', + `student_id` bigint(20) NOT NULL COMMENT '学生ID,关联xg_student_msg.id', + `student_no` varchar(32) NOT NULL COMMENT '学号', + `student_name` varchar(50) NOT NULL COMMENT '学生姓名', + `class_id` bigint(20) DEFAULT NULL COMMENT '班级ID', + `class_name` varchar(100) DEFAULT NULL COMMENT '班级名称', + `major_id` bigint(20) DEFAULT NULL COMMENT '专业ID', + `major_name` varchar(100) DEFAULT NULL COMMENT '专业名称', + `college_id` bigint(20) DEFAULT NULL COMMENT '学院ID', + `college_name` varchar(100) DEFAULT NULL COMMENT '学院名称', + `bed_id` bigint(20) DEFAULT NULL COMMENT '床位ID,关联xg_dorm_bed.id', + `bed_code` varchar(50) DEFAULT NULL COMMENT '床位编号', + `student_score` decimal(5,2) DEFAULT NULL COMMENT '学生个人扣分(0-100分)', + `attendance_status` char(1) DEFAULT '1' COMMENT '出勤状态(1在寝 2外出 3请假 4其他)', + `student_grade` char(1) DEFAULT NULL COMMENT '学生评级(A优秀 B良好 C合格 D不合格)', + `is_responsible_person` tinyint(1) DEFAULT '0' COMMENT '是否为寝室长(0否 1是)', + `score_remarks` varchar(500) DEFAULT NULL COMMENT '评分备注', + `improvement_notes` varchar(500) DEFAULT NULL COMMENT '改进意见', + PRIMARY KEY (`id`) USING BTREE, + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_deleted` (`deleted`), + KEY `idx_hygiene_check_id` (`hygiene_check_id`), + KEY `idx_student_id` (`student_id`), + KEY `idx_student_no` (`student_no`), + KEY `idx_class_id` (`class_id`), + KEY `idx_major_id` (`major_id`), + KEY `idx_college_id` (`college_id`), + KEY `idx_bed_id` (`bed_id`), + KEY `idx_attendance_status` (`attendance_status`), + KEY `idx_student_grade` (`student_grade`), + KEY `idx_create_time` (`create_time`), + KEY `idx_tenant_deleted` (`tenant_id`,`deleted`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='宿舍卫生检查学生评分表'; + +-- ---------------------------- +-- Table structure for xg_dorm_manager +-- ---------------------------- +DROP TABLE IF EXISTS `xg_dorm_manager`; +CREATE TABLE `xg_dorm_manager` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `manager_name` varchar(100) NOT NULL COMMENT '管理员姓名', + `manager_type` char(1) NOT NULL COMMENT '管理员类型(1全校管理员 2校区管理员 3宿舍区管理员 4宿舍楼管理员)', + `manager_level` int(11) DEFAULT '1' COMMENT '管理级别(1-5,1为最高)', + `user_id` bigint(20) DEFAULT NULL COMMENT '关联用户ID', + `phone` varchar(20) DEFAULT NULL COMMENT '联系电话', + `gender` char(1) DEFAULT '0' COMMENT '性别(0男 1女 2未知)', + `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)', + `deleted` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `tenant_id` bigint(20) DEFAULT '0' COMMENT '租户编号', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`), + KEY `idx_user_id` (`user_id`), + KEY `idx_manager_type` (`manager_type`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='宿舍管理员信息表'; + +-- ---------------------------- +-- Table structure for xg_dorm_manager_source +-- ---------------------------- +DROP TABLE IF EXISTS `xg_dorm_manager_source`; +CREATE TABLE `xg_dorm_manager_source` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `manager_id` bigint(20) NOT NULL COMMENT '管理员ID', + `permission_type` char(1) DEFAULT '1' COMMENT '权限类型(1查看 2编辑 3完全管理)', + `auth_type` char(1) NOT NULL COMMENT '授权类型(1全校级 2校区级 3宿舍区级 4楼栋级)', + `auth_source` bigint(20) DEFAULT NULL COMMENT '授权来源ID(对应校区ID或宿舍区ID或楼栋ID)', + `status` char(1) DEFAULT '0' COMMENT '状态(0有效 1已撤销)', + `deleted` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `tenant_id` bigint(20) DEFAULT '0' COMMENT '租户编号', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`), + KEY `idx_manager_id` (`manager_id`), + KEY `idx_auth_source` (`auth_source`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='管理员授权关系表'; + +-- ---------------------------- +-- Table structure for xg_dorm_room +-- ---------------------------- +DROP TABLE IF EXISTS `xg_dorm_room`; +CREATE TABLE `xg_dorm_room` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `room_code` varchar(50) NOT NULL COMMENT '房间编号', + `room_name` varchar(100) NOT NULL COMMENT '房间名称', + `building_id` bigint(20) NOT NULL COMMENT '所属宿舍楼ID', + `floor_num` int(11) NOT NULL COMMENT '楼层', + `room_type` char(1) DEFAULT '1' COMMENT '房间类型(1标准间 2 单人间 3 套间)', + `actual_beds` int(11) DEFAULT '4' COMMENT '实际床位数', + `room_area` decimal(10,2) DEFAULT NULL COMMENT '房间面积(平方米)', + `room_status` char(1) DEFAULT '0' COMMENT '房间状态(0可用 1维修中 2停用)', + `sort` int(11) DEFAULT '0' COMMENT '排序号', + `deleted` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `tenant_id` bigint(20) DEFAULT '0' COMMENT '租户编号', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`), + KEY `idx_building_id` (`building_id`), + KEY `idx_floor_num` (`floor_num`), + KEY `uk_room_code` (`room_code`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='宿舍房间信息表'; + +-- ---------------------------- +-- Table structure for xg_dorm_violation +-- ---------------------------- +DROP TABLE IF EXISTS `xg_dorm_violation`; +CREATE TABLE `xg_dorm_violation` ( + `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '违纪记录ID(主键)', + `student_id` bigint(20) NOT NULL COMMENT '学生ID', + `student_name` varchar(100) NOT NULL COMMENT '学生姓名', + `student_no` varchar(50) NOT NULL COMMENT '学号', + `college_id` bigint(20) DEFAULT NULL COMMENT '学院ID', + `college_name` varchar(100) DEFAULT NULL COMMENT '学院名称', + `major_id` bigint(20) DEFAULT NULL COMMENT '专业ID', + `major_name` varchar(100) DEFAULT NULL COMMENT '专业名称', + `class_id` bigint(20) DEFAULT NULL COMMENT '班级ID', + `class_name` varchar(100) DEFAULT NULL COMMENT '班级名称', + `campus_id` bigint(20) DEFAULT NULL COMMENT '校区ID', + `campus_name` varchar(100) DEFAULT NULL COMMENT '校区名称', + `area_id` bigint(20) DEFAULT NULL COMMENT '宿舍区域ID', + `area_name` varchar(100) DEFAULT NULL COMMENT '宿舍区域名称', + `building_id` bigint(20) NOT NULL COMMENT '宿舍楼ID', + `building_name` varchar(100) NOT NULL COMMENT '宿舍楼名称', + `room_id` bigint(20) NOT NULL COMMENT '宿舍房间ID', + `room_name` varchar(50) NOT NULL COMMENT '房间名称', + `bed_id` bigint(20) DEFAULT NULL COMMENT '床位ID', + `bed_name` varchar(20) DEFAULT NULL COMMENT '床位名称', + `violation_type` varchar(50) NOT NULL COMMENT '违纪类型', + `violation_level` char(1) NOT NULL COMMENT '违纪等级:1轻微 2一般 3严重 4特别严重', + `violation_time` datetime NOT NULL COMMENT '违纪发生时间', + `violation_description` text NOT NULL COMMENT '违纪行为描述', + `involved_students` text COMMENT '涉及其他学生信息(JSON格式)', + `attachment_oss_ids` text COMMENT '附件OSS ID列表(逗号分隔)', + `deleted` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`), + KEY `idx_student_id` (`student_id`), + KEY `idx_student_no` (`student_no`), + KEY `idx_college_id` (`college_id`), + KEY `idx_building_id` (`building_id`), + KEY `idx_room_id` (`room_id`), + KEY `idx_violation_type` (`violation_type`), + KEY `idx_violation_time` (`violation_time`), + KEY `idx_violation_level` (`violation_level`), + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_deleted` (`deleted`), + KEY `idx_college_time` (`college_id`,`violation_time`), + KEY `idx_building_level` (`building_id`,`violation_level`), + KEY `idx_student_time` (`student_id`,`violation_time`), + KEY `idx_type_level` (`violation_type`,`violation_level`) +) ENGINE=InnoDB AUTO_INCREMENT=1958884987826626562 DEFAULT CHARSET=utf8mb4 COMMENT='宿舍违纪记录表'; + +-- ---------------------------- +-- Table structure for xg_holiday_stay +-- ---------------------------- +DROP TABLE IF EXISTS `xg_holiday_stay`; +CREATE TABLE `xg_holiday_stay` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `student_id` bigint(20) NOT NULL COMMENT '学生ID,关联xg_student_msg.id', + `student_name` varchar(50) NOT NULL COMMENT '学生姓名', + `student_no` varchar(20) NOT NULL COMMENT '学号', + `class_id` bigint(20) DEFAULT NULL COMMENT '班级ID', + `class_name` varchar(100) DEFAULT NULL COMMENT '班级名称', + `major_id` bigint(20) DEFAULT NULL COMMENT '专业ID', + `major_name` varchar(100) DEFAULT NULL COMMENT '专业名称', + `college_id` bigint(20) DEFAULT NULL COMMENT '学院ID', + `college_name` varchar(100) DEFAULT NULL COMMENT '学院名称', + `campus_id` bigint(20) DEFAULT NULL COMMENT '校区ID,关联xg_dorm_campus.id', + `campus_name` varchar(100) DEFAULT NULL COMMENT '校区名称', + `area_id` bigint(20) DEFAULT NULL COMMENT '宿舍区ID,关联xg_dorm_area.id', + `area_name` varchar(100) DEFAULT NULL COMMENT '宿舍区名称', + `building_id` bigint(20) DEFAULT NULL COMMENT '宿舍楼ID,关联xg_dorm_building.id', + `building_name` varchar(100) DEFAULT NULL COMMENT '宿舍楼名称', + `room_id` bigint(20) DEFAULT NULL COMMENT '房间ID,关联xg_dorm_room.id', + `room_name` varchar(100) DEFAULT NULL COMMENT '房间名称', + `bed_id` bigint(20) DEFAULT NULL COMMENT '床位ID,关联xg_dorm_bed.id', + `bed_name` varchar(100) DEFAULT NULL COMMENT '床位名称', + `holiday_type` varchar(50) NOT NULL COMMENT '假期类型(寒假、暑假、春节假期、国庆假期等)', + `apply_start_date` datetime NOT NULL COMMENT '申请留宿开始日期', + `apply_end_date` datetime NOT NULL COMMENT '申请留宿结束日期', + `stay_reason` text NOT NULL COMMENT '留宿原因(必填)', + `stay_reason_type` varchar(20) DEFAULT NULL COMMENT '留宿原因类型(学习、实习、家庭困难、其他)', + `student_phone` varchar(20) NOT NULL COMMENT '学生联系电话', + `emergency_contact` varchar(50) NOT NULL COMMENT '紧急联系人姓名', + `emergency_phone` varchar(20) NOT NULL COMMENT '紧急联系人电话', + `parent_consent` char(1) NOT NULL DEFAULT '1' COMMENT '家长同意(0否 1是)', + `attachment_oss_ids` varchar(1000) DEFAULT NULL COMMENT '附件OSS文件ID,多个用逗号分隔(申请材料、证明文件等)', + `ext_field1` varchar(200) DEFAULT NULL COMMENT '扩展字段1', + `ext_field2` varchar(200) DEFAULT NULL COMMENT '扩展字段2', + `ext_field3` varchar(500) DEFAULT NULL COMMENT '扩展字段3', + `remark` varchar(500) DEFAULT NULL COMMENT '备注信息', + PRIMARY KEY (`id`) USING BTREE, + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_deleted` (`deleted`), + KEY `idx_create_time` (`create_time`), + KEY `idx_tenant_deleted` (`tenant_id`,`deleted`), + KEY `idx_student_id` (`student_id`), + KEY `idx_student_no` (`student_no`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='假期留宿管理表'; + +-- ---------------------------- +-- Table structure for xg_hygiene_check_violation +-- ---------------------------- +DROP TABLE IF EXISTS `xg_hygiene_check_violation`; +CREATE TABLE `xg_hygiene_check_violation` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `hygiene_check_id` bigint(20) NOT NULL COMMENT '宿舍卫生检查ID,关联xg_dorm_hygiene_check.id', + `discipline_record_id` bigint(20) NOT NULL COMMENT '违纪记录ID,关联xskh_discipline_record.id', + `student_id` bigint(20) NOT NULL COMMENT '学生ID,关联xg_student_msg.id', + `student_no` varchar(20) NOT NULL COMMENT '学号', + `student_name` varchar(50) NOT NULL COMMENT '学生姓名', + `discipline_type_id` bigint(20) NOT NULL COMMENT '违纪类型ID,关联xskh_discipline_type.id', + `discipline_type_name` varchar(100) NOT NULL COMMENT '违纪类型名称', + `violation_source` char(1) DEFAULT '1' COMMENT '违纪来源(1宿舍卫生检查 2其他)', + `status` char(1) DEFAULT '1' COMMENT '状态(1生效 2已撤销)', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0-未删除 1-已删除)', + PRIMARY KEY (`id`) USING BTREE, + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_hygiene_check_id` (`hygiene_check_id`), + KEY `idx_discipline_record_id` (`discipline_record_id`), + KEY `idx_student_id` (`student_id`), + KEY `idx_student_no` (`student_no`), + KEY `idx_discipline_type_id` (`discipline_type_id`), + KEY `idx_violation_source` (`violation_source`), + KEY `idx_status` (`status`), + KEY `idx_deleted` (`deleted`), + KEY `idx_tenant_deleted` (`tenant_id`,`deleted`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='宿舍卫生检查违纪关联表'; + +-- ---------------------------- +-- Table structure for xg_leave_type_config +-- ---------------------------- +DROP TABLE IF EXISTS `xg_leave_type_config`; +CREATE TABLE `xg_leave_type_config` ( + `id` bigint(20) NOT NULL COMMENT '主键ID(雪花ID)', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `leave_type_name` varchar(50) NOT NULL COMMENT '请假类型名称', + `leave_type_code` varchar(20) NOT NULL COMMENT '请假类型编码', + `leave_type_desc` varchar(500) DEFAULT NULL COMMENT '请假类型描述', + `sort_order` int(4) DEFAULT '0' COMMENT '排序号', + `need_location_on_apply` char(1) NOT NULL DEFAULT '0' COMMENT '请假是否需要上传地理位置:0-否,1-是', + `need_photo_on_cancel` char(1) NOT NULL DEFAULT '0' COMMENT '销假是否必须上传照片:0-否,1-是', + `need_location_on_cancel` char(1) NOT NULL DEFAULT '0' COMMENT '销假是否需要上传地理位置:0-否,1-是', + `need_cancel_for_non_leave` char(1) NOT NULL DEFAULT '0' COMMENT '非离校请假是否需要销假:0-否,1-是', + `can_apply_in_advance` char(1) NOT NULL DEFAULT '0' COMMENT '是否可以提前请假:0-否,1-是', + `is_enabled` char(1) NOT NULL DEFAULT '1' COMMENT '是否开启:0-关闭,1-开启', + `max_apply_duration` decimal(5,2) DEFAULT NULL COMMENT '请假最大申请时长(天)', + `cancel_overdue_reminder` decimal(5,2) DEFAULT NULL COMMENT '销假逾期多少时长给予提醒(天)', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE KEY `uk_leave_type_code` (`leave_type_code`,`tenant_id`) USING BTREE COMMENT '请假类型编码唯一索引', + KEY `idx_tenant_id` (`tenant_id`) USING BTREE COMMENT '租户索引', + KEY `idx_is_enabled` (`is_enabled`) USING BTREE COMMENT '启用状态索引', + KEY `idx_sort_order` (`sort_order`) USING BTREE COMMENT '排序索引' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='学生请假类型配置表'; + +-- ---------------------------- +-- Table structure for xg_stu_col_batch +-- ---------------------------- +DROP TABLE IF EXISTS `xg_stu_col_batch`; +CREATE TABLE `xg_stu_col_batch` ( + `id` bigint(20) NOT NULL COMMENT '批次ID', + `batch_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '批次名称', + `description` text COLLATE utf8mb4_unicode_ci COMMENT '批次描述', + `start_time` datetime NOT NULL COMMENT '开始时间', + `end_time` datetime NOT NULL COMMENT '结束时间', + `status` char(1) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '0' COMMENT '状态(0正常 1停用)', + `collection_type` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '收集类型 1 - 新学期收集 2 - 其他', + `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + `tenant_id` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + PRIMARY KEY (`id`), + KEY `idx_status` (`status`), + KEY `idx_start_time` (`start_time`), + KEY `idx_end_time` (`end_time`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='学生信息收集批次表'; + +-- ---------------------------- +-- Table structure for xg_stu_col_batch_class +-- ---------------------------- +DROP TABLE IF EXISTS `xg_stu_col_batch_class`; +CREATE TABLE `xg_stu_col_batch_class` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `batch_id` bigint(20) NOT NULL COMMENT '批次ID', + `class_id` bigint(20) NOT NULL COMMENT '班级ID', + `class_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '班级名称', + `major_id` bigint(20) DEFAULT NULL COMMENT '专业ID', + `major_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '专业名称', + `college_id` bigint(20) DEFAULT NULL COMMENT '院系ID', + `college_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '院系名称', + `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + `tenant_id` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + PRIMARY KEY (`id`), + KEY `idx_batch_id` (`batch_id`), + KEY `idx_class_id` (`class_id`), + KEY `idx_grade_id` (`major_id`), + KEY `idx_department_id` (`college_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='学生信息收集批次班级权限表'; + +-- ---------------------------- +-- Table structure for xg_student_cancel_leave +-- ---------------------------- +DROP TABLE IF EXISTS `xg_student_cancel_leave`; +CREATE TABLE `xg_student_cancel_leave` ( + `id` bigint(20) NOT NULL COMMENT '主键ID(雪花ID)', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `student_id` bigint(20) NOT NULL COMMENT '学生ID', + `student_name` varchar(50) NOT NULL COMMENT '学生姓名', + `student_no` varchar(20) NOT NULL COMMENT '学号', + `class_id` bigint(20) DEFAULT NULL COMMENT '班级ID', + `class_name` varchar(100) DEFAULT NULL COMMENT '班级名称', + `major_id` bigint(20) DEFAULT NULL COMMENT '专业ID', + `major_name` varchar(100) DEFAULT NULL COMMENT '专业名称', + `college_id` bigint(20) DEFAULT NULL COMMENT '学院ID', + `college_name` varchar(100) DEFAULT NULL COMMENT '学院名称', + `leave_type_code` varchar(20) NOT NULL COMMENT '请假类型编码', + `leave_type_name` varchar(50) NOT NULL COMMENT '请假类型名称', + `start_time` datetime NOT NULL COMMENT '开始时间(年月日时分秒)', + `end_time` datetime NOT NULL COMMENT '结束时间(年月日时分秒)', + `leave_duration` decimal(5,2) NOT NULL COMMENT '请假时长(天)', + `is_leave_school` char(1) NOT NULL DEFAULT '0' COMMENT '是否离校:0-否,1-是', + `need_cancel` char(1) NOT NULL DEFAULT '1' COMMENT '是否需要销假:0-否,1-是', + `emergency_contact` varchar(50) DEFAULT NULL COMMENT '紧急联系人', + `emergency_phone` varchar(20) DEFAULT NULL COMMENT '紧急联系电话', + `leave_reason` text NOT NULL COMMENT '请假原因', + `leave_location` varchar(500) DEFAULT NULL COMMENT '请假时地理位置', + `attachment_oss_ids` text COMMENT '附件OSS文件ID(逗号分隔)', + `approval_status` char(100) NOT NULL DEFAULT '0' COMMENT '审批状态:"cancel", "已撤销" "draft", "草稿" "waiting", "待审核" "finish", "已完成" "invalid", "已作废" "back", "已退回" "termination", "已终止"', + `approval_opinion` varchar(500) DEFAULT NULL COMMENT '审批意见', + `approval_time` datetime DEFAULT NULL COMMENT '审批时间', + `approval_by` bigint(20) DEFAULT NULL COMMENT '审批人ID', + `approval_by_name` varchar(50) DEFAULT NULL COMMENT '审批人姓名', + `cancel_status` char(100) DEFAULT '0' COMMENT '销假状态:0-未销假,1-已销假,2-逾期未销假 3 - 无需销假 "cancel", "已撤销" "draft", "草稿" "waiting", "待审核" "finish", "已完成" "invalid", "已作废" "back", "已退回" "termination", "已终止"', + `cancel_time` datetime DEFAULT NULL COMMENT '销假时间', + `cancel_location` varchar(500) DEFAULT NULL COMMENT '销假地理位置', + `cancel_photo_oss_ids` text COMMENT '销假照片OSS文件ID(逗号分隔)', + `cancel_remark` varchar(500) DEFAULT NULL COMMENT '销假备注', + `leave_id` bigint(20) NOT NULL COMMENT '学生请假表id', + PRIMARY KEY (`id`) USING BTREE, + KEY `idx_tenant_id` (`tenant_id`) USING BTREE COMMENT '租户索引', + KEY `idx_student_id` (`student_id`) USING BTREE COMMENT '学生索引', + KEY `idx_student_no` (`student_no`) USING BTREE COMMENT '学号索引', + KEY `idx_class_id` (`class_id`) USING BTREE COMMENT '班级索引', + KEY `idx_college_id` (`college_id`) USING BTREE COMMENT '学院索引', + KEY `idx_leave_type_code` (`leave_type_code`) USING BTREE COMMENT '请假类型索引', + KEY `idx_start_time` (`start_time`) USING BTREE COMMENT '开始时间索引', + KEY `idx_end_time` (`end_time`) USING BTREE COMMENT '结束时间索引', + KEY `idx_approval_status` (`approval_status`) USING BTREE COMMENT '审批状态索引', + KEY `idx_cancel_status` (`cancel_status`) USING BTREE COMMENT '销假状态索引', + KEY `idx_create_time` (`create_time`) USING BTREE COMMENT '创建时间索引', + KEY `idx_is_leave_school` (`is_leave_school`) USING BTREE COMMENT '离校状态索引', + KEY `idx_need_cancel` (`need_cancel`) USING BTREE COMMENT '是否需要销假索引', + KEY `idx_student_time_range` (`student_id`,`start_time`,`end_time`), + KEY `idx_class_approval_status` (`class_id`,`approval_status`), + KEY `idx_college_leave_type` (`college_id`,`leave_type_code`), + KEY `idx_time_approval_status` (`start_time`,`end_time`,`approval_status`), + KEY `idx_need_cancel_status` (`need_cancel`,`cancel_status`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='学生销假表'; + +-- ---------------------------- +-- Table structure for xg_student_leave +-- ---------------------------- +DROP TABLE IF EXISTS `xg_student_leave`; +CREATE TABLE `xg_student_leave` ( + `id` bigint(20) NOT NULL COMMENT '主键ID(雪花ID)', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `student_id` bigint(20) NOT NULL COMMENT '学生ID', + `student_name` varchar(50) NOT NULL COMMENT '学生姓名', + `student_no` varchar(20) NOT NULL COMMENT '学号', + `class_id` bigint(20) DEFAULT NULL COMMENT '班级ID', + `class_name` varchar(100) DEFAULT NULL COMMENT '班级名称', + `major_id` bigint(20) DEFAULT NULL COMMENT '专业ID', + `major_name` varchar(100) DEFAULT NULL COMMENT '专业名称', + `college_id` bigint(20) DEFAULT NULL COMMENT '学院ID', + `college_name` varchar(100) DEFAULT NULL COMMENT '学院名称', + `leave_type_code` varchar(20) NOT NULL COMMENT '请假类型编码', + `leave_type_name` varchar(50) NOT NULL COMMENT '请假类型名称', + `start_time` datetime NOT NULL COMMENT '开始时间(年月日时分秒)', + `end_time` datetime NOT NULL COMMENT '结束时间(年月日时分秒)', + `leave_duration` decimal(5,2) NOT NULL COMMENT '请假时长(天)', + `is_leave_school` char(1) NOT NULL DEFAULT '0' COMMENT '是否离校:0-否,1-是', + `need_cancel` char(1) NOT NULL DEFAULT '1' COMMENT '是否需要销假:0-否,1-是', + `emergency_contact` varchar(50) DEFAULT NULL COMMENT '紧急联系人', + `emergency_phone` varchar(20) DEFAULT NULL COMMENT '紧急联系电话', + `leave_reason` text NOT NULL COMMENT '请假原因', + `leave_location` varchar(500) DEFAULT NULL COMMENT '请假时地理位置', + `attachment_oss_ids` text COMMENT '附件OSS文件ID(逗号分隔)', + `approval_status` char(100) NOT NULL DEFAULT '0' COMMENT '审批状态:"cancel", "已撤销" "draft", "草稿" "waiting", "待审核" "finish", "已完成" "invalid", "已作废" "back", "已退回" "termination", "已终止"', + `approval_opinion` varchar(500) DEFAULT NULL COMMENT '审批意见', + `approval_time` datetime DEFAULT NULL COMMENT '审批时间', + `approval_by` bigint(20) DEFAULT NULL COMMENT '审批人ID', + `approval_by_name` varchar(50) DEFAULT NULL COMMENT '审批人姓名', + `cancel_status` char(100) DEFAULT '0' COMMENT '销假状态:0-未销假,1-已销假,2-逾期未销假 3 - 无需销假 "cancel", "已撤销" "draft", "草稿" "waiting", "待审核" "finish", "已完成" "invalid", "已作废" "back", "已退回" "termination", "已终止"', + `cancel_time` datetime DEFAULT NULL COMMENT '销假时间', + `cancel_location` varchar(500) DEFAULT NULL COMMENT '销假地理位置', + `cancel_photo_oss_ids` text COMMENT '销假照片OSS文件ID(逗号分隔)', + `cancel_remark` varchar(500) DEFAULT NULL COMMENT '销假备注', + PRIMARY KEY (`id`) USING BTREE, + KEY `idx_tenant_id` (`tenant_id`) USING BTREE COMMENT '租户索引', + KEY `idx_student_id` (`student_id`) USING BTREE COMMENT '学生索引', + KEY `idx_student_no` (`student_no`) USING BTREE COMMENT '学号索引', + KEY `idx_class_id` (`class_id`) USING BTREE COMMENT '班级索引', + KEY `idx_college_id` (`college_id`) USING BTREE COMMENT '学院索引', + KEY `idx_leave_type_code` (`leave_type_code`) USING BTREE COMMENT '请假类型索引', + KEY `idx_start_time` (`start_time`) USING BTREE COMMENT '开始时间索引', + KEY `idx_end_time` (`end_time`) USING BTREE COMMENT '结束时间索引', + KEY `idx_approval_status` (`approval_status`) USING BTREE COMMENT '审批状态索引', + KEY `idx_cancel_status` (`cancel_status`) USING BTREE COMMENT '销假状态索引', + KEY `idx_create_time` (`create_time`) USING BTREE COMMENT '创建时间索引', + KEY `idx_is_leave_school` (`is_leave_school`) USING BTREE COMMENT '离校状态索引', + KEY `idx_need_cancel` (`need_cancel`) USING BTREE COMMENT '是否需要销假索引', + KEY `idx_student_time_range` (`student_id`,`start_time`,`end_time`), + KEY `idx_class_approval_status` (`class_id`,`approval_status`), + KEY `idx_college_leave_type` (`college_id`,`leave_type_code`), + KEY `idx_time_approval_status` (`start_time`,`end_time`,`approval_status`), + KEY `idx_need_cancel_status` (`need_cancel`,`cancel_status`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='学生请假表 - 记录学生的请假申请、审批和销假信息'; + +-- ---------------------------- +-- Table structure for xg_student_manager +-- ---------------------------- +DROP TABLE IF EXISTS `xg_student_manager`; +CREATE TABLE `xg_student_manager` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `manager_name` varchar(100) NOT NULL COMMENT '管理员姓名', + `manager_type` char(1) NOT NULL COMMENT '管理员类型(1 全校管理员 2 自定义管理员 3 班主任)', + `manager_level` int(11) DEFAULT '1' COMMENT '管理级别(1-3,1为最高)', + `user_id` bigint(20) DEFAULT NULL COMMENT '关联用户ID', + `phone` varchar(20) DEFAULT NULL COMMENT '联系电话', + `gender` char(1) DEFAULT '0' COMMENT '性别(0男 1女 2未知)', + `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)', + `deleted` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `tenant_id` bigint(20) DEFAULT '0' COMMENT '租户编号', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`), + KEY `idx_user_id` (`user_id`), + KEY `idx_manager_type` (`manager_type`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='学生管理员信息表'; + +-- ---------------------------- +-- Table structure for xg_student_manager_source +-- ---------------------------- +DROP TABLE IF EXISTS `xg_student_manager_source`; +CREATE TABLE `xg_student_manager_source` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `manager_id` bigint(20) NOT NULL COMMENT '管理员ID', + `permission_type` char(1) DEFAULT '1' COMMENT '权限类型(1查看 2编辑 3完全管理)', + `auth_type` char(1) NOT NULL COMMENT '授权类型(1全校级 2自定义 3班主任)', + `auth_source` bigint(20) DEFAULT NULL COMMENT '授权来源ID(对应班级id)', + `status` char(1) DEFAULT '0' COMMENT '状态(0有效 1已撤销)', + `deleted` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `tenant_id` bigint(20) DEFAULT '0' COMMENT '租户编号', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`), + KEY `idx_manager_id` (`manager_id`), + KEY `idx_auth_source` (`auth_source`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='学生管理员授权关系表'; + +-- ---------------------------- +-- Table structure for xg_student_msg +-- ---------------------------- +DROP TABLE IF EXISTS `xg_student_msg`; +CREATE TABLE `xg_student_msg` ( + `id` bigint(20) NOT NULL COMMENT '主键ID(雪花ID)', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `student_no` varchar(32) NOT NULL COMMENT '学号', + `id_card` varchar(18) DEFAULT NULL COMMENT '身份证号', + `name` varchar(50) NOT NULL COMMENT '姓名', + `name_english` varchar(100) DEFAULT NULL COMMENT '英文姓名', + `former_name` varchar(50) DEFAULT NULL COMMENT '曾用名', + `gender` char(1) NOT NULL DEFAULT '0' COMMENT '性别:0-男,1-女', + `birth_date` date DEFAULT NULL COMMENT '出生日期', + `nationality` varchar(20) DEFAULT NULL COMMENT '民族 ', + `native_place` varchar(20) DEFAULT NULL COMMENT '籍贯', + `political_status` varchar(20) DEFAULT NULL COMMENT '政治面貌', + `hukou_location` varchar(1000) DEFAULT NULL COMMENT '户籍所在地', + `home_address` varchar(1000) DEFAULT NULL COMMENT '家庭地址', + `current_address` varchar(1000) DEFAULT NULL COMMENT '现住址', + `postal_code` varchar(10) DEFAULT NULL COMMENT '邮政编码', + `photo_url` varchar(500) DEFAULT NULL COMMENT '照片URL', + `photo_path` varchar(500) DEFAULT NULL COMMENT '学生照片存储路径', + `phone` varchar(20) DEFAULT NULL COMMENT '手机号码', + `is_boarder` tinyint(1) DEFAULT '0' COMMENT '是否住校:0-否,1-是', + `education_level` varchar(20) DEFAULT NULL COMMENT '文化程度', + `household_register_type` varchar(20) DEFAULT NULL COMMENT '户口类型:农业、非农业', + `religion` varchar(200) DEFAULT NULL COMMENT '宗教信仰', + `source_region` varchar(100) DEFAULT NULL COMMENT '生源地区(省市县)', + `graduate_school` varchar(100) DEFAULT NULL COMMENT '毕业院校', + `email` varchar(100) DEFAULT NULL COMMENT '电子邮箱', + `qq` varchar(20) DEFAULT NULL COMMENT 'QQ号码', + `wechat` varchar(50) DEFAULT NULL COMMENT '微信号', + `marital_status` varchar(10) DEFAULT NULL COMMENT '婚姻状况:1 未婚、2 已婚、3 离异、4 丧偶 ', + `emergency_contact_name` varchar(50) DEFAULT NULL COMMENT '紧急联系人姓名', + `emergency_contact_phone` varchar(20) DEFAULT NULL COMMENT '紧急联系人电话', + `emergency_contact_relation` varchar(100) DEFAULT NULL COMMENT '紧急联系人关系', + `is_poor_student` tinyint(1) DEFAULT '0' COMMENT '是否贫困生:0-否,1-是', + `is_minority` tinyint(1) DEFAULT '0' COMMENT '是否少数民族:0-否,1-是', + `is_disabled` tinyint(1) DEFAULT '0' COMMENT '是否残疾:0-否,1-是', + `is_orphan` tinyint(1) DEFAULT '0' COMMENT '是否孤儿:0-否,1-是', + `is_left_behind_child` tinyint(1) DEFAULT '0' COMMENT '是否留守儿童:0-否,1-是', + `is_single_child` tinyint(1) DEFAULT '0' COMMENT '是否独生子女:0-否,1-是', + `is_low_income` tinyint(1) DEFAULT '0' COMMENT '是否低保:0-否,1-是', + `has_loan` tinyint(1) DEFAULT '0' COMMENT '是否有助学贷款:0-否,1-是', + `loan_amount` decimal(10,2) DEFAULT NULL COMMENT '助学贷款金额', + `specialties` text COMMENT '特长爱好', + `awards` text COMMENT '获奖情况', + `violations` text COMMENT '违纪记录', + `social_activities` text COMMENT '社会活动', + `father_name` varchar(50) DEFAULT NULL COMMENT '父亲姓名', + `father_phone` varchar(20) DEFAULT NULL COMMENT '父亲电话', + `father_work_unit` varchar(1000) DEFAULT NULL COMMENT '父亲工作单位', + `mother_name` varchar(50) DEFAULT NULL COMMENT '母亲姓名', + `mother_phone` varchar(20) DEFAULT NULL COMMENT '母亲电话', + `mother_work_unit` varchar(1000) DEFAULT NULL COMMENT '母亲工作单位', + `guardian_name` varchar(50) DEFAULT NULL COMMENT '监护人姓名', + `guardian_phone` varchar(20) DEFAULT NULL COMMENT '监护人电话', + `guardian_relation` varchar(20) DEFAULT NULL COMMENT '监护人关系', + `family_income` decimal(12,2) DEFAULT NULL COMMENT '家庭年收入', + `per_capita_income` decimal(12,2) DEFAULT NULL COMMENT '人均收入', + `income_source` varchar(100) DEFAULT NULL COMMENT '收入来源', + `family_economic_status` varchar(20) DEFAULT NULL COMMENT '家庭经济状况:富裕、一般、困难、特困', + `family_members` tinyint(2) DEFAULT NULL COMMENT '家庭成员数量', + `height` decimal(10,2) DEFAULT NULL COMMENT '身高(cm)', + `weight` decimal(10,2) DEFAULT NULL COMMENT '体重(kg)', + `blood_type` varchar(10) DEFAULT NULL COMMENT '血型', + `health_status` varchar(1000) DEFAULT NULL COMMENT '健康状况', + `special_condition` varchar(1000) DEFAULT NULL COMMENT '特殊体质或疾病', + `medical_history` varchar(1000) DEFAULT NULL COMMENT '病史', + `allergies` varchar(1000) DEFAULT NULL COMMENT '过敏史', + `disability_type` varchar(50) DEFAULT NULL COMMENT '残疾类型 1 - 视力残疾 2 - 听力残疾 3 - 智力残疾 9 - 其他残疾', + `disability_level` varchar(20) DEFAULT NULL COMMENT '残疾等级', + `admission_category` varchar(20) DEFAULT NULL COMMENT '录取类别:统招、自主招生、专项计划等', + `student_status` char(1) DEFAULT '1' COMMENT '学籍状态:1-在籍,2-休学,3-复学,4-退学,5-毕业 , 6- 不在籍', + `enrollment_year` int(4) DEFAULT NULL COMMENT '入学年份', + `enrollment_date` date DEFAULT NULL COMMENT '入学日期', + `bank_card_no` varchar(30) DEFAULT NULL COMMENT '银行卡号', + `bank_name` varchar(100) DEFAULT NULL COMMENT '开户银行', + `bank_branch` varchar(100) DEFAULT NULL COMMENT '开户支行', + `card_holder_name` varchar(50) DEFAULT NULL COMMENT '持卡人姓名', + `info_status` char(1) DEFAULT '1' COMMENT '信息状态:1-正常,2-待审核,3-审核中,4-已驳回,5-已锁定', + `data_source` varchar(20) DEFAULT 'manual' COMMENT '数据来源:manual-手工录入,import-批量导入,sync-系统同步', + `last_batch_id` bigint(20) DEFAULT NULL COMMENT '最后修改批次ID', + `last_audit_time` datetime DEFAULT NULL COMMENT '最后审核时间', + `is_complete` tinyint(1) DEFAULT '0' COMMENT '信息是否完整:0-不完整,1-完整', + `completion_rate` decimal(10,2) DEFAULT '0.00' COMMENT '完整度百分比', + `school_system` int(2) DEFAULT '4' COMMENT '学制(年)- 预留,数据从班级表关联', + `academic_level` varchar(20) DEFAULT NULL COMMENT '学历层次 - 预留,数据从班级表关联', + `training_type` varchar(20) DEFAULT NULL COMMENT '培养方式:全日制、在职、函授、夜大等 - 预留,数据从班级表关联', + `major_id` varchar(100) DEFAULT NULL COMMENT '专业id - 预留,数据从班级表关联', + `major_name` varchar(100) DEFAULT NULL COMMENT '专业名称 - 预留,数据从班级表关联', + `class_id` varchar(100) DEFAULT NULL COMMENT '班级id - 预留,数据从班级表关联', + `class_name` varchar(100) DEFAULT NULL COMMENT '班级名称 - 预留,数据从班级表关联', + `grade` varchar(10) DEFAULT NULL COMMENT '年级 - 预留,数据从班级表关联', + `college_id` varchar(100) DEFAULT NULL COMMENT '学院id - 预留,数据从班级表关联', + `college_name` varchar(100) DEFAULT NULL COMMENT '学院名称 - 预留,数据从班级表关联', + `counselor_id` bigint(20) DEFAULT NULL COMMENT '辅导员ID - 预留,数据从班级表关联', + `counselor_name` varchar(50) DEFAULT NULL COMMENT '辅导员姓名 - 预留,数据从班级表关联', + `class_teacher_id` bigint(20) DEFAULT NULL COMMENT '班主任ID - 预留,数据从班级表关联', + `class_teacher_name` varchar(50) DEFAULT NULL COMMENT '班主任姓名 - 预留,数据从班级表关联', + `dormitory_building` varchar(100) DEFAULT NULL COMMENT '宿舍楼栋 - 预留,数据从班级表关联 楼栋id', + `dormitory_room` varchar(100) DEFAULT NULL COMMENT '宿舍房间号 - 预留,数据从班级表关联 房间id', + `ext_field1` varchar(200) DEFAULT NULL COMMENT '扩展字段1 - 床位id', + `ext_field2` varchar(200) DEFAULT NULL COMMENT '扩展字段2', + `ext_field3` varchar(200) DEFAULT NULL COMMENT '扩展字段3', + `ext_field4` varchar(200) DEFAULT NULL COMMENT '扩展字段4', + `ext_field5` varchar(500) DEFAULT NULL COMMENT '扩展字段5', + `remark` varchar(500) DEFAULT NULL COMMENT '备注信息', + PRIMARY KEY (`id`) USING BTREE, + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_deleted` (`deleted`), + KEY `idx_name` (`name`), + KEY `idx_student_status` (`student_status`), + KEY `idx_info_status` (`info_status`), + KEY `idx_enrollment_year` (`enrollment_year`), + KEY `idx_last_batch_id` (`last_batch_id`), + KEY `idx_phone` (`phone`), + KEY `idx_create_time` (`create_time`), + KEY `idx_status_filter` (`tenant_id`,`student_status`,`info_status`,`deleted`), + KEY `uk_student_no_tenant` (`student_no`,`tenant_id`) USING BTREE, + KEY `uk_id_card_tenant` (`id_card`,`tenant_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='学生信息表'; + +-- ---------------------------- +-- Table structure for xg_student_msg20251112 +-- ---------------------------- +DROP TABLE IF EXISTS `xg_student_msg20251112`; +CREATE TABLE `xg_student_msg20251112` ( + `id` bigint(20) NOT NULL COMMENT '主键ID(雪花ID)', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `student_no` varchar(32) NOT NULL COMMENT '学号', + `id_card` varchar(18) DEFAULT NULL COMMENT '身份证号', + `name` varchar(50) NOT NULL COMMENT '姓名', + `name_english` varchar(100) DEFAULT NULL COMMENT '英文姓名', + `former_name` varchar(50) DEFAULT NULL COMMENT '曾用名', + `gender` char(1) NOT NULL COMMENT '性别:0-男,1-女', + `birth_date` date DEFAULT NULL COMMENT '出生日期', + `nationality` varchar(20) DEFAULT NULL COMMENT '民族 ', + `native_place` varchar(20) DEFAULT NULL COMMENT '籍贯', + `political_status` varchar(20) DEFAULT NULL COMMENT '政治面貌', + `hukou_location` varchar(1000) DEFAULT NULL COMMENT '户籍所在地', + `home_address` varchar(1000) DEFAULT NULL COMMENT '家庭地址', + `current_address` varchar(1000) DEFAULT NULL COMMENT '现住址', + `postal_code` varchar(10) DEFAULT NULL COMMENT '邮政编码', + `photo_url` varchar(500) DEFAULT NULL COMMENT '照片URL', + `photo_path` varchar(500) DEFAULT NULL COMMENT '学生照片存储路径', + `phone` varchar(20) DEFAULT NULL COMMENT '手机号码', + `is_boarder` tinyint(1) DEFAULT '0' COMMENT '是否住校:0-否,1-是', + `education_level` varchar(20) DEFAULT NULL COMMENT '文化程度', + `household_register_type` varchar(20) DEFAULT NULL COMMENT '户口类型:农业、非农业', + `religion` varchar(200) DEFAULT NULL COMMENT '宗教信仰', + `source_region` varchar(100) DEFAULT NULL COMMENT '生源地区(省市县)', + `graduate_school` varchar(100) DEFAULT NULL COMMENT '毕业院校', + `email` varchar(100) DEFAULT NULL COMMENT '电子邮箱', + `qq` varchar(20) DEFAULT NULL COMMENT 'QQ号码', + `wechat` varchar(50) DEFAULT NULL COMMENT '微信号', + `marital_status` varchar(10) DEFAULT NULL COMMENT '婚姻状况:1 未婚、2 已婚、3 离异、4 丧偶 ', + `emergency_contact_name` varchar(50) DEFAULT NULL COMMENT '紧急联系人姓名', + `emergency_contact_phone` varchar(20) DEFAULT NULL COMMENT '紧急联系人电话', + `emergency_contact_relation` varchar(100) DEFAULT NULL COMMENT '紧急联系人关系', + `is_poor_student` tinyint(1) DEFAULT '0' COMMENT '是否贫困生:0-否,1-是', + `is_minority` tinyint(1) DEFAULT '0' COMMENT '是否少数民族:0-否,1-是', + `is_disabled` tinyint(1) DEFAULT '0' COMMENT '是否残疾:0-否,1-是', + `is_orphan` tinyint(1) DEFAULT '0' COMMENT '是否孤儿:0-否,1-是', + `is_left_behind_child` tinyint(1) DEFAULT '0' COMMENT '是否留守儿童:0-否,1-是', + `is_single_child` tinyint(1) DEFAULT '0' COMMENT '是否独生子女:0-否,1-是', + `is_low_income` tinyint(1) DEFAULT '0' COMMENT '是否低保:0-否,1-是', + `has_loan` tinyint(1) DEFAULT '0' COMMENT '是否有助学贷款:0-否,1-是', + `loan_amount` decimal(10,2) DEFAULT NULL COMMENT '助学贷款金额', + `specialties` text COMMENT '特长爱好', + `awards` text COMMENT '获奖情况', + `violations` text COMMENT '违纪记录', + `social_activities` text COMMENT '社会活动', + `father_name` varchar(50) DEFAULT NULL COMMENT '父亲姓名', + `father_phone` varchar(20) DEFAULT NULL COMMENT '父亲电话', + `father_work_unit` varchar(1000) DEFAULT NULL COMMENT '父亲工作单位', + `mother_name` varchar(50) DEFAULT NULL COMMENT '母亲姓名', + `mother_phone` varchar(20) DEFAULT NULL COMMENT '母亲电话', + `mother_work_unit` varchar(1000) DEFAULT NULL COMMENT '母亲工作单位', + `guardian_name` varchar(50) DEFAULT NULL COMMENT '监护人姓名', + `guardian_phone` varchar(20) DEFAULT NULL COMMENT '监护人电话', + `guardian_relation` varchar(20) DEFAULT NULL COMMENT '监护人关系', + `family_income` decimal(12,2) DEFAULT NULL COMMENT '家庭年收入', + `per_capita_income` decimal(12,2) DEFAULT NULL COMMENT '人均收入', + `income_source` varchar(100) DEFAULT NULL COMMENT '收入来源', + `family_economic_status` varchar(20) DEFAULT NULL COMMENT '家庭经济状况:富裕、一般、困难、特困', + `family_members` tinyint(2) DEFAULT NULL COMMENT '家庭成员数量', + `height` decimal(10,2) DEFAULT NULL COMMENT '身高(cm)', + `weight` decimal(10,2) DEFAULT NULL COMMENT '体重(kg)', + `blood_type` varchar(10) DEFAULT NULL COMMENT '血型', + `health_status` varchar(1000) DEFAULT NULL COMMENT '健康状况', + `special_condition` varchar(1000) DEFAULT NULL COMMENT '特殊体质或疾病', + `medical_history` varchar(1000) DEFAULT NULL COMMENT '病史', + `allergies` varchar(1000) DEFAULT NULL COMMENT '过敏史', + `disability_type` varchar(50) DEFAULT NULL COMMENT '残疾类型 1 - 视力残疾 2 - 听力残疾 3 - 智力残疾 9 - 其他残疾', + `disability_level` varchar(20) DEFAULT NULL COMMENT '残疾等级', + `admission_category` varchar(20) DEFAULT NULL COMMENT '录取类别:统招、自主招生、专项计划等', + `student_status` char(1) DEFAULT '1' COMMENT '学籍状态:1-在籍,2-休学,3-复学,4-退学,5-毕业', + `enrollment_year` int(4) DEFAULT NULL COMMENT '入学年份', + `enrollment_date` date DEFAULT NULL COMMENT '入学日期', + `bank_card_no` varchar(30) DEFAULT NULL COMMENT '银行卡号', + `bank_name` varchar(100) DEFAULT NULL COMMENT '开户银行', + `bank_branch` varchar(100) DEFAULT NULL COMMENT '开户支行', + `card_holder_name` varchar(50) DEFAULT NULL COMMENT '持卡人姓名', + `info_status` char(1) DEFAULT '1' COMMENT '信息状态:1-正常,2-待审核,3-审核中,4-已驳回,5-已锁定', + `data_source` varchar(20) DEFAULT 'manual' COMMENT '数据来源:manual-手工录入,import-批量导入,sync-系统同步', + `last_batch_id` bigint(20) DEFAULT NULL COMMENT '最后修改批次ID', + `last_audit_time` datetime DEFAULT NULL COMMENT '最后审核时间', + `is_complete` tinyint(1) DEFAULT '0' COMMENT '信息是否完整:0-不完整,1-完整', + `completion_rate` decimal(10,2) DEFAULT '0.00' COMMENT '完整度百分比', + `school_system` int(2) DEFAULT '4' COMMENT '学制(年)- 预留,数据从班级表关联', + `academic_level` varchar(20) DEFAULT NULL COMMENT '学历层次 - 预留,数据从班级表关联', + `training_type` varchar(20) DEFAULT NULL COMMENT '培养方式:全日制、在职、函授、夜大等 - 预留,数据从班级表关联', + `major_id` varchar(100) DEFAULT NULL COMMENT '专业id - 预留,数据从班级表关联', + `major_name` varchar(100) DEFAULT NULL COMMENT '专业名称 - 预留,数据从班级表关联', + `class_id` varchar(100) DEFAULT NULL COMMENT '班级id - 预留,数据从班级表关联', + `class_name` varchar(100) DEFAULT NULL COMMENT '班级名称 - 预留,数据从班级表关联', + `grade` varchar(10) DEFAULT NULL COMMENT '年级 - 预留,数据从班级表关联', + `college_id` varchar(100) DEFAULT NULL COMMENT '学院id - 预留,数据从班级表关联', + `college_name` varchar(100) DEFAULT NULL COMMENT '学院名称 - 预留,数据从班级表关联', + `counselor_id` bigint(20) DEFAULT NULL COMMENT '辅导员ID - 预留,数据从班级表关联', + `counselor_name` varchar(50) DEFAULT NULL COMMENT '辅导员姓名 - 预留,数据从班级表关联', + `class_teacher_id` bigint(20) DEFAULT NULL COMMENT '班主任ID - 预留,数据从班级表关联', + `class_teacher_name` varchar(50) DEFAULT NULL COMMENT '班主任姓名 - 预留,数据从班级表关联', + `dormitory_building` varchar(100) DEFAULT NULL COMMENT '宿舍楼栋 - 预留,数据从班级表关联 楼栋id', + `dormitory_room` varchar(100) DEFAULT NULL COMMENT '宿舍房间号 - 预留,数据从班级表关联 房间id', + `ext_field1` varchar(200) DEFAULT NULL COMMENT '扩展字段1 - 床位id', + `ext_field2` varchar(200) DEFAULT NULL COMMENT '扩展字段2', + `ext_field3` varchar(200) DEFAULT NULL COMMENT '扩展字段3', + `ext_field4` varchar(200) DEFAULT NULL COMMENT '扩展字段4', + `ext_field5` varchar(500) DEFAULT NULL COMMENT '扩展字段5', + `remark` varchar(500) DEFAULT NULL COMMENT '备注信息', + PRIMARY KEY (`id`) USING BTREE, + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_deleted` (`deleted`), + KEY `idx_name` (`name`), + KEY `idx_student_status` (`student_status`), + KEY `idx_info_status` (`info_status`), + KEY `idx_enrollment_year` (`enrollment_year`), + KEY `idx_last_batch_id` (`last_batch_id`), + KEY `idx_phone` (`phone`), + KEY `idx_create_time` (`create_time`), + KEY `idx_status_filter` (`tenant_id`,`student_status`,`info_status`,`deleted`), + KEY `uk_student_no_tenant` (`student_no`,`tenant_id`) USING BTREE, + KEY `uk_id_card_tenant` (`id_card`,`tenant_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='学生信息表'; + +-- ---------------------------- +-- Table structure for xg_student_msg20251222 +-- ---------------------------- +DROP TABLE IF EXISTS `xg_student_msg20251222`; +CREATE TABLE `xg_student_msg20251222` ( + `id` bigint(20) NOT NULL COMMENT '主键ID(雪花ID)', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `student_no` varchar(32) NOT NULL COMMENT '学号', + `id_card` varchar(18) DEFAULT NULL COMMENT '身份证号', + `name` varchar(50) NOT NULL COMMENT '姓名', + `name_english` varchar(100) DEFAULT NULL COMMENT '英文姓名', + `former_name` varchar(50) DEFAULT NULL COMMENT '曾用名', + `gender` char(1) NOT NULL DEFAULT '0' COMMENT '性别:0-男,1-女', + `birth_date` date DEFAULT NULL COMMENT '出生日期', + `nationality` varchar(20) DEFAULT NULL COMMENT '民族 ', + `native_place` varchar(20) DEFAULT NULL COMMENT '籍贯', + `political_status` varchar(20) DEFAULT NULL COMMENT '政治面貌', + `hukou_location` varchar(1000) DEFAULT NULL COMMENT '户籍所在地', + `home_address` varchar(1000) DEFAULT NULL COMMENT '家庭地址', + `current_address` varchar(1000) DEFAULT NULL COMMENT '现住址', + `postal_code` varchar(10) DEFAULT NULL COMMENT '邮政编码', + `photo_url` varchar(500) DEFAULT NULL COMMENT '照片URL', + `photo_path` varchar(500) DEFAULT NULL COMMENT '学生照片存储路径', + `phone` varchar(20) DEFAULT NULL COMMENT '手机号码', + `is_boarder` tinyint(1) DEFAULT '0' COMMENT '是否住校:0-否,1-是', + `education_level` varchar(20) DEFAULT NULL COMMENT '文化程度', + `household_register_type` varchar(20) DEFAULT NULL COMMENT '户口类型:农业、非农业', + `religion` varchar(200) DEFAULT NULL COMMENT '宗教信仰', + `source_region` varchar(100) DEFAULT NULL COMMENT '生源地区(省市县)', + `graduate_school` varchar(100) DEFAULT NULL COMMENT '毕业院校', + `email` varchar(100) DEFAULT NULL COMMENT '电子邮箱', + `qq` varchar(20) DEFAULT NULL COMMENT 'QQ号码', + `wechat` varchar(50) DEFAULT NULL COMMENT '微信号', + `marital_status` varchar(10) DEFAULT NULL COMMENT '婚姻状况:1 未婚、2 已婚、3 离异、4 丧偶 ', + `emergency_contact_name` varchar(50) DEFAULT NULL COMMENT '紧急联系人姓名', + `emergency_contact_phone` varchar(20) DEFAULT NULL COMMENT '紧急联系人电话', + `emergency_contact_relation` varchar(100) DEFAULT NULL COMMENT '紧急联系人关系', + `is_poor_student` tinyint(1) DEFAULT '0' COMMENT '是否贫困生:0-否,1-是', + `is_minority` tinyint(1) DEFAULT '0' COMMENT '是否少数民族:0-否,1-是', + `is_disabled` tinyint(1) DEFAULT '0' COMMENT '是否残疾:0-否,1-是', + `is_orphan` tinyint(1) DEFAULT '0' COMMENT '是否孤儿:0-否,1-是', + `is_left_behind_child` tinyint(1) DEFAULT '0' COMMENT '是否留守儿童:0-否,1-是', + `is_single_child` tinyint(1) DEFAULT '0' COMMENT '是否独生子女:0-否,1-是', + `is_low_income` tinyint(1) DEFAULT '0' COMMENT '是否低保:0-否,1-是', + `has_loan` tinyint(1) DEFAULT '0' COMMENT '是否有助学贷款:0-否,1-是', + `loan_amount` decimal(10,2) DEFAULT NULL COMMENT '助学贷款金额', + `specialties` text COMMENT '特长爱好', + `awards` text COMMENT '获奖情况', + `violations` text COMMENT '违纪记录', + `social_activities` text COMMENT '社会活动', + `father_name` varchar(50) DEFAULT NULL COMMENT '父亲姓名', + `father_phone` varchar(20) DEFAULT NULL COMMENT '父亲电话', + `father_work_unit` varchar(1000) DEFAULT NULL COMMENT '父亲工作单位', + `mother_name` varchar(50) DEFAULT NULL COMMENT '母亲姓名', + `mother_phone` varchar(20) DEFAULT NULL COMMENT '母亲电话', + `mother_work_unit` varchar(1000) DEFAULT NULL COMMENT '母亲工作单位', + `guardian_name` varchar(50) DEFAULT NULL COMMENT '监护人姓名', + `guardian_phone` varchar(20) DEFAULT NULL COMMENT '监护人电话', + `guardian_relation` varchar(20) DEFAULT NULL COMMENT '监护人关系', + `family_income` decimal(12,2) DEFAULT NULL COMMENT '家庭年收入', + `per_capita_income` decimal(12,2) DEFAULT NULL COMMENT '人均收入', + `income_source` varchar(100) DEFAULT NULL COMMENT '收入来源', + `family_economic_status` varchar(20) DEFAULT NULL COMMENT '家庭经济状况:富裕、一般、困难、特困', + `family_members` tinyint(2) DEFAULT NULL COMMENT '家庭成员数量', + `height` decimal(10,2) DEFAULT NULL COMMENT '身高(cm)', + `weight` decimal(10,2) DEFAULT NULL COMMENT '体重(kg)', + `blood_type` varchar(10) DEFAULT NULL COMMENT '血型', + `health_status` varchar(1000) DEFAULT NULL COMMENT '健康状况', + `special_condition` varchar(1000) DEFAULT NULL COMMENT '特殊体质或疾病', + `medical_history` varchar(1000) DEFAULT NULL COMMENT '病史', + `allergies` varchar(1000) DEFAULT NULL COMMENT '过敏史', + `disability_type` varchar(50) DEFAULT NULL COMMENT '残疾类型 1 - 视力残疾 2 - 听力残疾 3 - 智力残疾 9 - 其他残疾', + `disability_level` varchar(20) DEFAULT NULL COMMENT '残疾等级', + `admission_category` varchar(20) DEFAULT NULL COMMENT '录取类别:统招、自主招生、专项计划等', + `student_status` char(1) DEFAULT '1' COMMENT '学籍状态:1-在籍,2-休学,3-复学,4-退学,5-毕业 , 6- 不在籍', + `enrollment_year` int(4) DEFAULT NULL COMMENT '入学年份', + `enrollment_date` date DEFAULT NULL COMMENT '入学日期', + `bank_card_no` varchar(30) DEFAULT NULL COMMENT '银行卡号', + `bank_name` varchar(100) DEFAULT NULL COMMENT '开户银行', + `bank_branch` varchar(100) DEFAULT NULL COMMENT '开户支行', + `card_holder_name` varchar(50) DEFAULT NULL COMMENT '持卡人姓名', + `info_status` char(1) DEFAULT '1' COMMENT '信息状态:1-正常,2-待审核,3-审核中,4-已驳回,5-已锁定', + `data_source` varchar(20) DEFAULT 'manual' COMMENT '数据来源:manual-手工录入,import-批量导入,sync-系统同步', + `last_batch_id` bigint(20) DEFAULT NULL COMMENT '最后修改批次ID', + `last_audit_time` datetime DEFAULT NULL COMMENT '最后审核时间', + `is_complete` tinyint(1) DEFAULT '0' COMMENT '信息是否完整:0-不完整,1-完整', + `completion_rate` decimal(10,2) DEFAULT '0.00' COMMENT '完整度百分比', + `school_system` int(2) DEFAULT '4' COMMENT '学制(年)- 预留,数据从班级表关联', + `academic_level` varchar(20) DEFAULT NULL COMMENT '学历层次 - 预留,数据从班级表关联', + `training_type` varchar(20) DEFAULT NULL COMMENT '培养方式:全日制、在职、函授、夜大等 - 预留,数据从班级表关联', + `major_id` varchar(100) DEFAULT NULL COMMENT '专业id - 预留,数据从班级表关联', + `major_name` varchar(100) DEFAULT NULL COMMENT '专业名称 - 预留,数据从班级表关联', + `class_id` varchar(100) DEFAULT NULL COMMENT '班级id - 预留,数据从班级表关联', + `class_name` varchar(100) DEFAULT NULL COMMENT '班级名称 - 预留,数据从班级表关联', + `grade` varchar(10) DEFAULT NULL COMMENT '年级 - 预留,数据从班级表关联', + `college_id` varchar(100) DEFAULT NULL COMMENT '学院id - 预留,数据从班级表关联', + `college_name` varchar(100) DEFAULT NULL COMMENT '学院名称 - 预留,数据从班级表关联', + `counselor_id` bigint(20) DEFAULT NULL COMMENT '辅导员ID - 预留,数据从班级表关联', + `counselor_name` varchar(50) DEFAULT NULL COMMENT '辅导员姓名 - 预留,数据从班级表关联', + `class_teacher_id` bigint(20) DEFAULT NULL COMMENT '班主任ID - 预留,数据从班级表关联', + `class_teacher_name` varchar(50) DEFAULT NULL COMMENT '班主任姓名 - 预留,数据从班级表关联', + `dormitory_building` varchar(100) DEFAULT NULL COMMENT '宿舍楼栋 - 预留,数据从班级表关联 楼栋id', + `dormitory_room` varchar(100) DEFAULT NULL COMMENT '宿舍房间号 - 预留,数据从班级表关联 房间id', + `ext_field1` varchar(200) DEFAULT NULL COMMENT '扩展字段1 - 床位id', + `ext_field2` varchar(200) DEFAULT NULL COMMENT '扩展字段2', + `ext_field3` varchar(200) DEFAULT NULL COMMENT '扩展字段3', + `ext_field4` varchar(200) DEFAULT NULL COMMENT '扩展字段4', + `ext_field5` varchar(500) DEFAULT NULL COMMENT '扩展字段5', + `remark` varchar(500) DEFAULT NULL COMMENT '备注信息', + PRIMARY KEY (`id`) USING BTREE, + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_deleted` (`deleted`), + KEY `idx_name` (`name`), + KEY `idx_student_status` (`student_status`), + KEY `idx_info_status` (`info_status`), + KEY `idx_enrollment_year` (`enrollment_year`), + KEY `idx_last_batch_id` (`last_batch_id`), + KEY `idx_phone` (`phone`), + KEY `idx_create_time` (`create_time`), + KEY `idx_status_filter` (`tenant_id`,`student_status`,`info_status`,`deleted`), + KEY `uk_student_no_tenant` (`student_no`,`tenant_id`) USING BTREE, + KEY `uk_id_card_tenant` (`id_card`,`tenant_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='学生信息表'; + +-- ---------------------------- +-- Table structure for xg_student_msg_batch +-- ---------------------------- +DROP TABLE IF EXISTS `xg_student_msg_batch`; +CREATE TABLE `xg_student_msg_batch` ( + `id` bigint(20) NOT NULL COMMENT '主键ID(雪花ID)', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `student_no` varchar(32) NOT NULL COMMENT '学号', + `id_card` varchar(18) DEFAULT NULL COMMENT '身份证号', + `name` varchar(50) NOT NULL COMMENT '姓名', + `name_english` varchar(100) DEFAULT NULL COMMENT '英文姓名', + `former_name` varchar(50) DEFAULT NULL COMMENT '曾用名', + `gender` char(1) NOT NULL COMMENT '性别:0-男,1-女', + `birth_date` date DEFAULT NULL COMMENT '出生日期', + `nationality` varchar(20) DEFAULT NULL COMMENT '民族 ', + `native_place` varchar(20) DEFAULT NULL COMMENT '籍贯', + `political_status` varchar(20) DEFAULT NULL COMMENT '政治面貌', + `hukou_location` varchar(1000) DEFAULT NULL COMMENT '户籍所在地', + `home_address` varchar(1000) DEFAULT NULL COMMENT '家庭地址', + `current_address` varchar(1000) DEFAULT NULL COMMENT '现住址', + `postal_code` varchar(10) DEFAULT NULL COMMENT '邮政编码', + `photo_url` varchar(500) DEFAULT NULL COMMENT '照片URL', + `photo_path` varchar(500) DEFAULT NULL COMMENT '学生照片存储路径', + `phone` varchar(20) DEFAULT NULL COMMENT '手机号码', + `is_boarder` tinyint(1) DEFAULT '0' COMMENT '是否住校:0-否,1-是', + `education_level` varchar(20) DEFAULT NULL COMMENT '文化程度', + `household_register_type` varchar(20) DEFAULT NULL COMMENT '户口类型:农业、非农业', + `religion` varchar(200) DEFAULT NULL COMMENT '宗教信仰', + `source_region` varchar(100) DEFAULT NULL COMMENT '生源地区(省市县)', + `graduate_school` varchar(100) DEFAULT NULL COMMENT '毕业院校', + `email` varchar(100) DEFAULT NULL COMMENT '电子邮箱', + `qq` varchar(20) DEFAULT NULL COMMENT 'QQ号码', + `wechat` varchar(50) DEFAULT NULL COMMENT '微信号', + `marital_status` varchar(10) DEFAULT NULL COMMENT '婚姻状况:1 未婚、2 已婚、3 离异、4 丧偶 ', + `emergency_contact_name` varchar(50) DEFAULT NULL COMMENT '紧急联系人姓名', + `emergency_contact_phone` varchar(20) DEFAULT NULL COMMENT '紧急联系人电话', + `emergency_contact_relation` varchar(100) DEFAULT NULL COMMENT '紧急联系人关系', + `is_poor_student` tinyint(1) DEFAULT '0' COMMENT '是否贫困生:0-否,1-是', + `is_minority` tinyint(1) DEFAULT '0' COMMENT '是否少数民族:0-否,1-是', + `is_disabled` tinyint(1) DEFAULT '0' COMMENT '是否残疾:0-否,1-是', + `is_orphan` tinyint(1) DEFAULT '0' COMMENT '是否孤儿:0-否,1-是', + `is_left_behind_child` tinyint(1) DEFAULT '0' COMMENT '是否留守儿童:0-否,1-是', + `is_single_child` tinyint(1) DEFAULT '0' COMMENT '是否独生子女:0-否,1-是', + `is_low_income` tinyint(1) DEFAULT '0' COMMENT '是否低保:0-否,1-是', + `has_loan` tinyint(1) DEFAULT '0' COMMENT '是否有助学贷款:0-否,1-是', + `loan_amount` decimal(10,2) DEFAULT NULL COMMENT '助学贷款金额', + `specialties` text COMMENT '特长爱好', + `awards` text COMMENT '获奖情况', + `violations` text COMMENT '违纪记录', + `social_activities` text COMMENT '社会活动', + `father_name` varchar(50) DEFAULT NULL COMMENT '父亲姓名', + `father_phone` varchar(20) DEFAULT NULL COMMENT '父亲电话', + `father_work_unit` varchar(1000) DEFAULT NULL COMMENT '父亲工作单位', + `mother_name` varchar(50) DEFAULT NULL COMMENT '母亲姓名', + `mother_phone` varchar(20) DEFAULT NULL COMMENT '母亲电话', + `mother_work_unit` varchar(1000) DEFAULT NULL COMMENT '母亲工作单位', + `guardian_name` varchar(50) DEFAULT NULL COMMENT '监护人姓名', + `guardian_phone` varchar(20) DEFAULT NULL COMMENT '监护人电话', + `guardian_relation` varchar(20) DEFAULT NULL COMMENT '监护人关系', + `family_income` decimal(12,2) DEFAULT NULL COMMENT '家庭年收入', + `per_capita_income` decimal(12,2) DEFAULT NULL COMMENT '人均收入', + `income_source` varchar(100) DEFAULT NULL COMMENT '收入来源', + `family_economic_status` varchar(20) DEFAULT NULL COMMENT '家庭经济状况:富裕、一般、困难、特困', + `family_members` tinyint(2) DEFAULT NULL COMMENT '家庭成员数量', + `height` decimal(10,2) DEFAULT NULL COMMENT '身高(cm)', + `weight` decimal(10,2) DEFAULT NULL COMMENT '体重(kg)', + `blood_type` varchar(10) DEFAULT NULL COMMENT '血型', + `health_status` varchar(1000) DEFAULT NULL COMMENT '健康状况', + `special_condition` varchar(1000) DEFAULT NULL COMMENT '特殊体质或疾病', + `medical_history` varchar(1000) DEFAULT NULL COMMENT '病史', + `allergies` varchar(1000) DEFAULT NULL COMMENT '过敏史', + `disability_type` varchar(50) DEFAULT NULL COMMENT '残疾类型 1 - 视力残疾 2 - 听力残疾 3 - 智力残疾 9 - 其他残疾', + `disability_level` varchar(20) DEFAULT NULL COMMENT '残疾等级', + `admission_category` varchar(20) DEFAULT NULL COMMENT '录取类别:统招、自主招生、专项计划等', + `student_status` char(1) DEFAULT '1' COMMENT '学籍状态:1-在籍,2-休学,3-复学,4-退学,5-毕业', + `enrollment_year` int(4) DEFAULT NULL COMMENT '入学年份', + `enrollment_date` date DEFAULT NULL COMMENT '入学日期', + `bank_card_no` varchar(30) DEFAULT NULL COMMENT '银行卡号', + `bank_name` varchar(100) DEFAULT NULL COMMENT '开户银行', + `bank_branch` varchar(100) DEFAULT NULL COMMENT '开户支行', + `card_holder_name` varchar(50) DEFAULT NULL COMMENT '持卡人姓名', + `info_status` char(1) DEFAULT '1' COMMENT '信息状态:1-正常,2-待审核,3-审核中,4-已驳回,5-已锁定', + `data_source` varchar(20) DEFAULT 'manual' COMMENT '数据来源:manual-手工录入,import-批量导入,sync-系统同步', + `last_batch_id` bigint(20) DEFAULT NULL COMMENT '最后修改批次ID', + `last_audit_time` datetime DEFAULT NULL COMMENT '最后审核时间', + `is_complete` tinyint(1) DEFAULT '0' COMMENT '信息是否完整:0-不完整,1-完整', + `completion_rate` decimal(10,2) DEFAULT '0.00' COMMENT '完整度百分比', + `school_system` int(2) DEFAULT '4' COMMENT '学制(年)- 预留,数据从班级表关联', + `academic_level` varchar(20) DEFAULT NULL COMMENT '学历层次 - 预留,数据从班级表关联', + `training_type` varchar(20) DEFAULT NULL COMMENT '培养方式:全日制、在职、函授、夜大等 - 预留,数据从班级表关联', + `major_id` varchar(100) DEFAULT NULL COMMENT '专业id - 预留,数据从班级表关联', + `major_name` varchar(100) DEFAULT NULL COMMENT '专业名称 - 预留,数据从班级表关联', + `class_id` varchar(100) DEFAULT NULL COMMENT '班级id - 预留,数据从班级表关联', + `class_name` varchar(100) DEFAULT NULL COMMENT '班级名称 - 预留,数据从班级表关联', + `grade` varchar(10) DEFAULT NULL COMMENT '年级 - 预留,数据从班级表关联', + `college_id` varchar(100) DEFAULT NULL COMMENT '学院id - 预留,数据从班级表关联', + `college_name` varchar(100) DEFAULT NULL COMMENT '学院名称 - 预留,数据从班级表关联', + `counselor_id` bigint(20) DEFAULT NULL COMMENT '辅导员ID - 预留,数据从班级表关联', + `counselor_name` varchar(50) DEFAULT NULL COMMENT '辅导员姓名 - 预留,数据从班级表关联', + `class_teacher_id` bigint(20) DEFAULT NULL COMMENT '班主任ID - 预留,数据从班级表关联', + `class_teacher_name` varchar(50) DEFAULT NULL COMMENT '班主任姓名 - 预留,数据从班级表关联', + `dormitory_building` varchar(100) DEFAULT NULL COMMENT '宿舍楼栋 - 预留,数据从班级表关联 楼栋id', + `dormitory_room` varchar(100) DEFAULT NULL COMMENT '宿舍房间号 - 预留,数据从班级表关联 房间id', + `ext_field1` varchar(200) DEFAULT NULL COMMENT '扩展字段1 - 床位id', + `ext_field2` varchar(200) DEFAULT NULL COMMENT '扩展字段2', + `ext_field3` varchar(200) DEFAULT NULL COMMENT '扩展字段3', + `ext_field4` varchar(200) DEFAULT NULL COMMENT '扩展字段4', + `ext_field5` varchar(500) DEFAULT NULL COMMENT '扩展字段5', + `remark` varchar(500) DEFAULT NULL COMMENT '备注信息', + `batch_id` bigint(20) NOT NULL COMMENT '正在进行中的批次id', + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_deleted` (`deleted`), + KEY `idx_name` (`name`), + KEY `idx_student_status` (`student_status`), + KEY `idx_info_status` (`info_status`), + KEY `idx_enrollment_year` (`enrollment_year`), + KEY `idx_last_batch_id` (`last_batch_id`), + KEY `idx_phone` (`phone`), + KEY `idx_create_time` (`create_time`), + KEY `idx_status_filter` (`tenant_id`,`student_status`,`info_status`,`deleted`), + KEY `uk_student_no_tenant` (`student_no`,`tenant_id`) USING BTREE, + KEY `uk_id_card_tenant` (`id_card`,`tenant_id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='学生信息批次收集表'; + +-- ---------------------------- +-- Table structure for xljk_consultation_appointment +-- ---------------------------- +DROP TABLE IF EXISTS `xljk_consultation_appointment`; +CREATE TABLE `xljk_consultation_appointment` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `student_id` bigint(20) NOT NULL COMMENT '学生ID', + `student_name` varchar(100) DEFAULT NULL COMMENT '学生姓名', + `counselor_id` bigint(20) NOT NULL COMMENT '咨询师ID', + `schedule_id` bigint(20) NOT NULL COMMENT '预约时段ID', + `appointment_date` date NOT NULL COMMENT '预约日期', + `status` char(1) NOT NULL DEFAULT '0' COMMENT '状态(0待咨询 1已完成 2已取消 3未到访)', + `appointment_time` varchar(20) NOT NULL COMMENT '预约时间段', + `reason` varchar(500) DEFAULT NULL COMMENT '咨询原因', + `consult_theme` varchar(50) DEFAULT NULL COMMENT '咨询主题(字典:xljk_consult_theme)', + `communication_duration` int(11) DEFAULT NULL COMMENT '沟通时长(分钟)', + `consultation_content` text COMMENT '咨询内容', + `counselor_suggestion` text COMMENT '咨询师建议', + `psychological_history` char(1) DEFAULT '1' COMMENT '心理病史(1-否,2-是)', + `psychological_history_detail` text COMMENT '心理病史详情', + `basic_situation` text COMMENT '基本情况', + `major_life_events` text COMMENT '重大生活事件', + `need_referral` char(1) DEFAULT '1' COMMENT '是否需要转介(1-不需要,2-需要)', + `appointment_detail_time` varchar(20) DEFAULT NULL COMMENT '具体预约时间段,如"08:30-09:00"', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='心理咨询预约-预约记录表'; + +-- ---------------------------- +-- Table structure for xljk_consultation_no_show +-- ---------------------------- +DROP TABLE IF EXISTS `xljk_consultation_no_show`; +CREATE TABLE `xljk_consultation_no_show` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `student_id` bigint(20) NOT NULL COMMENT '学生ID', + `appointment_id` bigint(20) NOT NULL COMMENT '预约记录ID', + `no_show_date` date NOT NULL COMMENT '未到访日期', + `expire_date` date DEFAULT NULL COMMENT '限制到期日(仅当触发30天内3次未到访规则时设置为no_show_date+7天)', + `status` char(1) DEFAULT NULL COMMENT '状态(0生效中 1已过期 2已解除,未触发限制时为空)', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='心理咨询预约-未到访记录表(30天内3次未到访限制7天预约)'; + +-- ---------------------------- +-- Table structure for xljk_consultation_record +-- ---------------------------- +DROP TABLE IF EXISTS `xljk_consultation_record`; +CREATE TABLE `xljk_consultation_record` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `appointment_id` bigint(20) NOT NULL COMMENT '预约记录ID', + `visit_status` char(1) NOT NULL DEFAULT '0' COMMENT '到访情况(0正常到访 1未到访)', + `duration` int(11) DEFAULT '0' COMMENT '沟通时长(分钟)', + `content` text COMMENT '咨询内容', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='心理咨询预约-咨询记录表'; + +-- ---------------------------- +-- Table structure for xljk_consultation_schedule +-- ---------------------------- +DROP TABLE IF EXISTS `xljk_consultation_schedule`; +CREATE TABLE `xljk_consultation_schedule` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `counselor_id` bigint(20) NOT NULL COMMENT '咨询师ID', + `office` varchar(100) NOT NULL COMMENT '办公室', + `schedule_date` date NOT NULL COMMENT '日期', + `time_slot` char(1) NOT NULL COMMENT '时段类型(0上午 1下午)', + `start_time` varchar(5) NOT NULL COMMENT '开始时间(HH:mm)', + `end_time` varchar(5) NOT NULL COMMENT '结束时间(HH:mm)', + `status` char(1) NOT NULL DEFAULT '0' COMMENT '状态(0正常 1停用)', + `batch_id` varchar(50) DEFAULT NULL COMMENT '批次ID,用于标识同一批次创建的预约时段', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='心理咨询预约-预约时段表'; + +-- ---------------------------- +-- Table structure for xljk_consulter +-- ---------------------------- +DROP TABLE IF EXISTS `xljk_consulter`; +CREATE TABLE `xljk_consulter` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '逻辑删除', + `user_id` bigint(20) NOT NULL COMMENT '用户ID', + `user_name` varchar(30) NOT NULL COMMENT '用户账号', + `nick_name` varchar(30) NOT NULL COMMENT '用户昵称', + `dept_id` bigint(20) NOT NULL COMMENT '部门ID', + `dept_name` varchar(50) NOT NULL COMMENT '部门名称', + `phone_number` varchar(11) DEFAULT NULL COMMENT '联系电话', + `office` varchar(100) DEFAULT NULL COMMENT '办公室', + `email` varchar(50) DEFAULT NULL COMMENT '邮箱地址', + `status` char(1) NOT NULL DEFAULT '1' COMMENT '状态(1正常 0停用)', + `remark` varchar(500) DEFAULT NULL COMMENT '备注说明', + `config_by` bigint(20) DEFAULT NULL COMMENT '配置人ID', + `config_by_name` varchar(30) DEFAULT NULL COMMENT '配置人姓名', + PRIMARY KEY (`id`) USING BTREE, + KEY `idx_tenant_id` (`tenant_id`) USING BTREE, + KEY `idx_user_id` (`user_id`) USING BTREE, + KEY `idx_dept_id` (`dept_id`) USING BTREE, + KEY `idx_status` (`status`) USING BTREE, + KEY `idx_create_time` (`create_time`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='心理咨询师配置表'; + +-- ---------------------------- +-- Table structure for xljk_evaluation +-- ---------------------------- +DROP TABLE IF EXISTS `xljk_evaluation`; +CREATE TABLE `xljk_evaluation` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `department_id` bigint(20) NOT NULL COMMENT '院系ID', + `department_name` varchar(100) NOT NULL COMMENT '院系名称', + `evaluation_name` varchar(100) NOT NULL COMMENT '测评名称', + `major_id` bigint(20) NOT NULL COMMENT '专业ID', + `major_name` varchar(100) NOT NULL COMMENT '专业名称', + `class_id` bigint(20) NOT NULL COMMENT '班级ID', + `class_name` varchar(100) NOT NULL COMMENT '班级名称', + `semester` varchar(50) NOT NULL COMMENT '学期(如2024上学期)', + `status` char(1) NOT NULL DEFAULT '0' COMMENT '状态(0-草稿,1-已发布,2-已完成)', + `create_by` bigint(20) NOT NULL COMMENT '创建者ID(班主任ID)', + `create_name` varchar(50) NOT NULL COMMENT '创建者姓名', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `tenant_id` varchar(20) DEFAULT NULL COMMENT '租户ID', + `create_dept` bigint(20) NOT NULL COMMENT '创建部门', + `deleted` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志(0-存在,1-删除)', + `student_count` int(11) DEFAULT '0' COMMENT '学生总人数', + `focus_count` int(11) DEFAULT '0' COMMENT '重点关注人数', + PRIMARY KEY (`id`), + KEY `idx_class_id` (`class_id`), + KEY `idx_semester` (`semester`), + KEY `idx_status` (`status`), + KEY `idx_department_id` (`department_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='心理健康测评表'; + +-- ---------------------------- +-- Table structure for xljk_evaluation_detail +-- ---------------------------- +DROP TABLE IF EXISTS `xljk_evaluation_detail`; +CREATE TABLE `xljk_evaluation_detail` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `evaluation_id` bigint(20) NOT NULL COMMENT '测评表ID', + `student_id` bigint(20) NOT NULL COMMENT '学生ID', + `student_no` varchar(50) NOT NULL COMMENT '学号', + `student_name` varchar(50) NOT NULL COMMENT '学生姓名', + `gender` char(1) DEFAULT NULL COMMENT '性别(0-男,1-女,2-未知)', + `birth_date` date DEFAULT NULL COMMENT '出生日期', + `phone` varchar(20) DEFAULT NULL COMMENT '联系电话', + `mental_status` char(1) NOT NULL COMMENT '心理状态(1-健康,2-良好,3-重点关注)', + `score` int(11) DEFAULT NULL COMMENT '分数(仅重点关注时填写)', + `create_by` bigint(20) NOT NULL COMMENT '创建者', + `create_time` datetime NOT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `tenant_id` varchar(20) DEFAULT NULL COMMENT '租户ID', + `create_dept` bigint(20) NOT NULL COMMENT '创建部门', + `deleted` char(1) NOT NULL DEFAULT '0' COMMENT '删除标志(0-存在,1-删除)', + PRIMARY KEY (`id`), + KEY `idx_evaluation_id` (`evaluation_id`), + KEY `idx_student_id` (`student_id`), + KEY `idx_mental_status` (`mental_status`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='心理健康测评明细表'; + +-- ---------------------------- +-- Table structure for xskh_assessment_application +-- ---------------------------- +DROP TABLE IF EXISTS `xskh_assessment_application`; +CREATE TABLE `xskh_assessment_application` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `schedule_id` bigint(20) NOT NULL COMMENT '考核计划ID', + `student_id` bigint(20) NOT NULL COMMENT '学生ID', + `student_no` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '学号', + `student_name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '学生姓名', + `college_id` bigint(20) NOT NULL COMMENT '学院ID', + `college_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '学院名称', + `major_id` bigint(20) NOT NULL COMMENT '专业ID', + `major_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '专业名称', + `class_id` bigint(20) NOT NULL COMMENT '班级ID', + `class_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '班级名称', + `total_score` decimal(5,2) DEFAULT '0.00' COMMENT '总得分', + `self_score` decimal(5,2) DEFAULT '0.00' COMMENT '自评得分', + `teacher_score` decimal(5,2) DEFAULT '0.00' COMMENT '班主任评分', + `status` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '1' COMMENT '状态(1-草稿 2-已提交 3-班主任审核 6-已完成)', + `submit_time` datetime DEFAULT NULL COMMENT '提交时间', + `teacher_approval_by` bigint(20) DEFAULT NULL COMMENT '班主任审核人ID', + `teacher_approval_time` datetime DEFAULT NULL COMMENT '班主任审核时间', + `teacher_approval_remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '班主任审核备注', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0-未删除 1-已删除)', + `tenant_id` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT '000000' COMMENT '租户ID', + PRIMARY KEY (`id`), + KEY `uk_schedule_student` (`schedule_id`,`student_id`), + KEY `idx_schedule_id` (`schedule_id`), + KEY `idx_student_id` (`student_id`), + KEY `idx_status` (`status`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='学生考核申请表'; + +-- ---------------------------- +-- Table structure for xskh_assessment_application_approval +-- ---------------------------- +DROP TABLE IF EXISTS `xskh_assessment_application_approval`; +CREATE TABLE `xskh_assessment_application_approval` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `schedule_id` bigint(20) NOT NULL COMMENT '考核计划ID', + `student_id` bigint(20) NOT NULL COMMENT '学生ID', + `student_no` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '学号', + `student_name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '学生姓名', + `college_id` bigint(20) NOT NULL COMMENT '学院ID', + `college_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '学院名称', + `major_id` bigint(20) NOT NULL COMMENT '专业ID', + `major_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '专业名称', + `class_id` bigint(20) NOT NULL COMMENT '班级ID', + `class_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '班级名称', + `total_score` decimal(5,2) DEFAULT '0.00' COMMENT '总得分', + `self_score` decimal(5,2) DEFAULT '0.00' COMMENT '自评得分', + `self_remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '自评备注', + `teacher_score` decimal(5,2) DEFAULT '0.00' COMMENT '班主任评分', + `status` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '1' COMMENT '状态(1-草稿 2-已提交 3-班主任审核 6-已完成)', + `submit_time` datetime DEFAULT NULL COMMENT '提交时间', + `teacher_approval_by` bigint(20) DEFAULT NULL COMMENT '班主任审核人ID', + `teacher_approval_time` datetime DEFAULT NULL COMMENT '班主任审核时间', + `teacher_approval_remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '班主任审核备注', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0-未删除 1-已删除)', + `tenant_id` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT '000000' COMMENT '租户ID', + PRIMARY KEY (`id`), + KEY `uk_schedule_student` (`schedule_id`,`student_id`), + KEY `idx_schedule_id` (`schedule_id`), + KEY `idx_student_id` (`student_id`), + KEY `idx_status` (`status`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='学生考核申请、班主任审核表'; + +-- ---------------------------- +-- Table structure for xskh_assessment_bonus_approval +-- ---------------------------- +DROP TABLE IF EXISTS `xskh_assessment_bonus_approval`; +CREATE TABLE `xskh_assessment_bonus_approval` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `application_id` bigint(20) NOT NULL COMMENT '考核申请ID', + `bonus_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '附加分项目名称', + `bonus_content` varchar(500) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '附加分内容', + `bonus_score` decimal(5,2) NOT NULL COMMENT '附加分值', + `evidence_file` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '证明材料文件,ossIds,逗号分隔', + `status` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '1' COMMENT '状态(1-待审核 2-审核通过 3-审核拒绝)', + `approval_score` decimal(5,2) DEFAULT '0.00' COMMENT '审核得分', + `approval_by` bigint(20) DEFAULT NULL COMMENT '审核人ID', + `approval_time` datetime DEFAULT NULL COMMENT '审核时间', + `approval_remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '审核备注', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0-未删除 1-已删除)', + `tenant_id` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT '000000' COMMENT '租户ID', + PRIMARY KEY (`id`), + KEY `idx_application_id` (`application_id`), + KEY `idx_status` (`status`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='学生附加分申请、班主任审核得分表'; + +-- ---------------------------- +-- Table structure for xskh_assessment_indicator +-- ---------------------------- +DROP TABLE IF EXISTS `xskh_assessment_indicator`; +CREATE TABLE `xskh_assessment_indicator` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `indicator_code` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '指标编码', + `indicator_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '指标名称', + `indicator_type_id` bigint(20) NOT NULL COMMENT '指标类型ID', + `indicator_type_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '指标类型名称', + `description` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '指标说明', + `max_score` decimal(5,2) NOT NULL COMMENT '最高分值', + `weight` decimal(3,2) DEFAULT '1.00' COMMENT '权重', + `status` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '0' COMMENT '状态(0-启用 1-禁用)', + `sort_order` int(4) DEFAULT '0' COMMENT '排序号', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0-未删除 1-已删除)', + `tenant_id` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT '000000' COMMENT '租户ID', + PRIMARY KEY (`id`), + KEY `uk_indicator_code` (`indicator_code`), + KEY `idx_status` (`status`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='学生考核指标体系表'; + +-- ---------------------------- +-- Table structure for xskh_assessment_indicator_discipline_type +-- ---------------------------- +DROP TABLE IF EXISTS `xskh_assessment_indicator_discipline_type`; +CREATE TABLE `xskh_assessment_indicator_discipline_type` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `indicator_id` bigint(20) NOT NULL COMMENT '指标ID', + `discipline_type_ids` varchar(500) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '违纪处分类型ID,逗号分隔', + `reward_type_ids` varchar(500) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '奖励类型ID,逗号分隔', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0-未删除 1-已删除)', + `tenant_id` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT '000000' COMMENT '租户ID', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='考核指标关联违纪处分类型和奖励类型表'; + +-- ---------------------------- +-- Table structure for xskh_assessment_indicator_type +-- ---------------------------- +DROP TABLE IF EXISTS `xskh_assessment_indicator_type`; +CREATE TABLE `xskh_assessment_indicator_type` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `type_code` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '类型编码', + `type_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '类型名称', + `description` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '类型说明', + `status` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '0' COMMENT '状态(0-启用 1-禁用)', + `sort_order` int(4) DEFAULT '0' COMMENT '排序号', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0-未删除 1-已删除)', + `tenant_id` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT '000000' COMMENT '租户ID', + PRIMARY KEY (`id`), + KEY `uk_type_code` (`type_code`), + KEY `idx_status` (`status`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='学生考核指标体系类型表'; + +-- ---------------------------- +-- Table structure for xskh_assessment_plan +-- ---------------------------- +DROP TABLE IF EXISTS `xskh_assessment_plan`; +CREATE TABLE `xskh_assessment_plan` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `plan_code` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '方案编号', + `plan_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '方案名称', + `description` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '方案说明', + `status` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '0' COMMENT '状态(0-启用 1-禁用)', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0-未删除 1-已删除)', + `tenant_id` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT '000000' COMMENT '租户ID', + PRIMARY KEY (`id`), + KEY `uk_plan_code` (`plan_code`), + KEY `idx_status` (`status`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='学生考核方案表'; + +-- ---------------------------- +-- Table structure for xskh_assessment_plan_indicator +-- ---------------------------- +DROP TABLE IF EXISTS `xskh_assessment_plan_indicator`; +CREATE TABLE `xskh_assessment_plan_indicator` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `plan_id` bigint(20) NOT NULL COMMENT '考核方案ID', + `indicator_id` bigint(20) NOT NULL COMMENT '指标体系ID', + `max_score` decimal(5,2) NOT NULL COMMENT '最高分值', + `weight` decimal(3,2) DEFAULT '1.00' COMMENT '权重', + `sort_order` int(4) DEFAULT '0' COMMENT '排序号', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0-未删除 1-已删除)', + `tenant_id` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT '000000' COMMENT '租户ID', + PRIMARY KEY (`id`), + KEY `uk_plan_indicator` (`plan_id`,`indicator_id`), + KEY `idx_plan_id` (`plan_id`), + KEY `idx_indicator_id` (`indicator_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='考核方案关联指标体系表'; + +-- ---------------------------- +-- Table structure for xskh_assessment_schedule +-- ---------------------------- +DROP TABLE IF EXISTS `xskh_assessment_schedule`; +CREATE TABLE `xskh_assessment_schedule` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `schedule_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '考核计划名称', + `plan_id` bigint(20) NOT NULL COMMENT '考核方案ID', + `plan_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '考核方案名称', + `academic_year` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '学年', + `semester` char(1) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '学期(1-第一学期 2-第二学期)', + `start_time` datetime NOT NULL COMMENT '开始时间', + `end_time` datetime NOT NULL COMMENT '结束时间', + `data_start_time` datetime NOT NULL COMMENT '数据统计开始时间', + `data_end_time` datetime NOT NULL COMMENT '数据统计结束时间', + `status` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '1' COMMENT '状态(1-未开始 2-进行中 3-已结束)', + `description` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '计划说明', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0-未删除 1-已删除)', + `tenant_id` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT '000000' COMMENT '租户ID', + PRIMARY KEY (`id`), + KEY `idx_plan_id` (`plan_id`), + KEY `idx_academic_year` (`academic_year`), + KEY `idx_status` (`status`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='学生考核计划表'; + +-- ---------------------------- +-- Table structure for xskh_assessment_self_score +-- ---------------------------- +DROP TABLE IF EXISTS `xskh_assessment_self_score`; +CREATE TABLE `xskh_assessment_self_score` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `application_id` bigint(20) NOT NULL COMMENT '考核申请ID', + `indicator_id` bigint(20) NOT NULL COMMENT '指标ID', + `indicator_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '指标名称', + `indicator_type` char(1) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '指标类型', + `max_score` decimal(5,2) NOT NULL COMMENT '最高分值', + `self_score` decimal(5,2) DEFAULT '0.00' COMMENT '自评得分', + `self_remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '自评备注', + `teacher_score` decimal(5,2) DEFAULT '0.00' COMMENT '班主任评分', + `teacher_remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '班主任备注', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0-未删除 1-已删除)', + `tenant_id` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT '000000' COMMENT '租户ID', + PRIMARY KEY (`id`), + KEY `uk_application_indicator` (`application_id`,`indicator_id`), + KEY `idx_application_id` (`application_id`), + KEY `idx_indicator_id` (`indicator_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='学生考核自评、班主任评分表'; + +-- ---------------------------- +-- Table structure for xskh_discipline_record +-- ---------------------------- +DROP TABLE IF EXISTS `xskh_discipline_record`; +CREATE TABLE `xskh_discipline_record` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `student_id` bigint(20) NOT NULL COMMENT '学生ID', + `student_no` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '学号', + `student_name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '学生姓名', + `college_id` bigint(20) NOT NULL COMMENT '学院ID', + `college_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '学院名称', + `major_id` bigint(20) NOT NULL COMMENT '专业ID', + `major_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '专业名称', + `class_id` bigint(20) NOT NULL COMMENT '班级ID', + `class_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '班级名称', + `discipline_type_id` bigint(20) NOT NULL COMMENT '违纪处分类型ID', + `discipline_type_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '违纪处分类型名称', + `discipline_date` datetime NOT NULL COMMENT '违纪处分日期', + `discipline_reason` varchar(500) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '违纪处分原因', + `discipline_content` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '违纪处分内容', + `score_deduction` decimal(5,2) DEFAULT '0.00' COMMENT '扣分分值', + `status` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '1' COMMENT '状态(1-生效 2-已撤销)', + `violation_source` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '2' COMMENT '违纪来源(1-宿舍卫生检查 2-教学区违纪)', + `attachment_oss_ids` varchar(1000) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '附件OSS文件ID,多个用逗号分隔(申请材料、证明文件等)', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0-未删除 1-已删除)', + `tenant_id` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT '000000' COMMENT '租户ID', + PRIMARY KEY (`id`), + KEY `idx_student_id` (`student_id`), + KEY `idx_student_no` (`student_no`), + KEY `idx_college_id` (`college_id`), + KEY `idx_discipline_date` (`discipline_date`), + KEY `idx_status` (`status`), + KEY `idx_violation_source` (`violation_source`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='学生违纪处分记录表'; + +-- ---------------------------- +-- Table structure for xskh_discipline_revoke +-- ---------------------------- +DROP TABLE IF EXISTS `xskh_discipline_revoke`; +CREATE TABLE `xskh_discipline_revoke` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `discipline_record_id` bigint(20) NOT NULL COMMENT '违纪记录ID', + `student_id` bigint(20) NOT NULL COMMENT '学生ID', + `student_name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '学生姓名', + `revoke_reason` varchar(500) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '撤销申请原因', + `revoke_evidence` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '撤销证明材料,附件的oss_id,多个用逗号分隔', + `apply_time` datetime NOT NULL COMMENT '申请时间', + `status` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '1' COMMENT '状态(1-待班主任审核 2-待学工处审核 3-审核通过 4-班主任审核拒绝 5-学工处审核拒绝)', + `teacher_approval_by` bigint(20) DEFAULT NULL COMMENT '班主任审核人ID', + `teacher_approval_time` datetime DEFAULT NULL COMMENT '班主任审核时间', + `teacher_approval_remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '班主任审核备注', + `approval_by` bigint(20) DEFAULT NULL COMMENT '学工处审核人ID', + `approval_time` datetime DEFAULT NULL COMMENT '学工处审核时间', + `approval_remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '学工处审核备注', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0-未删除 1-已删除)', + `tenant_id` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT '000000' COMMENT '租户ID', + PRIMARY KEY (`id`), + KEY `idx_discipline_record_id` (`discipline_record_id`), + KEY `idx_student_id` (`student_id`), + KEY `idx_status` (`status`), + KEY `idx_teacher_approval_by` (`teacher_approval_by`), + KEY `idx_approval_by` (`approval_by`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='违纪处分撤销申请审批表'; + +-- ---------------------------- +-- Table structure for xskh_discipline_type +-- ---------------------------- +DROP TABLE IF EXISTS `xskh_discipline_type`; +CREATE TABLE `xskh_discipline_type` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `type_code` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '类型编码', + `type_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '类型名称', + `type_category` char(1) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '类型分类(1-违纪类型 2-处分类型)', + `area_type` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '1' COMMENT '区域类型(1-宿舍区违纪 2-教学区违纪)', + `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '类型说明', + `min_score` decimal(5,2) DEFAULT '0.00' COMMENT '最低扣分', + `max_score` decimal(5,2) DEFAULT '100.00' COMMENT '最高扣分', + `status` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '0' COMMENT '状态(0-正常 1-停用)', + `sort_order` int(4) DEFAULT '0' COMMENT '排序号', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0-未删除 1-已删除)', + `tenant_id` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT '000000' COMMENT '租户ID', + `is_equalized` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '0' COMMENT '是否均化(0-否 1-是)', + `equalized_threshold` decimal(10,2) DEFAULT NULL COMMENT '均化阈值', + PRIMARY KEY (`id`), + KEY `uk_type_code` (`type_code`), + KEY `idx_type_category` (`type_category`), + KEY `idx_status` (`status`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='学生违纪处分类型表'; + +-- ---------------------------- +-- Table structure for xskh_reward_record +-- ---------------------------- +DROP TABLE IF EXISTS `xskh_reward_record`; +CREATE TABLE `xskh_reward_record` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `student_id` bigint(20) NOT NULL COMMENT '学生ID', + `student_no` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '学号', + `student_name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '学生姓名', + `college_id` bigint(20) NOT NULL COMMENT '学院ID', + `college_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '学院名称', + `major_id` bigint(20) NOT NULL COMMENT '专业ID', + `major_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '专业名称', + `class_id` bigint(20) NOT NULL COMMENT '班级ID', + `class_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '班级名称', + `reward_type_id` bigint(20) NOT NULL COMMENT '奖励类型ID', + `reward_type_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '奖励类型名称', + `reward_date` date NOT NULL COMMENT '奖励日期', + `reward_content` varchar(500) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '奖励内容', + `score_addition` decimal(5,2) DEFAULT '0.00' COMMENT '加分分值', + `attachment_oss_ids` varchar(1000) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '附件OSS文件ID,多个用逗号分隔(申请材料、证明文件等)', + `status` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '1' COMMENT '状态(1-生效 2-撤销)', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0-未删除 1-已删除)', + `tenant_id` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT '000000' COMMENT '租户ID', + PRIMARY KEY (`id`), + KEY `idx_student_id` (`student_id`), + KEY `idx_reward_date` (`reward_date`), + KEY `idx_status` (`status`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='学生奖励记录表'; + +-- ---------------------------- +-- Table structure for xskh_reward_type +-- ---------------------------- +DROP TABLE IF EXISTS `xskh_reward_type`; +CREATE TABLE `xskh_reward_type` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `type_code` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '类型编码', + `type_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '类型名称', + `description` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '类型说明', + `status` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '0' COMMENT '状态(0-正常 1-停用)', + `sort_order` int(4) DEFAULT '0' COMMENT '排序号', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0-未删除 1-已删除)', + `tenant_id` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT '000000' COMMENT '租户ID', + `is_equalized` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '0' COMMENT '是否均化(0-否 1-是)', + `equalized_threshold` decimal(10,2) DEFAULT NULL COMMENT '均化阈值', + PRIMARY KEY (`id`), + KEY `uk_type_code` (`type_code`), + KEY `idx_status` (`status`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='学生奖励类型表'; + +-- ---------------------------- +-- Table structure for zsjy_enrollment_audit +-- ---------------------------- +DROP TABLE IF EXISTS `zsjy_enrollment_audit`; +CREATE TABLE `zsjy_enrollment_audit` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `enrollment_id` bigint(20) NOT NULL COMMENT '报名信息ID,关联zsjy_enrollment_info.id', + `student_name` varchar(50) NOT NULL COMMENT '学生姓名', + `id_card` varchar(18) NOT NULL COMMENT '身份证号', + `audit_type` char(1) NOT NULL COMMENT '审核类型(1-信息审核 2-录取处理 3-最终确认)', + `audit_result` char(1) NOT NULL COMMENT '审核结果(1-通过 9-驳回)', + `audit_user` bigint(20) NOT NULL COMMENT '审核人ID', + `audit_user_name` varchar(50) NOT NULL COMMENT '审核人姓名', + `audit_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '审核时间', + `audit_opinion` varchar(500) DEFAULT NULL COMMENT '审核意见', + `old_status` char(1) DEFAULT NULL COMMENT '变更前状态', + `new_status` char(1) DEFAULT NULL COMMENT '变更后状态', + `operation_type` varchar(20) DEFAULT NULL COMMENT '操作类型(审核、修改、驳回等)', + `operation_detail` text COMMENT '操作详情(JSON格式记录修改内容)', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_deleted` (`deleted`), + KEY `idx_enrollment_id` (`enrollment_id`), + KEY `idx_audit_type` (`audit_type`), + KEY `idx_audit_result` (`audit_result`), + KEY `idx_audit_user` (`audit_user`), + KEY `idx_audit_time` (`audit_time`), + KEY `idx_student_name` (`student_name`), + KEY `idx_id_card` (`id_card`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='招生审核记录表'; + +-- ---------------------------- +-- Table structure for zsjy_enrollment_campaign +-- ---------------------------- +DROP TABLE IF EXISTS `zsjy_enrollment_campaign`; +CREATE TABLE `zsjy_enrollment_campaign` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志', + `campaign_name` varchar(100) NOT NULL COMMENT '活动名称', + `campaign_code` varchar(50) NOT NULL COMMENT '活动代码(唯一)', + `start_time` datetime NOT NULL COMMENT '开始时间', + `end_time` datetime NOT NULL COMMENT '结束时间', + `qr_code_url` varchar(500) DEFAULT NULL COMMENT '二维码链接', + `qr_code_content` text COMMENT '二维码内容(base64)', + `status` char(1) DEFAULT '1' COMMENT '状态(0-禁用 1-启用)', + `description` varchar(500) DEFAULT NULL COMMENT '活动描述', + `print_count` int(11) DEFAULT '0' COMMENT '打印次数', + `access_count` int(11) DEFAULT '0' COMMENT '访问次数', + `submit_count` int(11) DEFAULT '0' COMMENT '提交次数', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_campaign_code` (`campaign_code`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='招生活动管理表'; + +-- ---------------------------- +-- Table structure for zsjy_enrollment_info +-- ---------------------------- +DROP TABLE IF EXISTS `zsjy_enrollment_info`; +CREATE TABLE `zsjy_enrollment_info` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `name` varchar(50) NOT NULL COMMENT '姓名', + `id_card` varchar(18) NOT NULL COMMENT '身份证号', + `gender` char(1) NOT NULL COMMENT '性别(M-男 F-女)', + `is_boarding` tinyint(1) DEFAULT '0' COMMENT '是否住校(0-否 1-是)', + `birth_date` date DEFAULT NULL COMMENT '出生年月', + `phone1` varchar(20) NOT NULL COMMENT '联系手机号码1', + `phone2` varchar(20) DEFAULT NULL COMMENT '联系手机号码2', + `nation` varchar(20) DEFAULT '汉族' COMMENT '民族', + `home_address` varchar(200) DEFAULT NULL COMMENT '家庭地址', + `middle_school` varchar(100) DEFAULT NULL COMMENT '初中毕业学校', + `exam_number` varchar(50) DEFAULT NULL COMMENT '准考证号码', + `exam_region` varchar(50) DEFAULT NULL COMMENT '参加中考地区', + `total_score_full` int(11) DEFAULT NULL COMMENT '当地中考满分', + `total_score` int(11) DEFAULT NULL COMMENT '考生中考成绩(含体育)', + `chinese_score` decimal(5,2) DEFAULT NULL COMMENT '语文成绩', + `math_score` decimal(5,2) DEFAULT NULL COMMENT '数学成绩', + `english_score` decimal(5,2) DEFAULT NULL COMMENT '英语成绩', + `science_score` decimal(5,2) DEFAULT NULL COMMENT '科学成绩', + `social_score` decimal(5,2) DEFAULT NULL COMMENT '社会成绩', + `pe_score` decimal(5,2) DEFAULT NULL COMMENT '体育成绩', + `applied_major` varchar(100) NOT NULL COMMENT '报考专业', + `major_code` varchar(20) DEFAULT NULL COMMENT '专业代码', + `uniform_size` varchar(20) DEFAULT NULL COMMENT '校服尺码', + `health_status` text COMMENT '健康情况', + `specialties` text COMMENT '特长', + `awards` text COMMENT '奖惩情况', + `enrollment_status` char(1) DEFAULT '0' COMMENT '报名状态(0-待审核 1-信息审核中 2-录取处理中 3-待最终确认 4-录取完成 9-已驳回)', + `application_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '报名时间', + `qr_code_source` varchar(100) DEFAULT NULL COMMENT '二维码来源标识', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `collage_name` varchar(100) DEFAULT NULL COMMENT '学院名称', + `collage_id` varchar(20) DEFAULT NULL COMMENT '学院代码', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE KEY `uk_id_card` (`tenant_id`,`id_card`,`deleted`), + UNIQUE KEY `uk_exam_number` (`tenant_id`,`exam_number`,`deleted`), + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_deleted` (`deleted`), + KEY `idx_enrollment_status` (`enrollment_status`), + KEY `idx_application_time` (`application_time`), + KEY `idx_name` (`name`), + KEY `idx_applied_major` (`applied_major`), + KEY `idx_phone1` (`phone1`), + KEY `idx_status_major` (`enrollment_status`,`applied_major`), + KEY `idx_time_status` (`application_time`,`enrollment_status`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='招生报名信息表'; + +-- ---------------------------- +-- Table structure for zsjy_enrollment_process +-- ---------------------------- +DROP TABLE IF EXISTS `zsjy_enrollment_process`; +CREATE TABLE `zsjy_enrollment_process` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `enrollment_id` bigint(20) NOT NULL COMMENT '报名信息ID,关联zsjy_enrollment_info.id', + `student_name` varchar(50) NOT NULL COMMENT '学生姓名', + `id_card` varchar(18) NOT NULL COMMENT '身份证号', + `current_status` char(1) DEFAULT '0' COMMENT '当前状态(0-待审核 1-信息审核中 2-录取处理中 3-待最终确认 4-录取完成 9-已驳回)', + `current_handler` bigint(20) DEFAULT NULL COMMENT '当前处理人ID', + `current_handler_name` varchar(50) DEFAULT NULL COMMENT '当前处理人姓名', + `info_audit_status` char(1) DEFAULT '0' COMMENT '信息审核状态(0-待审核 1-审核通过 9-审核驳回)', + `info_audit_user` bigint(20) DEFAULT NULL COMMENT '信息审核人ID', + `info_audit_user_name` varchar(50) DEFAULT NULL COMMENT '信息审核人姓名', + `info_audit_time` datetime DEFAULT NULL COMMENT '信息审核时间', + `info_audit_opinion` varchar(500) DEFAULT NULL COMMENT '信息审核意见', + `admission_status` char(1) DEFAULT '0' COMMENT '录取处理状态(0-待处理 1-处理完成 9-处理驳回)', + `admission_user` bigint(20) DEFAULT NULL COMMENT '录取处理人ID', + `admission_user_name` varchar(50) DEFAULT NULL COMMENT '录取处理人姓名', + `admission_time` datetime DEFAULT NULL COMMENT '录取处理时间', + `payment_status` char(1) DEFAULT '0' COMMENT '缴费状态(0-未缴费 1-已缴费)', + `payment_confirm_time` datetime DEFAULT NULL COMMENT '缴费确认时间', + `notice_number` varchar(50) DEFAULT NULL COMMENT '录取通知书号码', + `admission_opinion` varchar(500) DEFAULT NULL COMMENT '录取处理意见', + `final_audit_status` char(1) DEFAULT '0' COMMENT '最终审核状态(0-待确认 1-确认通过 9-确认驳回)', + `final_audit_user` bigint(20) DEFAULT NULL COMMENT '最终审核人ID', + `final_audit_user_name` varchar(50) DEFAULT NULL COMMENT '最终审核人姓名', + `final_audit_time` datetime DEFAULT NULL COMMENT '最终审核时间', + `final_audit_opinion` varchar(500) DEFAULT NULL COMMENT '最终审核意见', + `is_completed` tinyint(1) DEFAULT '0' COMMENT '是否完成录取(0-未完成 1-已完成)', + `completion_time` datetime DEFAULT NULL COMMENT '录取完成时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE KEY `uk_enrollment_id` (`tenant_id`,`enrollment_id`,`deleted`), + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_deleted` (`deleted`), + KEY `idx_current_status` (`current_status`), + KEY `idx_current_handler` (`current_handler`), + KEY `idx_info_audit_status` (`info_audit_status`), + KEY `idx_admission_status` (`admission_status`), + KEY `idx_final_audit_status` (`final_audit_status`), + KEY `idx_is_completed` (`is_completed`), + KEY `idx_student_name` (`student_name`), + KEY `idx_id_card` (`id_card`), + KEY `idx_handler_status` (`current_handler`,`current_status`), + KEY `idx_audit_time` (`info_audit_time`,`admission_time`,`final_audit_time`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='招生录取流程状态表'; + +-- ---------------------------- +-- Table structure for zsjy_enrollment_statistics +-- ---------------------------- +DROP TABLE IF EXISTS `zsjy_enrollment_statistics`; +CREATE TABLE `zsjy_enrollment_statistics` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `stat_date` date NOT NULL COMMENT '统计日期', + `stat_type` varchar(20) NOT NULL COMMENT '统计类型(daily-日统计 monthly-月统计 yearly-年统计)', + `dimension_type` varchar(20) NOT NULL COMMENT '维度类型(major-专业 region-地域 school-学校 score-分数段 gender-性别)', + `dimension_value` varchar(100) NOT NULL COMMENT '维度值', + `application_count` int(11) DEFAULT '0' COMMENT '报名人数', + `male_count` int(11) DEFAULT '0' COMMENT '男生人数', + `female_count` int(11) DEFAULT '0' COMMENT '女生人数', + `admission_count` int(11) DEFAULT '0' COMMENT '录取人数', + `payment_count` int(11) DEFAULT '0' COMMENT '缴费人数', + `completion_count` int(11) DEFAULT '0' COMMENT '完成录取人数', + `avg_total_score` decimal(8,2) DEFAULT NULL COMMENT '平均总分', + `max_total_score` decimal(8,2) DEFAULT NULL COMMENT '最高总分', + `min_total_score` decimal(8,2) DEFAULT NULL COMMENT '最低总分', + `admission_rate` decimal(5,2) DEFAULT NULL COMMENT '录取率(%)', + `payment_rate` decimal(5,2) DEFAULT NULL COMMENT '缴费率(%)', + `completion_rate` decimal(5,2) DEFAULT NULL COMMENT '完成率(%)', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE KEY `uk_stat_dimension` (`tenant_id`,`stat_date`,`stat_type`,`dimension_type`,`dimension_value`,`deleted`), + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_deleted` (`deleted`), + KEY `idx_stat_date` (`stat_date`), + KEY `idx_stat_type` (`stat_type`), + KEY `idx_dimension_type` (`dimension_type`), + KEY `idx_dimension_value` (`dimension_value`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='招生统计数据表'; + +-- ---------------------------- +-- Table structure for zsjy_enterprise +-- ---------------------------- +DROP TABLE IF EXISTS `zsjy_enterprise`; +CREATE TABLE `zsjy_enterprise` ( + `id` bigint(20) NOT NULL COMMENT '企业ID', + `enterprise_name` varchar(100) NOT NULL COMMENT '企业名称', + `industry` varchar(50) NOT NULL COMMENT '所属行业', + `main_business` varchar(500) NOT NULL COMMENT '主营业务', + `enterprise_scale` varchar(20) NOT NULL COMMENT '企业规模', + `contact_name` varchar(50) NOT NULL COMMENT '企业联系人姓名', + `contact_phone` varchar(20) NOT NULL COMMENT '联系电话', + `email` varchar(100) NOT NULL COMMENT '企业邮箱', + `address` varchar(255) NOT NULL COMMENT '企业地址', + `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '逻辑删除(0正常 1删除)', + `tenant_id` bigint(20) NOT NULL COMMENT '租户ID', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='企业信息表'; + +-- ---------------------------- +-- Table structure for zsjy_graduate_info +-- ---------------------------- +DROP TABLE IF EXISTS `zsjy_graduate_info`; +CREATE TABLE `zsjy_graduate_info` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `student_no` varchar(50) NOT NULL COMMENT '学号', + `name` varchar(30) NOT NULL COMMENT '姓名', + `gender` char(1) NOT NULL DEFAULT '0' COMMENT '性别 (0男 1女)', + `id_card` varchar(20) NOT NULL COMMENT '身份证号', + `nation` varchar(50) DEFAULT NULL COMMENT '民族', + `political_status` varchar(50) DEFAULT NULL COMMENT '政治面貌', + `birth_date` date DEFAULT NULL COMMENT '出生日期', + `enrollment_year` int(4) NOT NULL COMMENT '入学年份', + `graduation_year` int(4) NOT NULL COMMENT '毕业年份', + `college_id` bigint(20) DEFAULT NULL COMMENT '学院ID', + `college_name` varchar(100) DEFAULT NULL COMMENT '学院名称', + `major_id` bigint(20) DEFAULT NULL COMMENT '专业ID', + `major_name` varchar(100) DEFAULT NULL COMMENT '专业名称', + `class_id` bigint(20) DEFAULT NULL COMMENT '班级ID', + `class_name` varchar(100) DEFAULT NULL COMMENT '班级名称', + `education_level` char(1) NOT NULL DEFAULT '2' COMMENT '学历层次 (1专科 2本科 3硕士 4博士)', + `training_mode` varchar(50) DEFAULT NULL COMMENT '培养方式', + `phone_number` varchar(11) NOT NULL COMMENT '手机号码', + `email` varchar(100) DEFAULT NULL COMMENT '邮箱地址', + `qq_number` varchar(20) DEFAULT NULL COMMENT 'QQ号码', + `wechat_number` varchar(50) DEFAULT NULL COMMENT '微信号码', + `province` varchar(50) DEFAULT NULL COMMENT '省份', + `city` varchar(50) DEFAULT NULL COMMENT '城市', + `district` varchar(50) DEFAULT NULL COMMENT '区县', + `detail_address` varchar(255) DEFAULT NULL COMMENT '详细地址', + `full_address` varchar(500) DEFAULT NULL COMMENT '完整地址', + `postal_code` varchar(10) DEFAULT NULL COMMENT '邮政编码', + `employment_status` char(1) NOT NULL DEFAULT '7' COMMENT '就业状态 (1已就业-劳动合同 2已就业-就业协议 3自主创业 4升学-国内 5升学-国外 6应征入伍 7待就业 8暂不就业)', + `employment_company` varchar(200) DEFAULT NULL COMMENT '就业单位名称', + `company_type` char(1) DEFAULT NULL COMMENT '单位性质 (1国有企业 2私营企业 3外资企业 4机关事业单位 5其他)', + `job_position` varchar(100) DEFAULT NULL COMMENT '工作职位', + `work_province` varchar(50) DEFAULT NULL COMMENT '工作省份', + `work_city` varchar(50) DEFAULT NULL COMMENT '工作城市', + `work_location` varchar(200) DEFAULT NULL COMMENT '工作地点', + `salary_range` char(1) DEFAULT NULL COMMENT '月薪范围 (1-3000以下 2-3000-5000 3-5000-8000 4-8000-12000 5-12000以上)', + `further_school` varchar(200) DEFAULT NULL COMMENT '升学院校', + `further_major` varchar(100) DEFAULT NULL COMMENT '升学专业', + `skills` text COMMENT '特长技能', + `awards` text COMMENT '获奖情况', + `job_intention` text COMMENT '工作意向', + `audit_status` char(1) NOT NULL DEFAULT '0' COMMENT '审核状态 (0待审核 1已审核 2审核拒绝)', + `audit_time` datetime DEFAULT NULL COMMENT '审核时间', + `audit_by` bigint(20) DEFAULT NULL COMMENT '审核人', + `audit_remark` varchar(500) DEFAULT NULL COMMENT '审核意见', + `status` char(1) NOT NULL DEFAULT '0' COMMENT '状态 (0正常 1停用)', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户ID', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '逻辑删除', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_student_no` (`student_no`) COMMENT '学号唯一', + UNIQUE KEY `uk_id_card` (`id_card`) COMMENT '身份证号唯一', + KEY `idx_name` (`name`) COMMENT '姓名索引', + KEY `idx_college_major` (`college_id`,`major_id`) COMMENT '学院专业索引', + KEY `idx_graduation_year` (`graduation_year`) COMMENT '毕业年份索引', + KEY `idx_employment_status` (`employment_status`) COMMENT '就业状态索引', + KEY `idx_audit_status` (`audit_status`) COMMENT '审核状态索引' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='毕业生信息表'; + +-- ---------------------------- +-- Table structure for zsjy_internship_daily +-- ---------------------------- +DROP TABLE IF EXISTS `zsjy_internship_daily`; +CREATE TABLE `zsjy_internship_daily` ( + `daily_id` bigint(20) NOT NULL COMMENT '日常记录ID', + `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', + `internship_id` bigint(20) NOT NULL COMMENT '实习ID', + `student_id` bigint(20) NOT NULL COMMENT '学生ID', + `check_date` date NOT NULL COMMENT '打卡日期', + `check_in_time` time DEFAULT NULL COMMENT '签到时间', + `check_out_time` time DEFAULT NULL COMMENT '签退时间', + `check_in_location` varchar(200) DEFAULT NULL COMMENT '签到位置', + `latitude` decimal(10,7) DEFAULT NULL COMMENT '纬度', + `longitude` decimal(10,7) DEFAULT NULL COMMENT '经度', + `daily_summary` text COMMENT '日总结', + `images` text COMMENT '图片附件(JSON格式)', + `is_exception` char(1) DEFAULT '0' COMMENT '是否异常(0正常 1异常)', + `exception_reason` varchar(500) DEFAULT NULL COMMENT '异常原因', + `exception_status` char(1) DEFAULT '0' COMMENT '异常处理状态(0待处理 1已处理)', + `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` int(1) DEFAULT '0' COMMENT '逻辑删除', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`daily_id`), + UNIQUE KEY `uk_internship_date` (`internship_id`,`check_date`), + KEY `idx_student_date` (`student_id`,`check_date`), + KEY `idx_check_date` (`check_date`), + KEY `idx_exception` (`is_exception`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='实习日常管理表'; + +-- ---------------------------- +-- Table structure for zsjy_internship_info +-- ---------------------------- +DROP TABLE IF EXISTS `zsjy_internship_info`; +CREATE TABLE `zsjy_internship_info` ( + `internship_id` bigint(20) NOT NULL COMMENT '实习ID', + `previous_internship_id` bigint(20) DEFAULT NULL COMMENT '前一条实习记录ID(用于变更记录关联)', + `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', + `student_id` bigint(20) NOT NULL COMMENT '学生ID', + `student_no` varchar(50) NOT NULL COMMENT '学号', + `student_name` varchar(100) NOT NULL COMMENT '姓名', + `gender` char(1) DEFAULT '0' COMMENT '性别(0男 1女)', + `college_id` bigint(20) NOT NULL COMMENT '学院ID', + `major_id` bigint(20) NOT NULL COMMENT '专业ID', + `class_id` bigint(20) NOT NULL COMMENT '班级ID', + `phone` varchar(11) NOT NULL COMMENT '联系电话', + `company_name` varchar(200) NOT NULL COMMENT '实习单位名称', + `company_address` varchar(500) NOT NULL COMMENT '单位地址', + `company_industry` varchar(100) DEFAULT NULL COMMENT '行业类型', + `company_scale` varchar(50) DEFAULT NULL COMMENT '单位规模', + `company_contact` varchar(100) NOT NULL COMMENT '单位联系人', + `company_phone` varchar(20) NOT NULL COMMENT '联系人电话', + `position_name` varchar(100) NOT NULL COMMENT '岗位名称', + `position_duties` text COMMENT '岗位职责', + `internship_allowance` decimal(10,2) DEFAULT '0.00' COMMENT '实习津贴', + `work_hours` varchar(50) DEFAULT NULL COMMENT '工作时长', + `accommodation_address` varchar(500) DEFAULT NULL COMMENT '住宿地址', + `accommodation_type` varchar(50) DEFAULT NULL COMMENT '住宿类型', + `accommodation_cost` decimal(10,2) DEFAULT '0.00' COMMENT '住宿费用', + `start_date` date NOT NULL COMMENT '实习开始日期', + `end_date` date NOT NULL COMMENT '实习结束日期', + `actual_end_date` date DEFAULT NULL COMMENT '实际结束日期', + `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)', + `internship_status` char(1) DEFAULT '1' COMMENT '实习状态(1进行中 2已完成 3中断)', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` int(1) DEFAULT '0' COMMENT '逻辑删除', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `change_reason` varchar(500) DEFAULT NULL COMMENT '变更原因', + PRIMARY KEY (`internship_id`), + KEY `idx_student_id` (`student_id`), + KEY `idx_student_no` (`student_no`), + KEY `idx_college_major` (`college_id`,`major_id`), + KEY `idx_status` (`internship_status`), + KEY `idx_date_range` (`start_date`,`end_date`), + KEY `idx_company` (`company_name`), + KEY `idx_create_time` (`create_time`), + KEY `idx_previous_internship` (`previous_internship_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='实习信息表'; + +-- ---------------------------- +-- Table structure for zsjy_internship_monthly +-- ---------------------------- +DROP TABLE IF EXISTS `zsjy_internship_monthly`; +CREATE TABLE `zsjy_internship_monthly` ( + `monthly_id` bigint(20) NOT NULL COMMENT '月度总结ID', + `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', + `internship_id` bigint(20) NOT NULL COMMENT '实习ID', + `student_id` bigint(20) NOT NULL COMMENT '学生ID', + `summary_month` varchar(7) NOT NULL COMMENT '总结月份(YYYY-MM)', + `month_number` int(2) NOT NULL COMMENT '实习第几个月', + `work_content` text NOT NULL COMMENT '工作内容', + `achievements` text COMMENT '工作成果', + `learning_gains` text COMMENT '学习收获', + `problems_encountered` text COMMENT '遇到问题', + `problem_solutions` text COMMENT '解决方案', + `self_evaluation` text COMMENT '自我评价', + `next_month_plan` text COMMENT '下月计划', + `professional_skills` int(1) DEFAULT NULL COMMENT '专业技能评分', + `communication_skills` int(1) DEFAULT NULL COMMENT '沟通能力评分', + `teamwork_ability` int(2) DEFAULT NULL COMMENT '团队协作评分(1-10)', + `teamwork_skills` int(1) DEFAULT NULL COMMENT '团队协作评分', + `learning_ability` int(1) DEFAULT NULL COMMENT '学习能力评分', + `work_attitude` int(1) DEFAULT NULL COMMENT '工作态度评分', + `attachments` text COMMENT '附件(JSON格式)', + `work_proof` text COMMENT '工作证明材料(JSON格式)', + `company_confirmation` text COMMENT '企业确认信息', + `submit_time` datetime DEFAULT NULL COMMENT '提交时间', + `word_count` int(10) DEFAULT '0' COMMENT '总结字数', + `submit_deadline` date DEFAULT NULL COMMENT '提交截止日期', + `is_overdue` char(1) DEFAULT '0' COMMENT '是否逾期(0否 1是)', + `review_status` char(1) DEFAULT '0' COMMENT '审核状态(0待审核 1已审核 2审核拒绝)', + `review_time` datetime DEFAULT NULL COMMENT '审核时间', + `review_by` bigint(20) DEFAULT NULL COMMENT '审核人', + `reviewer_name` varchar(100) DEFAULT NULL COMMENT '审核人姓名', + `review_score` decimal(5,2) DEFAULT NULL COMMENT '综合评分', + `review_comment` text COMMENT '审核意见', + `review_suggestions` text COMMENT '指导建议', + `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` int(1) DEFAULT '0' COMMENT '逻辑删除', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`monthly_id`), + UNIQUE KEY `uk_internship_month` (`internship_id`,`summary_month`), + KEY `idx_student_month` (`student_id`,`summary_month`), + KEY `idx_review_status` (`review_status`), + KEY `idx_submit_time` (`submit_time`), + KEY `idx_review_time` (`review_time`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='月度实习总结表'; + +-- ---------------------------- +-- Table structure for zsjy_internship_statistics +-- ---------------------------- +DROP TABLE IF EXISTS `zsjy_internship_statistics`; +CREATE TABLE `zsjy_internship_statistics` ( + `stat_id` bigint(20) NOT NULL COMMENT '统计ID', + `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', + `stat_type` varchar(50) NOT NULL COMMENT '统计类型(college/major/company/industry)', + `stat_key` varchar(100) NOT NULL COMMENT '统计键值', + `stat_name` varchar(200) NOT NULL COMMENT '统计名称', + `stat_period` varchar(20) NOT NULL COMMENT '统计周期(YYYY/YYYY-MM/YYYY-MM-DD)', + `total_students` int(10) DEFAULT '0' COMMENT '实习学生总数', + `active_students` int(10) DEFAULT '0' COMMENT '在岗学生数', + `completed_students` int(10) DEFAULT '0' COMMENT '完成实习学生数', + `interrupted_students` int(10) DEFAULT '0' COMMENT '中断实习学生数', + `total_checkins` int(10) DEFAULT '0' COMMENT '总签到次数', + `normal_checkins` int(10) DEFAULT '0' COMMENT '正常签到次数', + `exception_checkins` int(10) DEFAULT '0' COMMENT '异常签到次数', + `attendance_rate` decimal(5,2) DEFAULT '0.00' COMMENT '出勤率', + `total_summaries` int(10) DEFAULT '0' COMMENT '总结提交数', + `reviewed_summaries` int(10) DEFAULT '0' COMMENT '已审核总结数', + `avg_score` decimal(5,2) DEFAULT '0.00' COMMENT '平均成绩', + `total_visits` int(10) DEFAULT '0' COMMENT '走访次数', + `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` int(1) DEFAULT '0' COMMENT '逻辑删除', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`stat_id`), + UNIQUE KEY `uk_stat_period` (`stat_type`,`stat_key`,`stat_period`), + KEY `idx_stat_type` (`stat_type`), + KEY `idx_stat_period` (`stat_period`), + KEY `idx_create_time` (`create_time`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='实习统计表'; + +-- ---------------------------- +-- Table structure for zsjy_internship_visit +-- ---------------------------- +DROP TABLE IF EXISTS `zsjy_internship_visit`; +CREATE TABLE `zsjy_internship_visit` ( + `visit_id` bigint(20) NOT NULL COMMENT '走访记录ID', + `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', + `internship_id` bigint(20) NOT NULL COMMENT '实习ID', + `student_id` bigint(20) NOT NULL COMMENT '学生ID', + `company_name` varchar(200) NOT NULL COMMENT '企业名称', + `company_address` varchar(500) DEFAULT NULL COMMENT '企业地址', + `visit_date` datetime NOT NULL COMMENT '走访时间', + `visit_type` char(1) DEFAULT '1' COMMENT '走访方式(1-实地走访 2-电话走访 3-视频走访)', + `visit_location` varchar(200) DEFAULT NULL COMMENT '走访地点', + `visitor_name` varchar(100) NOT NULL COMMENT '走访人员', + `visitor_position` varchar(100) DEFAULT NULL COMMENT '走访人员职位', + `visit_purpose` varchar(500) DEFAULT NULL COMMENT '走访目的', + `visit_theme` varchar(200) DEFAULT NULL COMMENT '走访主题', + `visit_content` text COMMENT '走访内容', + `student_feedback` text COMMENT '学生反馈', + `company_situation` text COMMENT '企业情况', + `student_performance` text COMMENT '学生表现', + `problems_found` text COMMENT '问题记录', + `suggestions` text COMMENT '改进建议', + `visit_summary` text COMMENT '走访总结', + `visit_images` text COMMENT '现场照片(JSON格式)', + `visit_files` text COMMENT '相关文件(JSON格式)', + `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` int(1) DEFAULT '0' COMMENT '逻辑删除', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`visit_id`), + KEY `idx_internship_id` (`internship_id`), + KEY `idx_student_id` (`student_id`), + KEY `idx_visit_date` (`visit_date`), + KEY `idx_company` (`company_name`), + KEY `idx_visitor` (`visitor_name`), + KEY `idx_visit_type` (`visit_type`), + KEY `idx_visit_location` (`visit_location`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='班主任走访记录表'; + +-- ---------------------------- +-- Table structure for zsjy_job_position +-- ---------------------------- +DROP TABLE IF EXISTS `zsjy_job_position`; +CREATE TABLE `zsjy_job_position` ( + `id` bigint(20) NOT NULL COMMENT '岗位ID', + `enterprise_id` bigint(20) NOT NULL COMMENT '所属企业ID', + `position_name` varchar(100) NOT NULL COMMENT '岗位名称', + `work_address` varchar(255) NOT NULL COMMENT '工作地址', + `work_time` varchar(100) NOT NULL COMMENT '工作时间', + `salary` varchar(50) NOT NULL COMMENT '薪资', + `required_skills` varchar(500) NOT NULL COMMENT '所需技能', + `start_date` datetime DEFAULT NULL COMMENT '有效期开始日期', + `end_date` datetime DEFAULT NULL COMMENT '有效期结束日期', + `is_permanent` tinyint(1) DEFAULT '0' COMMENT '是否永久有效(0否 1是)', + `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '逻辑删除(0正常 1删除)', + `tenant_id` bigint(20) NOT NULL COMMENT '租户ID', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + PRIMARY KEY (`id`), + KEY `idx_enterprise_id` (`enterprise_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='招聘岗位表'; + +-- ---------------------------- +-- Table structure for zsjy_major_info +-- ---------------------------- +DROP TABLE IF EXISTS `zsjy_major_info`; +CREATE TABLE `zsjy_major_info` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)', + `major_code` varchar(20) NOT NULL COMMENT '专业代码', + `major_name` varchar(100) NOT NULL COMMENT '专业名称', + `major_type` varchar(50) DEFAULT NULL COMMENT '专业类型(预备技师、高级工等)', + `department` varchar(100) DEFAULT NULL COMMENT '所属院系', + `education_level` varchar(20) DEFAULT NULL COMMENT '学历层次', + `school_system` int(11) DEFAULT '3' COMMENT '学制(年)', + `enrollment_year` int(11) NOT NULL COMMENT '招生年度', + `planned_count` int(11) DEFAULT '0' COMMENT '计划招生人数', + `current_count` int(11) DEFAULT '0' COMMENT '当前报名人数', + `admission_count` int(11) DEFAULT '0' COMMENT '已录取人数', + `status` char(1) DEFAULT '1' COMMENT '状态(0-停用 1-启用)', + `sort_order` int(11) DEFAULT '0' COMMENT '排序', + `is_popular` tinyint(1) DEFAULT '0' COMMENT '是否热门专业(0-否 1-是)', + `description` text COMMENT '专业描述', + `requirements` text COMMENT '报考要求', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE KEY `uk_major_code` (`tenant_id`,`major_code`,`enrollment_year`,`deleted`), + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_deleted` (`deleted`), + KEY `idx_enrollment_year` (`enrollment_year`), + KEY `idx_status` (`status`), + KEY `idx_major_name` (`major_name`), + KEY `idx_sort_order` (`sort_order`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='专业信息表'; + +-- ---------------------------- +-- Table structure for zsjy_recruitment_poster +-- ---------------------------- +DROP TABLE IF EXISTS `zsjy_recruitment_poster`; +CREATE TABLE `zsjy_recruitment_poster` ( + `id` bigint(20) NOT NULL COMMENT '海报ID', + `enterprise_id` bigint(20) NOT NULL COMMENT '企业ID', + `position_id` bigint(20) DEFAULT NULL COMMENT '岗位ID(为空表示企业整体海报)', + `poster_path` varchar(255) NOT NULL COMMENT '海报文件路径', + `poster_type` char(1) NOT NULL COMMENT '海报类型(1企业海报 2岗位海报)', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '逻辑删除(0正常 1删除)', + `tenant_id` bigint(20) NOT NULL COMMENT '租户ID', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + PRIMARY KEY (`id`), + KEY `idx_enterprise_position` (`enterprise_id`,`position_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='招聘海报记录表'; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/退学、休学、复学、毕业/xg_student_status_change.sql b/退学、休学、复学、毕业/xg_student_status_change.sql new file mode 100644 index 00000000..9dc36283 --- /dev/null +++ b/退学、休学、复学、毕业/xg_student_status_change.sql @@ -0,0 +1,31 @@ +-- xg_student_status_change.sql +-- 学生学籍异动表 DDL(退学/休学/复学/毕业) +-- 生成说明:根据用户提供的表模型,已修正小幅语法问题(尾逗号)。如需保持原样请告知。 + +CREATE TABLE `xg_student_status_change` ( + `id` bigint(20) NOT NULL COMMENT '主键,雪花ID(建议使用雪花算法生成)', + `student_id` bigint(20) NOT NULL COMMENT '学生ID,关联学生主表', + `student_no` varchar(100) DEFAULT NULL COMMENT '学号', + `change_type` varchar(20) NOT NULL COMMENT '异动类型: TUI_XUE(退学), XIU_XUE(休学), FU_XUE(复学), BI_YE(毕业)', + `apply_date` datetime NOT NULL COMMENT '申请/登记日期', + `effective_date` datetime DEFAULT NULL COMMENT '生效日期(业务生效时间)', + `reason` varchar(1000) DEFAULT NULL COMMENT '异动原因', + `operator_id` bigint(20) DEFAULT NULL COMMENT '经办人ID(登记人)', + `operator_name` varchar(64) DEFAULT NULL COMMENT '经办人姓名', + `source` varchar(50) DEFAULT 'manual' COMMENT '来源: manual/import/workflow', + `process_status` tinyint(2) NOT NULL DEFAULT 0 COMMENT '处理状态:0=未处理,1=已处理', + `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门', + `create_by` bigint(20) DEFAULT NULL COMMENT '创建者', + `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_by` bigint(20) DEFAULT NULL COMMENT '更新者', + `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户ID(多租户)', + `deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除:0=正常,1=已删除', + PRIMARY KEY (`id`), + KEY `idx_student_id` (`student_id`), + KEY `idx_change_type` (`change_type`), + KEY `idx_process_status` (`process_status`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci + COMMENT='学生学籍异动表'; + +