评估系统 - 数据库设计文档

0. 数据表统计

0.1 表数量统计

系统共包含 29个 核心数据表 + 9个 JPA关系表,分为9个功能模块:

模块 表数量 说明
用户管理 3 用户表、角色表、用户会话表
业务管理 8 委托方、项目、计划、车辆、合同、档案、设备使用、项目信息
标准体系 8 层级、问题、专家、模型基类、系统模型、设备模型、实测模型、实测规则
评估模块 6 任务基类、记录基类、评估结果基类、轮空信息、错误复核、隶属度矩阵
签到管理 3 签到记录基类、项目签到、工作签到
设备管理 1 设备表
文件管理 1 用户文件表
报告管理 1 报告模板表
JPA关系表 9 多对多关系中间表

0.2 数据表列表

序号 表名 中文名称 模块 主要功能
1 user 用户表 用户管理 系统用户信息管理
2 role 角色表 用户管理 角色权限管理
3 user_session 用户会话表 用户管理 用户登录会话管理
4 client 委托方表 业务管理 委托方信息管理
5 project 项目表 业务管理 项目基本信息管理
6 plan 计划表 业务管理 评估计划管理
7 car 车辆表 业务管理 车辆信息管理
8 contract 合同表 业务管理 合同信息管理
9 archive 档案表 业务管理 档案文件管理
10 device_usage 设备使用表 业务管理 设备使用记录管理
11 project_info 项目信息表 业务管理 项目详细信息管理
12 hierarchy 层级表 标准体系 层级树结构数据
13 problem 问题表 标准体系 标准问题定义
14 expert 专家表 标准体系 专家信息管理
15 model 模型基类表 标准体系 模型基类(系统/设备/实测)
16 sys_model 系统模型表 标准体系 综合体系模型
17 device_model 设备模型表 标准体系 设备体系模型
18 measure_model 实测模型表 标准体系 实测实量模型
19 measure_rule 实测规则表 标准体系 实测实量规则
20 task 任务基类表 评估模块 任务基类(检查/复查)
21 record 记录基类表 评估模块 记录基类(错误/信息/警告)
22 eval_result 评估结果基类表 评估模块 评估结果基类
23 bypass_info 轮空信息表 评估模块 检查通过信息管理
24 error_review 错误复核表 评估模块 问题复核记录管理
25 membership_matrix 隶属度矩阵表 评估模块 模糊评估隶属度矩阵
26 sign_record 签到记录基类表 签到管理 签到记录基类(项目/工作)
27 device 设备表 设备管理 设备信息管理
28 user_file 用户文件表 文件管理 文件信息管理
29 report_template 报告模板表 报告管理 报告模板管理

1. 概述

1.1 文档目的

本文档详细描述了评估系统的数据库设计,基于JPA/Hibernate实现,包括实体类结构、字段定义、关系映射等。

1.2 系统简介

评估系统是一个基于Spring Boot的建筑工程安全风险评估平台,支持综合体系评估和设备体系评估两种评估模式。

1.3 技术栈

  • 数据库: MySQL 8.0.36
  • ORM框架: JPA
  • 字符编码: UTF-8

2. 数据库架构设计

2.1 数据库命名规范

  • 数据库名: estate
  • 表名: JPA自动生成,基于实体类名
  • 字段名: JPA自动生成,基于属性名
  • 索引名: 通过@Index注解定义

2.2 基础实体设计

所有业务实体都继承自 EntityBase 基类,包含以下通用字段:

字段名 数据类型 功能说明 约束
id Integer 主键,自增 PRIMARY KEY, AUTO_INCREMENT
name String(255) 名称,业务唯一标识 UNIQUE, NOT NULL
deleted Boolean 软删除标记 NOT NULL, DEFAULT FALSE
creator_id Integer 创建者ID FOREIGN KEY
create_time LocalDateTime 创建时间 NOT NULL
update_time LocalDateTime 更新时间 NOT NULL

3. 核心数据表设计

3.1 用户管理模块

3.1.1 用户表 (user)

