report_chapter.go 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package report
  2. import (
  3. "hongze/hongze_yb/models/tables/chart_permission_chapter_mapping"
  4. "hongze/hongze_yb/models/tables/rddp/report"
  5. "hongze/hongze_yb/models/tables/rddp/report_chapter"
  6. "hongze/hongze_yb/utils"
  7. )
  8. // GetReportChapterIdsByPermissionIds 获取所有和权限绑定的报告章节ID
  9. func GetReportChapterIdsByPermissionIds(permissionIds []int) (ids []int, err error) {
  10. ids, err = chart_permission_chapter_mapping.GetReportIdsByPermisssionIds(permissionIds, "week")
  11. return
  12. }
  13. func GetLatestWeek(permissionIds []int, typeIds []int) (reportInfo *report.Report, err error) {
  14. ids, err := GetReportChapterIdsByPermissionIds(permissionIds)
  15. if err != nil {
  16. return
  17. }
  18. var newTypeIds []int
  19. for _, v1 := range typeIds {
  20. for _, v2 := range ids {
  21. if v1 == v2 {
  22. newTypeIds = append(newTypeIds, v2)
  23. }
  24. }
  25. }
  26. chapter, err := report_chapter.GetLatestChapterByIdsAndClass(newTypeIds,"week")
  27. if err != nil {
  28. return
  29. }
  30. reportInfo, err = report.GetByReportId(chapter.ReportId)
  31. if err == utils.ErrNoRow {
  32. return nil, nil
  33. }
  34. return
  35. }