package chart_info

import (
	"time"
)

// ChartInfo 图表信息表
type ChartInfo struct {
	ChartInfoId     int       `gorm:"primaryKey;column:chart_info_id;type:int(11);not null" json:"chartInfoId"`
	ChartName       string    `gorm:"uniqueIndex:idx_chart_name;column:chart_name;type:varchar(500);default:''" json:"chartName"`        // 图表名称
	UniqueCode      string    `gorm:"unique;column:unique_code;type:varchar(50);default:''" json:"uniqueCode"`                           // 唯一编码
	ChartClassifyId int       `gorm:"uniqueIndex:idx_chart_name;column:chart_classify_id;type:int(11);default:0" json:"chartClassifyId"` // 分类id
	SysUserId       int       `gorm:"column:sys_user_id;type:int(11);default:0" json:"sysUserId"`                                        // 创建人id
	SysUserRealName string    `gorm:"column:sys_user_real_name;type:varchar(100);default:''" json:"sysUserRealName"`                     // 创建人姓名
	CreateTime      time.Time `gorm:"column:create_time;type:datetime" json:"createTime"`
	ModifyTime      time.Time `gorm:"column:modify_time;type:datetime" json:"modifyTime"`
	DateType        int       `gorm:"column:date_type;type:int(11);default:0" json:"dateType"`                     // 日期类型:1:00年至今,2:10年至今,3:15年至今,4:年初至今,5:自定义时间,6:起始日期至今
	StartDate       string    `gorm:"column:start_date;type:varchar(30);default:''" json:"startDate"`              // 自定义开始日期
	EndDate         string    `gorm:"column:end_date;type:varchar(30);default:''" json:"endDate"`                  // 自定义结束日期
	IsSetName       int       `gorm:"column:is_set_name;type:tinyint(4);default:0" json:"isSetName"`               // 0:未修改,1:已修改
	EdbInfoIDs      string    `gorm:"column:edb_info_ids;type:varchar(100);default:''" json:"edbInfoIds"`          // 指标id
	ChartType       int       `gorm:"column:chart_type;type:tinyint(4);default:1" json:"chartType"`                // 生成样式:1:曲线图,2:季节性图
	Calendar        string    `gorm:"column:calendar;type:varchar(10);default:''" json:"calendar"`                 // 公历/农历
	SeasonStartDate string    `gorm:"column:season_start_date;type:varchar(30);default:''" json:"seasonStartDate"` // 季节开始日期
	SeasonEndDate   string    `gorm:"column:season_end_date;type:varchar(30);default:''" json:"seasonEndDate"`     // 季节结束日期
	ChartImage      string    `gorm:"column:chart_image;type:varchar(255);default:''" json:"chartImage"`           // 图表图片
	Sort            int       `gorm:"column:sort;type:int(9);default:0" json:"sort"`                               // 排序字段,数字越小越排前面
	EdbEndDate      time.Time `gorm:"column:edb_end_date;type:date" json:"edbEndDate"`                             // 指标最后更新日期
	LeftMin         string    `gorm:"column:left_min;type:varchar(30);default:''" json:"leftMin"`                  // 图表左侧最小值
	LeftMax         string    `gorm:"column:left_max;type:varchar(30);default:''" json:"leftMax"`                  // 图表左侧最大值
	RightMin        string    `gorm:"column:right_min;type:varchar(30);default:''" json:"rightMin"`                // 图表右侧最小值
	RightMax        string    `gorm:"column:right_max;type:varchar(30);default:''" json:"rightMax"`                // 图表右侧最大值
}

// TableName get sql table name.获取数据库表名
func (m *ChartInfo) TableName() string {
	return "chart_info"
}

// ChartInfoColumns get sql column name.获取数据库列名
var ChartInfoColumns = struct {
	ChartInfoID     string
	ChartName       string
	UniqueCode      string
	ChartClassifyID string
	SysUserID       string
	SysUserRealName string
	CreateTime      string
	ModifyTime      string
	DateType        string
	StartDate       string
	EndDate         string
	IsSetName       string
	EdbInfoIDs      string
	ChartType       string
	Calendar        string
	SeasonStartDate string
	SeasonEndDate   string
	ChartImage      string
	Sort            string
	EdbEndDate      string
	LeftMin         string
	LeftMax         string
	RightMin        string
	RightMax        string
}{
	ChartInfoID:     "chart_info_id",
	ChartName:       "chart_name",
	UniqueCode:      "unique_code",
	ChartClassifyID: "chart_classify_id",
	SysUserID:       "sys_user_id",
	SysUserRealName: "sys_user_real_name",
	CreateTime:      "create_time",
	ModifyTime:      "modify_time",
	DateType:        "date_type",
	StartDate:       "start_date",
	EndDate:         "end_date",
	IsSetName:       "is_set_name",
	EdbInfoIDs:      "edb_info_ids",
	ChartType:       "chart_type",
	Calendar:        "calendar",
	SeasonStartDate: "season_start_date",
	SeasonEndDate:   "season_end_date",
	ChartImage:      "chart_image",
	Sort:            "sort",
	EdbEndDate:      "edb_end_date",
	LeftMin:         "left_min",
	LeftMax:         "left_max",
	RightMin:        "right_min",
	RightMax:        "right_max",
}