Fix Bug #524: 报卡详情日期字段回显为空 - 添加@JsonFormat注解确保Jackson正确序列化日期

根因:InfectiousCardDto和DoctorCardListDto中的LocalDate/LocalDateTime字段缺少@JsonFormat注解,
Jackson默认将日期序列化为数组格式[2026,5,15],前端normalizeDate函数无法解析导致字段显示为空。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-17 21:08:31 +08:00
parent 5d258b0ced
commit 7b55c76e4c
2 changed files with 10 additions and 0 deletions

View File

@@ -3,6 +3,7 @@
*/ */
package com.openhis.web.cardmanagement.dto; package com.openhis.web.cardmanagement.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data; import lombok.Data;
@@ -51,9 +52,11 @@ public class DoctorCardListDto {
private String diseaseName; private String diseaseName;
/** 发病日期 */ /** 发病日期 */
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDate onsetDate; private LocalDate onsetDate;
/** 诊断日期 */ /** 诊断日期 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime diagDate; private LocalDateTime diagDate;
/** 报告单位 */ /** 报告单位 */

View File

@@ -1,5 +1,6 @@
package com.openhis.web.cardmanagement.dto; package com.openhis.web.cardmanagement.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data; import lombok.Data;
import java.time.LocalDate; import java.time.LocalDate;
@@ -30,6 +31,7 @@ public class InfectiousCardDto {
private String sex; private String sex;
/** 出生日期 */ /** 出生日期 */
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDate birthday; private LocalDate birthday;
/** 实足年龄 */ /** 实足年龄 */
@@ -87,12 +89,15 @@ public class InfectiousCardDto {
private Integer caseClass; private Integer caseClass;
/** 发病日期 */ /** 发病日期 */
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDate onsetDate; private LocalDate onsetDate;
/** 诊断日期 */ /** 诊断日期 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime diagDate; private LocalDateTime diagDate;
/** 死亡日期 */ /** 死亡日期 */
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDate deathDate; private LocalDate deathDate;
/** 订正病名 */ /** 订正病名 */
@@ -111,6 +116,7 @@ public class InfectiousCardDto {
private String reportDoc; private String reportDoc;
/** 填卡日期 */ /** 填卡日期 */
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDate reportDate; private LocalDate reportDate;
/** 状态(0暂存/1已提交/2已审核/3已上报/4失败/5退回/6作废) */ /** 状态(0暂存/1已提交/2已审核/3已上报/4失败/5退回/6作废) */
@@ -129,5 +135,6 @@ public class InfectiousCardDto {
private String deptName; private String deptName;
/** 创建时间 */ /** 创建时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime; private LocalDateTime createTime;
} }