字段名 数据类型 功能说明 约束
id Integer 主键 PRIMARY KEY, AUTO_INCREMENT
name String(255) 用户名 UNIQUE, NOT NULL
password String(255) 密码,BCrypt加密 NOT NULL
mobile String(20) 手机号 UNIQUE, NOT NULL
state Enum 用户状态 NOT NULL (ACTIVE/INACTIVE/LOCKED)
department_path String(500) 部门路径
role_id Integer 角色ID NOT NULL
avatar String(500) 头像URL
email String(100) 邮箱
remark Text 备注
last_access_time LocalDateTime 最后访问时间
deleted Boolean 软删除标记 NOT NULL, DEFAULT FALSE
creator_id Integer 创建者ID FOREIGN KEY
create_time LocalDateTime 创建时间 NOT NULL
update_time LocalDateTime 更新时间 NOT NULL

主要功能:系统用户管理,支持多种状态,基于角色的权限控制,部门层级管理,用户会话跟踪

3.1.2 角色表 (role)

字段名 数据类型 功能说明 约束
id Integer 主键 PRIMARY KEY, AUTO_INCREMENT
name String(255) 角色名称 UNIQUE, NOT NULL
permission_ids JSON 权限ID列表
remark String 备注
deleted Boolean 软删除标记 NOT NULL, DEFAULT FALSE
creator_id Integer 创建者ID FOREIGN KEY
create_time LocalDateTime 创建时间 NOT NULL
update_time LocalDateTime 更新时间 NOT NULL

主要功能:角色权限管理,定义用户角色和对应的权限列表

3.1.3 用户会话表 (user_session)

字段名 数据类型 功能说明 约束
id Long 主键 PRIMARY KEY, AUTO_INCREMENT
user_id Integer 用户ID NOT NULL, FOREIGN KEY
token String 会话令牌 NOT NULL
state String 会话状态 NOT NULL
client_code String 客户端代码
device_code String 设备代码
ip_address String IP地址
extra String 额外信息
create_time LocalDateTime 创建时间 NOT NULL
last_access_time LocalDateTime 最后访问时间 NOT NULL
expire_time LocalDateTime 过期时间

主要功能:用户登录会话管理,维护用户登录状态和会话信息

3.2 业务管理模块

3.2.1 委托方表 (client)

字段名 数据类型 功能说明 约束
id Integer 主键 PRIMARY KEY, AUTO_INCREMENT
name String(255) 委托方名称 UNIQUE, NOT NULL
type Enum 委托方类型 NOT NULL
intention String 委托意向
deleted Boolean 软删除标记 NOT NULL, DEFAULT FALSE
creator_id Integer 创建者ID FOREIGN KEY
create_time LocalDateTime 创建时间 NOT NULL
update_time LocalDateTime 更新时间 NOT NULL

主要功能:委托方信息管理,支持多种委托方类型,委托意向记录

3.2.2 项目表 (project)

字段名 数据类型 功能说明 约束
id Integer 主键 PRIMARY KEY, AUTO_INCREMENT
name String(255) 项目名称 UNIQUE, NOT NULL
type Enum 项目类型 NOT NULL (RESIDENTIAL/COMMERCIAL/INDUSTRIAL/PUBLIC)
usage_type Enum 用途类型 NOT NULL (NEW_CONSTRUCTION/RENOVATION/MAINTENANCE)
department_path String(500) 部门路径
client_id Integer 委托方ID FOREIGN KEY
construction_license String(100) 施工许可证号
item_code String(100) 项目编号
branch_company String(200) 所属分公司
construction_company_info JSON 施工单位信息
supervisor_company_info JSON 监理公司信息
address_info JSON 地址信息
deleted Boolean 软删除标记 NOT NULL, DEFAULT FALSE
creator_id Integer 创建者ID FOREIGN KEY
create_time LocalDateTime 创建时间 NOT NULL
update_time LocalDateTime 更新时间 NOT NULL

主要功能:项目基本信息管理,支持多种项目类型和用途,关联委托方信息,存储公司信息和地址信息(JSON格式)

3.2.3 计划表 (plan)

