Commit Graph

711 Commits

Author SHA1 Message Date
10b63f5654 Fix Bug #582: AI修复 2026-05-26 22:14:56 +08:00
2c93ae9408 Fix Bug #585: AI修复 2026-05-26 22:02:33 +08:00
5a124936a4 Fix Bug #586: AI修复 2026-05-26 21:59:39 +08:00
cacb31bb55 Fix Bug #587: AI修复 2026-05-26 21:55:42 +08:00
88a0bfaaf2 Fix Bug #588: AI修复 2026-05-26 21:51:56 +08:00
33654bcad7 Fix Bug #589: AI修复 2026-05-26 21:48:15 +08:00
8430d65866 Fix Bug #591: fallback修复 2026-05-26 21:42:03 +08:00
3f8acc93bc Fix Bug #592: fallback修复 2026-05-26 21:34:59 +08:00
38c702e324 Fix Bug #593: fallback修复 2026-05-26 21:28:48 +08:00
c7d3f8139b Fix Bug #571: AI修复 2026-05-26 21:17:55 +08:00
bbdf0118b6 Fix Bug #466: AI修复 2026-05-26 21:13:12 +08:00
646c79e67c Fix Bug #467: fallback修复 2026-05-26 21:08:39 +08:00
Ranyunqiao
5132de3680 bug 445 497 565 2026-05-25 15:49:49 +08:00
6e15c334ec Fix Bug #571: 根因+修复方案摘要 2026-05-22 12:30:03 +08:00
b4bcb0898f Fix Bug #571: 根因+修复方案摘要 2026-05-22 12:15:00 +08:00
67a7f17abd Fix Bug #571: 根因+修复方案摘要 2026-05-22 11:54:34 +08:00
1f653ed729 Fix Bug #571: 修复检验申请撤回操作状态校验逻辑不一致
根因:SQL查询使用EXISTS判断(任一ServiceRequest为ACTIVE即显示已签发),
但后端撤回校验使用allMatch(要求所有ServiceRequest均为ACTIVE)。
当多项申请单中部分为待签发时,前端显示已签发但后端拒绝撤回,导致报错。

修复:
1. 将allMatch改为anyMatch,与SQL的EXISTS逻辑保持一致
2. 仅更新ACTIVE状态的ServiceRequest为DRAFT,避免影响其他状态
3. 增加update返回值校验,处理并发场景下的状态变更

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-22 11:40:55 +08:00
e5c13f6e30 Fix Bug #571: 修复检验申请撤回操作状态校验逻辑不一致
根因:SQL查询使用EXISTS判断(任一ServiceRequest为ACTIVE即显示已签发),
但后端撤回校验使用allMatch(要求所有ServiceRequest均为ACTIVE)。
当多项申请单中部分为待签发时,前端显示已签发但后端拒绝撤回,导致报错。

修复:将allMatch改为anyMatch,与SQL的EXISTS逻辑保持一致。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-22 11:32:56 +08:00
03e47be0d8 Fix Bug #571: 修复检验申请撤回操作状态校验逻辑不一致
根因:SQL查询使用EXISTS判断(任一ServiceRequest为ACTIVE即显示已签发),
但后端撤回校验使用allMatch(要求所有ServiceRequest均为ACTIVE)。
当多项申请单中部分为待签发时,前端显示已签发但后端拒绝撤回,导致报错。

