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

import cn.iocoder.yudao.module.system.dal.dataobject.biz.ElderlyContractDO;
import cn.iocoder.yudao.module.system.dal.dataobject.biz.ExpenseItemDO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.util.*;
import javax.validation.constraints.*;
import java.math.BigDecimal;

import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

@Schema(description = "管理后台 - 长者费用记录新增/修改 Request VO")
@Data
public class ExpenseSaveReqVO {


    @Schema(description = "长者ID", example = "11757")
    public Long elderId;

    @Schema(description = "总金额")
    private BigDecimal totalAmount;

    @Schema(description = "备注", example = "111")
    private String remark;

    @Schema(description = "月度费项列表")
    private List<ExpenseItemDO> monthlyExpenses;

    @Schema(description = "其它费用列表")
    private List<ExpenseItemDO> oneTimeExpenses;

    @Schema(description = "阶段费用列表")
    private List<ExpenseItemDO> stageExpenses;

    @Schema(description = "床位ID")
    private Long bedId;

    /**
     * 合同数据
     */
    @Schema(description = "合同数据")
    private ElderlyContractDO contract;

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

//    @Schema(description = "入住截止时间")
//    private Date checkInDeadlineTime;

    @Schema(description = "护理级别ID")
    private Long nurseLevelId;

    @Schema(description = "包房，0：不包房 1：包房")
    private Integer isPrivateRoom;

    @Schema(description = "特殊护理备注")
    private String specialCareNotes;

    @Schema(description = "入住类型")
    private Integer inStatusType;

    private Long tenantId;

    @Schema(description = "旧合同id")
    private Long oldContractId;

}