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

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY;

/**
 * @Author: jinyd
 * @CreateTime: 2024/8/28  9:34
 * @Description:
 * @Version: 4.0
 */


@Schema(description = "管理后台 - 餐饮变更详情 Response VO")
@Data
@ExcelIgnoreUnannotated
public class CateringChangeDetailRespVO {

    @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "14680")
    @ExcelProperty("主键ID")
    private Long id;

    @Schema(description = "长者id", example = "23841")
    @ExcelProperty("长者id")
    private Long elderlyId;

    @Schema(description = "长者名称", example = "23841")
    private String elderName;

    @Schema(description = "证件号码", example = "23841")
    private String idCard;

    @Schema(description = "原餐饮标准id", example = "20769")
    private Long originalId;

    @Schema(description = "原餐饮标准名称", example = "李四")
    @ExcelProperty("原餐饮标准名称")
    private String originalName;

//    @Schema(description = "原护理等级", example = "20769")
//    @ExcelProperty("原护理等级")
//    private String originalItemName;

    @Schema(description = "新餐饮标准id", example = "李四")
    private String expectId;

    @Schema(description = "新餐饮标准", example = "李四")
    private String expectName;

    @Schema(description = "变更生效日期", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("变更生效日期")
    @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY)
    private LocalDate changeDate;

//    @Schema(description = "护理等级", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
//    @ExcelProperty("护理等级")
//    private String chargeItemName;

    @Schema(description = "床位号", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
    private String bedName;

//    @Schema(description = "收费项目id", example = "20769")
//    private Long overheadChargeId;

    @Schema(description = "价格", example = "31331")
    @ExcelProperty("价格")
    private BigDecimal amount;

    @Schema(description = "价格", example = "31331")
    @ExcelProperty("变更前价格")
    private BigDecimal originalAmount;

    @Schema(description = "是否折扣", example = "7779")
    @ExcelProperty("是否折扣")
    private Integer isDiscount;

    @Schema(description = "是否折扣", example = "7779")
    @ExcelProperty("变更前是否折扣")
    private Integer originalIsDiscount;


    @Schema(description = "实际金额", example = "31331")
    private BigDecimal actualAmount;

    @Schema(description = "折扣金额", example = "31331")
    private BigDecimal discountAmount;

    @Schema(description = "折扣", example = "31331")
    private BigDecimal discount;

    @Schema(description = "变更文件")
    @ExcelProperty("变更文件")
    private String changeFiles;

    @Schema(description = "变更原因", requiredMode = Schema.RequiredMode.REQUIRED, example = "不好")
    @ExcelProperty("变更原因")
    private String reason;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

    private String processInstanceId;

    private Integer status;

}
