lq_xh_hyhk表添加备注字段-修改清单.md 11 KB

lq_xh_hyhk 表添加备注字段 - 修改清单

📋 概述

lq_xh_hyhk(会员耗卡)表中添加备注字段,用于记录耗卡相关的备注信息。

🗄️ 数据库修改

1. 数据库表结构修改

表名: lq_xh_hyhk

新增字段:

  • 字段名: F_Remark
  • 数据类型: VARCHAR(500)TEXT(根据备注长度需求)
  • 是否可空: YES
  • 默认值: NULL
  • 字段注释: 备注

SQL语句:

ALTER TABLE lq_xh_hyhk 
ADD COLUMN F_Remark VARCHAR(500) NULL COMMENT '备注' AFTER F_CancelRemark;

💻 后端代码修改

2. 实体类 (Entity)

文件: netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_xh_hyhk/LqXhHyhkEntity.cs

修改内容: 在 LqXhHyhkEntity 类中添加备注属性

/// <summary>
/// 备注
/// </summary>
[SugarColumn(ColumnName = "F_Remark")]
public string Remark { get; set; }

位置: 建议添加在 CancelRemark 字段之后(第128行之后)


3. DTO 类修改

3.1 创建输入DTO

文件: netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXhHyhk/LqXhHyhkCrInput.cs

修改内容: 添加备注字段

/// <summary>
/// 备注
/// </summary>
public string remark { get; set; }

位置: 建议添加在 appointmentId 字段之后(第90行之后)


3.2 详情输出DTO

文件: netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXhHyhk/LqXhHyhkInfoOutput.cs

修改内容: 添加备注字段

/// <summary>
/// 备注
/// </summary>
public string remark { get; set; }

位置: 建议添加在 cancelRemark 字段之后(第113行之后)


3.3 列表输出DTO

文件: netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXhHyhk/LqXhHyhkListOutput.cs

修改内容: 添加备注字段

/// <summary>
/// 备注
/// </summary>
public string remark { get; set; }

位置: 建议添加在 signatureFile 字段之后(第95行之后)


注意: LqXhHyhkUpInput 继承自 LqXhHyhkCrInput,会自动包含备注字段,无需单独修改。


4. Service 方法修改

文件: netcore/src/Modularity/Extend/NCC.Extend/LqXhHyhkService.cs

4.1 GetInfo 方法(查询详情)

位置: 第101行 GetInfo(string id)

修改说明:

  • 使用 entity.Adapt<LqXhHyhkInfoOutput>() 自动映射,无需手动修改
  • 但需要确保 LqXhHyhkInfoOutput 已包含 remark 字段

影响: ✅ 自动支持(通过 Adapt 映射)


4.2 GetList 方法(查询列表)

位置: 第293行 GetList([FromQuery] LqXhHyhkListQueryInput input)

修改内容: 在多个 Select 语句中添加 remark 字段

需要修改的位置:

  1. 第342-370行: 基础查询的 Select 语句

    remark = it.Remark,
    
  2. 第590-611行: 按健康师ID查询的 Select 语句(GetListByJksId)

    remark = hyhk.Remark,
    
  3. 第720-741行: 按科技部老师ID查询的 Select 语句(GetListByKjbId)

    remark = hyhk.Remark,
    
  4. 第1142-1165行: 其他查询条件的 Select 语句

    remark = it.Remark,
    

4.3 Create 方法(创建记录)

位置: 第875行 Create([FromBody] LqXhHyhkCrInput input)

修改说明:

  • 使用 input.Adapt<LqXhHyhkEntity>() 自动映射,无需手动修改
  • 但需要确保 LqXhHyhkCrInput 已包含 remark 字段

影响: ✅ 自动支持(通过 Adapt 映射)


4.4 Update 方法(更新记录)

位置: 第1259行 Update(string id, [FromBody] LqXhHyhkUpInput input)

