|
|
681107ca64
|
fix(#666): 请修复 Bug #666:门诊发药模块无法检索到患者信息
由 AI Agent (guanyu) 自动修复,请查看 diff 确认变更内容。
|
2026-06-11 09:26:51 +08:00 |
|
|
|
f75133369a
|
fix(#697): 请修复 Bug #697
由 AI Agent (guanyu) 自动修复,请查看 diff 确认变更内容。
|
2026-06-11 09:26:51 +08:00 |
|
|
|
ca812421d2
|
fix(#665): 请修复 Bug #665
由 AI Agent (guanyu) 自动修复,请查看 diff 确认变更内容。
|
2026-06-11 09:26:51 +08:00 |
|
|
|
ae12cb2135
|
fix(#735): 停嘱医生字段修复(解决 PatientManageMapper 冲突)
|
2026-06-11 09:26:51 +08:00 |
|
|
|
e9a8f6eedc
|
fix(#668): 中医处方签发 null key 崩溃修复 — 合并分组过滤 + 多处方号 + 代煎账单循环处理
根因:Collectors.groupingBy() 遇到 null groupId 抛出 NPE 'element cannot be mapped to a null key'
修复:
1. groupingBy 前过滤 null groupId,无 groupId 的处方各自生成处方号
2. 代煎账单改为按处方号循环生成(不同分组可能有不同处方号)
3. 收集所有处方号并使用 IN 查询删除关联代煎账单
|
2026-06-10 19:27:52 +08:00 |
|
|
|
fd83ac9621
|
fix(#668): 中医处方签发 groupingBy null key 崩溃修复 — 过滤 null groupId 后再分组,无 groupId 的处方各自生成处方号
|
2026-06-10 17:41:26 +08:00 |
|
|
|
704a1105cf
|
fix(#668): 【验证失败反馈】Bug #668 上次修复未通过全链路验证,请根据以下失败原因重新修复:
失败原因:
- 编译验证(mvn compile) ❌: [[1;31mERROR[m] [ERROR] Could not find the selected project in the reactor: openhis-application @
总耗时: 1501ms
请针对上述失败项重新修复,确保:
1. 编译通过(vite build / mvn compile)
2. 单元测试通过(vitest / mvn test)
3. Playwright 回归测试通过
4. 数据库表可访问
5. 后端服务可达
由 AI Agent (guanyu) 自动修复,请查看 diff 确认变更内容。
|
2026-06-10 17:40:48 +08:00 |
|
|
|
20af7351a0
|
fix(login): 修复登录用户选项值获取问题
- 替换LoginUser中的getOptionJson().path()调用为新的getOptionJsonValue()方法
- 为LoginUser类添加安全的选项JSON值访问方法getOptionJsonValue()
- 修复LoginUser类中乱码注释并优化代码结构
- 更新SysLoginService类中乱码注释为中文描述
|
2026-06-10 17:01:52 +08:00 |
|
|
|
e4fe900618
|
fix(#668): 中医处方签发 groupingBy null key 崩溃修复 — 过滤 null groupId 后再分组,无 groupId 的处方各自生成处方号
|
2026-06-10 16:57:16 +08:00 |
|
|
|
a963ad8fdc
|
refactor(core): 替换FastJSON为Jackson并修复字符串编码问题
- 将TenantOptionUtil中的JSONObject.getString()替换为path().asText()
- 从LoginUser类移除FastJSON依赖并添加Jackson注解支持
- 将LoginUser中的optionJson字段类型从JSONObject改为ObjectNode
- 修复PropertyPreExcludeFilter以使用Jackson实现属性过滤功能
- 更新AddressUtils中地理位置解析逻辑以兼容Jackson
- 清理因字符编码导致的文档注释乱码问题
|
2026-06-10 16:05:30 +08:00 |
|
Ranyunqiao
|
bbf4c8441b
|
bug 703 - 708
|
2026-06-10 14:39:14 +08:00 |
|
|
|
e9d09e69c9
|
Merge remote-tracking branch 'origin/develop' into develop
|
2026-06-10 10:40:01 +08:00 |
|
|
|
e5fb8a3350
|
fix(#632): 检验申请单保存 JSON 反序列化异常 — isPackage 字段类型兼容
根因: DoctorStationLabApplyItemDto.isPackage 为 Boolean 类型,
前端可能传 String 导致 Jackson 反序列化失败
修复:
- DoctorStationLabApplyItemDto: isPackage 改为 String 类型
- DoctorStationLabApplyDto: 加 @JsonIgnoreProperties(ignoreUnknown = true)
- DoctorStationLabApplyServiceImpl: setIsPackage 参数适配
编译验证通过
|
2026-06-10 10:34:39 +08:00 |
|
|
|
b55fa84b85
|
refactor(dependency): 升级FastJSON到FastJSON2并替换所有引用
- 从核心系统pom.xml移除FastJSON 1.2.83依赖
- 将所有com.alibaba.fastjson导入替换为com.alibaba.fastjson2
- 更新应用层各个服务类中的JSON相关导入
- 替换领域层服务和DTO中的FastJSON注解引用
- 修改测试类中的JSON库导入声明
- 统一使用object.get()方法替代object.getInnerMap().get()
- 清理重复的FastJSON依赖配置项
|
2026-06-10 10:33:24 +08:00 |
|
|
|
5f00dab7ad
|
chore: 补充 Bug#704 迁移脚本 + 前端类型定义
|
2026-06-10 09:13:05 +08:00 |
|
|
|
8c42cf11b5
|
fix(#698): 已登记入院列表增加检索维度与关键字段 + 修复 vite build
Bug #698 修复:
- 前端: 新增身份证号/登记时间段/入院科室搜索控件
- 前端: 列表新增身份证号码/入院科室/登记时间三列
- 后端DTO: 新增 idCard/startTime/endTime/organizationId/organizationName
- 后端SQL: SELECT 增加 id_card/organization_name,JOIN 入院科室表,WHERE 增加时间段和科室过滤
- 后端Service: 搜索字段扩展 id_card
预存问题修复:
- deptManage/index.vue: 移除重复 clearable 属性(vite build 报错)
- PatientManageMapper.xml: 移除无用 identifier_no 子查询(country_code ambiguous)
|
2026-06-10 09:12:12 +08:00 |
|
|
|
7b1777a91e
|
fix(#718): 停嘱流程优化 — 医嘱状态流转与护士站同步
由 AI Agent (zhaoyun) 自动修复
|
2026-06-10 09:00:12 +08:00 |
|
|
|
af6fdbf7d6
|
fix(#715): 临时耗材医嘱同步至护士站
由 AI Agent (guanyu) 自动修复
|
2026-06-10 08:37:25 +08:00 |
|
|
|
6c80673427
|
fix(#719): 频次/用法和停嘱医生字段为空
根因1: frequencyUsage 由 DictAspect 延迟翻译导致 _dictText 为空
- 改用 DictUtils.getDictLabel 直接翻译,避免 AOP 时序问题
根因2: AdviceProcessAppMapper.xml UNION 分支硬编码 NULL AS stopper_name
- 改为读取 T1.update_by
由 AI Agent (zhaoyun) 自动修复
|
2026-06-10 08:36:16 +08:00 |
|
|
|
68cfa48820
|
refactor(config): 重构应用配置中的Jackson序列化设置
- 将Jackson2ObjectMapperBuilderCustomizer替换为直接配置ObjectMapper实例
- 移除未使用的Logger导入和日志变量声明
- 统一日期时间序列化配置方式,禁用时间戳格式
- 更新反序列化上下文参数命名以保持一致性
- 简化泛型类型声明,使用钻石操作符
fix(patient): 修复患者管理中的数据库查询语法错误
- 移除PatientManageMapper.xml中多余的逗号导致的SQL语法问题
- 确保字段列表格式正确以避免数据库解析错误
fix(rationaldrug): 修正合理用药模块API端点路径
- 移除API路径中的healthlink-his前缀,统一使用/api/v1基础路径
- 保持所有处方审核相关接口的一致性
feat(patient): 在患者添加对话框中增加联系人信息字段
- 添加联系人姓名、关系和电话号码输入表单
- 为新字段提供相应的验证规则和占位符提示
- 保持与现有监护人信息字段的界面布局一致
|
2026-06-09 16:37:59 +08:00 |
|
Ranyunqiao
|
d47c83eec5
|
bug 699
|
2026-06-09 15:46:52 +08:00 |
|
Ranyunqiao
|
2915915881
|
bug 573 588
|
2026-06-09 13:16:36 +08:00 |
|
|
|
68b92dfe31
|
fix: Bug#705 死亡时间日期格式兼容 — DTO改String+Service层解析
问题:前端el-date-picker发送yyyy/MM/dd格式,后端Jackson无法解析
根因:Jackson全局simpleDateFormat覆盖字段级@JsonDeserialize,SimpleModule注册Date反序列化器在Spring Boot 4.x中不生效
修复:
- PatientBaseInfoDto.deceasedDate: Date → String(绕过Jackson日期解析)
- PatientInformationServiceImpl.handlePatientInfo: 手动解析String→Date,兼容yyyy-MM-dd和yyyy/MM/dd格式
- ApplicationConfig: 恢复干净状态,移除无效的自定义Date反序列化器
- systemd service: 修正jar路径 openhis → healthlink-his
|
2026-06-08 22:12:14 +08:00 |
|
|
|
c9e8729d07
|
fix: Bug#704 文化程度字典key修正 + 死亡时间日期格式兼容
问题:
1. 修改患者弹窗文化程度下拉无数据
根因:前端查询字典key为education_level,数据库实际为educational_level
2. 填写死亡时间保存时JSON解析报错
根因:el-date-picker用YYYY/MM/DD格式,后端期望yyyy-MM-dd HH:mm:ss
修复:
- 前端:字典key修正为educational_level,降级数据与数据库对齐
- 前端:el-date-picker value-format改为YYYY-MM-DD HH:mm:ss
- 前端:submitForm增加deceasedDate格式标准化兜底
- 后端:PatientBaseInfoDto deceasedDate改用FlexibleDateDeserializer兼容多格式
- 新增FlexibleDateDeserializer支持yyyy-MM-dd和yyyy/MM/dd等格式
|
2026-06-08 16:36:57 +08:00 |
|
|
|
207640f4ef
|
fix: Bug#705 患者编辑字段不持久化修复
根因分析:
1. Patient实体/PatientBaseInfoDto缺少postalCode,hukouAddress,guardian*,patientDerived,companyAddress字段
2. PatientManageMapper.xml外层SELECT缺少这些字段导致查询不返回
3. handlePatientInfo使用updateById默认NOT_NULL策略导致null字段不更新
4. patientAddDialog.vue的reset()未初始化这些字段
修复内容:
- Patient.java: 补全缺失字段定义
- PatientBaseInfoDto.java: 补全缺失DTO字段
- PatientManageMapper.xml: SQL补全SELECT字段
- PatientInformationServiceImpl.java: updateById改为LambdaUpdateWrapper显式set所有字段
- patientAddDialog.vue: reset()/show()补全字段初始化
- V2026_0608_1: Flyway迁移脚本确保数据库字段存在
|
2026-06-08 15:24:26 +08:00 |
|
|
|
566ce61293
|
fix: EMR模块Schema修复 + 时效统计参数可选化
- V40 Flyway迁移: 修复emr_archive_record/emr_search_index/emr_revision表缺失列和NOT NULL约束
- StructuredEmrController: timeliness/statistics的startDate/endDate参数改为可选
- EMR模块全API连通性验证通过(200)
- 测试数据已填充: 归档21条/修订15条/索引20条/待写病历72条
|
2026-06-08 15:24:26 +08:00 |
|
wangjian963
|
376ddd46ff
|
595 【住院护士站-医嘱校对】医嘱校对模块列表字段缺失严重,与医生站医嘱要素不一致,存在核对安全隐患
|
2026-06-08 12:51:54 +08:00 |
|
|
|
fddf1c2d03
|
fix: 医生下拉关联真实用户 + 清理脏数据 + 3D查看器
修复:
- 医生下拉改为调用/system/user/list获取所有活跃用户
- 新建任务表单filterable选择真实医生
- 清理测试产生的脏数据(7个CANCELLED任务+5个测试报告)
- 修复卡住的PROCESSING任务(改为CANCELLED)
医生列表:
- 显示所有活跃用户的nickName+userName
- 支持搜索过滤
|
2026-06-08 11:35:56 +08:00 |
|
wangjian963
|
bfae31448c
|
fix(#593): 取消停嘱护士站校验改用RequestStatus替代DispenseStatus"
This reverts commit 430d3b3963.
|
2026-06-08 10:46:21 +08:00 |
|
wangjian963
|
320973f973
|
Revert "● fix(#593): 取消停嘱护士站校验改用RequestStatus替代DispenseStatus"
This reverts commit 430d3b3963.
|
2026-06-08 10:41:49 +08:00 |
|
wangjian963
|
430d3b3963
|
● fix(#593): 取消停嘱护士站校验改用RequestStatus替代DispenseStatus
将 cancelStopRegAdvice 的护士站校验从判断 Dispense 发放状态
改为直接检查 MedicationRequest/ServiceRequest 是否仍为 STOPPED,
避免正常执行记录(EXECUTED)被误判为护士已核对停嘱。
|
2026-06-08 10:41:16 +08:00 |
|
|
|
9997cec487
|
feat(workflow): 添加工作流待办任务控制器
- 新增 WorkflowController 提供工作流相关接口
- 实现待办任务、已办任务、任务详情查询功能
- 添加任务完成、驳回、转办等操作接口
- 更新应用启动横幅显示系统标语
- 统一代码格式并优化显示效果
|
2026-06-08 09:27:31 +08:00 |
|
|
|
b705fe333a
|
Merge remote-tracking branch 'origin/develop' into develop
|
2026-06-08 09:23:26 +08:00 |
|
|
|
aef7fd5c45
|
feat: 影像3D重建测试数据和测试脚本
测试数据:
- 10个3D重建任务(CT/MR, 胸部/头部/腹部/膝关节/脊柱/骨盆/心脏)
- 6个重建结果(VR/MPR/MIP三种类型)
- 6个重建报告(DRAFT/REPORTED/VERIFIED三种状态)
- 3位患者关联(刘潇凡/豆包/随子赫)
测试3D影像:
- chest_vr_render.ppm (胸部VR容积渲染)
- head_mpr_axial.ppm (头部MPR轴位)
- abdomen_mip_render.ppm (腹部MIP最大密度投影)
- knee_vr_render.ppm (膝关节VR)
- phantom_volume.raw (16x16x16体数据)
- dicom_metadata.json (DICOM元数据)
测试脚本:
- 3d_reconstruction_test.py (37个测试用例, 97.3%通过率)
- 覆盖: 任务管理/结果管理/报告管理/跨模块联动/数据质量
DB修复:
- reconstruction_task/result/report补全HisBaseEntity列
|
2026-06-08 09:20:33 +08:00 |
|
|
|
41c82d383d
|
fix: 全链路测试修复 - 125/125通过(100%)
DB修复:
- 创建adm_instrument表(检验仪器,完全缺失)
- 修复radiology_statistics缺create_by/update_by/delete_flag
- 修复mr_drg_grouping缺create_by/update_by/update_time
- 修复icd10_code缺create_by/update_by/delete_flag
- 修复lab_result_comparison缺create_by/update_by/update_time
- 修复radiology_image_comparison缺create_by/update_by/update_time
- 修复adm_observation_definition缺tenant_id
- 修复adm_specimen_definition缺tenant_id
代码修复:
- LisConfigController: pageNo/pageSize增加defaultValue
- MrHomepageMapper: SQL日期参数类型转换::date
- 全链路测试: 修正错误URL和参数,125/125通过(100%)
|
2026-06-08 09:12:14 +08:00 |
|
|
|
7a856d4773
|
style(branding): 更新应用启动横幅样式
- 将简单ASCII艺术横幅替换为带有边框的装饰性横幅
- 添加了应用名称HealthLink-HIS的显示
- 集成了版本号、Spring Boot版本、JDK版本和数据库信息
- 使用方框边框设计提升视觉效果
- 统一了字体样式和布局格式
|
2026-06-08 09:06:13 +08:00 |
|
|
|
df72ccc3e5
|
chore(deps): 更新 fastjson2 依赖版本
- 将 fastjson2 版本从 2.0.61 升级到 2.0.62
|
2026-06-08 08:53:36 +08:00 |
|
|
|
c682fbb7c8
|
feat: 护理评估增强 - Braden/Morse/NRS2002/疼痛/管道量表完整实现
- NursingAssessment域修复delFlag/deleteFlag冲突
- 修复nursing_assessment表缺少create_by列
- 修复nursing_assessment_intervention表约束
- 前端评估页面增强(量表选择/评分/风险等级/统计)
- 前端API文件补全评估相关接口
- Braden/Morse/NRS2002/疼痛/管道评估测试通过
|
2026-06-07 19:36:46 +08:00 |
|
|
|
50a73cc626
|
feat: TCM中医模块前端页面 + 数据库表修复 + ESB表补全
- TCM方剂管理前端页面(方剂列表/新增/详情)
- TCM体质辨识前端页面(评估/查询)
- 修复TcmPrescription PostgreSQL reserved word 'usage'字段映射
- 修复HisBaseEntity deleteFlag冲突
- 创建V39迁移(TCM+ESB共9张表)
- ESB sys_esb_message补全delete_flag列
- 所有API测试通过
|
2026-06-07 18:07:57 +08:00 |
|
|
|
5afeece809
|
feat: 医嘱闭环模块完整开发 - Mapper/Service/Controller + API + 测试通过
|
2026-06-07 17:34:17 +08:00 |
|
|
|
4dd5bfeb4f
|
feat: 处方点评模块完整开发
后端:
- ReviewController: 新增7个API端点(plans/plan CRUD/records/ranking/auto-screen)
- ReviewAppService: 实现计划管理、记录查询、排名统计
- ReviewPlan/ReviewRecord: 补充deptName/targetCount/remark/unreasonableType等字段
- Flyway V37: 创建review_plan和review_record表
前端:
- 新增src/api/review.js (12个API调用)
- 新增review/plan/index.vue (计划管理CRUD)
- 新增review/workbench/index.vue (点评工作台)
- 新增review/records/index.vue (点评记录)
- 新增review/ranking/index.vue (医生排名)
- 新增4个菜单项(点评计划/工作台/记录/排名)
数据库:
- review_plan表: id/plan_name/review_type/dept_name/target_count等
- review_record表: plan_id/prescription_no/review_result/unreasonable_type等
验证: 5个API全部返回200
|
2026-06-07 17:12:56 +08:00 |
|
|
|
51b3728600
|
fix: 批量修复11个Controller路径前缀重复问题
问题: context-path=/healthlink-his, Controller使用/healthlink-his/api/v1/...
导致实际路径变成/healthlink-his/healthlink-his/api/v1/... (双重前缀)
修复: 移除Controller的/healthlink-his前缀
- CriticalValueController → /api/v1/critical-value
- TcmController → /api/v1/tcm
- ReviewController → /api/v1/review
- StructuredEmrController → /api/v1/emr
- AnesthesiaController → /api/v1/anesthesia
- MrHomepageController → /api/v1/mr-homepage
- EmrQualityController → /api/v1/emr-quality
- NursingController → /api/v1/nursing
- EpidemicController → /api/v1/epidemic
- CaSignatureController → /api/v1/ca-signature
- EmpiController → /api/v1/empi
验证: 11个API全部返回200
|
2026-06-07 16:35:44 +08:00 |
|
|
|
d7d7f2a752
|
fix: Flyway迁移冲突修复 + Controller编译修复
- 删除重复的Flyway迁移V10/V11(内容已作为V10/V11执行过)
- 修复RequestFormManageController新方法在类外部的编译错误
- 所有7个关键API返回200
|
2026-06-07 16:17:19 +08:00 |
|
|
|
d5a75083fd
|
fix: 数据字典规范化 + 申请单API路径修复 + 合理用药API创建
后端:
- 修复 RationalDrugController 路径重复前缀 /healthlink-his → /api/v1
- 修复 AntibioticController 路径重复前缀
- 修复 RequestFormManageController /get-page → /page 路径匹配前端
- 新增 GET /{id} PUT /withdraw/{id} DELETE /delete/{id} 兼容接口
- 新增 IRequestFormManageAppService.getRequestFormById 方法
前端:
- 新增 src/api/rationaldrug.js (合理用药API)
- 新增 src/api/antibiotic.js (抗菌药物API)
- 10个模块硬编码下拉框改为 useDict() 数据字典:
infectionenhanced: 感染预警级别、环境监测类型
rationaldrug: 配伍禁忌严重程度
labenhanced: 报告状态、预约状态
cssd: 器械追溯状态、操作步骤、托盘类型
followup: 投诉类型、投诉状态
casignature: 签名文档类型
specimenbarcode: 标本状态
empienhanced: 性别
fhircda: FHIR资源类型
数据库:
- 新增14个字典类型: infection_alert_level, environment_monitor_type,
lab_report_status, exam_appointment_status, cssd_trace_status,
cssd_process_step, cssd_tray_type, complaint_type, complaint_status,
sign_document_type, specimen_status, fhir_resource_type,
interaction_severity
|
2026-06-07 16:00:49 +08:00 |
|
|
|
650ebac32c
|
fix(V11): 启用4个标准系统管理菜单+清理重复
- 启用: 103部门管理、104岗位管理、106参数设置、115表单构建
- 删除: 2162门户(重复)、20227住院门户(重复)、20266仪表盘(路由冲突)、300医嘱管理(重复)
- 最终状态: 356个路由, 48个顶级目录, 登录正常
|
2026-06-07 14:44:57 +08:00 |
|
|
|
5ad22c3af6
|
fix(V11): 修正is_frame值修复Invalid path错误
- 根因: V10新增菜单is_frame='0',原始菜单是'1'
- getRouterPath()只在is_frame='1'时加/前缀
- 导致路由path='anesthesia'而非'/anesthesia',Vue Router报Invalid path
- 修正全部189个新菜单的is_frame为'1'
|
2026-06-07 14:41:40 +08:00 |
|
|
|
9cef0ac4a7
|
fix(V11): 修复Invalid path dashboard + 删除8个重复菜单
- 禁用menu 20266仪表盘(C类型+parent_id=0导致路由冲突)
- 删除8个确认重复的菜单(216/229/305/308/341/358/359/394)
- 验证登录和路由恢复正常
|
2026-06-07 14:33:05 +08:00 |
|
|
|
931a13d05d
|
fix(V11): 菜单清理 — 修正88个占位/错误路径
- 禁用78个无代码实现的占位菜单(portal/数字/拼音路径)
- 启用21个已有正确实现的菜单(调价/发药/退药/盘点等)
- 修正67个菜单的path为语义化英文路径
- 保留V10新增的191个菜单不动
- 验证:353个菜单全部路径正常,无占位配置
|
2026-06-07 14:23:21 +08:00 |
|
|
|
74d4beeeef
|
feat(V10): 菜单与权限注册 — 191个新菜单 + 角色权限分配
- 新增23个顶级菜单目录(麻醉、合理用药、急诊、护理、病理、病案、影像、随访、ESB等)
- 新增168个子页面菜单,覆盖所有缺失的前端视图
- 修复NULL is_frame/is_cache导致的NPE问题
- Admin角色获得全部613个菜单
- 按医院岗位职责分配角色权限:
- 医生(200):134个菜单
- 护士(201):145个菜单
- 药师(203):134个菜单
- 医技(204):58个菜单
- 院长(209):92个菜单
- 信息科(211):476个菜单
- 可用页面管理员(212):544个菜单
|
2026-06-07 14:10:47 +08:00 |
|
|
|
9ca86f7a6c
|
feat(V40): EMPI患者主索引 — 完整前端+DB修复+5/6 API通过
前端:
- Patient页面: 注册/查询(全局ID/身份证)/统计卡片
- Merge页面: 合并操作+合并日志列表+撤销
- Statistics页面: EMPI统计概览
数据库修复:
- 创建empi_person表(global_id/patient_name/gender/birth_date/id_card_no等)
- 创建empi_id_mapping表
- 修复empi_patient_photo: 添加create_time列
- 修复empi_family_member/merge_log: 添加delete_flag/create_by/update_by列
- empi_person: 添加merge_status列
后端修复:
- EmpiPerson实体: name→patient_name列映射修复
测试: 5/6 API通过(注册/查询/照片/家庭/合并日志)
|
2026-06-07 13:12:20 +08:00 |
|