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

import com.fasterxml.jackson.annotation.JsonFormat;
import com.xinelu.manage.domain.orderevaluateinfo.OrderEvaluateInfo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

/**
 * @Author mengkuiliang
 * @Description 服务记录展示类
 * @Date 2023-10-17 017 11:32
 * @Param
 * @return
 **/
@ApiModel("服务记录展示类")
@Data
public class ResidentServiceRecordVo {

    /**
     * 履约业务主键
     */
    @ApiModelProperty(value = "履约业务主键")
    private String performanceNo;

    /**
     * 签约编号
     */
    @ApiModelProperty(value = "签约编号")
    private String signNo;

    /**
     * 居民编号
     */
    @ApiModelProperty(value = "居民编号")
    private String residentNo;

    /**
     * 居民身份证号
     */
    @ApiModelProperty(value = "居民身份证号")
    private String identity;

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


    /**
     * 履约明细业务主键
     */
    @ApiModelProperty(value = "履约明细业务主键")
    private String performanceDetailNo;

    /**
     * 服务包明细业务主键
     */
    @ApiModelProperty(value = "服务包明细业务主键")
    private String packageDetailNo;

    /**
     * 服务包编号
     */
    @ApiModelProperty(value = "服务包编号", required = true)
    private String packageNo;

    /**
     * 服务包名称
     */
    @ApiModelProperty(value = "服务包名称", required = true)
    private String packageName;

    /**
     * 服务项表单编号
     */
    @ApiModelProperty(value = "服务项表单编号")
    private String formNo;

    /**
     * 服务项表单名称
     */
    @ApiModelProperty(value = "服务项表单名称")
    private String formName;

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

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

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

    /**
     * 机构业务编号
     */
    @ApiModelProperty(value = "机构业务编号")
    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 = "履约医生")
    private String userNo;

    /**
     * 履约医生名称
     */
    @ApiModelProperty(value = "履约医生名称")
    private String userName;

    /**
     * 下次随访日期
     */
    @ApiModelProperty(value = "下次随访日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date followupNextTime;

    /**
     * 履约方式（1：家庭，2：门诊，3：电话，99：其他）
     */
    @ApiModelProperty(value = "履约方式（1：家庭，2：门诊，3：电话，99：其他）")
    private String performanceWay;

    /**
     * 履约方式名称（1：家庭，2：门诊，3：电话，99：其他）
     */
    @ApiModelProperty(value = "履约方式（1：家庭，2：门诊，3：电话，99：其他）")
    private String performanceWayName;

    /**
     * 生成方式（1：手动添加 2：随访自动同步）
     */
    @ApiModelProperty(value = "生成方式（1：手动添加 2：随访自动同步）")
    private String generateWay;

    /**
     * 生成方式名称（1：手动添加 2：随访自动同步）
     */
    @ApiModelProperty(value = "生成方式（1：手动添加 2：随访自动同步）")
    private String generateWayName;

    /**
     * 应服务次数
     */
    @ApiModelProperty(value = "应服务次数")
    private Integer serviceFreq;

    /**
     * 已履约次数
     */
    @ApiModelProperty(value = "已履约次数")
    private Integer performanceCount;

    /**
     * 服务评价对象
     */
    @ApiModelProperty("服务评价对象")
    OrderEvaluateInfo orderEvaluateInfo;
}
