excel_info.go 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. package controllers
  2. import (
  3. "hongze/hongze_ETA_mobile_api/models"
  4. "hongze/hongze_ETA_mobile_api/models/data_manage"
  5. "hongze/hongze_ETA_mobile_api/models/data_manage/response"
  6. "hongze/hongze_ETA_mobile_api/services/excel"
  7. "hongze/hongze_ETA_mobile_api/utils"
  8. )
  9. // ExcelInfoController ETA表格管理
  10. type ExcelInfoController struct {
  11. BaseAuthController
  12. }
  13. // GetExcelTableData
  14. // @Title 获取excel表格的table数据
  15. // @Description 获取excel表格的table数据接口
  16. // @Param UniqueCode query string true "表格code"
  17. // @Success 200 {object} response.ExcelTableDetailResp
  18. // @router /excel_info/table_data [get]
  19. func (this *ExcelInfoController) GetExcelTableData() {
  20. br := new(models.BaseResponse).Init()
  21. defer func() {
  22. this.Data["json"] = br
  23. this.ServeJSON()
  24. }()
  25. sysUser := this.SysUser
  26. if sysUser == nil {
  27. br.Msg = "请登录"
  28. br.ErrMsg = "请登录,SysUser Is Empty"
  29. br.Ret = 408
  30. return
  31. }
  32. uniqueCode := this.GetString("UniqueCode")
  33. var err error
  34. if uniqueCode == `` {
  35. br.Msg = "请选择表格"
  36. br.ErrMsg = "UniqueCode未传"
  37. br.IsSendEmail = false
  38. return
  39. }
  40. //获取eta表格信息
  41. excelInfo, err := data_manage.GetExcelInfoByUniqueCode(uniqueCode)
  42. if err != nil {
  43. br.Msg = "获取失败"
  44. br.ErrMsg = "获取ETA表格信息失败,Err:" + err.Error()
  45. if err.Error() == utils.ErrNoRow() {
  46. br.Msg = "ETA表格被删除,请刷新页面"
  47. br.ErrMsg = "ETA表格被删除,请刷新页面,Err:" + err.Error()
  48. br.IsSendEmail = false
  49. }
  50. return
  51. }
  52. luckySheetData, err := excel.GetLuckySheetData(excelInfo.Content)
  53. if err != nil {
  54. br.Msg = "获取失败"
  55. br.ErrMsg = "获取excel数据失败,Err:" + err.Error()
  56. return
  57. }
  58. tableData, err := luckySheetData.GetTableDataByLuckySheetDataStr()
  59. if err != nil {
  60. br.Msg = "获取失败"
  61. br.ErrMsg = "转换成table失败,Err:" + err.Error()
  62. return
  63. }
  64. tableData = excel.HandleTableCell(tableData)
  65. resp := response.ExcelTableDetailResp{
  66. UniqueCode: excelInfo.UniqueCode,
  67. ExcelImage: excelInfo.ExcelImage,
  68. ExcelName: excelInfo.ExcelName,
  69. TableInfo: tableData,
  70. }
  71. br.Ret = 200
  72. br.Success = true
  73. br.Msg = "获取成功"
  74. br.Data = resp
  75. }