荀彧
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
关羽
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
赵云
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
关羽
772ec5537c
Fix Bug #504 : 【住院医生工作站-临床医嘱】护士退回药品医嘱后,医生修改并保存时提示"未匹配到库存信息"
...
根因分析:
1. SQL查询 getRegRequestBaseInfo 未返回 medication_id/adviceDefinitionId 字段,
退回医嘱的 adviceDefinitionId 为 null,导致库存校验查询无法匹配到库存记录
2. 退回医嘱可能缺少 locationId,严格的 locationId 匹配导致校验失败
修复方案:
1. AdviceManageAppMapper.xml:在三个UNION查询中分别添加 medication_id/device_def_id/activity_id AS advice_definition_id
2. AdviceUtils.checkInventory():
- 过滤 null adviceDefinitionId,避免SQL查询异常
- 所有adviceDefinitionId为null时跳过库存校验
- 退回医嘱单个adviceDefinitionId为null时跳过该校验项
- 添加 locationId 容错匹配(为null时跳过location匹配)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-10 12:28:19 +08:00
华佗
ffc2562aea
Fix Bug #505 : 【业务逻辑缺陷】药品医嘱已由药房发药,护士仍能在"医嘱校对"模块执行"退回"操作
...
前后端双重校验防止已发药医嘱被退回:
1. 后端 InpatientAdviceDto 新增 dispenseStatus 字段,Mapper SQL LEFT JOIN med_medication_dispense 获取发药状态
2. 后端 adviceReject 方法增加前置校验,已发药(COMPLETED)的医嘱直接拒绝退回
3. 前端 prescriptionList.vue handleCancel 方法增加 dispenseStatus 校验,已发药医嘱点击退回时弹窗提示
2026-05-10 11:17:35 +08:00
关羽
7b17a66214
Fix Bug #503 : 【住院发退药】发药明细与发药汇总单数据触发时机不一致,存在业务脱节风险
...
在 selectEncounterInfoListPage 和 selectMedicineDispenseOrderPage 两个查询中增加
summary_no IS NOT NULL 过滤条件,使发药明细单仅在护士执行"汇总发药申请"后才显示记录,
与发药汇总单保持一致的触发时机。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-10 11:07:21 +08:00
赵云
482a945b77
Fix Bug #497 : 【住院医生工作站-检查申请】检查申请列表缺失"申请单状态"列及全流程闭环状态流转逻辑
...
1. 修复 examineApplication.vue 模板结构损坏问题(</template>提前闭合导致大量HTML游离在模板外)
2. 申请单状态列改为使用 formatter 显示中文(待签发→已签发→已校对→待接收→已接收→已检查→已出报告→已作废)
3. 新增筛选功能:申请日期范围筛选 + 申请单状态下拉筛选
4. 修复 index.vue 模板中检查申请 tab-pane 缺失(被 markdown fence 替换)及手术申请 tab 结构损坏
5. 后端 RequestFormQueryDto 新增 status 字段,SQL 查询补充 drf.status 返回
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-10 10:31:49 +08:00
刘备
0e6dc880b3
Fix Bug #457 : 门诊收费:已签发的手术类医嘱在门诊收费列表中不显示项目名称
...
在 SQL CASE 表达式的 item_name 字段中,为 context_enum=activity 且非 cli_surgery
的分支增加从 wor_service_request.content_json 中读取 surgeryName 的回退逻辑,
使门诊医生站开立的手术类医嘱在收费列表中能正确显示项目名称。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-09 19:02:10 +08:00
华佗
cb7f1e42cd
Fix Bug #457 : 门诊收费:已签发的手术类医嘱在门诊收费列表中不显示项目名称
...
根因分析:手术类收费项的 context_enum = 6 (SURGERY),但 SQL 查询的 CASE 语句
只匹配 context_enum = #{activity} (值=3),导致手术类医嘱无法匹配任何 CASE 分支,
item_name 返回 NULL。
修复方案:在 selectEncounterPatientPrescription 和 selectEncounterPatientPrescriptionWithPrice
两个查询的 item_name/yb_no/item_id CASE 语句中增加 context_enum = 6 (手术) 的匹配分支:
- product_table = 'cli_surgery' 时从 cli_surgery 表获取手术名称
- product_id = 0 且 service_table = 'wor_service_request' 时从 content_json 获取医嘱名称
- 其他情况从 wor_activity_definition 获取名称
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-09 18:58:57 +08:00
刘备
57cdeef910
Fix Bug #456 : 门诊医生站:诊疗类医嘱保存后类型变更为"检查"且签发成功后状态未更新
...
根因:getRequestBaseInfo SQL 查询中 wor_service_request 的 advice_type 计算
使用了 COALESCE(T1.category_enum, 3),导致 category_enum=23(检查) 时
返回 advice_type=23 而非 3(诊疗),前端将 23 特殊映射为"检查"显示
修复:将 ELSE COALESCE(T1.category_enum, 3) 改为 ELSE 3,确保所有
诊疗子类型(检查/检验/治疗等)统一返回 advice_type=3
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-09 17:53:31 +08:00
bc4a6cc6af
bug402:住院医生站诊断录入:点击保存诊断后,列表出现重复记录且部分条目元数据缺失.
...
bug405: 住院医生工作站:临床医嘱保存成功后,医嘱条目仍处于可编辑状态(未锁定展示)
2026-05-09 10:39:17 +08:00
Ranyunqiao
5b029270cf
需求111
2026-05-09 09:36:24 +08:00
wangjian963
232261296f
Fix: 医生站getRequestBaseInfo接口报错,adm_charge_item表无content_json列导致UNION ALL查询失败
...
Bug #401 : 门诊医生站完诊div_log审计日志修复,及getRequestBaseInfo SQL列引用错误修正
2026-05-08 17:22:39 +08:00
9c3e603b94
Fix Bug #443 : 手术计费:点击签发耗材时异常报错
...
当手术计费弹窗中点击"签发"耗材时,因耗材的locationId(发放库房)为空导致后端异常。
在DoctorStationAdviceAppServiceImpl.handDevice方法中,当locationId为null时,使用登录用户的科室ID作为默认值,
与NurseBillingAppService中的处理方式保持一致。
2026-05-08 09:14:18 +08:00
47a12e03e3
Fix Bug #443 : 手术计费:点击签发耗材时异常报错
...
门诊手术计费生成的耗材在请求基础信息接口中返回的 status_enum 和
content_json 均为 NULL,导致前端无法正确识别"待签发"状态且在签发
时丢失 adviceType 分类信息。
修复:从已 JOIN 的 wor_device_request 表中获取真实的 status_enum
和 content_json 字段,使用 COALESCE 回退到 adm_charge_item。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-07 23:14:04 +08:00
b31c891bd1
调优:473- [住院医生工作站-检验申请] 列表页字段补全:新增“申请类型”、“标本类型”字段展示,处方号改申请单号
2026-05-07 16:08:13 +08:00
a3d8b399c0
将注释从OGNL表达式内部移到外部,避免报错
2026-05-07 10:00:44 +08:00
Ranyunqiao
d3c4b612e4
fix: 修复多模块Bug及功能优化
...
修复药品汇总、医嘱套餐、转科管理、用药汇总、处方列表、用户管理等多个模块的问题
2026-05-06 10:42:57 +08:00
87e6850f67
fix(#439,#452,#464): 修复领用出库库存查询和诊疗目录零售价同步问题
...
#439 领用出库选择药品后总库存数量列数据未显示
#452 领用出库模块选择药品时提示仓库数量为0与实际库存不符
- CommonAppMapper.xml: selectInventoryItemInfo的WHERE条件修复
当objLocationId非空时,location_id IN应同时包含orgLocationId和objLocationId
原代码只包含orgLocationId导致obj_quantity永远为0
#464 诊疗目录新增项目时零售价未与诊疗子项合计总价自动同步
- diagnosisTreatmentDialog.vue: submitForm中增加零售价自动同步逻辑
当有子项时,form.retailPrice自动设置为totalPrice(子项合计总价)
Author: xunyu
2026-05-02 19:05:55 +08:00
c4a7261de0
疾病报告管理-》报告卡管理:查看报卡详情页缺失“历史审核记录”展示
2026-04-30 16:49:15 +08:00
wangjian963
4a01825a30
feat(分诊队列): 实现分诊队列核心功能与日志记录
...
新增分诊队列相关服务接口与实现,包括队列管理、叫号操作和日志记录
添加DivLogService和CallRecordService用于记录分诊操作和叫号历史
在CurrentDayEncounterDto和TriageQueueItem中增加seqNo字段用于显示预约序号
实现分诊操作日志记录功能,包括添加队列、移除队列、叫号、完成等操作
新增CallType枚举定义叫号类型,并实现叫号记录功能
优化队列状态映射逻辑,支持更多状态类型显示
2026-04-30 16:02:52 +08:00
guanyu
81daaccdda
fix: 修复#404医嘱组套编辑字段回显丢失 - 恢复被误删的列别名
...
根因: 关羽修复#403时(e2808fd6 )误删了#404的列别名(AS)修复,
导致dose/rate_code/method_code/dose_quantity/dispense_per_duration/therapy_enum
无法正确映射到DTO,编辑组套时这些字段回显为空。
修复: 在OrdersGroupPackageAppMapper.xml的getGroupPackageDetail查询中
恢复6个字段的显式列别名映射。
2026-04-30 15:21:08 +08:00
guanyu
3472aa790e
fix: 修复#436手术计费界面显示无关费用项
...
根因: 前端按generateSourceEnum和sourceBillNo过滤手术计费项目,
但后端SQL查询和DTO未返回这两个字段,导致过滤失效,显示所有费用项。
修复:
1. EncounterPatientPrescriptionDto添加generateSourceEnum和sourceBillNo字段
2. SQL查询添加T1.generate_source_enum和T1.prescription_no AS source_bill_no
2026-04-29 17:40:13 +08:00
guanyu
b424d73542
fix: 修复#471手术申请查询混入脏数据
...
根因: 手术申请分页查询SQL中cli_surgery、adm_patient、adm_encounter表
LEFT JOIN时缺少delete_flag='0'过滤条件,导致已删除的数据混入查询结果。
修复: 在LEFT JOIN条件中添加AND cs.delete_flag='0'、AND ap.delete_flag='0'、AND ae.delete_flag='0'。
2026-04-29 17:18:18 +08:00