字段名 数据类型 功能说明 约束
id Integer 主键 PRIMARY KEY, AUTO_INCREMENT
name String(255) 计划名称 UNIQUE, NOT NULL
type Enum 计划类型 (SYSTEM/DEVICE/COMPREHENSIVE)
client_id Integer 委托方ID FOREIGN KEY
system_model_id Integer 系统模型ID FOREIGN KEY
system_fuzzy_expert_id Integer 系统模糊专家ID FOREIGN KEY
system_score_expert_id Integer 系统打分专家ID FOREIGN KEY
device_model_id Integer 设备模型ID FOREIGN KEY
device_fuzzy_math_id Integer 设备模糊专家ID FOREIGN KEY
device_score_expert_id Integer 设备打分专家ID FOREIGN KEY
state Enum 计划状态 NOT NULL (DRAFT/ACTIVE/COMPLETED/CANCELLED)
completed_time LocalDateTime 完成时间
deleted Boolean 软删除标记 NOT NULL, DEFAULT FALSE
creator_id Integer 创建者ID FOREIGN KEY
create_time LocalDateTime 创建时间 NOT NULL
update_time LocalDateTime 更新时间 NOT NULL

主要功能:评估计划管理,支持综合体系、设备体系、混合评估,关联专家和模型,计划状态跟踪

3.2.4 车辆表 (car)

字段名 数据类型 功能说明 约束
id Integer 主键 PRIMARY KEY, AUTO_INCREMENT
name String(255) 车辆名称 UNIQUE, NOT NULL
model String(100) 车辆型号
department_path String(500) 部门路径
initial_mileage Integer 初始里程
driver_id Integer 驾驶员ID FOREIGN KEY
deleted Boolean 软删除标记 NOT NULL, DEFAULT FALSE
creator_id Integer 创建者ID FOREIGN KEY
create_time LocalDateTime 创建时间 NOT NULL
update_time LocalDateTime 更新时间 NOT NULL

主要功能:车辆信息管理,关联驾驶员,支持车辆图片管理

3.2.5 合同表 (contract)

字段名 数据类型 功能说明 约束
id Integer 主键 PRIMARY KEY, AUTO_INCREMENT
name String(255) 合同名称 UNIQUE, NOT NULL
state Enum 合同状态 NOT NULL (NOT_STARTED/IN_PROGRESS/COMPLETED/TERMINATED)
tech_service_file_id Integer 技术服务文件ID FOREIGN KEY
contract_file_id Integer 合同文件ID FOREIGN KEY
client_id Integer 委托方ID FOREIGN KEY
deleted Boolean 软删除标记 NOT NULL, DEFAULT FALSE
creator_id Integer 创建者ID FOREIGN KEY
create_time LocalDateTime 创建时间 NOT NULL
update_time LocalDateTime 更新时间 NOT NULL

主要功能:合同信息管理,关联委托方和文件,跟踪合同状态

3.2.6 档案表 (archive)

字段名 数据类型 功能说明 约束
id Integer 主键 PRIMARY KEY, AUTO_INCREMENT
name String(255) 档案名称 UNIQUE, NOT NULL
type Enum 档案类型 NOT NULL (THIRD_PARTY_REPORT/TRAINING_MATERIAL/STANDARD_SPECIFICATION/TECHNICAL_SERVICE_PLAN/INSPECTION_PHOTO)
file_id Integer 文件ID FOREIGN KEY
file_name String 文件名
remark String 备注
deleted Boolean 软删除标记 NOT NULL, DEFAULT FALSE
creator_id Integer 创建者ID FOREIGN KEY
create_time LocalDateTime 创建时间 NOT NULL
update_time LocalDateTime 更新时间 NOT NULL

主要功能:档案文件管理,支持多种档案类型,关联文件存储

3.2.7 设备使用表 (device_usage)

字段名 数据类型 功能说明 约束
id Integer 主键 PRIMARY KEY, AUTO_INCREMENT
name String(255) 使用记录名称 UNIQUE, NOT NULL
device_id Integer 设备ID NOT NULL, FOREIGN KEY
project_id Integer 项目ID NOT NULL, FOREIGN KEY
disabled Boolean 是否已移除 DEFAULT FALSE
properties JSON 设备属性
deleted Boolean 软删除标记 NOT NULL, DEFAULT FALSE
creator_id Integer 创建者ID FOREIGN KEY
create_time LocalDateTime 创建时间 NOT NULL
update_time LocalDateTime 更新时间 NOT NULL

主要功能:设备使用记录管理,跟踪设备在项目中的使用情况

3.2.8 项目信息表 (project_info)

