package cn.iocoder.yudao.module.system.controller.admin.biz.vo;

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 io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 长者账单 DO
 *
 * @author 系统管理员
 */
@Data
public class ExpenseOrderResVO {

    /**
     * 账单ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 长者ID
     */
    @Schema(description = "长者Id")
    private Long elderId;
    /**
     * 账单编号
     */
    @Schema(description = "账单编号")
    private String billOrderNumber;
    /**
     * 支付方式
     */
    @Schema(description = "支付方式")
    private String payType;
    /**
     * 支付状态，0：未缴费 1：已缴费
     */
    @Schema(description = "支付状态，0：未缴费 1：已缴费")
    private Integer payStatus;
    /**
     * 支付时间
     */
    @Schema(description = "支付时间")
    private Date payTime;
    /**
     * 实际支付金额(总额)
     */
    @Schema(description = "实际支付金额(总额)")
    private BigDecimal payableAmount;
    /**
     * 应收金额(总额)
     */
    @Schema(description = "应收金额(总额)")
    private BigDecimal actualAmount;
    /**
     * 推送状态，0：未推送 1：已推送
     */
    private Integer pushStatus;
    /**
     * 账单月
     */
    @Schema(description = "账单月")
    private String billingMonth;
    /**
     * 创建时间
     */
    private Date createdTime;
    /**
     * 创建人
     */
    private String createdBy;

    /**
     * 收款人
     */
    private String payeeName;
    /**
     * 账单类型，1：入院账单 2：月度账单
     */
    private Integer type;
    /**
     * 欠费备注
     */
    private String arrearsNote;
    /**
     * 医保金额
     */
    private BigDecimal insuranceAmount;
    /**
     * 变更状态，0-未变化，1-有变化
     */
    private Integer changeStatus;


    /**
     * 床位费
     */
    @Schema(description = "床位费")
    private BigDecimal bedAmount;

    /**
     * 护理费
     */
    @Schema(description = "护理费")
    private BigDecimal nurseAmount;

    /**
     * 膳食费
     */
    @Schema(description = "膳食费")
    private BigDecimal mealAmount;

    /**
     * 其他费用
     */
    @Schema(description = "其他费用")
    private BigDecimal otherAmount;

    /**
     * 缴费总额
     */
    @Schema(description = "缴费总额")
    private BigDecimal totalAmount;
    /**
     * 欠费总额
     */
    @Schema(description = "欠费总额")
    private BigDecimal arrearsFeesAmount;

    private String elderName;

    private String bedName;

}