江西科训体能测试模块迁移评估

来源:演示项目当前部署源码与只读数据库结构

目标:kxxl / develop_jxtks260916 · PHP 5.6 · MySQL 5.6

结论:可以进入开发,但必须适配迁移,不能整包覆盖
11体能测试 Vue 页面
10前端路由节点
54页面引用接口路径
5江西缺失核心数据表

一、执行结论

两边技术栈兼容:ThinkPHP 5.0、PHP 5.6 兼容代码、Vue 2 + Webpack 3,Composer 依赖一致;江西前端已有 ECharts 和 wangEditor。

这不是“复制菜单 SQL + 复制页面”即可完成的需求。必须同时迁移测试记录、评分、指标设置、数据库、附件、人员项目字段和生产构建物。
禁止直接用演示项目的 Staff.php、EnginerySet.php 整文件覆盖江西代码。这样会覆盖江西当前人员逻辑以及已做的 InBody/体重管理相关改动。

本轮只读检查未修改服务器、未修改 kxxl 业务代码、未执行任何数据库写操作。

二、模块组成

子功能页面接口数据
测试记录列表、新增/编辑/查看/p/test/*、导入导出、附件test、staff_test、test_analysis、manage_staff
个体分析人员列表、趋势、评分分析analysis、scoreAnalysis测试明细、评分、人员
地址设置addressSetset_address_*address,体能类型 3
评分设置scoreSetnormscore、sportprojectsport_score、norm_score、sport
分类/指标/单位ificationSet、librarySet、unitSetenginery_setcategory、norm_category、norm、unit,体能类型 5

三、江西当前要改什么

前端

  • 新增 fitnessTest 目录下 11 个页面。
  • 补 10 个路由节点。
  • 补测试 Excel 导入映射。
  • 补 4 个附件类型图标。
  • 以江西依赖构建 public/dist,不复制演示 dist。

后端

  • 用真实业务实现替换 Test 空脚手架。
  • 新增 NormScore 评分链路。
  • 新增 SportProject 两个读取接口。
  • EnginerySet 增量增加体能 type 隔离。
  • Staff 返回补 sport_uuid、sport_event_uuid。
  • 补测试附件能力,修正旧地址删除接口。

接口现状

接口组江西现状处理
Test4 个空方法、4 个页面方法缺失替换脚手架并补全测试闭环
NormScore整组缺失,页面使用 6 个方法新增控制器、逻辑、模型、校验
SportProject缺失至少增加 lists/getSportData
EnginerySet28 个调用中 22 个方法存在、6 个缺失;现有逻辑未完整支持 type=5增量补方法和显式 type 参数,保持旧默认
Annex通用附件控制器/逻辑缺失增加测试专用附件归属和计数
共享接口富文本图片、城市、ZIP、地址列表、人员信息已存在复用并回归,不整体替换

四、数据库变更

需要新增 5 张表

ydy_testydy_staff_testydy_sport_scoreydy_norm_scoreydy_test_analysis

需要补充字段或类型说明

江西开发库已经核实为 MySQL 5.6.50、utf8/utf8_general_ci,满足本模块数据库兼容基础。

正式 SQL 必须重新整理为独立 schema + rollback,不能执行演示项目混合了其他年份、其他模块变更的 alter.sql。

五、哪些演示数据不能直接搬

演示库数据数量江西处理
体能分类 / 指标 / 单位 / 地址7 / 13 / 6 / 1不搬地址;通用分类、指标和单位单独复核后可选初始化
评分主记录 / 明细2 / 47不直接搬。绑定的两个运动项目 UUID 在江西均不存在
历史测试 / 人员明细 / 分析9 / 123 / 12不迁移客户历史业务数据

菜单 SQL 的 36 个 ID/UUID 已单独确认无冲突,但应在代码、表结构和构建完成后执行。角色授权继续由后台勾选。

六、推荐落地顺序

数据库结构

5 张表、3 个共享字段、类型说明、索引与安全回滚。

后端最小适配

Test、NormScore、SportProject、EnginerySet 类型隔离、Staff 字段和测试附件。

前端迁移

11 页面、10 路由、导入映射、静态资源和旧接口修正。

菜单与江西配置

执行菜单 SQL;在江西建立单位、指标、分类和评分,不复制演示历史数据。

构建与回归

PHP 5.6、MySQL 迁移、接口权限、导入导出、附件、趋势评分和 public/dist;回归选材、机能、人员、InBody 与体重管理。

七、验收 Use Case:UC-JXTKS-FITNESS-001

主流程:配置单位/指标/分类/地址/评分 → 选择队伍与人员 → 录入或导入 → 保存 → 查看记录 → 个体趋势与评分 → 导出与附件管理。

异常与恢复:无效引用拒绝保存;错误模板不产生部分数据;附件失败不影响测试主记录;删除测试同步清理明细、分析、权限关系并重算人员最近测试日期。

数据边界:仅操作江西人员和江西创建的测试,不导入演示项目历史人员测试数据。

DoR:READY 已可按本方案进入开发。