字段名 数据类型 功能说明 约束
id Integer 主键 PRIMARY KEY, AUTO_INCREMENT
name String(255) 信息名称 UNIQUE, NOT NULL
project_id Integer 项目ID NOT NULL, FOREIGN KEY
detail String 项目详情
progress String 项目进展
dangerous_options JSON 危大工程选项
super_dangerous_options JSON 超大危工程选项
progress_this_season String 本季度进展
update_date LocalDate 更新日期 NOT NULL
deleted Boolean 软删除标记 NOT NULL, DEFAULT FALSE
creator_id Integer 创建者ID FOREIGN KEY
create_time LocalDateTime 创建时间 NOT NULL
update_time LocalDateTime 更新时间 NOT NULL

主要功能:项目详细信息管理,记录项目进展和危大工程信息

3.3 标准体系模块

3.3.1 层级表 (hierarchy)

字段名 数据类型 功能说明 约束
id Integer 主键 PRIMARY KEY, AUTO_INCREMENT
name String(255) 层级名称 UNIQUE, NOT NULL
content JSON 层级树结构数据
deleted Boolean 软删除标记 NOT NULL, DEFAULT FALSE
creator_id Integer 创建者ID FOREIGN KEY
create_time LocalDateTime 创建时间 NOT NULL
update_time LocalDateTime 更新时间 NOT NULL

主要功能:存储综合体系、设备体系、实测实量体系的层级数据,使用JSON格式存储树形结构,支持动态构建树结构

3.3.2 问题表 (problem)

字段名 数据类型 功能说明 约束
id Integer 主键 PRIMARY KEY, AUTO_INCREMENT
name String(255) 问题名称 UNIQUE, NOT NULL
hierarchy_id Integer 层级ID NOT NULL
hierarchy_path String(500) 层级路径 NOT NULL
description Text 问题描述 NOT NULL
specific_terms JSON 专业术语列表
suggest_actions JSON 建议措施列表
incident_types JSON 事故类型列表
number_factors JSON 数量因子列表
scale_factors JSON 等级因子列表
review_paradigm Text 检查范式
responsible_person String(100) 责任人
responsible_department String(200) 责任部门
incident_case_file_id Integer 事故案例文件ID FOREIGN KEY
correct_practice Text 正确做法
num_value Float 数值
deleted Boolean 软删除标记 NOT NULL, DEFAULT FALSE
creator_id Integer 创建者ID FOREIGN KEY
create_time LocalDateTime 创建时间 NOT NULL
update_time LocalDateTime 更新时间 NOT NULL

主要功能:存储标准问题定义,支持多种因子类型(数量因子、等级因子),关联层级和文件,存储问题处理信息

3.3.3 专家表 (expert)

字段名 数据类型 功能说明 约束
id Integer 主键 PRIMARY KEY, AUTO_INCREMENT
name String(255) 专家名称 UNIQUE, NOT NULL
type String(50) 专家类型 NOT NULL
contact String(200) 联系方式
matrix_weight Float 矩阵权重
membership_weight Float 隶属度权重
expert_inquiry_weight Float 专家调查权重
expert_funcs JSON 专家功能列表
weight_map JSON 权重映射
membership_matrix_id Integer 隶属度矩阵ID FOREIGN KEY
compare_matrix_map JSON 比较矩阵映射
deleted Boolean 软删除标记 NOT NULL, DEFAULT FALSE
creator_id Integer 创建者ID FOREIGN KEY
create_time LocalDateTime 创建时间 NOT NULL
update_time LocalDateTime 更新时间 NOT NULL

主要功能:专家信息管理,支持打分专家和模糊专家两种类型,存储权重矩阵和比较矩阵,支持多层级权重配置

3.3.4 模型基类表 (model)

字段名 数据类型 功能说明 约束
id Integer 主键 PRIMARY KEY, AUTO_INCREMENT
name String(255) 模型名称 UNIQUE, NOT NULL
type String 模型类型 NOT NULL (system/device)
hierarchy_id Integer 层级ID FOREIGN KEY
version Integer 版本号 NOT NULL
deleted Boolean 软删除标记 NOT NULL, DEFAULT FALSE
creator_id Integer 创建者ID FOREIGN KEY
create_time LocalDateTime 创建时间 NOT NULL
update_time LocalDateTime 更新时间 NOT NULL

主要功能:模型基类,支持系统模型和设备模型两种类型,关联层级数据

3.3.5 系统模型表 (sys_model)

继承自 model 表,包含以下独有字段:

字段名 数据类型 功能说明 约束
problem_ids JSON 选中的问题ID列表
hierarchy_paths JSON 层级路径列表

