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

import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.zt.plat.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 报表字段配置分页 Request VO")
@Data
public class ConfigReportFieldPageReqVO extends PageParam {

    @Schema(description = "报表类型ID", example = "27695")
    private Long configReportTypeId;

    @Schema(description = "绑定字段")
    private String field;

    @Schema(description = "标题名称", example = "王五")
    private String fieldName;

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

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

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

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

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

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

    @Schema(description = "是否可修改")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private Integer[] isUpdate;

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

    @Schema(description = "排序号")
    private Integer no;

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

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

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

    @Schema(description = "版本")
    private Integer version;

}