关羽
13731c2373
Fix Bug #475 : 【住院医生工作站】开立检查申请单报错"请先配置当前时间段的执行科室"后,系统仍生成申请记录
...
将执行科室配置校验提前到数据库写入操作之前,避免校验失败时已写入RequestForm记录
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-11 00:24:08 +08:00
关羽
d63b00fd33
Fix Bug #481 : [住院护士站-医嘱执行] 药品"注射用头孢哌酮钠舒巴坦钠"库存充足,但执行医嘱时提示库存不足
...
在 checkExeMedInventory 方法中,原代码使用 findFirst() 只取第一个批次的库存
进行校验,导致同一库房多个批次的库存总量未被聚合计算。改为 collect(Collectors.toList())
收集所有匹配批次,然后用 Stream reduce 聚合总可用库存后再与需求量比较。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-11 00:22:42 +08:00
关羽
d866d898df
Fix Bug #506 : 门诊挂号:门诊诊前退号后,数据库多表状态值变更与 PRD 定义不符
...
在 syncAppointmentReturnStatus 方法中:
1. 退号时同步将 order_main.pay_status 设为 0(未支付),修复退费后 pay_status 仍为 1 的问题
2. cancel_reason 固定使用标准化值"门诊退号",确保与 PRD 定义一致
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-10 23:58:40 +08:00
关羽
e0a035204e
Fix Bug #487 : 【临床医嘱】诊疗类医嘱签发后,列表状态未实时刷新为"已签发"
...
诊疗类医嘱(handService)签发时仅依赖saveOrUpdate更新statusEnum,
但该方式对已有记录可能未正确将statusEnum更新为ACTIVE(2)。
修复:在handService方法末尾使用LambdaUpdateWrapper批量显式更新
所有已处理ServiceRequest的statusEnum为ACTIVE(签发)/DRAFT(保存),
与ServiceRequestServiceImpl中activeStatusEnum/updateDraftStatusBatch
等方法的实现模式保持一致。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-10 17:20:43 +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
赵云
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
Ranyunqiao
1c93227fad
484 [住院护士站] 医嘱执行报“库存不足”后,发药明细单仍错误产生待发药记录(数据一致性缺陷)
2026-05-09 14:21:54 +08:00
wangjian963
b48ca4fb4a
Fix: 修复bug:430 门诊医生站-检查申请:实现套餐金额变更与检查部位的金额/检查申请单开立的项目金额实时同步联动
...
bug400: 完诊时triage_queue_item.status更新增加回退查询容错
2026-05-09 13:23:58 +08:00
e35d3bc23e
移除了未使用的导入和注释掉的代码
2026-05-09 10:51:26 +08:00
bc4a6cc6af
bug402:住院医生站诊断录入:点击保存诊断后,列表出现重复记录且部分条目元数据缺失.
...
bug405: 住院医生工作站:临床医嘱保存成功后,医嘱条目仍处于可编辑状态(未锁定展示)
2026-05-09 10:39:17 +08:00
赵云
0333073b3a
Fix Bug #453 : 住院医生站-临床医嘱:开立医嘱时输入“级护理”检索结果显示“暂无数据”
2026-05-09 10:34:16 +08:00
Ranyunqiao
5b029270cf
需求111
2026-05-09 09:36:24 +08:00
wangjian963
3cbaec9d9a
Merge remote-tracking branch 'origin/develop' into develop
2026-05-08 17:46:51 +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
1fc7116f19
bug249:手术管理-》门诊手术安排:【新增手术安排】-》【查找】在门诊医生站已【删除】作废的手术申请单在查询界面还能查询出来.
...
bug426:门诊医生站-检查开立:已选择列表应支持树形展开,显示套餐明细(项目/数量/单价
2026-05-08 15:03:17 +08:00
赵云
69f3a5fca1
Fix Bug #454 : 门诊医生站-医嘱页签:删除待签发检验项目时错误触发执行科室校验
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-08 11:51:32 +08:00
9c3e603b94
Fix Bug #443 : 手术计费:点击签发耗材时异常报错
...
当手术计费弹窗中点击"签发"耗材时,因耗材的locationId(发放库房)为空导致后端异常。
在DoctorStationAdviceAppServiceImpl.handDevice方法中,当locationId为null时,使用登录用户的科室ID作为默认值,
与NurseBillingAppService中的处理方式保持一致。
2026-05-08 09:14:18 +08:00
b31c891bd1
调优:473- [住院医生工作站-检验申请] 列表页字段补全:新增“申请类型”、“标本类型”字段展示,处方号改申请单号
2026-05-07 16:08:13 +08:00
5be726b4bd
Fix: Bug-490 【住院医生站】待签发医嘱执行删除操作,提示“删除成功”但记录未从界面消失
2026-05-06 18:28:08 +08:00
Ranyunqiao
d3c4b612e4
fix: 修复多模块Bug及功能优化
...
修复药品汇总、医嘱套餐、转科管理、用药汇总、处方列表、用户管理等多个模块的问题
2026-05-06 10:42:57 +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
82ef66794b
住院护士站-》医嘱执行页面:勾选医嘱后点击“执行选中”按钮无反应,无法完成执行操作.
...
疾病报告管理-》报告卡管理:审核报卡界面内容与门诊医生站登记界面不一致
2026-04-30 13:33:03 +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
136235fe4c
fix: 修复#459检验申请报错仍生成记录
...
根因: saveRequestForm方法缺少@Transactional事务注解,
导致处理多个诊疗项目时,部分成功保存后发生异常,
已保存的数据无法回滚,造成脏数据。
修复: 在saveRequestForm方法上添加@Transactional(rollbackFor = Exception.class)注解,
确保整个操作原子性,异常时自动回滚。
2026-04-29 17:21:15 +08:00
guanyu
c2cac12b9f
fix: 修复#459检验申请报错仍生成记录
...
根因: RequestFormManageAppServiceImpl缺少@Transactional事务注解,
导致保存申请单过程中如果后续步骤报错,已保存的申请单不会回滚,
产生脏数据。
修复: 在类上添加@Transactional(rollbackFor = Exception.class)注解,
确保整个保存操作在同一个事务中,任何异常都会回滚所有数据库操作。
2026-04-29 17:20:13 +08:00
guanyu
e1ad4965eb
fix: 修复#457门诊收费手术医嘱不显示名称
...
根因: 手术收费项目的contextEnum错误设置为6(中成药),
导致门诊收费查询SQL无法正确匹配手术名称。
修复: 将手术收费项目的contextEnum改为3(项目),
因为手术属于诊疗项目类别。
2026-04-29 17:11:16 +08:00
guanyu
fd1880f1c8
fix: 修复#438门诊划价选择'西药'时无数据
...
根因: 门诊划价控制器(OutpatientPricingController)未接收adviceType参数,
导致前端传递的药品类型过滤条件无法生效。
修复: 在getAdviceBaseInfo方法中添加adviceType参数接收和处理,
确保西药(adviceType=1, categoryCode='2')能正确过滤。
2026-04-29 17:09:58 +08:00
wangjian963
d4d05267ad
feat(分诊队列): 实现分诊队列核心功能与日志记录
...
新增分诊队列相关服务接口与实现,包括队列管理、叫号操作和日志记录
添加DivLogService和CallRecordService用于记录分诊操作和叫号历史
在CurrentDayEncounterDto和TriageQueueItem中增加seqNo字段用于显示预约序号
实现分诊操作日志记录功能,包括添加队列、移除队列、叫号、完成等操作
新增CallType枚举定义叫号类型,并实现叫号记录功能
优化队列状态映射逻辑,支持更多状态类型显示
2026-04-29 17:05:17 +08:00
7fabad14f9
将InpatientMedicalRecordHomePageCollectionDto 中的 @Data 注解替换为 @Getter 和 @Setter 注解;
2026-04-29 16:29:22 +08:00
guanyu
9b8655748e
fix: Bug #449/#450 门诊医生站接诊/数据加载失败 - 修复TodayOutpatientServiceImpl中receivePatient/completeVisit/cancelVisit方法空壳问题,改为调用DoctorStationMainAppService正确业务逻辑
2026-04-28 12:07:38 +08:00
305ab15436
test: 增强Playwright E2E测试方案 - 新增手术计费/医生站/并发测试用例
...
- 新增页面对象: SurgeryBillingPage, DoctorStationPage
- 新增测试用例: 手术计费防重复(#437 ), 签发耗材验证(#443 ), 并发操作测试
- 增强登录测试: 多场景覆盖
- 完善测试数据工具: 支持多角色用户配置
- 清理冗余备份文件
2026-04-25 22:04:36 +08:00
guanyu
7d1e50d045
fix: 修复#443手术计费签发耗材报错
...
根因: handleAddDeviceBilling方法中对locationId的验证过于严格,
当前端未传递locationId时直接抛出ServiceException导致签发失败。
修复: 将严格验证改为预处理设置默认值,
当advice.getLocationId()为null时, 使用SecurityUtils.getLoginUser().getOrgId()作为默认位置ID。
2026-04-25 21:05:05 +08:00
guanyu
d79690a371
fix: 修复#442手术计费删除待签发耗材报错
...
根因: handleDel方法中使用iProcedureService.listByIds(requestIds)错误,
requestIds是WOR_DEVICE_REQUEST/WOR_SERVICE_REQUEST表主键,
不是CLI_PROCEDURE表主键。
修复: 改用iProcedureService.getProcedureRecords(requestIds, serviceTable)
通过request_id字段正确关联执行记录。
2026-04-25 20:02:11 +08:00
wangjian963
957d426042
Merge remote-tracking branch 'origin/develop' into develop
2026-04-24 16:54:02 +08:00
wangjian963
76094d6eff
fix: 修复 Bug #388 #409 #410
...
会诊意见格式化存储,确保参加医师和意见完整回显
预约签到挂号时修正 serviceTypeId 为预约类型而非挂号类型
分诊队列显示诊室而非科室,区分预约/挂号类型
2026-04-24 16:52:33 +08:00
guanyu
dc7e3c1de8
fix: Bug #432 门诊手术安排新增保存报错 - 修复登录用户null校验缺失导致NPE
2026-04-24 15:17:17 +08:00
1242d41499
fix: Bug #418 #419 #421 #424 检查申请发往科室未自动赋值/下拉无数据 - 修复科室数据源接口问题
...
主要修复:
- 4个申请单组件统一使用getDepartmentList()替代getOrgList()
- 使用/app-common/department-list接口替代分页接口,确保科室树完整加载
- 添加findTreeItem递归查找函数,支持树形结构科室匹配
- 优化分页大小:pageSize从10000降至500,提升加载性能
- #415 后端添加价格非负验证,防止单价显示负数
涉及文件:
- laboratoryTests.vue/medicalExaminations.vue/bloodTransfusion.vue/surgery.vue
- DoctorStationAdviceAppServiceImpl.java
2026-04-24 15:15:32 +08:00
guanyu
d525a50f52
fix: Bug #414 检验项目列表加载缓慢 - 优化分页查询性能
...
- 限制分页大小默认20,最大50,防止一次性加载过多数据
- 修复pageSize参数验证逻辑错误(之前编辑导致语法错误)
- 使用MyBatis-Plus优化COUNT查询(optimizeCountSql=true)
- 规范化pageNo参数默认值为1
- 同步保留Bug #415价格非负校验
2026-04-24 08:37:16 +08:00
guanyu
5d97975e7f
fix: Bug #415 项目单价显示负数问题 - 添加价格非负验证
2026-04-23 23:13:51 +08:00
guanyu
03e89e0577
fix: Bug #418 #419 #421 #424 检查申请发往科室未自动赋值/下拉无数据
...
- ExamApplyController: 使用前端传入的performDeptCode查询科室ID
- 优先使用执行科室代码,查询不到时使用当前用户科室
- 两处ServiceRequest创建位置均已修复
【guanyu】
2026-04-23 22:24:46 +08:00
988c17cd30
fix: Bug #395 修复撤销审核前端调用与Controller重复映射问题
...
- 修复reportManagementController中重复的/revokeAudit映射
- 前端api.js增加revokeAuditCard接口
- handleRevokeAudit改用专用撤销审核API并传status=1
fix: Bug #398/#399 号源时间过滤不应影响已预约/已取号记录
- ScheduleSlotMapper.xml时间过滤仅应用于未预约(0)状态
- 已预约(1)、已取号(3)、已退号(5)、已退单(4)记录不受时间过滤
2026-04-23 18:09:01 +08:00
08ee473671
374 【诊疗目录】编辑项目时“所属科室”字段显示原始ID而非名称,且修改回显逻辑异常
2026-04-23 17:28:33 +08:00
关羽
6962a8b1c1
fix: Bug #395 #398 #399 门诊医生站功能修复
...
- #395 : 传染病报告管理添加撤销审核功能入口
- #398 : 修复号源超时后错误过滤问题,改进时间比较逻辑
- #399 : 优化已取号状态查询过滤逻辑
【guanyu】
2026-04-23 17:19:46 +08:00
wangjian963
95e379e5a5
fix: Bug #407 #385 检查申请医嘱分类错误及预结算账户验证修复
...
主要修复:
- 检查申请医嘱类型正确设置为诊疗(3),避免被错误归类为药品
- 检查申请收费项获取真实自费账户,预结算验证accountId必须有效存在
- 签发时补充诊疗费用项诊断关联信息变更模块:
- ExamApplyController:使用ItemType枚举,获取真实账户替代占位值0
-DoctorStationAdviceAppService:按枚举标准分类医嘱,验证accountId有效性
- IChargeBillService:productId=0时从ServiceRequest.contentJson获取项目名称
- PaymentRecService:预结算自动修复账户不存在的历史数据
- Mapper:排除衍生执行记录,productId=0时补充查询逻辑
- ServiceRequest实体:activityId字段添加ALWAYS插入策略
2026-04-23 17:17:04 +08:00
关羽
acc59ab87c
fix: Bug #407 门诊医生站:检查申请医嘱分类错误致数据库报错
...
- ExamApplyController创建ServiceRequest时缺少categoryEnum字段设置
- 在两处ServiceRequest创建位置添加setCategoryEnum(EncounterClass.AMB.getValue())
- 添加EncounterClass导入
- 解决数据库category_enum字段NOT NULL约束报错
2026-04-23 09:12:29 +08:00
78bcdef7fd
fix: resolve #407 examination request wrong advice type classification
...
Bug #407 : 检查申请同步到医嘱列表时,医嘱类型被错误标注为中成药而非诊疗
Root cause: ServiceRequest.categoryEnum was not set when creating service requests from examination applications, causing the system to misclassify them as Chinese medicine (adviceType=2) instead of medical treatment (adviceType=3)
Fix: Added serviceRequest.setCategoryEnum(3) in both POST and PUT methods of ExamApplyController to correctly classify examination requests as medical treatment type
Impact: Examination requests will now display correct type (诊疗/medical treatment) in the advice list and won't trigger database errors when signing
2026-04-23 09:09:09 +08:00
关羽
e2808fd6b9
fix: Bug #403 住院医生工作站:应用医嘱组套后药品明细字段丢失
...
- SQL查询getGroupPackageDetail增加therapy_enum字段
- OrdersGroupPackageDetailQueryDto增加therapyEnum属性
- 修复组套明细保存时therapyEnum已写入但查询时丢失的问题
2026-04-22 17:22:49 +08:00
关羽
cd54a3903c
fix: Bug #402 住院医生站诊断录入:保存后列表出现重复记录且元数据缺失
...
- 恢复 saveDoctorDiagnosis 和 saveDoctorDiagnosisNew 方法中被注释掉的
deleteEncounterDiagnosisInfos 调用
- 确保保存诊断前先清除旧记录,避免重复插入
- 元数据在后续 saveOrUpdate 中正确设置
2026-04-22 17:13:46 +08:00