主要功能:综合体系模型,从层级数据中选择部分问题组成系统模型

3.3.6 设备模型表 (device_model)

继承自 model 表,包含以下独有字段:

字段名 数据类型 功能说明 约束
published Boolean 是否发布 DEFAULT FALSE
enable Boolean 是否激活 DEFAULT FALSE
description String 模型描述

主要功能:设备体系模型,支持发布和激活状态管理

3.3.7 实测模型表 (measure_model)

继承自 model 表,包含以下独有字段:

字段名 数据类型 功能说明 约束
description String 模型描述

主要功能:实测实量模型,用于实测实量评估

3.3.8 实测规则表 (measure_rule)

字段名 数据类型 功能说明 约束
id Integer 主键 PRIMARY KEY, AUTO_INCREMENT
name String(255) 规则名称 UNIQUE, NOT NULL
hierarchy_id Integer 层级ID NOT NULL
hierarchy_path String 层级路径 NOT NULL
description String 规则描述
measure_point Integer 检测点
measure_type String 测量类别
measure_expr1 String 评判标准
measure_expr2 String 爆版值
deleted Boolean 软删除标记 NOT NULL, DEFAULT FALSE
creator_id Integer 创建者ID FOREIGN KEY
create_time LocalDateTime 创建时间 NOT NULL
update_time LocalDateTime 更新时间 NOT NULL

主要功能:实测实量规则,定义测量标准和评判规则

3.4 评估模块

3.4.1 任务基类表 (task)

字段名 数据类型 功能说明 约束
id Integer 主键 PRIMARY KEY, AUTO_INCREMENT
name String(255) 任务名称 UNIQUE, NOT NULL
task_type String 任务类型 NOT NULL (check_task/review_task)
date Date 任务日期
assemble_place String 集合地点
deleted Boolean 软删除标记 NOT NULL, DEFAULT FALSE
creator_id Integer 创建者ID FOREIGN KEY
create_time LocalDateTime 创建时间 NOT NULL
update_time LocalDateTime 更新时间 NOT NULL

主要功能:任务基类,支持检查任务和复查任务两种类型,包含任务基本信息和人员分配

3.4.2 检查任务表 (check_task)

继承自 task 表,包含以下独有字段:

字段名 数据类型 功能说明 约束
project_id Integer 项目ID NOT NULL, FOREIGN KEY
plan_id Integer 计划ID NOT NULL, FOREIGN KEY
bypass_info_id Integer 轮空项信息ID FOREIGN KEY
state Enum 任务状态 (DRAFT/IN_PROGRESS/COMPLETED/CANCELLED)
review_task_id Integer 复查任务ID FOREIGN KEY
location String 地点信息
system_score Float 系统得分
device_score_map JSON 设备得分映射
system_fuzzy Float 系统模糊得分
device_fuzzy_map JSON 设备模糊得分映射
gps JSON 经纬度信息
project_info_id Integer 项目信息ID FOREIGN KEY

主要功能:检查任务管理,支持多种任务类型,关联项目和计划,存储评估结果

3.4.3 记录基类表 (record)

字段名 数据类型 功能说明 约束
id Integer 主键 PRIMARY KEY, AUTO_INCREMENT
name String(255) 记录名称 UNIQUE, NOT NULL
record_type String 记录类型 NOT NULL (error/info/warning)
check_task_id Integer 检查任务ID FOREIGN KEY
problem_id Integer 问题ID FOREIGN KEY
hierarchy_name String 层级名称
hierarchy_names JSON 层级名称列表
device_id Integer 设备ID FOREIGN KEY
images JSON 问题图片列表
remark Text 问题备注
deleted Boolean 软删除标记 NOT NULL, DEFAULT FALSE
creator_id Integer 创建者ID FOREIGN KEY
create_time LocalDateTime 创建时间 NOT NULL
update_time LocalDateTime 更新时间 NOT NULL

主要功能:记录基类,支持错误记录、信息记录、警告记录三种类型

3.4.4 错误记录表 (error_record)

继承自 record 表,包含以下独有字段:

字段名 数据类型 功能说明 约束
specific_term_indexes JSON 专业术语索引列表
number_factor_index Integer 数量因子索引
scale_factor_index Integer 等级因子索引
level Enum 问题等级 (LOW/MEDIUM/HIGH/CRITICAL)
problem_part String 问题部位
suggestion Text 整改建议
reformed Boolean 是否已整改 DEFAULT FALSE
error_review_id Integer 错误复核ID FOREIGN KEY

