浏览代码

fix:需要走审批流的报告,审批完成后pdf未生成的bug修复

Roc 9 月之前
父节点
当前提交
b6bb6e2ea9
共有 4 个文件被更改,包括 49 次插入13 次删除
  1. 3 2
      controllers/report_v2.go
  2. 7 6
      services/report_approve.go
  3. 28 5
      services/report_v2.go
  4. 11 0
      services/smart_report.go

+ 3 - 2
controllers/report_v2.go

@@ -1378,8 +1378,9 @@ func (this *ReportController) PrePublishReport() {
 	}
 
 	// 生成报告pdf和长图
-	if req.ReportUrl != "" {
-		go services.Report2pdfAndJpeg(req.ReportUrl, reportDetail.Id, 1)
+	{
+		reportPdfUrl := services.GetGeneralPdfUrl(reportDetail.ReportCode, reportDetail.ReportLayout)
+		go services.Report2pdfAndJpeg(reportPdfUrl, reportDetail.Id, 1)
 	}
 
 	br.Ret = 200

+ 7 - 6
services/report_approve.go

@@ -676,9 +676,6 @@ func PassReportApprove(approveItem *report_approve.ReportApprove, recordItem *re
 				return
 			}
 		}()
-
-		// 生成报告pdf和长图
-		go Report2pdfAndJpeg(reportUrl, approveItem.ReportId, approveItem.ReportType)
 	}
 	return
 }
@@ -841,11 +838,15 @@ func AfterReportApprovePass(reportType, reportId int) (err error) {
 		}
 		// 重新生成音频,里面还涉及到章节类型的报告
 		go UpdateReportVideo(reportInfo)
-		//_ = CreateVideo(reportInfo)
-		_ = UpdateReportEs(reportInfo.Id, models.ReportStatePublished)
 
 		// 生成报告pdf和长图
-		go Report2pdfAndJpeg(reportUrl, reportId, 1)
+		{
+			reportPdfUrl := GetGeneralPdfUrl(reportInfo.ReportCode, reportInfo.ReportLayout)
+			go Report2pdfAndJpeg(reportPdfUrl, reportId, 1)
+		}
+
+		//_ = CreateVideo(reportInfo)
+		_ = UpdateReportEs(reportInfo.Id, models.ReportStatePublished)
 
 		return
 	}

+ 28 - 5
services/report_v2.go

@@ -1117,8 +1117,9 @@ func PublishReport(reportId int, reportUrl string, sysUser *system.Admin) (tips
 	}()
 
 	// 生成报告pdf和长图
-	if reportUrl != "" {
-		go Report2pdfAndJpeg(reportUrl, reportId, 1)
+	{
+		reportPdfUrl := GetGeneralPdfUrl(reportInfo.ReportCode, reportInfo.ReportLayout)
+		go Report2pdfAndJpeg(reportPdfUrl, reportId, 1)
 	}
 
 	// 报告权限处理
@@ -1248,8 +1249,9 @@ func PublishChapterReport(reportInfo *models.Report, reportUrl string, sysUser *
 	go SaveReportLogs(reportInfo, chapters, reportInfo.AdminId, reportInfo.AdminRealName)
 
 	// 生成报告pdf和长图
-	if reportUrl != "" {
-		go Report2pdfAndJpeg(reportUrl, reportId, 1)
+	{
+		reportPdfUrl := GetGeneralPdfUrl(reportInfo.ReportCode, reportInfo.ReportLayout)
+		go Report2pdfAndJpeg(reportPdfUrl, reportId, 1)
 	}
 
 	return
@@ -1371,6 +1373,27 @@ func UpdateReportVideo(reportInfo *models.Report) {
 	}
 }
 
-func GeneralPdfUrl(reportCode string, adminInfo *system.Admin) {
+// GetGeneralPdfUrl
+// @Description: 获取生成pdf的地址
+// @author: Roc
+// @datetime 2024-07-19 14:09:28
+// @param reportCode string
+// @param reportLayout int8
+// @return pdfUrl string
+func GetGeneralPdfUrl(reportCode string, reportLayout int8) (pdfUrl string) {
+	conf, e := models.GetBusinessConfByKey("ReportViewUrl")
+	if e != nil {
+		return
+	}
+
+	switch reportLayout {
+	case 1:
+		// 普通布局
+		pdfUrl = fmt.Sprintf("%s/reportshare_pdf?code=%s", conf.ConfVal, reportCode)
+	case 2:
+		// 智能布局
+		pdfUrl = fmt.Sprintf("%s/reportshare_smart_pdf?code=%s", conf.ConfVal, reportCode)
+	}
 
+	return
 }

+ 11 - 0
services/smart_report.go

@@ -278,6 +278,13 @@ finally:
 	return
 }
 
+// Report2pdfAndJpeg
+// @Description: 报告转pdf和图片
+// @author: Roc
+// @datetime 2024-07-19 14:11:38
+// @param reportUrl string
+// @param reportId int
+// @param reportType int
 func Report2pdfAndJpeg(reportUrl string, reportId, reportType int) {
 	var err error
 
@@ -288,6 +295,10 @@ func Report2pdfAndJpeg(reportUrl string, reportId, reportType int) {
 		}
 	}()
 
+	if reportUrl == `` {
+		return
+	}
+
 	// 先清空字段
 	if reportType == 1 {
 		err = models.UpdatePdfUrlReportById(reportId)