医院补偿类型功能开发说明
一、需求背景
为支持补偿类型在医院维度上的精细化控制,本次在原有“经销商 / 产品 / 省市补偿类型”基础上,新增“医院补偿类型”能力,并同步打通总部维护侧与 DMS/SOI 应用侧逻辑。
本次改造目标为:
• 总部可维护医院补偿类型关系
• 支持医院补偿类型导入、导出
• 补偿申请选择补偿类型时,按医院规则进行过滤
• 补偿申请新增列表与补偿类型选择逻辑保持一致
---
二、提测范围
1. 总部侧-补偿类型维护
新增“医院”维度的补偿类型维护能力,支持:
• 新增
• 修改
• 查看
• 删除
• 导入
• 导出
2. DMS / SOI 应用侧
在补偿申请相关场景中增加医院维度筛选逻辑,涉及:
• 补偿类型选择弹窗
• 补偿申请新增可选数据列表
• DMS 端
• SOI 端
---
三、本次开发内容
1. 总部侧开发内容
1.1 医院补偿类型 CRUD
在补偿类型主档下新增“医院”页签,支持维护医院明细关系。
功能点
• 可选择医院
• 可维护“是否纳入补偿”
• 可查看医院补偿类型明细
• 同一补偿类型下支持多医院维护
• 增加重复校验
业务规则
是否纳入补偿 分两种模式:
• 是:表示当前补偿类型仅对配置的医院生效
• 否:表示当前补偿类型对配置的医院不生效
---
1.2 医院补偿类型一致性控制
同一个补偿类型下,所有医院记录的 是否纳入补偿 必须保持一致,不允许同一补偿类型同时出现“是”和“否”。
已实现
• 前端联动同步
• 后端保存前统一规范化处理
• 导入时一致性校验
---
1.3 医院补偿类型导入
新增医院补偿类型导入能力。
导入规则
• 医院代码必填,且必须存在
• 补偿类型代码必填,且必须存在
• 是否纳入补偿 必填,仅允许填写“是/否”
• 标识必填,仅允许填写“新增/覆盖”
• 同一补偿类型下,是否纳入补偿 必须一致
• 任意一条校验失败,则整批导入失败
标识说明
• 新增:保留原有医院关系,新增本次导入数据
• 覆盖:先清除该补偿类型历史医院数据,再导入本次数据
---
1.4 医院补偿类型导出
新增医院补偿类型导出能力,支持导出以下字段:
• 补偿名称
• 补偿代码
• 医院代码
• 医院名称
• 是否纳入补偿
• 创建时间/创建人
• 修改时间/修改人
---
2. DMS / SOI 应用侧开发内容
2.1 补偿类型选择增加医院筛选逻辑
在补偿申请中选择“补偿类型”时,除原有经销商、产品、省市规则外,新增医院规则过滤。
规则说明
医院条件与原有规则关系为 AND。
即在满足经销商 / 产品 / 省市逻辑的基础上,还需满足医院逻辑。
医院筛选规则
• 若补偿类型未配置医院关系:不限制医院
• 若补偿类型配置为 IsInclude = 1
• 当前医院必须存在于医院补偿配置中
• 若补偿类型配置为 IsInclude = 0
• 当前医院必须不存在于医院补偿配置中
---
2.2 补偿申请新增列表增加同样医院逻辑
为保证补偿申请入口行为一致,补偿申请新增列表同步增加同样的医院筛选逻辑。
已同步场景
• DMS:CompensateApplicationADD
• SOI:CompensateApplicationADD_SOI
目标
避免出现以下不一致问题:
• 列表中数据可选,但补偿类型不可选
• 补偿类型可选,但实际列表不应出现
---
四、影响模块
总部维护侧
• 补偿类型主档
• 医院补偿类型子表
• 医院补偿类型导入
• 医院补偿类型导出
应用侧
• DMS 补偿申请
• SOI 补偿申请
• 补偿类型选择弹窗
• 补偿申请新增列表
---
五、重点测试场景
1. 总部侧 CRUD 测试
场景 1:新增医院补偿类型
• 新增一个补偿类型
• 关联多个医院
• 是否纳入补偿 = 是
• 保存成功
场景 2:修改医院补偿类型
• 修改已有补偿类型的医院列表
• 修改后保存成功
• 查看明细正常
场景 3:一致性校验
• 同一补偿类型下尝试同时保存“是”和“否”
• 预期:不允许保存 / 系统统一规范化
场景 4:重复医院校验
• 同一补偿类型下重复选择同一家医院
• 预期:不允许重复
---
2. 导入测试
场景 5:正常导入-纳入补偿
• 同一补偿类型导入多个医院
• 是否纳入补偿 均为“是”
• 预期:导入成功
场景 6:正常导入-不纳入补偿
• 同一补偿类型导入多个医院
• 是否纳入补偿 均为“否”
• 预期:导入成功
场景 7:混合导入
• 同一补偿类型下同时导入“是”和“否”
• 预期:导入失败
场景 8:医院代码不存在
• 预期:导入失败
场景 9:补偿类型代码不存在
• 预期:导入失败
场景 10:覆盖导入
• 原有医院关系存在
• 使用“覆盖”重新导入
• 预期:旧数据被替换
---
3. 导出测试
场景 11:医院补偿类型导出
• 从补偿类型列表点击“医院导出”
• 预期:
• 成功下载
• 数据字段完整
• 内容与维护数据一致
---
4. DMS / SOI 应用侧测试
场景 12:未配置医院关系
• 某补偿类型只配置经销商/产品/省市,未配置医院
• 预期:该补偿类型不受医院限制
场景 13:医院纳入补偿
• 配置 IsInclude = 1
• 当前医院在配置内
• 预期:补偿类型可见 / 列表可查
场景 14:医院纳入补偿但不匹配
• 配置 IsInclude = 1
• 当前医院不在配置内
• 预期:补偿类型不可见 / 列表不可查
场景 15:医院不纳入补偿
• 配置 IsInclude = 0
• 当前医院在配置内
• 预期:补偿类型不可见 / 列表不可查
场景 16:医院不纳入补偿且不匹配
• 配置 IsInclude = 0
• 当前医院不在配置内
• 预期:补偿类型可见 / 列表可查
---
5. 联合规则测试
场景 17:省市通过,医院通过
• 预期:可选
场景 18:省市通过,医院不通过
• 预期:不可选
场景 19:省市不通过,医院通过
• 预期:不可选
场景 20:省市与医院都通过
• 预期:最终可用
说明:省市与医院关系为 AND
---
六、注意事项
1. 同一补偿类型下医院关系采用统一模式,不支持部分医院纳入、部分医院排除混用
2. 本次改造不影响现有补偿金额计算公式
3. 本次改造主要影响“补偿类型是否可选”和“申请数据是否可见”
4. DMS 与 SOI 两侧已同步处理,需分别验证