主要功能:错误记录管理,关联任务和问题,记录问题等级和整改信息

3.4.5 评估结果基类表 (eval_result)

字段名 数据类型 功能说明 约束
id Integer 主键 PRIMARY KEY, AUTO_INCREMENT
name String(255) 结果名称 UNIQUE, NOT NULL
type String 结果类型 NOT NULL (score/fuzzy)
check_task_id Integer 检查任务ID NOT NULL, FOREIGN KEY
score Float 实际评分
display_score Float 显示评分
error_counts JSON 错误数量统计
plan_id Integer 计划ID FOREIGN KEY
project_id Integer 项目ID FOREIGN KEY
client_id Integer 委托方ID FOREIGN KEY
contain_system_res Boolean 是否包含系统结果 DEFAULT FALSE
contain_device_res Boolean 是否包含设备结果 DEFAULT FALSE
deleted Boolean 软删除标记 NOT NULL, DEFAULT FALSE
creator_id Integer 创建者ID FOREIGN KEY
create_time LocalDateTime 创建时间 NOT NULL
update_time LocalDateTime 更新时间 NOT NULL

主要功能:评估结果基类,支持打分结果和模糊结果两种类型

3.4.6 打分评估结果表 (eval_score_result)

继承自 eval_result 表,包含以下独有字段:

字段名 数据类型 功能说明 约束
system_res JSON 系统评估结果
device_res_map JSON 设备评估结果映射

主要功能:存储打分评估结果,包含系统评估和设备评估结果

3.4.7 模糊评估结果表 (eval_fuzzy_result)

继承自 eval_result 表,包含以下独有字段:

字段名 数据类型 功能说明 约束
risk_level Enum 风险等级
system_res JSON 系统模糊结果
device_res_map JSON 设备模糊结果映射

主要功能:存储模糊评估结果,包含风险等级和模糊评估数据

3.4.8 轮空信息表 (bypass_info)

字段名 数据类型 功能说明 约束
id Integer 主键 PRIMARY KEY, AUTO_INCREMENT
system_hierarchy_paths JSON 系统层级路径列表
device_hierarchy_paths JSON 设备层级路径列表
conclusion String 小结
advice String 建议

主要功能:检查通过信息管理,用于处理检查通过、未发现问题的情况

3.4.9 错误复核表 (error_review)

字段名 数据类型 功能说明 约束
id Integer 主键 PRIMARY KEY, AUTO_INCREMENT
name String(255) 复核记录名称 UNIQUE, NOT NULL
content String 复核意见
state Enum 复核结果 NOT NULL (NOT_REFORMED/PARTIAL_REFORMED/REFORMED)
deleted Boolean 软删除标记 NOT NULL, DEFAULT FALSE
creator_id Integer 创建者ID FOREIGN KEY
create_time LocalDateTime 创建时间 NOT NULL
update_time LocalDateTime 更新时间 NOT NULL

主要功能:问题复核记录管理,记录问题整改情况

3.4.10 隶属度矩阵表 (membership_matrix)

字段名 数据类型 功能说明 约束
id Integer 主键 PRIMARY KEY, AUTO_INCREMENT
data JSON 隶属度矩阵数据 10x10x10x10x5 五维数组

主要功能:模糊评估隶属度矩阵,用于模糊数学评估计算

3.5 签到管理模块

3.5.1 签到记录基类表 (sign_record)

字段名 数据类型 功能说明 约束
id Integer 主键 PRIMARY KEY, AUTO_INCREMENT
name String(255) 签到记录名称 UNIQUE, NOT NULL
type String 签到类型 NOT NULL (project/work)
location String 地点信息 NOT NULL
gps JSON 经纬度信息
deleted Boolean 软删除标记 NOT NULL, DEFAULT FALSE
creator_id Integer 创建者ID FOREIGN KEY
create_time LocalDateTime 创建时间 NOT NULL
update_time LocalDateTime 更新时间 NOT NULL

主要功能:签到记录基类,支持项目签到和工作签到两种类型

3.5.2 项目签到记录表 (project_sign_record)

继承自 sign_record 表,包含以下独有字段:

字段名 数据类型 功能说明 约束
project_id Integer 项目ID NOT NULL, FOREIGN KEY

