package com.zt.plat.module.base.controller.admin.plandate.vo;

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

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

    @Schema(description = "计划名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
    @ExcelProperty("计划名称")
    private String planName;

    @Schema(description = "计划编码", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("计划编码")
    private String planCoding;

    @Schema(description = "父级ID", example = "6059")
    @ExcelProperty("父级ID")
    private Long parentId;

    @Schema(description = "年份")
    @ExcelProperty("年份")
    private String year;

    @Schema(description = "初始值")
    @ExcelProperty("初始值")
    private BigDecimal initialValue;

    @Schema(description = "平均值")
    @ExcelProperty("平均值")
    private BigDecimal averageValue;

    @Schema(description = "合计值")
    @ExcelProperty("合计值")
    private BigDecimal sumValue;

    @Schema(description = "一月")
    @ExcelProperty("一月")
    private BigDecimal january;

    @Schema(description = "二月")
    @ExcelProperty("二月")
    private BigDecimal february;

    @Schema(description = "三月")
    @ExcelProperty("三月")
    private BigDecimal march;

    @Schema(description = "四月")
    @ExcelProperty("四月")
    private BigDecimal april;

    @Schema(description = "五月")
    @ExcelProperty("五月")
    private BigDecimal may;

    @Schema(description = "六月")
    @ExcelProperty("六月")
    private BigDecimal june;

    @Schema(description = "七月")
    @ExcelProperty("七月")
    private BigDecimal july;

    @Schema(description = "八月")
    @ExcelProperty("八月")
    private BigDecimal august;

    @Schema(description = "九月")
    @ExcelProperty("九月")
    private BigDecimal september;

    @Schema(description = "十月")
    @ExcelProperty("十月")
    private BigDecimal october;

    @Schema(description = "十一月")
    @ExcelProperty("十一月")
    private BigDecimal november;

    @Schema(description = "十二月")
    @ExcelProperty("十二月")
    private BigDecimal december;

    @Schema(description = "创建时间")
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

    @Schema(description = "子节点")
    @ExcelProperty("子节点")
    private List<PlanDateRespVO> children;
}