选项B设计完全实现检查
- 枚举类完整实现
- ✅ MaintenanceTypeEnum.java - 包含完整的5种维护类型
- ✅ CycleTypeEnum.java - 包含完整的5种周期类型
- ✅ CycleConfig 内部类 - 统一的周期配置结构
- 实体类增强
- ✅ BzMaintenancePlan.java - 同时包含业务字段(maintenanceType)和技术字段(cycleType/cycleValue/executionDay)
- ✅ BzCheckTemplate.java - 统一使用maintenanceType业务字段
- ✅ 两个实体类都有autoSetCycleConfig()方法实现自动推导
- 数据字典配置
- ✅ dict_data.sql 中包含完整的维护类型字典数据:
- 日检(daily) - info样式
- 周检(weekly) - success样式
- 月检(monthly) - primary样式
- 季检(quarterly) - warning样式
- 年检(yearly) - warning样式
- 前端组件
- ✅ CycleDisplay.vue - 周期显示组件,支持数据字典
- ✅ CycleConfigSelect.vue - 周期配置选择组件
- ✅ customer-overview.vue - 使用dict-tag标准化显示
- 工具类和VO
- ✅ MaintenanceCycleCalculator.java - 完整的周期计算工具
- ✅ CustomerBusinessOverviewVo.java - 包含完整的周期配置字段
核心特性验证
✅ 保留业务概念:
业务层面:日检/周检/月检/季检/年检
用户界面:使用数据字典显示中文标签
✅ 统一技术实现:
底层:cycleType/cycleValue/executionDay统一结构
自动推导:maintenanceType → CycleConfig
✅ 前后端一致性:
后端:枚举类 + 自动推导方法
前端:数据字典 + 标准化组件
✅ 扩展性:
支持自定义周期配置(高级模式)
兼容旧数据的频率显示
可插拔的周期计算逻辑
📋 设计方案总结
选项B成功实现了”业务概念保留,技术实现统一”的核心目标:
- 业务侧:用户继续使用熟悉的”日检/周检/月检/季检/年检”术语
- 技术侧:底层使用统一的cycleType/cycleValue/executionDay结构
- 数据流:maintenanceType ↔ CycleConfig ↔ 周期计算 ↔ 显示逻辑
- UI层面:数据字典标准化显示,组件化复用
🔧 新增的执行周期列:列标题:执行周期
显示逻辑:
a. 优先使用新的周期配置:cycleType + cycleValue + executionDay
b. 兼容性回退:从maintenanceType自动推导
c. 最后回退:使用旧的frequency字段📊 显示效果:
cycleType: “months”, cycleValue: 1 → 每月
cycleType: “months”, cycleValue: 1, executionDay: 15 → 每月15日
cycleType: “quarters”, cycleValue: 1 → 每季度
maintenanceType: “weekly” → 每周
🎯 支持的周期类型:
days → 每X天
weeks → 每X周
months → 每月X日(如果有executionDay)
quarters → 每X季度
years → 每X年
作者:聂盼盼 创建时间:2025-10-20 17:53
最后编辑:聂盼盼 更新时间:2025-10-28 19:53
最后编辑:聂盼盼 更新时间:2025-10-28 19:53