主要功能:项目签到记录管理,关联具体项目

3.5.3 工作签到记录表 (work_sign_record)

继承自 sign_record 表,包含以下独有字段:

字段名 数据类型 功能说明 约束
content String 工作内容
work_time_period Enum 工作时间段 (ALL_DAY/MORNING/AFTERNOON)
work_type Enum 工作类型 (IN/OUT)

主要功能:工作签到记录管理,记录工作内容和时间段

3.6 设备管理模块

3.6.1 设备表 (device)

字段名 数据类型 功能说明 约束
id Integer 主键 PRIMARY KEY, AUTO_INCREMENT
name String(255) 设备名称 UNIQUE, NOT NULL
type Enum 设备类型 NOT NULL
manufacturer_number String 出厂编号 NOT NULL
busy Boolean 设备使用状态 DEFAULT FALSE
properties JSON 设备详细信息
deleted Boolean 软删除标记 NOT NULL, DEFAULT FALSE
creator_id Integer 创建者ID FOREIGN KEY
create_time LocalDateTime 创建时间 NOT NULL
update_time LocalDateTime 更新时间 NOT NULL

主要功能:设备信息管理,支持多种设备类型,跟踪设备使用状态,存储设备详细属性

3.6 文件管理模块

3.6.1 用户文件表 (user_file)

字段名 数据类型 功能说明 约束
id Integer 主键 PRIMARY KEY, AUTO_INCREMENT
name String(255) 文件名称 UNIQUE, NOT NULL
original_name String(255) 原始文件名 NOT NULL
file_path String(500) 文件路径 NOT NULL
file_size Long 文件大小 NOT NULL
file_type String(100) 文件类型
mime_type String(100) MIME类型
upload_time LocalDateTime 上传时间 NOT NULL
deleted Boolean 软删除标记 NOT NULL, DEFAULT FALSE
creator_id Integer 创建者ID FOREIGN KEY
create_time LocalDateTime 创建时间 NOT NULL
update_time LocalDateTime 更新时间 NOT NULL

主要功能:文件管理,存储文件基本信息,支持多种文件类型

3.7 报告管理模块

3.7.1 报告模板表 (report_template)

字段名 数据类型 功能说明 约束
id Integer 主键 PRIMARY KEY, AUTO_INCREMENT
name String(255) 模板名称 UNIQUE, NOT NULL
number String 报告模板编号 NOT NULL
sub_number String 模板子编号 NOT NULL
type Enum 模板类型 NOT NULL (ThirdPartyReport/DeviceReport)
remark String 备注
config JSON 模板配置
deleted Boolean 软删除标记 NOT NULL, DEFAULT FALSE
creator_id Integer 创建者ID FOREIGN KEY
create_time LocalDateTime 创建时间 NOT NULL
update_time LocalDateTime 更新时间 NOT NULL

主要功能:报告模板管理,支持多种报告类型和配置

4. JPA多对多关系表

4.1 关系表摘要

由于JPA中@ManyToMany关系的存在,系统会自动生成以下中间关系表:

序号 关系表名 关联实体1 关联实体2 功能说明
1 construction_license_file project user_file 项目施工许可证文件关联
2 task_group_leader task user 任务组长关联
3 task_group_member task user 任务组员关联
4 task_driver task user 任务司机关联
5 task_car task car 任务车辆关联
6 error_review_image error_review user_file 错误复核图片关联
7 record_image record user_file 记录图片关联
8 sign_record_image sign_record user_file 签到记录图片关联
9 car_image car user_file 车辆图片关联

4.2 关系表字段说明

所有关系表都包含以下标准字段:
- 主表_id - 主表外键
- 关联表_id - 关联表外键

这些关系表由JPA自动管理,不需要手动维护,主要用于存储多对多关系的映射数据。

5. 数据关系设计

5.1 关系说明

系统采用JPA实体关系映射,主要包含以下关系类型:

  1. 一对多关系:用户创建各种业务实体,委托方拥有多个项目等
  2. 一对一关系:计划与专家的一对一关联,专家与隶属度矩阵的一对一关联
  3. 继承关系:系统模型、设备模型、实测模型继承自模型基类
  4. 多对多关系:通过JPA自动生成中间关系表(详见第4章)

5.2 ER图文档

详细的实体关系图请参考:数据库ER图.md