package cn.cslg.pas.domain;

import cn.cslg.pas.common.model.SuperEntity;
import cn.cslg.pas.common.model.dto.analysis.CustomSettingConfigDTO;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

/**
 * <p>
 * 自定义分析项目图表设置
 * </p>
 *
 * @author 王岩
 * @since 2021-12-23
 */
@Data
@TableName("os_custom_analysis_item_setting")
public class CustomAnalysisItemSetting extends SuperEntity<CustomAnalysisItemSetting> {

    public CustomAnalysisItemSetting() {
        this.type = 1;
        this.showType = 0;
        this.tableType = 0;
        this.theme = "customed";
        this.titleSize = 14;
        this.dataSize = 14;
        this.axisSize = 14;
        this.dataLabel = false;
        this.dataLabel2 = false;
        this.dataLabel3 = false;
        this.title1Dir = 0;
        this.title1 = "";
        this.title2 = "";
        this.dataPosition = "top";
        this.fontFamily = "sans-serif";
        this.fontFamily2 = "sans-serif";
        this.fontFamily3 = "sans-serif";
        this.fontFamily4 = "sans-serif";
        this.fontWeight = false;
        this.fontWeight2 = false;
        this.nameLocation = "end";
        this.nameLocation2 = "end";
        this.width = "100";
        this.height = "650";
        this.widthUnit = "%";
        this.heightUnit = "px";
        this.splitLine = false;
        this.splitLine2 = false;
        this.legend = true;
        this.gridTop = "0";
        this.gridLeft = "0";
        this.gridBottom = "0";
        this.gridRight = "0";
        this.labelColor = "#000000";
        this.legendColor = "#000000";
        this.legendLocation = "top";
        this.legendFontSize = "13";
        this.fontSize = "13";
        this.fontSize2 = "13";
        this.fontColor = "#000000";
        this.fontColor2 = "#000000";
        this.show = true;
        this.show2 = true;
        this.interval = true;
        this.interval2 = true;
        this.rotate = "0";
        this.rotate2 = "0";
        this.paddingTop = 0;
        this.paddingBottom = 0;
        this.paddingRight = 0;
        this.paddingLeft = 0;
        this.paddingTop2 = 0;
        this.paddingLeft2 = 0;
        this.paddingBottom2 = 0;
        this.paddingRight2 = 0;
        this.type2 = "scroll";
        this.barWidth = "";
        this.scatterSize = "0";
        this.config = new CustomSettingConfigDTO();
    }

    /**
     * UID
     */
    private String uid;

    /**
     * 基础类型
     */
    private Integer type;

    /**
     * 显示类型
     */
    private Integer showType;

    /**
     * 表格类型
     */
    private Integer tableType;

    /**
     * 图片主题
     */
    private String theme;

    /**
     * x轴标题
     */
    private String title1;

    /**
     * y轴标题
     */
    private String title2;

    /**
     * 数据标签是否显示
     */
    private Boolean dataLabel;

    /**
     * 数据标签字体大小
     */
    private Integer dataSize;

    /**
     * xy轴标题字体大小
     */
    private Integer titleSize;

    /**
     * xy轴字体大小
     */
    private Integer axisSize;

    /**
     * x轴字体方向
     */
    private Integer title1Dir;

    /**
     * 数据标签显示位置
     */
    private String dataPosition;

    /**
     * 表格设置
     */
    private String tableConfig;

    /**
     * 颜色
     */
    private String colorConfig;

    /**
     * 辅助线
     */
    private String lineConfig;

    @TableField(exist = false)
    private CustomSettingConfigDTO config;

    private Integer createBy;

    /**
     * 坐标轴(X)字体
     */
    private String fontFamily;

    /**
     * 坐标轴(X)加粗
     */
    private Boolean fontWeight;

    /**
     * 坐标轴(Y)加粗
     */
    private Boolean fontWeight2;

    /**
     * 坐标轴(X)名称位置
     */
    private String nameLocation;

    /**
     * 坐标轴（Y）名称位置
     */
    private String nameLocation2;

    /**
     * 高
     */
    private String height;

    /**
     * 宽
     */
    private String width;

    /**
     * 高（单位）
     */
    private String heightUnit;

    /**
     * 宽（单位）
     */
    private String widthUnit;

    /**
     * 坐标轴X（线）是否显示
     */
    private Boolean splitLine;

    /**
     * 坐标轴Y（线）是否显示
     */
    private Boolean splitLine2;

    /**
     * 图例是否显示
     */
    private Boolean legend;

    /**
     * 图例位置
     */
    private String legendLocation;

    /**
     * 图表位置
     */
    private String gridTop;
    private String gridLeft;
    private String gridRight;
    private String gridBottom;

    /**
     * 标签字体
     */
    private String fontFamily2;

    /**
     * 标签字体颜色
     */
    private String labelColor;

    /**
     * 图例字体
     */
    private String fontFamily3;

    /**
     * 图例字体大小
     */
    private String legendFontSize;

    /**
     * 图例字体颜色
     */
    private String legendColor;

    /**
     * 坐标轴（Y）字体
     */
    private String fontFamily4;

    /**
     * 坐标轴（X）字体大小
     */
    private String fontSize;

    /**
     * 坐标轴（Y）字体大小
     */
    private String fontSize2;

    /**
     * 坐标轴（X）字体颜色
     */
    private String fontColor;

    /**
     * 坐标轴（Y）字体颜色
     */
    private String fontColor2;

    /**
     * 坐标轴（X）显示
     */
    @TableField("`show`")
    private Boolean show;

    /**
     * 坐标轴（Y）显示
     */
    private Boolean show2;

    /**
     * X轴信息全部显示
     */
    @TableField("`interval`")
    private Boolean interval;

    /**
     * X轴倾斜角度
     */
    private String rotate;

    /**
     * Y轴信息全部显示
     */
    private Boolean interval2;

    /**
     * Y轴倾斜角度
     */
    private String rotate2;

    /**
     * X轴标题padding
     */
    private Integer paddingTop;
    private Integer paddingLeft;
    private Integer paddingBottom;
    private Integer paddingRight;

    /**
     * Y轴标题padding
     */
    private Integer paddingTop2;
    private Integer paddingLeft2;
    private Integer paddingBottom2;
    private Integer paddingRight2;

    /**
     * 图例类型
     */
    private String type2;

    /**
     * 饼图（环形图）数值
     */
    private Boolean dataLabel2;

    /**
     * 饼图（环形图）百分比
     */
    private Boolean dataLabel3;

    /**
     * 柱形图宽度
     */
    private String barWidth;

    /**
     * 气泡比例
     */
    private String scatterSize;
}
