package com.ruoyi.zzb.hybz.domain;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.zzb.common.domain.BaseFileInfo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("JIUZHU_CARD_PLUS_APPLY_INFO")
public class HybzApplyInfo {

    private String applyFormId;
    private String deptName;
    private String deptCode;
    private String name;
    private Integer gender;
    private String idcard;
    private String phone;
    // 入住医院名称
    private String inHospitalName;

    // 住院时间
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date inHospitalTime;

    // 出院时间
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date outHospitalTime;

    private String diseaseTypeName;
    private String diseaseCode;
    private String diseaseName;
    private String createUserId;
    private String createUserName;
    private String createUserPoliceNo;

    @TableField(fill = FieldFill.INSERT)
    private String approveStatusCode;

    @TableField(fill = FieldFill.INSERT)
    private String approveStatusName;

    @TableField(fill = FieldFill.INSERT)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    @TableField(fill = FieldFill.INSERT_UPDATE)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;

    // 不与数据库字段进行映射
    @TableField(exist = false)
    private List<BaseFileInfo> baseFileInfos = new ArrayList<>(0);
}
