package com.zt.plat.module.qms.business.config.controller.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;

@Schema(description = "管理后台 - 报表字段配置 Response VO")
@Data
@ExcelIgnoreUnannotated
public class ConfigReportFieldRespVO {

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

    @Schema(description = "报表类型ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "27695")
    @ExcelProperty("报表类型ID")
    private Long configReportTypeId;

    @Schema(description = "绑定字段", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("绑定字段")
    private String field;

    @Schema(description = "标题名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
    @ExcelProperty("标题名称")
    private String fieldName;

    @Schema(description = "字段类型,固定字段-field_fixed、动态字段-field_dynamic、计算字段-field_calculated", example = "1")
    @ExcelProperty("字段类型,固定字段-field_fixed、动态字段-field_dynamic、计算字段-field_calculated")
    private String fieldType;

    @Schema(description = "列宽")
    @ExcelProperty("列宽")
    private Integer fieldWidth;

    @Schema(description = "数据类型,【字典】【jy_sample_data_type】字符串，整数，小数,日期，时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @ExcelProperty("数据类型,【字典】【jy_sample_data_type】字符串，整数，小数,日期，时间")
    private String dataType;

    @Schema(description = "小数位")
    @ExcelProperty("小数位")
    private Integer decimalPosition;

    @Schema(description = "是否分组")
    @ExcelProperty("是否分组")
    private Integer isGroup;

    @Schema(description = "表头分组")
    @ExcelProperty("表头分组")
    private String titleGroup;

    @Schema(description = "是否可修改")
    @ExcelProperty("是否可修改")
    private Integer isUpdate;

    @Schema(description = "计算公式")
    @ExcelProperty("计算公式")
    private String formula;

    @Schema(description = "排序号", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("排序号")
    private Integer no;

    @Schema(description = "所属部门")
    @ExcelProperty("所属部门")
    private String systemDepartmentCode;

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

    @Schema(description = "备注,1-是，0-否")
    @ExcelProperty("备注,1-是，0-否")
    private String remark;

    @Schema(description = "版本", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("版本")
    private Integer version;

}