|
@@ -1,5 +1,7 @@
|
|
|
package request
|
|
|
|
|
|
+import "encoding/json"
|
|
|
+
|
|
|
// MoveExcelInfoReq 移动excel表格请求
|
|
|
type MoveExcelInfoReq struct {
|
|
|
ExcelClassifyId int `description:"excel表格分类id"`
|
|
@@ -107,6 +109,12 @@ type TableDataReq struct {
|
|
|
Sort int `description:"日期排序,1:倒序,2:正序"`
|
|
|
Data []EdbInfoData `description:"数据列表"`
|
|
|
TextRowData [][]ManualDataReq `description:"文本列表"`
|
|
|
+ DecimalConfig []DecimalConfig `description:"小数位数配置"`
|
|
|
+}
|
|
|
+type DecimalConfig struct {
|
|
|
+ Row string `description:"行上的索引, 目前仅保存指标的日期"`
|
|
|
+ Col int `description:"列上的索引, 目前仅保存edbInfoId"`
|
|
|
+ Decimal int `description:"小数位数, 从左至右,从上到下的顺序"`
|
|
|
}
|
|
|
|
|
|
// EdbInfoData 自定义表格的数据
|
|
@@ -119,12 +127,54 @@ type EdbInfoData struct {
|
|
|
Frequency string `description:"频度"`
|
|
|
Unit string `description:"单位"`
|
|
|
UnitEn string `description:"英文单位"`
|
|
|
+ Decimal int `description:"小数位数"`
|
|
|
+ ClassifyId int `description:"所属分类" json:"-"`
|
|
|
+ IsJoinPermission int `description:"是否加入权限管控,0:不加入;1:加入;默认:0" json:"-"`
|
|
|
+ HaveOperaAuth bool `description:"是否有数据权限,默认:false"`
|
|
|
+ Data []ManualDataReq `description:"单元格数据列表"`
|
|
|
+}
|
|
|
+type EdbInfoDataTemp struct {
|
|
|
+ EdbInfoId int `description:"指标ID"`
|
|
|
+ Tag string `description:"标签"`
|
|
|
+ EdbName string `description:"指标名称"`
|
|
|
+ EdbNameEn string `description:"英文指标名称"`
|
|
|
+ EdbAliasName string `description:"指标别名"`
|
|
|
+ Frequency string `description:"频度"`
|
|
|
+ Unit string `description:"单位"`
|
|
|
+ UnitEn string `description:"英文单位"`
|
|
|
+ Decimal *int `description:"小数位数"`
|
|
|
ClassifyId int `description:"所属分类" json:"-"`
|
|
|
IsJoinPermission int `description:"是否加入权限管控,0:不加入;1:加入;默认:0" json:"-"`
|
|
|
HaveOperaAuth bool `description:"是否有数据权限,默认:false"`
|
|
|
Data []ManualDataReq `description:"单元格数据列表"`
|
|
|
}
|
|
|
|
|
|
+func (e *EdbInfoData) UnmarshalJSON(data []byte) error {
|
|
|
+ var alias EdbInfoDataTemp
|
|
|
+
|
|
|
+ if err := json.Unmarshal(data, &alias); err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ if alias.Decimal != nil {
|
|
|
+ e.Decimal = *alias.Decimal
|
|
|
+ } else {
|
|
|
+ e.Decimal = -1
|
|
|
+ }
|
|
|
+ e.EdbInfoId = alias.EdbInfoId
|
|
|
+ e.Tag = alias.Tag
|
|
|
+ e.EdbName = alias.EdbName
|
|
|
+ e.EdbNameEn = alias.EdbNameEn
|
|
|
+ e.EdbAliasName = alias.EdbAliasName
|
|
|
+ e.Frequency = alias.Frequency
|
|
|
+ e.Unit = alias.Unit
|
|
|
+ e.UnitEn = alias.UnitEn
|
|
|
+ e.ClassifyId = alias.ClassifyId
|
|
|
+ e.IsJoinPermission = alias.IsJoinPermission
|
|
|
+ e.HaveOperaAuth = alias.HaveOperaAuth
|
|
|
+ e.Data = alias.Data
|
|
|
+ return nil
|
|
|
+}
|
|
|
+
|
|
|
// ManualDataReq 自定义表格的单元格数据
|
|
|
type ManualDataReq struct {
|
|
|
DataType int `description:"数据类型,1:普通的,2:插值法,3:手动输入,4:公式计算,5:预测值"`
|
|
@@ -136,6 +186,36 @@ type ManualDataReq struct {
|
|
|
RelationEdbInfoList []RelationEdbInfo `description:"关联指标(计算公式中关联的指标,用于计算的时候去匹配)"`
|
|
|
}
|
|
|
|
|
|
+type ManualDataTemp struct {
|
|
|
+ DataType int `description:"数据类型,1:普通的,2:插值法,3:手动输入,4:公式计算,5:预测值"`
|
|
|
+ DataTime string `description:"所属日期"`
|
|
|
+ DataTimeType int `description:"日期类型,1:实际日期;2:未来日期"`
|
|
|
+ ShowValue string `description:"展示值"`
|
|
|
+ Value string `description:"实际值(计算公式)"`
|
|
|
+ Decimal *int `description:"小数位数"`
|
|
|
+ RelationEdbInfoList []RelationEdbInfo `description:"关联指标(计算公式中关联的指标,用于计算的时候去匹配)"`
|
|
|
+}
|
|
|
+
|
|
|
+func (m *ManualDataReq) UnmarshalJSON(data []byte) error {
|
|
|
+ var alias ManualDataTemp
|
|
|
+
|
|
|
+ if err := json.Unmarshal(data, &alias); err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ if alias.Decimal != nil {
|
|
|
+ m.Decimal = *alias.Decimal
|
|
|
+ } else {
|
|
|
+ m.Decimal = -1
|
|
|
+ }
|
|
|
+ m.DataType = alias.DataType
|
|
|
+ m.DataTime = alias.DataTime
|
|
|
+ m.DataTimeType = alias.DataTimeType
|
|
|
+ m.ShowValue = alias.ShowValue
|
|
|
+ m.Value = alias.Value
|
|
|
+ m.RelationEdbInfoList = alias.RelationEdbInfoList
|
|
|
+ return nil
|
|
|
+}
|
|
|
+
|
|
|
// RelationEdbInfo 自定义表格中单元格的关联指标
|
|
|
type RelationEdbInfo struct {
|
|
|
Tag string `description:"指标标签"`
|