excel_info.go 13 KB

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