09-overseas-application-module.sql 10.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. -- ----------------------------
  2. -- 出国申请管理模块数据库表结构
  3. -- 创建时间: 2025-01-28
  4. -- 模块说明: 出国申请管理功能相关表结构定义
  5. -- 包含表: rs_overseas_application(出国申请表)、rs_overseas_record(出国记录表)、rs_overseas_approval(出国审批记录表)
  6. -- ----------------------------
  7. -- 出国申请表
  8. DROP TABLE IF EXISTS `rs_overseas_application`;
  9. CREATE TABLE `rs_overseas_application` (
  10. `application_id` bigint(20) NOT NULL COMMENT '申请ID',
  11. `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号',
  12. `applicant_id` bigint(20) NOT NULL COMMENT '申请人ID',
  13. `applicant_name` varchar(50) NOT NULL COMMENT '申请人姓名',
  14. `department` varchar(100) NOT NULL COMMENT '所属部门',
  15. `position` varchar(100) DEFAULT NULL COMMENT '职位',
  16. `contact_phone` varchar(20) NOT NULL COMMENT '联系电话',
  17. `contact_email` varchar(100) NOT NULL COMMENT '联系邮箱',
  18. `purpose` varchar(50) NOT NULL COMMENT '出国目的(academic_exchange-学术交流,conference-学术会议,training-培训学习,cooperation-合作项目,research-科研访问,other-其他)',
  19. `purpose_detail` text NOT NULL COMMENT '目的详细说明',
  20. `destination` varchar(100) NOT NULL COMMENT '目的地国家',
  21. `destination_city` varchar(100) DEFAULT NULL COMMENT '目的地城市',
  22. `start_date` date NOT NULL COMMENT '开始日期',
  23. `end_date` date NOT NULL COMMENT '结束日期',
  24. `duration` int(11) DEFAULT NULL COMMENT '出国天数',
  25. `budget` decimal(12,2) NOT NULL COMMENT '预算金额',
  26. `budget_source` varchar(50) NOT NULL COMMENT '经费来源(school-学校经费,government-政府资助,project-项目经费,self-个人承担,cooperation-合作单位,other-其他)',
  27. `invitation` varchar(500) DEFAULT NULL COMMENT '邀请函信息',
  28. `itinerary` text NOT NULL COMMENT '行程安排',
  29. `accommodation_plan` text DEFAULT NULL COMMENT '住宿安排',
  30. `transportation_plan` text DEFAULT NULL COMMENT '交通安排',
  31. `status` char(1) NOT NULL DEFAULT '0' COMMENT '申请状态(0-待审核,1-已通过,2-已拒绝,3-已取消,4-已完成)',
  32. `current_approver` varchar(100) DEFAULT NULL COMMENT '当前审批人',
  33. `approval_level` char(1) NOT NULL DEFAULT '1' COMMENT '审批级别(1-部门主管,2-分管领导,3-校领导)',
  34. `apply_time` datetime DEFAULT NULL COMMENT '申请时间',
  35. `approval_time` datetime DEFAULT NULL COMMENT '审批完成时间',
  36. `admin_remark` text DEFAULT NULL COMMENT '管理员备注',
  37. `applicant_remark` text DEFAULT NULL COMMENT '申请人备注',
  38. `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门',
  39. `create_by` bigint(20) DEFAULT NULL COMMENT '创建者',
  40. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  41. `update_by` bigint(20) DEFAULT NULL COMMENT '更新者',
  42. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  43. `deleted` tinyint(1) DEFAULT 0 COMMENT '删除标志(0代表存在 1代表删除)',
  44. PRIMARY KEY (`application_id`) USING BTREE,
  45. KEY `idx_tenant_id` (`tenant_id`),
  46. KEY `idx_applicant_id` (`applicant_id`),
  47. KEY `idx_status` (`status`),
  48. KEY `idx_approval_level` (`approval_level`),
  49. KEY `idx_current_approver` (`current_approver`),
  50. KEY `idx_apply_time` (`apply_time`),
  51. KEY `idx_start_date` (`start_date`),
  52. KEY `idx_department` (`department`)
  53. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='出国申请表';
  54. -- 出国记录表
  55. DROP TABLE IF EXISTS `rs_overseas_record`;
  56. CREATE TABLE `rs_overseas_record` (
  57. `record_id` bigint(20) NOT NULL COMMENT '记录ID',
  58. `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号',
  59. `application_id` bigint(20) NOT NULL COMMENT '关联申请ID',
  60. `applicant_id` bigint(20) NOT NULL COMMENT '申请人ID',
  61. `applicant_name` varchar(50) NOT NULL COMMENT '申请人姓名',
  62. `department` varchar(100) NOT NULL COMMENT '所属部门',
  63. `purpose` varchar(50) NOT NULL COMMENT '出国目的',
  64. `destination` varchar(100) NOT NULL COMMENT '目的地国家',
  65. `actual_start_date` date DEFAULT NULL COMMENT '实际开始日期',
  66. `actual_end_date` date DEFAULT NULL COMMENT '实际结束日期',
  67. `actual_duration` int(11) DEFAULT NULL COMMENT '实际出国天数',
  68. `actual_budget` decimal(12,2) DEFAULT NULL COMMENT '实际花费金额',
  69. `completion_status` char(1) NOT NULL DEFAULT '1' COMMENT '完成状态(1-已完成,2-已拒绝)',
  70. `achievement` text DEFAULT NULL COMMENT '出国成果',
  71. `report_content` text DEFAULT NULL COMMENT '总结报告内容',
  72. `certificate_path` varchar(500) DEFAULT NULL COMMENT '证书文件路径',
  73. `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门',
  74. `create_by` bigint(20) DEFAULT NULL COMMENT '创建者',
  75. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  76. `update_by` bigint(20) DEFAULT NULL COMMENT '更新者',
  77. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  78. `deleted` tinyint(1) DEFAULT 0 COMMENT '删除标志(0代表存在 1代表删除)',
  79. PRIMARY KEY (`record_id`) USING BTREE,
  80. UNIQUE KEY `uk_application_id` (`application_id`),
  81. KEY `idx_tenant_id` (`tenant_id`),
  82. KEY `idx_applicant_id` (`applicant_id`),
  83. KEY `idx_completion_status` (`completion_status`),
  84. KEY `idx_actual_start_date` (`actual_start_date`),
  85. KEY `idx_department` (`department`)
  86. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='出国记录表';
  87. -- 出国审批记录表
  88. DROP TABLE IF EXISTS `rs_overseas_approval`;
  89. CREATE TABLE `rs_overseas_approval` (
  90. `approval_id` bigint(20) NOT NULL COMMENT '审批ID',
  91. `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号',
  92. `application_id` bigint(20) NOT NULL COMMENT '关联申请ID',
  93. `approver_id` bigint(20) NOT NULL COMMENT '审批人ID',
  94. `approver_name` varchar(50) NOT NULL COMMENT '审批人姓名',
  95. `approval_level` char(1) NOT NULL COMMENT '审批级别(1-部门主管,2-分管领导,3-校领导)',
  96. `approval_status` char(1) NOT NULL COMMENT '审批状态(0-待审核,1-通过,2-拒绝)',
  97. `approval_opinion` text DEFAULT NULL COMMENT '审批意见',
  98. `approval_time` datetime DEFAULT NULL COMMENT '审批时间',
  99. `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门',
  100. `create_by` bigint(20) DEFAULT NULL COMMENT '创建者',
  101. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  102. `update_by` bigint(20) DEFAULT NULL COMMENT '更新者',
  103. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  104. `deleted` tinyint(1) DEFAULT 0 COMMENT '删除标志(0代表存在 1代表删除)',
  105. PRIMARY KEY (`approval_id`) USING BTREE,
  106. KEY `idx_tenant_id` (`tenant_id`),
  107. KEY `idx_application_id` (`application_id`),
  108. KEY `idx_approver_id` (`approver_id`),
  109. KEY `idx_approval_level` (`approval_level`),
  110. KEY `idx_approval_status` (`approval_status`),
  111. KEY `idx_approval_time` (`approval_time`)
  112. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='出国审批记录表';
  113. -- 初始化示例数据
  114. INSERT INTO `rs_overseas_application` VALUES
  115. (1, '000000', 1, '张三', '计算机学院', '副教授', '13800138001', 'zhangsan@example.com', 'academic_exchange', '参加国际人工智能学术交流会议,发表研究论文并进行学术交流', '美国', '纽约', '2025-03-15', '2025-03-25', 11, 25000.00, 'school', '已收到会议邀请函', '3月15日飞往纽约,参加为期5天的会议,会后进行实验室访问', '入住会议指定酒店', '往返机票+当地交通', '1', 'admin', '2', '2025-01-28 10:00:00', '2025-01-28 15:30:00', NULL, '期待能够带回先进的研究成果', 1, 1, '2025-01-28 10:00:00', 1, '2025-01-28 15:30:00', 0),
  116. (2, '000000', 2, '李四', '外国语学院', '讲师', '13800138002', 'lisi@example.com', 'training', '参加剑桥大学举办的英语教学法培训项目,提升教学水平', '英国', '剑桥', '2025-04-10', '2025-05-10', 31, 45000.00, 'government', '政府公派留学资助项目', '4月10日飞往英国,参加为期1个月的培训课程', '剑桥大学安排的学生宿舍', '政府统一安排', '0', 'manager1', '1', '2025-01-28 14:00:00', NULL, NULL, '希望能学习到最新的教学方法', 1, 1, '2025-01-28 14:00:00', 1, '2025-01-28 14:00:00', 0),
  117. (3, '000000', 3, '王五', '机械工程学院', '教授', '13800138003', 'wangwu@example.com', 'cooperation', '与德国慕尼黑工业大学开展智能制造领域合作研究', '德国', '慕尼黑', '2025-05-01', '2025-06-30', 61, 60000.00, 'project', '项目合作经费支持', '5月1日赴德国,进行为期2个月的合作研究', '合作方提供住宿', '项目经费支持往返交通', '4', NULL, '3', '2025-01-25 09:00:00', '2025-01-26 16:00:00', '项目进展顺利,已完成合作研究', '希望能够建立长期合作关系', 1, 1, '2025-01-25 09:00:00', 1, '2025-01-26 16:00:00', 0);
  118. INSERT INTO `rs_overseas_approval` VALUES
  119. (1, '000000', 1, 10, '部门主管A', '1', '1', '同意申请,项目具有重要学术价值', '2025-01-28 11:00:00', 1, 1, '2025-01-28 11:00:00', 1, '2025-01-28 11:00:00', 0),
  120. (2, '000000', 1, 20, '分管领导B', '2', '1', '批准出国申请,注意安全', '2025-01-28 15:30:00', 1, 1, '2025-01-28 15:30:00', 1, '2025-01-28 15:30:00', 0),
  121. (3, '000000', 3, 10, '部门主管C', '1', '1', '项目合作意义重大,同意申请', '2025-01-25 10:00:00', 1, 1, '2025-01-25 10:00:00', 1, '2025-01-25 10:00:00', 0),
  122. (4, '000000', 3, 20, '分管领导D', '2', '1', '支持国际合作项目', '2025-01-25 14:00:00', 1, 1, '2025-01-25 14:00:00', 1, '2025-01-25 14:00:00', 0),
  123. (5, '000000', 3, 30, '校领导E', '3', '1', '批准该合作项目,期待成果', '2025-01-26 16:00:00', 1, 1, '2025-01-26 16:00:00', 1, '2025-01-26 16:00:00', 0);
  124. INSERT INTO `rs_overseas_record` VALUES
  125. (1, '000000', 3, 3, '王五', '机械工程学院', 'cooperation', '德国', '2025-05-01', '2025-06-30', 61, 58000.00, '1', '完成了智能制造设备的关键技术研究,发表论文2篇,申请专利1项', '通过与慕尼黑工业大学的深度合作,在智能制造领域取得了重要突破。完成了预定的研究目标,建立了长期合作关系。', '/uploads/certificates/cooperation_certificate_001.pdf', 1, 1, '2025-01-26 17:00:00', 1, '2025-07-01 10:00:00', 0);