excel_info.go 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278
  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. }
  106. type DecimalConfig struct {
  107. Row string `description:"行上的索引, 目前仅保存指标的日期"`
  108. Col int `description:"列上的索引, 目前仅保存edbInfoId"`
  109. Decimal int `description:"小数位数, 从左至右,从上到下的顺序"`
  110. }
  111. // EdbInfoData 自定义表格的数据
  112. type EdbInfoData struct {
  113. EdbInfoId int `description:"指标ID"`
  114. Tag string `description:"标签"`
  115. EdbName string `description:"指标名称"`
  116. EdbNameEn string `description:"英文指标名称"`
  117. EdbAliasName string `description:"指标别名"`
  118. Frequency string `description:"频度"`
  119. Unit string `description:"单位"`
  120. UnitEn string `description:"英文单位"`
  121. Decimal int `description:"小数位数"`
  122. ClassifyId int `description:"所属分类" json:"-"`
  123. IsJoinPermission int `description:"是否加入权限管控,0:不加入;1:加入;默认:0" json:"-"`
  124. HaveOperaAuth bool `description:"是否有数据权限,默认:false"`
  125. Data []ManualDataReq `description:"单元格数据列表"`
  126. }
  127. type EdbInfoDataTemp struct {
  128. EdbInfoId int `description:"指标ID"`
  129. Tag string `description:"标签"`
  130. EdbName string `description:"指标名称"`
  131. EdbNameEn string `description:"英文指标名称"`
  132. EdbAliasName string `description:"指标别名"`
  133. Frequency string `description:"频度"`
  134. Unit string `description:"单位"`
  135. UnitEn string `description:"英文单位"`
  136. Decimal *int `description:"小数位数"`
  137. ClassifyId int `description:"所属分类" json:"-"`
  138. IsJoinPermission int `description:"是否加入权限管控,0:不加入;1:加入;默认:0" json:"-"`
  139. HaveOperaAuth bool `description:"是否有数据权限,默认:false"`
  140. Data []ManualDataReq `description:"单元格数据列表"`
  141. }
  142. func (e *EdbInfoData) UnmarshalJSON(data []byte) error {
  143. var alias EdbInfoDataTemp
  144. if err := json.Unmarshal(data, &alias); err != nil {
  145. return err
  146. }
  147. if alias.Decimal != nil {
  148. e.Decimal = *alias.Decimal
  149. } else {
  150. e.Decimal = -1
  151. }
  152. e.EdbInfoId = alias.EdbInfoId
  153. e.Tag = alias.Tag
  154. e.EdbName = alias.EdbName
  155. e.EdbNameEn = alias.EdbNameEn
  156. e.EdbAliasName = alias.EdbAliasName
  157. e.Frequency = alias.Frequency
  158. e.Unit = alias.Unit
  159. e.UnitEn = alias.UnitEn
  160. e.ClassifyId = alias.ClassifyId
  161. e.IsJoinPermission = alias.IsJoinPermission
  162. e.HaveOperaAuth = alias.HaveOperaAuth
  163. e.Data = alias.Data
  164. return nil
  165. }
  166. // ManualDataReq 自定义表格的单元格数据
  167. type ManualDataReq struct {
  168. DataType int `description:"数据类型,1:普通的,2:插值法,3:手动输入,4:公式计算,5:预测值"`
  169. DataTime string `description:"所属日期"`
  170. DataTimeType int `description:"日期类型,1:实际日期;2:未来日期"`
  171. ShowValue string `description:"展示值"`
  172. Value string `description:"实际值(计算公式)"`
  173. Decimal int `description:"小数位数"`
  174. RelationEdbInfoList []RelationEdbInfo `description:"关联指标(计算公式中关联的指标,用于计算的时候去匹配)"`
  175. }
  176. type ManualDataTemp struct {
  177. DataType int `description:"数据类型,1:普通的,2:插值法,3:手动输入,4:公式计算,5:预测值"`
  178. DataTime string `description:"所属日期"`
  179. DataTimeType int `description:"日期类型,1:实际日期;2:未来日期"`
  180. ShowValue string `description:"展示值"`
  181. Value string `description:"实际值(计算公式)"`
  182. Decimal *int `description:"小数位数"`
  183. RelationEdbInfoList []RelationEdbInfo `description:"关联指标(计算公式中关联的指标,用于计算的时候去匹配)"`
  184. }
  185. func (m *ManualDataReq) UnmarshalJSON(data []byte) error {
  186. var alias ManualDataTemp
  187. if err := json.Unmarshal(data, &alias); err != nil {
  188. return err
  189. }
  190. if alias.Decimal != nil {
  191. m.Decimal = *alias.Decimal
  192. } else {
  193. m.Decimal = -1
  194. }
  195. m.DataType = alias.DataType
  196. m.DataTime = alias.DataTime
  197. m.DataTimeType = alias.DataTimeType
  198. m.ShowValue = alias.ShowValue
  199. m.Value = alias.Value
  200. m.RelationEdbInfoList = alias.RelationEdbInfoList
  201. return nil
  202. }
  203. // RelationEdbInfo 自定义表格中单元格的关联指标
  204. type RelationEdbInfo struct {
  205. Tag string `description:"指标标签"`
  206. Row string `description:"第几行"`
  207. }
  208. // CopyExcelInfoReq 复制表格请求
  209. type CopyExcelInfoReq struct {
  210. ExcelInfoId int `description:"ETA表格ID"`
  211. ExcelName string `description:"表格名称"`
  212. ExcelClassifyId int `description:"分类id"`
  213. }
  214. // MarkEditExcel 标记编辑表格的请求数据
  215. type MarkEditExcel struct {
  216. ExcelInfoId int `description:"表格id"`
  217. Status int `description:"标记状态,1:编辑中,2:编辑完成"`
  218. }
  219. // RenameExcelInfoReq 表格重命名请求
  220. type RenameExcelInfoReq struct {
  221. ExcelInfoId int `description:"ETA表格ID"`
  222. ExcelName string `description:"表格名称"`
  223. }
  224. type SaveExcelInfoWorkerReq struct {
  225. ExcelInfoId int `description:"ETA表格ID"`
  226. SysUserIds string `description:"协作人ID 用英文逗号拼接"`
  227. }
  228. // ShareExcelInfoReq 分享表格请求
  229. type ShareExcelInfoReq struct {
  230. ExcelInfoId int `description:"表格ID"`
  231. ViewUserIds []int `description:"查看权限用户IDs"`
  232. EditUserIds []int `description:"编辑权限用户IDs"`
  233. }
  234. type ExcelRuleMappingReq struct {
  235. ExcelRuleMappingId int `description:"规则映射ID"`
  236. ExcelInfoId int `description:"ETA表格ID"`
  237. RuleType int `description:"规则类型:1-大于,2-小于,3-介于,4-等于,5-发生日期"`
  238. LeftValue string `description:"条件值"`
  239. LeftValueType int `description:"条件值的类型,1:数值,2:坐标"`
  240. RightValue string `description:"条件值, 用于介于的条件"`
  241. RightValueType int `description:"条件值的类型,1:数值,2:坐标"`
  242. FontColor string `description:"字体颜色"`
  243. BackgroundColor string `description:"背景颜色"`
  244. Remark string `description:"预设的单元格样式名称"`
  245. Scope string `description:"应用选区"`
  246. }
  247. type DeleteExcelRuleMappingReq struct {
  248. ExcelRuleMappingId int `description:"规则映射ID"`
  249. }