修改说明:

  • 使用 input.Adapt<LqXhHyhkEntity>() 自动映射,无需手动修改
  • 但需要确保 LqXhHyhkUpInput(继承自 LqXhHyhkCrInput)已包含 remark 字段

影响: ✅ 自动支持(通过 Adapt 映射)


4.5 其他方法检查

以下方法可能也需要检查,但根据代码分析,它们主要使用实体类,会自动支持:

  • Delete 方法(第1504行)- 删除操作,无需修改
  • Cancel 方法(第1618行)- 作废操作,可能需要显示备注,但不需要修改逻辑
  • ExportConsumeItemDetailList 方法(第2340行)- 导出功能,如果导出包含备注,需要修改

5. 其他 Service 检查

以下 Service 可能使用了 LqXhHyhkEntity,需要检查是否需要修改:

  1. LqStatisticsService.cs - 统计服务

    • 检查是否有统计查询使用备注字段
    • 通常统计不需要备注,可能无需修改
  2. LqTechDepartmentDashboardService.cs - 科技部驾驶舱

    • 检查是否有查询使用备注字段
    • 通常驾驶舱不需要备注,可能无需修改
  3. LqStoreDashboardService.cs - 门店驾驶舱

    • 检查是否有查询使用备注字段
    • 通常驾驶舱不需要备注,可能无需修改
  4. LqTechTeacherSalaryService.cs - 科技部老师工资

    • 检查是否有查询使用备注字段
    • 通常工资计算不需要备注,可能无需修改
  5. LqKhxxService.cs - 客户资料服务

    • 检查是否有关联查询使用备注字段
  6. LqTkjlbService.cs - 拓客记录服务

    • 检查是否有关联查询使用备注字段
  7. LqBusinessUnitDashboardService.cs - 事业部驾驶舱

    • 检查是否有查询使用备注字段
  8. LqReportService.cs - 报表服务

    • 检查是否有报表使用备注字段
  9. MemberPortraitService.cs - 会员画像服务

    • 检查是否有查询使用备注字段
  10. LqXmzlService.cs - 项目资料服务

    • 检查是否有关联查询使用备注字段
  11. LqXhFeedbackService.cs - 耗卡反馈服务

    • 检查是否有关联查询使用备注字段

建议: 这些服务通常不需要备注字段,但需要根据实际业务需求确认。


🎨 前端代码修改

6. 前端页面修改

6.1 表单页面(新建/编辑)

文件: antis-ncc-admin/src/views/lqXhHyhk/Form.vue

修改内容:

  • 在表单中添加备注输入框
  • 位置建议:在"费用信息"区域之后,"品项明细"之前

代码示例:

<el-col :span="24">
  <el-form-item label="备注" prop="remark">
    <el-input 
      v-model="dataForm.remark" 
      type="textarea" 
      :rows="3"
      placeholder="请输入备注信息" 
      clearable 
      :style='{"width":"100%"}'
      maxlength="500"
      show-word-limit>
    </el-input>
  </el-form-item>
</el-col>

需要修改的位置:

  • dataForm 对象中添加 remark: ''
  • 在表单模板中添加备注输入框(建议在第86行之后,第94行之前)

6.2 详情页面

文件: antis-ncc-admin/src/views/lqXhHyhk/detail.vue

修改内容:

  • 在详情页面中显示备注信息
  • 位置建议:在"费用信息"卡片之后,或单独一个"备注信息"卡片

代码示例:

<!-- 备注信息卡片 -->
<el-card class="info-card" shadow="hover" v-if="dataForm.remark">
  <div slot="header" class="card-header">
    <i class="el-icon-edit-outline"></i>
    <span class="card-title">备注信息</span>
  </div>
  <div class="info-item">
    <p class="remark-content">{{ dataForm.remark || '无' }}</p>
  </div>
</el-card>

需要修改的位置:

  • 在详情数据绑定中添加备注字段的显示(建议在第88行之后)

6.3 列表页面

文件: antis-ncc-admin/src/views/lqXhHyhk/index.vue

