diff --git a/docs/开发文档/API/班干部管理API.md b/docs/开发文档/API/班干部管理API.md deleted file mode 100644 index b3b15993..00000000 --- a/docs/开发文档/API/班干部管理API.md +++ /dev/null @@ -1,633 +0,0 @@ -# 班干部管理API文档 - -## 概述 - -**模块名称**: 班干部管理 -**模块标识**: xg:classCadre -**版本**: V1.0.0 -**创建时间**: 2025-01-08 -**更新时间**: 2025-01-08 - -## 功能描述 - -班干部管理模块提供完整的班级干部信息管理功能,包括班干部的任命、免职、调任、续任、辞职等全生命周期管理,以及统计分析和查询功能。 - -## 核心功能 - -- **基础管理**: 班干部信息的增删改查、导入导出 -- **任免操作**: 任命、免职、调任、续任、辞职等操作 -- **查询功能**: 按班级、学生、职务等多维度查询 -- **统计分析**: 班干部统计数据和图表分析 -- **权限控制**: 完整的角色权限管理 - -## API接口列表 - -### 基础管理接口 - -#### 1. 获取班干部列表 -```http -GET /xg-xx/classCadre/list -``` - -**权限要求**: `xg:classCadre:list` - -**请求参数**: -```json -{ - "pageNum": 1, - "pageSize": 10, - "studentId": "学生ID", - "classId": "班级ID", - "positionId": "职务ID", - "positionLevel": "职务级别", - "status": "任职状态", - "isCurrent": "是否现任", - "startDate": "开始日期", - "endDate": "结束日期" -} -``` - -**响应示例**: -```json -{ - "code": 200, - "msg": "查询成功", - "rows": [ - { - "id": "1234567890123456789", - "studentId": "1001", - "studentName": "张三", - "classId": "C001", - "className": "计算机一班", - "positionId": "P001", - "positionName": "班长", - "positionLevel": 1, - "status": "在任", - "isCurrent": true, - "startDate": "2024-09-01", - "endDate": "2025-07-01", - "termMonths": 10, - "workPerformance": "优秀", - "phoneNumber": "13800138000", - "email": "zhangsan@example.com", - "createTime": "2024-09-01 10:00:00" - } - ], - "total": 100 -} -``` - -#### 2. 获取班干部详情 -```http -GET /xg-xx/classCadre/{id} -``` - -**权限要求**: `xg:classCadre:query` - -**路径参数**: -- `id`: 班干部记录ID - -**响应示例**: -```json -{ - "code": 200, - "msg": "查询成功", - "data": { - "id": "1234567890123456789", - "studentId": "1001", - "studentName": "张三", - "classId": "C001", - "className": "计算机一班", - "positionId": "P001", - "positionName": "班长", - "positionLevel": 1, - "status": "在任", - "isCurrent": true, - "startDate": "2024-09-01", - "endDate": "2025-07-01", - "termMonths": 10, - "workPerformance": "优秀", - "phoneNumber": "13800138000", - "email": "zhangsan@example.com", - "responsibilities": "负责班级日常管理工作", - "permissions": "班级活动组织权限", - "createTime": "2024-09-01 10:00:00" - } -} -``` - -#### 3. 新增班干部 -```http -POST /xg-xx/classCadre -``` - -**权限要求**: `xg:classCadre:add` - -**请求体**: -```json -{ - "studentId": "1001", - "classId": "C001", - "positionId": "P001", - "startDate": "2024-09-01", - "endDate": "2025-07-01", - "termMonths": 10, - "workPerformance": "良好", - "phoneNumber": "13800138000", - "email": "zhangsan@example.com", - "responsibilities": "负责班级日常管理工作", - "permissions": "班级活动组织权限", - "remark": "备注信息" -} -``` - -**响应示例**: -```json -{ - "code": 200, - "msg": "新增成功" -} -``` - -#### 4. 修改班干部 -```http -PUT /xg-xx/classCadre -``` - -**权限要求**: `xg:classCadre:edit` - -**请求体**: -```json -{ - "id": "1234567890123456789", - "studentId": "1001", - "classId": "C001", - "positionId": "P001", - "startDate": "2024-09-01", - "endDate": "2025-07-01", - "termMonths": 10, - "workPerformance": "优秀", - "phoneNumber": "13800138000", - "email": "zhangsan@example.com", - "responsibilities": "负责班级日常管理工作", - "permissions": "班级活动组织权限", - "remark": "备注信息" -} -``` - -#### 5. 删除班干部 -```http -DELETE /xg-xx/classCadre/{ids} -``` - -**权限要求**: `xg:classCadre:remove` - -**路径参数**: -- `ids`: 班干部记录ID,多个用逗号分隔 - -#### 6. 导出班干部数据 -```http -POST /xg-xx/classCadre/export -``` - -**权限要求**: `xg:classCadre:export` - -**请求体**: 同列表查询参数 - -**响应**: Excel文件下载 - -### 业务功能接口 - -#### 7. 按班级查询班干部 -```http -GET /xg-xx/classCadre/listByClass/{classId} -``` - -**权限要求**: `xg:classCadre:queryByClass` - -**路径参数**: -- `classId`: 班级ID - -#### 8. 按学生查询班干部 -```http -GET /xg-xx/classCadre/listByStudent/{studentId} -``` - -**权限要求**: `xg:classCadre:queryByStudent` - -**路径参数**: -- `studentId`: 学生ID - -#### 9. 按职务查询班干部 -```http -GET /xg-xx/classCadre/listByPosition/{positionId} -``` - -**权限要求**: `xg:classCadre:queryByPosition` - -**路径参数**: -- `positionId`: 职务ID - -#### 10. 获取我的班干部信息 -```http -GET /xg-xx/classCadre/myInfo -``` - -**权限要求**: `xg:classCadre:query` - -#### 11. 获取待处理任务 -```http -GET /xg-xx/classCadre/pendingTasks -``` - -**权限要求**: `xg:classCadre:query` - -#### 12. 获取可用职务选项 -```http -GET /xg-xx/classCadre/availablePositions -``` - -**权限要求**: `xg:classCadre:query` - -### 任免操作接口 - -#### 13. 任命班干部 -```http -POST /xg-xx/classCadre/appoint -``` - -**权限要求**: `xg:classCadre:appoint` - -**请求体**: -```json -{ - "studentId": "1001", - "classId": "C001", - "positionId": "P001", - "startDate": "2024-09-01", - "endDate": "2025-07-01", - "reason": "任命原因", - "remark": "备注信息" -} -``` - -#### 14. 免职班干部 -```http -POST /xg-xx/classCadre/dismiss -``` - -**权限要求**: `xg:classCadre:dismiss` - -**请求体**: -```json -{ - "id": "1234567890123456789", - "reason": "免职原因", - "effectiveDate": "2024-12-01", - "remark": "备注信息" -} -``` - -#### 15. 调任班干部 -```http -POST /xg-xx/classCadre/transfer -``` - -**权限要求**: `xg:classCadre:transfer` - -**请求体**: -```json -{ - "id": "1234567890123456789", - "newPositionId": "P002", - "reason": "调任原因", - "effectiveDate": "2024-12-01", - "remark": "备注信息" -} -``` - -#### 16. 续任班干部 -```http -POST /xg-xx/classCadre/renew -``` - -**权限要求**: `xg:classCadre:renew` - -**请求体**: -```json -{ - "id": "1234567890123456789", - "newEndDate": "2025-12-01", - "reason": "续任原因", - "remark": "备注信息" -} -``` - -#### 17. 辞职申请 -```http -POST /xg-xx/classCadre/resign -``` - -**权限要求**: `xg:classCadre:resign` - -**请求体**: -```json -{ - "id": "1234567890123456789", - "reason": "辞职原因", - "effectiveDate": "2024-12-01", - "remark": "备注信息" -} -``` - -### 统计查询接口 - -#### 18. 获取统计数据 -```http -GET /xg-xx/classCadre/statistics -``` - -**权限要求**: `xg:classCadre:statistics` - -**请求参数**: -```json -{ - "collegeId": "学院ID", - "gradeId": "年级ID", - "startDate": "开始日期", - "endDate": "结束日期" -} -``` - -**响应示例**: -```json -{ - "code": 200, - "msg": "查询成功", - "data": { - "totalCount": 500, - "currentCount": 450, - "excellentCount": 200, - "expiringSoonCount": 50, - "positionDistribution": [ - {"positionName": "班长", "count": 50}, - {"positionName": "副班长", "count": 45} - ], - "statusDistribution": [ - {"status": "在任", "count": 450}, - {"status": "已免职", "count": 30} - ], - "collegeStatistics": [ - {"collegeName": "计算机学院", "count": 100}, - {"collegeName": "机械学院", "count": 80} - ] - } -} -``` - -#### 19. 获取按学院统计 -```http -GET /xg-xx/classCadre/statisticsByCollege -``` - -**权限要求**: `xg:classCadre:statistics` - -#### 20. 获取按年级统计 -```http -GET /xg-xx/classCadre/statisticsByGrade -``` - -**权限要求**: `xg:classCadre:statistics` - -#### 21. 获取到期提醒 -```http -GET /xg-xx/classCadre/expiringReminder -``` - -**权限要求**: `xg:classCadre:expireReminder` - -**请求参数**: -```json -{ - "days": 30 -} -``` - -### 辅助功能接口 - -#### 22. 批量操作 -```http -POST /xg-xx/classCadre/batch -``` - -**权限要求**: `xg:classCadre:batch` - -**请求体**: -```json -{ - "operation": "dismiss", - "ids": ["id1", "id2", "id3"], - "reason": "批量操作原因", - "effectiveDate": "2024-12-01" -} -``` - -#### 23. 数据校验 -```http -POST /xg-xx/classCadre/validate -``` - -**权限要求**: `xg:classCadre:validate` - -**请求体**: -```json -{ - "studentId": "1001", - "classId": "C001", - "positionId": "P001", - "startDate": "2024-09-01", - "endDate": "2025-07-01" -} -``` - -## 数据模型 - -### 班干部信息 (XgClassCadre) - -| 字段名 | 类型 | 说明 | 必填 | -|--------|------|------|------| -| id | Long | 主键ID | 是 | -| studentId | String | 学生ID | 是 | -| studentName | String | 学生姓名 | 是 | -| classId | String | 班级ID | 是 | -| className | String | 班级名称 | 是 | -| positionId | String | 职务ID | 是 | -| positionName | String | 职务名称 | 是 | -| positionLevel | Integer | 职务级别 | 是 | -| status | String | 任职状态 | 是 | -| isCurrent | Boolean | 是否现任 | 是 | -| startDate | Date | 任职开始日期 | 是 | -| endDate | Date | 任职结束日期 | 否 | -| termMonths | Integer | 任期月数 | 否 | -| workPerformance | String | 工作表现 | 否 | -| phoneNumber | String | 联系电话 | 否 | -| email | String | 邮箱地址 | 否 | -| responsibilities | String | 职责描述 | 否 | -| permissions | String | 权限描述 | 否 | -| remark | String | 备注 | 否 | - -### 班干部变更记录 (XgCadreChangeLog) - -| 字段名 | 类型 | 说明 | 必填 | -|--------|------|------|------| -| id | Long | 主键ID | 是 | -| cadreId | Long | 班干部ID | 是 | -| operationType | String | 操作类型 | 是 | -| oldPositionId | String | 原职务ID | 否 | -| newPositionId | String | 新职务ID | 否 | -| reason | String | 变更原因 | 否 | -| effectiveDate | Date | 生效日期 | 是 | -| operatorId | Long | 操作人ID | 是 | -| operatorName | String | 操作人姓名 | 是 | -| remark | String | 备注 | 否 | - -### 班干部职务配置 (XgCadrePositionConfig) - -| 字段名 | 类型 | 说明 | 必填 | -|--------|------|------|------| -| id | Long | 主键ID | 是 | -| positionCode | String | 职务代码 | 是 | -| positionName | String | 职务名称 | 是 | -| positionLevel | Integer | 职务级别 | 是 | -| maxCount | Integer | 最大人数 | 是 | -| responsibilities | String | 职责描述 | 否 | -| permissions | String | 权限描述 | 否 | -| isActive | Boolean | 是否启用 | 是 | -| sortOrder | Integer | 排序 | 是 | -| remark | String | 备注 | 否 | - -## 状态码说明 - -### 任职状态 (status) -- `draft`: 草稿 -- `waiting`: 待审核 -- `complete`: 在任 -- `expired`: 已到期 -- `dismissed`: 已免职 -- `transferred`: 已调任 -- `resigned`: 已辞职 - -### 操作类型 (operationType) -- `appoint`: 任命 -- `dismiss`: 免职 -- `transfer`: 调任 -- `renew`: 续任 -- `resign`: 辞职 -- `modify`: 修改 - -### 工作表现 (workPerformance) -- `excellent`: 优秀 -- `good`: 良好 -- `average`: 一般 -- `poor`: 较差 - -## 权限说明 - -### 角色权限分配 - -| 角色 | 权限范围 | 说明 | -|------|----------|------| -| 超级管理员 | 全部权限 | 所有操作权限 | -| 学生处管理员 | 全部权限 | 所有操作权限 | -| 二级学院管理员 | 除删除外的权限 | 不能删除班干部记录 | -| 辅导员 | 基础管理和任免权限 | 可进行班干部任免操作 | -| 班级教师 | 查看和统计权限 | 只能查看相关信息 | -| 学生 | 仅查看权限 | 只能查看班干部信息 | - -### 权限标识列表 - -| 权限标识 | 权限名称 | 说明 | -|----------|----------|------| -| xg:classCadre:list | 班干部列表 | 查看班干部列表 | -| xg:classCadre:query | 班干部查询 | 查询班干部详情 | -| xg:classCadre:add | 班干部新增 | 新增班干部 | -| xg:classCadre:edit | 班干部修改 | 修改班干部信息 | -| xg:classCadre:remove | 班干部删除 | 删除班干部记录 | -| xg:classCadre:export | 班干部导出 | 导出班干部数据 | -| xg:classCadre:import | 班干部导入 | 导入班干部数据 | -| xg:classCadre:appoint | 班干部任命 | 任命班干部 | -| xg:classCadre:dismiss | 班干部免职 | 免职班干部 | -| xg:classCadre:transfer | 班干部调任 | 调任班干部 | -| xg:classCadre:renew | 班干部续任 | 续任班干部 | -| xg:classCadre:resign | 班干部辞职 | 辞职申请 | -| xg:classCadre:statistics | 统计查看 | 查看统计数据 | -| xg:classCadre:batch | 批量操作 | 批量处理 | -| xg:classCadre:validate | 数据校验 | 数据有效性校验 | - -## 错误码说明 - -| 错误码 | 错误信息 | 说明 | -|--------|----------|------| -| 40001 | 学生不存在 | 指定的学生ID不存在 | -| 40002 | 班级不存在 | 指定的班级ID不存在 | -| 40003 | 职务不存在 | 指定的职务ID不存在 | -| 40004 | 学生已担任该职务 | 学生已经担任该职务 | -| 40005 | 职务人数已满 | 该职务已达到最大人数限制 | -| 40006 | 任职日期冲突 | 任职时间与现有记录冲突 | -| 40007 | 班干部记录不存在 | 指定的班干部记录不存在 | -| 40008 | 操作权限不足 | 当前用户没有操作权限 | -| 40009 | 数据校验失败 | 提交的数据不符合规则 | -| 40010 | 批量操作失败 | 批量操作部分失败 | - -## 使用示例 - -### 1. 查询班级班干部 -```javascript -// 查询计算机一班的所有班干部 -const response = await api.get('/xg-xx/classCadre/listByClass/C001'); -console.log(response.data); -``` - -### 2. 任命班干部 -```javascript -// 任命张三为班长 -const appointData = { - studentId: '1001', - classId: 'C001', - positionId: 'P001', - startDate: '2024-09-01', - endDate: '2025-07-01', - reason: '综合表现优秀,具备领导能力' -}; -const response = await api.post('/xg-xx/classCadre/appoint', appointData); -``` - -### 3. 获取统计数据 -```javascript -// 获取计算机学院的班干部统计 -const response = await api.get('/xg-xx/classCadre/statistics', { - params: { collegeId: 'COL001' } -}); -console.log(response.data); -``` - -## 注意事项 - -1. **数据一致性**: 班干部信息与学生信息、班级信息保持一致 -2. **权限控制**: 严格按照角色权限进行操作控制 -3. **变更记录**: 所有重要操作都会记录变更日志 -4. **任期管理**: 注意任期时间的合理性和连续性 -5. **状态管理**: 正确维护班干部的任职状态 -6. **并发控制**: 防止同时操作导致的数据冲突 - -## 更新日志 - -| 版本 | 日期 | 更新内容 | -|------|------|----------| -| V1.0.0 | 2025-01-08 | 初始版本,完整的班干部管理API | - ---- - -**文档维护**: Cursor AI 辅助 -**最后更新**: 2025-01-08 -**文档状态**: 已完成 \ No newline at end of file diff --git a/docs/开发文档/API/班级教师关联管理API.md b/docs/开发文档/API/班级教师关联管理API.md deleted file mode 100644 index 6f3eec03..00000000 --- a/docs/开发文档/API/班级教师关联管理API.md +++ /dev/null @@ -1,299 +0,0 @@ -# 班级教师关联管理API文档 - -## 文档信息 -- **模块名称**: 班级教师关联管理 -- **版本**: 1.0.1 -- **最后更新**: 2025-07-24 -- **更新人**: zlwu - -## API概览 - -本文档主要描述班级与教师(班主任/辅导员)关联的相关API接口,提供班主任和辅导员的设置、更新、查询等功能。 - -### 基础数据结构 - -#### 班级教师关联对象 (XgClassTeacherCounselorRelBo) - -| 字段名 | 类型 | 必填 | 描述 | -| --- | --- | --- | --- | -| id | Long | 否(新增)/是(修改) | 主键ID | -| classId | Long | 是 | 班级ID | -| teacherId | Long | 否 | 班主任ID | -| teacherName | String | 否 | 班主任姓名 | -| counselorId | Long | 否 | 辅导员ID | -| counselorName | String | 否 | 辅导员姓名 | -| relationType | Integer | 是 | 关联类型: 1-班主任, 2-辅导员 | -| startDate | Date | 否 | 开始日期 | -| endDate | Date | 否 | 结束日期 | -| remark | String | 否 | 备注信息 | -| createTime | Date | 是 | 创建时间 | -| createBy | Long | 是 | 创建者 | -| updateTime | Date | 是 | 更新时间 | -| updateBy | Long | 是 | 更新者 | - -## 接口列表 - -### 1. 查询班级教师关联列表 - -- **接口URL**: `/teacherCounselorRel/classTeacherCounselorRel/list` -- **请求方式**: GET -- **权限标识**: `teacherCounselorRel:classTeacherCounselorRel:list` - -#### 请求参数 - -| 参数名 | 类型 | 必填 | 位置 | 描述 | -| --- | --- | --- | --- | --- | -| classId | Long | 否 | query | 班级ID | -| relationType | Integer | 否 | query | 关联类型: 1-班主任, 2-辅导员 | -| pageNum | Integer | 否 | query | 当前页码, 默认为1 | -| pageSize | Integer | 否 | query | 每页数量, 默认为10 | - -#### 响应结果 - -```json -{ - "total": 100, - "rows": [ - { - "id": 1, - "classId": 1001, - "teacherId": 2001, - "teacherName": "张老师", - "counselorId": 3001, - "counselorName": "李辅导员", - "relationType": 1, - "remark": "高一年级班主任", - "createTime": "2025-07-01 10:00:00", - "createBy": 1, - "updateTime": "2025-07-20 15:30:00", - "updateBy": 1 - } - ], - "code": 200, - "msg": "查询成功" -} -``` - -### 2. 获取班级教师关联详情 - -- **接口URL**: `/teacherCounselorRel/classTeacherCounselorRel/{id}` -- **请求方式**: GET -- **权限标识**: `teacherCounselorRel:classTeacherCounselorRel:query` - -#### 请求参数 - -| 参数名 | 类型 | 必填 | 位置 | 描述 | -| --- | --- | --- | --- | --- | -| id | Long | 是 | path | 关联ID | - -#### 响应结果 - -```json -{ - "code": 200, - "data": { - "id": 1, - "classId": 1001, - "teacherId": 2001, - "teacherName": "张老师", - "counselorId": 3001, - "counselorName": "李辅导员", - "relationType": 1, - "remark": "高一年级班主任", - "createTime": "2025-07-01 10:00:00", - "createBy": 1, - "updateTime": "2025-07-20 15:30:00", - "updateBy": 1 - }, - "msg": "操作成功" -} -``` - -### 3. 新增班级教师关联 - -- **接口URL**: `/teacherCounselorRel/classTeacherCounselorRel` -- **请求方式**: POST -- **权限标识**: `teacherCounselorRel:classTeacherCounselorRel:add` - -#### 请求参数 - -| 参数名 | 类型 | 必填 | 位置 | 描述 | -| --- | --- | --- | --- | --- | -| classId | Long | 是 | body | 班级ID | -| teacherId | Long | 否 | body | 班主任ID | -| teacherName | String | 否 | body | 班主任姓名 | -| counselorId | Long | 否 | body | 辅导员ID | -| counselorName | String | 否 | body | 辅导员姓名 | -| relationType | Integer | 是 | body | 关联类型: 1-班主任, 2-辅导员 | -| remark | String | 否 | body | 备注信息 | - -#### 请求示例 - -```json -{ - "classId": 1001, - "teacherId": 2001, - "teacherName": "张老师", - "relationType": 1, - "remark": "高一年级班主任" -} -``` - -#### 响应结果 - -```json -{ - "code": 200, - "msg": "操作成功" -} -``` - -### 4. 修改班级教师关联 - -- **接口URL**: `/teacherCounselorRel/classTeacherCounselorRel` -- **请求方式**: PUT -- **权限标识**: `teacherCounselorRel:classTeacherCounselorRel:edit` - -#### 请求参数 - -| 参数名 | 类型 | 必填 | 位置 | 描述 | -| --- | --- | --- | --- | --- | -| id | Long | 是 | body | 关联ID | -| classId | Long | 否 | body | 班级ID | -| teacherId | Long | 否 | body | 班主任ID | -| teacherName | String | 否 | body | 班主任姓名 | -| counselorId | Long | 否 | body | 辅导员ID | -| counselorName | String | 否 | body | 辅导员姓名 | -| relationType | Integer | 否 | body | 关联类型: 1-班主任, 2-辅导员 | -| remark | String | 否 | body | 备注信息 | - -#### 班主任更换机制 - -当通过此接口更换班主任时(relationType=1),系统会执行以下操作: - -1. 将当前班级的所有未删除的班主任记录标记为已删除(deleted=1) -2. 设置原班主任记录的结束日期(endDate)为当前日期时间 -3. 创建新的班主任关联记录,设置开始日期(startDate)为当前日期时间 -4. 同步更新班级表中的班主任信息 - -这样确保了班主任更换记录的完整性,可以通过查看历史记录追踪班级班主任的变更情况。 - -#### 请求示例 - -```json -{ - "id": 1, - "classId": 1001, - "teacherId": 2002, - "teacherName": "王老师", - "relationType": 1, - "remark": "高一年级新班主任" -} -``` - -#### 响应结果 - -```json -{ - "code": 200, - "msg": "操作成功" -} -``` - -### 5. 删除班级教师关联 - -- **接口URL**: `/teacherCounselorRel/classTeacherCounselorRel/{ids}` -- **请求方式**: DELETE -- **权限标识**: `teacherCounselorRel:classTeacherCounselorRel:remove` - -#### 请求参数 - -| 参数名 | 类型 | 必填 | 位置 | 描述 | -| --- | --- | --- | --- | --- | -| ids | Long[] | 是 | path | 关联ID数组,多个以英文逗号分隔 | - -#### 响应结果 - -```json -{ - "code": 200, - "msg": "操作成功" -} -``` - -### 6. 导出班级教师关联数据 - -- **接口URL**: `/teacherCounselorRel/classTeacherCounselorRel/export` -- **请求方式**: POST -- **权限标识**: `teacherCounselorRel:classTeacherCounselorRel:export` -- **响应类型**: application/vnd.ms-excel - -#### 请求参数 - -| 参数名 | 类型 | 必填 | 位置 | 描述 | -| --- | --- | --- | --- | --- | -| classId | Long | 否 | query | 班级ID | -| relationType | Integer | 否 | query | 关联类型: 1-班主任, 2-辅导员 | - -## 前端调用示例 - -### 设置班主任 - -```typescript -// 导入API -import { addClassTeacherCounselorRel } from '@/api/xg/classTeacherCounselorRel'; - -// 构造数据 -const teacherRelData = { - classId: classId, - teacherId: teacherId, - teacherName: teacherName, - relationType: 1 // 1表示班主任类型 -}; - -// 调用API -try { - await addClassTeacherCounselorRel(teacherRelData); - this.$modal.msgSuccess('班主任设置成功'); -} catch (error) { - this.$modal.msgError('设置失败,请重试'); -} -``` - -### 设置辅导员 - -```typescript -// 导入API -import { addClassTeacherCounselorRel } from '@/api/xg/classTeacherCounselorRel'; - -// 构造数据 -const counselorRelData = { - classId: classId, - counselorId: counselorId, - counselorName: counselorName, - relationType: 2 // 2表示辅导员类型 -}; - -// 调用API -try { - await addClassTeacherCounselorRel(counselorRelData); - this.$modal.msgSuccess('辅导员设置成功'); -} catch (error) { - this.$modal.msgError('设置失败,请重试'); -} -``` - -## 错误码说明 - -| 错误码 | 描述 | 解决方案 | -| --- | --- | --- | -| 400 | 请求参数错误 | 检查请求参数是否正确 | -| 401 | 未授权 | 检查登录状态和权限 | -| 500 | 服务器内部错误 | 联系管理员 | - -## 更新记录 - -| 日期 | 更新人 | 版本 | 变更内容 | -| --- | --- | --- | --- | -| 2025-07-24 | zlwu | 1.0.1 | 添加班主任更换机制说明,补充开始/结束日期字段 | -| 2025-07-24 | zlwu | 1.0.0 | 初始版本 | \ No newline at end of file diff --git a/docs/开发文档/移动端iconfont图标使用指南.md b/docs/开发文档/移动端iconfont图标使用指南.md deleted file mode 100644 index dea24ea3..00000000 --- a/docs/开发文档/移动端iconfont图标使用指南.md +++ /dev/null @@ -1,351 +0,0 @@ -# 移动端 iconfont 图标使用指南 - -## 📋 概述 - -本项目已集成 iconfont.cn 图标字体库,提供丰富的矢量图标,替代 emoji 和 uview-plus 图标,确保跨平台兼容性。 - -## 🎯 解决的问题 - -- **uview-plus 图标显示异常**:u-icon 组件在某些环境下显示为横线 -- **emoji 兼容性问题**:不同设备和系统 emoji 显示效果不一致 -- **图标扩展性**:iconfont 提供更丰富的图标选择 - -## 📦 安装配置 - -### 1. 字体文件配置 - -**文件位置**:`mobile/src/static/fonts/iconfont.css` - -```css -@font-face { - font-family: 'iconfont'; - src: url('//at.alicdn.com/t/c/font_4793979_9m3yqql3ybj.woff2?t=1704153600') format('woff2'), url('//at.alicdn.com/t/c/font_4793979_9m3yqql3ybj.woff?t=1704153600') - format('woff'), - url('//at.alicdn.com/t/c/font_4793979_9m3yqql3ybj.ttf?t=1704153600') format('truetype'); -} - -.iconfont { - font-family: 'iconfont' !important; - font-size: 16px; - font-style: normal; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} -``` - -### 2. 全局引入 - -**文件位置**:`mobile/src/main.js` - -```javascript -// 导入 iconfont 样式 -import '@/static/fonts/iconfont.css'; -``` - -## 🎨 可用图标列表 - -### 基础图标 - -| 图标 | 类名 | 说明 | 编码 | -| ---- | ---------------- | -------- | ------- | -| 👤 | `icon-user` | 用户 | `\e7ae` | -| 🔒 | `icon-lock` | 锁定 | `\e60e` | -| 👁️ | `icon-eye` | 显示密码 | `\e61c` | -| 🙈 | `icon-eye-close` | 隐藏密码 | `\e61d` | - -### 操作图标 - -| 图标 | 类名 | 说明 | 编码 | -| ---- | ------------- | ---- | ------- | -| 🚪 | `icon-login` | 登录 | `\e612` | -| 🔍 | `icon-search` | 搜索 | `\e6b4` | -| ➕ | `icon-add` | 添加 | `\e6a4` | -| ✅ | `icon-check` | 确认 | `\e6a8` | -| ❌ | `icon-close` | 关闭 | `\e6a9` | - -### 导航图标 - -| 图标 | 类名 | 说明 | 编码 | -| ---- | ------------------ | ------ | ------- | -| 🏠 | `icon-home` | 首页 | `\e65e` | -| 💬 | `icon-message` | 消息 | `\e6a7` | -| ⚙️ | `icon-setting` | 设置 | `\e6b8` | -| ➡️ | `icon-arrow-right` | 箭头右 | `\e6a3` | - -### 联系图标 - -| 图标 | 类名 | 说明 | 编码 | -| ---- | ------------ | ---- | ------- | -| 📞 | `icon-phone` | 电话 | `\e69a` | -| 📧 | `icon-mail` | 邮箱 | `\e692` | - -## 🚀 使用方法 - -### 1. 基础用法 - -```vue - - - -``` - -### 2. 登录表单中的应用 - -```vue - - - -``` - -### 3. 动态图标切换 - -```vue - - - -``` - -## 🎨 样式自定义 - -### 1. 基础样式属性 - -```css -.iconfont { - /* 字体大小 */ - font-size: 16px; - - /* 颜色 */ - color: #333; - - /* 其他样式 */ - opacity: 0.8; - transition: all 0.3s ease; -} -``` - -### 2. 响应式设计 - -```css -/* 小屏幕 */ -@media (max-width: 375px) { - .iconfont { - font-size: 14px; - } -} - -/* 大屏幕 */ -@media (min-width: 768px) { - .iconfont { - font-size: 20px; - } -} -``` - -### 3. 主题适配 - -```css -/* 亮色主题 */ -.light-theme .iconfont { - color: #333; -} - -/* 暗色主题 */ -.dark-theme .iconfont { - color: #fff; -} -``` - -## 🔧 扩展图标 - -### 1. 从 iconfont.cn 添加新图标 - -1. **访问项目**:打开 [iconfont.cn](https://www.iconfont.cn/) 的项目页面 -2. **选择图标**:浏览并添加需要的图标到项目 -3. **生成代码**:下载新的字体文件和 CSS 代码 -4. **更新项目**:替换 `iconfont.css` 中的字体链接和图标类名 - -### 2. 图标命名规范 - -```css -/* 建议的命名格式 */ -.icon-[功能]-[状态] - -例如: -.icon-user /* 用户图标 */ -.icon-eye-open /* 眼睛打开 */ -.icon-eye-close /* 眼睛关闭 */ -.icon-arrow-left /* 左箭头 */ -.icon-arrow-right; /* 右箭头 */ -``` - -## 📱 演示页面 - -**页面位置**:`mobile/src/pages/iconfont-demo/index.vue` - -访问路径:`/pages/iconfont-demo/index` - -演示页面包含: - -- 所有可用图标的预览 -- 图标分类展示(基础、操作、导航、联系) -- 使用代码示例 -- 自定义样式演示 - -## ⚠️ 注意事项 - -### 1. 兼容性 - -- ✅ **支持平台**:H5、微信小程序、App、支付宝小程序 -- ✅ **浏览器支持**:Chrome、Safari、Firefox、Edge -- ✅ **设备支持**:iOS、Android、HarmonyOS - -### 2. 性能优化 - -```css -/* 字体预加载 */ -.iconfont { - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} -``` - -### 3. 缓存策略 - -- 字体文件使用 CDN 加载,自动缓存 -- 本地 CSS 文件确保离线可用 -- 建议定期更新字体链接时间戳 - -### 4. 回退方案 - -```vue - - - -``` - -## 📚 相关文件 - -- **样式文件**:`mobile/src/static/fonts/iconfont.css` -- **演示页面**:`mobile/src/pages/iconfont-demo/index.vue` -- **登录页面**:`mobile/src/pages/login/index.vue` -- **配置文件**:`mobile/src/main.js` - -## 🎯 最佳实践 - -1. **统一使用**:项目中统一使用 iconfont,避免混用多种图标方案 -2. **语义化命名**:使用有意义的类名,便于维护 -3. **适当大小**:根据使用场景选择合适的字体大小 -4. **颜色一致**:遵循设计规范,保持图标颜色的一致性 -5. **性能考虑**:避免一次性加载过多不使用的图标 - -## 📝 更新日志 - -- **2025-07-01**:初始版本,集成 iconfont 字体库 -- **预计扩展**:根据业务需求持续添加新图标 - ---- - -**维护者**:移动端开发团队 -**更新时间**:2025-07-01 diff --git a/docs/设计文档/database/hzdyjs_xg0819.sql b/docs/设计文档/database/hzdyjs_xg0819.sql new file mode 100644 index 00000000..517759f9 --- /dev/null +++ b/docs/设计文档/database/hzdyjs_xg0819.sql @@ -0,0 +1,6721 @@ +/* + 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: 18/08/2025 10:03:53 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- 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 '申报编号', + `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 '节点名称', + `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 '审批意见', + `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`) +) 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_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 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_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_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 '审批意见', + `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_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_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_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_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 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 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=1944643717961486339 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=1947201902067769346 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=1947202412963356674 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=1947202730556055555 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`), + UNIQUE KEY `uk_batch_type_tenant` (`batch_id`,`scholarship_type_id`,`tenant_id`,`deleted`), + 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 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 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 '分配方式:MANUAL-手动分配,AUTO-自动分配,PROPORTIONAL-按比例分配', + `is_adjustable` tinyint(1) DEFAULT '1' COMMENT '是否可调整:0-否,1-是', + `is_locked` tinyint(1) DEFAULT '0' COMMENT '是否锁定:0-否,1-是', + `status` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT 'ACTIVE' COMMENT '状态:ACTIVE-生效,INACTIVE-失效,PENDING-待审核', + `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 '删除标记:0-正常,1-删除', + 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 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 NOT NULL COMMENT '调整原因', + `approval_status` varchar(20) COLLATE utf8mb4_unicode_ci 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 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_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 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(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '操作人姓名', + `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`), + 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=105 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_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', + `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 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 '更新时间', + 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`) +) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COMMENT='出国申请表'; + +-- ---------------------------- +-- 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_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=8 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 '完成状态(1-已完成,2-已拒绝)', + `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=6 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) CHARACTER SET latin1 NOT NULL DEFAULT '', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_time` datetime DEFAULT NULL COMMENT '更新时间' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; + +-- ---------------------------- +-- 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 '职位', + `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 '删除标志', + PRIMARY KEY (`application_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='培训申请表'; + +-- ---------------------------- +-- 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 '创建部门', + `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 '证书编号', + `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=177849 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=70 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=73823 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=76342 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=1528 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', + `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_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 '导入来源信息', + 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`) +) 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` tinyint(4) NOT NULL COMMENT '评分(1-5分)', + `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 '学生姓名', + `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', + 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`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='活动报名表'; + +-- ---------------------------- +-- Table structure for stgl_attendance_record +-- ---------------------------- +DROP TABLE IF EXISTS `stgl_attendance_record`; +CREATE TABLE `stgl_attendance_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代表删除)', + `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 +-- ---------------------------- +DROP TABLE IF EXISTS `stgl_attendance_task`; +CREATE TABLE `stgl_attendance_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 '考勤任务名称', + `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_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 COMMENT '副社长列表JSON格式存储', + `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 COMMENT '指导老师列表JSON格式存储', + `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-停用)', + `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_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 '收集类型(文本,附件,图片)', + `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 '待提交人数', + 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` tinyint(4) DEFAULT NULL COMMENT '角色类型(1-社长 2-副社长 3-成员)', + `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_team_info +-- ---------------------------- +DROP TABLE IF EXISTS `stgl_team_info`; +CREATE TABLE `stgl_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 '团队描述', + `status` tinyint(4) DEFAULT '1' COMMENT '状态(1-正常 0-解散)', + 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`) +) 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 '指导老师邮箱', + `member_limit` int(11) DEFAULT '0' COMMENT '成员上限', + `status` tinyint(4) DEFAULT '1' COMMENT '状态(1-正常 0-停用)', + 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`) +) 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_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_copy1 +-- ---------------------------- +DROP TABLE IF EXISTS `sys_menu_copy1`; +CREATE TABLE `sys_menu_copy1` ( + `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_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_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_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 '班级类型: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_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) NOT 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) NOT 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 '检查备注', + 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_building +-- ---------------------------- +DROP TABLE IF EXISTS `xg_dorm_manager_building`; +CREATE TABLE `xg_dorm_manager_building` ( + `id` bigint(20) NOT NULL COMMENT '主键ID', + `manager_id` bigint(20) NOT NULL COMMENT '管理员ID', + `building_id` bigint(20) NOT NULL COMMENT '宿舍楼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`), + UNIQUE KEY `uk_manager_building` (`manager_id`,`building_id`), + KEY `idx_manager_id` (`manager_id`), + KEY `idx_building_id` (`building_id`) +) 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停用)', + `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=1956609514002198531 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_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 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_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', + `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 '咨询原因', + `actual_visit_time` datetime DEFAULT NULL COMMENT '实际到访时间', + `communication_duration` int(11) DEFAULT NULL COMMENT '沟通时长(分钟)', + `consultation_content` text COMMENT '咨询内容', + `counselor_suggestion` text COMMENT '咨询师建议', + `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', + `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_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_detail +-- ---------------------------- +DROP TABLE IF EXISTS `xskh_assessment_detail`; +CREATE TABLE `xskh_assessment_detail` ( + `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 '逻辑删除标志', + `record_id` bigint(20) NOT NULL COMMENT '测评记录ID', + `plan_id` bigint(20) NOT NULL COMMENT '计划ID', + `student_id` bigint(20) NOT NULL COMMENT '学生ID', + `indicator_id` bigint(20) NOT NULL COMMENT '指标ID', + `indicator_code` varchar(50) DEFAULT NULL COMMENT '指标编码', + `indicator_name` varchar(100) DEFAULT NULL COMMENT '指标名称', + `indicator_type` varchar(20) DEFAULT NULL COMMENT '指标类型', + `parent_indicator_id` bigint(20) DEFAULT NULL COMMENT '父级指标ID', + `indicator_level` tinyint(4) DEFAULT NULL COMMENT '指标层级', + `indicator_weight` decimal(5,4) DEFAULT NULL COMMENT '指标权重', + `max_score` decimal(5,2) DEFAULT NULL COMMENT '满分值', + `min_score` decimal(5,2) DEFAULT '0.00' COMMENT '最低分', + `self_eval_score` decimal(5,2) DEFAULT NULL COMMENT '自评分数', + `teacher_eval_score` decimal(5,2) DEFAULT NULL COMMENT '教师评分', + `final_score` decimal(5,2) DEFAULT NULL COMMENT '最终得分', + `score_description` varchar(500) DEFAULT NULL COMMENT '评分说明', + `status` char(1) DEFAULT '1' COMMENT '状态', + `self_eval_time` datetime DEFAULT NULL COMMENT '自评时间', + `teacher_eval_time` datetime DEFAULT NULL COMMENT '教师评价时间', + `teacher_id` bigint(20) DEFAULT NULL COMMENT '评价教师ID', + `evidence_files` json DEFAULT NULL COMMENT '佐证材料', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`), + KEY `idx_record_id` (`record_id`), + KEY `idx_plan_id` (`plan_id`), + KEY `idx_student_id` (`student_id`), + KEY `idx_indicator_id` (`indicator_id`), + KEY `idx_parent_indicator_id` (`parent_indicator_id`), + KEY `idx_status` (`status`), + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_deleted` (`deleted`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 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(雪花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 '删除标志', + `indicator_code` varchar(32) NOT NULL COMMENT '指标编码(唯一标识)', + `indicator_name` varchar(100) NOT NULL COMMENT '指标名称', + `indicator_desc` text COMMENT '指标说明及评分标准', + `short_name` varchar(50) DEFAULT NULL COMMENT '指标简称', + `english_name` varchar(100) DEFAULT NULL COMMENT '英文名称', + `parent_id` bigint(20) DEFAULT '0' COMMENT '父级指标ID', + `level` tinyint(1) DEFAULT '1' COMMENT '指标层级:1-一级,2-二级,3-三级', + `path` varchar(500) DEFAULT NULL COMMENT '层级路径(如:1/2/3)', + `has_children` char(1) DEFAULT '0' COMMENT '是否有子指标:0-否,1-是', + `indicator_type` varchar(20) NOT NULL COMMENT '指标类型:moral-德育,intellectual-智育,physical-体育,aesthetic-美育,labor-劳育', + `category` varchar(50) DEFAULT NULL COMMENT '指标分类:basic-基础指标,bonus-加分指标,deduct-扣分指标', + `dimension` varchar(50) DEFAULT NULL COMMENT '测评维度:academic-学业,behavior-行为,ability-能力,innovation-创新', + `max_score` decimal(5,2) NOT NULL COMMENT '满分分值', + `min_score` decimal(5,2) DEFAULT '0.00' COMMENT '最低分值', + `default_score` decimal(5,2) DEFAULT '0.00' COMMENT '默认分值', + `weight` decimal(3,2) DEFAULT '1.00' COMMENT '权重系数', + `score_precision` tinyint(1) DEFAULT '2' COMMENT '分数精度(小数位数)', + `calculation_method` varchar(50) DEFAULT 'manual' COMMENT '计算方式:manual-手工录入,auto-自动计算,formula-公式计算', + `formula` text COMMENT '计算公式', + `data_source` varchar(100) DEFAULT NULL COMMENT '数据来源', + `update_frequency` varchar(20) DEFAULT NULL COMMENT '更新频率:realtime-实时,daily-每日,weekly-每周,monthly-每月', + `scoring_criteria` json DEFAULT NULL COMMENT '评分标准(JSON格式)', + `score_levels` json DEFAULT NULL COMMENT '分数等级(优秀、良好、合格、不合格)', + `benchmark_score` decimal(5,2) DEFAULT NULL COMMENT '基准分数', + `pass_score` decimal(5,2) DEFAULT NULL COMMENT '及格分数', + `evaluator_roles` json DEFAULT NULL COMMENT '评价人角色列表', + `viewer_roles` json DEFAULT NULL COMMENT '查看人角色列表', + `self_eval_allowed` char(1) DEFAULT '1' COMMENT '是否允许自评:0-否,1-是', + `peer_eval_allowed` char(1) DEFAULT '0' COMMENT '是否允许互评:0-否,1-是', + `applicable_grades` json DEFAULT NULL COMMENT '适用年级', + `applicable_majors` json DEFAULT NULL COMMENT '适用专业', + `applicable_colleges` json DEFAULT NULL COMMENT '适用学院', + `effective_date` date DEFAULT NULL COMMENT '生效日期', + `expire_date` date DEFAULT NULL COMMENT '失效日期', + `status` char(1) DEFAULT '1' COMMENT '状态:0-禁用,1-启用', + `is_published` char(1) DEFAULT '0' COMMENT '是否发布:0-未发布,1-已发布', + `is_required` char(1) DEFAULT '1' COMMENT '是否必填:0-否,1-是', + `is_visible` char(1) DEFAULT '1' COMMENT '是否可见:0-否,1-是', + `usage_count` int(11) DEFAULT '0' COMMENT '使用次数', + `avg_score` decimal(5,2) DEFAULT '0.00' COMMENT '平均分', + `sort_order` int(11) DEFAULT '0' COMMENT '排序序号', + `version` int(11) DEFAULT '1' COMMENT '版本号', + `input_type` varchar(20) DEFAULT 'number' COMMENT '输入类型:number-数字,text-文本,select-选择,checkbox-复选', + `validation_rules` json DEFAULT NULL COMMENT '验证规则', + `help_text` varchar(500) DEFAULT NULL COMMENT '帮助说明', + `placeholder` varchar(200) DEFAULT NULL COMMENT '输入提示', + `reference_standard` varchar(500) DEFAULT NULL COMMENT '参考标准', + `related_indicators` json DEFAULT NULL COMMENT '关联指标', + `remark` varchar(500) DEFAULT NULL COMMENT '备注信息', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE KEY `uk_indicator_code_tenant` (`indicator_code`,`tenant_id`), + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_deleted` (`deleted`), + KEY `idx_parent_id` (`parent_id`), + KEY `idx_indicator_type` (`indicator_type`), + KEY `idx_status` (`status`), + KEY `idx_level` (`level`), + KEY `idx_sort_order` (`sort_order`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 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', + `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 '逻辑删除标志', + `plan_code` varchar(32) NOT NULL COMMENT '计划编码', + `plan_name` varchar(100) NOT NULL COMMENT '计划名称', + `plan_desc` text COMMENT '计划描述', + `scheme_id` bigint(20) NOT NULL COMMENT '评价方案ID', + `scheme_name` varchar(100) DEFAULT NULL COMMENT '评价方案名称', + `plan_cycle` varchar(50) NOT NULL COMMENT '考核周期', + `start_date` date NOT NULL COMMENT '开始日期', + `end_date` date NOT NULL COMMENT '结束日期', + `self_eval_start_time` datetime DEFAULT NULL COMMENT '自评开始时间', + `self_eval_end_time` datetime DEFAULT NULL COMMENT '自评结束时间', + `teacher_eval_start_time` datetime DEFAULT NULL COMMENT '教师评价开始时间', + `teacher_eval_end_time` datetime DEFAULT NULL COMMENT '教师评价结束时间', + `target_grades` json DEFAULT NULL COMMENT '目标年级', + `target_majors` json DEFAULT NULL COMMENT '目标专业', + `target_colleges` json DEFAULT NULL COMMENT '目标学院', + `student_types` json DEFAULT NULL COMMENT '学生类型', + `total_students` int(11) DEFAULT '0' COMMENT '总学生数', + `completed_students` int(11) DEFAULT '0' COMMENT '已完成学生数', + `approved_students` int(11) DEFAULT '0' COMMENT '已审核学生数', + `avg_score` decimal(5,2) DEFAULT '0.00' COMMENT '平均分', + `max_score` decimal(5,2) DEFAULT '0.00' COMMENT '最高分', + `min_score` decimal(5,2) DEFAULT '0.00' COMMENT '最低分', + `status` char(1) DEFAULT '1' COMMENT '状态', + `is_published` char(1) DEFAULT '0' COMMENT '是否发布', + `workflow_enabled` char(1) DEFAULT '0' COMMENT '是否启用工作流', + `approval_required` char(1) DEFAULT '1' COMMENT '是否需要审批', + `approval_levels` tinyint(1) DEFAULT '2' COMMENT '审批级数', + `allow_self_eval` char(1) DEFAULT '1' COMMENT '允许自评', + `allow_teacher_eval` char(1) DEFAULT '1' COMMENT '允许教师评价', + `show_ranking` char(1) DEFAULT '1' COMMENT '显示排名', + `show_score` char(1) DEFAULT '1' COMMENT '显示分数', + `manager_id` bigint(20) DEFAULT NULL COMMENT '负责人ID', + `manager_name` varchar(50) DEFAULT NULL COMMENT '负责人姓名', + `manage_dept` bigint(20) DEFAULT NULL COMMENT '管理部门', + `manage_dept_name` varchar(100) DEFAULT NULL COMMENT '管理部门名称', + `implementation_guide` text COMMENT '实施指南', + `change_log` json DEFAULT NULL COMMENT '变更日志', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`), + KEY `idx_plan_code` (`plan_code`), + KEY `idx_scheme_id` (`scheme_id`), + KEY `idx_start_date` (`start_date`), + KEY `idx_end_date` (`end_date`), + KEY `idx_status` (`status`), + KEY `idx_manager_id` (`manager_id`), + KEY `idx_manage_dept` (`manage_dept`), + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_deleted` (`deleted`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='考核计划表'; + +-- ---------------------------- +-- Table structure for xskh_assessment_record +-- ---------------------------- +DROP TABLE IF EXISTS `xskh_assessment_record`; +CREATE TABLE `xskh_assessment_record` ( + `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 '逻辑删除标志', + `plan_id` bigint(20) NOT NULL COMMENT '计划ID', + `plan_code` varchar(32) DEFAULT NULL COMMENT '计划编码', + `plan_name` varchar(100) DEFAULT NULL COMMENT '计划名称', + `student_id` bigint(20) NOT NULL COMMENT '学生ID', + `student_code` varchar(50) DEFAULT NULL COMMENT '学号', + `student_name` varchar(50) DEFAULT 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 '班级名称', + `grade` varchar(10) DEFAULT NULL COMMENT '年级', + `student_type` varchar(20) DEFAULT NULL COMMENT '学生类型', + `final_score` decimal(5,2) DEFAULT '0.00' COMMENT '最终得分', + `self_eval_score` decimal(5,2) DEFAULT '0.00' COMMENT '自评分数', + `teacher_eval_score` decimal(5,2) DEFAULT '0.00' COMMENT '教师评分', + `class_rank` int(11) DEFAULT NULL COMMENT '班级排名', + `grade_rank` int(11) DEFAULT NULL COMMENT '年级排名', + `major_rank` int(11) DEFAULT NULL COMMENT '专业排名', + `college_rank` int(11) DEFAULT NULL COMMENT '学院排名', + `status` char(1) DEFAULT '1' COMMENT '状态', + `is_submitted` char(1) DEFAULT '0' COMMENT '是否提交', + `submit_time` datetime DEFAULT NULL COMMENT '提交时间', + `is_approved` char(1) DEFAULT '0' COMMENT '是否审核', + `approved_by` bigint(20) DEFAULT NULL COMMENT '审核人', + `approved_time` datetime DEFAULT NULL COMMENT '审核时间', + `approval_comment` varchar(500) DEFAULT NULL COMMENT '审核意见', + `self_eval_time` datetime DEFAULT NULL COMMENT '自评时间', + `teacher_eval_time` datetime DEFAULT NULL COMMENT '教师评价时间', + `teacher_id` bigint(20) DEFAULT NULL COMMENT '评价教师ID', + `teacher_name` varchar(50) DEFAULT NULL COMMENT '评价教师姓名', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`), + KEY `idx_plan_id` (`plan_id`), + KEY `idx_student_id` (`student_id`), + KEY `idx_student_code` (`student_code`), + KEY `idx_college_id` (`college_id`), + KEY `idx_major_id` (`major_id`), + KEY `idx_class_id` (`class_id`), + KEY `idx_grade` (`grade`), + KEY `idx_status` (`status`), + KEY `idx_final_score` (`final_score`), + KEY `idx_submit_time` (`submit_time`), + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_deleted` (`deleted`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='综合测评记录表'; + +-- ---------------------------- +-- Table structure for xskh_assessment_scheme +-- ---------------------------- +DROP TABLE IF EXISTS `xskh_assessment_scheme`; +CREATE TABLE `xskh_assessment_scheme` ( + `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 '删除标志', + `scheme_code` varchar(32) NOT NULL COMMENT '方案编号(唯一标识)', + `scheme_name` varchar(100) NOT NULL COMMENT '方案名称', + `scheme_desc` text COMMENT '方案说明(目的及适用范围)', + `short_name` varchar(50) DEFAULT NULL COMMENT '方案简称', + `version` varchar(20) DEFAULT 'V1.0' COMMENT '方案版本', + `target_grades` json DEFAULT NULL COMMENT '目标年级', + `target_majors` json DEFAULT NULL COMMENT '目标专业', + `target_colleges` json DEFAULT NULL COMMENT '目标学院', + `student_types` json DEFAULT NULL COMMENT '学生类型:undergraduate-本科生,graduate-研究生,exchange-交换生', + `total_score` decimal(5,2) DEFAULT '100.00' COMMENT '总分', + `pass_score` decimal(5,2) DEFAULT '60.00' COMMENT '及格分', + `good_score` decimal(5,2) DEFAULT '75.00' COMMENT '良好分', + `excellent_score` decimal(5,2) DEFAULT '85.00' COMMENT '优秀分', + `score_precision` tinyint(1) DEFAULT '2' COMMENT '分数精度', + `calculation_method` varchar(50) DEFAULT 'weighted' COMMENT '计算方法:weighted-加权平均,sum-直接相加,custom-自定义', + `weight_distribution` json DEFAULT NULL COMMENT '权重分配(各指标类型权重)', + `bonus_limit` decimal(5,2) DEFAULT '20.00' COMMENT '加分上限', + `deduction_limit` decimal(5,2) DEFAULT '-20.00' COMMENT '扣分下限', + `final_score_formula` text COMMENT '最终得分公式', + `effective_date` date DEFAULT NULL COMMENT '生效日期', + `expire_date` date DEFAULT NULL COMMENT '失效日期', + `assessment_cycle` varchar(20) DEFAULT 'semester' COMMENT '评价周期:semester-学期,year-学年,month-月度', + `cycle_duration` int(11) DEFAULT '6' COMMENT '周期时长(月)', + `workflow_enabled` char(1) DEFAULT '0' COMMENT '是否启用工作流:0-否,1-是', + `approval_required` char(1) DEFAULT '1' COMMENT '是否需要审核:0-否,1-是', + `approval_levels` tinyint(1) DEFAULT '2' COMMENT '审核级别数', + `auto_publish` char(1) DEFAULT '0' COMMENT '是否自动发布:0-否,1-是', + `creator_roles` json DEFAULT NULL COMMENT '创建人角色', + `evaluator_roles` json DEFAULT NULL COMMENT '评价人角色', + `approver_roles` json DEFAULT NULL COMMENT '审核人角色', + `viewer_roles` json DEFAULT NULL COMMENT '查看人角色', + `status` char(1) DEFAULT '1' COMMENT '状态:0-禁用,1-启用', + `is_published` char(1) DEFAULT '0' COMMENT '是否发布:0-未发布,1-已发布', + `is_default` char(1) DEFAULT '0' COMMENT '是否默认方案:0-否,1-是', + `usage_count` int(11) DEFAULT '0' COMMENT '使用次数', + `indicator_count` int(11) DEFAULT '0' COMMENT '指标数量', + `plan_count` int(11) DEFAULT '0' COMMENT '关联计划数', + `student_count` int(11) DEFAULT '0' COMMENT '评价学生数', + `avg_score` decimal(5,2) DEFAULT '0.00' COMMENT '平均分', + `allow_self_eval` char(1) DEFAULT '1' COMMENT '允许自评:0-否,1-是', + `allow_peer_eval` char(1) DEFAULT '0' COMMENT '允许互评:0-否,1-是', + `allow_teacher_eval` char(1) DEFAULT '1' COMMENT '允许教师评价:0-否,1-是', + `show_ranking` char(1) DEFAULT '1' COMMENT '显示排名:0-否,1-是', + `show_score` char(1) DEFAULT '1' COMMENT '显示分数:0-否,1-是', + `reference_standard` varchar(500) DEFAULT NULL COMMENT '参考标准', + `implementation_guide` text COMMENT '实施指南', + `change_log` json DEFAULT NULL COMMENT '变更日志', + `remark` varchar(500) DEFAULT NULL COMMENT '备注信息', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE KEY `uk_scheme_code_tenant` (`scheme_code`,`tenant_id`), + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_deleted` (`deleted`), + KEY `idx_status` (`status`), + KEY `idx_effective_date` (`effective_date`), + KEY `idx_assessment_cycle` (`assessment_cycle`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='考核方案表'; + +-- ---------------------------- +-- Table structure for xskh_bonus_application +-- ---------------------------- +DROP TABLE IF EXISTS `xskh_bonus_application`; +CREATE TABLE `xskh_bonus_application` ( + `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 '逻辑删除标志', + `application_code` varchar(32) NOT NULL COMMENT '申请编号', + `plan_id` bigint(20) NOT NULL COMMENT '计划ID', + `student_id` bigint(20) NOT NULL COMMENT '学生ID', + `student_code` varchar(50) DEFAULT NULL COMMENT '学号', + `student_name` varchar(50) DEFAULT NULL COMMENT '学生姓名', + `bonus_type` varchar(50) NOT NULL COMMENT '附加分类型', + `bonus_category` varchar(100) DEFAULT NULL COMMENT '附加分类别', + `achievement_name` varchar(200) NOT NULL COMMENT '获奖成果名称', + `achievement_level` varchar(50) DEFAULT NULL COMMENT '成果级别', + `achievement_date` date DEFAULT NULL COMMENT '获奖时间', + `achievement_desc` text COMMENT '成果描述', + `requested_score` decimal(5,2) DEFAULT NULL COMMENT '申请分数', + `approved_score` decimal(5,2) DEFAULT NULL COMMENT '审核分数', + `evidence_files` json DEFAULT NULL COMMENT '佐证材料', + `status` char(1) DEFAULT '1' COMMENT '状态', + `submit_time` datetime DEFAULT NULL COMMENT '提交时间', + `review_by` bigint(20) DEFAULT NULL COMMENT '审核人', + `review_time` datetime DEFAULT NULL COMMENT '审核时间', + `review_comment` varchar(500) DEFAULT NULL COMMENT '审核意见', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_application_code` (`application_code`), + KEY `idx_plan_id` (`plan_id`), + KEY `idx_student_id` (`student_id`), + KEY `idx_student_code` (`student_code`), + KEY `idx_bonus_type` (`bonus_type`), + KEY `idx_status` (`status`), + KEY `idx_submit_time` (`submit_time`), + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_deleted` (`deleted`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='附加分申请表'; + +-- ---------------------------- +-- Table structure for xskh_discipline_appeal +-- ---------------------------- +DROP TABLE IF EXISTS `xskh_discipline_appeal`; +CREATE TABLE `xskh_discipline_appeal` ( + `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 '删除标志', + `appeal_no` varchar(32) NOT NULL COMMENT '申请编号(自动生成:APPEAL202501001)', + `discipline_record_id` bigint(20) NOT NULL COMMENT '违纪记录ID', + `record_no` varchar(32) NOT NULL COMMENT '违纪记录编号', + `student_id` bigint(20) NOT NULL COMMENT '申请学生ID', + `student_no` varchar(32) NOT NULL COMMENT '学号', + `student_name` varchar(50) NOT NULL COMMENT '学生姓名', + `class_name` varchar(100) DEFAULT NULL COMMENT '班级名称', + `college_name` varchar(100) DEFAULT NULL COMMENT '学院名称', + `phone` varchar(20) DEFAULT NULL COMMENT '联系电话', + `email` varchar(100) DEFAULT NULL COMMENT '邮箱地址', + `appeal_type` varchar(20) NOT NULL COMMENT '申诉类型:revoke-撤销申请,reduce-减轻申请,correct-纠错申请', + `appeal_reason` text NOT NULL COMMENT '申诉理由', + `appeal_basis` text COMMENT '申诉依据', + `new_facts` text COMMENT '新发现的事实', + `legal_basis` varchar(500) DEFAULT NULL COMMENT '法律依据', + `apply_time` datetime NOT NULL COMMENT '申请时间', + `apply_deadline` datetime DEFAULT NULL COMMENT '申请截止时间', + `evidence_files` json DEFAULT NULL COMMENT '证据文件列表', + `witness_info` text COMMENT '证人信息', + `other_evidence` text COMMENT '其他证据说明', + `appeal_status` char(1) DEFAULT '1' COMMENT '申请状态:1-待辅导员审核,2-待学院审核,3-待学校审核,4-已通过,5-已驳回,6-已撤回', + `current_level` tinyint(1) DEFAULT '1' COMMENT '当前审核级别:1-辅导员,2-学院,3-学校', + `current_approver_id` bigint(20) DEFAULT NULL COMMENT '当前审核人ID', + `current_approver_name` varchar(50) DEFAULT NULL COMMENT '当前审核人姓名', + `approval_deadline` datetime DEFAULT NULL COMMENT '审核截止时间', + `final_result` char(1) DEFAULT NULL COMMENT '最终结果:1-完全撤销,2-部分撤销,3-减轻处分,4-维持原状,5-驳回申请', + `final_comment` text COMMENT '最终审核意见', + `result_reason` text COMMENT '结果说明', + `complete_time` datetime DEFAULT NULL COMMENT '完成时间', + `effective_date` date DEFAULT NULL COMMENT '生效日期', + `handler_id` bigint(20) DEFAULT NULL COMMENT '最终处理人ID', + `handler_name` varchar(50) DEFAULT NULL COMMENT '最终处理人姓名', + `handle_dept_id` bigint(20) DEFAULT NULL COMMENT '处理部门ID', + `handle_dept_name` varchar(100) DEFAULT NULL COMMENT '处理部门名称', + `decision_file_id` bigint(20) DEFAULT NULL COMMENT '决定书文件ID', + `approval_history` json DEFAULT NULL COMMENT '审核历史记录', + `process_log` json DEFAULT NULL COMMENT '流程日志', + `reminder_count` int(11) DEFAULT '0' COMMENT '提醒次数', + `last_reminder_time` datetime DEFAULT NULL COMMENT '最后提醒时间', + `notification_settings` json DEFAULT NULL COMMENT '通知设置', + `auto_notify` char(1) DEFAULT '1' COMMENT '是否自动通知:0-否,1-是', + `priority_level` tinyint(1) DEFAULT '3' COMMENT '优先级:1-最高,2-高,3-普通,4-低,5-最低', + `is_urgent` char(1) DEFAULT '0' COMMENT '是否紧急:0-否,1-是', + `remark` varchar(500) DEFAULT NULL COMMENT '备注信息', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE KEY `uk_appeal_no_tenant` (`appeal_no`,`tenant_id`), + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_deleted` (`deleted`), + KEY `idx_discipline_record_id` (`discipline_record_id`), + KEY `idx_student_id` (`student_id`), + KEY `idx_appeal_status` (`appeal_status`), + KEY `idx_current_approver` (`current_approver_id`), + KEY `idx_apply_time` (`apply_time`), + KEY `idx_final_result` (`final_result`), + KEY `idx_student_status` (`student_id`,`appeal_status`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 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(雪花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 '删除标志', + `record_no` varchar(32) NOT NULL COMMENT '记录编号(自动生成:XSKH202501001)', + `case_no` varchar(50) DEFAULT NULL COMMENT '案件编号(可手工填写)', + `student_id` bigint(20) NOT NULL COMMENT '学生ID,关联xg_student_msg.id', + `student_no` varchar(32) NOT NULL COMMENT '学号(来源:xg_student_msg.student_no)', + `student_name` varchar(50) NOT NULL COMMENT '学生姓名(来源:xg_student_msg.name)', + `id_card` varchar(18) DEFAULT NULL COMMENT '身份证号(来源:xg_student_msg.id_card)', + `gender` char(1) DEFAULT NULL COMMENT '性别:0-男,1-女(来源:xg_student_msg.gender)', + `phone` varchar(20) DEFAULT NULL COMMENT '联系电话(来源:xg_student_msg.phone)', + `email` varchar(100) DEFAULT NULL COMMENT '邮箱(来源:xg_student_msg.email)', + `grade` varchar(10) DEFAULT NULL COMMENT '年级(来源:xg_student_msg.grade)', + `class_id` varchar(100) DEFAULT NULL COMMENT '班级ID(来源:xg_student_msg.class_id)', + `class_name` varchar(100) DEFAULT NULL COMMENT '班级名称(来源:xg_student_msg.class_name)', + `major_id` varchar(100) DEFAULT NULL COMMENT '专业ID(来源:xg_student_msg.major_id)', + `major_name` varchar(100) DEFAULT NULL COMMENT '专业名称(来源:xg_student_msg.major_name)', + `college_id` varchar(100) DEFAULT NULL COMMENT '学院ID(来源:xg_student_msg.college_id)', + `college_name` varchar(100) DEFAULT NULL COMMENT '学院名称(来源:xg_student_msg.college_name)', + `enrollment_year` int(4) DEFAULT NULL COMMENT '入学年份(来源:xg_student_msg.enrollment_year)', + `student_status` char(1) DEFAULT NULL COMMENT '学籍状态(来源:xg_student_msg.student_status)', + `counselor_id` bigint(20) DEFAULT NULL COMMENT '辅导员ID(来源:xg_student_msg.counselor_id)', + `counselor_name` varchar(50) DEFAULT NULL COMMENT '辅导员姓名(来源:xg_student_msg.counselor_name)', + `class_teacher_id` bigint(20) DEFAULT NULL COMMENT '班主任ID(来源:xg_student_msg.class_teacher_id)', + `class_teacher_name` varchar(50) DEFAULT NULL COMMENT '班主任姓名(来源:xg_student_msg.class_teacher_name)', + `discipline_type_id` bigint(20) NOT NULL COMMENT '违纪类型ID', + `discipline_type_code` varchar(32) NOT NULL COMMENT '违纪类型编码', + `discipline_type_name` varchar(100) NOT NULL COMMENT '违纪类型名称', + `discipline_date` date NOT NULL COMMENT '违纪日期', + `discipline_time` time DEFAULT NULL COMMENT '违纪时间', + `discipline_location` varchar(200) DEFAULT NULL COMMENT '违纪地点', + `discipline_desc` text NOT NULL COMMENT '违纪详情描述', + `discipline_evidence` json DEFAULT NULL COMMENT '违纪证据文件列表', + `severity_level` tinyint(1) DEFAULT NULL COMMENT '违纪严重程度:1-轻微,2-一般,3-严重,4-特别严重', + `punishment_type_id` bigint(20) NOT NULL COMMENT '处分类型ID', + `punishment_type_code` varchar(32) NOT NULL COMMENT '处分类型编码', + `punishment_type_name` varchar(100) NOT NULL COMMENT '处分类型名称', + `punishment_date` date NOT NULL COMMENT '处分日期', + `punishment_decision_no` varchar(50) DEFAULT NULL COMMENT '处分决定书编号', + `punishment_basis` text COMMENT '处分依据', + `punishment_desc` text COMMENT '处分决定内容', + `has_duration` char(1) DEFAULT '0' COMMENT '是否有期限:0-否,1-是', + `punishment_duration` int(11) DEFAULT NULL COMMENT '处分期限(月)', + `punishment_start_date` date DEFAULT NULL COMMENT '处分开始日期', + `punishment_end_date` date DEFAULT NULL COMMENT '处分到期日期', + `auto_expire` char(1) DEFAULT '1' COMMENT '是否自动到期:0-否,1-是', + `record_status` char(1) DEFAULT '1' COMMENT '记录状态:1-有效,2-已撤销,3-已到期,4-已转移,5-已归档', + `punishment_status` char(1) DEFAULT '1' COMMENT '处分状态:1-执行中,2-已完成,3-已撤销,4-已到期', + `appeal_status` char(1) DEFAULT '0' COMMENT '申诉状态:0-未申诉,1-申诉中,2-申诉通过,3-申诉驳回', + `archive_status` char(1) DEFAULT '0' COMMENT '归档状态:0-未归档,1-已归档', + `approval_status` char(1) DEFAULT '1' COMMENT '审核状态:1-待审核,2-审核中,3-已通过,4-已驳回', + `approval_level` tinyint(1) DEFAULT '1' COMMENT '当前审核级别', + `approver_id` bigint(20) DEFAULT NULL COMMENT '当前审核人ID', + `approver_name` varchar(50) DEFAULT NULL COMMENT '当前审核人姓名', + `approve_time` datetime DEFAULT NULL COMMENT '审核时间', + `approve_comment` text COMMENT '审核意见', + `approval_history` json DEFAULT NULL COMMENT '审核历史记录', + `reporter_id` bigint(20) DEFAULT NULL COMMENT '报告人ID', + `reporter_name` varchar(50) DEFAULT NULL COMMENT '报告人姓名', + `reporter_type` varchar(20) DEFAULT NULL COMMENT '报告人类型:teacher-教师,student-学生,staff-职工,other-其他', + `report_time` datetime DEFAULT NULL COMMENT '报告时间', + `report_desc` text COMMENT '报告描述', + `handle_dept_id` bigint(20) DEFAULT NULL COMMENT '处理部门ID', + `handle_dept_name` varchar(100) DEFAULT NULL COMMENT '处理部门名称', + `handler_id` bigint(20) DEFAULT NULL COMMENT '处理人ID', + `handler_name` varchar(50) DEFAULT NULL COMMENT '处理人姓名', + `handle_time` datetime DEFAULT NULL COMMENT '处理时间', + `affects_scholarship` char(1) DEFAULT '0' COMMENT '是否影响奖学金', + `affects_graduation` char(1) DEFAULT '0' COMMENT '是否影响毕业', + `affects_employment` char(1) DEFAULT '0' COMMENT '是否影响就业', + `record_in_file` char(1) DEFAULT '1' COMMENT '是否记入档案', + `attachment_ids` json DEFAULT NULL COMMENT '附件ID列表', + `decision_file_id` bigint(20) DEFAULT NULL COMMENT '处分决定书文件ID', + `evidence_files` json DEFAULT NULL COMMENT '证据文件列表', + `notification_sent` char(1) DEFAULT '0' COMMENT '是否已通知:0-否,1-是', + `notification_time` datetime DEFAULT NULL COMMENT '通知时间', + `notification_method` varchar(50) DEFAULT NULL COMMENT '通知方式:email-邮件,sms-短信,wechat-微信,phone-电话', + `view_count` int(11) DEFAULT '0' COMMENT '查看次数', + `last_view_time` datetime DEFAULT NULL COMMENT '最后查看时间', + `appeal_count` int(11) DEFAULT '0' COMMENT '申诉次数', + `modification_count` int(11) DEFAULT '0' COMMENT '修改次数', + `data_source` varchar(20) DEFAULT 'manual' COMMENT '数据来源:manual-手工录入,import-批量导入,sync-系统同步', + `import_batch_id` bigint(20) DEFAULT NULL COMMENT '导入批次ID', + `remark` varchar(500) DEFAULT NULL COMMENT '备注信息', + `internal_note` text COMMENT '内部备注(学生不可见)', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE KEY `uk_record_no_tenant` (`record_no`,`tenant_id`), + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_deleted` (`deleted`), + KEY `idx_student_id` (`student_id`), + KEY `idx_student_no` (`student_no`), + KEY `idx_discipline_type` (`discipline_type_id`), + KEY `idx_punishment_type` (`punishment_type_id`), + KEY `idx_discipline_date` (`discipline_date`), + KEY `idx_punishment_date` (`punishment_date`), + KEY `idx_record_status` (`record_status`), + KEY `idx_appeal_status` (`appeal_status`), + KEY `idx_college_id` (`college_id`), + KEY `idx_class_id` (`class_id`), + KEY `idx_counselor_id` (`counselor_id`), + KEY `idx_approval_status` (`approval_status`), + KEY `idx_punishment_end_date` (`punishment_end_date`), + KEY `idx_college_discipline` (`college_id`,`discipline_date`), + KEY `idx_student_status` (`student_id`,`record_status`), + KEY `idx_discipline_punishment` (`discipline_type_id`,`punishment_type_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 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(雪花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代表删除)', + `type_code` varchar(32) NOT NULL COMMENT '违纪类型编码(唯一标识)', + `type_name` varchar(100) NOT NULL COMMENT '违纪类型名称', + `type_desc` text COMMENT '违纪类型描述说明', + `parent_id` bigint(20) DEFAULT '0' COMMENT '父级类型ID(支持分类层级)', + `level` tinyint(1) DEFAULT '1' COMMENT '层级:1-一级,2-二级,3-三级', + `severity_level` tinyint(1) DEFAULT '1' COMMENT '严重程度:1-轻微,2-一般,3-严重,4-特别严重', + `severity_score` decimal(3,1) DEFAULT '1.0' COMMENT '严重程度评分(1.0-10.0)', + `default_punishment_id` bigint(20) DEFAULT NULL COMMENT '默认处分类型ID', + `default_punishment_name` varchar(100) DEFAULT NULL COMMENT '默认处分类型名称', + `suggested_duration` int(11) DEFAULT '0' COMMENT '建议处分期限(月)', + `status` char(1) DEFAULT '1' COMMENT '状态:0-禁用,1-启用', + `is_published` char(1) DEFAULT '0' COMMENT '是否发布:0-未发布,1-已发布', + `can_appeal` char(1) DEFAULT '1' COMMENT '是否可申诉:0-否,1-是', + `auto_notify` char(1) DEFAULT '0' COMMENT '是否自动通知:0-否,1-是', + `usage_count` int(11) DEFAULT '0' COMMENT '使用次数', + `sort_order` int(11) DEFAULT '0' COMMENT '排序序号', + `version` int(11) DEFAULT '1' COMMENT '版本号', + `applicable_grades` varchar(200) DEFAULT NULL COMMENT '适用年级(JSON格式)', + `applicable_majors` varchar(500) DEFAULT NULL COMMENT '适用专业(JSON格式)', + `reference_regulation` varchar(500) DEFAULT NULL COMMENT '参考规章制度', + `remark` varchar(500) DEFAULT NULL COMMENT '备注信息', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE KEY `uk_type_code_tenant` (`type_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_severity_level` (`severity_level`), + KEY `idx_sort_order` (`sort_order`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='违纪类型管理表'; + +-- ---------------------------- +-- Table structure for xskh_operation_log +-- ---------------------------- +DROP TABLE IF EXISTS `xskh_operation_log`; +CREATE TABLE `xskh_operation_log` ( + `id` bigint(20) NOT NULL COMMENT '主键ID(雪花ID)', + `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `deleted` tinyint(1) DEFAULT '0' COMMENT '删除标志', + `operation_id` varchar(32) NOT NULL COMMENT '操作ID', + `operation_type` varchar(50) NOT NULL COMMENT '操作类型:create-新增,update-修改,delete-删除,approve-审核,export-导出,import-导入', + `business_type` varchar(50) NOT NULL COMMENT '业务类型:discipline-违纪管理,assessment-测评管理,statistics-统计分析', + `business_id` bigint(20) DEFAULT NULL COMMENT '业务数据ID', + `business_name` varchar(200) DEFAULT NULL COMMENT '业务数据名称', + `operator_id` bigint(20) NOT NULL COMMENT '操作人ID', + `operator_name` varchar(50) NOT NULL COMMENT '操作人姓名', + `operator_type` varchar(50) DEFAULT NULL COMMENT '操作人类型:admin-管理员,teacher-教师,student-学生', + `operator_ip` varchar(50) DEFAULT NULL COMMENT '操作IP地址', + `operator_location` varchar(200) DEFAULT NULL COMMENT '操作地点', + `operation_desc` varchar(500) DEFAULT NULL COMMENT '操作描述', + `operation_params` json DEFAULT NULL COMMENT '操作参数', + `old_data` json DEFAULT NULL COMMENT '修改前数据', + `new_data` json DEFAULT NULL COMMENT '修改后数据', + `changed_fields` json DEFAULT NULL COMMENT '变更字段列表', + `operation_status` char(1) DEFAULT '1' COMMENT '操作状态:1-成功,2-失败,3-部分成功', + `error_message` text COMMENT '错误信息', + `execution_time` int(11) DEFAULT NULL COMMENT '执行时间(毫秒)', + `user_agent` varchar(500) DEFAULT NULL COMMENT '用户代理', + `browser` varchar(100) DEFAULT NULL COMMENT '浏览器', + `os` varchar(100) DEFAULT NULL COMMENT '操作系统', + `device_type` varchar(50) DEFAULT NULL COMMENT '设备类型:pc-电脑,mobile-手机,tablet-平板', + `request_url` varchar(500) DEFAULT NULL COMMENT '请求URL', + `request_method` varchar(10) DEFAULT NULL COMMENT '请求方法', + `response_code` int(11) 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_operation_type` (`operation_type`), + KEY `idx_business_type` (`business_type`), + KEY `idx_operator_id` (`operator_id`), + KEY `idx_create_time` (`create_time`), + KEY `idx_business_id` (`business_id`), + KEY `idx_operation_status` (`operation_status`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='操作日志表'; + +-- ---------------------------- +-- Table structure for xskh_punishment_type +-- ---------------------------- +DROP TABLE IF EXISTS `xskh_punishment_type`; +CREATE TABLE `xskh_punishment_type` ( + `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 '删除标志', + `type_code` varchar(32) NOT NULL COMMENT '处分类型编码', + `type_name` varchar(100) NOT NULL COMMENT '处分类型名称', + `type_desc` text COMMENT '处分类型描述', + `punishment_level` tinyint(1) DEFAULT '1' COMMENT '处分等级:1-警告,2-严重警告,3-记过,4-留校察看,5-开除学籍', + `level_score` decimal(3,1) DEFAULT '1.0' COMMENT '处分等级评分(1.0-10.0)', + `has_duration` char(1) DEFAULT '1' COMMENT '是否有期限:0-否,1-是', + `default_duration` int(11) DEFAULT '0' COMMENT '默认期限(月)', + `min_duration` int(11) DEFAULT '0' COMMENT '最短期限(月)', + `max_duration` int(11) DEFAULT '0' COMMENT '最长期限(月)', + `approval_required` char(1) DEFAULT '1' COMMENT '是否需要审核:0-否,1-是', + `approval_levels` tinyint(1) DEFAULT '1' COMMENT '审核级别:1-一级,2-二级,3-三级', + `can_appeal` char(1) DEFAULT '1' COMMENT '是否可申诉:0-否,1-是', + `appeal_deadline` int(11) DEFAULT '30' COMMENT '申诉期限(天)', + `affects_scholarship` char(1) DEFAULT '0' COMMENT '是否影响奖学金:0-否,1-是', + `affects_graduation` char(1) DEFAULT '0' COMMENT '是否影响毕业:0-否,1-是', + `affects_employment` char(1) DEFAULT '0' COMMENT '是否影响就业:0-否,1-是', + `record_in_file` char(1) DEFAULT '1' COMMENT '是否记入档案:0-否,1-是', + `status` char(1) DEFAULT '1' COMMENT '状态:0-禁用,1-启用', + `is_published` char(1) DEFAULT '0' COMMENT '是否发布:0-未发布,1-已发布', + `usage_count` int(11) DEFAULT '0' COMMENT '使用次数', + `sort_order` int(11) DEFAULT '0' COMMENT '排序序号', + `legal_basis` varchar(500) DEFAULT NULL COMMENT '法律依据', + `execution_procedure` text COMMENT '执行程序', + `remark` varchar(500) DEFAULT NULL COMMENT '备注信息', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE KEY `uk_type_code_tenant` (`type_code`,`tenant_id`), + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_deleted` (`deleted`), + KEY `idx_punishment_level` (`punishment_level`), + KEY `idx_status` (`status`), + KEY `idx_sort_order` (`sort_order`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='处分类型管理表'; + +-- ---------------------------- +-- Table structure for xskh_scheme_indicator +-- ---------------------------- +DROP TABLE IF EXISTS `xskh_scheme_indicator`; +CREATE TABLE `xskh_scheme_indicator` ( + `id` bigint(20) NOT NULL COMMENT '主键ID(雪花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 '删除标志', + `scheme_id` bigint(20) NOT NULL COMMENT '方案ID', + `indicator_id` bigint(20) NOT NULL COMMENT '指标ID', + `indicator_code` varchar(32) NOT NULL COMMENT '指标编码', + `indicator_name` varchar(100) NOT NULL COMMENT '指标名称', + `weight` decimal(3,2) DEFAULT '1.00' COMMENT '在方案中的权重', + `max_score` decimal(5,2) NOT NULL COMMENT '在方案中的满分', + `min_score` decimal(5,2) DEFAULT '0.00' COMMENT '在方案中的最低分', + `default_score` decimal(5,2) DEFAULT '0.00' COMMENT '默认分数', + `is_required` char(1) DEFAULT '1' COMMENT '是否必填:0-否,1-是', + `is_visible` char(1) DEFAULT '1' COMMENT '是否可见:0-否,1-是', + `allow_self_eval` char(1) DEFAULT '1' COMMENT '允许自评:0-否,1-是', + `calculation_method` varchar(50) DEFAULT NULL COMMENT '计算方法(覆盖指标默认设置)', + `sort_order` int(11) DEFAULT '0' COMMENT '排序序号', + `usage_count` int(11) DEFAULT '0' COMMENT '使用次数', + `avg_score` decimal(5,2) DEFAULT '0.00' COMMENT '平均分', + `custom_desc` text COMMENT '自定义描述(覆盖指标默认描述)', + `remark` varchar(500) DEFAULT NULL COMMENT '备注信息', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE KEY `uk_scheme_indicator` (`scheme_id`,`indicator_id`), + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_deleted` (`deleted`), + KEY `idx_scheme_id` (`scheme_id`), + KEY `idx_indicator_id` (`indicator_id`), + KEY `idx_sort_order` (`sort_order`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='方案指标关联表'; + +-- ---------------------------- +-- Table structure for xskh_statistics_config +-- ---------------------------- +DROP TABLE IF EXISTS `xskh_statistics_config`; +CREATE TABLE `xskh_statistics_config` ( + `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 '逻辑删除标志', + `config_name` varchar(100) NOT NULL COMMENT '配置名称', + `config_type` varchar(50) NOT NULL COMMENT '配置类型', + `stat_dimension` varchar(50) DEFAULT NULL COMMENT '统计维度', + `chart_type` varchar(20) DEFAULT NULL COMMENT '图表类型', + `data_source` varchar(100) DEFAULT NULL COMMENT '数据源', + `filter_conditions` json DEFAULT NULL COMMENT '筛选条件', + `group_fields` json DEFAULT NULL COMMENT '分组字段', + `aggregate_fields` json DEFAULT NULL COMMENT '聚合字段', + `sort_config` json DEFAULT NULL COMMENT '排序配置', + `display_config` json DEFAULT NULL COMMENT '显示配置', + `refresh_interval` int(11) DEFAULT '60' COMMENT '刷新间隔(ç§’)', + `is_enabled` char(1) DEFAULT '1' COMMENT '是否启用', + `access_roles` json DEFAULT NULL COMMENT '访问角色', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`id`), + KEY `idx_config_type` (`config_type`), + KEY `idx_stat_dimension` (`stat_dimension`), + KEY `idx_is_enabled` (`is_enabled`), + KEY `idx_tenant_id` (`tenant_id`), + KEY `idx_deleted` (`deleted`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 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_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(18) 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 '详细地址', + `postal_code` varchar(6) 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 '工作城市', + `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', + `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 '备注', + 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`) +) 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='招聘海报记录表'; + +-- ---------------------------- +-- View structure for v_class_cadre_statistics +-- ---------------------------- +DROP VIEW IF EXISTS `v_class_cadre_statistics`; +CREATE ALGORITHM = UNDEFINED SQL SECURITY DEFINER VIEW `v_class_cadre_statistics` AS select `ci`.`id` AS `class_id`,`ci`.`class_code` AS `class_code`,`ci`.`class_name` AS `class_name`,`ci`.`college_name` AS `college_name`,`ci`.`grade` AS `grade`,count(`cc`.`id`) AS `total_cadres`,count((case when (`cc`.`position_level` = 1) then 1 end)) AS `monitor_count`,count((case when (`cc`.`position_level` = 2) then 1 end)) AS `deputy_count`,count((case when (`cc`.`position_level` = 3) then 1 end)) AS `committee_count`,count((case when (`cc`.`cadre_status` = '1') then 1 end)) AS `active_count`,count((case when (`cc`.`term_end_date` < curdate()) then 1 end)) AS `expired_count` from (`xg_class_info` `ci` left join `xg_class_cadre` `cc` on(((`ci`.`id` = `cc`.`class_id`) and (`cc`.`is_current` = 1) and (`cc`.`deleted` = 0)))) where (`ci`.`deleted` = 0) group by `ci`.`id`,`ci`.`class_code`,`ci`.`class_name`,`ci`.`college_name`,`ci`.`grade`; + +-- ---------------------------- +-- View structure for v_college_major_relation +-- ---------------------------- +DROP VIEW IF EXISTS `v_college_major_relation`; +CREATE ALGORITHM = UNDEFINED SQL SECURITY DEFINER VIEW `v_college_major_relation` AS select `c`.`id` AS `college_id`,`c`.`college_code` AS `college_code`,`c`.`college_name` AS `college_name`,`m`.`id` AS `major_id`,`m`.`major_code` AS `major_code`,`m`.`major_name` AS `major_name`,`m`.`major_type` AS `major_type`,`m`.`school_system` AS `school_system`,`m`.`enrollment_plan` AS `enrollment_plan` from (`xg_college_info` `c` left join `xg_major_info` `m` on((`c`.`id` = `m`.`college_id`))) where ((`c`.`deleted` = 0) and (`c`.`college_status` = '1') and (((`m`.`deleted` = 0) and (`m`.`major_status` = '1')) or isnull(`m`.`id`))) order by `c`.`sort_order`,`m`.`sort_order`; + +-- ---------------------------- +-- View structure for v_college_options +-- ---------------------------- +DROP VIEW IF EXISTS `v_college_options`; +CREATE ALGORITHM = UNDEFINED SQL SECURITY DEFINER VIEW `v_college_options` AS select `xg_college_info`.`college_code` AS `value`,`xg_college_info`.`college_name` AS `label`,`xg_college_info`.`college_short_name` AS `college_short_name`,`xg_college_info`.`college_status` AS `college_status`,`xg_college_info`.`sort_order` AS `sort_order` from `xg_college_info` where ((`xg_college_info`.`deleted` = 0) and (`xg_college_info`.`college_status` = '1')) order by `xg_college_info`.`sort_order`,`xg_college_info`.`college_name`; + +-- ---------------------------- +-- View structure for v_current_class_cadres +-- ---------------------------- +DROP VIEW IF EXISTS `v_current_class_cadres`; +CREATE ALGORITHM = UNDEFINED SQL SECURITY DEFINER VIEW `v_current_class_cadres` AS select `cc`.`id` AS `id`,`cc`.`class_id` AS `class_id`,`cc`.`student_id` AS `student_id`,`cc`.`student_no` AS `student_no`,`cc`.`student_name` AS `student_name`,`cc`.`position_code` AS `position_code`,`cc`.`position_name` AS `position_name`,`cc`.`position_level` AS `position_level`,`cc`.`appointment_date` AS `appointment_date`,`cc`.`term_start_date` AS `term_start_date`,`cc`.`term_end_date` AS `term_end_date`,`cc`.`cadre_status` AS `cadre_status`,`ci`.`class_code` AS `class_code`,`ci`.`class_name` AS `class_name`,`ci`.`college_name` AS `college_name`,`ci`.`grade` AS `grade`,`pconfig`.`responsibilities` AS `responsibilities`,`pconfig`.`duties` AS `duties`,(to_days(ifnull(`cc`.`term_end_date`,(`cc`.`term_start_date` + interval `cc`.`term_duration` month))) - to_days(curdate())) AS `days_remaining` from ((`xg_class_cadre` `cc` left join `xg_class_info` `ci` on((`cc`.`class_id` = `ci`.`id`))) left join `xg_cadre_position_config` `pconfig` on((`cc`.`position_code` = `pconfig`.`position_code`))) where ((`cc`.`is_current` = 1) and (`cc`.`cadre_status` = '1') and (`cc`.`deleted` = 0)); + +-- ---------------------------- +-- View structure for v_major_options +-- ---------------------------- +DROP VIEW IF EXISTS `v_major_options`; +CREATE ALGORITHM = UNDEFINED SQL SECURITY DEFINER VIEW `v_major_options` AS select `m`.`major_code` AS `value`,`m`.`major_name` AS `label`,`m`.`major_short_name` AS `major_short_name`,`m`.`college_code` AS `college_code`,`m`.`college_name` AS `college_name`,`m`.`major_type` AS `major_type`,`m`.`major_status` AS `major_status`,`m`.`sort_order` AS `sort_order` from `xg_major_info` `m` where ((`m`.`deleted` = 0) and (`m`.`major_status` = '1')) order by `m`.`college_code`,`m`.`sort_order`,`m`.`major_name`; + +SET FOREIGN_KEY_CHECKS = 1;