Compare commits

...

48 Commits

Author SHA1 Message Date
bc43085cef fix(#663): 请修复 Bug #663(诸葛亮分析完成,分配给你) 2026-06-16 13:37:01 +08:00
f818ca8174 Merge remote-tracking branch 'origin/develop' into guanyu 2026-06-16 13:34:39 +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
651bc758b7 Merge remote-tracking branch 'origin/develop' into guanyu 2026-06-16 13:30:52 +08:00
d0d6cf3533 fix(#770): zhaoyun (文件合入) 2026-06-16 13:30:49 +08:00
8808ba1663 Merge remote-tracking branch 'origin/develop' into guanyu 2026-06-16 13:18:22 +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
a7378ceef7 Merge remote-tracking branch 'origin/develop' into guanyu 2026-06-16 12:27:30 +08:00
193a08acbd fix(#776): guanyu (文件合入) 2026-06-16 12:01:52 +08:00
bdd8c9c4d8 fix(#776): 请修复 Bug #776(诸葛亮分析完成,分配给你)
根因:
- Bug #请修复 Bug #776(诸葛亮分析完成,分配给你) 存在的问题

修复:
- 读取 AGENTS.md 了解项目规范,然后搜索相关代码。
- Review ---
- Test ---
- Backend compile passed. Now let me run unit tests for the modified module.
- Verify ---
- 轻量级验证: fix_commit=true changes=1
2026-06-16 12:01:13 +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
20f71ec5d9 Merge PR #11: refactor(jackson): Jackson 2 → 3 全项目迁移 2026-06-15 15:43:23 +08:00
601be0d66b style(App): 统一代码风格和导入语句格式
- 调整 import 语句的格式,统一使用分号结尾
- 规范化 handleThemeStyle 函数导入的括号和空格
- 在 handleThemeStyle 函数调用后添加分号
- 为 nextTick 回调函数末尾添加分号
- 移除文件末尾的多余空行
2026-06-15 15:40:27 +08:00
e825f5fb33 test(e2e): 清理 debug 测试 + 修 bug-630 端口 + 新增 #681 E2E
- 删除开发遗留的 debug 测试文件:
  - debug-console.spec.ts
  - debug-login.spec.ts
  - debug-page.spec.ts
- bug-630.spec.ts: 后端端口 18082 → 18080(匹配 application.yml)
- 新增 bug-681-e2e.spec.ts: 真实登录+fetch+proxy 混合 E2E
  验证 Jackson 3 迁移后 Long 字段以字符串形式返回
2026-06-15 15:40:27 +08:00
97827b6ff0 refactor(jackson): Jackson 2 → Jackson 3 全项目迁移
Spring Boot 4.0.6 默认引入 Jackson 3.1.2,但项目中 1018 处 @JsonSerialize
注解使用的是 Jackson 2 的 com.fasterxml.jackson.* 包,导致注解被忽略,
Long 字段序列化为裸数字,引发前端 JS Number 精度丢失(Bug #681 的根因)。

- com.fasterxml.jackson.databind.* → tools.jackson.databind.*
- com.fasterxml.jackson.core.* → tools.jackson.core.*
- com.fasterxml.jackson.annotation.* 保留(Jackson 3 仍用同包名)
- com.fasterxml.jackson.datatype.jsr310.* 保留(不再需要,Jackson 3 内置 JavaTime 支持)

- JsonSerializer<T> → ValueSerializer<T>
- JsonDeserializer<T> → ValueDeserializer<T>
- SerializerProvider → SerializationContext
- JsonMappingException → DatabindException
- JsonProcessingException → JacksonException(变 RuntimeException)
- ContextualSerializer → 合并入 ValueSerializer(createContextual 成 default 方法)
- LaissezFaireSubTypeValidator → BasicPolymorphicTypeValidator.builder()
- Jackson2ObjectMapperBuilderCustomizer → JsonMapperBuilderCustomizer

- ObjectMapper.configure() 返回 void → JsonMapper.builder().disable(...).build()
- ObjectMapper.setPropertyNamingStrategy() → JsonMapper.builder().propertyNamingStrategy()
- ObjectMapper.setDateFormat() → JsonMapper.builder().defaultDateFormat()
- ObjectNode.fieldNames() → JsonNode.propertyNames()(返回 Collection<String>)
- SerializationFeature.WRITE_DATES_AS_TIMESTAMPS 已移除(JavaTime 自动处理)
- ObjectMapper 的 JavaTimeModule 注册不再需要(Jackson 3 内置)

- core-framework/.../ApplicationConfig.java:重写为 JsonMapperBuilderCustomizer +
  自定义 LocalDateTime 序列化(Jackson 3 内置 ext.javatime.*)
- core-framework/.../FastJson2JsonRedisSerializer.java:用 BasicPolymorphicTypeValidator
  替代 LaissezFaireSubTypeValidator
- core-common/.../JsonUtils.java:改为 JsonMapper.builder() 模式
- core-common/.../SensitiveJsonSerializer.java:JsonSerializer → ValueSerializer

- 5 个模块 jackson-databind groupId 改为 tools.jackson.core(版本由 Spring Boot BOM 管理)
- jackson-annotations 保留 com.fasterxml.jackson.core(Jackson 3 仍用同包名)

-  mvn compile 全 11 模块通过
-  mvn package 成功生成 fat JAR
-  后端启动正常(JDK 25,Spring Boot 4.0.6)
-  登录 API 返回 JWT token
-  /charge-manage/charge/encounter-patient-page 响应:
    - encounterId: "2032288214655660033"(字符串,@JsonSerialize 生效)
    - patientId: "2026486681850499074"(字符串,@JsonSerialize 生效)
-  Bug #681 根因彻底解决(Long 精度丢失)

- Bug #681(前端兜底 fix: acf685fba)+ 本 commit(后端根治)
- Bug #281(历史 jsr310 模块问题)随 Jackson 3 内置 JavaTime 一并解决

- Playwright E2E 全量回归(51 个 spec)
- 时间字段序列化专项测试(LocalDateTime 格式验证)
- 删除 Jackson 2 starter(spring-boot-jackson2)的可行性评估
2026-06-15 15:40:26 +08:00
01e8cc459c fix(#748): guanyu (文件合入) 2026-06-15 15:37:12 +08:00
wangjian963
cc7c669fc1 Merge remote-tracking branch 'origin/develop' into develop 2026-06-15 15:28:05 +08:00
wangjian963
5c73cc6987 fix(#643): 门诊手术安排-术中医嘱删除改为状态回退,修复刷新后医嘱重现
- 前端:删除操作改为 UPDATE 状态回退(statusEnum ACTIVE→DRAFT),清除签发人/签发时间
  - 后端:回退时跳过发放/计费/绑耗逻辑,清除 signCode,回退 chargeItem 状态为 DRAFT
  - 后端:回退时保持原始 generateSourceEnum,避免刷新查询不到记录
  - 安全:回退前校验 encounterId 所有权,防止跨就诊 IDOR
2026-06-15 15:27:31 +08:00
cb792684e2 Merge branch 'develop' of https://gitea.gentronhealth.com/wangyizhe/his into develop 2026-06-15 15:22:50 +08:00
871690848e fix(#738): guanyu (文件合入) 2026-06-15 15:18:48 +08:00
17616a32cb fix(#749): guanyu (文件合入) 2026-06-15 15:01:52 +08:00
wangjian963
2609791b62 637 [住院护士站-体温单] 选中患者后系统上下文不同步,导致无法触发“变更体温单”录入弹窗 2026-06-15 14:29:40 +08:00
wangjian963
c7ae277613 fix(#773): 门诊医生工作站新增医嘱单次剂量/总量列缺min-width导致输入框重叠
vxe-table中"单次剂量"和"总量"两个vxe-column未设置min-width,
  其他13列均为固定宽度,剩余空间不足导致编辑模式下el-input-number
  与单位文本溢出到相邻列。添加min-width="130"和min-width="110"修复。
2026-06-15 14:15:16 +08:00
wangjian963
6882085d69 fix(#613): 医嘱退回流程增加退回原因录入与展示
护士端退回操作已有退回原因弹窗(prescriptionList.vue),本次主要补齐:

  后端:
  - DeviceRequest 实体新增 backReason/performerCheckId/checkTime 三个字段
  - IDeviceRequestService/Impl 新增含退回信息的 updateDraftStatusBatch 重载
  - AdviceProcessAppServiceImpl 退回耗材医嘱时传入退回原因/护士/时间
  - InpatientAdviceDto 新增 reasonText/checkTime 字段
  - AdviceProcessAppMapper.xml(护士站查询):3路 UNION ALL 均新增 reason_text + check_time
  - AdviceManageAppMapper.xml(医生站查询):3路 UNION ALL 均新增 reason_text

  前端:
  - 住院医生站 order/index.vue:医嘱列表新增"退回原因"列(诊断列前面)
  - 住院护士站 prescriptionList.vue:医嘱列表新增"退回原因"列

  数据库:
  - V20260615__bug613_add_return_fields_to_device_request.sql:wor_device_request 表新增 3 列
2026-06-15 14:04:52 +08:00
Ranyunqiao
b1391afcd8 bug 657 713 2026-06-15 13:30:20 +08:00
d12b77f81a test(#681): 添加 Playwright E2E 验证 clickRow 兜底逻辑
- 6 种场景:有 encounterId / 仅 id(兜底)/ 全无 / undefined / null / 空串
- 修复前会发出 encounterId=undefined 请求(复现 bug)
- 修复后所有缺失场景触发 msgError 而非发请求
- Playwright + Vitest 全绿(51/51 + 2/2)
2026-06-15 12:43:13 +08:00
acf685fbaf fix(#681): 门诊收费点击已收费患者增加 encounterId 兜底
- 问题:已收费列表点击患者行时报错"参数[encounterId]要求类型为
  Long,但输入值为'undefined'",导致右侧基本信息为空、收费项目一直 Loading
- 根因:row.encounterId 为 undefined 时直接拼入 URL,后端类型校验拒绝
- 修复:clickRow 加 encounterId ?? id 兜底;无 ID 时 msgError 提示并中止调用;
  同步写入 patientInfo.value 防止 handleClose/confirmCharge/changePayType 等
  后续路径再次读到 undefined
- 风格对齐 clinicrefund/index.vue、outpatientregistration/reprintDialog.vue
  已有的 encounterId || id 防御模式
- 编译:npm run build:dev ✓
2026-06-15 12:24:45 +08:00
wangjian963
dfce7d0332 606 门诊术中安排-医嘱】预览列表字段显示及逻辑异常(涉及单位、频次、执行时间) 2026-06-15 11:44:39 +08:00
9ae9fae2c8 Merge remote-tracking branch 'origin/develop' into develop 2026-06-15 09:26:08 +08:00
7374e17f2e feat(clinical): 添加临床检验管理API兼容层
- 新增ClinicalManageLaboratoryController支持检验结果页面API映射
- 新增ClinicalManageObservationController提供检查结果API兼容接口
- 实现检验结果分页查询和详情获取功能
- 为检查结果预留接口并返回空数据避免前端报错
- 修复封存表medical_record_id字段非空约束导致的插入错误
2026-06-15 09:25:57 +08:00
6ca467a81a refactor(ui): 优化页面布局和表格组件
- 将多个页面的固定高度样式改为flex布局,提升响应式体验
- 替换菜单管理页面的vxe-table为el-table组件以统一技术栈
- 为菜单名称添加图标标识区分不同菜单类型
- 调整表单和表格容器的尺寸计算方式,支持自适应高度
- 优化滚动和溢出处理,改善页面渲染性能
- 修复部分组件的样式和数据绑定问题
2026-06-15 09:25:29 +08:00
523 changed files with 3180 additions and 5478 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,7 +1,7 @@
# HealthLink-HIS 代码模块索引
> 供 LLM 快速定位代码。每个模块列出 Controller → Service → Mapper 关键文件。
> 最后更新: 2026-06-15 06:00 (298 个 Controller)
> 最后更新: 2026-06-16 12:00 (300 个 Controller)
## 关键词 → 模块速查

View File

@@ -110,9 +110,9 @@
</dependency>
<!-- JSONå÷ååââ¬Â¦Ã·Ã§Ã±Ã» -->
<!-- JSON工具类 -->
<!-- JSON工具类 -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<groupId>tools.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>

View File

@@ -3,7 +3,7 @@ package com.core.common.annotation;
import com.core.common.config.serializer.SensitiveJsonSerializer;
import com.core.common.enums.DesensitizedType;
import com.fasterxml.jackson.annotation.JacksonAnnotationsInside;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.annotation.JsonSerialize;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;

View File

@@ -4,14 +4,13 @@ import com.core.common.annotation.Sensitive;
import com.core.common.core.domain.model.LoginUser;
import com.core.common.enums.DesensitizedType;
import com.core.common.utils.SecurityUtils;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.BeanProperty;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import com.fasterxml.jackson.databind.ser.ContextualSerializer;
import tools.jackson.core.JacksonException;
import tools.jackson.core.JsonGenerator;
import tools.jackson.databind.BeanProperty;
import tools.jackson.databind.DatabindException;
import tools.jackson.databind.ValueSerializer;
import tools.jackson.databind.SerializationContext;
import java.io.IOException;
import java.util.Objects;
/**
@@ -19,11 +18,11 @@ import java.util.Objects;
*
* @author system
*/
public class SensitiveJsonSerializer extends JsonSerializer<String> implements ContextualSerializer {
public class SensitiveJsonSerializer extends ValueSerializer<String> {
private DesensitizedType desensitizedType;
@Override
public void serialize(String value, JsonGenerator gen, SerializerProvider serializers) throws IOException {
public void serialize(String value, JsonGenerator gen, SerializationContext serializers) throws JacksonException {
if (desensitization()) {
gen.writeString(desensitizedType.desensitizer().apply(value));
} else {
@@ -32,14 +31,14 @@ public class SensitiveJsonSerializer extends JsonSerializer<String> implements C
}
@Override
public JsonSerializer<?> createContextual(SerializerProvider prov, BeanProperty property)
throws JsonMappingException {
public ValueSerializer<?> createContextual(SerializationContext prov, BeanProperty property)
throws DatabindException {
Sensitive annotation = property.getAnnotation(Sensitive.class);
if (Objects.nonNull(annotation) && Objects.equals(String.class, property.getType().getRawClass())) {
this.desensitizedType = annotation.desensitizedType();
return this;
}
return prov.findValueSerializer(property.getType(), property);
return prov.findPrimaryPropertySerializer(property.getType(), property);
}
/**

View File

@@ -9,8 +9,8 @@ import com.core.common.annotation.Excel.Type;
import com.core.common.annotation.Excels;
import com.core.common.core.domain.BaseEntity;
import com.core.common.xss.Xss;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

View File

@@ -1,9 +1,9 @@
package com.core.common.filter;
import com.fasterxml.jackson.annotation.JsonFilter;
import com.fasterxml.jackson.databind.ser.FilterProvider;
import com.fasterxml.jackson.databind.ser.impl.SimpleBeanPropertyFilter;
import com.fasterxml.jackson.databind.ser.impl.SimpleFilterProvider;
import tools.jackson.databind.ser.FilterProvider;
import tools.jackson.databind.ser.std.SimpleBeanPropertyFilter;
import tools.jackson.databind.ser.std.SimpleFilterProvider;
import org.apache.commons.lang3.ArrayUtils;
import java.util.HashSet;

View File

@@ -1,7 +1,7 @@
package com.core.common.utils;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import tools.jackson.core.type.TypeReference;
import tools.jackson.databind.ObjectMapper;
import com.core.common.constant.CacheConstants;
import com.core.common.core.domain.entity.SysDictData;
import com.core.common.core.redis.RedisCache;

View File

@@ -1,11 +1,12 @@
package com.core.common.utils;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import tools.jackson.core.JacksonException;
import tools.jackson.core.type.TypeReference;
import tools.jackson.databind.DeserializationFeature;
import tools.jackson.databind.JsonNode;
import tools.jackson.databind.ObjectMapper;
import tools.jackson.databind.SerializationFeature;
import tools.jackson.databind.json.JsonMapper;
/**
* Jackson JSON 工具类
@@ -13,12 +14,10 @@ import com.fasterxml.jackson.databind.SerializationFeature;
* @author system
*/
public class JsonUtils {
private static final ObjectMapper MAPPER = new ObjectMapper();
static {
MAPPER.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
MAPPER.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
}
private static final ObjectMapper MAPPER = JsonMapper.builder()
.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES)
.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS)
.build();
public static ObjectMapper getMapper() {
return MAPPER;
@@ -27,7 +26,7 @@ public class JsonUtils {
public static String toJson(Object obj) {
try {
return MAPPER.writeValueAsString(obj);
} catch (JsonProcessingException e) {
} catch (JacksonException e) {
return "{}";
}
}

View File

@@ -1,8 +1,8 @@
package com.core.common.utils.ip;
import com.fasterxml.jackson.databind.ObjectMapper;
import tools.jackson.databind.ObjectMapper;
import com.core.common.utils.JsonUtils;
import com.fasterxml.jackson.databind.JsonNode;
import tools.jackson.databind.JsonNode;
import com.core.common.config.CoreConfig;
import com.core.common.constant.Constants;
import com.core.common.utils.StringUtils;

View File

@@ -34,7 +34,7 @@
<!-- JSON工具类 -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<groupId>tools.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>

View File

@@ -1,11 +1,11 @@
package com.core.flowable.service.impl;
import com.core.common.utils.JsonUtils;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.fasterxml.jackson.databind.node.ArrayNode;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.core.type.TypeReference;
import tools.jackson.databind.ObjectMapper;
import tools.jackson.databind.node.ObjectNode;
import tools.jackson.databind.node.ArrayNode;
import tools.jackson.databind.JsonNode;
import tools.jackson.core.type.TypeReference;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.core.common.core.domain.AjaxResult;
import com.core.common.core.domain.entity.SysRole;

View File

@@ -1,6 +1,6 @@
package com.core.framework.aspectj;
import com.fasterxml.jackson.databind.ObjectMapper;
import tools.jackson.databind.ObjectMapper;
import com.core.common.utils.JsonUtils;
import com.core.common.annotation.Log;
import com.core.common.core.domain.entity.SysUser;

View File

@@ -1,51 +1,77 @@
package com.core.framework.config;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.jackson2.autoconfigure.Jackson2ObjectMapperBuilderCustomizer;
import org.springframework.boot.jackson.autoconfigure.JsonMapperBuilderCustomizer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.EnableAspectJAutoProxy;
import tools.jackson.core.JacksonException;
import tools.jackson.core.JsonParser;
import tools.jackson.core.JsonGenerator;
import tools.jackson.databind.DeserializationContext;
import tools.jackson.databind.SerializationContext;
import tools.jackson.databind.ValueDeserializer;
import tools.jackson.databind.ValueSerializer;
import tools.jackson.databind.module.SimpleModule;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.TimeZone;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.TimeZone;
@Configuration
@EnableAspectJAutoProxy(exposeProxy = true)
@MapperScan({"com.core.**.mapper", "com.healthlink.his.**.mapper"})
public class ApplicationConfig {
private static final JsonDeserializer<LocalDateTime> LOCAL_DATE_TIME_DESERIALIZER = new JsonDeserializer<>() {
private static final DateTimeFormatter ISO_FORMATTER = DateTimeFormatter.ISO_LOCAL_DATE_TIME;
private static final DateTimeFormatter SIMPLE_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
private static final DateTimeFormatter SLASH_FORMATTER = DateTimeFormatter.ofPattern("yyyy/M/d HH:mm:ss");
private static final DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
private static final DateTimeFormatter ISO_FORMATTER = DateTimeFormatter.ISO_LOCAL_DATE_TIME;
private static final DateTimeFormatter SLASH_FORMATTER = DateTimeFormatter.ofPattern("yyyy/M/d HH:mm:ss");
@Override
public LocalDateTime deserialize(JsonParser p, DeserializationContext context) throws IOException {
String text = p.getText();
if (text == null || text.isEmpty()) return null;
String cleaned = text.replaceAll("[Zz]$", "").replaceAll("[+-]\\d{2}:?\\d{2}$", "");
try { return LocalDateTime.parse(cleaned, ISO_FORMATTER); } catch (Exception ignored) {}
try { return LocalDateTime.parse(cleaned, SIMPLE_FORMATTER); } catch (Exception ignored) {}
return LocalDateTime.parse(cleaned, SLASH_FORMATTER);
}
};
private static final ValueDeserializer<LocalDateTime> LOCAL_DATE_TIME_DESERIALIZER =
new ValueDeserializer<LocalDateTime>() {
@Override
public LocalDateTime deserialize(JsonParser p, DeserializationContext context) throws JacksonException {
String text = p.getText();
if (text == null || text.isEmpty()) return null;
String cleaned = text.replaceAll("[Zz]$", "").replaceAll("[+-]\\d{2}:?\\d{2}$", "");
try { return LocalDateTime.parse(cleaned, ISO_FORMATTER); } catch (Exception ignored) {}
try { return LocalDateTime.parse(cleaned, FORMATTER); } catch (Exception ignored) {}
return LocalDateTime.parse(cleaned, SLASH_FORMATTER);
}
};
private static final ValueSerializer<LocalDateTime> LOCAL_DATE_TIME_SERIALIZER =
new ValueSerializer<LocalDateTime>() {
@Override
public void serialize(LocalDateTime value, JsonGenerator gen, SerializationContext ctx) throws JacksonException {
gen.writeString(value.format(FORMATTER));
}
@Override
public Class<LocalDateTime> handledType() {
return LocalDateTime.class;
}
};
@Bean
public Jackson2ObjectMapperBuilderCustomizer jacksonObjectMapperCustomization() {
public JsonMapperBuilderCustomizer jacksonObjectMapperCustomization() {
return builder -> {
builder.timeZone(TimeZone.getDefault());
builder.simpleDateFormat("yyyy-MM-dd HH:mm:ss");
JavaTimeModule javaTimeModule = new JavaTimeModule();
javaTimeModule.addDeserializer(LocalDateTime.class, LOCAL_DATE_TIME_DESERIALIZER);
builder.modules(javaTimeModule);
builder.serializerByType(LocalDateTime.class, new LocalDateTimeSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
builder.defaultTimeZone(TimeZone.getDefault());
builder.defaultDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));
SimpleModule module = new SimpleModule("HealthLinkLocalDateTime");
module.addDeserializer(LocalDateTime.class, LOCAL_DATE_TIME_DESERIALIZER);
module.addSerializer(LocalDateTime.class, LOCAL_DATE_TIME_SERIALIZER);
module.addSerializer(java.sql.Date.class, new ValueSerializer<java.sql.Date>() {
private final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@Override
public void serialize(java.sql.Date value, JsonGenerator gen, SerializationContext ctx) throws JacksonException {
gen.writeString(sdf.format(value));
}
});
builder.addModule(module);
};
}
}

View File

@@ -1,7 +1,10 @@
package com.core.framework.config;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator;
import tools.jackson.databind.DefaultTyping;
import tools.jackson.databind.ObjectMapper;
import tools.jackson.databind.jsontype.BasicPolymorphicTypeValidator;
import tools.jackson.databind.jsontype.PolymorphicTypeValidator;
import tools.jackson.databind.json.JsonMapper;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.PropertyAccessor;
import org.slf4j.Logger;
@@ -10,16 +13,17 @@ import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.data.redis.serializer.SerializationException;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.util.LinkedHashMap;
/**
* Redis序列化器 - 兼容fastjson2旧格式
* Redis序列化器 - 兼容fastjson2旧格式Jackson 3 迁移版)
*
* @author system
*/
public class FastJson2JsonRedisSerializer<T> implements RedisSerializer<T> {
private static final Logger log = LoggerFactory.getLogger(FastJson2JsonRedisSerializer.class);
public static final Charset DEFAULT_CHARSET = Charset.forName("UTF-8");
public static final Charset DEFAULT_CHARSET = StandardCharsets.UTF_8;
/** 新格式: 带类型信息 (activateDefaultTyping) */
private final ObjectMapper typedMapper;
@@ -31,16 +35,21 @@ public class FastJson2JsonRedisSerializer<T> implements RedisSerializer<T> {
super();
this.clazz = clazz;
// Jackson 3: 用 BasicPolymorphicTypeValidator 替代 LaissezFaireSubTypeValidator
PolymorphicTypeValidator ptv = BasicPolymorphicTypeValidator.builder()
.allowIfBaseType(Object.class)
.build();
// 新格式 ObjectMapper (带类型信息)
this.typedMapper = new ObjectMapper();
this.typedMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
this.typedMapper.activateDefaultTyping(
LaissezFaireSubTypeValidator.instance,
ObjectMapper.DefaultTyping.NON_FINAL);
this.typedMapper = JsonMapper.builder()
.changeDefaultVisibility(vc -> vc.withVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY))
.activateDefaultTyping(ptv, DefaultTyping.NON_FINAL)
.build();
// 旧格式 ObjectMapper (不带类型信息)
this.plainMapper = new ObjectMapper();
this.plainMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
this.plainMapper = JsonMapper.builder()
.changeDefaultVisibility(vc -> vc.withVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY))
.build();
}
@Override
@@ -75,4 +84,4 @@ public class FastJson2JsonRedisSerializer<T> implements RedisSerializer<T> {
return null;
}
}
}
}

View File

@@ -2,8 +2,10 @@ package com.core.framework.config;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.PropertyAccessor;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import tools.jackson.databind.DeserializationFeature;
import tools.jackson.databind.JsonNode;
import tools.jackson.databind.ObjectMapper;
import tools.jackson.databind.json.JsonMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.data.redis.serializer.RedisSerializer;
@@ -12,7 +14,7 @@ import org.springframework.data.redis.serializer.SerializationException;
import java.nio.charset.StandardCharsets;
/**
* Jackson Redis序列化器 - 兼容fastjson旧格式
* Jackson Redis序列化器 - 兼容fastjson旧格式Jackson 3 迁移版)
*
* 新数据: 纯JSON (无类型包装),调用方用 convertValue 转换
* 旧fastjson: 去除L后缀后按JSON解析
@@ -30,10 +32,10 @@ public class FastjsonCompatibleRedisSerializer implements RedisSerializer<Object
}
private static ObjectMapper createMapper() {
ObjectMapper mapper = new ObjectMapper();
mapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
return mapper;
return JsonMapper.builder()
.changeDefaultVisibility(vc -> vc.withVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY))
.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES)
.build();
}
/** 获取共享ObjectMapper供 DictUtils / TokenService 等做 convertValue */
@@ -64,7 +66,7 @@ public class FastjsonCompatibleRedisSerializer implements RedisSerializer<Object
try {
// 处理旧Jackson activateDefaultTyping格式: ["className", {data}]
if (cleaned.startsWith("[\"") && cleaned.length() > 10) {
com.fasterxml.jackson.databind.JsonNode node = objectMapper.readTree(cleaned);
JsonNode node = objectMapper.readTree(cleaned);
if (node.isArray() && node.size() >= 2 && node.get(0).isTextual()) {
// 取data部分第2个元素忽略className
return objectMapper.treeToValue(node.get(1), Object.class);
@@ -76,4 +78,4 @@ public class FastjsonCompatibleRedisSerializer implements RedisSerializer<Object
return null;
}
}
}
}

View File

@@ -1,6 +1,6 @@
package com.core.framework.interceptor;
import com.fasterxml.jackson.databind.ObjectMapper;
import tools.jackson.databind.ObjectMapper;
import com.core.common.utils.JsonUtils;
import com.core.common.annotation.RepeatSubmit;
import com.core.common.core.domain.AjaxResult;

View File

@@ -1,6 +1,6 @@
package com.core.framework.interceptor.impl;
import com.fasterxml.jackson.databind.ObjectMapper;
import tools.jackson.databind.ObjectMapper;
import com.core.common.utils.JsonUtils;
import com.core.common.annotation.RepeatSubmit;
import com.core.common.constant.CacheConstants;

View File

@@ -1,6 +1,6 @@
package com.core.framework.security.handle;
import com.fasterxml.jackson.databind.ObjectMapper;
import tools.jackson.databind.ObjectMapper;
import com.core.common.utils.JsonUtils;
import com.core.common.constant.HttpStatus;
import com.core.common.core.domain.AjaxResult;

View File

@@ -1,6 +1,6 @@
package com.core.framework.security.handle;
import com.fasterxml.jackson.databind.ObjectMapper;
import tools.jackson.databind.ObjectMapper;
import com.core.common.utils.JsonUtils;
import com.core.common.constant.Constants;
import com.core.common.core.domain.AjaxResult;

View File

@@ -71,17 +71,19 @@ public class TokenService {
if (cached instanceof java.util.List<?> list && list.size() >= 2 && list.get(0) instanceof String) {
Object data = list.get(1);
if (data instanceof java.util.Map) {
com.fasterxml.jackson.databind.ObjectMapper mapper =
new com.fasterxml.jackson.databind.ObjectMapper();
mapper.configure(com.fasterxml.jackson.databind.DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
tools.jackson.databind.ObjectMapper mapper =
tools.jackson.databind.json.JsonMapper.builder()
.disable(tools.jackson.databind.DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES)
.build();
return mapper.convertValue(data, LoginUser.class);
}
}
// 兼容纯JSON格式: LinkedHashMap -> LoginUser
if (cached instanceof java.util.Map) {
com.fasterxml.jackson.databind.ObjectMapper mapper =
new com.fasterxml.jackson.databind.ObjectMapper();
mapper.configure(com.fasterxml.jackson.databind.DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
tools.jackson.databind.ObjectMapper mapper =
tools.jackson.databind.json.JsonMapper.builder()
.disable(tools.jackson.databind.DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES)
.build();
return mapper.convertValue(cached, LoginUser.class);
}
return null;

View File

@@ -61,7 +61,7 @@
<!-- JSON工具类 -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<groupId>tools.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>

View File

@@ -1,8 +1,8 @@
package com.core.generator.service;
import com.fasterxml.jackson.databind.ObjectMapper;
import tools.jackson.databind.ObjectMapper;
import com.core.common.utils.JsonUtils;
import com.fasterxml.jackson.databind.JsonNode;
import tools.jackson.databind.JsonNode;
import com.core.common.constant.Constants;
import com.core.common.constant.GenConstants;
import com.core.common.core.text.CharsetKit;

View File

@@ -1,8 +1,8 @@
package com.core.generator.util;
import com.fasterxml.jackson.databind.ObjectMapper;
import tools.jackson.databind.ObjectMapper;
import com.core.common.utils.JsonUtils;
import com.fasterxml.jackson.databind.JsonNode;
import tools.jackson.databind.JsonNode;
import com.core.common.constant.GenConstants;
import com.core.common.utils.DateUtils;
import com.core.common.utils.StringUtils;

View File

@@ -1,8 +1,8 @@
package com.core.system.domain;
import com.core.common.core.domain.BaseEntity;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
/**
* 公告/通知已读记录 sys_notice_read

View File

@@ -0,0 +1,37 @@
package com.healthlink.his.web.Inspection.controller;
import com.core.common.core.domain.R;
import com.healthlink.his.web.Inspection.appservice.ILaboratoryManageAppService;
import com.healthlink.his.web.Inspection.dto.ReportResultManageDto;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import jakarta.servlet.http.HttpServletRequest;
/**
* 前端 lisPascResult 页面 API 兼容映射
* 前端调用 /clinical-manage/laboratory/* 和 /clinical-manage/observation/*
* 路由到已有的 /inspection/* 服务
*/
@RestController
@Slf4j
@AllArgsConstructor
@RequestMapping("/clinical-manage/laboratory")
public class ClinicalManageLaboratoryController {
private final ILaboratoryManageAppService appService;
@GetMapping("/result-page")
public R<?> getResultPage(ReportResultManageDto dto,
@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
@RequestParam(name = "searchKey", required = false) String searchKey,
HttpServletRequest request) {
return appService.getReportResultList(dto, pageNo, pageSize, searchKey, request);
}
@GetMapping("/result-detail/{id}")
public R<?> getResultDetail(@PathVariable Long id) {
return appService.getReportById(id);
}
}

View File

@@ -0,0 +1,30 @@
package com.healthlink.his.web.Inspection.controller;
import com.core.common.core.domain.R;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import java.util.Collections;
/**
* 前端 lisPascResult 检查结果 API 兼容映射
* 后端暂无检查结果独立服务,返回空列表避免前端报错
* TODO: 接入检查报告数据源后替换实现
*/
@RestController
@Slf4j
@AllArgsConstructor
@RequestMapping("/clinical-manage/observation")
public class ClinicalManageObservationController {
@GetMapping("/result-page")
public R<?> getResultPage(@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
// 暂时返回空列表,前端可正常渲染
return R.ok(new java.util.HashMap<String, Object>() {{
put("records", Collections.emptyList());
put("total", 0);
}});
}
}

View File

@@ -1,8 +1,8 @@
package com.healthlink.his.web.Inspection.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import com.healthlink.his.common.annotation.Dict;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -1,7 +1,7 @@
package com.healthlink.his.web.Inspection.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import com.healthlink.his.lab.domain.ActivityDefDeviceDef;
import com.healthlink.his.lab.domain.ActivityDefObservationDef;
import com.healthlink.his.lab.domain.ActivityDefSpecimenDef;

View File

@@ -1,7 +1,7 @@
package com.healthlink.his.web.Inspection.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import com.healthlink.his.common.annotation.Dict;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -1,8 +1,8 @@
package com.healthlink.his.web.Inspection.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
/**

View File

@@ -1,8 +1,8 @@
package com.healthlink.his.web.Inspection.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import java.util.Date;

View File

@@ -1,7 +1,7 @@
package com.healthlink.his.web.Inspection.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -1,7 +1,7 @@
package com.healthlink.his.web.adjustprice.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import java.math.BigDecimal;

View File

@@ -1,7 +1,7 @@
package com.healthlink.his.web.appointmentmanage.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

View File

@@ -3,8 +3,8 @@
*/
package com.healthlink.his.web.basedatamanage.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -3,8 +3,8 @@
*/
package com.healthlink.his.web.basedatamanage.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -3,8 +3,8 @@
*/
package com.healthlink.his.web.basedatamanage.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import com.healthlink.his.common.annotation.Dict;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -1,7 +1,7 @@
package com.healthlink.his.web.basedatamanage.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import com.healthlink.his.common.annotation.Dict;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -3,8 +3,8 @@
*/
package com.healthlink.his.web.basedatamanage.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -3,8 +3,8 @@
*/
package com.healthlink.his.web.basedatamanage.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import com.healthlink.his.common.annotation.Dict;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -4,8 +4,8 @@
package com.healthlink.his.web.basedatamanage.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -3,8 +3,8 @@
*/
package com.healthlink.his.web.basedatamanage.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -1,7 +1,7 @@
package com.healthlink.his.web.basedatamanage.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import com.healthlink.his.common.annotation.Dict;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -3,8 +3,8 @@
*/
package com.healthlink.his.web.basedatamanage.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -1,7 +1,7 @@
package com.healthlink.his.web.basedatamanage.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -3,8 +3,8 @@
*/
package com.healthlink.his.web.basedatamanage.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -1,7 +1,7 @@
package com.healthlink.his.web.basedatamanage.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import com.healthlink.his.common.annotation.Dict;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -1,7 +1,7 @@
package com.healthlink.his.web.basicservice.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import com.healthlink.his.common.annotation.Dict;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -4,8 +4,8 @@
package com.healthlink.his.web.cardmanagement.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import java.time.LocalDate;

View File

@@ -1,7 +1,7 @@
package com.healthlink.his.web.chargemanage.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import com.healthlink.his.common.constant.CommonConstants;
import com.healthlink.his.common.enums.AccountBillingStatus;
import com.healthlink.his.common.enums.AccountStatus;

View File

@@ -1,8 +1,8 @@
package com.healthlink.his.web.chargemanage.dto;
import com.core.common.utils.SecurityUtils;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import com.healthlink.his.common.constant.CommonConstants;
import com.healthlink.his.common.enums.ChargeItemContext;
import com.healthlink.his.common.enums.ChargeItemStatus;

View File

@@ -1,7 +1,7 @@
package com.healthlink.his.web.chargemanage.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -1,7 +1,7 @@
package com.healthlink.his.web.chargemanage.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -1,7 +1,7 @@
package com.healthlink.his.web.chargemanage.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import com.healthlink.his.common.enums.*;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -1,7 +1,7 @@
package com.healthlink.his.web.chargemanage.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import com.healthlink.his.common.enums.EncounterActivityStatus;
import com.healthlink.his.common.enums.LocationForm;
import lombok.Data;

View File

@@ -1,7 +1,7 @@
package com.healthlink.his.web.chargemanage.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import com.healthlink.his.common.enums.ParticipantType;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -4,8 +4,8 @@
package com.healthlink.his.web.chargemanage.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

View File

@@ -5,8 +5,8 @@ package com.healthlink.his.web.chargemanage.dto;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import com.healthlink.his.common.annotation.Dict;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -3,8 +3,8 @@
*/
package com.healthlink.his.web.chargemanage.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import com.healthlink.his.common.annotation.Dict;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -4,8 +4,8 @@
package com.healthlink.his.web.chargemanage.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import com.healthlink.his.common.annotation.Dict;
import com.healthlink.his.yb.dto.PaymentDetailDto;
import lombok.Data;

View File

@@ -1,7 +1,7 @@
package com.healthlink.his.web.chargemanage.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -1,7 +1,7 @@
package com.healthlink.his.web.chargemanage.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import com.healthlink.his.common.annotation.Dict;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -1,7 +1,7 @@
package com.healthlink.his.web.chargemanage.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import com.healthlink.his.common.annotation.Dict;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -1,7 +1,7 @@
package com.healthlink.his.web.chargemanage.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -1,7 +1,7 @@
package com.healthlink.his.web.chargemanage.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -4,8 +4,8 @@
package com.healthlink.his.web.chargemanage.dto;
import com.core.common.utils.SecurityUtils;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import com.healthlink.his.common.enums.EncounterClass;
import com.healthlink.his.common.enums.RequestStatus;
import com.healthlink.his.common.enums.TherapyTimeType;

View File

@@ -3,8 +3,8 @@
*/
package com.healthlink.his.web.chargemanage.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import com.healthlink.his.common.annotation.Dict;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -1,7 +1,7 @@
package com.healthlink.his.web.chargemanage.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -123,7 +123,7 @@ public class ExamApplyController extends BaseController {
for (ExamApplyItem item : items) {
BigDecimal itemTotal = item.getItemFee() != null ? item.getItemFee() : BigDecimal.ZERO;
BigDecimal methodFee = getMethodAdditionalFee(item.getExamMethodCode());
BigDecimal methodFee = getMethodAdditionalFee(item.getExamMethodCode(), item.getBodyPartCode());
totalAmount = totalAmount.add(itemTotal.add(methodFee));
}
@@ -318,7 +318,7 @@ public class ExamApplyController extends BaseController {
// 金额:单价和总价取检查项目费用
BigDecimal baseFee = itemDto.getItemFee() != null ? itemDto.getItemFee() : BigDecimal.ZERO;
BigDecimal methodFee = getMethodAdditionalFee(itemDto.getExamMethodCode());
BigDecimal methodFee = getMethodAdditionalFee(itemDto.getExamMethodCode(), itemDto.getBodyPartCode());
BigDecimal fee = baseFee.add(methodFee);
chargeItem.setQuantityValue(BigDecimal.ONE); // 数量
chargeItem.setQuantityUnit(""); // 单位
@@ -506,7 +506,7 @@ public class ExamApplyController extends BaseController {
chargeItem.setProductId(0L);
BigDecimal baseFee = itemDto.getItemFee() != null ? itemDto.getItemFee() : BigDecimal.ZERO;
BigDecimal methodFee = getMethodAdditionalFee(itemDto.getExamMethodCode());
BigDecimal methodFee = getMethodAdditionalFee(itemDto.getExamMethodCode(), itemDto.getBodyPartCode());
BigDecimal fee = baseFee.add(methodFee);
chargeItem.setQuantityValue(BigDecimal.ONE);
chargeItem.setQuantityUnit("");
@@ -570,15 +570,17 @@ public class ExamApplyController extends BaseController {
* Bug #655: 根据检查方法代码查询附加金额(套餐价格)
* 查找链路examMethodCode → CheckMethod → packageName → CheckPackage → packagePrice
*/
private BigDecimal getMethodAdditionalFee(String examMethodCode) {
private BigDecimal getMethodAdditionalFee(String examMethodCode, String checkType) {
if (examMethodCode == null || examMethodCode.isEmpty()) {
return BigDecimal.ZERO;
}
// 1. 根据 code 查找 CheckMethod
CheckMethod method = checkMethodService.getOne(
new LambdaQueryWrapper<CheckMethod>()
.eq(CheckMethod::getCode, examMethodCode)
.last("LIMIT 1"));
// 1. 根据 code 和 checkType 查找 CheckMethod
LambdaQueryWrapper<CheckMethod> wrapper = new LambdaQueryWrapper<CheckMethod>()
.eq(CheckMethod::getCode, examMethodCode);
if (checkType != null && !checkType.isEmpty()) {
wrapper.eq(CheckMethod::getCheckType, checkType);
}
CheckMethod method = checkMethodService.getOne(wrapper.last("LIMIT 1"));
if (method == null || method.getPackageName() == null || method.getPackageName().isEmpty()) {
return BigDecimal.ZERO;
}

View File

@@ -9,7 +9,7 @@ import com.core.common.core.domain.entity.SysUser;
import com.core.common.utils.MessageUtils;
import com.core.common.utils.SecurityUtils;
import com.core.system.service.ISysUserService;
import com.fasterxml.jackson.databind.ObjectMapper;
import tools.jackson.databind.ObjectMapper;
import com.core.common.utils.JsonUtils;
import com.healthlink.his.administration.domain.ChargeItem;
import com.healthlink.his.administration.domain.Encounter;

View File

@@ -1,7 +1,7 @@
package com.healthlink.his.web.clinicalmanage.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.healthlink.his.common.annotation.Dict;
import lombok.Data;

View File

@@ -3,8 +3,8 @@
*/
package com.healthlink.his.web.common.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -3,8 +3,8 @@
*/
package com.healthlink.his.web.common.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import com.healthlink.his.common.annotation.Dict;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -1,7 +1,7 @@
package com.healthlink.his.web.common.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -3,8 +3,8 @@
*/
package com.healthlink.his.web.common.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -3,8 +3,8 @@
*/
package com.healthlink.his.web.common.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -4,8 +4,8 @@
package com.healthlink.his.web.common.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -3,8 +3,8 @@
*/
package com.healthlink.his.web.common.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -1,7 +1,7 @@
package com.healthlink.his.web.consultation.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import java.io.Serializable;

View File

@@ -1,8 +1,8 @@
package com.healthlink.his.web.consultation.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import java.io.Serializable;

View File

@@ -1,7 +1,7 @@
package com.healthlink.his.web.consultation.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import java.io.Serializable;

View File

@@ -1,7 +1,7 @@
package com.healthlink.his.web.consultation.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import java.io.Serializable;

View File

@@ -1,7 +1,7 @@
package com.healthlink.his.web.consultation.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import java.io.Serializable;

View File

@@ -1,7 +1,7 @@
package com.healthlink.his.web.datadictionary.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -1,7 +1,7 @@
package com.healthlink.his.web.datadictionary.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import com.healthlink.his.common.annotation.Dict;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -1,7 +1,7 @@
package com.healthlink.his.web.datadictionary.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -1,7 +1,7 @@
package com.healthlink.his.web.datadictionary.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import com.healthlink.his.common.annotation.Dict;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -1,7 +1,7 @@
package com.healthlink.his.web.datadictionary.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import com.healthlink.his.common.annotation.Dict;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -1,8 +1,8 @@
package com.healthlink.his.web.datadictionary.dto;
import com.fasterxml.jackson.annotation.JsonAlias;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import com.healthlink.his.common.annotation.Dict;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -1,7 +1,7 @@
package com.healthlink.his.web.datadictionary.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import com.healthlink.his.common.annotation.Dict;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -1,7 +1,7 @@
package com.healthlink.his.web.datadictionary.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -1,7 +1,7 @@
package com.healthlink.his.web.datadictionary.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -3,8 +3,8 @@
*/
package com.healthlink.his.web.datadictionary.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import com.healthlink.his.common.annotation.Dict;
import lombok.Data;
import lombok.experimental.Accessors;

View File

@@ -1,7 +1,7 @@
package com.healthlink.his.web.datadictionary.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import tools.jackson.databind.annotation.JsonSerialize;
import tools.jackson.databind.ser.std.ToStringSerializer;
import com.healthlink.his.common.annotation.Dict;
import lombok.Data;
import lombok.experimental.Accessors;

Some files were not shown because too many files have changed in this diff Show More