-- ============================================================
-- 修复 CB_MapInterface 中特例单议 02010504/02010505 的 MethodName/Descripts
-- 背景: 后端 Interface.cls 已将复合委托拆分为单动作委托（与 020104xx 等接口规范一致）
--   02010504 -> SaveSpecialAppealQuota (名额配置保存)
--   02010505 -> QuerySpecialAppealQuota (名额配置查询)
--   02010507/02010508/02010509 -> 病案标记保存/删除/查询（提案B新增，截图已正确）
-- 截图里的 02010504/05 仍是旧复合委托登记值，需同步为后端实际方法名
-- 生成日期: 2026-08-29
-- ============================================================

-- 修正 02010504（原 SpecialAppealQuota 复合 -> SaveSpecialAppealQuota 单动作）
UPDATE CB_MapInterface
SET Descripts  = '特例单议-名额配置保存',
    MethodName = 'SaveSpecialAppealQuota'
WHERE Code = '02010504';

-- 修正 02010505（原 SpecialAppealMark 复合 -> QuerySpecialAppealQuota 单动作）
UPDATE CB_MapInterface
SET Descripts  = '特例单议-名额配置查询',
    MethodName = 'QuerySpecialAppealQuota'
WHERE Code = '02010505';

-- 补充提案B新增的三条记录（若截图未执行过 insert_special_appeal_mark_interfaces.sql 则需执行此段）
-- 若 02010507/08/09 已在表中，可注释掉以下 INSERT
INSERT INTO CB_MapInterface (Code, Descripts, ClassName, MethodName, ServiceType, SessionFlag, TokenFlag, StartDate, Status)
SELECT '02010507', '特例单议-病案标记保存', 'src.DRG.Interface', 'SaveSpecialAppealMark', 'A', 'Y', 'N', GETDATE(), 'Y'
WHERE NOT EXISTS (SELECT 1 FROM CB_MapInterface WHERE Code = '02010507');

INSERT INTO CB_MapInterface (Code, Descripts, ClassName, MethodName, ServiceType, SessionFlag, TokenFlag, StartDate, Status)
SELECT '02010508', '特例单议-病案标记删除', 'src.DRG.Interface', 'DeleteSpecialAppealMark', 'D', 'Y', 'N', GETDATE(), 'Y'
WHERE NOT EXISTS (SELECT 1 FROM CB_MapInterface WHERE Code = '02010508');

INSERT INTO CB_MapInterface (Code, Descripts, ClassName, MethodName, ServiceType, SessionFlag, TokenFlag, StartDate, Status)
SELECT '02010509', '特例单议-病案标记查询', 'src.DRG.Interface', 'QueryGroupedMedicalRecord', 'S', 'Y', 'N', GETDATE(), 'Y'
WHERE NOT EXISTS (SELECT 1 FROM CB_MapInterface WHERE Code = '02010509');


-- ============================================================
-- 验证查询（应与后端 Interface.cls 的 Code/MethodName 完全一致）
-- ============================================================
SELECT Code, Descripts, ClassName, MethodName, ServiceType, Status
FROM CB_MapInterface
WHERE Code IN ('02010501','02010502','02010503','02010504','02010505','02010506','02010507','02010508','02010509')
ORDER BY Code;
