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

import cn.iocoder.yudao.module.system.dal.dataobject.biz.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.time.LocalDate;
import java.util.*;
import java.util.*;
import java.math.BigDecimal;

import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

import com.alibaba.excel.annotation.*;

@Schema(description = "管理后台 - 长者退住结算单 Response VO")
@Data
@ExcelIgnoreUnannotated
public class RefundSettlementOrderRespVO {

    @Schema(description = "退住结算单ID")
    private Long id;

    @Schema(description = "退住结算账单编号")
    private String orderNumber;

    @Schema(description = "长者姓名")
    private String elderName;

    @Schema(description = "床位名称")
    private String bedName;

    @Schema(description = "入住时间")
    private Date checkInTime;

    @Schema(description = "退住日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate retreatDate;

    @Schema(description = "费用截止日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate costDeadlineDate;

    @Schema(description = "备注")
    private String remarks;

    @Schema(description = "结算时间")
    private Date settlementTime;

    @Schema(description = "结算人姓名")
    private String settlementPersonName;

    @Schema(description = "结算金额")
    private BigDecimal refundAmount;

    @Schema(description = "应收金额")
    private BigDecimal receivableAmount;

    @Schema(description = "应退金额")
    private BigDecimal refundableAmount;




    //账单信息
    @Schema(description = "账单信息")
    private List<ExpenseOrderVO> orders;

    @Schema(description = "押金信息")
    private List<RefundSettlementOrderItemDO> refundSettlementOrderItems;

    @Schema(description = "支付信息")
    private List<ExpensePayOrderItemDO> payInfo;

}