excel_info.go 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253
  1. package request
  2. import "encoding/json"
  3. type MoveExcelInfoReq struct {
  4. ExcelClassifyId int `description:"excel表格分类id"`
  5. ExcelInfoId int `description:"excel表格ID"`
  6. PrevExcelInfoId int `description:"上一个excel表格ID"`
  7. NextExcelInfoId int `description:"下一个excel表格ID"`
  8. }
  9. type DeleteExcelInfoReq struct {
  10. ExcelInfoId int `description:"表格ID"`
  11. }
  12. type AddExcelInfoReq struct {
  13. ExcelInfoId int `description:"表格ID"`
  14. ExcelName string `description:"表格名称"`
  15. Source int `description:"表格来源,1:excel插件的表格,2:自定义表格,5平衡表,默认:1"`
  16. ExcelType int `description:"表格类型,1:指标列,2:日期列,默认:1"`
  17. ExcelImage string `description:"表格截图"`
  18. ExcelClassifyId int `description:"分类id"`
  19. Content string `description:"Excel表格内容"`
  20. TableData interface{} `description:"自定义表格的数据内容"`
  21. ParentId int `description:"表格的父级id"`
  22. SourcesFrom string `description:"图表来源"`
  23. }
  24. type EditExcelInfoReq struct {
  25. ExcelInfoId int `description:"ETA表格ID"`
  26. ExcelType int `description:"表格类型,1:指标列,2:日期列,默认:1"`
  27. ExcelName string `description:"表格名称"`
  28. ExcelImage string `description:"表格截图"`
  29. ExcelClassifyId int `description:"分类id"`
  30. Content string `description:"Excel表格内容"`
  31. TableData interface{} `description:"自定义表格的数据内容"`
  32. SourcesFrom string `description:"图表来源"`
  33. }
  34. type SetExcelInfoImageReq struct {
  35. ExcelInfoId int `description:"表格ID"`
  36. ImageUrl string `description:"表格图片地址"`
  37. }
  38. type AddExcelDraftReq struct {
  39. ExcelInfoId int `description:"ETA表格ID"`
  40. ExcelName string `description:"表格名称"`
  41. ExcelClassifyId int `description:"分类id"`
  42. Content string `description:"Excel表格内容"`
  43. }
  44. type CalculateReq struct {
  45. CalculateFormula string `description:"计算公式"`
  46. TagMap map[string]float64 `description:"标签与值的关系"`
  47. }
  48. type GetOtherEdbDateDataReq struct {
  49. EdbInfoId int `description:"指标id"`
  50. SortType string `description:"如何排序,是正序还是倒序,枚举值:asc 正序,desc 倒序,不传默认倒序"`
  51. DateList []string `description:"日期列表,从小到大"`
  52. DateDecimal map[string]int `description:"日期行的小数位数映射"`
  53. }
  54. type GetBatchEdbDateDataReq struct {
  55. EdbInfoId []int `description:"指标id"`
  56. Num int `description:"默认期数"`
  57. Decimal []int `description:"指标上的小数位数"`
  58. SortType string `description:"如何排序,是正序还是倒序,枚举值:asc 正序,desc 倒序,不传默认倒序"`
  59. DateList []string `description:"日期列表,从小到大"`
  60. }
  61. type GetFutureDateDataReq struct {
  62. EdbInfoIdList []int `description:"指标id列表,从左至右,从上到下的顺序"`
  63. DateType int `description:"日期类型,1:期数,2:截止日期"`
  64. Num int `description:"需要添加的期数"`
  65. Decimal []int `description:"小数位数, 从左至右,从上到下的顺序"`
  66. StartDate string `description:"开始日期"`
  67. EndDate string `description:"结束日期"`
  68. }
  69. type GetHistoryDateDataReq struct {
  70. EdbInfoIdList []int `description:"指标id列表,从左至右,从上到下的顺序"`
  71. Num int `description:"需要添加的期数"`
  72. Decimal []int `description:"小数位数, 从左至右,从上到下的顺序"`
  73. EndDate string `description:"结束日期"`
  74. }
  75. type TableSaveReq struct {
  76. ExcelName string `description:"表格名称"`
  77. ExcelImage string `description:"表格截图"`
  78. ExcelClassifyId int `description:"分类id"`
  79. TableData interface{} `description:"表格数据"`
  80. }
  81. type TableDataReq struct {
  82. EdbInfoIdList []int `description:"指标id列表,从左至右,从上到下的顺序"`
  83. Sort int `description:"日期排序,1:倒序,2:正序"`
  84. Data []EdbInfoData `description:"数据列表"`
  85. TextRowData [][]ManualDataReq `description:"文本列表"`
  86. DecimalConfig []DecimalConfig `description:"小数位数配置"`
  87. }
  88. type DecimalConfig struct {
  89. Row string `description:"行上的索引, 目前仅保存指标的日期"`
  90. Col int `description:"列上的索引, 目前仅保存edbInfoId"`
  91. Decimal int `description:"小数位数, 从左至右,从上到下的顺序"`
  92. }
  93. type EdbInfoData struct {
  94. EdbInfoId int `description:"指标ID"`
  95. Tag string `description:"标签"`
  96. EdbName string `description:"指标名称"`
  97. EdbNameEn string `description:"英文指标名称"`
  98. EdbAliasName string `description:"指标别名"`
  99. Frequency string `description:"频度"`
  100. Unit string `description:"单位"`
  101. UnitEn string `description:"英文单位"`
  102. Decimal int `description:"小数位数"`
  103. ClassifyId int `description:"所属分类" json:"-"`
  104. IsJoinPermission int `description:"是否加入权限管控,0:不加入;1:加入;默认:0" json:"-"`
  105. HaveOperaAuth bool `description:"是否有数据权限,默认:false"`
  106. Data []ManualDataReq `description:"单元格数据列表"`
  107. }
  108. type EdbInfoDataTemp struct {
  109. EdbInfoId int `description:"指标ID"`
  110. Tag string `description:"标签"`
  111. EdbName string `description:"指标名称"`
  112. EdbNameEn string `description:"英文指标名称"`
  113. EdbAliasName string `description:"指标别名"`
  114. Frequency string `description:"频度"`
  115. Unit string `description:"单位"`
  116. UnitEn string `description:"英文单位"`
  117. Decimal *int `description:"小数位数"`
  118. ClassifyId int `description:"所属分类" json:"-"`
  119. IsJoinPermission int `description:"是否加入权限管控,0:不加入;1:加入;默认:0" json:"-"`
  120. HaveOperaAuth bool `description:"是否有数据权限,默认:false"`
  121. Data []ManualDataReq `description:"单元格数据列表"`
  122. }
  123. func (e *EdbInfoData) UnmarshalJSON(data []byte) error {
  124. var alias EdbInfoDataTemp
  125. if err := json.Unmarshal(data, &alias); err != nil {
  126. return err
  127. }
  128. if alias.Decimal != nil {
  129. e.Decimal = *alias.Decimal
  130. } else {
  131. e.Decimal = -1
  132. }
  133. e.EdbInfoId = alias.EdbInfoId
  134. e.Tag = alias.Tag
  135. e.EdbName = alias.EdbName
  136. e.EdbNameEn = alias.EdbNameEn
  137. e.EdbAliasName = alias.EdbAliasName
  138. e.Frequency = alias.Frequency
  139. e.Unit = alias.Unit
  140. e.UnitEn = alias.UnitEn
  141. e.ClassifyId = alias.ClassifyId
  142. e.IsJoinPermission = alias.IsJoinPermission
  143. e.HaveOperaAuth = alias.HaveOperaAuth
  144. e.Data = alias.Data
  145. return nil
  146. }
  147. type ManualDataReq struct {
  148. DataType int `description:"数据类型,1:普通的,2:插值法,3:手动输入,4:公式计算,5:预测值"`
  149. DataTime string `description:"所属日期"`
  150. DataTimeType int `description:"日期类型,1:实际日期;2:未来日期"`
  151. ShowValue string `description:"展示值"`
  152. Value string `description:"实际值(计算公式)"`
  153. Decimal int `description:"小数位数"`
  154. RelationEdbInfoList []RelationEdbInfo `description:"关联指标(计算公式中关联的指标,用于计算的时候去匹配)"`
  155. }
  156. type ManualDataTemp struct {
  157. DataType int `description:"数据类型,1:普通的,2:插值法,3:手动输入,4:公式计算,5:预测值"`
  158. DataTime string `description:"所属日期"`
  159. DataTimeType int `description:"日期类型,1:实际日期;2:未来日期"`
  160. ShowValue string `description:"展示值"`
  161. Value string `description:"实际值(计算公式)"`
  162. Decimal *int `description:"小数位数"`
  163. RelationEdbInfoList []RelationEdbInfo `description:"关联指标(计算公式中关联的指标,用于计算的时候去匹配)"`
  164. }
  165. func (m *ManualDataReq) UnmarshalJSON(data []byte) error {
  166. var alias ManualDataTemp
  167. if err := json.Unmarshal(data, &alias); err != nil {
  168. return err
  169. }
  170. if alias.Decimal != nil {
  171. m.Decimal = *alias.Decimal
  172. } else {
  173. m.Decimal = -1
  174. }
  175. m.DataType = alias.DataType
  176. m.DataTime = alias.DataTime
  177. m.DataTimeType = alias.DataTimeType
  178. m.ShowValue = alias.ShowValue
  179. m.Value = alias.Value
  180. m.RelationEdbInfoList = alias.RelationEdbInfoList
  181. return nil
  182. }
  183. type RelationEdbInfo struct {
  184. Tag string `description:"指标标签"`
  185. Row string `description:"第几行"`
  186. }
  187. type CopyExcelInfoReq struct {
  188. ExcelInfoId int `description:"ETA表格ID"`
  189. ExcelName string `description:"表格名称"`
  190. ExcelClassifyId int `description:"分类id"`
  191. }
  192. type MarkEditExcel struct {
  193. ExcelInfoId int `description:"表格id"`
  194. Status int `description:"标记状态,1:编辑中,2:编辑完成"`
  195. }
  196. type RenameExcelInfoReq struct {
  197. ExcelInfoId int `description:"ETA表格ID"`
  198. ExcelName string `description:"表格名称"`
  199. }
  200. type SaveExcelInfoWorkerReq struct {
  201. ExcelInfoId int `description:"ETA表格ID"`
  202. SysUserIds string `description:"协作人ID 用英文逗号拼接"`
  203. }
  204. type ShareExcelInfoReq struct {
  205. ExcelInfoId int `description:"表格ID"`
  206. ViewUserIds []int `description:"查看权限用户IDs"`
  207. EditUserIds []int `description:"编辑权限用户IDs"`
  208. }
  209. type ExcelRuleMappingReq struct {
  210. ExcelRuleMappingId int `description:"规则映射ID"`
  211. ExcelInfoId int `description:"ETA表格ID"`
  212. RuleType int `description:"规则类型:1-大于,2-小于,3-介于,4-等于,5-发生日期"`
  213. LeftValue string `description:"条件值"`
  214. LeftValueType int `description:"条件值的类型,1:数值,2:坐标"`
  215. RightValue string `description:"条件值, 用于介于的条件"`
  216. RightValueType int `description:"条件值的类型,1:数值,2:坐标"`
  217. FontColor string `description:"字体颜色"`
  218. BackgroundColor string `description:"背景颜色"`
  219. Remark string `description:"预设的单元格样式名称"`
  220. Scope string `description:"应用选区"`
  221. }
  222. type DeleteExcelRuleMappingReq struct {
  223. ExcelRuleMappingId int `description:"规则映射ID"`
  224. }