diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/Account.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/Account.java index 0c99fe49..43cd1eb0 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/Account.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/Account.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.core.common.core.domain.HisBaseEntity; +import com.fasterxml.jackson.annotation.JsonIdentityInfo; +import com.fasterxml.jackson.annotation.ObjectIdGenerators; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; @@ -20,6 +22,7 @@ import java.math.BigDecimal; @TableName("adm_account") @Accessors(chain = true) @EqualsAndHashCode(callSuper = false) +@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id") public class Account extends HisBaseEntity { /** ID */ diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/Encounter.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/Encounter.java index 36ec065c..43cfb365 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/Encounter.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/Encounter.java @@ -2,6 +2,8 @@ package com.openhis.administration.domain; import com.baomidou.mybatisplus.annotation.*; import com.core.common.core.domain.HisBaseEntity; +import com.fasterxml.jackson.annotation.JsonIdentityInfo; +import com.fasterxml.jackson.annotation.ObjectIdGenerators; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import lombok.Data; @@ -19,6 +21,7 @@ import java.util.Date; @TableName("adm_encounter") @Accessors(chain = true) @EqualsAndHashCode(callSuper = false) +@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id") public class Encounter extends HisBaseEntity { /** diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/EncounterLocation.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/EncounterLocation.java index 3cfcac3b..193d46e1 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/EncounterLocation.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/EncounterLocation.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.core.common.core.domain.HisBaseEntity; +import com.fasterxml.jackson.annotation.JsonIdentityInfo; +import com.fasterxml.jackson.annotation.ObjectIdGenerators; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; @@ -20,6 +22,7 @@ import java.util.Date; @TableName("adm_encounter_location") @Accessors(chain = true) @EqualsAndHashCode(callSuper = false) +@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id") public class EncounterLocation extends HisBaseEntity { /** ID */ diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/EncounterParticipant.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/EncounterParticipant.java index ef8664ec..d89fa9f6 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/EncounterParticipant.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/EncounterParticipant.java @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.core.common.core.domain.HisBaseEntity; +import com.fasterxml.jackson.annotation.JsonIdentityInfo; +import com.fasterxml.jackson.annotation.ObjectIdGenerators; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; @@ -21,6 +23,7 @@ import java.util.Date; @TableName("adm_encounter_participant") @Accessors(chain = true) @EqualsAndHashCode(callSuper = false) +@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id") public class EncounterParticipant extends HisBaseEntity { /** ID */ diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/Invoice.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/Invoice.java index e624cc7b..d18d9982 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/Invoice.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/Invoice.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.core.common.core.domain.HisBaseEntity; +import com.fasterxml.jackson.annotation.JsonIdentityInfo; +import com.fasterxml.jackson.annotation.ObjectIdGenerators; import com.openhis.common.enums.InvoiceStatus; import lombok.Data; import lombok.EqualsAndHashCode; @@ -22,6 +24,7 @@ import java.util.Date; @TableName("adm_invoice") @Accessors(chain = true) @EqualsAndHashCode(callSuper = false) +@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id") public class Invoice extends HisBaseEntity { /** diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/InvoiceSegment.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/InvoiceSegment.java index 956b8e11..7bc467bb 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/InvoiceSegment.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/InvoiceSegment.java @@ -4,16 +4,25 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.core.common.core.domain.HisBaseEntity; +import com.fasterxml.jackson.annotation.JsonIdentityInfo; +import com.fasterxml.jackson.annotation.ObjectIdGenerators; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; import java.util.Date; /** - * 发票段管理Entity实体 + * 发票段管理 Entity 实体 * * @author system * @date 2025-11-18 */ +@Data @TableName("adm_invoice_segment") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id") public class InvoiceSegment extends HisBaseEntity { /** @@ -23,7 +32,7 @@ public class InvoiceSegment extends HisBaseEntity { private Long id; /** - * 段ID + * 段 ID */ private Long segmentId; @@ -38,7 +47,7 @@ public class InvoiceSegment extends HisBaseEntity { private String endNumber; /** - * 员工ID + * 员工 ID */ private Long employeeId; @@ -48,12 +57,7 @@ public class InvoiceSegment extends HisBaseEntity { private String employeeName; /** - * 员工账号 - */ - private String employeeAccount; - - /** - * 开票员ID + * 开票员 ID */ private Long invoicingStaffId; @@ -76,169 +80,4 @@ public class InvoiceSegment extends HisBaseEntity { * 备注 */ private String remark; - - // ===== 标准getter/setter方法 ===== - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public Long getSegmentId() { - return segmentId; - } - - public void setSegmentId(Long segmentId) { - this.segmentId = segmentId; - } - - public String getBeginNumber() { - return beginNumber; - } - - public void setBeginNumber(String beginNumber) { - this.beginNumber = beginNumber; - } - - public String getEndNumber() { - return endNumber; - } - - public void setEndNumber(String endNumber) { - this.endNumber = endNumber; - } - - public Long getEmployeeId() { - return employeeId; - } - - public void setEmployeeId(Long employeeId) { - this.employeeId = employeeId; - } - - public String getEmployeeName() { - return employeeName; - } - - public void setEmployeeName(String employeeName) { - this.employeeName = employeeName; - } - - public String getEmployeeAccount() { - return employeeAccount; - } - - public void setEmployeeAccount(String employeeAccount) { - this.employeeAccount = employeeAccount; - } - - public Long getInvoicingStaffId() { - return invoicingStaffId; - } - - public void setInvoicingStaffId(Long invoicingStaffId) { - this.invoicingStaffId = invoicingStaffId; - } - - public String getInvoicingStaffName() { - return invoicingStaffName; - } - - public void setInvoicingStaffName(String invoicingStaffName) { - this.invoicingStaffName = invoicingStaffName; - } - - public Date getCreateDate() { - return createDate; - } - - public void setCreateDate(Date createDate) { - this.createDate = createDate; - } - - public String getStatus() { - return status; - } - - public void setStatus(String status) { - this.status = status; - } - - public String getRemark() { - return remark; - } - - public void setRemark(String remark) { - this.remark = remark; - } - - // ===== 业务验证方法 ===== - /** - * 验证发票段数据完整性 - * - * @return 验证结果,true表示通过 - */ - public boolean isValidInvoiceSegment() { - return id != null - && segmentId != null - && beginNumber != null && !beginNumber.trim().isEmpty() - && endNumber != null && !endNumber.trim().isEmpty(); - } - - /** - * 检查号码范围是否有效 - * - * @return true如果开始号码不大于结束号码 - */ - public boolean isNumberRangeValid() { - if (beginNumber == null || endNumber == null) { - return false; - } - try { - long begin = Long.parseLong(beginNumber.trim()); - long end = Long.parseLong(endNumber.trim()); - return begin <= end; - } catch (NumberFormatException e) { - return false; - } - } - - // ===== 重写equals和hashCode方法 ===== - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj == null || getClass() != obj.getClass()) { - return false; - } - - InvoiceSegment that = (InvoiceSegment) obj; - - return id != null ? id.equals(that.id) : that.id == null - && segmentId != null ? segmentId.equals(that.segmentId) : that.segmentId == null; - } - - @Override - public int hashCode() { - int result = id != null ? id.hashCode() : 0; - result = 31 * result + (segmentId != null ? segmentId.hashCode() : 0); - return result; - } - - @Override - public String toString() { - return "InvoiceSegment{" - + "id=" + id - + ", segmentId=" + segmentId - + ", beginNumber='" + beginNumber + '\'' - + ", endNumber='" + endNumber + '\'' - + ", employeeId=" + employeeId - + ", employeeName='" + employeeName + '\'' - + ", employeeAccount='" + employeeAccount + '\'' - + ", status='" + status + '\'' - + '}'; - } } diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/Location.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/Location.java index 90c8eed5..28e65ea2 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/Location.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/Location.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.core.common.core.domain.HisBaseEntity; +import com.fasterxml.jackson.annotation.JsonIdentityInfo; +import com.fasterxml.jackson.annotation.ObjectIdGenerators; import com.openhis.common.enums.LocationMode; import com.openhis.common.enums.LocationStatus; import lombok.Data; @@ -20,6 +22,7 @@ import lombok.experimental.Accessors; @TableName("adm_location") @Accessors(chain = true) @EqualsAndHashCode(callSuper = false) +@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id") public class Location extends HisBaseEntity { /** ID */ diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/Organization.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/Organization.java index c4f198d5..b6475da2 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/Organization.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/Organization.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.core.common.core.domain.HisBaseEntity; +import com.fasterxml.jackson.annotation.JsonIdentityInfo; +import com.fasterxml.jackson.annotation.ObjectIdGenerators; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; @@ -21,6 +23,7 @@ import lombok.experimental.Accessors; @TableName("adm_organization") @Accessors(chain = true) @EqualsAndHashCode(callSuper = false) +@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id") public class Organization extends HisBaseEntity { /** ID */ diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/Patient.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/Patient.java index 2ac177c0..a04191de 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/Patient.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/Patient.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.core.common.core.domain.HisBaseEntity; +import com.fasterxml.jackson.annotation.JsonIdentityInfo; +import com.fasterxml.jackson.annotation.ObjectIdGenerators; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import lombok.Data; @@ -22,6 +24,7 @@ import java.util.Date; @TableName("adm_patient") @Accessors(chain = true) @EqualsAndHashCode(callSuper = false) +@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id") public class Patient extends HisBaseEntity { /** ID */ diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/Practitioner.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/Practitioner.java index 7e3f478a..752a3f69 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/Practitioner.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/administration/domain/Practitioner.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.core.common.core.domain.HisBaseEntity; +import com.fasterxml.jackson.annotation.JsonIdentityInfo; +import com.fasterxml.jackson.annotation.ObjectIdGenerators; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import lombok.Data; @@ -22,6 +24,7 @@ import java.util.Date; @TableName("adm_practitioner") @Accessors(chain = true) @EqualsAndHashCode(callSuper = false) +@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id") public class Practitioner extends HisBaseEntity { /** ID */ diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/medication/domain/MedicationDispense.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/medication/domain/MedicationDispense.java index 165d0a9f..f1d6e247 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/medication/domain/MedicationDispense.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/medication/domain/MedicationDispense.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.core.common.core.domain.HisBaseEntity; +import com.fasterxml.jackson.annotation.JsonIdentityInfo; +import com.fasterxml.jackson.annotation.ObjectIdGenerators; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; @@ -21,6 +23,7 @@ import java.util.Date; @TableName("med_medication_dispense") @Accessors(chain = true) @EqualsAndHashCode(callSuper = false) +@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id") public class MedicationDispense extends HisBaseEntity { /** ID */ diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/medication/domain/MedicationRequest.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/medication/domain/MedicationRequest.java index a2b1984e..38c26463 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/medication/domain/MedicationRequest.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/medication/domain/MedicationRequest.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.core.common.core.domain.HisBaseEntity; +import com.fasterxml.jackson.annotation.JsonIdentityInfo; +import com.fasterxml.jackson.annotation.ObjectIdGenerators; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; @@ -21,6 +23,7 @@ import java.util.Date; @TableName("med_medication_request") @Accessors(chain = true) @EqualsAndHashCode(callSuper = false) +@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id") public class MedicationRequest extends HisBaseEntity { /** ID */ diff --git a/openhis-server-new/openhis-domain/src/main/java/com/openhis/workflow/domain/ServiceRequest.java b/openhis-server-new/openhis-domain/src/main/java/com/openhis/workflow/domain/ServiceRequest.java index 5a86a226..7c05ff56 100644 --- a/openhis-server-new/openhis-domain/src/main/java/com/openhis/workflow/domain/ServiceRequest.java +++ b/openhis-server-new/openhis-domain/src/main/java/com/openhis/workflow/domain/ServiceRequest.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.core.common.core.domain.HisBaseEntity; +import com.fasterxml.jackson.annotation.JsonIdentityInfo; +import com.fasterxml.jackson.annotation.ObjectIdGenerators; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; @@ -21,6 +23,7 @@ import java.util.Date; @TableName("wor_service_request") @Accessors(chain = true) @EqualsAndHashCode(callSuper = false) +@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id") public class ServiceRequest extends HisBaseEntity { /** ID */