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

import com.xinelu.familydoctor.applet.pojo.dto.CrowdDto;
import com.xinelu.familydoctor.applet.pojo.dto.PackageDto;
import com.xinelu.familydoctor.applet.pojo.vo.CrowdVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

/**
 * @Author mengkuiliang
 * @Description 居民签约申请请求类
 * @Date 2023-09-26 026 10:21
 * @Param
 * @return
 **/
@ApiModel("签约申请请求类")
@Data
public class ResidentSignApplyBody {
    /**
     * 签约申请编号
     */
    @ApiModelProperty("签约申请编号")
    private String bookingNo;

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

    /**
     * 居民姓名
     */
    @ApiModelProperty(value = "居民姓名", required = true)
    private String residentName;

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

    /**
     * 出生日期
     */
    @ApiModelProperty(value = "出生日期", required = true)
    private Date birthday;

    /**
     * 民族
     */
    @ApiModelProperty(value = "民族", required = true)
    private String nation;

    /**
     * 身份证号
     */
    @ApiModelProperty(value = "身份证号", required = true)
    private String identity;

    /**
     * 联系电话
     */
    @ApiModelProperty(value = "联系电话", required = true)
    private String phone;

    /**
     * 省编码
     */
    @ApiModelProperty(value = "省编码", required = true)
    private String province;

    /**
     * 省名称
     */
    @ApiModelProperty(value = "省名称", required = true)
    private String provinceName;

    /**
     * 市编码
     */
    @ApiModelProperty(value = "市编码", required = true)
    private String city;

    /**
     * 市名称
     */
    @ApiModelProperty(value = "市名称", required = true)
    private String cityName;

    /**
     * 区县编码
     */
    @ApiModelProperty(value = "区县编码", required = true)
    private String county;

    /**
     * 区县名称
     */
    @ApiModelProperty(value = "区县名称", required = true)
    private String countyName;

    /**
     * 街道/乡镇编码
     */
    @ApiModelProperty(value = "街道/乡镇编码", required = true)
    private String town;

    /**
     * 街道/乡镇名称
     */
    @ApiModelProperty(value = "街道/乡镇名称", required = true)
    private String townName;

    /**
     * 社区/村编码
     */
    @ApiModelProperty(value = "社区/村编码", required = true)
    private String committee;

    /**
     * 社区/村名称
     */
    @ApiModelProperty(value = "社区/村名称", required = true)
    private String committeeName;

    /**
     * 详细地址
     */
    @ApiModelProperty(value = "详细地址", required = true)
    private String address;

    /**
     * 所属人群编号
     */
    @ApiModelProperty(value = "所属人群编号", hidden = true)
    private String crowdsNo;

    /**
     * 所属人群名称
     */
    @ApiModelProperty(value = "所属人群名称", hidden = true)
    private String crowdsName;

    /**
     * 人群对象集合
     */
    @ApiModelProperty(value = "人群对象集合", required = true)
    private List<CrowdDto> crowdList;

    /**
     * 选择服务包编号
     */
    @ApiModelProperty(value = "选择服务包编号", hidden = true)
    private String packagesNo;

    /**
     * 选择服务包名称
     */
    @ApiModelProperty(value = "选择服务包名称", hidden = true)
    private String packagesName;

    /**
     * 服务包对象集合
     */
    @ApiModelProperty(value = "服务包对象集合", required = true)
    private List<PackageDto> packageList;

    /**
     * 签约机构编号
     */
    @ApiModelProperty(value = "签约机构编号", required = true)
    private String orgNo;

    /**
     * 签约机构名称
     */
    @ApiModelProperty(value = "签约机构名称", required = true)
    private String orgName;

    /**
     * 签约团队编号
     */
    @ApiModelProperty(value = "签约团队编号", required = true)
    private String teamNo;

    /**
     * 签约团队名称
     */
    @ApiModelProperty(value = "签约团队名称", required = true)
    private String teamName;

    /**
     * 签约医生编号
     */
    @ApiModelProperty(value = "签约医生编号", required = true)
    private String userNo;

    /**
     * 签约医生姓名
     */
    @ApiModelProperty(value = "签约医生姓名", required = true)
    private String userName;

    /**
     * 签约时间
     */
    @ApiModelProperty(value = "签约时间", required = true)
    private Date signTime;

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

    /**
     * 居民头像照片
     */
    @ApiModelProperty(value = "居民头像照片")
    private String residentAvatar;

    /**
     * 居民签字
     */
    @ApiModelProperty(value = "居民签字", required = true)
    private String residentAutographPath;

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

    /**
     * 户主姓名
     */
    @ApiModelProperty(value = "户主姓名", required = true)
    private String householderName;

    /**
     * 户主身份证号
     */
    @ApiModelProperty(value = "户主身份证号", required = true)
    private String householderIdentity;

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

}
