a3378b7fbf
fix: EncounterDiagnosisMapper selectOne() LIMIT 1 防重复数据报错
...
根因:getEncounterDiagnosisByEncounterConDefId 使用 selectOne() 查询,
但 SQL 可能返回多条(同就诊同诊断定义多条记录),导致 MyBatis 抛出
'Expected one result but found 2' 异常。
修复:SQL 增加 LIMIT 1,确保最多返回一条。
2026-05-29 15:04:03 +08:00
73df3699ec
fix( #613 ): 补充 DB 迁移 + ServiceRequest 实际写入退回原因
...
问题:
- med_medication_request 表无 back_reason 列 → Entity 和 Service 写了但 DB 报错
- ServiceRequestServiceImpl.updateDraftStatus 接收 backReason 参数但不使用
修复:
- 新增迁移脚本 sql/迁移记录-DB变更记录/20260529_fix_BUG#613_add_column_back_reason.sql
- 4 个 schema (histest1/histest/hisdev/hisprd) 已执行 ALTER TABLE ADD COLUMN
- ServiceRequestServiceImpl.updateDraftStatus: 新增 setReasonText(backReason)
2026-05-29 14:39:19 +08:00
10beef693b
fix( #613 ): 修复编译错误 — updateCancelledStatusBatch 误用 backReason 参数 + 所有调用方补齐 4 参
...
根因:
- Bug #613 修复时 updateCancelledStatusBatch 复制了 backReason 逻辑但该方法没有该参数
- IServiceRequestService.updateDraftStatus 接口增加了 backReason 参数,但 5 个调用方未更新
- 旧 pipeline(未重启)的 mvn compile 质量门禁未生效
修复:
- MedicationRequestServiceImpl: 移除 updateCancelledStatusBatch 中的 backReason 引用
- ServiceRequestServiceImpl: 补齐 updateDraftStatus 的 backReason 参数
- 5 个调用方补齐第 4 个参数 (null)
- 旧 pipeline 已修复(二进制 + systemd 重启)
2026-05-29 10:44:49 +08:00
7c5699bfb8
fix( #613 ): 请修复 Bug #613:【医嘱校对/住院医生工作站】医嘱退回流程缺失反馈机制:护士端退回无原因录入,医生端缺失原因显示
...
根因:
- 1. ❌ 录入(护士端无退回原因输入弹窗)
- 2. ❌ 保存(后端不保存退回原因)
- 3. ❌ 查询(Mapper XML 不查询退回原因字段)
- 4. ❌ 展示(医生端不显示退回原因)
- 5. ❌ ServiceRequest 已有 `reasonText` 字段但未使用
- 6. ❌ MedicationRequest 无退回原因字段
修复:
- Step 1**: 添加 `backReason` 到后端 DTO
2026-05-29 10:02:24 +08:00
fbdcd815bd
feat: Bug #597 - 住院医嘱增加备注字段
2026-05-28 11:00:41 +08:00
9db5ced4e3
Revert "Fix Bug #550 : AI修复"
...
This reverts commit 16c42ca108 .
2026-05-27 08:59:07 +08:00
16c42ca108
Fix Bug #550 : AI修复
2026-05-27 03:00:08 +08:00
Ranyunqiao
5132de3680
bug 445 497 565
2026-05-25 15:49:49 +08:00
b925d6ba17
Fix Bug #557 : 编辑手术安排时间字段保存报日期格式解析错误 — 根因:OpSchedule 实体中 admissionTime/entryTime/startTime/endTime/anesStart/anesEnd 六个时间字段的 @JsonFormat 使用 yyyy-MM-dd'T'HH:mm:ss(ISO T分隔符),而前端 el-date-picker 以 value-format="YYYY-MM-DD HH:mm:ss" 发送空格分隔格式,Jackson 反序列化失败;修复:统一改为 @JsonFormat + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-20 09:34:10 +08:00
c75b8038ec
Fix Bug #547 : 根因+修复方案摘要
2026-05-19 14:02:45 +08:00
wangjian963
cbad13bddc
Fix: 门诊预约挂号→签到→退号 slot/pool 状态流转对齐需求
...
- 枚举重排: SlotStatus LOCKED=4→2, CANCELLED=2→4,匹配需求编号
- 预约: lockSlotForBooking 写入 LOCKED(2) 替代 BOOKED(1),pool locked_num+1 原子递增
- 签到: LOCKED(2)→BOOKED(1) 替代 CHECKED_IN(3),加前置状态校验
- 退号: 加 BOOKED(1) 前置校验
- 池计数: refreshPoolStats booked_num=COUNT(1), locked_num=COUNT(2)
- SQL 状态值全部由 SlotStatus 枚举传入,消除硬编码
- 查询/显示: 加 locked 筛选分支,BOOKED→已取号, LOCKED→已锁定
- 前端常量同步,签到列表查询 book→locked
2026-05-19 12:12:16 +08:00
e13e328627
Fix Bug #547 : 执行科室配置保存时时间冲突检查未限定当前科室,导致误报"与未知科室时间冲突" — getOrgLocListByOrgIdAndActivityDefinitionId 方法签名仅含 activityDefinitionId 参数,实际 SQL 查询缺少 organizationId 过滤,时间重叠校验跨科室比对,已修复接口签名和实现同时过滤 activityDefinitionId 和 organizationId
2026-05-18 21:08:14 +08:00
9cac8c3e41
Fix Bug #445 : 根因+修复方案摘要
2026-05-18 21:05:03 +08:00
赵云
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
关羽
0adfd6dafb
Fix Bug #519 : 保存诊断时误删cli_condition导致传染病报卡关联断裂
...
根因:deleteEncounterDiagnosisInfos() 调用 conditionMapper.deleteByEncounterId() 删除了
cli_condition 记录,而 infectious_card.diag_id 指向的就是 cli_condition.id。
数据库验证:infectious_card 表中 10 条记录仅 1 条能 JOIN 到 cli_condition,
其余 9 条的 condition 已被级联删除,导致再次保存诊断时 hasInfectiousReport=0,
前端未过滤已报卡诊断,重复弹出报卡界面。
修复:移除 conditionMapper.deleteByEncounterId(encounterId),仅删除就诊诊断关联记录。
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-17 13:16:02 +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
Ranyunqiao
1b159cdfab
429 433 438 476 477 478
2026-05-12 12:21:25 +08:00
wangjian963
df6c5f3824
506 门诊挂号:门诊诊前退号后,数据库多表状态值变更与 PRD 定义不符
...
CommonConstants.AppointmentOrderStatus 常量 → OrderStatus 枚举重构
新增枚举:0=患者取消 / 1=有效 / 2=系统取消 / 3=已完成
退号流程加乐观锁防并发,slot 状态改回待约,退号日志独立事务 修复 XML 中 Integer 比较用字符串的问题
Bug #411 — 诊室过滤栏从科室下拉框改为诊室按钮组
2026-05-11 13:51:47 +08:00
9c3e603b94
Fix Bug #443 : 手术计费:点击签发耗材时异常报错
...
当手术计费弹窗中点击"签发"耗材时,因耗材的locationId(发放库房)为空导致后端异常。
在DoctorStationAdviceAppServiceImpl.handDevice方法中,当locationId为null时,使用登录用户的科室ID作为默认值,
与NurseBillingAppService中的处理方式保持一致。
2026-05-08 09:14:18 +08:00
Ranyunqiao
d3c4b612e4
fix: 修复多模块Bug及功能优化
...
修复药品汇总、医嘱套餐、转科管理、用药汇总、处方列表、用户管理等多个模块的问题
2026-05-06 10:42:57 +08:00
wangjian963
d4d05267ad
feat(分诊队列): 实现分诊队列核心功能与日志记录
...
新增分诊队列相关服务接口与实现,包括队列管理、叫号操作和日志记录
添加DivLogService和CallRecordService用于记录分诊操作和叫号历史
在CurrentDayEncounterDto和TriageQueueItem中增加seqNo字段用于显示预约序号
实现分诊操作日志记录功能,包括添加队列、移除队列、叫号、完成等操作
新增CallType枚举定义叫号类型,并实现叫号记录功能
优化队列状态映射逻辑,支持更多状态类型显示
2026-04-29 17:05:17 +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
关羽
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
937b4508ae
374 【诊疗目录】编辑项目时“所属科室”字段显示原始ID而非名称,且修改回显逻辑异常
2026-04-23 16:48:55 +08:00
Ranyunqiao
88d9e19cc5
401
...
门诊完诊审计日志错误:div_log 表中 pool_id 与 slot_id 存值与设计规范不符
400
门诊医生站点击【完诊】后,triage_queue_item 表 status 字段未按规范更新为 30
393
疾病报告管理-报告卡管理:状态为“审核失败”的报卡操作列缺失“审核”按钮
369
【住院管理】进入护理记录模块报错
361
三测单(体温单)住院第一日显示 1970-01-01,未正确获取入院日期
2026-04-21 11:38:05 +08:00
wangjian963
4e2097fc7b
fixbug326,329,334,368: 门诊医生站检验申请模块多项缺陷修复
...
Bug #326 : 检验申请单套餐项目回充数据不完整
- 后端回充时查询 LabActivityDefinition 补全套餐信
- DTO 新增 activityId、feePackageId、isPackage、sampleType、unit 字段
- 前端实现套餐项目树形展开,懒加载套餐明细
Bug #329 : 检验申请执行科室默认值设置错误
- 后端移除默认执行科室逻辑,添加未匹配科室警告日志
- 前端从 Organization 表获取执行科室,自动根据检验类型设置默认值
Bug #334 : 检验申请界面顶部操作栏占用空间过大
- 隐藏顶部操作栏,保存/新增按钮移至卡片头部
Bug #368 : 门诊医生站待写病历标签页功能冗余
- 屏蔽待写病历标签页(左侧导航栏已有独立菜单)
2026-04-15 14:50:14 +08:00
26e0665eeb
103 增加医生个人报卡管理界面(需求)
2026-04-14 17:23:44 +08:00
Ranyunqiao
95235b810e
367
...
门诊医生站:检验开单“免疫”类别下的检验项目取值错误,与后台维护数据不一致
357
门诊挂号:通过“预约签到”产生的记录,列表“挂号类型”未体现预约标识
2026-04-14 16:31:53 +08:00
Ranyunqiao
740208b13f
需求104
2026-04-13 17:34:39 +08:00
Ranyunqiao
49eed7c784
bug 349 350 351 354 356 357
2026-04-13 12:10:22 +08:00
关羽
9238044bc1
fix: 修正PostgreSQL时间函数CAST为::类型转换,避免语法错误
2026-04-09 11:27:05 +08:00
Ranyunqiao
f204e46e07
344 门诊预约挂号:未过滤过期号源,允许预约已过时的时间段
2026-04-09 11:06:06 +08:00
关羽
9c4d55a352
fix: 后端按系统时间过滤号源,避免前端时间过滤导致数据不一致
2026-04-09 10:11:30 +08:00
关羽
41b1d47bba
fix: 医生余号查询按schedule_date分组,避免多日期余号累加
2026-04-09 09:42:07 +08:00
关羽
3a02e327c7
fix: 过滤医生余号时排除已过期的号源,只统计当前日期及未来日期的号源
2026-04-09 09:38:34 +08:00
wangjian963
f87afba566
fix(门诊预约): 修复取消预约次数限制逻辑错误
...
修复取消预约次数限制逻辑与配置不一致的问题,使用配置值而非硬编码值进行校验。同时优化诊前退号检查逻辑,增加病历记录、费用明细、班段结束时间等校验条件,防止不当退号操作。
refactor(检验申请): 优化检验申请单列表查询SQL
从明细表聚合项目名称和金额,避免直接查询申请单表导致的数据重复问题。
2026-04-08 17:50:22 +08:00
5d280640e8
bug343:门诊预约挂号:系统未校验重复预约,允许同一患者在同一科室同一天/时间段内多次预约
2026-04-08 10:04:30 +08:00
e573d9f68b
新增校验,防止删除存在有效患者预约的医生排班。
...
更新 SurgeryDto,为计划手术时间添加 JSON 格式配置。
改进接诊确认逻辑,使医师确认流程更加健壮。
在 OrderMapper 中新增方法,用于统计患者在指定时间段内的有效预约订单数量。
增强 TicketServiceImpl,防止同一患者在相同科室与时间段内重复预约。
2026-04-07 17:37:53 +08:00
HuangXinQuan
0c5353cf8b
300,301,302预约挂号展示问题
2026-04-03 16:47:03 +08:00
f6b39a4815
fix: 更新门诊定价服务以仅返回划价标记为“是”的项目,并修正日志路径和VitalSigns表名
...
- 修改 OutpatientPricingAppServiceImpl.java,确保仅返回划价标记为“是”的项目
- 修正 VitalSigns.java 中的表名为 "doc_vital_signs"
2026-04-03 16:35:21 +08:00
HuangXinQuan
1b3d4e3dc0
77 门诊挂号-》预约签到
2026-04-03 14:42:13 +08:00
his-dev
cb46461ede
fix( #303 ): 将取消预约限制从取消操作移至预约挂号操作
...
问题:取消预约时检查次数限制,导致用户无法取消预约
修复:将取消次数限制检查移到预约挂号时进行
变更:
- bookTicket(): 添加取消次数限制检查,达到上限禁止预约
- cancelTicket(): 移除取消限制检查,允许正常取消
提示信息:"由于您在月度内累计取消预约已达X次,触发系统限制,暂时无法在线预约,请联系分诊台或咨询客服。"
2026-04-03 14:08:23 +08:00
Ranyunqiao
35b8a7d10a
320 手术管理-》门诊手术安排:新增手术安排界面的就诊卡号取值错误
2026-04-03 10:45:19 +08:00
11244aa48f
fix: 修复收费失败错误 'element cannot be mapped to a null key' - 根本原因
...
- 修复 PaymentRecStaticServiceImpl.java 第 49、52、55、58 行
- 添加对 ChargeItemDefInfo::getTypeCode 和 ChargeItemDefInfo::getYbType 的 null 过滤
- 修复 IChargeBillServiceImpl.java 第 657 行 Invoice::getReconciliationId
2026-04-03 08:32:04 +08:00
wangjian963
b747f80507
feat(doctorstation): 检验申请单列表添加申请ID字段
...
- DTO添加applicationId(自增主键)字段
- Mapper返回类型从实体类改为DTO
- 前端表格显示申请ID替代行号
- 调整UI布局和分页器样式
2026-04-02 17:59:21 +08:00
7a2342ea2e
311 检验项目设置-》检验项目:【新增】一条检验项目系统自动在《诊疗目录》增加一条检验收费项目
...
312检验项目设置-套餐设置:折扣%字段换算公式错误
319 住院管理》-住院医生站》-住院医生站保存患者诊断时报错
2026-04-02 17:25:28 +08:00
518d8385e6
292 检验项目设置-》套餐设置:检验套餐明细选择项目后,服务费字段=金额字段的值/10
...
293
检验项目设置-》套餐设置:lis分组字段下拉选项未进行取值
296 检验项目设置-》套餐管理:点击行【编辑】套餐设置界面点击【更新】报错
297 检验项目设置-》套餐管理:点击行【删除】按钮报错提示“删除失败”
2026-03-30 14:01:43 +08:00
Ranyunqiao
488c311788
288 门诊医生站-》诊断TAB页面:新增诊断点【保存诊断】报错“保存诊断失败,请稍后重试”
...
289 手术管理-》门诊手术安排:新增手术安排点击【保存】报错提示“新增手术安排失败,请检查表单信息”
298 检查项目设置-》套餐设置:新增个人套餐【保存】报错。
2026-03-30 10:34:48 +08:00
Ranyunqiao
b5527cc07f
294 检查项目设置-》套餐设置:基本信息服务费字段的值系统没有自动合计套餐明细服务费字段所有行的值
...
295 检查项目设置-》套餐设置:套餐明细数量字段后面需要增加单位字段
2026-03-30 09:03:49 +08:00