# lq_xh_hyhk 表添加备注字段 - 修改清单
## 📋 概述
在 `lq_xh_hyhk`(会员耗卡)表中添加备注字段,用于记录耗卡相关的备注信息。
## 🗄️ 数据库修改
### 1. 数据库表结构修改
**表名**: `lq_xh_hyhk`
**新增字段**:
- **字段名**: `F_Remark`
- **数据类型**: `VARCHAR(500)` 或 `TEXT`(根据备注长度需求)
- **是否可空**: `YES`
- **默认值**: `NULL`
- **字段注释**: `备注`
**SQL语句**:
```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` 类中添加备注属性
```csharp
///
/// 备注
///
[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`
**修改内容**: 添加备注字段
```csharp
///
/// 备注
///
public string remark { get; set; }
```
**位置**: 建议添加在 `appointmentId` 字段之后(第90行之后)
---
#### 3.2 详情输出DTO
**文件**: `netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXhHyhk/LqXhHyhkInfoOutput.cs`
**修改内容**: 添加备注字段
```csharp
///
/// 备注
///
public string remark { get; set; }
```
**位置**: 建议添加在 `cancelRemark` 字段之后(第113行之后)
---
#### 3.3 列表输出DTO
**文件**: `netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqXhHyhk/LqXhHyhkListOutput.cs`
**修改内容**: 添加备注字段
```csharp
///
/// 备注
///
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` 已包含 `remark` 字段
**影响**: ✅ 自动支持(通过 Adapt 映射)
---
#### 4.2 GetList 方法(查询列表)
**位置**: 第293行 `GetList([FromQuery] LqXhHyhkListQueryInput input)`
**修改内容**: 在多个 `Select` 语句中添加 `remark` 字段
**需要修改的位置**:
1. **第342-370行**: 基础查询的 Select 语句
```csharp
remark = it.Remark,
```
2. **第590-611行**: 按健康师ID查询的 Select 语句(GetListByJksId)
```csharp
remark = hyhk.Remark,
```
3. **第720-741行**: 按科技部老师ID查询的 Select 语句(GetListByKjbId)
```csharp
remark = hyhk.Remark,
```
4. **第1142-1165行**: 其他查询条件的 Select 语句
```csharp
remark = it.Remark,
```
---
#### 4.3 Create 方法(创建记录)
**位置**: 第875行 `Create([FromBody] LqXhHyhkCrInput input)`
**修改说明**:
- 使用 `input.Adapt()` 自动映射,无需手动修改
- 但需要确保 `LqXhHyhkCrInput` 已包含 `remark` 字段
**影响**: ✅ 自动支持(通过 Adapt 映射)
---
#### 4.4 Update 方法(更新记录)
**位置**: 第1259行 `Update(string id, [FromBody] LqXhHyhkUpInput input)`
**修改说明**:
- 使用 `input.Adapt()` 自动映射,无需手动修改
- 但需要确保 `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`
**修改内容**:
- 在表单中添加备注输入框
- 位置建议:在"费用信息"区域之后,"品项明细"之前
**代码示例**:
```vue
```
**需要修改的位置**:
- 在 `dataForm` 对象中添加 `remark: ''`
- 在表单模板中添加备注输入框(建议在第86行之后,第94行之前)
---
#### 6.2 详情页面
**文件**: `antis-ncc-admin/src/views/lqXhHyhk/detail.vue`
**修改内容**:
- 在详情页面中显示备注信息
- 位置建议:在"费用信息"卡片之后,或单独一个"备注信息"卡片
**代码示例**:
```vue
```
**需要修改的位置**:
- 在详情数据绑定中添加备注字段的显示(建议在第88行之后)
---
#### 6.3 列表页面
**文件**: `antis-ncc-admin/src/views/lqXhHyhk/index.vue`
**修改内容**:
- 在列表表格中添加备注列(可选,根据业务需求)
- 如果备注内容较长,可以考虑使用 tooltip 显示完整内容
**代码示例**:
```vue
{{ scope.row.remark || '无' }}
```
**需要修改的位置**:
- 在表格列定义中添加备注列(根据实际表格结构确定位置)
---
### 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`
### 中优先级(建议修改)
7. ⚠️ 前端列表页面 `index.vue`(根据业务需求)
8. ⚠️ 导出功能(根据业务需求)
### 低优先级(可选修改)
9. ⚠️ 其他 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个
预计修改工作量:**中等**(主要是重复性的字段添加和映射)