Commit Graph

3696 Commits

Author SHA1 Message Date
892890b59f fix(order-closed-loop): 修复P0问题 - deptId过滤/权限控制/死代码 2026-06-17 11:44:49 +08:00
621bc27267 Merge remote-tracking branch 'origin/develop' into develop 2026-06-17 11:43:18 +08:00
Ranyunqiao
62c1b4278b Merge remote-tracking branch 'origin/develop' into develop 2026-06-17 11:39:11 +08:00
Ranyunqiao
690486084e 112 【住院护士站-护理记录】功能重构升级(参考开源系统信创版本) 2026-06-17 11:38:41 +08:00
wangjian963
d792f03bbd fix(ui): 已登记入院表格事件修复与布局优化
- handleRadioChange({newValue}→{row}): 修复 vxe-table radio-change
    事件参数错误,selectedRow 始终为 undefined,打印住院证功能失效
  - queryParams 初始定义与 resetQuery 对齐,补全缺失字段
  - 表格布局重构:
    · 移除 height="100%"(解除横向滚动条位置漂移)
    · table min-width="1600px" + 容器 overflow-x:auto
    · 固定列 width / 信息列 min-width 差异化约束
2026-06-17 11:37:14 +08:00
6a4545c240 feat(order-closed-loop): 医嘱执行闭环追踪
- AppService: 添加 getTrace(adviceId) 查询医嘱全生命周期时间轴
- AppService: 添加 getStatisticsWithParams(deptId, startDate, endDate) 执行统计
- Controller: 添加 GET /trace/{adviceId} 和 GET /statistics/summary 端点
- 前端: 新建 OrderExecuteTrace.vue 时间轴视图 + 执行统计面板
- API: 添加 getOrderExecuteTrace 和 getExecuteStatistics 接口
2026-06-17 11:34:24 +08:00
a2e607caf4 chore(db): 移除多个数据库迁移脚本
- 移除患者管理字段缺失修复脚本 V2026_0608_1
- 移除文化程度字典类型添加脚本 V2026_0608_2
- 移除HisBaseEntity列缺失修复脚本 V2026_0608
- 移除处方拦截日志表修复脚本 V2026_0611
- 移除临床路径执行表修复脚本 V2026_0612
- 移除EMPI核心表创建脚本 V2026_0616_1
- 移除EMPI合并日志时间字段修复脚本 V2026_0616_2
- 移除手术状态字典重复数据修复脚本 V2026_0617
- 移除医嘱退回流程设备请求字段添加脚本 V20260615
2026-06-17 11:24:16 +08:00
wangjian963
cfc7ca9b4e 676 [住院医生站-临床医嘱] 勾选“待签发”临时医嘱后,点击【签发】按钮无响应 2026-06-17 11:13:11 +08:00
wangjian963
bdb7d978fb fix(ui): 修复住院医生站与护士站临床医嘱若干稳定性问题
医生站:
    - 修复类型切换后编辑表单残留、blur/click竞态致选中无效、批量保存缺patientId
    - 修复filterPrescriptionList.find过滤下展开失败、popover溢出、表格塌陷
    - 提取resolveCategoryCode/getAdviceTableRef消除重复, 优化adviceTableRef类型
    - 修复adviceBaseList keyField、选中残留、TS类型声明

  护士站:
    - 校对: 新增已执行状态判定+退回拦截, 修复状态标签颜色不一致
    - 执行: 修复长期医嘱dayTimes为空被静默丢弃
    - 双模块: 新增keep-alive重激活刷新+患者列表自动加载

  配置:
    - eslint.config.js 新增 @typescript-eslint/parser 支持Vue TS解析
