# 数据库表结构设计 v3 ## 〇、报表体系总览(交通运输企业统计调查制度) Demo 阶段仅处理 **交企统H203-2表**,后续陆续扩展。 ### 年报(10张) | 表号 | 表名 | 说明 | |------|------|------| | 交企统101表 | 单位基本情况 | | | 交企统102表 | 法人企业财务状况 | | | 交企统U103-1表 | 公共汽电车运营情况 | | | 交企统U103-2表 | 城市轨道交通车辆及线路情况 | | | 交企统U103-3表 | 城市轨道交通人员及运营情况 | | | 交企统U103-4表 | 城市客运轮渡运营情况 | | | 交企统U104表 | 公共交通能源消耗情况 | | | 交企统H104-1表 | 公路旅客运输能源消耗情况 | | | 交企统W104表 | 水路运输能源消耗情况 | | | 交企统P104表 | 港口能源消耗情况 | | ### 月报/季报(14张) | 表号 | 表名 | 周期 | Demo | |------|------|------|------| | 交企统202表 | 法人企业季度财务状况 | 季报 | | | 交企统H203-1表 | 公路旅客运输月度生产情况 | 月报 | | | **交企统H203-2表** | **道路货物运输月度生产情况** | **月报** | **v1** | | 交企统U203表 | 公共交通月度运营情况 | 月报 | | | 交企统W203表 | 水路运输月度生产情况 | 月报 | | | 交企统P203-1表 | 港口分航线进出港旅客人数 | 月报 | | | 交企统P203-2表 | 港口分货类吞吐量 | 月报 | | | 交企统P203-3表 | 港口集装箱吞吐量 | 月报 | | | 交企统P203-4表 | 一箱制集装箱铁水联运量 | 月报 | | | 交企统P203-5表 | 港口分货类分运输方式集疏运情况 | 季报 | | | 交企统H204表 | 道路货运车辆能源消耗情况 | 季报 | | | 交企统205表 | 企业运行景气状况 | 月报 | | | 交企统W206表 | 船舶受电设施安装使用情况 | 半年报 | | | 交企统P206表 | 港口岸电设施建设使用情况 | 月/半年报 | | --- ## 一、用户权限模块(含三员) ### sys_user 用户表 | 字段 | 类型 | 说明 | |------|------|------| | id | bigint | PK | | username | varchar(50) | 登录名 | | password | varchar(200) | BCrypt | | real_name | varchar(50) | 真实姓名 | | phone | varchar(20) | 手机号 | | dept_id | bigint | 部门ID | | status | tinyint | 0禁用 1启用 | ### sys_role 角色表 | 字段 | 类型 | 说明 | |------|------|------| | id | bigint | PK | | role_name | varchar(50) | 角色名 | | role_code | varchar(50) | SYS_ADMIN/SEC_OFFICER/AUDITOR/PROVINCE/CITY/COUNTY | | role_type | varchar(20) | SYSTEM(三员) / BUSINESS(业务) | | role_level | tinyint | 0三员 1省厅 2市局 3县区 | | is_mutex | tinyint | 1三员互斥 0普通 | ### sys_dept 部门表 | 字段 | 类型 | 说明 | |------|------|------| | id | bigint | PK | | dept_name | varchar(100) | 部门名称 | | dept_code | varchar(20) | 行政区划代码 | | parent_id | bigint | 上级部门 | | dept_level | tinyint | 1省 2市 3县 | ### 三员约束规则 - sys_role 中 role_type=SYSTEM + is_mutex=1 的角色为三员角色 - 用户分配角色时后端校验:三员角色最多1个 - 删除三员角色用户时,检查该三员是否还有其它用户持有 --- ## 二、业务数据模块 ### h2032_enterprise_monthly(交企统H203-2表 道路货物运输月度生产情况) > 数据来源:模板_交企统H203-2表_道路货物运输月度生产情况.xlsx | 字段 | 类型 | 说明 | |------|------|------| | id | bigint | PK | | report_period | varchar(20) | 报表期 2026-06 | | region_code | varchar(20) | 所属地区(行政区划代码) | | enterprise_code | varchar(50) | 企业代码 | | enterprise_name | varchar(200) | 企业名称 | | unified_credit_code | varchar(50) | 统一社会信用代码 | | report_unit | varchar(200) | 填报单位 | | vehicle_total | int | 车辆数_总计 | | tons_total | double | 标记吨位数_总计 | | vehicle_tractor | int | 车辆数_牵引车 | | vehicle_trailer | int | 车辆数_挂车 | | tons_trailer | double | 标记吨位数_挂车 | | vehicle_container | int | 车辆数_集装箱车 | | tons_container | double | 标记吨位数_集装箱车 | | vehicle_whole | int | 车辆数_整车 | | tons_whole | double | 标记吨位数_整车 | | freight_total | double | 货运量_总计(吨) | | turnover_total | double | 货物周转量_总计(吨公里) | | freight_container | double | 货运量_集装箱(吨) | | freight_coal | double | 货运量_煤炭及制品(吨) | | freight_oil_gas | double | 货运量_石油天然气及制品(吨) | | freight_crude_oil | double | 货运量_其中原油(吨) | | freight_metal_ore | double | 货运量_金属矿石(吨) | | freight_iron_ore | double | 货运量_其中铁矿石(吨) | | freight_building | double | 货运量_矿物性建筑材料(吨) | | freight_grain | double | 货运量_粮食(吨) | | avg_tonnage | double | 货车平均吨位 | | avg_tonnage_trailer | double | 平均吨位_挂车 | | avg_tonnage_whole | double | 平均吨位_整车 | | avg_distance | double | 货车平均运距(公里) | | daily_trips_per_ton | double | 单吨日均载运次数 | | daily_mileage_per_vehicle | double | 单车单天行驶里程(公里) | | daily_volume_per_vehicle | double | 单车日均运量(吨) | | daily_trips_with_tractor | double | 单吨日均载运次数(结合牵引车) | | vehicle_mom_growth | double | 车辆数-总计环比增速 | | tons_mom_growth | double | 标记吨位-总计环比增速 | | freight_mom_growth | double | 货运量-总计环比增速 | | turnover_mom_growth | double | 货物周转量-总计环比增速 | | avg_distance_mom_growth | double | 货车平均运距-环比增速 | | vehicle_yoy_growth | double | 车辆数-总计同比增速 | | tons_yoy_growth | double | 标记吨位-总计同比增速 | | tractor_trailer_ratio | double | 牵引车挂车比 | | freight_yoy_growth | double | 货运量-总计同比增速 | | turnover_yoy_growth | double | 货物周转量-总计同比增速 | | avg_distance_yoy_growth | double | 货车平均运距-同比增速 | | unit_leader | varchar(50) | 单位负责人 | | stats_leader | varchar(50) | 统计负责人 | | contact_person | varchar(50) | 填表人 | | contact_phone | varchar(20) | 联系电话 | | report_date | date | 报出日期 | | verify_explanation | text | 核实性原因解释 | | report_notes | varchar(200) | 上报说明 | | modify_record | text | 修改记录 | | import_batch_id | bigint | 导入批次 | | created_at | datetime | 创建时间 | ### transport_auth_vehicle(运政车辆数据) > 数据来源:模板_运政车辆.xlsx | 字段 | 类型 | 说明 | |------|------|------| | id | bigint | PK | | report_period | varchar(20) | 报表期 | | enterprise_name | varchar(200) | 企业名称 | | tractor_count | int | 总牵引车数 | | trailer_count | int | 总挂车数 | | other_count | int | 其它车辆数 | | trailer_tons | double | 挂车总吨位(吨) | | other_tons | double | 其它车辆总吨位(吨) | | import_batch_id | bigint | 导入批次 | | created_at | datetime | 创建时间 | ### vehicle_track_mileage(车辆轨迹里程) > 数据来源:模板_轨迹里程.xlsx | 字段 | 类型 | 说明 | |------|------|------| | id | bigint | PK | | enterprise_name | varchar(200) | 企业名称 | | monthly_mileage | double | 月度总里程(公里) | | tracked_vehicles | int | 有里程的车辆数 | | report_period | varchar(20) | 报表期 | | import_batch_id | bigint | 导入批次 | | created_at | datetime | 创建时间 | ### scale_split_transport(规上规下拆分运输量) > 数据来源:模板_规上规下拆分运输量.xlsx,用户手动上传 | 字段 | 类型 | 说明 | |------|------|------| | id | bigint | PK | | report_period | varchar(20) | 报表期 2026-06 | | period_type | varchar(10) | MONTH(当月)/ CUMULATIVE(累计) | | region_name | varchar(50) | 市州名称 | | above_scale_freight | double | 规上货运量 | | above_scale_turnover | double | 规上周转量 | | above_scale_rank | int | 规上排名 | | above_scale_yoy | double | 规上同比 | | above_scale_yoy_rank | int | 规上增速排名 | | below_scale_freight | double | 规下货运量 | | below_scale_turnover | double | 规下周转量 | | below_scale_rank | int | 规下排名 | | below_scale_yoy | double | 规下同比 | | below_scale_yoy_rank | int | 规下增速排名 | | total_freight | double | 运输量合计-货运量 | | total_turnover | double | 运输量合计-周转量 | | total_rank | int | 合计排名 | | total_yoy | double | 合计同比 | | total_yoy_rank | int | 合计增速排名 | | import_batch_id | bigint | 导入批次 | | created_at | datetime | 创建时间 | ### freight_turnover_import(模板_货运量周转量导入) > 数据来源:模板_货运量周转量.xlsx,每月导入。每行含 48 个月度列:货运量今年 1-12 月(左半,仅 1-N 月有值)、去年 1-12 月(右半,算同比)、周转量今年/去年(导入存档,报表周转量仍用拆分表) | 字段 | 类型 | 说明 | |------|------|------| | id | bigint | PK | | report_period | varchar(20) | 报表期 2026-06(N=月份数) | | region_name | varchar(50) | 市州或湖北省(忠实导入) | | freight_m01 ~ freight_m12 | double | 今年各月货运量(万吨),左半 1-N 月有值 | | last_freight_m01 ~ last_freight_m12 | double | 去年各月货运量(万吨),右半固定 12 个月 | | turnover_m01 ~ turnover_m12 | double | 今年各月周转量(万吨公里),导入存档 | | last_turnover_m01 ~ last_turnover_m12 | double | 去年各月周转量(万吨公里),导入存档 | | import_batch_id | bigint | 导入批次 | | created_at | datetime | 创建时间 | ### h2031_enterprise_monthly(交企统H203-1表 公路旅客运输月度生产情况) > 数据来源:公路旅客运输月度生产情况.xlsx 的「公路旅客6月报」sheet;同文件「运政车辆数」sheet 导入 passenger_auth_vehicle | 字段 | 类型 | 说明 | |------|------|------| | id | bigint | PK | | report_period | varchar(20) | 报表期 2026-06 | | region_code | varchar(20) | 所属地区(行政区划代码) | | enterprise_code | varchar(50) | 企业代码 | | enterprise_name | varchar(200) | 企业名称 | | vehicle_total | int | 客运车辆_总计 | | seat_total | int | 核定载客位_总计 | | vehicle_schedule | int | 车辆数_客运班车(含定线旅游) | | seat_schedule | int | 核定载客位_客运班车(含定线旅游) | | vehicle_charter | int | 车辆数_客运包车(含非定线旅游) | | seat_charter | int | 核定载客位_客运包车(含非定线旅游) | | passenger_total | double | 客运量_总计(人) | | turnover_total | double | 旅客周转量_总计(人公里) | | passenger_class1 ~ passenger_class4 | double | 客运量_一~四类客运班线(含定线旅游) | | turnover_class1 ~ turnover_class4 | double | 旅客周转量_一~四类客运班线(含定线旅游) | | passenger_charter | double | 客运量_客运包车(含非定线旅游) | | turnover_charter | double | 旅客周转量_客运包车(含非定线旅游) | | avg_distance_total | double | 客运平均运距(公里) | | avg_distance_class1 ~ avg_distance_class4 | double | 一~四类客运班线平均运距(公里) | | avg_distance_charter | double | 旅游、包车平均运距(公里) | | verify_explanation | text | 核实性原因解释 | | import_batch_id | bigint | 导入批次 | | created_at | datetime | 创建时间 | ### passenger_auth_vehicle(公路旅客运政车辆数据) > 数据来源:公路旅客运输月度生产情况.xlsx 的「运政车辆数」sheet(企业代码/企业名称/车辆数/载客位数),随月报一起按报表期导入 | 字段 | 类型 | 说明 | |------|------|------| | id | bigint | PK | | report_period | varchar(20) | 报表期 | | enterprise_code | varchar(50) | 企业代码 | | enterprise_name | varchar(200) | 企业名称 | | vehicle_count | int | 车辆数 | | seat_count | int | 载客位数 | | import_batch_id | bigint | 导入批次 | | created_at | datetime | 创建时间 | --- ### h204_vehicle_quarterly(交企统H204表 道路货运车辆能源消耗情况·车辆粒度) > 数据来源:道路货运车辆能源消耗情况(2026年).xlsx 的「第二季度货车能耗明细」sheet(每行左右各5组车辆、每组18列);同文件「运政车辆信息」sheet 导入 h204_auth_vehicle | 字段 | 类型 | 说明 | |------|------|------| | id | bigint | PK | | report_period | varchar(20) | 报表期 2026-06(季度末月) | | region_code | varchar(20) | 所属地区(行政区划代码) | | enterprise_code | varchar(50) | 企业代码 | | enterprise_name | varchar(200) | 企业名称 | | plate_no | varchar(30) | 车牌号 | | vehicle_type_code | varchar(10) | 车辆类型代码 | | vehicle_type | varchar(50) | 车辆类型(中文) | | fuel_type_code | varchar(10) | 燃料类型代码 | | fuel_type | varchar(50) | 燃料类型(中文) | | manufacture_year | int | 出厂年份 | | marked_tonnage | double | 标记吨位(吨) | | total_mileage | double | 总行程(公里) | | loaded_mileage | double | 载货里程(公里) | | empty_mileage | double | 空驶里程(公里) | | freight | double | 货运量(吨) | | turnover | double | 货物周转量(吨公里) | | trip_count | int | 趟次数(个) | | fuel_unit | varchar(20) | 燃料1计量单位 | | fuel_consumption | double | 燃料1消耗量 | | avg_distance | double | 平均运距(公里) | | avg_loaded_tonnage | double | 平均载货吨位(吨) | | avg_trip_mileage | double | 单趟平均里程(公里) | | fuel_per_100km | double | 百公里单耗 | | turnover_fuel | double | 周转量单耗 | | import_batch_id | bigint | 导入批次 | | created_at | datetime | 创建时间 | ### h204_auth_vehicle(道路货运能耗_运政车辆信息) > 数据来源:道路货运车辆能源消耗情况(2026年).xlsx 的「运政车辆信息」sheet(车牌号/车辆类型/燃料类型/标记吨位/准牵引质量),随季报一起按报表期导入 | 字段 | 类型 | 说明 | |------|------|------| | id | bigint | PK | | report_period | varchar(20) | 报表期 | | plate_no | varchar(30) | 车牌号 | | vehicle_type | varchar(50) | 车辆类型(中文) | | fuel_type | varchar(50) | 燃料类型(中文) | | marked_tonnage | double | 标记吨位(吨) | | traction_quality | double | 准牵引质量(牵引车标记吨位) | | import_batch_id | bigint | 导入批次 | | created_at | datetime | 创建时间 | ## 三、审核规则模块 ### audit_rule 审核规则表 | 字段 | 类型 | 说明 | |------|------|------| | id | bigint | PK | | rule_name | varchar(100) | 规则名称 | | rule_code | varchar(50) | 规则编码 | | description | text | 规则描述 | | check_field | varchar(200) | 检查字段 | | compare_type | varchar(20) | >/5 → RED) 2. 吨位运政对比(DIFF>50 → RED) 3. 周转量轨迹对比(RATIO>1.3 → RED) 4. 货运类型环比(MOM → YELLOW) 5. 集装箱异常(NULL_CHECK → RED) 6. 整车吨位范围(OUT_RANGE 不在4-40之间 → YELLOW) 旅客 H2031 8条(compare_type 新增 MOM_EQ_ZERO/MOM_PCT/MOM_EQ/EXISTENCE): 1. 车辆数运政对比(DIFF>3 → RED) 2. 载客位数运政对比(DIFF>50 → RED) 3. 客运量环比=0(一~四类+包车,值与上月相同 → YELLOW) 4. 旅客周转量环比=0(同上 → YELLOW) 5. 平均运距环比超±10%(一~四类 → YELLOW) 6. 包车平均运距等于上月(→ YELLOW) 7. 无班线有班线客运量(EXISTENCE → RED) 8. 无包车有包车客运量(EXISTENCE → RED) ## 四、审核结果模块 ### audit_result 审核结果表 | 字段 | 类型 | 说明 | |------|------|------| | id | bigint | PK | | rule_id | bigint | FK → audit_rule | | report_id | bigint | FK → h2032_enterprise_monthly | | enterprise_code | varchar(50) | 企业代码 | | report_period | varchar(20) | 报表期 | | actual_value | varchar(200) | 实际值 | | threshold_value | varchar(200) | 阈值 | | deviation | varchar(200) | 偏差 | | status | varchar(20) | PENDING/CONFIRMED/IGNORED | | reviewer_id | bigint | 审核人 | | review_comment | text | 意见 | | created_at | datetime | 创建时间 | ### audit_explanation 审核解释表 | 字段 | 类型 | 说明 | |------|------|------| | id | bigint | PK | | audit_result_id | bigint | FK → audit_result | | explanation_text | text | 上报人解释 | | llm_suggestion | text | LLM建议 | | llm_confidence | decimal(5,2) | 置信度 | | llm_status | varchar(20) | PENDING/PROCESSED/FAILED | --- ## 五、报表生成模块 > 以下4张输出表由系统根据导入数据自动计算生成,用户点击"生成报表"触发。 | 输出文件 | 数据来源 | 说明 | |------|------|------| | 生成_货运量分市州明细.xlsx | freight_turnover_import + h2032_enterprise_monthly + scale_split_transport | 1-N月明细+同比;货运量合计=模板、规上=H2032、规下=合计-规上;周转量=拆分表 | | 生成_货运量排名.xlsx | freight_turnover_import + h2032_enterprise_monthly | 规上=H2032累计、合计=模板累计、规下=合计-规上 | | 生成_公路旅客分市州明细.xlsx | h2031_enterprise_monthly(按市州汇总) | 月报(选年-月,今年1-N月+累计)/年报(选年份,全年12个月+累计);每期含当年+近3年区块、各月同比、累计同比;城际城乡公交/巡游出租/网约车列暂留空 | | 生成_周转量排名.xlsx | scale_split_transport | 规上/规下/合计周转量排名(含忠实导入的全省行) | ## 六、系统日志 ### sys_operation_log 操作日志表 | 字段 | 类型 | 说明 | |------|------|------| | id | bigint | PK | | user_id | bigint | 操作人 | | module | varchar(50) | 模块 | | action | varchar(50) | 操作 | | detail | text | 详情JSON | | ip_address | varchar(50) | IP | ### import_batch 导入批次表 | 字段 | 类型 | 说明 | |------|------|------| | id | bigint | PK | | file_name | varchar(200) | 文件名 | | import_type | varchar(50) | H2032 / TRANSPORT_AUTH / TRACK_MILEAGE / SCALE_SPLIT | | total_rows | int | 总行数 | | success_rows | int | 成功行数 | | fail_rows | int | 失败行数 | | error_detail | text | 错误详情 | | created_at | datetime | 创建时间 | ## 七、LLM脱敏映射 ### llm_desensitize_map 脱敏映射表 | 字段 | 类型 | 说明 | |------|------|------| | id | bigint | PK | | original_value | varchar(200) | 原始值 | | masked_value | varchar(200) | 脱敏值 | | mask_type | varchar(20) | ENTERPRISE/REGION | | call_id | varchar(50) | 调用ID | ## 八、投资模块(客运站场 / 物流园区) > 数据源:全省汇总大表(`7月客运站投资明细表.xlsx` 明细sheet、`6月物流站场投资明细.xls` 分项目投资完成情况sheet),审核比对基准为投资系统导出(`查询结果(投资系统-客运+物流 2026.7).xls`)。 ### investment_project(投资项目主档) | 字段 | 类型 | 说明 | |------|------|------| | id | bigint | PK | | project_name | varchar(200) | 项目名称(与 category 组成唯一键) | | category | varchar(20) | 客运站场 / 物流园区 | | city | varchar(50) | 市州 | | county | varchar(100) | 县(市、区) | | builder_name | varchar(200) | 投资建设单位 | | construct_nature | varchar(50) | 建设性质(新建/续建/改扩建) | | start_time / end_time | varchar(20) | 开工 / 建成时间 | | total_investment | double | 计划总投资(万元) | | approval_gk / approval_cs | varchar(500) | 工可 / 初设批复 | | building_area | double | 建筑面积(平方米,物流表) | | is_billion / is_county / is_five_year | tinyint | 亿元 / 经济强县 / 十五五重点 固定名单标记 | ### investment_monthly(投资项目月度完成情况) | 字段 | 类型 | 说明 | |------|------|------| | id | bigint | PK | | report_period | varchar(20) | 报表期 2026-07 | | project_id | bigint | 关联 investment_project.id | | year_plan | double | 本年计划投资(万元) | | year_cum | double | 自年初累计完成投资(万元) | | month_done | double | 其中:本月完成投资(万元) | | start_cum | double | 自开始建设累计完成投资(万元) | | progress_stage | varchar(100) | 建设阶段 | | progress_desc | varchar(2000) | 形象进度 | | building_area | double | 建筑面积(平方米) | ### investment_system(投资系统导出·审核比对基准) | 字段 | 类型 | 说明 | |------|------|------| | id | bigint | PK | | report_period | varchar(20) | 报表期 | | project_name | varchar(200) | 项目名称(单位) | | total_investment | double | 计划总投资(万元) | | start_cum | double | 自开始建设至本月累计完成投资(万元) | | year_plan | double | 本年计划投资(万元) | | year_cum | double | 自年初累计完成投资(万元) | | month_done | double | 当月完成投资(万元) | ### 投资审核规则(report_type=INVEST) | 规则 | 比较类型 | 说明 | |------|---------|------| | RULE_I001 自开始累计对比 | CROSS_DIFF | 绝对差>100万 且 相对差>5% | | RULE_I002 自年初累计对比 | CROSS_DIFF | 绝对差>50万 且 相对差>5% | | RULE_I003 本月完成对比 | CROSS_DIFF | 绝对差>30万 且 相对差>30% | | RULE_I004 系统缺失 | EXISTENCE_SYS | 汇总大表项目在投资系统导出中不存在 | ### 投资 4 张领导报表(ReportExportService) | 端点 | 表名 | 数据 | |------|------|------| | /api/report/export/investPlan | 全省预安排计划进度汇总 | 客运+物流大块、17市州小节+项目行 | | /api/report/export/investFiveYearLogistics | "十五五"物流项目进展 | 固定名单过滤,市州小节+项目行 | | /api/report/export/investBillion | 亿元投资项目 | 投资总表 + 规上项目表两sheet,亿元名单过滤 | | /api/report/export/investCounty | 经济强县投资统计 | 经济强县名单过滤 |