Explorar o código

出入记录查询权限

dzx hai 9 meses
pai
achega
506f8cc4ab

+ 27 - 5
src/main/java/com/xjrsoft/module/outint/controller/StudentOutInRecordController.java

@@ -1,9 +1,11 @@
 package com.xjrsoft.module.outint.controller;
 
 import cn.dev33.satoken.annotation.SaCheckPermission;
+import cn.dev33.satoken.stp.StpUtil;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.github.yulichang.toolkit.MPJWrappers;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
@@ -13,6 +15,7 @@ import com.xjrsoft.common.page.PageOutput;
 import com.xjrsoft.common.utils.LocalDateTimeUtil;
 import com.xjrsoft.common.utils.VoToColumnUtil;
 import com.xjrsoft.module.base.entity.BaseClass;
+import com.xjrsoft.module.base.service.IBaseClassService;
 import com.xjrsoft.module.outint.dto.AddStudentOutInRecordDto;
 import com.xjrsoft.module.outint.dto.StudentOutInRecordPageDto;
 import com.xjrsoft.module.outint.dto.UpdateStudentOutInRecordDto;
@@ -37,6 +40,7 @@ import org.springframework.web.bind.annotation.RestController;
 
 import javax.validation.Valid;
 import java.text.SimpleDateFormat;
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -51,7 +55,7 @@ import java.util.List;
 @AllArgsConstructor
 public class StudentOutInRecordController {
 
-
+    private final IBaseClassService baseClassService;
     private final IStudentOutInRecordService studentOutInRecordService;
 
     @GetMapping(value = "/page")
@@ -61,14 +65,12 @@ public class StudentOutInRecordController {
 
         MPJLambdaWrapper<StudentOutInRecord> queryWrapper = MPJWrappers.<StudentOutInRecord>lambdaJoin()
                 .disableSubLogicDel()
-                    .orderByDesc(StudentOutInRecord::getId)
+                .orderByDesc(StudentOutInRecord::getId)
                 .like(StrUtil.isNotBlank(dto.getName()), XjrUser::getName,dto.getName())
                 .like(StrUtil.isNotBlank(dto.getIdentityCard()), XjrUser::getCredentialNumber,dto.getIdentityCard())
-               .eq(StrUtil.isNotBlank(dto.getStduyStatus()), BaseStudentSchoolRoll::getStduyStatus,dto.getStduyStatus())
+                .eq(StrUtil.isNotBlank(dto.getStduyStatus()), BaseStudentSchoolRoll::getStduyStatus,dto.getStduyStatus())
                 .between((ObjectUtil.isNotNull(dto.getStartTime()) && ObjectUtil.isNotNull(dto.getStartTime())), StudentOutInRecord::getRecordTime, LocalDateTimeUtil.format(dto.getStartTime(),"yyyy-MM-dd")+" 00:00:00", LocalDateTimeUtil.format(dto.getStartTime(),"yyyy-MM-dd")+" 23:59:59")
                 .eq(ObjectUtil.isNotEmpty(dto.getStatus()), StudentOutInRecord::getStatus, dto.getStatus())
-                .eq(ObjectUtil.isNotNull(dto.getClassId())&&dto.getClassId()!=0, StudentOutInRecord::getClassId, dto.getClassId())
-                .eq(ObjectUtil.isNotNull(dto.getUserId())&&dto.getUserId()!=0, StudentOutInRecord::getUserId, dto.getUserId())
                 .select(StudentOutInRecord::getId)
                 .select(StudentOutInRecord.class,x -> VoToColumnUtil.fieldsToColumns(StudentOutInRecordPageVo.class).contains(x.getProperty()))
                 .leftJoin(XjrUser.class,XjrUser::getId,StudentOutInRecord::getUserId,
@@ -81,6 +83,26 @@ public class StudentOutInRecordController {
                 .leftJoin(DictionaryDetail.class,DictionaryDetail::getCode, XjrUser::getGender, ext->ext.selectAs(DictionaryDetail::getName, StudentOutInRecordPageVo::getGender))
                 .leftJoin(DictionaryDetail.class,DictionaryDetail::getCode, BaseStudentSchoolRoll::getStduyStatus, ext->ext.selectAs(DictionaryDetail::getName, StudentOutInRecordPageVo::getStduyStatusCn))
                 ;
+
+
+        List<String> roleList = StpUtil.getRoleList();
+
+        long userId = StpUtil.getLoginIdAsLong();
+        List<BaseClass> classList = baseClassService.list(
+            new QueryWrapper<BaseClass>().lambda().eq(BaseClass::getTeacherId, userId)
+        );
+        if(roleList.size() == 2 && roleList.contains("CLASSTE") && roleList.contains("TEACHER")){
+            if(classList != null && !classList.isEmpty()){
+                dto.setClassId(classList.get(0).getId());
+            }
+        }else if(roleList.size() == 3){
+            queryWrapper.eq((ObjectUtil.isNotNull(dto.getUserId()) && dto.getUserId() != 0), StudentOutInRecord::getUserId, userId);
+        }else{
+            if(classList != null && !classList.isEmpty() &&  dto.getClassId() == null){
+                dto.setClassId(classList.get(0).getId());
+            }
+        }
+        queryWrapper.eq((ObjectUtil.isNotNull(dto.getClassId()) && dto.getClassId() != 0), StudentOutInRecord::getClassId, dto.getClassId());
         IPage<StudentOutInRecordPageVo> page = studentOutInRecordService.selectJoinListPage(ConventPage.getPage(dto),StudentOutInRecordPageVo.class, queryWrapper);
         PageOutput<StudentOutInRecordPageVo> pageOutput = ConventPage.getPageOutput(page, StudentOutInRecordPageVo.class);
         return RT.ok(pageOutput);

+ 397 - 0
src/main/resources/sqlScript/200240508_sql.sql

@@ -0,0 +1,397 @@
+-- ------------------------------------------------
+-- 考勤规则
+-- ------------------------------------------------
+DROP TABLE IF EXISTS attendance_rule_category;
+CREATE TABLE `attendance_rule_category` (
+  `id` BIGINT NOT NULL,
+  `create_user_id` BIGINT DEFAULT NULL,
+  `create_date` DATETIME(3) DEFAULT NULL,
+  `modify_user_id` BIGINT DEFAULT NULL,
+  `modify_date` DATETIME(3) DEFAULT NULL,
+  `delete_mark` INT DEFAULT NULL,
+  `enabled_mark` INT DEFAULT NULL,
+  `sort_code` INT DEFAULT NULL,
+  `name` VARCHAR(100) DEFAULT NULL COMMENT '考勤规则名称',
+  `start_date` DATE DEFAULT NULL COMMENT '考勤开始时间',
+  `end_date` DATE DEFAULT NULL COMMENT '考勤结束时间',
+  `role_id` BIGINT DEFAULT NULL COMMENT '被考勤角色(xjr_role)',
+  `attendance_range` INT DEFAULT NULL COMMENT '考勤人员范围(1:全体 2:指定)',
+  `stduy_status` VARCHAR(20) DEFAULT NULL COMMENT '就读方式(xjr_dictionary_item[stduy_status])',
+  `status` INT DEFAULT 1 COMMENT '状态(1:启用 0:禁用)',
+  `not_cycle_is_in_out` INT DEFAULT 1 COMMENT '非考勤周期是否允许进出(1:是 0:否)',
+  `user_relation` LONGTEXT DEFAULT NULL COMMENT '指定人员',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='考勤规则';
+
+-- ------------------------------------------------
+-- 考勤规则细则
+-- ------------------------------------------------
+DROP TABLE IF EXISTS attendance_rule_details;
+CREATE TABLE `attendance_rule_details` (
+  `id` BIGINT NOT NULL,
+  `create_user_id` BIGINT DEFAULT NULL,
+  `create_date` DATETIME(3) DEFAULT NULL,
+  `modify_user_id` BIGINT DEFAULT NULL,
+  `modify_date` DATETIME(3) DEFAULT NULL,
+  `delete_mark` INT DEFAULT NULL,
+  `enabled_mark` INT DEFAULT NULL,
+  `sort_code` INT DEFAULT NULL,
+  `date_type` VARCHAR(50) DEFAULT NULL COMMENT '周几(星期一~日或节假日)',
+  `is_allow_in_out_school` INT DEFAULT NULL COMMENT '是否允许进出校',
+  `is_attendance` INT DEFAULT NULL COMMENT '是否考勤',
+  `ago_minutes` INT DEFAULT NULL COMMENT '上学时间前多少分钟进行提醒(返校时间前多少分钟进行提醒)',
+  `over_minutes` INT DEFAULT NULL COMMENT '超过上学时间多少分钟未打卡进行提醒(超过返校时间多少分钟未打卡进行提醒)',
+  `is_allow_in_out_school_time` INT DEFAULT NULL COMMENT '上学时间内是否允许进出',
+  `am_status` INT DEFAULT 1 COMMENT '上午是否启用(1:是 0:否)',
+  `am_start_time` TIME DEFAULT NULL COMMENT '上午上学时间',
+  `am_end_time` TIME DEFAULT NULL COMMENT '上午放学时间',
+  `am_late_minutes` INT DEFAULT NULL COMMENT '上午迟到旷课分钟数',
+  `am_is_holidays` INT DEFAULT NULL COMMENT '上午是否为节假日(1:是 0:否)',
+  `am_holidays_start_time` TIME DEFAULT NULL COMMENT '上午为节假日前一天时上学时间',
+  `am_holidays_end_time` TIME DEFAULT NULL COMMENT '上午为节假日前一天时放学时间',
+  `pm_status` INT DEFAULT 1 COMMENT '下午是否启用(1:是 0:否)',
+  `pm_start_time` TIME DEFAULT NULL COMMENT '下午上学时间',
+  `pm_end_time` TIME DEFAULT NULL COMMENT '下午放学时间',
+  `pm_late_minutes` INT DEFAULT NULL COMMENT '下午迟到旷课分钟数',
+  `pm_is_holidays` INT DEFAULT NULL COMMENT '下午是否为节假日(1:是 0:否)',
+  `pm_holidays_start_time` TIME DEFAULT NULL COMMENT '下午为节假日前一天时上学时间',
+  `pm_holidays_end_time` TIME DEFAULT NULL COMMENT '下午为节假日前一天时放学时间',
+  `evening_status` INT DEFAULT 1 COMMENT '晚上是否启用(1:是 0:否)',
+  `evening_start_time` TIME DEFAULT NULL COMMENT '晚上上学时间',
+  `evening_end_time` TIME DEFAULT NULL COMMENT '晚上放学时间',
+  `evening_late_minutes` INT DEFAULT NULL COMMENT '晚上迟到旷课分钟数',
+  `evening_is_holidays` INT DEFAULT NULL COMMENT '晚上是否为节假日(1:是 0:否)',
+  `evening_holidays_start_time` TIME DEFAULT NULL COMMENT '晚上为节假日前一天时上学时间',
+  `evening_holidays_end_time` TIME DEFAULT NULL COMMENT '晚上为节假日前一天时放学时间',
+  `attendance_rule_category_id` BIGINT DEFAULT NULL COMMENT '考勤规则(attendance_rule_category)',
+  `holidays_last_day_in_out` INT DEFAULT NULL COMMENT '节假日最后一天是否返校',
+  `return_start_time` TIME DEFAULT NULL COMMENT '返校上学时间',
+  `return_end_time` TIME DEFAULT NULL COMMENT '返校放学时间',
+  `holidays_late_minutes` INT DEFAULT NULL COMMENT '节假日迟到旷课时间',
+  holidays_end_time TIME DEFAULT NULL COMMENT '为节假日前一天时上学时间',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='考勤规则细则';
+
+-- ------------------------------------------------
+-- 考勤规则人员绑定表
+-- ------------------------------------------------
+DROP TABLE IF EXISTS attendance_user_relation;
+CREATE TABLE `attendance_user_relation` (
+  `id` BIGINT NOT NULL,
+  `create_user_id` BIGINT DEFAULT NULL,
+  `create_date` DATETIME(3) DEFAULT NULL,
+  `modify_user_id` BIGINT DEFAULT NULL,
+  `modify_date` DATETIME(3) DEFAULT NULL,
+  `delete_mark` INT DEFAULT NULL,
+  `enabled_mark` INT DEFAULT NULL,
+  `class_id` BIGINT DEFAULT NULL COMMENT '所属班级id',
+  `dept_id` BIGINT DEFAULT NULL COMMENT '所属部门id',
+  `user_id` BIGINT DEFAULT NULL COMMENT '用id',
+  `attendance_rule_category_id` BIGINT DEFAULT NULL COMMENT '考勤规则(attendance_rule_category)',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='考勤规则人员绑定表';
+
+DROP TABLE IF EXISTS car_message_apply;
+CREATE TABLE `car_message_apply` (
+  `id` BIGINT NOT NULL COMMENT '主键',
+  `create_user_id` BIGINT DEFAULT NULL COMMENT '创建人',
+  `create_date` DATETIME(3) DEFAULT NULL COMMENT '创建时间',
+  `modify_user_id` BIGINT DEFAULT NULL COMMENT '修改人id',
+  `modify_date` DATETIME(3) DEFAULT NULL COMMENT '修改日期',
+  `delete_mark` INT DEFAULT NULL COMMENT '删除标记',
+  `enabled_mark` INT DEFAULT NULL COMMENT '有效标记',
+  `name` VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '姓名',
+  `gender` VARCHAR(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '性别',
+  `identity_card` VARCHAR(255) DEFAULT NULL COMMENT '身份证号',
+  `start_time` DATE DEFAULT NULL COMMENT '有效期开始日期',
+  `end_time` DATE DEFAULT NULL COMMENT '有效期结束日期',
+  `vehicle_type` VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '车辆类型',
+  `car_number` VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '车牌号',
+  `status` INT DEFAULT '0' COMMENT '状态(0:未结束 1:结束)',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='车辆信息审核';
+
+DROP TABLE IF EXISTS student_admission_application;
+CREATE TABLE `student_admission_application` (
+  `id` BIGINT NOT NULL COMMENT '主键',
+  `create_user_id` BIGINT DEFAULT NULL COMMENT '创建人',
+  `create_date` DATETIME(3) DEFAULT NULL COMMENT '创建时间',
+  `modify_user_id` BIGINT DEFAULT NULL COMMENT '修改人id',
+  `modify_date` DATETIME(3) DEFAULT NULL COMMENT '修改日期',
+  `delete_mark` INT DEFAULT NULL COMMENT '删除标记',
+  `enabled_mark` INT DEFAULT NULL COMMENT '有效标记',
+  `student_user_id` BIGINT DEFAULT NULL COMMENT '学生用户id',
+  `class_id` BIGINT DEFAULT NULL COMMENT '班级id',
+  `identity_card` VARCHAR(255) DEFAULT NULL COMMENT '身份证号',
+  `start_time` DATETIME DEFAULT NULL COMMENT '进校时间',
+  `end_time` DATETIME DEFAULT NULL COMMENT '出校时间',
+  `reason` VARCHAR(400) DEFAULT NULL COMMENT '请假原因',
+  `teacher_id` BIGINT DEFAULT NULL COMMENT '班主任id',
+  `status` INT DEFAULT '0' COMMENT '状态(0:未结束 1:结束)',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='学生进校申请';
+
+-- ------------------------------------------------
+-- 海康威视系统对照表
+-- ------------------------------------------------
+DROP TABLE IF EXISTS hikvision_data;
+CREATE TABLE `hikvision_data` (
+  `create_date` DATETIME DEFAULT NULL COMMENT '创建时间',
+  `modify_date` DATETIME DEFAULT NULL COMMENT '修改时间',
+  `table_name` VARCHAR(200) DEFAULT NULL COMMENT '数据来源表',
+  `source_id` VARCHAR(100) DEFAULT NULL COMMENT '数据id',
+  `hikvision_id` VARCHAR(100) DEFAULT NULL COMMENT '对应的海康威视系统的id'
+) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='海康威视系统对照表';
+
+DROP TABLE IF EXISTS stundent_face_process;
+CREATE TABLE `stundent_face_process` (
+  `id` BIGINT NOT NULL COMMENT '主键',
+  `create_user_id` BIGINT DEFAULT NULL COMMENT '创建人',
+  `create_date` DATETIME(3) DEFAULT NULL COMMENT '创建时间',
+  `modify_user_id` BIGINT DEFAULT NULL COMMENT '修改人id',
+  `modify_date` DATETIME(3) DEFAULT NULL COMMENT '修改日期',
+  `delete_mark` INT DEFAULT NULL COMMENT '删除标记',
+  `enabled_mark` INT DEFAULT NULL COMMENT '有效标记',
+  `user_id` BIGINT DEFAULT NULL COMMENT '用户id',
+  `name` VARCHAR(255) DEFAULT NULL,
+  `class_id` BIGINT DEFAULT NULL COMMENT '班级id',
+  `class_cn` VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
+  `gender` VARCHAR(255) DEFAULT NULL COMMENT '性别',
+  `identity_card` VARCHAR(255) DEFAULT NULL COMMENT '身份证号',
+  `face_photo` BIGINT DEFAULT NULL COMMENT '人脸照片',
+  `status` INT DEFAULT '0' COMMENT '状态(0:未结束 1:结束)',
+  `teacher_id` BIGINT DEFAULT NULL COMMENT '班主任id',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='学生人脸信息审核';
+
+DROP TABLE IF EXISTS teacher_face_process;
+CREATE TABLE `teacher_face_process` (
+  `id` BIGINT NOT NULL COMMENT '主键',
+  `create_user_id` BIGINT DEFAULT NULL COMMENT '创建人',
+  `create_date` DATETIME(3) DEFAULT NULL COMMENT '创建时间',
+  `modify_user_id` BIGINT DEFAULT NULL COMMENT '修改人id',
+  `modify_date` DATETIME(3) DEFAULT NULL COMMENT '修改日期',
+  `delete_mark` INT DEFAULT NULL COMMENT '删除标记',
+  `enabled_mark` INT DEFAULT NULL COMMENT '有效标记',
+  `user_id` BIGINT DEFAULT NULL COMMENT '用户id',
+  `name` VARCHAR(255) DEFAULT NULL,
+  `dep_id` BIGINT DEFAULT NULL COMMENT '部门id',
+  `dep_cn` VARCHAR(255) DEFAULT NULL,
+  `gender` VARCHAR(255) DEFAULT NULL COMMENT '性别',
+  `identity_card` VARCHAR(255) DEFAULT NULL COMMENT '身份证号',
+  `face_photo` BIGINT DEFAULT NULL COMMENT '人脸照片',
+  `status` INT DEFAULT '0' COMMENT '状态(0:未结束 1:结束)',
+  `dep_user_id` BIGINT DEFAULT NULL COMMENT '部门主任id',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='人脸信息审核';
+
+
+-- ---------------------------------------------------
+-- 学生出入记录
+-- ---------------------------------------------------
+DROP TABLE IF EXISTS student_out_in_record;
+CREATE TABLE `student_out_in_record` (
+  `id` BIGINT NOT NULL COMMENT '主键',
+  `create_user_id` BIGINT DEFAULT NULL COMMENT '创建人',
+  `create_date` DATETIME(3) DEFAULT NULL COMMENT '创建时间',
+  `modify_user_id` BIGINT DEFAULT NULL COMMENT '修改人id',
+  `modify_date` DATETIME(3) DEFAULT NULL COMMENT '修改日期',
+  `delete_mark` INT DEFAULT NULL COMMENT '删除标记',
+  `enabled_mark` INT DEFAULT NULL COMMENT '有效标记',
+  `user_id` BIGINT DEFAULT NULL COMMENT '用户id',
+  `teacher_id` BIGINT DEFAULT NULL COMMENT '班主任id',
+  `class_id` BIGINT DEFAULT NULL COMMENT '班级id',
+  `record_time` VARCHAR(255) DEFAULT NULL COMMENT '记录时间',
+  `face_photo` BIGINT DEFAULT NULL COMMENT '人脸照片',
+  `status` INT DEFAULT NULL COMMENT '进出状态(0:进 1:出)',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='学生出入记录';
+
+
+-- ---------------------------------------------------
+-- 教师出入记录
+-- ---------------------------------------------------
+DROP TABLE IF EXISTS teacher_out_in_record;
+CREATE TABLE `teacher_out_in_record` (
+  `id` BIGINT NOT NULL COMMENT '主键',
+  `create_user_id` BIGINT DEFAULT NULL COMMENT '创建人',
+  `create_date` DATETIME(3) DEFAULT NULL COMMENT '创建时间',
+  `modify_user_id` BIGINT DEFAULT NULL COMMENT '修改人id',
+  `modify_date` DATETIME(3) DEFAULT NULL COMMENT '修改日期',
+  `delete_mark` INT DEFAULT NULL COMMENT '删除标记',
+  `enabled_mark` INT DEFAULT NULL COMMENT '有效标记',
+  `user_id` BIGINT DEFAULT NULL COMMENT '用户id',
+  `record_time` VARCHAR(255) DEFAULT NULL COMMENT '记录时间',
+  `face_photo` BIGINT DEFAULT NULL COMMENT '人脸照片',
+  `status` INT DEFAULT NULL COMMENT '进出状态(0:进 1:出)',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='教师出入记录';
+
+
+
+CREATE TABLE `reservation_school` (
+  `id` BIGINT NOT NULL COMMENT '主键',
+  `create_user_id` BIGINT DEFAULT NULL COMMENT '创建人',
+  `create_date` DATETIME(3) DEFAULT NULL COMMENT '创建时间',
+  `modify_user_id` BIGINT DEFAULT NULL COMMENT '修改人id',
+  `modify_date` DATETIME(3) DEFAULT NULL COMMENT '修改日期',
+  `delete_mark` INT DEFAULT NULL COMMENT '删除标记',
+  `enabled_mark` INT DEFAULT NULL COMMENT '有效标记',
+  `reason` VARCHAR(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '进校事由',
+  `dept_id` BIGINT DEFAULT NULL COMMENT '到访部门id',
+  `respondent_user_id` BIGINT DEFAULT NULL COMMENT '被访人用户id',
+  `start_time` DATETIME DEFAULT NULL COMMENT '进校时间',
+  `end_time` DATETIME DEFAULT NULL COMMENT '离校时间',
+  `status` INT DEFAULT '0' COMMENT '状态(0:未结束 1:结束)',
+  `time` INT DEFAULT NULL COMMENT '拜访时间',
+  `dept_user_id` BIGINT DEFAULT NULL COMMENT '部门负责人id',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='预约进校';
+
+CREATE TABLE `reservation_school_people` (
+  `id` BIGINT NOT NULL COMMENT '主键编号',
+  `create_user_id` BIGINT DEFAULT NULL COMMENT '创建人',
+  `create_date` DATETIME DEFAULT NULL COMMENT '创建时间',
+  `modify_user_id` BIGINT DEFAULT NULL COMMENT '修改人',
+  `modify_date` DATETIME DEFAULT NULL COMMENT '修改时间',
+  `delete_mark` INT NOT NULL COMMENT '删除标记',
+  `enabled_mark` INT NOT NULL COMMENT '有效标志',
+  `reservation_schoo_id` BIGINT DEFAULT NULL COMMENT '预约进校编号',
+  `name` VARCHAR(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '姓名',
+  `identity_card` VARCHAR(400) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '身份证号',
+  `phone` BIGINT DEFAULT NULL COMMENT '手机号码',
+  `gender` VARCHAR(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '性别',
+  `is_car` VARCHAR(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '是否开车',
+  `plate_number` VARCHAR(255) DEFAULT NULL COMMENT '车牌号',
+  PRIMARY KEY (`id`)
+) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='预约进校-进校人员';
+
+
+-- ---------------------------------------------------
+-- 访客出入记录
+-- ---------------------------------------------------
+DROP TABLE IF EXISTS visitor_out_in_record;
+CREATE TABLE `visitor_out_in_record` (
+  `id` BIGINT NOT NULL COMMENT '主键',
+  `create_user_id` BIGINT DEFAULT NULL COMMENT '创建人',
+  `create_date` DATETIME(3) DEFAULT NULL COMMENT '创建时间',
+  `modify_user_id` BIGINT DEFAULT NULL COMMENT '修改人id',
+  `modify_date` DATETIME(3) DEFAULT NULL COMMENT '修改日期',
+  `delete_mark` INT DEFAULT NULL COMMENT '删除标记',
+  `enabled_mark` INT DEFAULT NULL COMMENT '有效标记',
+  `reservation_school_people_id` BIGINT DEFAULT NULL COMMENT '访客id(reservation_school_people)',
+  `record_time` VARCHAR(255) DEFAULT NULL COMMENT '记录时间',
+  `face_photo` BIGINT DEFAULT NULL COMMENT '人脸照片',
+  `status` INT DEFAULT NULL COMMENT '进出状态(0:进 1:出)',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='访客出入记录';
+
+
+-- ---------------------------------------------------
+-- 车辆出入记录
+-- ---------------------------------------------------
+DROP TABLE IF EXISTS car_out_in_record;
+CREATE TABLE `car_out_in_record` (
+  `id` BIGINT NOT NULL COMMENT '主键',
+  `create_user_id` BIGINT DEFAULT NULL COMMENT '创建人',
+  `create_date` DATETIME(3) DEFAULT NULL COMMENT '创建时间',	
+  `modify_user_id` BIGINT DEFAULT NULL COMMENT '修改人id',
+  `modify_date` DATETIME(3) DEFAULT NULL COMMENT '修改日期',
+  `delete_mark` INT DEFAULT NULL COMMENT '删除标记',
+  `enabled_mark` INT DEFAULT NULL COMMENT '有效标记',
+  `car_message_apply_id` BIGINT DEFAULT NULL COMMENT '车辆id(car_message_apply),固定车辆使用',
+  `record_time` VARCHAR(255) DEFAULT NULL COMMENT '记录时间',
+  `face_photo` BIGINT DEFAULT NULL COMMENT '人脸照片',
+  `status` INT DEFAULT NULL COMMENT '进出状态(0:进 1:出)',
+  `reservation_school_people_id` BIGINT DEFAULT NULL COMMENT '访客车辆(reservation_school_people),临时车辆使用',
+  `category` INT DEFAULT NULL COMMENT '车辆分类(0:固定车辆 1:临时车辆)',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='车辆出入记录';
+
+
+
+
+-- ------------------------------------------------
+-- 海康威视资源表
+-- ------------------------------------------------
+DROP TABLE IF EXISTS hikvision_resource;
+CREATE TABLE `hikvision_resource` (
+  `index_code` VARCHAR(100) NOT NULL COMMENT '资源唯一标识',
+  `name` VARCHAR(100) DEFAULT NULL COMMENT '资源名称',
+  `resource_type` VARCHAR(100) DEFAULT NULL COMMENT '资源类型',
+  `door_no` VARCHAR(100) DEFAULT NULL COMMENT '资源编号',
+  `description` VARCHAR(100) DEFAULT NULL COMMENT '描述',
+  `parent_index_codes` VARCHAR(100) DEFAULT NULL COMMENT '父级资源编号',
+  `region_index_code` VARCHAR(100) DEFAULT NULL COMMENT '所属区域唯一标识',
+  `region_path` VARCHAR(100) DEFAULT NULL COMMENT '所属区域唯一标识',
+  `channel_type` VARCHAR(100) DEFAULT NULL COMMENT '通道类型',
+  `channel_no` VARCHAR(100) DEFAULT NULL COMMENT '通道号',
+  `install_location` VARCHAR(100) DEFAULT NULL COMMENT '安装位置',
+  `capability_set` VARCHAR(100) DEFAULT NULL COMMENT '设备能力集',
+  `control_one_id` VARCHAR(100) DEFAULT NULL COMMENT '一级控制器id',
+  `control_two_id` VARCHAR(100) DEFAULT NULL COMMENT '二级控制器id',
+  `reader_in_id` VARCHAR(100) DEFAULT NULL COMMENT '读卡器1',
+  `reader_out_id` VARCHAR(100) DEFAULT NULL COMMENT '读卡器2',
+  `com_id` VARCHAR(100) DEFAULT NULL COMMENT '组件标志',
+  `create_time` VARCHAR(100) DEFAULT NULL COMMENT '创建时间',
+  `update_time` VARCHAR(100) DEFAULT NULL COMMENT '更新时间',
+  PRIMARY KEY (`index_code`) USING BTREE
+) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='海康威视资源表';
+
+
+-- ------------------------------------------------
+-- 教师考勤记录
+-- ------------------------------------------------
+DROP TABLE IF EXISTS teacher_attendance_record;
+CREATE TABLE `teacher_attendance_record` (
+  `id` BIGINT NOT NULL COMMENT '主键',
+  `create_user_id` BIGINT DEFAULT NULL COMMENT '创建人',
+  `create_date` DATETIME(3) DEFAULT NULL COMMENT '创建时间',
+  `modify_user_id` BIGINT DEFAULT NULL COMMENT '修改人id',
+  `modify_date` DATETIME(3) DEFAULT NULL COMMENT '修改日期',
+  `delete_mark` INT DEFAULT NULL COMMENT '删除标记',
+  `enabled_mark` INT DEFAULT NULL COMMENT '有效标记',
+  `user_id` BIGINT DEFAULT NULL COMMENT '教师userId(xjr_user)',
+  `attendance_mode` INT DEFAULT NULL COMMENT '考勤方式(1:人脸,2:车辆)',
+  `attendance_status` VARCHAR(50) DEFAULT NULL COMMENT '考勤状态(xjr_dictionary_detail[attendance_status])',
+  `time_interval` INT DEFAULT NULL COMMENT '时段(1:上午,2:下午,3:晚上)',
+  `car_number` VARCHAR(50) DEFAULT NULL COMMENT '车牌号',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='教师考勤记录';
+
+
+-- ------------------------------------------------
+-- 学生考勤记录
+-- ------------------------------------------------
+DROP TABLE IF EXISTS student_attendance_record;
+CREATE TABLE `student_attendance_record` (
+  `id` BIGINT NOT NULL COMMENT '主键',
+  `create_user_id` BIGINT DEFAULT NULL COMMENT '创建人',
+  `create_date` DATETIME(3) DEFAULT NULL COMMENT '创建时间',
+  `modify_user_id` BIGINT DEFAULT NULL COMMENT '修改人id',
+  `modify_date` DATETIME(3) DEFAULT NULL COMMENT '修改日期',
+  `delete_mark` INT DEFAULT NULL COMMENT '删除标记',
+  `enabled_mark` INT DEFAULT NULL COMMENT '有效标记',
+  `user_id` BIGINT DEFAULT NULL COMMENT '学生userId(xjr_user)',
+  `teacher_id` BIGINT DEFAULT NULL COMMENT '班主人id(xjr_user)',
+  `class_id` BIGINT DEFAULT NULL COMMENT '班级id(class)',
+  `stduy_status` VARCHAR(20) DEFAULT NULL COMMENT '就读方式(xjr_dictionary_item[stduy_status])',
+  `attendance_status` VARCHAR(50) DEFAULT NULL COMMENT '考勤状态(xjr_dictionary_detail[attendance_status])',
+  `time_interval` INT DEFAULT NULL COMMENT '时段(1:上午,2:下午,3:晚上)',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='学生考勤记录';
+
+ALTER TABLE `car_message_apply`   
+  ADD COLUMN `exam_status` INT DEFAULT 0  NULL   COMMENT '审批状态(0:未通过 1:通过)';
+  
+ALTER TABLE `reservation_school`   
+  ADD COLUMN `exam_status` INT DEFAULT 0  NULL   COMMENT '审批状态(0:未通过 1:通过)';
+  
+ALTER TABLE `teacher_face_process`   
+  ADD COLUMN `exam_status` INT DEFAULT 0  NULL   COMMENT '审批状态(0:未通过 1:通过)';
+  
+ALTER TABLE `stundent_face_process`   
+  ADD COLUMN `exam_status` INT DEFAULT 0  NULL   COMMENT '审批状态(0:未通过 1:通过)';
+
+
+