修复:将allMatch改为anyMatch,与SQL的EXISTS逻辑保持一致。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-22 11:00:13 +08:00
bcc2f490a0 bug550\556569 2026-05-21 17:40:26 +08:00
Ranyunqiao
966e4f6544 497【住院医生工作站-检查申请】检查申请列表缺失“申请单状态”列及全流程闭环状态流转逻辑
523 [住院医生站-临床医嘱] 待保存医嘱总金额显示缺失且编辑态单位选择框变为数字控件
560 [住院医生站-检验申请] “已签发”状态的申请单在操作列缺失“详情”查看按钮
563 [住院医生站-临床医嘱-手术] 打开手术申请单弹窗时出现异常,功能无法使用
2026-05-21 17:06:09 +08:00
wangjian963
8c81c52f4e Merge remote-tracking branch 'origin/develop' into develop 2026-05-20 18:13:22 +08:00
wangjian963
b97a3ad598 562 [门诊医生工作站-待写病历]数据加载时间超过2秒一直加载
561 [门诊医生站-医嘱] 医嘱录入后,总量单位显示异常,显示为“null”而非诊疗目录配置值
544 【智能分诊】排队队列列表无法显示“完诊”状态患者且缺失历史队列查询功能
505 【业务逻辑缺陷】药品医嘱已由药房发药,护士仍能在“医嘱校对”模块执行“退回”操作
2026-05-20 18:12:58 +08:00
ed7e4bbeb3 bug469 2026-05-20 13:47:36 +08:00
Ranyunqiao
62c5674233 bug 555 558 2026-05-20 11:04:33 +08:00
31d9098b37 Fix Bug #547: 执行科室配置保存时时间冲突检测范围错误 — 根因:addOrEditOrgLoc 方法使用 getOrgLocListByActivityDefinitionId 跨科室查询同一诊疗的所有配置,导致不同科室间的正常时间重叠被误判为冲突;修复:改为 getOrgLocListByOrgIdAndActivityDefinitionId(orgId, activityDefId) 限定同科室范围;同时优化软删除科室处理,当冲突记录关联的科室已被删除时,使用"科室[ID]已删除"替代静默跳过
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-20 10:17:06 +08:00
wangjian963
232a0db810 Merge remote-tracking branch 'origin/develop' into develop 2026-05-20 09:46:29 +08:00
wangjian963
3394aa54d7 549【住院医生站-临床医嘱-检验】打开“检验申请单”弹窗获取项目列表响应极其缓慢
546 【患者管理】-【患者列表】-【新增患者】,新增患者,保存成功,但没有数据
536 [门诊手术安排]“手术申请查询”弹窗底部,分页组件与界底部元素重叠,影响操作。
2026-05-20 09:45:33 +08:00
dc94978187 Fix Bug #557: ApplicationConfig 全局 Jackson LocalDateTime 反序列化器缺失 — 根因:JavaTimeModule 仅注册了 LocalDateTimeSerializer,未注册 LocalDateTimeDeserializer,导致默认反序列化器期望 ISO-8601 格式(T 分隔符),与前端 el-date-picker 空格分隔格式(YYYY-MM-DD HH:mm:ss)不匹配;修复:新增 LocalDateTimeDeserializer(pattern="yyyy-MM-dd HH:mm:ss")
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-20 09:42:20 +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
7743bb5df4 Fix Bug #547: 执行科室配置保存时,冲突检测应跳过已被软删除科室的孤脏记录 — 根因:时间冲突校验未排除科室已删除的 OrganizationLocation 记录,导致已不存在的科室仍会阻断新配置保存
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-19 16:02:58 +08:00
9826df98e3 Fix Bug #552: 根因+修复方案摘要 2026-05-19 15:04:12 +08:00
Ranyunqiao
c28b322e91 bug 443 444 445 478 494 521 2026-05-19 14:22:40 +08:00
c75b8038ec Fix Bug #547: 根因+修复方案摘要 2026-05-19 14:02:45 +08:00
efc1c100aa Fix Bug #547: 根因+修复方案摘要 2026-05-19 13:01:36 +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
871e2de574 fix: same idCard substring fix for top-level copy 2026-05-19 11:40:20 +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
Ranyunqiao
0e974129eb bug 514 537 538 540 543 2026-05-18 17:44:15 +08:00
ea5da8d2bc fix bug529 2026-05-18 16:02:40 +08:00
5bdedd84e0 Fix Bug #545: [门诊医生站-诊断-报卡] 长效诊断标识设置保存就清空 — 根因:getEncounterDiagnosis查询SQL(DoctorStationDiagnosisAppMapper.xml)未包含long_term_flag字段且DiagnosisQueryDto缺少对应属性,导致保存成功后刷新列表时后端不返回longTermFlag值,前端接收后下拉框清空;修复:1) SQL新增T1.long_term_flag AS longTermField; 2) DTO新增longTermFlag属性
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-18 15:02:27 +08:00
0228cba94e Fix Bug #401: 门诊完诊审计日志 div_log pool_id/slot_id 优先级修复
根因:完诊时获取 pool_id/slot_id 的逻辑优先使用 triage_queue_item,
回退使用 order_main → adm_schedule_slot。但 order_main.slot_id 才是
挂号时实际锁定的号源(权威来源),queueItem 值可能不准确或缺失。