修改内容:

  • 在列表表格中添加备注列(可选,根据业务需求)
  • 如果备注内容较长,可以考虑使用 tooltip 显示完整内容

代码示例:

<el-table-column prop="remark" label="备注" width="200" show-overflow-tooltip>
  <template slot-scope="scope">
    <span>{{ scope.row.remark || '无' }}</span>
  </template>
</el-table-column>

需要修改的位置:

  • 在表格列定义中添加备注列(根据实际表格结构确定位置)

7. 导出功能检查

文件: netcore/src/Modularity/Extend/NCC.Extend/LqXhHyhkService.cs

方法: ExportConsumeItemDetailList(第2340行)

修改说明:

  • 如果导出功能需要包含备注字段,需要在导出DTO和Excel配置中添加
  • 需要检查 ConsumeItemDetailExportOutput DTO 是否包含备注字段
  • 需要在 Excel 配置的 paramList 中添加备注列

影响: ⚠️ 需要根据业务需求确认是否在导出中包含备注


📝 修改优先级

高优先级(必须修改)

  1. ✅ 数据库表结构修改
  2. ✅ 实体类 LqXhHyhkEntity.cs
  3. ✅ DTO类:
    • LqXhHyhkCrInput.cs
    • LqXhHyhkInfoOutput.cs
    • LqXhHyhkListOutput.cs
  4. ✅ Service GetList 方法中的 Select 语句
  5. ✅ 前端表单页面 Form.vue
  6. ✅ 前端详情页面 detail.vue

中优先级(建议修改)

  1. ⚠️ 前端列表页面 index.vue(根据业务需求)
  2. ⚠️ 导出功能(根据业务需求)

低优先级(可选修改)

  1. ⚠️ 其他 Service 检查(根据实际使用情况)

🔍 测试检查清单

修改完成后,需要测试以下功能:

  • [ ] 创建耗卡记录时,可以输入备注
  • [ ] 更新耗卡记录时,可以修改备注
  • [ ] 查询耗卡详情时,可以显示备注
  • [ ] 查询耗卡列表时,可以显示备注(如果列表包含)
  • [ ] 备注字段可以为空
  • [ ] 备注字段长度限制正确(500字符)
  • [ ] 前端表单验证正常
  • [ ] 数据库字段添加成功

📌 注意事项

  1. 字段命名: 使用 F_Remark 作为数据库字段名,Remark 作为实体类属性名,remark 作为 DTO 属性名(小写开头,符合现有命名规范)

  2. 字段长度: 建议使用 VARCHAR(500),如果可能超过500字符,可以使用 TEXT 类型

  3. 兼容性: 新增字段为可空字段,不会影响现有数据

  4. 自动映射: Create 和 Update 方法使用 Adapt 自动映射,只要 DTO 包含字段即可自动支持

  5. 列表查询: GetList 方法中有多个 Select 语句,需要全部添加备注字段

  6. 前端显示: 备注内容可能较长,建议使用 textarea 输入,使用 show-overflow-tooltip 或单独卡片显示


📚 相关文件清单

后端文件

  1. netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_xh_hyhk/LqXhHyhkEntity.cs
  2. netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXhHyhk/LqXhHyhkCrInput.cs
  3. netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXhHyhk/LqXhHyhkInfoOutput.cs
  4. netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXhHyhk/LqXhHyhkListOutput.cs
  5. netcore/src/Modularity/Extend/NCC.Extend/LqXhHyhkService.cs

前端文件

  1. antis-ncc-admin/src/views/lqXhHyhk/Form.vue
  2. antis-ncc-admin/src/views/lqXhHyhk/detail.vue
  3. antis-ncc-admin/src/views/lqXhHyhk/index.vue(可选)

数据库

  1. lq_xh_hyhk 表结构修改

✅ 总结

本次修改涉及:

  • 数据库: 1个表
  • 后端实体类: 1个
  • 后端DTO: 3个
  • 后端Service: 1个(多个方法)
  • 前端页面: 2-3个

预计修改工作量:中等(主要是重复性的字段添加和映射)