栈溢出

This commit is contained in:
Ranyunqiao
2026-03-11 11:08:01 +08:00
parent 86e665bcae
commit 547cccbeb7
13 changed files with 49 additions and 159 deletions

View File

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.core.common.core.domain.HisBaseEntity; import com.core.common.core.domain.HisBaseEntity;
import com.fasterxml.jackson.annotation.JsonIdentityInfo;
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
@@ -20,6 +22,7 @@ import java.math.BigDecimal;
@TableName("adm_account") @TableName("adm_account")
@Accessors(chain = true) @Accessors(chain = true)
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id")
public class Account extends HisBaseEntity { public class Account extends HisBaseEntity {
/** ID */ /** ID */

View File

@@ -2,6 +2,8 @@ package com.openhis.administration.domain;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
import com.core.common.core.domain.HisBaseEntity; 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.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data; import lombok.Data;
@@ -19,6 +21,7 @@ import java.util.Date;
@TableName("adm_encounter") @TableName("adm_encounter")
@Accessors(chain = true) @Accessors(chain = true)
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id")
public class Encounter extends HisBaseEntity { public class Encounter extends HisBaseEntity {
/** /**

View File

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.core.common.core.domain.HisBaseEntity; import com.core.common.core.domain.HisBaseEntity;
import com.fasterxml.jackson.annotation.JsonIdentityInfo;
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
@@ -20,6 +22,7 @@ import java.util.Date;
@TableName("adm_encounter_location") @TableName("adm_encounter_location")
@Accessors(chain = true) @Accessors(chain = true)
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id")
public class EncounterLocation extends HisBaseEntity { public class EncounterLocation extends HisBaseEntity {
/** ID */ /** ID */

View File

@@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.core.common.core.domain.HisBaseEntity; import com.core.common.core.domain.HisBaseEntity;
import com.fasterxml.jackson.annotation.JsonIdentityInfo;
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
@@ -21,6 +23,7 @@ import java.util.Date;
@TableName("adm_encounter_participant") @TableName("adm_encounter_participant")
@Accessors(chain = true) @Accessors(chain = true)
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id")
public class EncounterParticipant extends HisBaseEntity { public class EncounterParticipant extends HisBaseEntity {
/** ID */ /** ID */

View File

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.core.common.core.domain.HisBaseEntity; 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 com.openhis.common.enums.InvoiceStatus;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
@@ -22,6 +24,7 @@ import java.util.Date;
@TableName("adm_invoice") @TableName("adm_invoice")
@Accessors(chain = true) @Accessors(chain = true)
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id")
public class Invoice extends HisBaseEntity { public class Invoice extends HisBaseEntity {
/** /**

View File

@@ -4,16 +4,25 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.core.common.core.domain.HisBaseEntity; 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; import java.util.Date;
/** /**
* 发票段管理Entity实体 * 发票段管理 Entity 实体
* *
* @author system * @author system
* @date 2025-11-18 * @date 2025-11-18
*/ */
@Data
@TableName("adm_invoice_segment") @TableName("adm_invoice_segment")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id")
public class InvoiceSegment extends HisBaseEntity { public class InvoiceSegment extends HisBaseEntity {
/** /**
@@ -23,7 +32,7 @@ public class InvoiceSegment extends HisBaseEntity {
private Long id; private Long id;
/** /**
* 段ID * 段 ID
*/ */
private Long segmentId; private Long segmentId;
@@ -38,7 +47,7 @@ public class InvoiceSegment extends HisBaseEntity {
private String endNumber; private String endNumber;
/** /**
* 员工ID * 员工 ID
*/ */
private Long employeeId; private Long employeeId;
@@ -48,7 +57,7 @@ public class InvoiceSegment extends HisBaseEntity {
private String employeeName; private String employeeName;
/** /**
* 开票员ID * 开票员 ID
*/ */
private Long invoicingStaffId; private Long invoicingStaffId;
@@ -71,159 +80,4 @@ public class InvoiceSegment extends HisBaseEntity {
* 备注 * 备注
*/ */
private String remark; 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 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 + '\''
+ ", employeeName='" + employeeName + '\''
+ ", status='" + status + '\''
+ '}';
}
} }

View File

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.core.common.core.domain.HisBaseEntity; 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.LocationMode;
import com.openhis.common.enums.LocationStatus; import com.openhis.common.enums.LocationStatus;
import lombok.Data; import lombok.Data;
@@ -20,6 +22,7 @@ import lombok.experimental.Accessors;
@TableName("adm_location") @TableName("adm_location")
@Accessors(chain = true) @Accessors(chain = true)
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id")
public class Location extends HisBaseEntity { public class Location extends HisBaseEntity {
/** ID */ /** ID */

View File

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.core.common.core.domain.HisBaseEntity; 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.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;
@@ -21,6 +23,7 @@ import lombok.experimental.Accessors;
@TableName("adm_organization") @TableName("adm_organization")
@Accessors(chain = true) @Accessors(chain = true)
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id")
public class Organization extends HisBaseEntity { public class Organization extends HisBaseEntity {
/** ID */ /** ID */

View File

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.core.common.core.domain.HisBaseEntity; 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.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data; import lombok.Data;
@@ -22,6 +24,7 @@ import java.util.Date;
@TableName("adm_patient") @TableName("adm_patient")
@Accessors(chain = true) @Accessors(chain = true)
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id")
public class Patient extends HisBaseEntity { public class Patient extends HisBaseEntity {
/** ID */ /** ID */

View File

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.core.common.core.domain.HisBaseEntity; 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.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data; import lombok.Data;
@@ -22,6 +24,7 @@ import java.util.Date;
@TableName("adm_practitioner") @TableName("adm_practitioner")
@Accessors(chain = true) @Accessors(chain = true)
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id")
public class Practitioner extends HisBaseEntity { public class Practitioner extends HisBaseEntity {
/** ID */ /** ID */

View File

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.core.common.core.domain.HisBaseEntity; import com.core.common.core.domain.HisBaseEntity;
import com.fasterxml.jackson.annotation.JsonIdentityInfo;
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
@@ -21,6 +23,7 @@ import java.util.Date;
@TableName("med_medication_dispense") @TableName("med_medication_dispense")
@Accessors(chain = true) @Accessors(chain = true)
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id")
public class MedicationDispense extends HisBaseEntity { public class MedicationDispense extends HisBaseEntity {
/** ID */ /** ID */

View File

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.core.common.core.domain.HisBaseEntity; import com.core.common.core.domain.HisBaseEntity;
import com.fasterxml.jackson.annotation.JsonIdentityInfo;
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
@@ -21,6 +23,7 @@ import java.util.Date;
@TableName("med_medication_request") @TableName("med_medication_request")
@Accessors(chain = true) @Accessors(chain = true)
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id")
public class MedicationRequest extends HisBaseEntity { public class MedicationRequest extends HisBaseEntity {
/** ID */ /** ID */

View File

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.core.common.core.domain.HisBaseEntity; import com.core.common.core.domain.HisBaseEntity;
import com.fasterxml.jackson.annotation.JsonIdentityInfo;
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
@@ -21,6 +23,7 @@ import java.util.Date;
@TableName("wor_service_request") @TableName("wor_service_request")
@Accessors(chain = true) @Accessors(chain = true)
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id")
public class ServiceRequest extends HisBaseEntity { public class ServiceRequest extends HisBaseEntity {
/** ID */ /** ID */