Commit Graph

128 Commits

Author SHA1 Message Date
Ranyunqiao
a89d91c5be bug 443 522 523 2026-05-18 11:05:14 +08:00
关羽
4c7d362946 Fix Bug #403: 住院医生工作站:应用医嘱组套后,药品明细字段内容丢失未正确引入表格
组套应用时数据预处理缺失部分关键字段(doseUnitCode_dictText/positionName/
injectFlag/skinTestFlag),导致父组件构建行数据时无法获取完整信息。
在orderGroupDrawer的processed item中显式补充这些字段。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-16 11:57:54 +08:00
Ranyunqiao
e65f12125b 403 住院医生工作站:应用医嘱组套后,药品明细字段内容丢失未正确引入表格 521 [住院医生站-临床医嘱-检查申请] 手工选择执行科室后,保存仍提示“未找到项目执行的科室” 528 [住院医生工作站-检查申请] 修改申请单成功后,弹窗未自动关闭且列表数据未自动刷新 531 [住院医生站-临床医嘱-检查] 检查申请单打开数据没有正常加载 2026-05-15 14:20:30 +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
赵云
6940c3861d Fix Bug #458: 门诊医生站:诊疗类医嘱保存成功后,列表"医嘱类型"列显示为空值
增强 mapAdviceTypeLabel 函数的兜底映射:在原有表名匹配兜底的基础上,
新增不依赖表名的最终兜底映射(1=西药, 2=中成药, 3=诊疗, 4=耗材, 5=会诊, 6=手术),
确保即使字典缺失或表名不匹配也能正确显示类型标签。

同时修复 getListInfo 中 adviceType_dictText 的空字符串判断逻辑,
使用显式 trim() 检查替代 || 运算符,避免后端返回空字符串时未被重新计算。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-14 21:13:26 +08:00
关羽
46358ea03d Fix Bug #455: 门诊医生站-医嘱:开立诊疗医嘱时执行科室默认获取逻辑有误且显示为原始ID
移除else分支中对orgId和positionName的条件判断,确保诊疗类医嘱的执行科室
始终使用患者就诊科室,不被诊疗目录配置的positionId覆盖。
之前的if (!orgId)条件导致目录已配置positionId时不会被覆盖,
若目录配置的ID不在机构树中则显示原始ID。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-14 16:08:26 +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
0d6f891b47 fix bug434:门诊手术安排:编辑弹窗中“切口类型”字段未正确回显数据
bug426:门诊医生站-检查开立:已选择列表应支持树形展开,显示套餐明细
bug439:领用出库:选择领用药品后“总库存数量”列数据未显示
bug457:门诊收费:已签发的手术类医嘱在门诊收费列表中不显示项目名称
2026-05-14 11:48:22 +08:00
关羽
492a51d282 Fix Bug #455: 门诊医生站-医嘱:开立诊疗医嘱时执行科室默认获取逻辑有误且显示为原始ID
根因:setValue() 中通过展开运算符(...JSON.parse(JSON.stringify(row)))将诊疗目录
的 positionId/orgId 带入处方列表,后续条件判断只处理非诊疗类型(advicetype != 3),
导致诊疗类的 catalog ID 未被覆盖,且该 ID 不在机构树中,el-tree-select 显示原始数字。

修复:
1. setValue() 中显式为诊疗类(adviceType=3)设置 orgId/positionId 为患者就诊科室,
   并同步 positionName 为机构树中的名称
2. handleSaveGroup() 组套应用时同样对诊疗类使用患者就诊科室,不使用目录配置的ID

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-14 10:08:20 +08:00
赵云
53e3e9c4c0 Fix Bug #403: 住院医生工作站:应用医嘱组套后,药品明细字段内容丢失未正确引入表格
根因分析:
1. orderGroupDrawer.vue 中 handleUseOrderGroup 的 mergedDetail 对象缺少
   categoryCode、minUnitCode、doseUnitCode、partPercent、partAttributeEnum、
   unitConversionRatio、defaultLotNumber 等关键字段,导致 setValue 和价格计算逻辑失效
2. 使用 || 替代 ?? 作为数字字段(如 doseQuantity=0)的回退操作符,导致值为 0 时被错误覆盖
3. handleSaveGroup 中价格计算使用 item.unitCode 查找 unitInfo,但 item.unitCode 可能为
   undefined,而 setValue 已正确填充了 prescriptionList 中的 unitCode

