赵云
414b37bfa7
Fix Bug #497 : 【住院医生工作站-检查申请】检查申请列表缺失状态列——动态计算状态修复
...
根因: doc_request_form.status 列在数据库中始终为默认值0,无任何代码更新它,
导致列表所有记录的"申请单状态"始终显示"待签发"。
修复方案:
1. SQL: 用 CASE WHEN EXISTS 从 wor_service_request.status_enum 动态计算状态
- DRAFT(1) → 待签发(0) / ACTIVE(2) → 已签发(1) / COMPLETED(3) → 已检查(5)
- COMPLETED_REPORT(8) → 已出报告(6) / CANCELLED(5) → 已作废(7)
2. 实体: 补全 RequestForm.status 字段完善领域模型
验证: Java编译通过 + XML格式正确 + SQL实测状态值正确区分
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-17 13:18:53 +08:00
赵云
06736e4246
Fix Bug #497 : 【住院医生工作站-检查申请】检查申请列表缺失申请单状态列——全链路验证
...
根因: SQL 使用复杂 CASE + MIN(wsr.org_id) 聚合表达式计算 desc_json,
但 doc_request_form 表已有 status 字段直接存储状态值。
CASE 表达式在聚合场景下不准确且冗余。
修复: 简化 SQL 为直接使用 drf.desc_json 字段,删除 CASE 表达式。
前端列顺序和状态标签已在之前修复中完成。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-17 12:57:20 +08:00
关羽
bd471223a4
Fix Bug #478 : 【住院医生工作站-检验申请】点击"详情"查看检验单时,"发往科室"字段回显异常(显示为"-")
...
根因:desc_json 中 targetDepartment 存为空字符串,实际执行科室保存在 wor_service_request.org_id 中
修复:在 getRequestForm SQL 中用 CASE 表达式将 org_id 注入 desc_json,当前端已有值时不覆盖
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-16 15:15:34 +08:00
关羽
ed644c4a91
Fix Bug #497 : 【住院医生工作站-检查申请】检查申请列表缺失"申请单状态"列及全流程闭环状态流转逻辑
...
根因:
1. 列位置回归问题 — commit 718e7a90 已将"申请单状态"列移至"申请单号"之后,
但后续 commit e65f1212 合并时意外恢复为"申请单号→申请者→申请单状态"的错误顺序。
2. SQL 状态计算冗余 — Mapper XML 使用复杂的 CASE + MIN(wsr.status_enum) 聚合表达式
从 wor_service_request 计算状态,但 doc_request_form 表已有 status 字段直接存储状态值。
CASE 表达式在 MIN=0 时返回 NULL(虽然当前枚举没有 0 值),且聚合逻辑在多条 ServiceRequest
记录场景下可能不准确。
修复:
- 前端:恢复"申请单号→申请单状态→申请者→操作"的列顺序
- 后端:简化 SQL 为直接使用 drf.status 字段,删除 CASE 表达式及 WHERE 中的聚合过滤
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-16 15:11:59 +08:00
关羽
5f5d1c548a
Fix Bug #472 : 住院医生工作站-手术申请单:勾选手术项目无效,导致无法正常开立医嘱
...
根因:getSurgeryPage SQL 的 LEFT JOIN 在价格表存在多条记录时产生重复行,
导致 el-transfer 中出现相同 key 的条目,Vue diff 算法无法正确追踪选中状态
修复:
- SQL 添加 DISTINCT ON (t1.ID) 去重(与旧版 getAdviceBaseInfo 一致)
- 前端 applicationList 初始化为空数组 + 过滤空 adviceDefinitionId
- 同步修复 getExaminationPage 的相同问题
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-16 14:28:24 +08:00
关羽
e473e5159b
Fix Bug #444 : 根因+修复方案摘要
...
## 根因分析
门诊手术安排的"生成临时医嘱"界面中,"已引用计费药品"列表未正常显示药品名称。
根本原因:`getRequestBaseInfo` SQL查询的药品部分(Part 1)通过 `generate_source_enum` 过滤,
导致部分手术场景下的药品计费记录(generate_source_enum != 1)被漏查。
之前的修复(commit 97d0011)仅在前端添加了名称回退字段,未解决后端数据查询遗漏问题。
## 修复方案
在 DoctorStationAdviceAppMapper.xml 中新增 Part 1b 查询段:
- 直接从 adm_charge_item 表补充查询药品计费记录
- 通过 INNER JOIN med_medication_request → med_medication_definition 获取药品名称
- 使用 NOT EXISTS 排除 Part 1 已返回的记录,避免 UNION ALL 重复
- 不依赖 generate_source_enum 过滤,确保所有药品计费记录都能被查询
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-16 13:14:15 +08:00
关羽
bbf230ea76
Fix Bug #434 : 根因+修复方案摘要
2026-05-16 12:51:11 +08:00
a6337ae397
fix bug249:手术管理-》门诊手术安排:【新增手术安排】-》【查找】在门诊医生站已【删除】作废的手术申请单在查询界面还能查询出来
2026-05-15 15:44:36 +08:00
赵云
c2e089c0d2
Fix Bug #532 : 【手术管理】点击"查看"或"编辑"按钮弹出 SQL 语法报错。
...
根因:getSurgeryScheduleDetail SQL 查询中引用了 fc.contract_name AS feeType,
但 fc (fin_contract) 表从未被 JOIN,导致 SQL 语法错误。
修复:删除未关联表的 fc.contract_name 字段,保留已有的 os.fee_type AS feeType。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-15 15:42:02 +08:00
Ranyunqiao
e65f12125b
403 住院医生工作站:应用医嘱组套后,药品明细字段内容丢失未正确引入表格 521 [住院医生站-临床医嘱-检查申请] 手工选择执行科室后,保存仍提示“未找到项目执行的科室” 528 [住院医生工作站-检查申请] 修改申请单成功后,弹窗未自动关闭且列表数据未自动刷新 531 [住院医生站-临床医嘱-检查] 检查申请单打开数据没有正常加载
2026-05-15 14:20:30 +08:00
Ranyunqiao
12d0733c0c
Merge remote-tracking branch 'origin/develop' into develop
2026-05-15 09:44:38 +08:00
Ranyunqiao
610fff704a
bug 470 494
2026-05-15 09:44:26 +08:00
wangjian963
0aa7dd9b82
Revert "Merge remote-tracking branch 'origin/develop' into develop"
...
This reverts commit 5946c1ea4b , reversing
changes made to 8d905c9844 .
2026-05-15 09:33:35 +08:00
wangjian963
5946c1ea4b
Merge remote-tracking branch 'origin/develop' into develop
2026-05-15 09:26:51 +08:00
wangjian963
8d905c9844
Reapply "Fix Bug #489-regression: [住院护士站-医嘱处理] UNION加SELECT DISTINCT后NULL列类型推断失败导致接口异常"
...
This reverts commit 49fc905316 .
2026-05-15 09:23:13 +08:00
wangjian963
49fc905316
Revert "Fix Bug #489-regression: [住院护士站-医嘱处理] UNION加SELECT DISTINCT后NULL列类型推断失败导致接口异常"
...
This reverts commit 4e7e79d9c0 .
2026-05-15 09:19:02 +08:00
荀彧
4ae4421827
Fix Bug #498 : 【住院医生工作站-检查申请】检查申请列表状态筛选HAVING子句与SELECT映射不一致导致筛选失败
...
SELECT的CASE映射将status_enum=4映射为3(待接收),但HAVING子句将status_enum=4映射为4,
导致按"待接收"或"已接收"状态筛选时无结果返回。同时修正status_enum=5/6/7的映射从5→7。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-15 00:27:01 +08:00
关羽
4138dc39f6
Fix Bug #495 : 【医嘱闭环】已校对医嘱无法流转至"医嘱执行"界面,导致费用无法提交执行
...
后端SQL查询未过滤requestStatus(医嘱请求状态),导致医嘱执行页面的"待执行"tab
返回所有状态医嘱而非仅返回已校对(status=3)的医嘱。修复方式:
1. AdviceProcessAppMapper.java: 新增requestStatus参数
2. AdviceProcessAppMapper.xml: 在med_medication_request和wor_service_request子查询的
WHERE条件中增加 AND T1.status_enum = #{requestStatus} 过滤
3. AdviceProcessAppServiceImpl.java: 保存requestStatus并传递给mapper,
替代原注释"后端SQL已通过CASE条件处理"的错误假设
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-15 00:21:55 +08:00
关羽
d3310ade51
Fix Bug #467 : [住院医生工作站-检验申请] 列表显示信息不规范:标题术语错误且单据名称未展示具体检验项目
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 22:10:56 +08:00
荀彧
3360cccaa5
Fix Bug #463 : [目录管理-诊疗目录] 新增/编辑弹窗中"诊疗子项"检索功能失效,无法搜到已维护的项目
...
根因:ActivityDefinitionManageMapper.xml 中 getDiseaseTreatmentPage 查询使用 INNER JOIN
关联 adm_charge_item_definition 价格表,导致 55 个没有价格记录的诊疗项目被完全排除
在搜索结果之外。改为 LEFT JOIN 后,即使项目暂无价格记录也能被搜索到。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 20:16:15 +08:00
赵云
2cdda279a4
Fix Bug #435 : 门诊手术安排:编辑弹窗中"费用类别"字段数据未回显
...
根因:getSurgeryScheduleDetail 的 SQL 查询中引用了 fc.contract_name 但
未 JOIN fin_contract 表(以及关联的 adm_encounter、adm_account),导致
PostgreSQL 报错 "missing FROM-clause entry for table fc",接口返回失败,
前端费用类别字段无法获取数据。
修复:添加缺失的三表 JOIN(adm_encounter → adm_account → fin_contract),
并移除重复的 os.fee_type AS feeType 别名。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 18:13:08 +08:00
bc595e3843
bug499 【住院医生工作站-检查申请】检查申请列表缺失查询过滤功能,不符合临床高效检索要求 数据库语句报错修复
2026-05-14 18:10:46 +08:00
wangjian963
4e7e79d9c0
Fix Bug #489-regression: [住院护士站-医嘱处理] UNION加SELECT DISTINCT后NULL列类型推断失败导致接口异常
...
Root cause: Bug #489修复为UNION添加SELECT DISTINCT后,PostgreSQL无法将
服务侧无类型NULL文字自动匹配药品侧对应列的类型,报错"UNION types integer
and text cannot be matched"(错误位置: skin_test_flag列,第9列)。
Fix:
- InpatientAdviceDto.categoryCode: Integer → String,与DB varchar对齐
- AdviceProcessAppMapper.xml: 服务侧UNION 13处NULL添加PostgreSQL显式类型
强转(::integer / ::bigint / ::numeric / ::varchar),同时part_percent
的'1'改为'1::numeric'以安全匹配药品侧numeric类型
2026-05-14 17:53:31 +08:00
关羽
b435de9e7b
Fix Bug #519 : [门诊医生站-诊断-报卡] 已完成传染病报卡的诊断在再次点保存时重复弹出报卡界面
...
根因:handleInfectiousDiseaseReport() 仅根据诊断名称匹配传染病,未校验该诊断是否已有已提交的报卡记录。
修复方案:
1. 后端 DiagnosisQueryDto 新增 hasInfectiousReport 字段
2. getEncounterDiagnosis SQL 通过 EXISTS 子查询关联 infectious_card 表,
判断是否存在 status >= 1(已提交/已审核/已上报)的报卡记录
3. 前端 handleInfectiousDiseaseReport() 过滤掉 hasInfectiousReport === 1 的诊断,不再弹出报卡
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 16:16:46 +08:00
赵云
fd9309f125
Fix Bug #494 : 住院医生工作站-检查申请:申请单名称显示为通用名称,未展示具体检查项目名称
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 15:19:00 +08:00
关羽
a282234bb0
Fix Bug #497 : 【住院医生工作站-检查申请】检查申请列表缺失"申请单状态"列及全流程闭环状态流转逻辑
...
根因分析:
1. SQL CASE 映射不完整:status_enum=3(COMPLETED) 直接映射为应用状态 4(已接收),
跳过了 2(已校对) 和 3(待接收)
2. status_enum=8 在数据中存在但枚举类中缺失定义
3. 前端已完整实现状态列和交互逻辑,问题在后端返回的状态值不正确
修复内容:
- RequestFormManageAppMapper.xml: 重构 SQL CASE 语句
- status_enum=3 + performer_check_id 有值 → 2(已校对),利用护士校对标记区分
- status_enum=3 + performer_check_id 为空 → 4(已接收)
- status_enum=4(ON_HOLD) → 3(待接收)
- status_enum=5/6/7 → 7(已作废)
- status_enum=8 → 6(已出报告)
- RequestStatus.java: 补充 COMPLETED_REPORT(8) 枚举值
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 14:26:38 +08:00
赵云
e0e4c2bcc6
Fix Bug #471 : 手术管理-门诊手术安排:手术申请查询结果中混入住院检验申请单数据(脏数据)
...
根因:门诊手术安排查询弹窗调用 /reg-doctorstation/request-form/get-surgery-page 接口,
SQL 过滤 type_code = '24',但实际手术申请单的 type_code 存储为 'SURGERY'(非'24'),
导致查询返回0条手术记录。同时检验申请单(type_code='22')使用 PAR 前缀处方号,在缺少
type_code 有效过滤时可能混入结果。
修复:将 SQL 过滤器从 type_code = #{typeCode} 改为 type_code IN (#{typeCode}, 'SURGERY'),
兼容两种 type_code 值,确保只返回手术申请单,排除检验/检查申请单数据。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 13:13:47 +08:00
关羽
12382503f4
Fix Bug #489 : 【医嘱闭环】医生站签发单条长期药品医嘱,护士校对界面生成重复(两条)待校对记录
...
Root cause: The SQL query in AdviceProcessAppMapper.xml used a plain LEFT JOIN with
med_medication_dispense on med_req_id. When a single medication request had multiple
dispense records (e.g., from repeated executions or summary operations), the JOIN
produced multiple rows per request — up to 222 rows for one request. SELECT DISTINCT
could not deduplicate because dispense_status values differed across rows.
Fix: Replace the plain LEFT JOIN with LEFT JOIN LATERAL (subquery ORDER BY create_time
DESC LIMIT 1) to fetch only the most recent dispense record per medication request.
This ensures exactly one row per request regardless of how many dispense records exist.
Verified: SQL query now returns 0 duplicate rows across all medication requests.
2026-05-14 13:10:51 +08:00
wangjian963
79cce458ee
Merge remote-tracking branch 'origin/develop' into develop
...
# Conflicts:
# openhis-server-new/openhis-application/src/main/java/com/openhis/web/clinicalmanage/dto/OpScheduleDto.java
2026-05-14 12:01:33 +08:00
wangjian963
1140912f3a
Fix Bug #437 : 【门诊手术计费】保存签章TOCTOU竞态致重复提交,且耗材计费项目缺失/重复、手术单号未关联
...
Fix: 频次总量计算改用字典store动态读取,el-input-number新增@input实时计算
2026-05-14 12:00:18 +08:00
250f9ce258
Merge remote-tracking branch 'origin/develop' into develop
2026-05-14 11:48:42 +08:00
0d6f891b47
fix bug434:门诊手术安排:编辑弹窗中“切口类型”字段未正确回显数据
...
bug426:门诊医生站-检查开立:已选择列表应支持树形展开,显示套餐明细
bug439:领用出库:选择领用药品后“总库存数量”列数据未显示
bug457:门诊收费:已签发的手术类医嘱在门诊收费列表中不显示项目名称
2026-05-14 11:48:22 +08:00
Ranyunqiao
eab0119c19
bug362 413 498 504 507
2026-05-14 11:47:18 +08:00
关羽
ba9c18b6a4
Fix Bug #443 : 手术计费:点击"签发"耗材时异常报错
...
根因分析:getRequestBaseInfo SQL查询的UNION 2(门诊术中计费耗材)缺少generate_source_enum过滤条件,导致手术计费弹窗显示所有来源的耗材(包括医生站开立的项目)。当用户尝试签发非手术计费创建的耗材时,后端handDevice处理失败。
修复内容:
1. 后端SQL:在UNION 2的WHERE子句中添加generate_source_enum过滤,确保手术计费弹窗仅显示手术计费来源的耗材
2. 前端JS:handleSave函数补充.then/.catch错误处理,避免显示笼统的"后端程序异常",改为展示具体错误信息
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 09:03:38 +08:00
关羽
49889e9140
Fix Bug #507 : [住院护士站-住院记账-补费] 项目单位未获取、执行科室显示内码且缺乏默认/模糊搜索逻辑
...
后端SQL修复: DoctorStationAdviceAppMapper.xml 中诊疗项 min_unit_code 硬编码为空字符串,
改为使用 permitted_unit_code,使前端单位下拉框有可用选项
前端修复:
1. api.js getOrgList 添加 pageSize:100 参数,确保获取足够科室数据
2. FeeDialog.vue loadDepartmentOptions 增加回退逻辑:当树形结构无children时使用扁平records
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 06:13:56 +08:00
荀彧
02f2a14178
Fix Bug #497 : 【住院医生工作站-检查申请】检查申请列表缺失"申请单状态"列及全流程闭环状态流转逻辑
...
根因:SQL 查询使用 CASE MIN(wsr.status_enum) 计算状态,但聚合函数 MIN() 出现在 WHERE 子句中,
PostgreSQL 语法错误导致状态筛选时查询失败。且计算状态仅映射 5 种值(缺少"待接收"=3、"已出报告"=6)。
修复:改为直接使用 doc_request_form.status 字段(数据库已存在该列),
SELECT 和 WHERE 均使用 drf.status,支持完整 0-7 状态流转。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 05:43:07 +08:00
关羽
1525740ab5
Fix Bug #435 : 门诊手术安排编辑弹窗费用类别字段数据未回显
...
根因:op_schedule 表缺少 fee_type 字段,导致编辑时无法从数据库读取费用类别。
- 新增 fee_type 列到 op_schedule 表并回填历史数据
- OpSchedule 实体类新增 feeType 字段
- 详情查询SQL改为直接从 op_schedule.fee_type 读取,替代原脆弱的 fin_contract 关联链
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 00:06:34 +08:00
关羽
96102e8b64
Fix Bug #401 : div_log 表中 pool_id 与 slot_id 存值不符
...
根因分析:
1. 候选池API(getCurrentDayEncounter)未返回 poolId/slotId 字段,导致护士从候选池
添加患者到队列时 poolId/slotId 始终为 null
2. triage_queue_item 中 pool_id/slot_id 为 null 后,完诊时 div_log 也写入 null 值
3. 医生站完诊和护士站完诊各自独立写入 div_log,导致同一患者产生两条 COMPLETE 记录
修复方案:
1. CurrentDayEncounterTencentDto 新增 poolId/slotId 字段
2. TencentAppMapper.xml 通过 encounter.order_id → order_main.slot_id →
adm_schedule_slot.pool_id 链路获取正确的号源信息
3. DoctorStationMainAppServiceImpl 增加防重复逻辑:队列项已为 COMPLETED 状态时
不再重复写入 div_log(说明护士站已处理过)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-13 23:27:08 +08:00
赵云
dc9f47c534
Fix Bug #489 : 【医嘱闭环】医生站签发单条长期药品医嘱,护士校对界面生成重复(两条)待校对记录
...
根因分析:
1. SQL查询JOIN倍增:selectInpatientAdvicePage 中多个LEFT JOIN(如adm_encounter_location、
adm_encounter_participant、med_medication)可能产生重复行,外层查询无DISTINCT去重
2. 防重复逻辑缺陷:handMedication() 中仅对 DbOpType.INSERT 进行去重,若同一请求中包含
INSERT 和 UPDATE(编辑后签发的医嘱),两者uniqueKey相同但UPDATE不受去重限制,
导致 UPDATE 修改旧记录 + INSERT 创建新记录 = 两条数据
修复方案:
1. 在AdviceProcessAppMapper.xml的UNION两侧子查询中添加SELECT DISTINCT,防止JOIN倍增
2. 在AdviceManageAppServiceImpl.java中移除dbOpType限制,对所有医嘱(INSERT+UPDATE)
统一按uniqueKey去重,确保同一业务医嘱只处理一次
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-13 19:19:47 +08:00
1be0dc2417
bug515 [住院医生站-临床医嘱] 点击“签发”检验医嘱后系统陷入死循环,Loading无法消失 后端advice_type映射错误
2026-05-13 17:49:27 +08:00
Ranyunqiao
b7df71fd0b
bug 362 428 436
2026-05-13 12:59:03 +08:00
cd12dd7a22
bug471 手术管理-门诊手术安排:手术申请查询结果中混入住院检验申请单数据(脏数据)
2026-05-13 10:45:33 +08:00
张飞
3590a18adc
Fix Bug #362 : 住院护士站:入出转管理双击查看详情时,"入科时间"字段显示当前系统时间而非实际入科时间
...
在 selectAdmissionPatientInfo SQL 中,startTime 原取自 bed.start_time(床位级别的位置记录),
当该 LEFT JOIN 无匹配记录时返回 NULL,前端 fallback 到当前系统时间。
改为 COALESCE(bed.start_time, ae.start_time),无床位记录时回退到 encounter 的入院时间。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-13 01:03:24 +08:00
刘备
0600bbecbc
Fix Bug #468 : [住院医生工作站-检验申请] 列表页缺失【单据状态】列,无法闭环管理检验医嘱执行进度
...
前后端完整链路修复:
- 后端 Mapper: LEFT JOIN wor_service_request 表,通过 CASE MIN(status_enum) 映射单据状态
- 后端 Mapper: 新增状态筛选和关键字搜索(申请单号/检验项目模糊匹配)
- 后端 Service/Controller: 新增 status 和 keyword 参数传递
- 前端 Vue: 列表页添加【单据状态】列,绑定 status 字段
- 前端 Vue: 移除中间状态选项(已采集/已收样),与后端 CASE 映射保持一致
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-13 00:02:47 +08:00
荀彧
d38efd15b3
Fix Bug #457 : 门诊收费:已签发的手术类医嘱在门诊收费列表中不显示项目名称
...
根因分析:门诊医生站处方列表查询(DoctorStationAdviceAppMapper.xml)中,
手术类医嘱(category_enum=4)的 advice_table_name 固定返回 'wor_activity_definition',
而非 'cli_surgery'。当医生通过"签发"按钮处理手术医嘱时,handService() 据此创建
ChargeItem,导致 product_table = 'wor_activity_definition',但 product_id 实际指向
cli_surgery 表中的手术记录。
门诊收费SQL查询的CASE语句仅匹配 product_table = 'cli_surgery' 的手术项,
因此这些手术医嘱无法匹配,item_name 返回 NULL。
修复方案:在 selectEncounterPatientPrescription 和 selectEncounterPatientPrescriptionWithPrice
的 item_name CASE 表达式中新增兜底分支:
WHEN context_enum = #{activity} AND service_table = 'wor_service_request'
THEN COALESCE(T9.surgery_name, wsr.content_json->>'surgeryName',
wsr.content_json->>'adviceName', T2."name")
按优先级回退获取手术名称:cli_surgery表 → content_json手术名称 → content_json医嘱名称 → 诊疗定义名称
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-12 23:34:36 +08:00
华佗
4e71b861ab
Fix Bug #442 : 手术计费:点击"删除"待签发耗材时异常报错,导致操作失败
...
根因:DoctorStationAdviceAppMapper.xml 中 getRequestBaseInfo SQL 的第二个 UNION 查询(手术计费耗材从 adm_charge_item 关联 wor_device_request)中,biz_request_flag 和 requester_id 使用了 CI.enterer_id(计费录入人),而非 DR.requester_id(设备申请创建人)。当录入人与当前操作人不一致时,biz_request_flag 为 '0',导致删除操作被后端拒绝。
修复:将 CI.enterer_id 改为 COALESCE(DR.requester_id, CI.enterer_id),优先使用 DeviceRequest 的 requester_id,确保 biz_request_flag 基于正确的创建人计算。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-12 23:08:08 +08:00
Ranyunqiao
1b159cdfab
429 433 438 476 477 478
2026-05-12 12:21:25 +08:00
ede6180c97
调优:测试环境数据库改为 test1
2026-05-12 11:01:28 +08:00
赵云
3f35b4f2bb
Fix Bug #435 : 门诊手术安排:编辑弹窗中"费用类别"字段数据未回显
...
根因:getSurgeryScheduleDetail 查询未关联 fin_contract 表,导致 feeType 始终为 null
修复:SQL 中添加 adm_encounter → adm_account → fin_contract 三表关联,取 fc.contract_name AS feeType;
OpScheduleDto 新增 feeType 字段用于接收映射
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-12 10:04:26 +08:00
赵云
98e5a0b984
Fix Bug #509 : [门诊医生站-手术申请] 提交申请后列表未实时刷新展示数据,且提示语需优化
...
1. 修复列表不显示问题:SurgeryMapper.xml 中 sr.id IS NULL 条件导致已生成医嘱的手术被过滤,
提交手术时 addSurgery() 会创建 category_enum=4 的 ServiceRequest,导致查询立即被排除。
移除 sr.id IS NULL 过滤条件,使手术申请列表正常展示所有手术记录。
2. 修复提示语问题:将后端 addSurgery 返回消息从"手术信息添加成功"改为"手术申请提交成功!",
updateSurgery 改为"手术申请修改成功!",前端直接使用后端返回消息。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-11 11:24:06 +08:00