excel_info.go 2.2 KB

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