修复内容:
- mergedDetail 先展开 orderDetail(包含所有药品基础字段),再用组套用户覆盖值覆盖
- 所有数字字段回退从 || 改为 ??,确保 0 值不被覆盖
- 新增 doseQuantity 的 ?? 回退逻辑到 orderDetail.doseQuantity
- 新增 groupId、groupOrder、orgId、orgName、therapyEnum 到 mergedDetail
- handleSaveGroup 使用 baseRow 变量避免对象自引用问题
- 价格计算使用 newRow.unitCode(已由 setValue 填充)而非 item.unitCode

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-14 00:19:05 +08:00
关羽
31f7c4f32a Fix Bug #455: 门诊医生站-医嘱:开立诊疗医嘱时执行科室默认获取逻辑有误且显示为原始ID
根因分析:
- setValue函数对所有类型统一设置orgId=row.positionId
- 诊疗项目(adviceType=3)的positionId来自adm_organization_location配置表
- 当配置ID不在当前机构树中时,findOrgNameById返回空,el-tree-select显示原始ID
- 后续if(!orgId)判断因已有值而不触发回退到患者就诊科室

修复方案:
- 诊疗类型(adviceType=3)跳过positionId赋值,使用患者就诊科室作为默认执行科室
- 同时修复syncGroupFields中会覆盖orgId的问题

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-13 16:13:35 +08:00
刘备
c7404e9d3f Fix Bug #458: 门诊医生站:诊疗类医嘱保存成功后,列表"医嘱类型"列显示为空值
根因:mapAdviceTypeLabel 函数依赖 drord_doctor_type 字典数据进行类型映射,
当字典中缺少 value=3(诊疗)的条目时,find() 返回 undefined,函数返回空字符串,
导致保存后刷新列表时"医嘱类型"列显示为空白。

修复:在 mapAdviceTypeLabel 中为诊疗/手术类医嘱(wor_activity_definition 表)
添加兜底映射逻辑:type 3→诊疗, 6→手术, 4→手术, 1→检验, 2→检查, 5→其他,
确保即使字典缺失对应条目也能正确显示类型标签。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-12 23:29:57 +08:00
赵云
9280065c5b Fix Bug #455: 门诊医生站-医嘱:开立诊疗医嘱时执行科室默认获取逻辑有误且显示为原始ID
根因修复:
1. 默认科室逻辑错误:row.orgId来自wor_activity_definition.org_id(项目所属科室),不是执行科室。
   改为优先使用positionId(adm_organization_location配置的执行科室),回退到患者就诊科室。
2. 显示为原始ID:getOrgList()为异步调用但未await,导致findOrgNameById执行时organization树未加载。
   将setValue改为async函数并await getOrgList(),确保科室名称解析时数据已就绪。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-12 18:39:23 +08:00
Ranyunqiao
460890e3c2 413 460 513 514 2026-05-12 17:27:25 +08:00
e5c944069b bug 273 门诊医生站-》医嘱TAB页面:修改用药天数字段的值,总量字段的值未自动通过公式换算 补充:修改单词用量和用药频次时也自动换算总量字段 2026-05-11 11:11:30 +08:00
关羽
9829843b3e Fix Bug #273: 门诊医生站-》医嘱TAB页面:修改用药天数字段的值,总量字段的值未自动通过公式换算
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 17:05:37 +08:00
刘备
d3b6030693 Fix Bug #456: 门诊医生站:诊疗类医嘱保存后类型变更为"检查"且签发成功后状态未更新
根因:前端setValue中将row.categoryCode(文本值如"检查")赋给categoryEnum(Integer字段),
导致后端Jackson反序列化失败,category_enum存储异常。
修复:将row.categoryCode改为row.activityType(数值1=检验,2=检查,3=护理,4=手术,5=其他)。
2026-05-09 17:55:16 +08:00
刘备
1c04c5aadd Fix Bug #456: 门诊医生站:诊疗类医嘱保存后类型变更为"检查"且签发成功后状态未更新
原因:selectAdviceBase()中setValue()将后端返回的categoryCode(目录分类码,如检查=2)
直接赋值给categoryEnum,保存后存入wor_service_request.category_enum字段。
后端SQL查询getRequestBaseInfo使用COALESCE(category_enum, 3)推导advice_type,
导致category_enum=2时类型被误判为"检查"而非"诊疗"。