2026-06-17 11:06:45 +08:00
5a227014fe fix(surgery): #684 手术状态下拉框重复 - 清理字典重复数据 2026-06-17 11:02:18 +08:00
1c68860541 ```
feat(patient): 移除门诊记录组件

- 删除了 OutpatientRecord.vue 组件文件
- 移除了门诊记录表格显示功能
- 清理了相关的数据获取和状态管理逻辑
- 移除了查看门诊详情的路由跳转功能
```
2026-06-17 10:40:34 +08:00
2a0303d0e6 fix(regdoctorstation): RegPrescriptionUtils groupingBy null key保护
Bug #674: 住院签发长期医嘱时 conditionDefinitionId/pharmacologyCategoryCode/therapyEnum 为 null
导致 Collectors.groupingBy 抛出 NPE 'element cannot be mapped to a null key'

修复:对齐门诊版 PrescriptionUtils 的 null 处理逻辑
- getConditionDefinitionId null -> 默认 0L
- getPharmacologyCategoryCode null -> 默认 '0'
- getTherapyEnum null -> 默认 0
- generatePrescriptionNo null/空 -> 走普通处方号
2026-06-17 09:32:46 +08:00
81d5c99a35 fix(#769): zhaoyun (文件合入) 2026-06-17 09:08:16 +08:00
8258d3e2da fix(#774): zhaoyun (文件合入) 2026-06-17 08:54:39 +08:00
3812561ede fix(#766): zhaoyun (文件合入) 2026-06-16 20:42:43 +08:00
wangjian963
48189a075f fix(智能分诊排队管理): 修复表格事件参数Bug及清理硬编码假数据和死代码
- 修复 cell-click 事件参数Bug:vxe-table 的 cell-click 回调为 { row, ... } 对象,
    未解构导致 selectedQueueRow 被赋值为事件对象,row.id 始终为 undefined,
    造成移出队列、选呼、上移/下移等所有操作报"缺少ID"
  - 修复 checkbox-change 事件参数Bug:同样需解构 { records } 才能获取选中数组,
    否则 selectedCandidates 为事件对象,"加入队列"按钮永久禁用
  - 移除候选池/队列硬编码假数据,ref 初始化为空数组,消除页面加载时的数据闪
  - 移除死代码:formatMinutesToMmSs、mapStatusToFrontend、
    getNextQueueOrder、recalculateQueueOrders
  - 修复 getRowClassName/canMoveUp/canMoveDown 使用 id 替代 queueOrder 匹配,
    避免不同诊室同序号误高亮/误判
  - 修复 filterTodayData:registerTime 缺失时保留数据而非全部丢弃
  - 移除候选池表格无用的 :row-config
2026-06-16 16:35:20 +08:00
wangjian963
c26b458298 Merge remote-tracking branch 'origin/develop' into develop 2026-06-16 16:21:58 +08:00
e38c5993a0 fix(#770): zhaoyun (文件合入) 2026-06-16 16:21:49 +08:00
Ranyunqiao
cb82f8d5bf bug 673 761 719 754 728 727 763 2026-06-16 16:16:09 +08:00
wangjian963
ea8dca058a fix(智能分诊排队管理): 移除候选池和队列的硬编码假数据,消除页面加载时的数据闪现问题
- 删除 getInitialCandidatePoolList() 和 getInitialQueueList() 两个硬编码函数(共8条虚构患者/队列记录)
  - 候选池和队列 ref 初始值由硬编码假数据改为空数组 []
  - currentDate 初始值由固定日期改为空字符串,由 loadDataFromApi 动态计算
  - currentCall 初始值由假数据(郑华/4号诊室)改为占位符(-/-/-),由 syncCurrentCallFromQueue 动态同步
  - loadDataFromApi 异常回退不再注入假数据,统一清空为 []
2026-06-16 16:15:13 +08:00
deb5683ca6 Merge remote-tracking branch 'origin/develop' into develop 2026-06-16 16:12:16 +08:00
c4ca097bf6 feat(menu): 添加用户可访问菜单树接口并优化界面展示
- 新增 /userMenus 接口供普通用户获取自身权限范围内的菜单树
- 修复菜单ID路径参数正则表达式匹配问题
- 优化门诊挂号患者列表表格列宽和滚动显示
- 更新患者主索引界面搜索表单和表格展示逻辑
- 调整挂号记录表格高度计算和列固定布局
- 更新未闭环医嘱统计界面提示信息和分页功能
- 修复用户医院名称获取逻辑优先级问题
- 添加EMPI合并日志创建时间字段迁移脚本
2026-06-16 16:08:40 +08:00
wangjian963
8b6265801d fix(门诊医生站): 修复中医tab页药品医嘱搜索选中后不填充及展开行不渲染的问题
vxe-table v4 中 expandRowKeys 仅在初始化时生效,后续变更必须通过实例方法
  setRowExpand/clearRowExpand 控制展开行。同时 vxe-table 浅监听 data prop,
  替换行对象引用会导致 slot scope 响应链路断裂。
2026-06-16 16:05:36 +08:00
wangjian963
bf5a9674df fix(门诊医生站): 修复中医诊断弹窗选择后诊断详情不显示的问题
- addDiagnosisDialog: 修复 vxe-table v4 cell-click 事件未解构 row 导致
    conditionName/syndromeName 为 undefined,右侧详情始终为空
  - diagnosislist: 新增 medTypeCode prop 按诊断类型过滤列表,避免中/西医错选
  - diagnosis: 保存时排除中医诊断(已通过独立接口保存),防止重复提交
2026-06-16 14:30:39 +08:00
954462272e feat(empi): 添加EMPI合并日志记录功能
- 引入EmpiMergeLog实体类和IEmpiMergeLogService服务接口
- 在EmpiAppServiceImpl中注入mergeLogService依赖
- 实现合并操作时自动创建合并日志记录
- 记录合并的源患者ID、目标患者ID和合并类型
- 添加合并原因、操作人和合并时间等关键信息
- 确保每次患者合并操作都有完整的审计日志
2026-06-16 14:10:37 +08:00
9a5d772c72 Merge remote-tracking branch 'origin/develop' into develop 2026-06-16 13:38:18 +08:00
d861c20d5e feat(empi): 实现EMPI患者主索引系统核心功能
- 新增EMPI核心数据表:empi_person和empi_person_id_mapping
- 实现EMPI服务层接口,支持患者注册、合并、查询等功能
- 集成EMPI与院内患者系统的双向关联查询
- 添加患者保存事件监听器,实现EMPI数据自动同步
- 开发EMPI管理界面,支持患者合并操作和数据展示
- 优化EMPI统计功能,增加重复率和待合并患者统计
- 完善EMPI ID映射机制,支持多系统患者标识关联
2026-06-16 13:38:05 +08:00
488573a51b fix(#663): guanyu (文件合入) 2026-06-16 13:37:38 +08:00
wangjian963
259a5946c2 667 [门诊收费-业务流程] 医嘱未挂钩【完诊】状态,医生未终结门诊即可提前在收费端结算,存在漏开/错开费用风险
- @select → @checkbox-change,适配新事件签名
  - 新增 collapseAllExpanded() 使用 setRowExpand/clearRowExpand 兼容 v4 expand
  - setNewRow/setValue 保持行引用不变,原地更新数据
  - 所有医嘱类型编辑模板新增"取消"按钮
  - 内联布局样式抽取为 .edit-form-row 类,四种医嘱类型布局统一
  - 列宽、间距、备注框宽度等样式微调
  - requiredProps 空安全检查、handleBlur 修复、ref 名称修复
2026-06-16 13:33:42 +08:00
d0d6cf3533 fix(#770): zhaoyun (文件合入) 2026-06-16 13:30:49 +08:00
Ranyunqiao
fef1ca6637 Merge remote-tracking branch 'origin/develop' into develop 2026-06-16 13:06:40 +08:00
Ranyunqiao
fca3d0ca86 style: add el-tag styling to order status in transfer out list to match doctor station 2026-06-16 12:34:30 +08:00
193a08acbd fix(#776): guanyu (文件合入) 2026-06-16 12:01:52 +08:00
Ranyunqiao
41d05a1629 fix(ui): use dict text from frontend for accurate display of frequency, usage, amount, dose and ordering doctor 2026-06-16 11:55:41 +08:00
wangjian963
8cfa6fe05e fix(门诊医生站-医嘱列表): vxe-table v4适配及编辑区UI优化
- @select → @checkbox-change,适配新事件签名
  - 新增 collapseAllExpanded() 使用 setRowExpand/clearRowExpand 兼容 v4 expand
  - setNewRow/setValue 保持行引用不变,原地更新数据
  - 所有医嘱类型编辑模板新增"取消"按钮
  - 内联布局样式抽取为 .edit-form-row 类,四种医嘱类型布局统一
  - 列宽、间距、备注框宽度等样式微调
  - requiredProps 空安全检查、handleBlur 修复、ref 名称修复
2026-06-16 11:52:11 +08:00
wangjian963
8eb6feb70d 修复门诊医生站,医嘱tab表格布局错误问题。 2026-06-16 10:35:09 +08:00
Ranyunqiao
f93bec967a Merge remote-tracking branch 'origin/develop' into develop 2026-06-16 10:21:42 +08:00
Ranyunqiao
020d1be4be bug 716 718 2026-06-16 10:21:26 +08:00
wangjian963
f7f037aee9 656 [门诊医生站-检查申请] 单击已保存记录回显异常:自动跳转页签错误且“检查方法”数据未回显 2026-06-16 10:14:56 +08:00
6c77ee8f84 fix(#776): guanyu (文件合入) 2026-06-16 09:38:40 +08:00
0855d1153b fix(#776): guanyu (文件合入) 2026-06-16 08:50:32 +08:00
wangjian963
168961e656 654
[住院医生站-手术申请] 申请单保存成功后弹窗未自动关闭
2026-06-15 17:14:46 +08:00
wangjian963
9dc4a12339 Merge remote-tracking branch 'origin/develop' into develop 2026-06-15 16:55:47 +08:00
wangjian963
9bbf7c6c08 651 [住院医生站-手术申请] 无法检索出已启用的手术项目(如:“血管闭合切割刀”) 2026-06-15 16:55:17 +08:00
05088a1d1a fix(#734): guanyu (文件合入) 2026-06-15 16:53:01 +08:00
Ranyunqiao
5e9dbb2f1b Merge remote-tracking branch 'origin/develop' into develop 2026-06-15 16:48:48 +08:00
Ranyunqiao
b25d2fbaa9 bug 588 628 642 700 714 715 2026-06-15 16:48:27 +08:00
690e7ca22c fix(charge): 门诊日结 groupingBy null key 修复
Collectors.groupingBy 遇到 contractNo/busNo 为 null 的元素会抛
NullPointerException: Element cannot be mapped to a null key

修复: 在 groupingBy 前增加 .filter(e -> key != null && !key.isEmpty())
2026-06-15 16:47:44 +08:00
43ab5b4498 fix(flyway): 解除 V42 版本号冲突
merge PR #11 时带入 guanyu commit 01e8cc459 错误恢复的已废弃 V42__bug745
文件(该文件内容本已迁移到 V45,原 V42 应删除)。两个 V42 并存导致 Flyway
启动阻塞:"Found more than one migration with version 42"。

修复:删除冗余的 V42__bug745_fix_mr_sealing_medical_record_id.sql(空 deprecated
文件,实际逻辑在 V45)。保留 V42__add_delete_flag_columns.sql(原始文件,2026-06-11)。

验证:
- mvn clean package 通过
- 后端启动成功(HTTP 404 根路径,Flyway 无冲突)
- 登录 API + 门诊收费列表 API 正常响应
- Jackson 3 Long→String 序列化仍生效
2026-06-15 16:18:00 +08:00
219ac30dc5 fix(#763): guanyu (文件合入) 2026-06-15 15:46:59 +08:00