Compare commits
55 Commits
zhugeliang
...
refactor/j
| Author | SHA1 | Date | |
|---|---|---|---|
| c21a96da05 | |||
| 601be0d66b | |||
| e825f5fb33 | |||
| 97827b6ff0 | |||
| 01e8cc459c | |||
|
|
cc7c669fc1 | ||
|
|
5c73cc6987 | ||
| cb792684e2 | |||
| 871690848e | |||
| 17616a32cb | |||
|
|
2609791b62 | ||
|
|
c7ae277613 | ||
|
|
6882085d69 | ||
|
|
b1391afcd8 | ||
| d12b77f81a | |||
| acf685fbaf | |||
|
|
dfce7d0332 | ||
| 9ae9fae2c8 | |||
| 7374e17f2e | |||
| 6ca467a81a | |||
| d5e2eb6479 | |||
| e877dfd259 | |||
| 60c84b5a8c | |||
| 575e4d6c12 | |||
| 3eb506da2b | |||
| 65a895a8e3 | |||
| c4bfc1bba3 | |||
| f7b1e6589c | |||
| 0d536ea800 | |||
| 254c8d8046 | |||
| 9c1753eb55 | |||
| 0b1882c82a | |||
| 1662db161f | |||
| 848d8e0043 | |||
| 4fdb8dc06d | |||
| da0bb81fdb | |||
| 4bef2498b8 | |||
| d12cde14ba | |||
| 226d3192f1 | |||
| b063a2fb20 | |||
| 4a72fceec2 | |||
| 87bc7e166d | |||
| fb7116cfe1 | |||
| 3eeb9445fd | |||
| 8c6eb1efde | |||
| 7da7ec80aa | |||
| 3b3cb1a39e | |||
| adae04f01f | |||
| e9ac3bbc78 | |||
| a397e10ec7 | |||
| 821737dcc6 | |||
| 201378b1dc | |||
| 41f313cd32 | |||
| 002d7285db | |||
| 3d4259f653 |
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
@@ -1,7 +1,7 @@
|
|||||||
# HealthLink-HIS 代码模块索引
|
# HealthLink-HIS 代码模块索引
|
||||||
|
|
||||||
> 供 LLM 快速定位代码。每个模块列出 Controller → Service → Mapper 关键文件。
|
> 供 LLM 快速定位代码。每个模块列出 Controller → Service → Mapper 关键文件。
|
||||||
> 最后更新: 2026-06-14 18:00 (298 个 Controller)
|
> 最后更新: 2026-06-15 12:00 (300 个 Controller)
|
||||||
|
|
||||||
## 关键词 → 模块速查
|
## 关键词 → 模块速查
|
||||||
|
|
||||||
|
|||||||
32
docs/bug-fixes/bug-644.md
Normal file
32
docs/bug-fixes/bug-644.md
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
# Bug #644 修复报告
|
||||||
|
|
||||||
|
## 基本信息
|
||||||
|
- **标题**: Bug #644 测试完成,请验收。提出人: chenxj。
|
||||||
|
- **提出人**: chenxj
|
||||||
|
- **修复时间**: 00:24:37 ~ 00:32:06
|
||||||
|
- **修复耗时**: 347.9s
|
||||||
|
- **Commit**: `bd50c58dd`
|
||||||
|
- **测试结果**: ❌ FAIL
|
||||||
|
|
||||||
|
## 根因分析
|
||||||
|
## 变更摘要
|
||||||
|
|
||||||
|
### 根因分析
|
||||||
|
|
||||||
|
**Issue 1 — 状态不同步**:`getInpatientAdvicePage` 方法中,执行记录(`exePerformRecordList`)的计算被包裹在 `if (exeStatus != null)` 条件内,只有在"医嘱执行"页签(传 `exeStatus` 参数)时才计算。"已校对"页签不传 `exeStatus`,因此执行记录永远不会被
|
||||||
|
|
||||||
|
## 修复文件
|
||||||
|
.../impl/AdviceProcessAppServiceImpl.java | 89 +++++++++++++++-------
|
||||||
|
.../dto/InpatientAdviceDto.java | 3 +
|
||||||
|
|
||||||
|
## 流程时间线
|
||||||
|
| 时间 | 智能体 | 事件 | 状态 | 耗时 |
|
||||||
|
|------|--------|------|------|------|
|
||||||
|
| 00:24:37 | guanyu | fix_start | ⏳ | 0.0s |
|
||||||
|
| 00:25:39 | guanyu | fix_retry | ❓ | 0.0s |
|
||||||
|
| 00:32:06 | guanyu | fix_done | ✅ | 347.9s |
|
||||||
|
| 00:32:09 | zhugeliang | analyze_done | ✅ | 0.0s |
|
||||||
|
| 00:32:11 | chenlin | doc_done | ✅ | <1s |
|
||||||
|
|
||||||
|
## 全流程
|
||||||
|
诸葛亮分析 → guanyu 修复 → 张飞测试 → 华佗验收 → 陈琳归档
|
||||||
@@ -110,9 +110,9 @@
|
|||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- JSON工具类 -->
|
<!-- JSON工具类 -->
|
||||||
<!-- JSON工具类 -->
|
<!-- JSON工具类 -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.fasterxml.jackson.core</groupId>
|
<groupId>tools.jackson.core</groupId>
|
||||||
<artifactId>jackson-databind</artifactId>
|
<artifactId>jackson-databind</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ package com.core.common.annotation;
|
|||||||
import com.core.common.config.serializer.SensitiveJsonSerializer;
|
import com.core.common.config.serializer.SensitiveJsonSerializer;
|
||||||
import com.core.common.enums.DesensitizedType;
|
import com.core.common.enums.DesensitizedType;
|
||||||
import com.fasterxml.jackson.annotation.JacksonAnnotationsInside;
|
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.ElementType;
|
||||||
import java.lang.annotation.Retention;
|
import java.lang.annotation.Retention;
|
||||||
|
|||||||
@@ -4,14 +4,13 @@ import com.core.common.annotation.Sensitive;
|
|||||||
import com.core.common.core.domain.model.LoginUser;
|
import com.core.common.core.domain.model.LoginUser;
|
||||||
import com.core.common.enums.DesensitizedType;
|
import com.core.common.enums.DesensitizedType;
|
||||||
import com.core.common.utils.SecurityUtils;
|
import com.core.common.utils.SecurityUtils;
|
||||||
import com.fasterxml.jackson.core.JsonGenerator;
|
import tools.jackson.core.JacksonException;
|
||||||
import com.fasterxml.jackson.databind.BeanProperty;
|
import tools.jackson.core.JsonGenerator;
|
||||||
import com.fasterxml.jackson.databind.JsonMappingException;
|
import tools.jackson.databind.BeanProperty;
|
||||||
import com.fasterxml.jackson.databind.JsonSerializer;
|
import tools.jackson.databind.DatabindException;
|
||||||
import com.fasterxml.jackson.databind.SerializerProvider;
|
import tools.jackson.databind.ValueSerializer;
|
||||||
import com.fasterxml.jackson.databind.ser.ContextualSerializer;
|
import tools.jackson.databind.SerializationContext;
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -19,11 +18,11 @@ import java.util.Objects;
|
|||||||
*
|
*
|
||||||
* @author system
|
* @author system
|
||||||
*/
|
*/
|
||||||
public class SensitiveJsonSerializer extends JsonSerializer<String> implements ContextualSerializer {
|
public class SensitiveJsonSerializer extends ValueSerializer<String> {
|
||||||
private DesensitizedType desensitizedType;
|
private DesensitizedType desensitizedType;
|
||||||
|
|
||||||
@Override
|
@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()) {
|
if (desensitization()) {
|
||||||
gen.writeString(desensitizedType.desensitizer().apply(value));
|
gen.writeString(desensitizedType.desensitizer().apply(value));
|
||||||
} else {
|
} else {
|
||||||
@@ -32,14 +31,14 @@ public class SensitiveJsonSerializer extends JsonSerializer<String> implements C
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public JsonSerializer<?> createContextual(SerializerProvider prov, BeanProperty property)
|
public ValueSerializer<?> createContextual(SerializationContext prov, BeanProperty property)
|
||||||
throws JsonMappingException {
|
throws DatabindException {
|
||||||
Sensitive annotation = property.getAnnotation(Sensitive.class);
|
Sensitive annotation = property.getAnnotation(Sensitive.class);
|
||||||
if (Objects.nonNull(annotation) && Objects.equals(String.class, property.getType().getRawClass())) {
|
if (Objects.nonNull(annotation) && Objects.equals(String.class, property.getType().getRawClass())) {
|
||||||
this.desensitizedType = annotation.desensitizedType();
|
this.desensitizedType = annotation.desensitizedType();
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
return prov.findValueSerializer(property.getType(), property);
|
return prov.findPrimaryPropertySerializer(property.getType(), property);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -9,8 +9,8 @@ import com.core.common.annotation.Excel.Type;
|
|||||||
import com.core.common.annotation.Excels;
|
import com.core.common.annotation.Excels;
|
||||||
import com.core.common.core.domain.BaseEntity;
|
import com.core.common.core.domain.BaseEntity;
|
||||||
import com.core.common.xss.Xss;
|
import com.core.common.xss.Xss;
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
package com.core.common.filter;
|
package com.core.common.filter;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonFilter;
|
import com.fasterxml.jackson.annotation.JsonFilter;
|
||||||
import com.fasterxml.jackson.databind.ser.FilterProvider;
|
import tools.jackson.databind.ser.FilterProvider;
|
||||||
import com.fasterxml.jackson.databind.ser.impl.SimpleBeanPropertyFilter;
|
import tools.jackson.databind.ser.std.SimpleBeanPropertyFilter;
|
||||||
import com.fasterxml.jackson.databind.ser.impl.SimpleFilterProvider;
|
import tools.jackson.databind.ser.std.SimpleFilterProvider;
|
||||||
import org.apache.commons.lang3.ArrayUtils;
|
import org.apache.commons.lang3.ArrayUtils;
|
||||||
|
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.core.common.utils;
|
package com.core.common.utils;
|
||||||
|
|
||||||
import com.fasterxml.jackson.core.type.TypeReference;
|
import tools.jackson.core.type.TypeReference;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import tools.jackson.databind.ObjectMapper;
|
||||||
import com.core.common.constant.CacheConstants;
|
import com.core.common.constant.CacheConstants;
|
||||||
import com.core.common.core.domain.entity.SysDictData;
|
import com.core.common.core.domain.entity.SysDictData;
|
||||||
import com.core.common.core.redis.RedisCache;
|
import com.core.common.core.redis.RedisCache;
|
||||||
|
|||||||
@@ -1,11 +1,12 @@
|
|||||||
package com.core.common.utils;
|
package com.core.common.utils;
|
||||||
|
|
||||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
import tools.jackson.core.JacksonException;
|
||||||
import com.fasterxml.jackson.core.type.TypeReference;
|
import tools.jackson.core.type.TypeReference;
|
||||||
import com.fasterxml.jackson.databind.DeserializationFeature;
|
import tools.jackson.databind.DeserializationFeature;
|
||||||
import com.fasterxml.jackson.databind.JsonNode;
|
import tools.jackson.databind.JsonNode;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import tools.jackson.databind.ObjectMapper;
|
||||||
import com.fasterxml.jackson.databind.SerializationFeature;
|
import tools.jackson.databind.SerializationFeature;
|
||||||
|
import tools.jackson.databind.json.JsonMapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Jackson JSON 工具类
|
* Jackson JSON 工具类
|
||||||
@@ -13,12 +14,10 @@ import com.fasterxml.jackson.databind.SerializationFeature;
|
|||||||
* @author system
|
* @author system
|
||||||
*/
|
*/
|
||||||
public class JsonUtils {
|
public class JsonUtils {
|
||||||
private static final ObjectMapper MAPPER = new ObjectMapper();
|
private static final ObjectMapper MAPPER = JsonMapper.builder()
|
||||||
|
.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES)
|
||||||
static {
|
.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS)
|
||||||
MAPPER.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
|
.build();
|
||||||
MAPPER.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static ObjectMapper getMapper() {
|
public static ObjectMapper getMapper() {
|
||||||
return MAPPER;
|
return MAPPER;
|
||||||
@@ -27,7 +26,7 @@ public class JsonUtils {
|
|||||||
public static String toJson(Object obj) {
|
public static String toJson(Object obj) {
|
||||||
try {
|
try {
|
||||||
return MAPPER.writeValueAsString(obj);
|
return MAPPER.writeValueAsString(obj);
|
||||||
} catch (JsonProcessingException e) {
|
} catch (JacksonException e) {
|
||||||
return "{}";
|
return "{}";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
package com.core.common.utils.ip;
|
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.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.config.CoreConfig;
|
||||||
import com.core.common.constant.Constants;
|
import com.core.common.constant.Constants;
|
||||||
import com.core.common.utils.StringUtils;
|
import com.core.common.utils.StringUtils;
|
||||||
|
|||||||
@@ -34,7 +34,7 @@
|
|||||||
|
|
||||||
<!-- JSON工具类 -->
|
<!-- JSON工具类 -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.fasterxml.jackson.core</groupId>
|
<groupId>tools.jackson.core</groupId>
|
||||||
<artifactId>jackson-databind</artifactId>
|
<artifactId>jackson-databind</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
package com.core.flowable.service.impl;
|
package com.core.flowable.service.impl;
|
||||||
|
|
||||||
import com.core.common.utils.JsonUtils;
|
import com.core.common.utils.JsonUtils;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import tools.jackson.databind.ObjectMapper;
|
||||||
import com.fasterxml.jackson.databind.node.ObjectNode;
|
import tools.jackson.databind.node.ObjectNode;
|
||||||
import com.fasterxml.jackson.databind.node.ArrayNode;
|
import tools.jackson.databind.node.ArrayNode;
|
||||||
import com.fasterxml.jackson.databind.JsonNode;
|
import tools.jackson.databind.JsonNode;
|
||||||
import com.fasterxml.jackson.core.type.TypeReference;
|
import tools.jackson.core.type.TypeReference;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.core.common.core.domain.AjaxResult;
|
import com.core.common.core.domain.AjaxResult;
|
||||||
import com.core.common.core.domain.entity.SysRole;
|
import com.core.common.core.domain.entity.SysRole;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
package com.core.framework.aspectj;
|
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.utils.JsonUtils;
|
||||||
import com.core.common.annotation.Log;
|
import com.core.common.annotation.Log;
|
||||||
import com.core.common.core.domain.entity.SysUser;
|
import com.core.common.core.domain.entity.SysUser;
|
||||||
|
|||||||
@@ -1,51 +1,64 @@
|
|||||||
package com.core.framework.config;
|
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.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.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.context.annotation.EnableAspectJAutoProxy;
|
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.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.time.format.DateTimeFormatter;
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.util.TimeZone;
|
|
||||||
|
|
||||||
@Configuration
|
@Configuration
|
||||||
@EnableAspectJAutoProxy(exposeProxy = true)
|
@EnableAspectJAutoProxy(exposeProxy = true)
|
||||||
@MapperScan({"com.core.**.mapper", "com.healthlink.his.**.mapper"})
|
@MapperScan({"com.core.**.mapper", "com.healthlink.his.**.mapper"})
|
||||||
public class ApplicationConfig {
|
public class ApplicationConfig {
|
||||||
|
|
||||||
private static final JsonDeserializer<LocalDateTime> LOCAL_DATE_TIME_DESERIALIZER = new JsonDeserializer<>() {
|
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 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 SLASH_FORMATTER = DateTimeFormatter.ofPattern("yyyy/M/d HH:mm:ss");
|
|
||||||
|
|
||||||
@Override
|
private static final ValueDeserializer<LocalDateTime> LOCAL_DATE_TIME_DESERIALIZER =
|
||||||
public LocalDateTime deserialize(JsonParser p, DeserializationContext context) throws IOException {
|
new ValueDeserializer<LocalDateTime>() {
|
||||||
String text = p.getText();
|
@Override
|
||||||
if (text == null || text.isEmpty()) return null;
|
public LocalDateTime deserialize(JsonParser p, DeserializationContext context) throws JacksonException {
|
||||||
String cleaned = text.replaceAll("[Zz]$", "").replaceAll("[+-]\\d{2}:?\\d{2}$", "");
|
String text = p.getText();
|
||||||
try { return LocalDateTime.parse(cleaned, ISO_FORMATTER); } catch (Exception ignored) {}
|
if (text == null || text.isEmpty()) return null;
|
||||||
try { return LocalDateTime.parse(cleaned, SIMPLE_FORMATTER); } catch (Exception ignored) {}
|
String cleaned = text.replaceAll("[Zz]$", "").replaceAll("[+-]\\d{2}:?\\d{2}$", "");
|
||||||
return LocalDateTime.parse(cleaned, SLASH_FORMATTER);
|
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
|
@Bean
|
||||||
public Jackson2ObjectMapperBuilderCustomizer jacksonObjectMapperCustomization() {
|
public JsonMapperBuilderCustomizer jacksonObjectMapperCustomization() {
|
||||||
return builder -> {
|
return builder -> {
|
||||||
builder.timeZone(TimeZone.getDefault());
|
SimpleModule module = new SimpleModule("HealthLinkLocalDateTime");
|
||||||
builder.simpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
module.addDeserializer(LocalDateTime.class, LOCAL_DATE_TIME_DESERIALIZER);
|
||||||
JavaTimeModule javaTimeModule = new JavaTimeModule();
|
module.addSerializer(LocalDateTime.class, LOCAL_DATE_TIME_SERIALIZER);
|
||||||
javaTimeModule.addDeserializer(LocalDateTime.class, LOCAL_DATE_TIME_DESERIALIZER);
|
builder.addModule(module);
|
||||||
builder.modules(javaTimeModule);
|
|
||||||
builder.serializerByType(LocalDateTime.class, new LocalDateTimeSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,10 @@
|
|||||||
package com.core.framework.config;
|
package com.core.framework.config;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import tools.jackson.databind.DefaultTyping;
|
||||||
import com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator;
|
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.JsonAutoDetect;
|
||||||
import com.fasterxml.jackson.annotation.PropertyAccessor;
|
import com.fasterxml.jackson.annotation.PropertyAccessor;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
@@ -10,16 +13,17 @@ import org.springframework.data.redis.serializer.RedisSerializer;
|
|||||||
import org.springframework.data.redis.serializer.SerializationException;
|
import org.springframework.data.redis.serializer.SerializationException;
|
||||||
|
|
||||||
import java.nio.charset.Charset;
|
import java.nio.charset.Charset;
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Redis序列化器 - 兼容fastjson2旧格式
|
* Redis序列化器 - 兼容fastjson2旧格式(Jackson 3 迁移版)
|
||||||
*
|
*
|
||||||
* @author system
|
* @author system
|
||||||
*/
|
*/
|
||||||
public class FastJson2JsonRedisSerializer<T> implements RedisSerializer<T> {
|
public class FastJson2JsonRedisSerializer<T> implements RedisSerializer<T> {
|
||||||
private static final Logger log = LoggerFactory.getLogger(FastJson2JsonRedisSerializer.class);
|
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) */
|
/** 新格式: 带类型信息 (activateDefaultTyping) */
|
||||||
private final ObjectMapper typedMapper;
|
private final ObjectMapper typedMapper;
|
||||||
@@ -31,16 +35,21 @@ public class FastJson2JsonRedisSerializer<T> implements RedisSerializer<T> {
|
|||||||
super();
|
super();
|
||||||
this.clazz = clazz;
|
this.clazz = clazz;
|
||||||
|
|
||||||
|
// Jackson 3: 用 BasicPolymorphicTypeValidator 替代 LaissezFaireSubTypeValidator
|
||||||
|
PolymorphicTypeValidator ptv = BasicPolymorphicTypeValidator.builder()
|
||||||
|
.allowIfBaseType(Object.class)
|
||||||
|
.build();
|
||||||
|
|
||||||
// 新格式 ObjectMapper (带类型信息)
|
// 新格式 ObjectMapper (带类型信息)
|
||||||
this.typedMapper = new ObjectMapper();
|
this.typedMapper = JsonMapper.builder()
|
||||||
this.typedMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
|
.changeDefaultVisibility(vc -> vc.withVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY))
|
||||||
this.typedMapper.activateDefaultTyping(
|
.activateDefaultTyping(ptv, DefaultTyping.NON_FINAL)
|
||||||
LaissezFaireSubTypeValidator.instance,
|
.build();
|
||||||
ObjectMapper.DefaultTyping.NON_FINAL);
|
|
||||||
|
|
||||||
// 旧格式 ObjectMapper (不带类型信息)
|
// 旧格式 ObjectMapper (不带类型信息)
|
||||||
this.plainMapper = new ObjectMapper();
|
this.plainMapper = JsonMapper.builder()
|
||||||
this.plainMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
|
.changeDefaultVisibility(vc -> vc.withVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY))
|
||||||
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -75,4 +84,4 @@ public class FastJson2JsonRedisSerializer<T> implements RedisSerializer<T> {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,8 +2,10 @@ package com.core.framework.config;
|
|||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonAutoDetect;
|
import com.fasterxml.jackson.annotation.JsonAutoDetect;
|
||||||
import com.fasterxml.jackson.annotation.PropertyAccessor;
|
import com.fasterxml.jackson.annotation.PropertyAccessor;
|
||||||
import com.fasterxml.jackson.databind.DeserializationFeature;
|
import tools.jackson.databind.DeserializationFeature;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import tools.jackson.databind.JsonNode;
|
||||||
|
import tools.jackson.databind.ObjectMapper;
|
||||||
|
import tools.jackson.databind.json.JsonMapper;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.data.redis.serializer.RedisSerializer;
|
import org.springframework.data.redis.serializer.RedisSerializer;
|
||||||
@@ -12,7 +14,7 @@ import org.springframework.data.redis.serializer.SerializationException;
|
|||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Jackson Redis序列化器 - 兼容fastjson旧格式
|
* Jackson Redis序列化器 - 兼容fastjson旧格式(Jackson 3 迁移版)
|
||||||
*
|
*
|
||||||
* 新数据: 纯JSON (无类型包装),调用方用 convertValue 转换
|
* 新数据: 纯JSON (无类型包装),调用方用 convertValue 转换
|
||||||
* 旧fastjson: 去除L后缀后按JSON解析
|
* 旧fastjson: 去除L后缀后按JSON解析
|
||||||
@@ -30,10 +32,10 @@ public class FastjsonCompatibleRedisSerializer implements RedisSerializer<Object
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static ObjectMapper createMapper() {
|
private static ObjectMapper createMapper() {
|
||||||
ObjectMapper mapper = new ObjectMapper();
|
return JsonMapper.builder()
|
||||||
mapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
|
.changeDefaultVisibility(vc -> vc.withVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY))
|
||||||
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
|
.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES)
|
||||||
return mapper;
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 获取共享ObjectMapper,供 DictUtils / TokenService 等做 convertValue */
|
/** 获取共享ObjectMapper,供 DictUtils / TokenService 等做 convertValue */
|
||||||
@@ -64,7 +66,7 @@ public class FastjsonCompatibleRedisSerializer implements RedisSerializer<Object
|
|||||||
try {
|
try {
|
||||||
// 处理旧Jackson activateDefaultTyping格式: ["className", {data}]
|
// 处理旧Jackson activateDefaultTyping格式: ["className", {data}]
|
||||||
if (cleaned.startsWith("[\"") && cleaned.length() > 10) {
|
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()) {
|
if (node.isArray() && node.size() >= 2 && node.get(0).isTextual()) {
|
||||||
// 取data部分(第2个元素),忽略className
|
// 取data部分(第2个元素),忽略className
|
||||||
return objectMapper.treeToValue(node.get(1), Object.class);
|
return objectMapper.treeToValue(node.get(1), Object.class);
|
||||||
@@ -76,4 +78,4 @@ public class FastjsonCompatibleRedisSerializer implements RedisSerializer<Object
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
package com.core.framework.interceptor;
|
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.utils.JsonUtils;
|
||||||
import com.core.common.annotation.RepeatSubmit;
|
import com.core.common.annotation.RepeatSubmit;
|
||||||
import com.core.common.core.domain.AjaxResult;
|
import com.core.common.core.domain.AjaxResult;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
package com.core.framework.interceptor.impl;
|
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.utils.JsonUtils;
|
||||||
import com.core.common.annotation.RepeatSubmit;
|
import com.core.common.annotation.RepeatSubmit;
|
||||||
import com.core.common.constant.CacheConstants;
|
import com.core.common.constant.CacheConstants;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
package com.core.framework.security.handle;
|
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.utils.JsonUtils;
|
||||||
import com.core.common.constant.HttpStatus;
|
import com.core.common.constant.HttpStatus;
|
||||||
import com.core.common.core.domain.AjaxResult;
|
import com.core.common.core.domain.AjaxResult;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
package com.core.framework.security.handle;
|
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.utils.JsonUtils;
|
||||||
import com.core.common.constant.Constants;
|
import com.core.common.constant.Constants;
|
||||||
import com.core.common.core.domain.AjaxResult;
|
import com.core.common.core.domain.AjaxResult;
|
||||||
|
|||||||
@@ -71,17 +71,19 @@ public class TokenService {
|
|||||||
if (cached instanceof java.util.List<?> list && list.size() >= 2 && list.get(0) instanceof String) {
|
if (cached instanceof java.util.List<?> list && list.size() >= 2 && list.get(0) instanceof String) {
|
||||||
Object data = list.get(1);
|
Object data = list.get(1);
|
||||||
if (data instanceof java.util.Map) {
|
if (data instanceof java.util.Map) {
|
||||||
com.fasterxml.jackson.databind.ObjectMapper mapper =
|
tools.jackson.databind.ObjectMapper mapper =
|
||||||
new com.fasterxml.jackson.databind.ObjectMapper();
|
tools.jackson.databind.json.JsonMapper.builder()
|
||||||
mapper.configure(com.fasterxml.jackson.databind.DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
|
.disable(tools.jackson.databind.DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES)
|
||||||
|
.build();
|
||||||
return mapper.convertValue(data, LoginUser.class);
|
return mapper.convertValue(data, LoginUser.class);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 兼容纯JSON格式: LinkedHashMap -> LoginUser
|
// 兼容纯JSON格式: LinkedHashMap -> LoginUser
|
||||||
if (cached instanceof java.util.Map) {
|
if (cached instanceof java.util.Map) {
|
||||||
com.fasterxml.jackson.databind.ObjectMapper mapper =
|
tools.jackson.databind.ObjectMapper mapper =
|
||||||
new com.fasterxml.jackson.databind.ObjectMapper();
|
tools.jackson.databind.json.JsonMapper.builder()
|
||||||
mapper.configure(com.fasterxml.jackson.databind.DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
|
.disable(tools.jackson.databind.DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES)
|
||||||
|
.build();
|
||||||
return mapper.convertValue(cached, LoginUser.class);
|
return mapper.convertValue(cached, LoginUser.class);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
@@ -61,7 +61,7 @@
|
|||||||
|
|
||||||
<!-- JSON工具类 -->
|
<!-- JSON工具类 -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.fasterxml.jackson.core</groupId>
|
<groupId>tools.jackson.core</groupId>
|
||||||
<artifactId>jackson-databind</artifactId>
|
<artifactId>jackson-databind</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
package com.core.generator.service;
|
package com.core.generator.service;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import tools.jackson.databind.ObjectMapper;
|
||||||
import com.core.common.utils.JsonUtils;
|
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.Constants;
|
||||||
import com.core.common.constant.GenConstants;
|
import com.core.common.constant.GenConstants;
|
||||||
import com.core.common.core.text.CharsetKit;
|
import com.core.common.core.text.CharsetKit;
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
package com.core.generator.util;
|
package com.core.generator.util;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import tools.jackson.databind.ObjectMapper;
|
||||||
import com.core.common.utils.JsonUtils;
|
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.constant.GenConstants;
|
||||||
import com.core.common.utils.DateUtils;
|
import com.core.common.utils.DateUtils;
|
||||||
import com.core.common.utils.StringUtils;
|
import com.core.common.utils.StringUtils;
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
package com.core.system.domain;
|
package com.core.system.domain;
|
||||||
|
|
||||||
import com.core.common.core.domain.BaseEntity;
|
import com.core.common.core.domain.BaseEntity;
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 公告/通知已读记录 sys_notice_read
|
* 公告/通知已读记录 sys_notice_read
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Web Layer - API Controllers
|
# Web Layer - API Controllers
|
||||||
|
|
||||||
**Module**: `openhis-application/web`
|
**Module**: `healthlink-his-application/web`
|
||||||
**Role**: API endpoint layer - all REST controllers for frontend communication
|
**Role**: API endpoint layer - all REST controllers for frontend communication
|
||||||
|
|
||||||
## OVERVIEW
|
## OVERVIEW
|
||||||
|
|||||||
@@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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);
|
||||||
|
}});
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package com.healthlink.his.web.Inspection.dto;
|
package com.healthlink.his.web.Inspection.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import com.healthlink.his.common.annotation.Dict;
|
import com.healthlink.his.common.annotation.Dict;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.healthlink.his.web.Inspection.dto;
|
package com.healthlink.his.web.Inspection.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import com.healthlink.his.lab.domain.ActivityDefDeviceDef;
|
import com.healthlink.his.lab.domain.ActivityDefDeviceDef;
|
||||||
import com.healthlink.his.lab.domain.ActivityDefObservationDef;
|
import com.healthlink.his.lab.domain.ActivityDefObservationDef;
|
||||||
import com.healthlink.his.lab.domain.ActivityDefSpecimenDef;
|
import com.healthlink.his.lab.domain.ActivityDefSpecimenDef;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.healthlink.his.web.Inspection.dto;
|
package com.healthlink.his.web.Inspection.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import com.healthlink.his.common.annotation.Dict;
|
import com.healthlink.his.common.annotation.Dict;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
package com.healthlink.his.web.Inspection.dto;
|
package com.healthlink.his.web.Inspection.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
package com.healthlink.his.web.Inspection.dto;
|
package com.healthlink.his.web.Inspection.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.healthlink.his.web.Inspection.dto;
|
package com.healthlink.his.web.Inspection.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.healthlink.his.web.adjustprice.dto;
|
package com.healthlink.his.web.adjustprice.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.healthlink.his.web.appointmentmanage.dto;
|
package com.healthlink.his.web.appointmentmanage.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|||||||
@@ -3,8 +3,8 @@
|
|||||||
*/
|
*/
|
||||||
package com.healthlink.his.web.basedatamanage.dto;
|
package com.healthlink.his.web.basedatamanage.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
|||||||
@@ -3,8 +3,8 @@
|
|||||||
*/
|
*/
|
||||||
package com.healthlink.his.web.basedatamanage.dto;
|
package com.healthlink.his.web.basedatamanage.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
|||||||
@@ -3,8 +3,8 @@
|
|||||||
*/
|
*/
|
||||||
package com.healthlink.his.web.basedatamanage.dto;
|
package com.healthlink.his.web.basedatamanage.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import com.healthlink.his.common.annotation.Dict;
|
import com.healthlink.his.common.annotation.Dict;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.healthlink.his.web.basedatamanage.dto;
|
package com.healthlink.his.web.basedatamanage.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import com.healthlink.his.common.annotation.Dict;
|
import com.healthlink.his.common.annotation.Dict;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|||||||
@@ -3,8 +3,8 @@
|
|||||||
*/
|
*/
|
||||||
package com.healthlink.his.web.basedatamanage.dto;
|
package com.healthlink.his.web.basedatamanage.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
|||||||
@@ -3,8 +3,8 @@
|
|||||||
*/
|
*/
|
||||||
package com.healthlink.his.web.basedatamanage.dto;
|
package com.healthlink.his.web.basedatamanage.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import com.healthlink.his.common.annotation.Dict;
|
import com.healthlink.his.common.annotation.Dict;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|||||||
@@ -4,8 +4,8 @@
|
|||||||
package com.healthlink.his.web.basedatamanage.dto;
|
package com.healthlink.his.web.basedatamanage.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
|||||||
@@ -3,8 +3,8 @@
|
|||||||
*/
|
*/
|
||||||
package com.healthlink.his.web.basedatamanage.dto;
|
package com.healthlink.his.web.basedatamanage.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.healthlink.his.web.basedatamanage.dto;
|
package com.healthlink.his.web.basedatamanage.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import com.healthlink.his.common.annotation.Dict;
|
import com.healthlink.his.common.annotation.Dict;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|||||||
@@ -3,8 +3,8 @@
|
|||||||
*/
|
*/
|
||||||
package com.healthlink.his.web.basedatamanage.dto;
|
package com.healthlink.his.web.basedatamanage.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.healthlink.his.web.basedatamanage.dto;
|
package com.healthlink.his.web.basedatamanage.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
|||||||
@@ -3,8 +3,8 @@
|
|||||||
*/
|
*/
|
||||||
package com.healthlink.his.web.basedatamanage.dto;
|
package com.healthlink.his.web.basedatamanage.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.healthlink.his.web.basedatamanage.dto;
|
package com.healthlink.his.web.basedatamanage.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import com.healthlink.his.common.annotation.Dict;
|
import com.healthlink.his.common.annotation.Dict;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.healthlink.his.web.basicservice.dto;
|
package com.healthlink.his.web.basicservice.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import com.healthlink.his.common.annotation.Dict;
|
import com.healthlink.his.common.annotation.Dict;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|||||||
@@ -4,8 +4,8 @@
|
|||||||
package com.healthlink.his.web.cardmanagement.dto;
|
package com.healthlink.his.web.cardmanagement.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.healthlink.his.web.chargemanage.dto;
|
package com.healthlink.his.web.chargemanage.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import com.healthlink.his.common.constant.CommonConstants;
|
import com.healthlink.his.common.constant.CommonConstants;
|
||||||
import com.healthlink.his.common.enums.AccountBillingStatus;
|
import com.healthlink.his.common.enums.AccountBillingStatus;
|
||||||
import com.healthlink.his.common.enums.AccountStatus;
|
import com.healthlink.his.common.enums.AccountStatus;
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
package com.healthlink.his.web.chargemanage.dto;
|
package com.healthlink.his.web.chargemanage.dto;
|
||||||
|
|
||||||
import com.core.common.utils.SecurityUtils;
|
import com.core.common.utils.SecurityUtils;
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import com.healthlink.his.common.constant.CommonConstants;
|
import com.healthlink.his.common.constant.CommonConstants;
|
||||||
import com.healthlink.his.common.enums.ChargeItemContext;
|
import com.healthlink.his.common.enums.ChargeItemContext;
|
||||||
import com.healthlink.his.common.enums.ChargeItemStatus;
|
import com.healthlink.his.common.enums.ChargeItemStatus;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.healthlink.his.web.chargemanage.dto;
|
package com.healthlink.his.web.chargemanage.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.healthlink.his.web.chargemanage.dto;
|
package com.healthlink.his.web.chargemanage.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.healthlink.his.web.chargemanage.dto;
|
package com.healthlink.his.web.chargemanage.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import com.healthlink.his.common.enums.*;
|
import com.healthlink.his.common.enums.*;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.healthlink.his.web.chargemanage.dto;
|
package com.healthlink.his.web.chargemanage.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import com.healthlink.his.common.enums.EncounterActivityStatus;
|
import com.healthlink.his.common.enums.EncounterActivityStatus;
|
||||||
import com.healthlink.his.common.enums.LocationForm;
|
import com.healthlink.his.common.enums.LocationForm;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.healthlink.his.web.chargemanage.dto;
|
package com.healthlink.his.web.chargemanage.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import com.healthlink.his.common.enums.ParticipantType;
|
import com.healthlink.his.common.enums.ParticipantType;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|||||||
@@ -4,8 +4,8 @@
|
|||||||
package com.healthlink.his.web.chargemanage.dto;
|
package com.healthlink.his.web.chargemanage.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
import org.springframework.format.annotation.DateTimeFormat;
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|||||||
@@ -5,8 +5,8 @@ package com.healthlink.his.web.chargemanage.dto;
|
|||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.IdType;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import com.healthlink.his.common.annotation.Dict;
|
import com.healthlink.his.common.annotation.Dict;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|||||||
@@ -3,8 +3,8 @@
|
|||||||
*/
|
*/
|
||||||
package com.healthlink.his.web.chargemanage.dto;
|
package com.healthlink.his.web.chargemanage.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import com.healthlink.his.common.annotation.Dict;
|
import com.healthlink.his.common.annotation.Dict;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|||||||
@@ -4,8 +4,8 @@
|
|||||||
package com.healthlink.his.web.chargemanage.dto;
|
package com.healthlink.his.web.chargemanage.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import com.healthlink.his.common.annotation.Dict;
|
import com.healthlink.his.common.annotation.Dict;
|
||||||
import com.healthlink.his.yb.dto.PaymentDetailDto;
|
import com.healthlink.his.yb.dto.PaymentDetailDto;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.healthlink.his.web.chargemanage.dto;
|
package com.healthlink.his.web.chargemanage.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.healthlink.his.web.chargemanage.dto;
|
package com.healthlink.his.web.chargemanage.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import com.healthlink.his.common.annotation.Dict;
|
import com.healthlink.his.common.annotation.Dict;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.healthlink.his.web.chargemanage.dto;
|
package com.healthlink.his.web.chargemanage.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import com.healthlink.his.common.annotation.Dict;
|
import com.healthlink.his.common.annotation.Dict;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.healthlink.his.web.chargemanage.dto;
|
package com.healthlink.his.web.chargemanage.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.healthlink.his.web.chargemanage.dto;
|
package com.healthlink.his.web.chargemanage.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
|||||||
@@ -4,8 +4,8 @@
|
|||||||
package com.healthlink.his.web.chargemanage.dto;
|
package com.healthlink.his.web.chargemanage.dto;
|
||||||
|
|
||||||
import com.core.common.utils.SecurityUtils;
|
import com.core.common.utils.SecurityUtils;
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import com.healthlink.his.common.enums.EncounterClass;
|
import com.healthlink.his.common.enums.EncounterClass;
|
||||||
import com.healthlink.his.common.enums.RequestStatus;
|
import com.healthlink.his.common.enums.RequestStatus;
|
||||||
import com.healthlink.his.common.enums.TherapyTimeType;
|
import com.healthlink.his.common.enums.TherapyTimeType;
|
||||||
|
|||||||
@@ -3,8 +3,8 @@
|
|||||||
*/
|
*/
|
||||||
package com.healthlink.his.web.chargemanage.dto;
|
package com.healthlink.his.web.chargemanage.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import com.healthlink.his.common.annotation.Dict;
|
import com.healthlink.his.common.annotation.Dict;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.healthlink.his.web.chargemanage.dto;
|
package com.healthlink.his.web.chargemanage.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
|||||||
@@ -12,6 +12,10 @@ import com.healthlink.his.administration.domain.Account;
|
|||||||
import com.healthlink.his.administration.domain.ChargeItem;
|
import com.healthlink.his.administration.domain.ChargeItem;
|
||||||
import com.healthlink.his.administration.service.IAccountService;
|
import com.healthlink.his.administration.service.IAccountService;
|
||||||
import com.healthlink.his.administration.service.IChargeItemService;
|
import com.healthlink.his.administration.service.IChargeItemService;
|
||||||
|
import com.healthlink.his.check.domain.CheckMethod;
|
||||||
|
import com.healthlink.his.check.domain.CheckPackage;
|
||||||
|
import com.healthlink.his.check.service.ICheckMethodService;
|
||||||
|
import com.healthlink.his.check.service.ICheckPackageService;
|
||||||
import com.healthlink.his.check.domain.ExamApply;
|
import com.healthlink.his.check.domain.ExamApply;
|
||||||
import com.healthlink.his.check.domain.ExamApplyItem;
|
import com.healthlink.his.check.domain.ExamApplyItem;
|
||||||
import com.healthlink.his.check.service.IExamApplyItemService;
|
import com.healthlink.his.check.service.IExamApplyItemService;
|
||||||
@@ -71,6 +75,12 @@ public class ExamApplyController extends BaseController {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private IOrganizationService organizationService;
|
private IOrganizationService organizationService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ICheckMethodService checkMethodService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ICheckPackageService checkPackageService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询检查申请单列表
|
* 查询检查申请单列表
|
||||||
*/
|
*/
|
||||||
@@ -112,9 +122,9 @@ public class ExamApplyController extends BaseController {
|
|||||||
BigDecimal totalAmount = BigDecimal.ZERO;
|
BigDecimal totalAmount = BigDecimal.ZERO;
|
||||||
|
|
||||||
for (ExamApplyItem item : items) {
|
for (ExamApplyItem item : items) {
|
||||||
if (item.getItemFee() != null) {
|
BigDecimal itemTotal = item.getItemFee() != null ? item.getItemFee() : BigDecimal.ZERO;
|
||||||
totalAmount = totalAmount.add(item.getItemFee());
|
BigDecimal methodFee = getMethodAdditionalFee(item.getExamMethodCode(), item.getBodyPartCode());
|
||||||
}
|
totalAmount = totalAmount.add(itemTotal.add(methodFee));
|
||||||
}
|
}
|
||||||
|
|
||||||
apply.setTotalAmount(totalAmount);
|
apply.setTotalAmount(totalAmount);
|
||||||
@@ -169,6 +179,9 @@ public class ExamApplyController extends BaseController {
|
|||||||
examApply.setApplyTime(LocalDateTime.now());
|
examApply.setApplyTime(LocalDateTime.now());
|
||||||
examApply.setCreateTime(new Date());
|
examApply.setCreateTime(new Date());
|
||||||
examApply.setApplyStatus(0); // 0=已开单
|
examApply.setApplyStatus(0); // 0=已开单
|
||||||
|
if (examApply.getIsCharged() == null) examApply.setIsCharged(0);
|
||||||
|
if (examApply.getIsRefunded() == null) examApply.setIsRefunded(0);
|
||||||
|
if (examApply.getIsExecuted() == null) examApply.setIsExecuted(0);
|
||||||
|
|
||||||
// 操作员工号取当前登录用户
|
// 操作员工号取当前登录用户
|
||||||
try {
|
try {
|
||||||
@@ -304,10 +317,12 @@ public class ExamApplyController extends BaseController {
|
|||||||
chargeItem.setProductId(0L); // 产品ID
|
chargeItem.setProductId(0L); // 产品ID
|
||||||
|
|
||||||
// 金额:单价和总价取检查项目费用
|
// 金额:单价和总价取检查项目费用
|
||||||
BigDecimal fee = itemDto.getItemFee() != null ? itemDto.getItemFee() : BigDecimal.ZERO;
|
BigDecimal baseFee = itemDto.getItemFee() != null ? itemDto.getItemFee() : BigDecimal.ZERO;
|
||||||
|
BigDecimal methodFee = getMethodAdditionalFee(itemDto.getExamMethodCode(), itemDto.getBodyPartCode());
|
||||||
|
BigDecimal fee = baseFee.add(methodFee);
|
||||||
chargeItem.setQuantityValue(BigDecimal.ONE); // 数量
|
chargeItem.setQuantityValue(BigDecimal.ONE); // 数量
|
||||||
chargeItem.setQuantityUnit("次"); // 单位
|
chargeItem.setQuantityUnit("次"); // 单位
|
||||||
chargeItem.setUnitPrice(fee); // 单价
|
chargeItem.setUnitPrice(fee); // 单价 = 项目费 + 检查方法附加金额
|
||||||
chargeItem.setTotalPrice(fee); // 总价 = 单价 × 1
|
chargeItem.setTotalPrice(fee); // 总价 = 单价 × 1
|
||||||
|
|
||||||
// 租户和审计字段
|
// 租户和审计字段
|
||||||
@@ -490,7 +505,9 @@ public class ExamApplyController extends BaseController {
|
|||||||
chargeItem.setProductTable(CommonConstants.TableName.WOR_ACTIVITY_DEFINITION);
|
chargeItem.setProductTable(CommonConstants.TableName.WOR_ACTIVITY_DEFINITION);
|
||||||
chargeItem.setProductId(0L);
|
chargeItem.setProductId(0L);
|
||||||
|
|
||||||
BigDecimal fee = itemDto.getItemFee() != null ? itemDto.getItemFee() : BigDecimal.ZERO;
|
BigDecimal baseFee = itemDto.getItemFee() != null ? itemDto.getItemFee() : BigDecimal.ZERO;
|
||||||
|
BigDecimal methodFee = getMethodAdditionalFee(itemDto.getExamMethodCode(), itemDto.getBodyPartCode());
|
||||||
|
BigDecimal fee = baseFee.add(methodFee);
|
||||||
chargeItem.setQuantityValue(BigDecimal.ONE);
|
chargeItem.setQuantityValue(BigDecimal.ONE);
|
||||||
chargeItem.setQuantityUnit("次");
|
chargeItem.setQuantityUnit("次");
|
||||||
chargeItem.setUnitPrice(fee);
|
chargeItem.setUnitPrice(fee);
|
||||||
@@ -548,4 +565,38 @@ public class ExamApplyController extends BaseController {
|
|||||||
|
|
||||||
return AjaxResult.success("删除/作废成功");
|
return AjaxResult.success("删除/作废成功");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Bug #655: 根据检查方法代码查询附加金额(套餐价格)
|
||||||
|
* 查找链路:examMethodCode → CheckMethod → packageName → CheckPackage → packagePrice
|
||||||
|
*/
|
||||||
|
private BigDecimal getMethodAdditionalFee(String examMethodCode, String checkType) {
|
||||||
|
if (examMethodCode == null || examMethodCode.isEmpty()) {
|
||||||
|
return BigDecimal.ZERO;
|
||||||
|
}
|
||||||
|
// 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;
|
||||||
|
}
|
||||||
|
// 2. 根据 packageName 查找 CheckPackage(未停用的)
|
||||||
|
CheckPackage pkg = checkPackageService.getOne(
|
||||||
|
new LambdaQueryWrapper<CheckPackage>()
|
||||||
|
.eq(CheckPackage::getPackageName, method.getPackageName())
|
||||||
|
.eq(CheckPackage::getIsDisabled, 0)
|
||||||
|
.last("LIMIT 1"));
|
||||||
|
if (pkg == null || pkg.getPackagePrice() == null || pkg.getPackagePrice().compareTo(BigDecimal.ZERO) <= 0) {
|
||||||
|
return BigDecimal.ZERO;
|
||||||
|
}
|
||||||
|
// 3. 仅当套餐价格启用时才累加
|
||||||
|
if (pkg.getPackagePriceEnabled() != null && pkg.getPackagePriceEnabled() == 1) {
|
||||||
|
return pkg.getPackagePrice();
|
||||||
|
}
|
||||||
|
return BigDecimal.ZERO;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,57 +1,132 @@
|
|||||||
package com.healthlink.his.web.check.controller;
|
package com.healthlink.his.web.check.controller;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.core.common.core.domain.R;
|
import com.core.common.core.domain.R;
|
||||||
import com.healthlink.his.check.domain.*;
|
import com.healthlink.his.check.domain.*;
|
||||||
import com.healthlink.his.check.service.*;
|
import com.healthlink.his.check.service.*;
|
||||||
import lombok.AllArgsConstructor;import lombok.extern.slf4j.Slf4j;
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.util.StringUtils;import org.springframework.web.bind.annotation.*;
|
import org.springframework.util.StringUtils;
|
||||||
import java.util.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
@RestController @RequestMapping("/radiology-image") @Slf4j @AllArgsConstructor
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/radiology-image")
|
||||||
|
@Slf4j
|
||||||
|
@AllArgsConstructor
|
||||||
public class RadiologyImageController {
|
public class RadiologyImageController {
|
||||||
|
|
||||||
private final IRadiologyImageService imageService;
|
private final IRadiologyImageService imageService;
|
||||||
private final IRadiologyImageReportService reportService;
|
private final IRadiologyImageReportService reportService;
|
||||||
private final IDicomPrintRecordService printService;
|
private final IDicomPrintRecordService printService;
|
||||||
// 图像列表
|
|
||||||
|
// ==================== 图像管理 ====================
|
||||||
|
|
||||||
|
/** 图像列表 */
|
||||||
@GetMapping("/list")
|
@GetMapping("/list")
|
||||||
|
@PreAuthorize("@ss.hasPermi('check:radiologyImage:list')")
|
||||||
public R<?> getImageList(@RequestParam("applyId") Long applyId) {
|
public R<?> getImageList(@RequestParam("applyId") Long applyId) {
|
||||||
LambdaQueryWrapper<RadiologyImage> w = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<RadiologyImage> w = new LambdaQueryWrapper<>();
|
||||||
w.eq(RadiologyImage::getApplyId, applyId).orderByAsc(RadiologyImage::getInstanceNumber);
|
w.eq(RadiologyImage::getApplyId, applyId)
|
||||||
|
.orderByAsc(RadiologyImage::getInstanceNumber);
|
||||||
return R.ok(imageService.list(w));
|
return R.ok(imageService.list(w));
|
||||||
}
|
}
|
||||||
@PostMapping("/upload") @Transactional(rollbackFor=Exception.class)
|
|
||||||
public R<?> uploadImage(@RequestBody RadiologyImage img) { img.setCreateTime(new Date()); imageService.save(img); return R.ok(img); }
|
/** 上传影像图像 */
|
||||||
// 图文报告
|
@PostMapping("/upload")
|
||||||
|
@PreAuthorize("@ss.hasPermi('check:radiologyImage:add')")
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public R<?> uploadImage(@RequestBody RadiologyImage img) {
|
||||||
|
img.setCreateTime(new Date());
|
||||||
|
imageService.save(img);
|
||||||
|
return R.ok(img);
|
||||||
|
}
|
||||||
|
|
||||||
|
// ==================== 图文报告 ====================
|
||||||
|
|
||||||
|
/** 报告分页查询 */
|
||||||
@GetMapping("/report/page")
|
@GetMapping("/report/page")
|
||||||
public R<?> getReportPage(@RequestParam(value="status",required=false) String status,
|
@PreAuthorize("@ss.hasPermi('check:radiologyImage:report:list')")
|
||||||
@RequestParam(value="patientName",required=false) String patientName,
|
public R<?> getReportPage(
|
||||||
@RequestParam(value="pageNo",defaultValue="1") Integer pageNo,
|
@RequestParam(value = "status", required = false) String status,
|
||||||
@RequestParam(value="pageSize",defaultValue="20") Integer pageSize) {
|
@RequestParam(value = "patientName", required = false) String patientName,
|
||||||
|
@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
|
||||||
|
@RequestParam(value = "pageSize", defaultValue = "20") Integer pageSize) {
|
||||||
LambdaQueryWrapper<RadiologyImageReport> w = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<RadiologyImageReport> w = new LambdaQueryWrapper<>();
|
||||||
w.eq(StringUtils.hasText(status), RadiologyImageReport::getStatus, status)
|
w.eq(StringUtils.hasText(status), RadiologyImageReport::getStatus, status)
|
||||||
.like(StringUtils.hasText(patientName), RadiologyImageReport::getPatientName, patientName)
|
.like(StringUtils.hasText(patientName), RadiologyImageReport::getPatientName, patientName)
|
||||||
.orderByDesc(RadiologyImageReport::getCreateTime);
|
.orderByDesc(RadiologyImageReport::getCreateTime);
|
||||||
return R.ok(reportService.page(new Page<>(pageNo, pageSize), w));
|
return R.ok(reportService.page(new Page<>(pageNo, pageSize), w));
|
||||||
}
|
}
|
||||||
@PostMapping("/report/add") @Transactional(rollbackFor=Exception.class)
|
|
||||||
public R<?> addReport(@RequestBody RadiologyImageReport r) { r.setStatus("DRAFT"); r.setCreateTime(new Date()); reportService.save(r); return R.ok(r); }
|
/** 新建报告(草稿) */
|
||||||
@PutMapping("/report/submit/{id}") @Transactional(rollbackFor=Exception.class)
|
@PostMapping("/report/add")
|
||||||
|
@PreAuthorize("@ss.hasPermi('check:radiologyImage:report:add')")
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public R<?> addReport(@RequestBody RadiologyImageReport r) {
|
||||||
|
r.setStatus("DRAFT");
|
||||||
|
r.setCreateTime(new Date());
|
||||||
|
reportService.save(r);
|
||||||
|
return R.ok(r);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 提交报告 */
|
||||||
|
@PutMapping("/report/submit/{id}")
|
||||||
|
@PreAuthorize("@ss.hasPermi('check:radiologyImage:report:edit')")
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public R<?> submitReport(@PathVariable Long id) {
|
public R<?> submitReport(@PathVariable Long id) {
|
||||||
RadiologyImageReport r = reportService.getById(id); if (r == null) return R.fail("报告不存在");
|
RadiologyImageReport r = reportService.getById(id);
|
||||||
r.setStatus("REPORTED"); r.setReportTime(new Date()); reportService.updateById(r); return R.ok();
|
if (r == null) {
|
||||||
|
return R.fail("报告不存在");
|
||||||
|
}
|
||||||
|
r.setStatus("REPORTED");
|
||||||
|
r.setReportTime(new Date());
|
||||||
|
reportService.updateById(r);
|
||||||
|
return R.ok();
|
||||||
}
|
}
|
||||||
@PutMapping("/report/verify/{id}") @Transactional(rollbackFor=Exception.class)
|
|
||||||
public R<?> verifyReport(@PathVariable Long id, @RequestParam("doctor") String doctor) {
|
/** 审核报告 */
|
||||||
RadiologyImageReport r = reportService.getById(id); if (r == null) return R.fail("报告不存在");
|
@PutMapping("/report/verify/{id}")
|
||||||
r.setStatus("VERIFIED"); r.setVerifyDoctor(doctor); r.setVerifyTime(new Date()); reportService.updateById(r); return R.ok();
|
@PreAuthorize("@ss.hasPermi('check:radiologyImage:report:edit')")
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public R<?> verifyReport(@PathVariable Long id,
|
||||||
|
@RequestParam("doctor") String doctor) {
|
||||||
|
RadiologyImageReport r = reportService.getById(id);
|
||||||
|
if (r == null) {
|
||||||
|
return R.fail("报告不存在");
|
||||||
|
}
|
||||||
|
r.setStatus("VERIFIED");
|
||||||
|
r.setVerifyDoctor(doctor);
|
||||||
|
r.setVerifyTime(new Date());
|
||||||
|
reportService.updateById(r);
|
||||||
|
return R.ok();
|
||||||
}
|
}
|
||||||
// DICOM打印
|
|
||||||
@PostMapping("/print") @Transactional(rollbackFor=Exception.class)
|
// ==================== DICOM打印 ====================
|
||||||
public R<?> printDicom(@RequestBody DicomPrintRecord p) { p.setPrintTime(new Date()); p.setCreateTime(new Date()); printService.save(p); return R.ok(p); }
|
|
||||||
|
/** DICOM打印记录 */
|
||||||
|
@PostMapping("/print")
|
||||||
|
@PreAuthorize("@ss.hasPermi('check:radiologyImage:print:add')")
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public R<?> printDicom(@RequestBody DicomPrintRecord p) {
|
||||||
|
p.setPrintTime(new Date());
|
||||||
|
p.setCreateTime(new Date());
|
||||||
|
printService.save(p);
|
||||||
|
return R.ok(p);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 打印记录分页 */
|
||||||
@GetMapping("/print/page")
|
@GetMapping("/print/page")
|
||||||
public R<?> getPrintPage(@RequestParam(value="pageNo",defaultValue="1") Integer pageNo,
|
@PreAuthorize("@ss.hasPermi('check:radiologyImage:print:list')")
|
||||||
@RequestParam(value="pageSize",defaultValue="20") Integer pageSize) {
|
public R<?> getPrintPage(
|
||||||
return R.ok(printService.page(new Page<>(pageNo, pageSize), new LambdaQueryWrapper<DicomPrintRecord>().orderByDesc(DicomPrintRecord::getPrintTime)));
|
@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
|
||||||
|
@RequestParam(value = "pageSize", defaultValue = "20") Integer pageSize) {
|
||||||
|
LambdaQueryWrapper<DicomPrintRecord> w = new LambdaQueryWrapper<>();
|
||||||
|
w.orderByDesc(DicomPrintRecord::getPrintTime);
|
||||||
|
return R.ok(printService.page(new Page<>(pageNo, pageSize), w));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import com.core.common.core.domain.entity.SysUser;
|
|||||||
import com.core.common.utils.MessageUtils;
|
import com.core.common.utils.MessageUtils;
|
||||||
import com.core.common.utils.SecurityUtils;
|
import com.core.common.utils.SecurityUtils;
|
||||||
import com.core.system.service.ISysUserService;
|
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.core.common.utils.JsonUtils;
|
||||||
import com.healthlink.his.administration.domain.ChargeItem;
|
import com.healthlink.his.administration.domain.ChargeItem;
|
||||||
import com.healthlink.his.administration.domain.Encounter;
|
import com.healthlink.his.administration.domain.Encounter;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.healthlink.his.web.clinicalmanage.dto;
|
package com.healthlink.his.web.clinicalmanage.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import com.healthlink.his.common.annotation.Dict;
|
import com.healthlink.his.common.annotation.Dict;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|||||||
@@ -3,8 +3,8 @@
|
|||||||
*/
|
*/
|
||||||
package com.healthlink.his.web.common.dto;
|
package com.healthlink.his.web.common.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
|||||||
@@ -3,8 +3,8 @@
|
|||||||
*/
|
*/
|
||||||
package com.healthlink.his.web.common.dto;
|
package com.healthlink.his.web.common.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import com.healthlink.his.common.annotation.Dict;
|
import com.healthlink.his.common.annotation.Dict;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.healthlink.his.web.common.dto;
|
package com.healthlink.his.web.common.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
|||||||
@@ -3,8 +3,8 @@
|
|||||||
*/
|
*/
|
||||||
package com.healthlink.his.web.common.dto;
|
package com.healthlink.his.web.common.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
|||||||
@@ -3,8 +3,8 @@
|
|||||||
*/
|
*/
|
||||||
package com.healthlink.his.web.common.dto;
|
package com.healthlink.his.web.common.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
|||||||
@@ -4,8 +4,8 @@
|
|||||||
package com.healthlink.his.web.common.dto;
|
package com.healthlink.his.web.common.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
|||||||
@@ -3,8 +3,8 @@
|
|||||||
*/
|
*/
|
||||||
package com.healthlink.his.web.common.dto;
|
package com.healthlink.his.web.common.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.healthlink.his.web.consultation.dto;
|
package com.healthlink.his.web.consultation.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
package com.healthlink.his.web.consultation.dto;
|
package com.healthlink.his.web.consultation.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.healthlink.his.web.consultation.dto;
|
package com.healthlink.his.web.consultation.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.healthlink.his.web.consultation.dto;
|
package com.healthlink.his.web.consultation.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.healthlink.his.web.consultation.dto;
|
package com.healthlink.his.web.consultation.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.healthlink.his.web.datadictionary.dto;
|
package com.healthlink.his.web.datadictionary.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.healthlink.his.web.datadictionary.dto;
|
package com.healthlink.his.web.datadictionary.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import com.healthlink.his.common.annotation.Dict;
|
import com.healthlink.his.common.annotation.Dict;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.healthlink.his.web.datadictionary.dto;
|
package com.healthlink.his.web.datadictionary.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.healthlink.his.web.datadictionary.dto;
|
package com.healthlink.his.web.datadictionary.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import com.healthlink.his.common.annotation.Dict;
|
import com.healthlink.his.common.annotation.Dict;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.healthlink.his.web.datadictionary.dto;
|
package com.healthlink.his.web.datadictionary.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import com.healthlink.his.common.annotation.Dict;
|
import com.healthlink.his.common.annotation.Dict;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
package com.healthlink.his.web.datadictionary.dto;
|
package com.healthlink.his.web.datadictionary.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonAlias;
|
import com.fasterxml.jackson.annotation.JsonAlias;
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import com.healthlink.his.common.annotation.Dict;
|
import com.healthlink.his.common.annotation.Dict;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.healthlink.his.web.datadictionary.dto;
|
package com.healthlink.his.web.datadictionary.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import com.healthlink.his.common.annotation.Dict;
|
import com.healthlink.his.common.annotation.Dict;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.healthlink.his.web.datadictionary.dto;
|
package com.healthlink.his.web.datadictionary.dto;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import tools.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
import tools.jackson.databind.ser.std.ToStringSerializer;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user