修复:诊疗类医嘱(adviceType=3)不再将categoryCode赋值给categoryEnum,
让SQL的COALESCE默认值3(医疗活动)正确推导类型。
2026-05-09 17:50:31 +08:00
9c3e603b94 Fix Bug #443: 手术计费:点击签发耗材时异常报错
当手术计费弹窗中点击"签发"耗材时,因耗材的locationId(发放库房)为空导致后端异常。
在DoctorStationAdviceAppServiceImpl.handDevice方法中,当locationId为null时,使用登录用户的科室ID作为默认值,
与NurseBillingAppService中的处理方式保持一致。
2026-05-08 09:14:18 +08:00
guanyu
ec89ead14c fix: 修复#456门诊医生站医嘱类型和状态异常
根因: 处方列表组件中adviceTypes参数传递格式错误,
将单个adviceType值直接赋值给adviceTypes参数,
但后端期望List<Integer>数组格式。

修复: 将adviceQueryParams.adviceTypes = value改为
adviceQueryParams.adviceTypes = [value],确保参数格式正确。
2026-04-29 17:24:07 +08:00
f125c8dc85 372 【住院医生站】医嘱录入执行科室显示ID乱码,且缺乏动态匹配逻辑
373 【住院医生站】医嘱搜索缺失“II级护理”项目(与诊疗目录配置不符)
2026-04-22 15:35:25 +08:00
ed75b148a8 修复检查申请单“执行科室”未获取配置默认值且字段交互逻辑不规范 2026-04-17 10:48:49 +08:00
210c463130 修复bug375:住院医生站点击“签发”按钮后系统提示语错误,显示为“保存成功”并且签发业务功能未实现。
bug376:【门诊医生站】检查页签申请单列表过滤异常,显示了历史检查就诊记录
bug377:【门诊医生站】检查申请单“执行科室”未获取配置默认值且字段交互逻辑不规范
2026-04-16 10:25:12 +08:00
6922aa1d2a bug282 门诊医生站-》医嘱TAB页面:总量字段的单位显示数字/给药途径字段的值显示不全 2026-04-15 15:28:49 +08:00
wangjian963
d99daa3048 修复问题:
1. 修复检验申请单生成的医嘱签发失败问题(BugFix#328)
2. 修复处方工具类空指针异常问题
3. 修复检验项目套餐价格查询问题
4. 修复医嘱签发时费用项状态更新问题
2026-04-13 18:23:36 +08:00
Ranyunqiao
49eed7c784 bug 349 350 351 354 356 357 2026-04-13 12:10:22 +08:00
Ranyunqiao
d2dfc714ec 333 门诊医生站开立耗材医嘱时,类型误转为“中成药”且保存报错
341 门诊挂号报错
2026-04-07 10:33:04 +08:00
Ranyunqiao
8a84b40ee5 333 门诊医生站开立耗材医嘱时,类型误转为“中成药”且保存报错 2026-04-03 16:42:10 +08:00
5b0acede89 Merge remote-tracking branch 'origin/develop' into develop
# Conflicts:
#	openhis-ui-vue3/src/views/clinicmanagement/bargain/component/prescriptionlist.vue
2026-04-01 18:27:31 +08:00
ac1cd3afc8 fix(prescription): 解决处方列表中手术类型和其他医嘱类型的问题
- 更新 lodash.template 修复脚本以处理 assignWith 函数的自定义器参数
- 在多个处方组件中引入 drord_doctor_type 字典用于动态生成医嘱类型列表
- 修复手术类型(adviceType=6)的特殊处理逻辑,包括类型映射和字段过滤
- 调整后端医嘱保存服务中的类型分类逻辑,正确处理手术类型
- 更新数据库查询映射以支持手术类型的正确显示和数据传输
- 修复费用对话框和订单表单中的相关类型显示问题
2026-04-01 18:24:24 +08:00
Ranyunqiao
6315ca5658 220 门诊医生站:新增耗材收费项目医嘱单价/总金额未显示正确的值 2026-04-01 15:25:08 +08:00
Ranyunqiao
9105e687d6 98 门诊管理-》门诊划价:选项增加‘西药’和‘中成药’ 2026-04-01 13:14:46 +08:00
3f0fa3bbb3 Merge remote-tracking branch 'origin/develop' into develop 2026-03-26 17:00:41 +08:00
Ranyunqiao
188b907907 217 收费工作站-》门诊收费:【确认收费】报错“打印失败”
220 门诊医生站:新增耗材收费项目医嘱单价/总金额未显示正确的值
2026-03-26 16:55:06 +08:00
71e3601d51 feat(prescription): 更新处方列表数据结构并优化药品管理界面功能
- 在处方列表中新增总价、剂量和剂量数量字段
- 修复药品审批页面跳转时仓库信息丢失问题
- 扩展药品列表列宽度并启用溢出提示功能
- 为采购单界面添加多种视图状态下的字段禁用逻辑
- 优化采购单仓库位置字段的初始化流程,防止数据丢失
2026-03-26 16:54:20 +08:00
8739959be0 fix(doctorstation): 解决处方列表中账户ID为空导致的保存问题 BUG#282
- 在处方保存流程中添加账户ID空值检查和自动补全逻辑
- 当账户ID为空时自动获取或创建患者自费账户
- 修复给药途径下拉框宽度显示问题
- 在药品单位后添加单位文本显示
- 统一设备费用项目的账户ID处理逻辑
- 确保新创建账户的名称字段不为空以避免数据库约束错误
2026-03-26 14:42:42 +08:00
927691a27b fix(prescription): 解决处方列表中药品拆零比计算问题
- 修复药品名称显示格式,添加拆零比信息显示
- 在用药天数输入框添加失焦和输入事件触发总量计算
- 调整单位选择下拉框样式间距
- 添加拆零比提示信息显示功能
- 重构总量计算逻辑,使用字典数据获取频次对应次数
- 修复拆零比计算算法,统一使用partPercent参数
- 添加调试日志便于问题排查
- 优化计算精度,将toFixed从6位改为2位
- 添加CSS样式支持拆零比提示显示
2026-03-25 18:17:06 +08:00
b14c19a887 fix(prescription): 解决处方列表中剂量变化后未重新计算总量的问题
- 在费率代码选择器上添加 change 事件监听器以触发总量计算
- 在持续时间输入框上添加 change 事件监听器以触发总量计算
- 移除注释的计算调用并添加正确的剂量变化后总量计算逻辑
- 修复 Bug #273 中单次剂量变化后总量未更新的问题

feat(surgery): 为手术管理界面中的手术单号添加链接功能

- 将手术单号列转换为可点击的链接组件
- 为手术单号添加 handleView 点击事件处理
- 扩展手术单号列宽度以改善显示效果
- 在手术排程界面中为手术单号同样添加链接功能
2026-03-25 16:28:40 +08:00
Ranyunqiao
20eb020071 145 绑定耗材门诊收费未显示无法进行收费 2026-03-25 14:33:23 +08:00
1f84a641ea fix(prescription): 修正医嘱撤回条件验证逻辑
- 修复了撤回功能允许已作废医嘱撤回的错误
- 现在只有状态为草稿(1)或已签发(2)的医嘱可以撤回
- 已作废(5)状态的医嘱不再支持撤回操作,只能通过删除处理
- 更新了撤回条件判断逻辑以确保数据一致性
2026-03-24 18:38:05 +08:00
c542b057b5 fix(doctorstation): 解决医嘱管理中的状态控制和数据处理问题
- 修复了已收费医嘱仍可被勾选的问题,添加了选择条件限制
- 实现了过滤已作废会诊医嘱的功能,防止无效数据展示
- 完善了医嘱删除逻辑,支持草稿、待签发和已作废状态的医嘱删除
- 修复了医嘱撤回功能中的大整数精度丢失问题
- 优化了签退医嘱的服务端处理逻辑,统一处理各种类型的医嘱作废
- 添加了详细的操作日志记录便于问题排查
- 修复了前端医嘱列表加载和操作过程中的数据类型转换问题
2026-03-24 18:27:30 +08:00
ee51ab2960 fix(doctorstation): 解决医嘱管理中不同类型医嘱的删除和撤回逻辑问题
- 分离不同状态的会诊医嘱,已作废医嘱直接从前端移除,其他状态医嘱调用后端API处理
- 修复普通医嘱删除逻辑,支持草稿和待签发状态的医嘱删除操作
- 宽松医嘱状态条件,支持statusEnum为1(草稿)或2(已签发)的医嘱进行撤回操作
- 修复前端adviceType与后端ItemType映射关系,药品类型值为1,耗材类型值为4,诊疗类型值为3
- 添加详细的调试日志用于追踪医嘱处理流程
- 优化医嘱分类逻辑,确保各类医嘱正确归类处理
2026-03-24 16:09:24 +08:00
1440cd45a0 fix(doctorstation): 解决会诊医嘱删除和撤回功能问题
- 引入cancelConsultation接口用于处理会诊医嘱作废
- 分离会诊医嘱和普通医嘱的删除逻辑
- 实现会诊医嘱的作废功能,支持从contentJson解析consultationId
- 添加会诊医嘱撤回功能,区分草稿状态和已提交状态
- 修复医嘱分类逻辑,将会诊类型值5归类到诊疗活动
- 添加调试日志用于跟踪医嘱处理流程
- 优化耗材医嘱删除逻辑,完善费用项清理
- 修复列表更新机制,确保作废医嘱及时从界面移除
2026-03-24 15:10:00 +08:00
c2b1d7d9d9 fix(doctorstation): 解决医嘱删除时的空指针异常和费用项处理问题
- 添加了对EMR详情中的contextJson字段进行空值检查,避免解析空值导致异常
- 优化了医嘱删除时的patientId和encounterId补全逻辑,支持从药品、耗材、诊疗医嘱记录中获取缺失信息
- 修复了删除不同类型医嘱时费用项过滤问题,确保只处理对应类型的费用项目
- 简化了费用项删除逻辑,移除冗余的查询验证步骤,直接执行删除操作
- 增强了日志记录,便于追踪医嘱删除过程中的关键操作和状态变化
2026-03-24 13:27:31 +08:00
9f6e94da4b fix(prescription): 解决处方列表中科室选择和数据删除问题
- 为科室选择下拉框添加最小宽度样式,确保内容完整显示
- 添加orgTreeLoading状态管理,避免重复加载组织机构树
- 在selectAdviceBase方法中添加异步处理和边界检查逻辑
- 实现诊疗项目默认使用患者就诊科室的逻辑验证
- 修复ensureOrgTreeLoaded方法中的加载状态管理
- 在处方删除操作中添加encounterId和patientId参数传递
- 优化组织机构树查找算法,提升性能表现
2026-03-24 12:48:07 +08:00
e1dc5c895f fix(prescription): 解决处方列表患者信息不完整导致保存失败的问题 BUG#220
- 在前端处方组件中添加患者信息完整性校验
- 当患者信息缺失时显示错误提示并阻止保存操作
- 确保处方项目正确携带patientId和encounterId信息
- 在后端服务中验证并自动补全缺失的patientId信息
- 当encounterId为空时返回相应错误提示
- 添加详细的日志记录以便问题追踪
2026-03-24 11:53:04 +08:00
251cf263ff fix(doctorstation): 解决诊疗项目执行科室缺失问题
- 在批量签发前验证诊疗项目的执行科室是否已设置
- 对于未选择执行科室的诊疗项目显示警告信息并阻止签发
- 当诊疗项目没有设置执行科室时默认使用患者的就诊科室
- 在后端服务中增加对诊疗项目执行科室的非空校验
- 确保诊疗项目签发流程中执行科室信息完整有效
2026-03-23 17:18:12 +08:00
4d2a321999 fix(doctorstation): 修复处方列表和医嘱处理中的多个问题
- 修复耗材和诊疗类型在setValue后总金额未正确计算的问题
- 修复耗材类型没有价格列表时的默认值处理逻辑
- 修复组套中positionId被医嘱库信息覆盖的问题
- 修复删除耗材医嘱时费用项不存在导致的异常
- 修复处方位置ID查询中组织ID为空时的回退逻辑
2026-03-23 16:29:17 +08:00
b5cf685b13 fix(medical-order): 解决医嘱编辑界面显示和验证问题 BUG#250,145
- 修复医嘱集合对话框中的条件判断逻辑,统一新增行的显示规则
- 更新医嘱集合对话框中剂量、给药途径、频次、天数等字段的显示逻辑
- 为西药类医嘱添加必填字段验证功能,包括剂量、给药途径、频次等
- 优化处方列表组件中编辑状态下的输入控件显示
- 修复处方详情数据合并逻辑,确保正确的字段优先级处理
- 解决多个库存管理模块中API请求数据格式错误的问题
- 修复医嘱库信息保存和数据回填的相关问题
2026-03-23 15:46:30 +08:00