修复:反转优先级,优先通过 encounter.orderId → order_main → adm_schedule_slot
获取 pool_id/slot_id;订单链路无数据时回退使用 queueItem。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-18 13:31:59 +08:00
ad85e4d284 Fix Bug #538: [门诊医生站-医嘱/手术申请] 手术申请单删除后级联删除关联医嘱、收费项目、申请单
根因:deleteSurgery 仅删除 cli_surgery 表记录,未级联删除关联的
wor_service_request(手术医嘱)、fin_charge_item(收费项目)、
doc_request_form(申请单),导致手术删除后医嘱列表仍存在对应记录。

修复:在 deleteSurgery 中先删除三张关联表数据,再删除手术记录,
所有操作在同一事务内保证一致性。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-18 11:05:28 +08:00
Ranyunqiao
58e391bd2c bug 443 522 523 2026-05-18 10:16:57 +08:00
37c2377b66 Fix Bug #532: 【手术管理】点击"查看"或"编辑"按钮弹出 SQL 语法报错
根因:getSurgeryScheduleDetail SQL 查询中 cs.incision_level AS "incisionLevel"
使用了双引号包裹列别名,在 PostgreSQL 中双引号使标识符大小写敏感,
导致 MyBatis 无法正确映射到 OpScheduleDto 的 incisionLevel 字段。
修复:移除双引号,改为 cs.incision_level AS incisionLevel。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-17 23:16:00 +08:00
ce1161caea Fix Bug #517: [库房管理-领用管理] 业务逻辑校验缺失:允许保存并提交领用数量大于库存数量(零库存领用)的单据
根因分析:
- 前端 handleSubmitApproval(提交审批)未做库存校验,直接调用后端 API
- 后端 submitApproval 也未做库存校验,仅在保存时(addOrEditIssueReceipt)有 validateRequisitionStock
- 用户可绕过前端保存校验(如编辑已有草稿后直接提交审批),将超库存单据提交审批流

修复方案:
1. 后端:在 submitApproval 方法中增加 validateRequisitionStockByBusNo,通过单据详情查询已保存明细,逐行校验领用数量是否超过源仓库库存
2. 前端:在 handleSubmitApproval 提交前逐行调用 validateRequisitionQtyVsStock 校验库存,超库存时拦截并提示

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-17 21:31:42 +08:00
046a3e4703 Fix Bug #514: [库房管理-调拨管理-调拨] 调拨单保存与提交校验缺失 - 前端增加数量>0和库存校验,后端批量保存接口补充@Validated注解
根因:批量调拨页面handleSave仅校验单价未校验数量,submitApproval未校验数据完整性即提交审批;后端批量保存接口缺少@Validated导致DTO层@Min(1)未生效
修复:
1. batchTransfer/index.vue handleSave() 增加调拨数量>0和不超过源库存的前端校验
2. batchTransfer/index.vue handleSubmitApproval() 增加数量>0校验后再提交审批
3. ProductTransferController.java 批量保存接口添加@Validated注解启用DTO校验

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-17 21:19:12 +08:00
8bfe4f2c23 Fix Bug #524: 报卡详情日期字段回显为空 - 添加@JsonFormat注解确保Jackson正确序列化日期
根因:InfectiousCardDto和DoctorCardListDto中的LocalDate/LocalDateTime字段缺少@JsonFormat注解,
Jackson默认将日期序列化为数组格式[2026,5,15],前端normalizeDate函数无法解析导致字段显示为空。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-17 21:09:02 +08:00
2d43b1cddc Fix Bug #504: 护士退回药品医嘱后医生修改保存时"未匹配到库存信息" - 增加两阶段库存匹配逻辑和空值保护
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-17 20:24:42 +08:00