package com.xinelu.familydoctor.applet.pojo.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.xinelu.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

/**
 * @Author mengkuiliang
 * @Description 居民签约申请展示类
 * @Date 2023-09-26 026 10:23
 * @Param
 * @return
 **/
@Data
@ApiModel("居民签约申请展示类")
public class ResidentSignApplyVo extends BaseEntity {

    /**
     * 签约申请编号
     */
    @ApiModelProperty("签约申请编号")
    private String bookingNo;

    /**
     * 居民注册业务主键
     */
    @ApiModelProperty("居民注册业务主键")
    private String patientId;

    /**
     * 居民姓名
     */
    @ApiModelProperty("居民姓名")
    private String residentName;

    /**
     * 居民性别1：男2：女99：不详
     */
    @ApiModelProperty("居民性别1：男2：女99：不详")
    private String gender;

    /**
     * 出生日期
     */
    @ApiModelProperty("出生日期")
    @JsonFormat(pattern ="yyyy-MM-dd", timezone = "GMT+8")
    private Date birthday;

    /**
     * 民族
     */
    @ApiModelProperty("民族")
    private String nation;

    /**
     * 身份证号
     */
    @ApiModelProperty("身份证号")
    private String identity;

    /**
     * 联系电话
     */
    @ApiModelProperty("联系电话")
    private String phone;

    /**
     * 省编码
     */
    @ApiModelProperty("省编码")
    private String province;

    /**
     * 省名称
     */
    @ApiModelProperty("省名称")
    private String provinceName;

    /**
     * 市编码
     */
    @ApiModelProperty("市编码")
    private String city;

    /**
     * 市名称
     */
    @ApiModelProperty("市名称")
    private String cityName;

    /**
     * 区县编码
     */
    @ApiModelProperty("区县编码")
    private String county;

    /**
     * 区县名称
     */
    @ApiModelProperty("区县名称")
    private String countyName;

    /**
     * 街道/乡镇编码
     */
    @ApiModelProperty("街道/乡镇编码")
    private String town;

    /**
     * 街道/乡镇名称
     */
    @ApiModelProperty("街道/乡镇名称")
    private String townName;

    /**
     * 社区/村编码
     */
    @ApiModelProperty("社区/村编码")
    private String committee;

    /**
     * 社区/村名称
     */
    @ApiModelProperty("社区/村名称")
    private String committeeName;

    /**
     * 详细地址
     */
    @ApiModelProperty("详细地址")
    private String address;

    /**
     * 所属人群编号
     */
    @ApiModelProperty("所属人群编号")
    private String crowdsNo;

    /**
     * 所属人群名称
     */
    @ApiModelProperty("所属人群名称")
    private String crowdsName;

    /**
     * 选择服务包编号
     */
    @ApiModelProperty("选择服务包编号")
    private String packagesNo;

    /**
     * 选择服务包名称
     */
    @ApiModelProperty("选择服务包名称")
    private String packagesName;

    /**
     * 签约机构编号
     */
    @ApiModelProperty("签约机构编号")
    private String orgNo;

    /**
     * 签约机构名称
     */
    @ApiModelProperty("签约机构名称")
    private String orgName;

    /**
     * 签约团队编号
     */
    @ApiModelProperty("签约团队编号")
    private String teamNo;

    /**
     * 签约团队名称
     */
    @ApiModelProperty("签约团队名称")
    private String teamName;

    /**
     * 签约医生编号
     */
    @ApiModelProperty("签约医生编号")
    private String userNo;

    /**
     * 签约医生姓名
     */
    @ApiModelProperty("签约医生姓名")
    private String userName;

    /**
     * 签约时间
     */
    @ApiModelProperty("签约时间")
    @JsonFormat(pattern ="yyyy-MM-dd", timezone = "GMT+8")
    private Date signTime;

    @ApiModelProperty("签约年数")
    private Integer signYears;

    /**
     * 居民签字
     */
    @ApiModelProperty("居民签字")
    private String residentAutographPath;

    /**
     * 与户主关系 1.户主本人;2.配偶;3.子女;4.(外)孙子女;5.父母;6.(外)祖父母;7.兄弟姐妹;8.儿媳;9.女婿;10.孙子女;11.侄子女;12.曾孙子女;13.祖父母;99.其他;
     */
    @ApiModelProperty("与户主关系 1.户主本人;2.配偶;3.子女;4.(外)孙子女;5.父母;6.(外)祖父母;7.兄弟姐妹;8.儿媳;9.女婿;10.孙子女;11.侄子女;12.曾孙子女;13.祖父母;99.其他;")
    private String relationshipWithHouseholder;

    /**
     * 户主姓名
     */
    @ApiModelProperty("户主姓名")
    private String householderName;

    /**
     * 户主身份证号
     */
    @ApiModelProperty("户主身份证号")
    private String householderIdentity;

    /**
     * 预约时间
     */
    @ApiModelProperty("预约时间")
    @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date applyTime;

    /**
     * 预约状态0：已申请1：已取消
     */
    @ApiModelProperty("预约状态0：已申请1：已取消")
    private String bookingStatus;

    /**
     * 取消时间
     */
    @ApiModelProperty("取消时间")
    @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date cancelTime;

    /**
     * 审批状态0：待批准1：已同意2：已拒绝
     */
    @ApiModelProperty("审批状态0：待批准1：已同意2：已拒绝")
    private String approvalStatus;

    /**
     * 拒绝理由
     */
    @ApiModelProperty("拒绝理由")
    private String refuseReason;

    /**
     * 操作时间
     */
    @ApiModelProperty("审批时间")
    @JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date approvalTime;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String remark;

    /**
     * 签约地市（1： 德州 2：东营 3：济南）
     */
    @ApiModelProperty(value = "签约地市（1： 德州 2：东营 3：济南）")
    private String cityCode;
}
