package thyyxxk.webserver.entity.querydata;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @Description:
 * @Author:lihong
 * @Date: 2023/1/4
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("t_auto_upload_bill")
public class AutoUploadBill implements Serializable {
    private static final long serialVersionUID = 1L;
    @TableId(value = "id",  type = IdType.AUTO)
    private Integer id ;
    @TableField(value = "pat_no")
    private String patNo ;
    private Integer times ;
    @TableField(value = "ledger_sn")
    private Integer ledgerSn ;
    /**上传结果*/
    @TableField(value = "log_text")
    private String logText ;
    @TableField(value = "created_date")
    private Date createdDate ;
    /** 上传时间*/
    @TableField(value = "upload_date")
    private Date uploadDate ;
    /**1.自动上传 2.手动上传  0 查询全部*/
    @TableField(value = "type_flag")
    private Integer typeFlag ;
    /** 1.上传成功 2.上传失败  0 查询全部*/
    private Integer flag ;
    /** 结算时间*/
    @TableField(value = "setl_time")
    private Date setlTime ;

    /** 上传人编码*/
    @TableField(value = "upload_code")
    private String uploadCode ;

    /** 上传人姓名*/
    @TableField(value = "upload_name")
    private String uploadName ;


    @TableField(exist = false)
    private String setlStartTime;
    @TableField(exist = false)
    private String setlEndTime;

    @TableField(exist = false)
    private String updateStartTime;
    @TableField(exist = false)
    private String updateEndTime;
    /**查询条件 是否去重 0 否 1 是*/
    @TableField(exist = false)
    private String distinctFlag;
    /**查询条件 住院类型 0 住院 1 门诊*/
    @TableField(exist = false)
    private String zhuYuanFlag;

    @TableField(exist = false)
    private String flagName;
    @TableField(exist = false)
    private String typeFlagName;
    @TableField(exist = false)
    private String outDept;
    @TableField(exist = false)
    private String outDeptName;
    @TableField(exist = false)
    private List<String> outDeptList;
    @TableField(exist = false)
    private long currentPage;
    /**
     * 分页
     */
    @TableField(exist = false)
    private long pageSize;
    @TableField(exist = false)
    private String insuplcAdmdvs;
    /**参保地*/
    @TableField(exist = false)
    private String insuplcAdmdvsName;
    /**姓名*/
    @TableField(exist = false)
    private String psnName;
    /**医疗类别*/
    @TableField(exist = false)
    private String medType;
    @TableField(exist = false)
    private String medTypeName;
    /**清算机构*/
    @TableField(exist = false)
    private String clrOptins;
    @TableField(exist = false)
    private String clrOptinsName;


    public enum TypeFlag {
        AUTO_UPLOAD(1,"自动上传"),
        SD_UPLOAD(2,"手动上传");
        private int code;
        private String name;

        TypeFlag(int code, String name) {
            this.code = code;
            this.name = name;
        }

        public int getCode() {
            return code;
        }
        public String getName() {
            return name;
        }
    }



    public enum FLAG{
        UPLOAD_SUCCESS(1, "上传成功"),
        UPLOAD_FAIL(2, "上传失败");
        private int code;
        private String name;

        FLAG(int code, String name) {
            this.code = code;
            this.name = name;
        }

        public int getCode() {
            return code;
        }
        public String getName() {
            return name;
        }
    }

}
