关羽
2c1d0dbcf9
Fix Bug #467 : [住院医生工作站-检验申请] 列表显示信息不规范:标题术语错误且单据名称未展示具体检验项目
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 22:10:34 +08:00
赵云
2555a2f5fd
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 22:10:34 +08:00
赵云
8963f401dd
Fix Bug #451 : 门诊医生站-提交新增手术申请后列表刷新失败
...
根因:子组件 submitForm 成功后同时调用 getList() 和 emit('saved'),
父组件 @saved 也调用 getList(),导致两个并发请求产生竞态条件;
若后端事务尚未完全提交,getList() 查询可能失败并弹出 msgError。
修复:
1. 子组件移除直接 getList() 调用,统一由父组件 @saved 刷新
2. 父组件添加 500ms 延迟确保后端事务已提交
3. getList() 错误处理改为 console.warn 优雅降级,避免阻断弹窗
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 20:20:10 +08:00
荀彧
1d3d3b3b81
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:20:10 +08:00
荀彧
7b92851ec7
Fix Bug #445 : 门诊手术安排-已生成医嘱的计费项目未从待生成列表剔除
...
根因:submit后本地过滤逻辑中submittedKeys的字段名不匹配
- originalMedicine中的名称字段是adviceName而非medicineName,导致
名称+规格+数量的匹配键无法正确匹配已提交项
- 修复:增加chargeItemId作为首选匹配标识(后端唯一ID最可靠),
名称匹配增加adviceName字段兜底
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 20:13:35 +08:00
荀彧
d0d14460f6
Fix Bug #444 : 门诊手术医嘱界面"已引用计费药品"列表未正常显示药品名称
...
根因分析:
1. 前端 handleMedicalAdvice 调用 getPrescriptionList 时只传 encounterId,
未传 generateSourceEnum=6 和 sourceBillNo(手术单号),
后端默认查询 generateSourceEnum=1(医生开立),漏掉了手术计费创建的药品记录
2. 后端 getRequestBaseInfo 在 sourceBillNo 存在时会过滤掉药品(adviceType=1),
进一步阻断了手术计费药品的返回
修复方案:
- 前端:handleMedicalAdvice 传参 (visitId, 6, operCode) 匹配手术计费记录
- 后端:移除手术计费场景的药品过滤,前端各组件已按 adviceType 自行过滤
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 20:09:58 +08:00
关羽
7d3a16ce54
Fix Bug #452 : 领用出库模块选择药品时提示"仓库数量为0,无法调用",与实际库存数据不符
...
严格批号查询返回记录但 orgQuantity=0 时,原代码直接调用 applyFromDto 并弹出警告,
未回退到非严格查询(不含 lotNumber)获取同仓库其他有库存的批号。
修复:在 applyFromDto 之前检查 orgQuantity > 0,数量为0时回退到非严格查询。
2026-05-14 20:09:58 +08:00
荀彧
4b852408b5
Fix Bug #426 : 门诊医生站-检查开立:已选择列表应支持树形展开,显示套餐明细(项目/数量/单价)
...
修复 loadMethodPackageDetails 函数中套餐明细 API 地址错误(/system/package/ → /system/check-type/package/),导致套餐明细加载失败返回 404
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 19:06:07 +08:00
关羽
aebdcc8d75
Fix Bug #443 : 手术计费:点击"签发"耗材时异常报错
...
根因:签发耗材时 handDevice 方法会重复调用 saveOrUpdate 更新已有的 DeviceRequest 记录,
仅设置了部分字段(可能为 null),导致关键字段 performLocation(发放库房)被覆盖为空。
随后 handleDeviceDispense 创建 DeviceDispense 时 locationId 为 null,触发报错。
修复:签发操作(SIGN_ADVICE)跳过 handDevice 处理。因为耗材请求在保存时已创建完成,
签发只需更新状态(下方批量更新逻辑已处理),无需重新走 insert/update 流程。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 19:06:07 +08:00
赵云
4e5f46add9
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 19:06:07 +08:00
赵云
a9dd84d331
Fix Bug #402 : 住院医生站诊断录入:点击保存诊断后,列表出现重复记录且部分条目元数据缺失
...
根因:后端 saveDoctorDiagnosis 先删除所有 tcm_flag=0 的记录,再用旧 encounterDiagnosisId
调用 saveOrUpdate,由于记录已删除,UPDATE 失败后 fallback 到 INSERT 导致重复记录。
修复:
1. 后端:不再设置 encounterDiagnosisId,确保 saveOrUpdate 始终执行 INSERT
2. 前端:getList() 后对诊断列表按 ybNo/name 去重,防止重复显示
3. 前端:保存前补全 diagnosisDoctor 和 diagnosisTime 元数据
4. 前端:修复 getTcmDiagnosis 的空值安全访问(res.data?.illness?.length)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 18:13:11 +08:00
a2fbdc4a8d
bug499 【住院医生工作站-检查申请】检查申请列表缺失查询过滤功能,不符合临床高效检索要求 数据库语句报错修复
2026-05-14 18:13:11 +08:00
荀彧
abb2fb36fc
Fix Bug #428 : 门诊医生站-检查申请:未实现分类联动检查方法及套餐明细展示与勾选逻辑
...
1. handleMethodSelect 中新增/更新已选项时,设置 expanded=true 使套餐明细自动展开
2. toggleItemExpand 中改用 packageDetailsDisplay/carrier.packageDetails 判断是否已加载明细
(原代码检查非响应式的 item.packageDetails,导致重复加载或加载判断失效)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 18:13:11 +08:00
关羽
a5f6072bbe
Fix Bug #408 : 门诊医生站:检查标签页:选中检查申请记录后,“检查明细”标签页显示“暂无数据”
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 18:13:11 +08:00
关羽
dee2d9742d
Fix Bug #412 : 门诊医生站:传染病报告卡保存失败,提示报错
...
BeanUtils.copyProperties 不支持 DTO 中 LocalDate/LocalDateTime 到实体中 java.util.Date 的类型转换,导致 onsetDate、diagDate、reportDate、deathDate 等日期字段在拷贝后为 null。新增手动类型转换逻辑确保日期字段正确保存。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 18:13:11 +08:00
3a61d18928
bug516
2026-05-14 18:13:11 +08:00
关羽
8fa188badf
Fix Bug #523 : [住院医生站-临床医嘱] 待保存医嘱总金额显示缺失且编辑态单位选择框变为数字控件
...
- 总金额列显示横杠: 在 setValue 中为药品类医嘱初始化 totalPrice(有 quantity 时按单价计算,否则为 '0'),确保待保存医嘱的总金额列能正常回显
- 单位选择框变数字控件: setValue 中将 unitCode/doseUnitCode/minUnitCode 统一转为 String 类型,避免 el-select 因值类型不匹配而渲染异常
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 18:13:11 +08:00
关羽
ec6567baeb
Fix Bug #516 : [住院医生站-临床医嘱-检验申请] 检验申请单手动填写的"发往科室"与生成的医嘱执行科室不一致
...
根因:后端 RequestFormManageAppServiceImpl.saveRequestForm() 完全忽略了前端传入的 positionId(用户手动选择的发往科室),
始终从 activityOrganizationConfig 配置表中查询执行科室,导致用户手动选择的科室被默认配置覆盖。
修复:在收集执行科室时优先使用 activitySaveDto.getPositionId()(前端传入的用户选择),
仅在前端未传入时 fallback 到配置表中的执行科室。
**后端开发重点**:优先搜索 Java/Spring 后端代码。
关键词:Controller, Service, Mapper, API, 接口, 数据查询
搜索目录:openhis-server-new/src/, his-repo/src/
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 18:13:11 +08:00
关羽
02bfa4ec43
Fix Bug #517 : [库房管理-领用管理] 业务逻辑校验缺失:允许保存并提交领用数量大于库存数量(零库存领用)的单据
...
在 RequisitionIssueAppServiceImpl.addOrEditIssueReceipt() 中新增库存校验逻辑,
批量保存时校验领用数量是否超过源仓库实际库存,不足时抛出 ServiceException 阻断保存。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 18:13:11 +08:00
关羽
26f7211eb0
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 18:13:11 +08:00
赵云
3e53cb7e67
Fix Bug #522 : [住院护士站-三测单] 体征录入点击保存后缺乏执行反馈且窗口异常自动关闭
...
- 添加保存成功提示(proxy.msgSuccess)
- 移除保存成功后自动关闭弹窗的逻辑(closeDialog),保持弹窗开启方便护士核对历史记录和继续录入
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 18:13:11 +08:00
赵云
9f8322397b
Fix Bug #518 : [门诊医生工作站-诊断-传染病报卡] 报卡页面缺失"性别、出生日期、实足年龄"核心字段
...
根因:infectiousDiseaseReportDialog.vue 读取患者性别时使用了错误的字段名
patientInfo.sex || patientInfo.genderName,但门诊医生站API返回的字段是
genderEnum(数字:1=男,2=女)和genderEnum_enumText(文本:男/女)。
新增 normalizeSexFromPatientInfo 函数,兼容HIS系统所有可能的性别字段命名。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 18:13:11 +08:00
关羽
ea89e036b9
Fix Bug #508 : [住院护士站-住院记账-补费] 点击"划价组套"按钮无任何响应,无法选择组套项目
...
根因:FeeDialog 内嵌套的"划价组套选择" el-dialog 使用了 append-to-body 但未设置 z-index。
在 Element Plus 中,外层补费弹窗 z-index 约 2000,遮罩层 z-index 2001。内层组套弹窗虽通过
append-to-body 挂载到 body,但其 z-index 2002 可能被外层遮罩遮挡(渲染时序问题),导致弹窗
实际渲染但不可见,表现为"无任何响应"。
修复:为内层 el-dialog 添加 :z-index="3000",确保其渲染在外层弹窗遮罩之上。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 18:13:11 +08:00
关羽
0f44026ac4
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 18:13:11 +08:00
9641412fae
修复bug
2026-05-14 18:13:11 +08:00
关羽
a52f067ac9
Fix Bug #510 : [住院医生工作站] 进入页面报错
...
修复模板中的 Markdown 代码块标记污染(```vue/``` 作为文本渲染),
并恢复被意外移除的 SummaryDrugApplication 组件导入及 ref 声明,
解决页面加载时组件未定义错误和页面渲染异常。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 18:13:11 +08:00
赵云
868d59c3ec
Fix Bug #494 : 住院医生工作站-检查申请:申请单名称显示为通用名称,未展示具体检查项目名称
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 18:13:11 +08:00
关羽
f03dbef222
Fix Bug #507 : [住院护士站-住院记账-补费] 项目单位未获取、执行科室显示内码且缺乏默认/模糊搜索逻辑
...
1. FeeDialog.vue - getUnitCodeOptions 修复:当 unitCode/minUnitCode 为 null 但对应字典文本存在时,使用文本作为选项值兜底,确保单位下拉框不显示为空
2. newfeeDetailQuery.vue - getLocationInfo 修复:从单一 records[0].children 解析改为支持树形/扁平/数组多种响应结构,并添加 catch 兜底置空数组
3. newfeeDetailQuery.vue - selectOrg 修复:查找失败时返回 '-' 而非显示原始 orgId 内码,空值同样返回 '-'
**后端开发重点**:优先搜索 Java/Spring 后端代码。
关键词:Controller, Service, Mapper, API, 接口, 数据查询
搜索目录:openhis-server-new/src/, his-repo/src/
2026-05-14 18:13:11 +08:00
荀彧
186a6039cd
Fix Bug #509 : [门诊医生站-手术申请] 提交申请后列表未实时刷新展示数据
...
- 提交成功后直接调用 getList() 刷新手术申请列表,不再仅依赖父组件的 emit('saved') 事件
- 修复原因:父组件通过 surgeryRef?.getList() 可选链调用可能因 ref 未就绪或时序问题导致静默跳过
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 15:11:31 +08:00
荀彧
1dca0cf988
Fix Bug #477 : 住院医生工作站-检查申请详情弹窗中"发往科室"字段显示为短横线
...
根因: examineApplication.vue 的 handlePrint 函数调用了未定义的 recursionFun 方法
(ReferenceError),handleViewDetail 使用 findTreeItem 但该方法对后端返回的扁平
科室列表解析不够健壮。与 testApplication.vue 对比后,发现缺少 recursionFun 函数定义。
修复策略: 新增 recursionFun 函数(与 testApplication.vue 一致实现),并在
handleViewDetail 和 handlePrint 中统一使用该方法将 targetDepartment ID 转换为科室名称。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 15:11:31 +08:00
关羽
f4aa45be89
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:19 +08:00
关羽
80a32e23bf
Fix Bug #495 : 【医嘱闭环】已校对医嘱无法流转至"医嘱执行"界面,导致费用无法提交执行
...
Root cause: In getInpatientAdvicePage(), encounterIds and exeStatus were nullified
before buildQueryWrapper to prevent auto-generated SQL conditions, but requestStatus
was NOT nullified. HisQueryUtils.buildQueryWrapper uses reflection to add eq conditions
for ALL non-null fields, so requestStatus: 3 became an extra SQL filter
"AND request_status = 3" that was not intended for the 医嘱执行 page.
The 医嘱执行 page uses exeStatus (not requestStatus) for execution state filtering.
The SQL already handles verified/unverified order filtering via a CASE condition
on status_enum and performer_check_id. The requestStatus parameter is only meant
for frontend tab selection and should not be used as a SQL filter here.
Fix: Nullify requestStatus before buildQueryWrapper, same as encounterIds/exeStatus.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 14:26:19 +08:00
赵云
2be66eff5d
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:26 +08:00
关羽
41bea23116
Fix Bug #469 : [住院医生工作站-检验申请] 完善【操作】列临床业务逻辑:支持按状态动态切换修改、删除、撤回等功能
...
1. 修复删除/撤回接口参数错误:前端传prescriptionNo但后端期望requestFormId
2. 修改handleEdit从占位提示改为打开编辑弹窗,复用laboratoryTests组件并传入editData
3. laboratoryTests新增editData prop和编辑模式:支持descJson表单回显、已选项目回填、提交时携带requestFormId
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 13:12:28 +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
赵云
ae50a7042e
Fix Bug #468 : [住院医生工作站-检验申请] 列表页新增【单据状态】列
...
列表页增加单据状态列(位于申请单号之后),使用 el-tag 显示状态:
- applyStatus=0 显示"待开立"(灰色标签)
- applyStatus=1 显示"已开立"(绿色标签)
- 已收费且已执行显示"已执行"(绿色标签)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 13:06:59 +08:00
赵云
9b1ac64cd6
Fix Bug #464 : [目录管理-诊疗目录] 新增项目时"零售价"未与"诊疗子项"合计总价自动同步
...
根因:calculateTotalPrice中form.value.retailPrice赋值被nextTick包裹,
在多调用方(watcher/selectRow/addItem)并发时产生竞态,导致零售价更新丢失
修复:移除nextTick,改为同步赋值确保零售价实时同步总价
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 13:03:46 +08:00
Ranyunqiao
6367654ada
476 住院医生工作-检查申请单界面缺失核心临床字段(紧急程度、过敏史、检查目的等)
2026-05-14 12:56:04 +08:00
关羽
360256e589
Fix Bug #465 : [住院医生工作站-检验申请] 检验项目选择列表被限制为500项,导致医生无法检索并开立其余800多项
...
问题根因:
- 前端使用 pageSize=500 分页拉取数据,el-transfer 组件客户端过滤在 1400+ 条数据下存在渲染和搜索性能问题
- 数据库实际有 1400 项已启用的检验类诊疗项目,但仅加载了 500 项
修复方案:
1. 改用 pageSize=9999 一次性拉取全部数据,消除分页导致的 500 项截断
2. 新增顶部搜索框,支持按项目名称/拼音首拼/业务编号实时过滤
3. 使用 computed 属性动态生成 transfer 组件数据,搜索时自动过滤
4. 显示总数统计(未搜索时显示总数,搜索时显示匹配数/总数)
5. 移除不再需要的 applicationList 变量引用和 onBeforeMount 空调用
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 12:23:13 +08:00
荀彧
feb033b857
Fix Bug #462 : [目录管理-诊疗目录] 编辑弹窗中"所需标本"下拉框数据加载失败,显示为"无数据" Fix: selectDictDataByType方法移除Redis缓存读取逻辑,直接查询数据库避免缓存为空数据导致前端下拉框无数据
2026-05-14 12:15:47 +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
e68be3be79
Merge remote-tracking branch 'origin/develop' into develop
2026-05-14 11:47:41 +08:00
Ranyunqiao
eab0119c19
bug362 413 498 504 507
2026-05-14 11:47:18 +08:00
关羽
3ad9ff85d4
Fix Bug #480 : [住院护士站-医嘱执行] 非耗材类医嘱执行报"耗材库存"错误且全选逻辑联动异常
...
根因分析:
1. lotNumberMatch 调用传入了所有在科患者的 encounterId(来自 patientInfoList),
而非仅选中医嘱对应的 encounterId。若其他患者存在 PREPARATION 状态的耗材发放记录
但无匹配库存,API 返回"发耗材单生成失败,请检查耗材库存"错误
2. handleExecute 缺少 .catch() 处理器,API 调用失败时 UI 状态不一致,
导致列表刷新后全选联动异常
修复策略:
- lotNumberMatch 仅传入选中医嘱对应的 encounterId(去重过滤),避免无关患者耗材记录干扰
- 新增空选择校验,未选中医嘱时提示用户而非直接调接口
- 为 handleExecute 添加 .catch() 处理器,API 失败时给出友好提示
- lotNumberMatch 增加 .then() 检查返回码,确保 error 被正确捕获
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 11:31:30 +08:00
关羽
ab2f580d60
Fix Bug #453 : 住院医生站-临床医嘱:开立医嘱时输入"级护理"检索结果显示"暂无数据"
...
根因分析:
1. adviceTypes 参数曾被序列化为 URL 编码字符串 '1%2C2%2C3%2C6',后端无法解析为 List<Integer>,
导致 SQL 查询返回空结果。Bug #486 已修复此问题(改为数组格式)。
2. 补充修复:当行未选择医嘱类型时(adviceType='' 或 undefined),parseInt('') 返回 NaN,
导致 adviceTypes=[NaN],所有子查询被跳过。改为传入空字符串,让 refresh 函数根据
searchKey 自动选择跨类型搜索。
3. 增加 catch 块错误日志,避免 API 失败时静默吞掉错误。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 11:26:10 +08:00
荀彧
665d4ae47a
Fix Bug #451 : 门诊医生站-提交新增手术申请后列表刷新失败
...
submitForm 提交成功后同时触发 emit('saved') 和 proxy.$nextTick(getList()),
导致两次并发调用 getList(),其中一次失败弹出"数据加载失败"错误提示。
移除冗余的 nextTick(getList()) 调用,由父组件 @saved 事件统一负责刷新。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 11:20:30 +08:00
关羽
d43a06c343
Fix Bug #475 : 【住院医生工作站】开立检查申请单报错后仍生成申请记录
...
根因:saveRequestForm方法的预校验循环和主循环分别独立查询activityOrganizationConfig获取positionId,
存在数据不一致风险——预校验通过但主循环中positionId查找失败时,RequestForm已被保存导致脏数据。
修复:将预校验循环中查到的positionId缓存到Map中,主循环直接使用缓存结果,
避免重复查询导致的数据不一致问题。确保所有校验通过后再执行任何数据库操作。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-14 11:15:20 +08:00