package com.ltkj.hosp.domain; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import com.ltkj.common.annotation.Excel; import com.ltkj.common.core.domain.BaseEntity; import com.ltkj.common.core.domain.entity.SysDept; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; /** * 体检项目对象 tj_project * * @author ltkj * @date 2022-11-17 */ @Data @AllArgsConstructor @NoArgsConstructor @ApiModel(value = "体检项目表") public class TjProject extends BaseEntity { private static final long serialVersionUID = 1L; /** * 主键 */ @ApiModelProperty(value = "主键id") @TableId @JsonSerialize(using = ToStringSerializer.class) private Long proId; /** * 父项目id */ @Excel(name = "父项目id") @ApiModelProperty(value = "父项目id") @JsonSerialize(using = ToStringSerializer.class) private Long proParentId; /** * 项目名称 */ @Excel(name = "项目名称") @ApiModelProperty(value = "项目名称") private String proName; /** * 项目英文名 */ @Excel(name = "项目英文名") @ApiModelProperty(value = "项目英文名") private String proEngName; /** * 项目价格 */ @Excel(name = "项目价格") @ApiModelProperty(value = "项目价格") private BigDecimal proPrice; /** * 项目原价 */ @Excel(name = "项目原价") @ApiModelProperty(value = "项目原价") @TableField(exist = false) private BigDecimal proOrdPrice; /** * 备注 */ @Excel(name = "备注") @ApiModelProperty(value = "备注") private String proRemark; /** * 检查类别 */ @Excel(name = "检查类别") @ApiModelProperty(value = "检查类别") private String proCheckType; /** * 临床意义 */ @Excel(name = "临床意义") @ApiModelProperty(value = "临床意义") private String proMeaning; /** * 检查方式 */ @Excel(name = "检查方式") @ApiModelProperty(value = "检查方式 (改为是否空腹 默认否)") private String proCheckMethod; /** * 是否父级 0为父1为子 */ @ApiModelProperty(value = "是否父级 0为父1为子") @Excel(name = "是否父级 0为父1为子",readConverterExp="0=父级,1=子级") private Integer proStandard; /** * 项目类型 */ @Excel(name = "项目类型") @ApiModelProperty(value = "项目类型 (改为性别 男女全部)") private String proType; /** * 项目状态 */ @Excel(name = "项目状态",readConverterExp="0=正常,1=停用") @ApiModelProperty(value = "项目状态") private Integer proStatus; /** * 套餐是否含有该项目 */ @ApiModelProperty(value = "套餐是否含有该项目") @TableField(exist = false) private Integer ischeck; /** * 科室id */ @Excel(name = "科室") @ApiModelProperty(value = "科室id") @JsonSerialize(using = ToStringSerializer.class) private Long deptId; /** * 计量单位 */ @Excel(name = "计量单位") @ApiModelProperty(value = "计量单位") private String proMetering; @ApiModelProperty(value = "项目默认值") private String proDefault; @ApiModelProperty(value = "项目范围") private String proScope; @TableField(exist = false) @ApiModelProperty(value = "标志区分套餐和项目") private String flag; @TableField(exist = false) @ApiModelProperty(value = "体检项目集合") private List tjProjectList; @TableField(exist = false) @ApiModelProperty(value = "项目标准参考") private List tjStandardList; /** * 父项目中的子项目名称字符串 */ @ApiModelProperty(value = "夫项目中的子项目名称字符串") @TableField(exist = false) private String allSonProName; /** * 该项目的标准 */ @TableField(exist = false) @ApiModelProperty(value = "该项目的标准") private TjStandard standard; /** * 该项目的建议集合 */ @TableField(exist = false) @ApiModelProperty(value = "该项目的建议集合") private List adviceList; /** * 该项目的耗材集合 */ @TableField(exist = false) @ApiModelProperty(value = "该项目的耗材集合") private List consumablesList; /** * 该项目在套餐内现价 */ @TableField(exist = false) @ApiModelProperty(value = "该项目在套餐内现价") private BigDecimal priceNow; /** * 该项目所在部门名称 */ @TableField(exist = false) @ApiModelProperty(value = "该项目所在部门名称") private String deptName; /** * 收费项目id */ @TableField(exist = false) @ApiModelProperty(value = "收费项目id") @JsonSerialize(using = ToStringSerializer.class) private Long sfxmId; @ApiModelProperty(value = "结果类型") private String resultType; @ApiModelProperty(value = "是否采样0是1否") private String isSampling; @ApiModelProperty(value = "标本类型") private String specimenType; @ApiModelProperty(value = "检查部位") private String checkBw; @ApiModelProperty(value = "性别") private String proSex; @ApiModelProperty(value = "是否空腹") private String isEat; @ApiModelProperty(value = "是否打报告'Y/N'") private String needReport; @ApiModelProperty(value = "lis项目编码") private String lisXmbm; @ApiModelProperty(value = "lis项目名称") private String lisXmmc; @ApiModelProperty(value = "his项目编码") private String hisXmbm; @ApiModelProperty(value = "his项目名称") private String hisXmmc; @ApiModelProperty(value = "是否组合费用") private String sfzhfy; @ApiModelProperty(value = "his单价") private BigDecimal hisdj; @ApiModelProperty(value = "数量") private Integer sl; @ApiModelProperty(value = "序号") private Integer xh; @ApiModelProperty(value = "是否参与异常") private Integer sfcyyc; /** * 子项目 */ @TableField(exist = false) private List children = new ArrayList(); @Override public String toString() { return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) .append("proId", getProId()) .append("proParentId", getProParentId()) .append("proName", getProName()) .append("proEngName", getProEngName()) .append("proPrice", getProPrice()) .append("proRemark", getProRemark()) .append("createBy", getCreateBy()) .append("createTime", getCreateTime()) .append("updateBy", getUpdateBy()) .append("updateTime", getUpdateTime()) .append("deleted", getDeleted()) .append("proCheckType", getProCheckType()) .append("proMeaning", getProMeaning()) .append("proCheckMethod", getProCheckMethod()) .append("proStandard", getProStandard()) .append("proType", getProType()) .append("ischeck", getIscheck()) .append("specimenType", getSpecimenType()) .toString(); } }