选项B设计完全实现检查

  1. 枚举类完整实现
  • ✅ MaintenanceTypeEnum.java - 包含完整的5种维护类型
  • ✅ CycleTypeEnum.java - 包含完整的5种周期类型
  • ✅ CycleConfig 内部类 - 统一的周期配置结构
  1. 实体类增强
  • ✅ BzMaintenancePlan.java - 同时包含业务字段(maintenanceType)和技术字段(cycleType/cycleValue/executionDay)
  • ✅ BzCheckTemplate.java - 统一使用maintenanceType业务字段
  • ✅ 两个实体类都有autoSetCycleConfig()方法实现自动推导
  1. 数据字典配置
  • ✅ dict_data.sql 中包含完整的维护类型字典数据:
    • 日检(daily) - info样式
    • 周检(weekly) - success样式
    • 月检(monthly) - primary样式
    • 季检(quarterly) - warning样式
    • 年检(yearly) - warning样式
  1. 前端组件
  • ✅ CycleDisplay.vue - 周期显示组件,支持数据字典
  • ✅ CycleConfigSelect.vue - 周期配置选择组件
  • ✅ customer-overview.vue - 使用dict-tag标准化显示
  1. 工具类和VO
  • ✅ MaintenanceCycleCalculator.java - 完整的周期计算工具
  • ✅ CustomerBusinessOverviewVo.java - 包含完整的周期配置字段
  1. 核心特性验证

    ✅ 保留业务概念:

  • 业务层面:日检/周检/月检/季检/年检

  • 用户界面:使用数据字典显示中文标签

    ✅ 统一技术实现:

  • 底层:cycleType/cycleValue/executionDay统一结构

  • 自动推导:maintenanceType → CycleConfig

    ✅ 前后端一致性:

  • 后端:枚举类 + 自动推导方法

  • 前端:数据字典 + 标准化组件

    ✅ 扩展性:

  • 支持自定义周期配置(高级模式)

  • 兼容旧数据的频率显示

  • 可插拔的周期计算逻辑

    📋 设计方案总结

    选项B成功实现了”业务概念保留,技术实现统一”的核心目标:

  1. 业务侧:用户继续使用熟悉的”日检/周检/月检/季检/年检”术语
  2. 技术侧:底层使用统一的cycleType/cycleValue/executionDay结构
  3. 数据流:maintenanceType ↔ CycleConfig ↔ 周期计算 ↔ 显示逻辑
  4. 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