package request // 单元格的数据类型 const ( DateDT = iota + 1 //日期 EdbDT // 2 指标类型 CustomTextDT // 3 自定义文本 InsertDataDT // 4 插值(插入指标值,表格上,自动判断日期和指标的交集位置,插入值) PopInsertDataDT // 5 弹框插值(在表格上选择日期,然后空白单元格选择弹框并选择指标,插入该指标与该日期的值) FormulateCalculateDataDT // 6 公式计算(A+B这种) InsertEdbCalculateDataDT // 7 插入指标系统计算公式生成的值 DateCalculateDataDT // 8 日期计算 ) // 单元格的日期类型类型 const ( CustomDateT = iota //手动输入日期 SystemDateT // 系统日期 EdbDateDT // 导入指标日期(指标库的最新日期) ) // 单元格的日期类型类型 const ( SystemCurrDateT = iota + 1 //系统当前日期 SystemCalculateDateT // 系统日期计算后的日期 SystemFrequencyDateT // 导入系统日期相关的指定频率(所在周/旬/月/季/半年/年的最后/最早一天) ) // MixedTableReq 混合表格保存请求参数 type MixedTableReq struct { CellRelation string `description:"单元格关系"` Data [][]MixedTableCellDataReq `description:"混合表格单元格参数"` } // MixedTableCellDataReq 混合表格单元格参数 type MixedTableCellDataReq struct { Uid string `description:"单元格唯一标识"` DataType int `description:"数据类型,1:日期,2:指标,3:自定义文本,4:插值"` DataTime string `description:"所属日期"` DataTimeType int `description:"日期类型:0:手动输入日期(固定日期);1:导入系统日期;;3:导入指标日期(指标库的最新日期);"` EdbInfoId int `description:"指标id"` ShowValue string `description:"展示值"` Value string `description:"实际值和配置"` Extra string `description:"额外参数"` ShowStyle string `description:"展示的样式配置"` ShowFormatValue interface{} `description:"样式处理后的值"` MerData *struct { Type string `json:"type"` Mer struct { SKey string `json:"sKey"` Rowspan int `json:"rowspan"` Colspan int `json:"colspan"` Row int `json:"row"` Col int `json:"col"` } `json:"mer"` } `json:"merData" description:"合并单元格"` } // CellRelationConf // @Description: 单元格的关系配置结构体 type CellRelationConf struct { CellRelation RelationDate CellRelation `json:"relation_date"` RelationEdb CellRelation `json:"relation_edb"` } // CellRelation // @Description: 单元格的关系结构体 type CellRelation struct { Type int `json:"type" description:"数据类型,跟MixedTableCellDataReq的DataType保持一致"` Key string `json:"key" description:"单元格的唯一标识"` } // SystemDateConf // @Description: 系统导入日期配置 type SystemDateConf struct { Source int `description:"类型,1:导入系统日期;2:导入系统日期计算后的日期;3:导入系统日期相关的指定频率"` CalculateNum int `description:"计算频度的数量"` CalculateFrequency string `description:"计算频度"` Frequency string `description:"指定频度"` Day string `description:"指定日期"` } // EdbDateConf // @Description: 导入指标日期配置 type EdbDateConf struct { EdbInfoId int `description:"指标id"` EdbDateChangeConf } // EdbDateExtraConf // @Description: 导入指标日期前移和日期变换 type EdbDateChangeConf struct { MoveForward int `description:"前移的期数"` DateChange []*EdbDateConfDateChange } type EdbDateConfDateChange struct { Year int Month int Day int Frequency string `description:"频度变换"` FrequencyDay string `description:"频度的固定日期"` ChangeType int `description:"日期变换类型1日期位移,2指定频率"` } // MixedDateCalculateReq 混合表格日期计算 type MixedDateCalculateReq struct { Formula string `description:"计算公式"` DateList []MixDateCalculateTagReq `description:"表格中的单元格"` } // MixDateCalculateConf 混合表格中的日期计算 type MixDateCalculateConf struct { Formula string `description:"计算公式"` RelationCellList []MixDateCalculateTag `description:"表格中的单元格"` } // MixDateCalculateTag 混合表格中的日期计算的关联单元格 type MixDateCalculateTag struct { Uid string `description:"单元格唯一值"` Tag string `description:"单元格对应标签"` } // MixDateCalculateTagReq 混合表格中的日期计算的关联单元格 type MixDateCalculateTagReq struct { Date string `description:"日期"` Tag string `description:"指标对应标签"` } // MixCellShowStyle 混合表格 单元格样式展示计算 type MixCellShowStyle struct { Pn int `description:"小数点位数增加或减少,正数表述增加,负数表示减少" json:"pn"` Nt string `description:"变换类型:number 小数点位数改变,percent百分比," json:"nt"` GlObj interface{} `description:"公式对象:1:数值,2:百分比,3:文本" json:"glObj"` Decimal *int `description:"小数点位数" json:"decimal"` Last string `description:"起始操作:nt|decimal" json:"last"` Color string `description:"颜色值,#RRG" json:"color"` BackgroundColor string `description:"背景颜色值,#RRG" json:"background-color"` } type DateDataBeforeAfterReq struct { EdbInfoId int Date string Num int MoveForward int `description:"前移的期数"` DateChange []*EdbDateConfDateChange } // CalculateConf // @Description: 计算公式 type CalculateConf struct { EdbInfoId int `description:"指标id"` DataTime string `description:"所属日期,这个日期有传递的话,那么就取上下两期+自己的数据;没有传就默认最近5期的数据"` Frequency string `description:"需要转换的频度"` Formula interface{} `description:"计算公式,默认是string,实际上还需要转成其他样式"` Calendar string `description:"公历/农历"` MoveType int `description:"移动方式:1:领先(默认),2:滞后"` MoveFrequency string `description:"移动频度"` Source int `description:"1:累计值转月;2:累计值转季;3:同比值;4:同差值;5:N数值移动平均数计算;6:环比值;7:环差值;8:升频;9:降频;10:时间移位;11:超季节性;12:年化;13:累计值;14:累计值年初至今;15:指数修匀;16:日均值"` EdbDateChangeConf } // BaseCalculateConf // @Description: 基础计算公式(A+B) type BaseCalculateConf struct { Formula string `description:"计算公式,默认是string,实际上还需要转成其他样式"` RelationEdbInfoList []RelationCell `description:"关联单元格(计算公式中关联的单元格,用于计算的时候去匹配)"` } // RelationCell // @Description: 关联单元格的信息 type RelationCell struct { Tag string `description:"指标标签"` Row string `description:"第几行"` Key string `json:"key" description:"单元格的唯一标识"` }