package com.xinelu.applet.vo.specialdisease;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.xinelu.manage.domain.appointmentorderconsumable.AppointmentOrderConsumable;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.util.List;

/**
 * @Description 预约服务订单详情返回值实体类
 * @Author 纪寒
 * @Date 2022-11-11 14:48:01
 * @Version 1.0
 */
@Data
public class AppointmentOrderDetailsInfoVO implements Serializable {
    private static final long serialVersionUID = 7042842920314984169L;

    /**
     * 订单主表id
     */
    private Long appointmentOrderId;

    /**
     * 会员id
     */
    private Long patientId;

    /**
     * 护理项目id
     */
    private Long nurseStationItemId;

    /**
     * 护理站名称
     */
    private String nurseStationName;

    /**
     * 护理站头像
     */
    private String stationPictureUrl;

    /**
     * 护理站地址
     */
    private String address;

    /**
     * 护理站联系电话
     */
    private String stationPhone;

    /**
     * 护理人联系电话
     */
    private String patientPhone;

    /**
     * 服务项目名称
     */
    private String nurseItemName;

    /**
     * 服务时长
     */
    private String itemServeDurationUnit;

    /**
     * 护理人名称即：会员名称
     */
    private String patientName;

    /**
     * 服务地址
     */
    private String serviceAddress;

    /**
     * 服务时间
     */
    private LocalDate serviceDate;

    /**
     * 服务开始时间
     */
    private LocalTime serviceStartTime;

    /**
     * 服务结束时间
     */
    private LocalTime serviceEndTime;

    /**
     * 订单编号
     */
    private String orderNo;

    /**
     * 备注信息
     */
    private String remark;

    /**
     * 服务项目价格
     */
    private BigDecimal nurseItemPrice;

    /**
     * 耗材总价格
     */
    private BigDecimal consumableTotalPrice;

    /**
     * 订单总价格
     */
    private String totalPrice;

    /**
     * 订单状态
     */
    private String orderStatus;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    /**
     * 服务项目图片
     */
    private String itemPictureUrl;
    /**
     * 预约订单耗材信息
     */
    private List<AppointmentOrderConsumable> itemConsumableList;

    /**
     * 失能情况，NOT_DISABLED：未失能，DISABLED：已失能
     */
    private String disablingCondition;

    /**
     * 失能原因
     */
    private String disablingReason;

    /**
     * 订单类型，院内陪护：COMPANION_IN_HOSPITAL，其它：OTHER
     */
    private String orderType;

    /**
     * 陪护开始时间，院内陪护订单使用，格式：yyyy-MM-dd
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate companionStartDate;

    /**
     * 陪护结束时间，院内陪护订单使用，格式：yyyy-MM-dd
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate companionEndDate;

    /**
     * 陪护天数，院内陪护订单使用
     */
    private Integer companionDays;

    /**
     * 订单填写人姓名，院内陪护订单使用
     */
    private String orderWriteName;

    /**
     * 护理人姓名，院内陪护订单使用
     */
    private String caregiverName;

    /**
     * 护理人电话，院内陪护订单使用
     */
    private String caregiverPhone;

    /**
     * 医院名称，院内陪护订单使用
     */
    private String hospitalName;

    /**
     * 科室名称，院内陪护订单使用
     */
    private String departmentName;

    /**
     * 病床号，院内陪护订单使用
     */
    private String hospitalBedNumber;
}
