Prechádzať zdrojové kódy

Merge branch 'master' into pool_424_pdf_remote_gen

kobe6258 2 týždňov pred
rodič
commit
d1eafcd25e
43 zmenil súbory, kde vykonal 410 pridanie a 302 odobranie
  1. 3 2
      .gitignore
  2. 75 41
      controllers/data_manage/chart_info.go
  3. 3 3
      controllers/data_manage/data_manage_permission/data_manage_permission.go
  4. 3 3
      controllers/data_manage/data_manage_permission/data_move.go
  5. 1 1
      controllers/data_manage/data_manage_permission/message.go
  6. 19 6
      controllers/data_manage/edb_info.go
  7. 2 2
      controllers/data_manage/edb_info_refresh.go
  8. 1 1
      controllers/data_manage/edb_info_relation.go
  9. 75 41
      controllers/data_manage/future_good/future_good_chart_info.go
  10. 31 31
      controllers/data_manage/mysteel_chemical_data.go
  11. 16 1
      controllers/data_manage/predict_edb_info.go
  12. 1 0
      controllers/report_v2.go
  13. 8 0
      controllers/sys_role.go
  14. 1 1
      models/data_manage/data_manage_permission/classify_no_auth_record.go
  15. 1 1
      models/data_manage/data_manage_permission/move.go
  16. 1 1
      models/data_manage/data_manage_permission/move_record.go
  17. 1 1
      models/data_manage/data_manage_permission/no_auth_record.go
  18. 2 2
      models/data_manage/edb_data_mysteel_chemical.go
  19. 1 1
      models/data_manage/edb_info.go
  20. 4 4
      models/data_manage/edb_info_relation.go
  21. 4 4
      models/data_manage/mysteel_chemical_classify.go
  22. 26 26
      models/data_manage/mysteel_chemical_index.go
  23. 7 6
      models/data_manage/request/mysteel_chemical_data.go
  24. 1 1
      models/db.go
  25. 5 0
      models/report.go
  26. 1 1
      models/report_v2.go
  27. 2 2
      models/system/sys_role.go
  28. 1 1
      models/system/sys_user.go
  29. 1 1
      services/data/chart_info.go
  30. 14 14
      services/data/data_manage_permission/data_move.go
  31. 1 1
      services/data/data_manage_permission/message.go
  32. 9 9
      services/data/edb_info.go
  33. 1 1
      services/data/edb_info_relation.go
  34. 1 1
      services/data/excel/excel_info.go
  35. 15 15
      services/data/mysteel_chemical.go
  36. 3 2
      services/elastic/elastic.go
  37. 59 51
      services/file.go
  38. 3 2
      services/report_v2.go
  39. 2 2
      services/task.go
  40. 0 7
      static/images/UXjAv5IXV9fSqDBqhGS3DPYcj9wb.txt
  41. 0 7
      static/images/fdUC0cafpf0LXCjpwluC0r6IzA4Z.txt
  42. 2 2
      utils/config.go
  43. 3 3
      utils/constants.go

+ 3 - 2
.gitignore

@@ -3,7 +3,6 @@
 /.idea
 /routers/.DS_Store
 /rdlucklog
-/etalogs
 /conf/*.conf
 /binlog/*
 /*.pdf
@@ -18,6 +17,8 @@
 eta_api.exe
 eta_api.exe~
 /static/tmpFile/*
+/static/imgs/*
+/static/ai/*
 etalogs/
 /.vscode
-/fix
+/fix

+ 75 - 41
controllers/data_manage/chart_info.go

@@ -20,6 +20,7 @@ import (
 	"fmt"
 	"os"
 	"os/exec"
+	"regexp"
 	"sort"
 	"strconv"
 	"strings"
@@ -2960,58 +2961,78 @@ func (this *ChartInfoController) ChartInfoBase64Upload() {
 			return
 		}
 	}
-
+	NotBackendGenerate, _ := this.GetBool("NotBackendGenerate", false)
+	if NotBackendGenerate {
+		b, _ := regexp.MatchString(`^data:\s*image\/(\w+);base64,`, imgData)
+		if !b {
+			br.Msg = "图片格式不正确"
+			br.ErrMsg = "图片格式不正确"
+			return
+		}
+		re, _ := regexp.Compile(`^data:\s*image\/(\w+);base64,`)
+		base64Str := re.ReplaceAllString(imgData, "")
+		base64Str = strings.Replace(base64Str, " ", "", -1)
+		imgData = base64Str
+	}
 	//var saveToOssPath string
 	randStr := utils.GetRandStringNoSpecialChar(28)
 	var fileName, outFileName string
 	fileName = randStr + ".txt"
-	fileName = uploadDir + fileName
-	err := utils.SaveToFile(imgData, fileName)
-	if err != nil {
-		br.Msg = "图片保存失败"
-		br.ErrMsg = "图片保存失败,Err:" + err.Error()
-		return
-	}
 	outFileName = randStr + ".png"
-
-	doneChannel := make(chan bool, 1)
-	errorChannel := make(chan error, 1)
-
-	cmd := exec.Command("highcharts-export-server", "--infile", fileName, "--constr", "Chart", "--scale", "2", "--workers", "10", "--workLimit", "3", "--outfile", outFileName)
-
-	go func() {
-		output, err := cmd.CombinedOutput()
+	fileName = uploadDir + fileName
+	if NotBackendGenerate {
+		err := utils.SaveBase64ToFile(imgData, outFileName)
 		if err != nil {
-			utils.FileLog.Info("execute command failed, output: , error: \n" + string(output) + err.Error())
-			errorChannel <- err
+			br.Msg = "图片保存失败"
+			br.ErrMsg = "图片保存失败,Err:" + err.Error()
 			return
 		}
-		doneChannel <- true
-	}()
+	} else {
+		err := utils.SaveToFile(imgData, fileName)
+		if err != nil {
+			br.Msg = "图片保存失败"
+			br.ErrMsg = "图片保存失败,Err:" + err.Error()
+			return
+		}
+		doneChannel := make(chan bool, 1)
+		errorChannel := make(chan error, 1)
 
-	select {
-	case <-time.After(30 * time.Second):
-		utils.FileLog.Info("执行超过30秒 杀死超时进程")
-		e := cmd.Process.Kill()
-		if e != nil {
-			fmt.Println("cmd kill err: ", e.Error())
-			utils.FileLog.Info(fmt.Sprintf("cmd kill err: %s", e.Error()))
-			br.Msg = "图片生成失败"
-			br.ErrMsg = "图片生成失败, 执行超时" + e.Error()
+		cmd := exec.Command("highcharts-export-server", "--infile", fileName, "--constr", "Chart", "--scale", "2", "--workers", "10", "--workLimit", "3", "--outfile", outFileName)
+
+		go func() {
+			output, err := cmd.CombinedOutput()
+			if err != nil {
+				utils.FileLog.Info("execute command failed, output: , error: \n" + string(output) + err.Error())
+				errorChannel <- err
+				return
+			}
+			doneChannel <- true
+		}()
+		select {
+		case <-time.After(30 * time.Second):
+			utils.FileLog.Info("执行超过30秒 杀死超时进程")
+			e := cmd.Process.Kill()
+			if e != nil {
+				fmt.Println("cmd kill err: ", e.Error())
+				utils.FileLog.Info(fmt.Sprintf("cmd kill err: %s", e.Error()))
+				br.Msg = "图片生成失败"
+				br.ErrMsg = "图片生成失败, 执行超时" + e.Error()
+				return
+			}
+			fmt.Println("timeout kill process")
+		case <-doneChannel:
+			fmt.Println("done")
+		case err := <-errorChannel:
+			br.Msg = "文件上传失败"
+			br.ErrMsg = fmt.Sprintf("execute command failure err: %s", err.Error())
+			fmt.Println("execute command failure err:" + err.Error())
 			return
 		}
-		fmt.Println("timeout kill process")
-	case <-doneChannel:
-		fmt.Println("done")
-	case err := <-errorChannel:
-		br.Msg = "文件上传失败"
-		br.ErrMsg = fmt.Sprintf("execute command failure err: %s", err.Error())
-		fmt.Println("execute command failure err:" + err.Error())
-		return
+		defer func() {
+			os.Remove(fileName)
+		}()
 	}
-
 	defer func() {
-		os.Remove(fileName)
 		os.Remove(outFileName)
 	}()
 
@@ -3043,7 +3064,7 @@ func (this *ChartInfoController) ChartInfoBase64Upload() {
 		br.ErrMsg = "初始化OSS服务失败"
 		return
 	}
-	resourceUrl, err = ossClient.UploadFile(outFileName, outFileName, "")
+	resourceUrl, err := ossClient.UploadFile(outFileName, outFileName, "")
 	if err != nil {
 		br.Msg = "文件上传失败"
 		br.ErrMsg = "文件上传失败,Err:" + err.Error()
@@ -4622,6 +4643,19 @@ func (this *ChartInfoController) ChartInfoImgSetBySvg() {
 		br.ErrMsg = "图片参数错误,Img Is Empty"
 		return
 	}
+	NotBackendGenerate, _ := this.GetBool("NotBackendGenerate", false)
+	if NotBackendGenerate {
+		b, _ := regexp.MatchString(`^data:\s*image\/(\w+);base64,`, imgData)
+		if !b {
+			br.Msg = "图片格式不正确"
+			br.ErrMsg = "图片格式不正确"
+			return
+		}
+		re, _ := regexp.Compile(`^data:\s*image\/(\w+);base64,`)
+		base64Str := re.ReplaceAllString(imgData, "")
+		base64Str = strings.Replace(base64Str, " ", "", -1)
+		imgData = base64Str
+	}
 	chartInfoId, _ := this.GetInt("ChartInfoId", 0)
 	if chartInfoId <= 0 {
 		br.Msg = "图片参数错误"
@@ -4631,7 +4665,7 @@ func (this *ChartInfoController) ChartInfoImgSetBySvg() {
 	resp := new(models.ResourceResp)
 
 	// 通过svg图片生成图片资源地址
-	resourceUrl, err, errMsg := services.GetResourceUrlBySvgImg(imgData)
+	resourceUrl, err, errMsg := services.GetResourceUrlBySvgImg(imgData, NotBackendGenerate)
 	if err != nil {
 		br.Msg = errMsg
 		br.ErrMsg = err.Error()

+ 3 - 3
controllers/data_manage/data_manage_permission/data_manage_permission.go

@@ -203,7 +203,7 @@ func (c *DataMangePermissionController) SetEdbChartClassifyPermission() {
 // GetEdbChartPermission
 // @Title 指标/图表/表格权限设置接口
 // @Description 指标/图表/表格权限设置接口
-// @Param   Source   query   int  false       "来源 :1:手工数据指标 2:钢联化工数据库 3:ETA指标库 4:ETA预测指标 5:图库 6:ETA表格"
+// @Param   Source   query   int  false       "来源 :1:手工数据指标 2:上海钢联数据库 3:ETA指标库 4:ETA预测指标 5:图库 6:ETA表格"
 // @Param   SubSource   query   int  false       "子来源 :目前作用于ETA表格,2024-3-26 14:12:09"
 // @Param   DataId   query   int  false       "资产id"
 // @Success 200 {object} data_manage.ChartListResp
@@ -262,7 +262,7 @@ func (c *DataMangePermissionController) GetEdbChartPermission() {
 // GetEdbChartClassifyPermission
 // @Title 获取指标/图表/表格分类权限设置接口
 // @Description 获取指标/图表/表格分类权限设置接口
-// @Param   Source   query   int  false       "来源 :1:手工数据指标 2:钢联化工数据库 3:ETA指标库 4:ETA预测指标 5:图库 6:ETA表格"
+// @Param   Source   query   int  false       "来源 :1:手工数据指标 2:上海钢联数据库 3:ETA指标库 4:ETA预测指标 5:图库 6:ETA表格"
 // @Param   SubSource   query   int  false       "子来源 :目前作用于ETA表格,2024-3-26 14:12:09"
 // @Param   UserId   query   int  false       "用户id"
 // @Success 200 {object} data_manage.ChartListResp
@@ -336,7 +336,7 @@ func (c *DataMangePermissionController) GetEdbChartClassifyPermission() {
 // GetEdbChartNoPermission
 // @Title 根据资产id获取其分类没有权限的用户id列表接口
 // @Description 根据资产id获取其分类没有权限的用户id列表接口
-// @Param   Source   query   int  false       "来源 :1:手工数据指标 2:钢联化工数据库 3:ETA指标库 4:ETA预测指标 5:图库 6:ETA表格"
+// @Param   Source   query   int  false       "来源 :1:手工数据指标 2:上海钢联数据库 3:ETA指标库 4:ETA预测指标 5:图库 6:ETA表格"
 // @Param   SubSource   query   int  false       "子来源 :目前作用于ETA表格,2024-3-26 14:12:09"
 // @Param   DataId   query   int  false       "资产id"
 // @Success 200 {object} data_manage.ChartListResp

+ 3 - 3
controllers/data_manage/data_manage_permission/data_move.go

@@ -13,7 +13,7 @@ import (
 // EdbChartClassifyList
 // @Title 获取指标/图表分类列表数据接口
 // @Description 获取指标/图表分类列表数据接口
-// @Param   Source   query   int  false       "来源 :1:手工数据指标 2:钢联化工数据库 3:ETA指标库 4:ETA预测指标 5:图库 6:ETA表格"
+// @Param   Source   query   int  false       "来源 :1:手工数据指标 2:上海钢联数据库 3:ETA指标库 4:ETA预测指标 5:图库 6:ETA表格"
 // @Param   SubSource   query   int  false       "子来源 :ETA表格中的各种表格类型,以及图表的来源(这个是后续的扩展方向)"
 // @Success 200 {object} data_manage.ChartListResp
 // @router /edb_chart/classify [get]
@@ -63,7 +63,7 @@ func (c *DataMangePermissionController) EdbChartClassifyList() {
 // SecretEdbChartClassifyList
 // @Title 获取涉密的指标/图表分类列表数据接口
 // @Description 获取指标/图表分类列表数据接口
-// @Param   Source   query   int  false       "来源 :1:手工数据指标 2:钢联化工数据库 3:ETA指标库 4:ETA预测指标 5:图库 6:ETA表格"
+// @Param   Source   query   int  false       "来源 :1:手工数据指标 2:上海钢联数据库 3:ETA指标库 4:ETA预测指标 5:图库 6:ETA表格"
 // @Param   SubSource   query   int  false       "子来源 :ETA表格中的各种表格类型,以及图表的来源(这个是后续的扩展方向)"
 // @Success 200 {object} data_manage.ChartListResp
 // @router /edb_chart/classify/secret [get]
@@ -133,7 +133,7 @@ func removeNodesWithNoJoinPermissionAndEmptyChildRecursively(nodes []*data_manag
 // @Description 获取指标/图表创建人列表数据接口
 // @Param   PageSize   query   int  true       "每页数据条数"
 // @Param   CurrentIndex   query   int  true       "当前页页码,从1开始"
-// @Param   Source   query   int  false       "来源 :1:手工数据指标 2:钢联化工数据库 3:ETA指标库 4:ETA预测指标 5:图库 6:ETA表格"
+// @Param   Source   query   int  false       "来源 :1:手工数据指标 2:上海钢联数据库 3:ETA指标库 4:ETA预测指标 5:图库 6:ETA表格"
 // @Param   SubSource   query   int  false       "子来源 :目前作用于ETA表格,2024-3-26 14:12:09"
 // @Param   Keyword   query   string  false       "关键字,code或者名称"
 // @Param   Classify   query   string  false       "分类id"

+ 1 - 1
controllers/data_manage/data_manage_permission/message.go

@@ -172,7 +172,7 @@ func (c *DataMangePermissionController) MessageRead() {
 // @Param   MessageId			query	int		true	"消息ID"
 // @Param   PageSize   query   int  true       "每页数据条数"
 // @Param   CurrentIndex   query   int  true       "当前页页码,从1开始"
-// @Param   Source   query   int  false       "来源 :1:手工数据指标 2:钢联化工数据库 3:ETA指标库 4:ETA预测指标 5:图库 6:ETA表格"
+// @Param   Source   query   int  false       "来源 :1:手工数据指标 2:上海钢联数据库 3:ETA指标库 4:ETA预测指标 5:图库 6:ETA表格"
 // @Param   SubSource   query   int  false       "子来源 :目前作用于ETA表格,2024-3-26 14:12:09"
 // @Success 200 {object} data_manage_permission.MessageDetailListResp
 // @router /message/detail [get]

+ 19 - 6
controllers/data_manage/edb_info.go

@@ -21,6 +21,7 @@ import (
 	etaTrialService "eta/eta_api/services/eta_trial"
 	"eta/eta_api/utils"
 	"fmt"
+	"regexp"
 	"sort"
 	"strconv"
 	"strings"
@@ -1251,7 +1252,7 @@ func (this *EdbInfoController) EdbInfoSearch() {
 				}
 				isAdd = true
 			}
-		} else if source == utils.DATA_SOURCE_MYSTEEL_CHEMICAL { //钢联化工
+		} else if source == utils.DATA_SOURCE_MYSTEEL_CHEMICAL { //上海钢联
 			dataItems, err := data_manage.GetEdbDataAllByEdbCode(edbCode, source, subSource, utils.EDB_DATA_LIMIT)
 			if err != nil && !utils.IsErrNoRow(err) {
 				br.Msg = "获取失败"
@@ -2410,9 +2411,9 @@ func (this *EdbInfoController) EdbInfoAdd() {
 	//	return
 	//}
 
-	// 兼容钢联与钢联化工数据
+	// 兼容钢联与上海钢联数据
 	if utils.InArrayByInt([]int{utils.DATA_SOURCE_GL, utils.DATA_SOURCE_MYSTEEL_CHEMICAL}, source) {
-		// 如果是钢联的话,那么就先判断是不是存在钢联化工
+		// 如果是钢联的话,那么就先判断是不是存在上海钢联
 		tmpInfo, err := data_manage.GetBaseFromMysteelChemicalIndexByCode(req.EdbCode)
 		if err != nil {
 			if !utils.IsErrNoRow(err) {
@@ -5293,7 +5294,7 @@ func (this *EdbInfoController) GetEdbBeforeAndAfterDateData() {
 // EdbChartAdminList
 // @Title 获取创建人员分组
 // @Description 获取创建人员分组
-// @Param   Source   query   int  false       "来源 :1:手工数据指标 2:钢联化工数据库 3:ETA指标库 4:ETA预测指标 5:图库"
+// @Param   Source   query   int  false       "来源 :1:手工数据指标 2:上海钢联数据库 3:ETA指标库 4:ETA预测指标 5:图库"
 // @Success 200 {object} company.DepartmentGroupSellersResp
 // @router /edb_chart/adminList [get]
 func (this *EdbInfoController) EdbChartAdminList() {
@@ -6784,13 +6785,25 @@ func (this *EdbInfoController) ChartImageSetBySvg() {
 		br.Ret = 408
 		return
 	}
-
+	NotBackendGenerate,_ := this.GetBool("NotBackendGenerate",false)
 	imgData := this.GetString("Img")
 	if imgData == "" {
 		br.Msg = "图片参数错误"
 		br.ErrMsg = "图片参数错误,Img Is Empty"
 		return
 	}
+	if NotBackendGenerate {
+		b, _ := regexp.MatchString(`^data:\s*image\/(\w+);base64,`, imgData)
+		if !b {
+			br.Msg = "图片格式不正确"
+			br.ErrMsg = "图片格式不正确"
+			return
+		}
+		re, _ := regexp.Compile(`^data:\s*image\/(\w+);base64,`)
+		base64Str := re.ReplaceAllString(imgData, "")
+		base64Str = strings.Replace(base64Str, " ", "", -1)
+		imgData = base64Str
+	}
 	edbInfoId, _ := this.GetInt("EdbInfoId", 0)
 	if edbInfoId <= 0 {
 		br.Msg = "指标参数错误"
@@ -6799,7 +6812,7 @@ func (this *EdbInfoController) ChartImageSetBySvg() {
 	}
 
 	// 通过svg图片生成图片资源地址
-	resourceUrl, err, errMsg := services.GetResourceUrlBySvgImg(imgData)
+	resourceUrl, err, errMsg := services.GetResourceUrlBySvgImg(imgData,NotBackendGenerate)
 	if err != nil {
 		br.Msg = errMsg
 		br.ErrMsg = err.Error()

+ 2 - 2
controllers/data_manage/edb_info_refresh.go

@@ -757,7 +757,7 @@ func (c *EdbInfoController) SaveRelationEdbRefreshStatus() {
 		return
 	}
 	//var edbList []*data_manage.EdbInfo
-	// 如果是钢联化工,那么需要过滤供应商暂停的指标
+	// 如果是上海钢联,那么需要过滤供应商暂停的指标
 	if req.Source == utils.DATA_SOURCE_MYSTEEL_CHEMICAL {
 		// 获取未被供应商暂停的指标
 		tmpEdbCodeList := make([]string, 0)
@@ -816,7 +816,7 @@ func (c *EdbInfoController) SaveRelationEdbRefreshStatus() {
 	}
 
 	switch req.Source {
-	case utils.DATA_SOURCE_MYSTEEL_CHEMICAL: // 钢联化工
+	case utils.DATA_SOURCE_MYSTEEL_CHEMICAL: // 上海钢联
 		err = data_manage.ModifyMysteelChemicalUpdateStatusByEdbInfoIds(edbIdList, isStop, edbCodeList, calculateEdbIdList)
 	default:
 		err = data_manage.EdbInfoUpdateStatusByEdbInfoId(edbIdList, isStop, calculateEdbIdList)

+ 1 - 1
controllers/data_manage/edb_info_relation.go

@@ -21,7 +21,7 @@ type EdbInfoRelationController struct {
 // RelationEdbList
 // @Title 获取被引用的指标列表接口
 // @Description 获取被引用的指标列表接口
-// @Param   Source   query   int  true       "来源:2:wind,34:钢联化工"
+// @Param   Source   query   int  true       "来源:2:wind,34:上海钢联"
 // @Param   ClassifyId   query   string  false             "分类ID,支持多选,用英文,隔开"
 // @Param   SysUserId   query   string  false       "创建人,支持多选,用英文,隔开"
 // @Param   Frequency   query   string  false       "频度,支持多选,用英文,隔开"

+ 75 - 41
controllers/data_manage/future_good/future_good_chart_info.go

@@ -18,6 +18,7 @@ import (
 	"fmt"
 	"os"
 	"os/exec"
+	"regexp"
 	"sort"
 	"strconv"
 	"strings"
@@ -2614,57 +2615,77 @@ func (this *FutureGoodChartInfoController) ChartInfoBase64Upload() {
 		}
 	}
 
+	NotBackendGenerate, _ := this.GetBool("NotBackendGenerate", false)
+	if NotBackendGenerate {
+		b, _ := regexp.MatchString(`^data:\s*image\/(\w+);base64,`, imgData)
+		if !b {
+			br.Msg = "图片格式不正确"
+			br.ErrMsg = "图片格式不正确"
+			return
+		}
+		re, _ := regexp.Compile(`^data:\s*image\/(\w+);base64,`)
+		base64Str := re.ReplaceAllString(imgData, "")
+		base64Str = strings.Replace(base64Str, " ", "", -1)
+		imgData = base64Str
+	}
 	//var saveToOssPath string
 	randStr := utils.GetRandStringNoSpecialChar(28)
 	var fileName, outFileName string
-	fileName = randStr + ".txt"
-	//saveSvgPath = uploadDir + fileName
-	err := utils.SaveToFile(imgData, fileName)
-	if err != nil {
-		br.Msg = "图片保存失败"
-		br.ErrMsg = "图片保存失败,Err:" + err.Error()
-		return
-	}
 	outFileName = randStr + ".png"
-
-	doneChannel := make(chan bool, 1)
-	errorChannel := make(chan error, 1)
-
-	cmd := exec.Command("highcharts-export-server", "--infile", fileName, "--constr", "Chart", "--scale", "2", "--workers", "10", "--workLimit", "3", "--outfile", outFileName)
-
-	go func() {
-		output, err := cmd.CombinedOutput()
+	if NotBackendGenerate {
+		err := utils.SaveBase64ToFile(imgData, outFileName)
 		if err != nil {
-			utils.FileLog.Info("execute command failed, output: , error: \n" + string(output) + err.Error())
-			errorChannel <- err
+			br.Msg = "图片保存失败"
+			br.ErrMsg = "图片保存失败,Err:" + err.Error()
 			return
 		}
-		doneChannel <- true
-	}()
+	} else {
+		fileName = randStr + ".txt"
+		//saveSvgPath = uploadDir + fileName
+		err := utils.SaveToFile(imgData, fileName)
+		if err != nil {
+			br.Msg = "图片保存失败"
+			br.ErrMsg = "图片保存失败,Err:" + err.Error()
+			return
+		}
+		doneChannel := make(chan bool, 1)
+		errorChannel := make(chan error, 1)
+		cmd := exec.Command("highcharts-export-server", "--infile", fileName, "--constr", "Chart", "--scale", "2", "--workers", "10", "--workLimit", "3", "--outfile", outFileName)
+		go func() {
+			output, err := cmd.CombinedOutput()
+			if err != nil {
+				utils.FileLog.Info("execute command failed, output: , error: \n" + string(output) + err.Error())
+				errorChannel <- err
+				return
+			}
+			doneChannel <- true
+		}()
 
-	select {
-	case <-time.After(30 * time.Second):
-		utils.FileLog.Info("执行超过30秒 杀死超时进程")
-		e := cmd.Process.Kill()
-		if e != nil {
-			fmt.Println("cmd kill err: ", e.Error())
-			utils.FileLog.Info(fmt.Sprintf("cmd kill err: %s", e.Error()))
-			br.Msg = "图片生成失败"
-			br.ErrMsg = "图片生成失败, 执行超时" + e.Error()
+		select {
+		case <-time.After(30 * time.Second):
+			utils.FileLog.Info("执行超过30秒 杀死超时进程")
+			e := cmd.Process.Kill()
+			if e != nil {
+				fmt.Println("cmd kill err: ", e.Error())
+				utils.FileLog.Info(fmt.Sprintf("cmd kill err: %s", e.Error()))
+				br.Msg = "图片生成失败"
+				br.ErrMsg = "图片生成失败, 执行超时" + e.Error()
+				return
+			}
+			fmt.Println("timeout kill process")
+		case <-doneChannel:
+			fmt.Println("done")
+		case err := <-errorChannel:
+			br.Msg = "文件上传失败"
+			br.ErrMsg = fmt.Sprintf("execute command failure err: %s", err.Error())
+			fmt.Println("execute command failure err:" + err.Error())
 			return
 		}
-		fmt.Println("timeout kill process")
-	case <-doneChannel:
-		fmt.Println("done")
-	case err := <-errorChannel:
-		br.Msg = "文件上传失败"
-		br.ErrMsg = fmt.Sprintf("execute command failure err: %s", err.Error())
-		fmt.Println("execute command failure err:" + err.Error())
-		return
+		defer func() {
+			os.Remove(fileName)
+		}()
 	}
-
 	defer func() {
-		os.Remove(fileName)
 		os.Remove(outFileName)
 	}()
 
@@ -2695,7 +2716,7 @@ func (this *FutureGoodChartInfoController) ChartInfoBase64Upload() {
 		br.ErrMsg = "初始化OSS服务失败"
 		return
 	}
-	resourceUrl, err = ossClient.UploadFile(outFileName, outFileName, "")
+	resourceUrl, err := ossClient.UploadFile(outFileName, outFileName, "")
 	if err != nil {
 		br.Msg = "文件上传失败"
 		br.ErrMsg = "文件上传失败,Err:" + err.Error()
@@ -3570,6 +3591,19 @@ func (this *FutureGoodChartInfoController) ChartInfoImgSetBySvg() {
 		br.ErrMsg = "图片参数错误,Img Is Empty"
 		return
 	}
+	NotBackendGenerate, _ := this.GetBool("NotBackendGenerate", false)
+	if NotBackendGenerate {
+		b, _ := regexp.MatchString(`^data:\s*image\/(\w+);base64,`, imgData)
+		if !b {
+			br.Msg = "图片格式不正确"
+			br.ErrMsg = "图片格式不正确"
+			return
+		}
+		re, _ := regexp.Compile(`^data:\s*image\/(\w+);base64,`)
+		base64Str := re.ReplaceAllString(imgData, "")
+		base64Str = strings.Replace(base64Str, " ", "", -1)
+		imgData = base64Str
+	}
 	chartInfoId, _ := this.GetInt("ChartInfoId", 0)
 	if chartInfoId <= 0 {
 		br.Msg = "图片参数错误"
@@ -3579,7 +3613,7 @@ func (this *FutureGoodChartInfoController) ChartInfoImgSetBySvg() {
 	resp := new(models.ResourceResp)
 
 	// 通过svg图片生成图片资源地址
-	resourceUrl, err, errMsg := services.GetResourceUrlBySvgImg(imgData)
+	resourceUrl, err, errMsg := services.GetResourceUrlBySvgImg(imgData, NotBackendGenerate)
 	if err != nil {
 		br.Msg = errMsg
 		br.ErrMsg = err.Error()

+ 31 - 31
controllers/data_manage/mysteel_chemical_data.go

@@ -25,8 +25,8 @@ import (
 )
 
 // MysteelChemicalClassify
-// @Title 钢联化工数据分类
-// @Description 钢联化工分类接口
+// @Title 上海钢联数据分类
+// @Description 上海钢联分类接口
 // @Success 200 {object} data_manage.BaseFromMysteelChemicalClassifyItems
 // @router /mysteel_chemical/classify [get]
 func (this *EdbInfoController) MysteelChemicalClassify() {
@@ -90,8 +90,8 @@ func (this *EdbInfoController) MysteelChemicalClassify() {
 }
 
 // MysteelChemicalIndexList
-// @Title 钢联化工数据指标列表
-// @Description 钢联化工数据指标列表接口
+// @Title 上海钢联数据指标列表
+// @Description 上海钢联数据指标列表接口
 // @Success 200 {object} data_manage.BaseFromMysteelChemicalIndexResp
 // @router /mysteel_chemical/index/list [get]
 func (this *EdbInfoController) MysteelChemicalIndexList() {
@@ -181,7 +181,7 @@ func (this *EdbClassifyController) AddMysteelChemicalClassify() {
 		for _, v := range secondClassifyList {
 			_, _, tmpErrMsg := data.AddMysteelChemicalClassify(v, mysteelChemicalClassifyInfo.BaseFromMysteelChemicalClassifyId, mysteelChemicalClassifyInfo.Level, this.SysUser.AdminId, this.SysUser.RealName, this.Lang)
 			if tmpErrMsg != `` {
-				go alarm_msg.SendAlarmMsg("钢联化工-添加一级分类时,默认添加二级分类失败,一级分类名称:"+req.ClassifyName+",二级分类名称:"+v+", Err:"+tmpErrMsg, 3)
+				go alarm_msg.SendAlarmMsg("上海钢联-添加一级分类时,默认添加二级分类失败,一级分类名称:"+req.ClassifyName+",二级分类名称:"+v+", Err:"+tmpErrMsg, 3)
 				return
 			}
 		}
@@ -343,8 +343,8 @@ func (this *EdbClassifyController) DeleteMysteelChemicalClassify() {
 }
 
 // MysteelChemicalSearch
-// @Title 钢联化工指标查询
-// @Description 钢联化工指标查询
+// @Title 上海钢联指标查询
+// @Description 上海钢联指标查询
 // @Param   BaseFromMysteelChemicalClassifyId   query   int  true       "分类id"
 // @Param   Keyword   query   string  true       "名称关键词"
 // @Success 200 {object} data_manage.LzFrequency
@@ -416,10 +416,10 @@ func (this *EdbInfoController) MysteelChemicalSearch() {
 }
 
 // MysteelChemicalFrequency
-// @Title 钢联化工数据频度
-// @Description 钢联化工数据频度接口
+// @Title 上海钢联数据频度
+// @Description 上海钢联数据频度接口
 // @Param   BaseFromMysteelChemicalClassifyId   query   int  true       "分类id"
-// @Param   BaseFromMysteelChemicalIndexId   query   int  true       "钢联化工指标id"
+// @Param   BaseFromMysteelChemicalIndexId   query   int  true       "上海钢联指标id"
 // @Param   Keyword   query   string  true       "名称关键词"
 // @Success 200 {object} data_manage.LzFrequency
 // @router /mysteel_chemical/frequency [get]
@@ -495,10 +495,10 @@ func (this *EdbInfoController) MysteelChemicalFrequency() {
 }
 
 // MysteelChemicalData
-// @Title 获取钢联化工数据
-// @Description 获取钢联化工数据
+// @Title 获取上海钢联数据
+// @Description 获取上海钢联数据
 // @Param   BaseFromMysteelChemicalClassifyId   query   int  true       "分类id"
-// @Param   BaseFromMysteelChemicalIndexId   query   int  true       "钢联化工指标id"
+// @Param   BaseFromMysteelChemicalIndexId   query   int  true       "上海钢联指标id"
 // @Param   Frequency   query   string  true       "频度名称"
 // @Param   Keyword   query   string  true       "名称关键词"
 // @Param   PageSize   query   int  true       "每页数据条数"
@@ -615,10 +615,10 @@ func (this *EdbInfoController) MysteelChemicalData() {
 }
 
 // MysteelChemicalExport
-// @Title 导出钢联化工数据
-// @Description 导出钢联化工数据
+// @Title 导出上海钢联数据
+// @Description 导出上海钢联数据
 // @Param   BaseFromMysteelChemicalClassifyId   query   int  true       "分类"
-// @Param   BaseFromMysteelChemicalIndexId   query   string  true       "钢联化工指标id"
+// @Param   BaseFromMysteelChemicalIndexId   query   string  true       "上海钢联指标id"
 // @Param   Keyword   query   string  true       "名称关键词"
 // @Success 200  导出成功
 // @router /mysteel_chemical/export/dataList [get]
@@ -761,7 +761,7 @@ func (this *EdbClassifyController) MysteelChemicalExport() {
 				return
 			}
 			if k == 0 {
-				windRow.AddCell().SetValue("钢联")
+				windRow.AddCell().SetValue("上海钢联")
 				secNameRow.AddCell().SetValue("指标名称")
 				indexCodeRow.AddCell().SetValue("指标ID")
 				frequencyRow.AddCell().SetValue("频率")
@@ -827,8 +827,8 @@ func (this *EdbClassifyController) MysteelChemicalExport() {
 }
 
 // AddMysteelChemical
-// @Title 新增钢联化工指标
-// @Description 新增钢联化工指标接口
+// @Title 新增上海钢联指标
+// @Description 新增上海钢联指标接口
 // @Param	request	body data_manage.AddEdbClassifyReq true "type json string"
 // @Success 200 Ret=200 保存成功
 // @router /mysteel_chemical/add [post]
@@ -853,7 +853,7 @@ func (this *EdbClassifyController) AddMysteelChemical() {
 		br.ErrMsg = "获取业务配置失败,Err:" + err.Error()
 		return
 	}
-	// 判断钢联化工的数据刷新方式
+	// 判断上海钢联的数据刷新方式
 	if conf["MySteelDataMethod"] == "api" {
 		if len(req.List) > 150 {
 			br.Msg = "添加指标失败,指标数量不能超过150条"
@@ -862,7 +862,7 @@ func (this *EdbClassifyController) AddMysteelChemical() {
 		ok, errMsg, err := data.HealthCheckMysteelChemicalApi()
 		if err != nil {
 			br.Msg = "添加指标失败"
-			br.ErrMsg = "钢联化工数据接口异常,Err:" + err.Error()
+			br.ErrMsg = "上海钢联数据接口异常,Err:" + err.Error()
 			return
 		}
 		if !ok {
@@ -1010,8 +1010,8 @@ func sortEdbFrequency(frequencyList []string) (newFrequencyList []string) {
 }
 
 // EditMysteelChemical
-// @Title 编辑钢联化工指标
-// @Description 新增钢联化工指标接口
+// @Title 编辑上海钢联指标
+// @Description 新增上海钢联指标接口
 // @Param	request	body data_manage.AddEdbClassifyReq true "type json string"
 // @Success 200 Ret=200 保存成功
 // @router /mysteel_chemical/edit [post]
@@ -1168,9 +1168,9 @@ func (this *EdbClassifyController) MoveMysteelChemical() {
 }
 
 // MysteelChemicalDetail
-// @Title 钢联化工指标详情
-// @Description 钢联化工指标详情接口
-// @Param   BaseFromMysteelChemicalIndexId   query   string  true       "钢联化工指标id"
+// @Title 上海钢联指标详情
+// @Description 上海钢联指标详情接口
+// @Param   BaseFromMysteelChemicalIndexId   query   string  true       "上海钢联指标id"
 // @Success 200 {object} data_manage.BaseFromMysteelChemicalClassifyItems
 // @router /mysteel_chemical/detail [get]
 func (this *EdbInfoController) MysteelChemicalDetail() {
@@ -1211,9 +1211,9 @@ func (this *EdbInfoController) MysteelChemicalDetail() {
 }
 
 // MysteelChemicalDetail
-// @Title 钢联化工指标详情
-// @Description 钢联化工指标详情接口
-// @Param   BaseFromMysteelChemicalIndexId   query   string  true       "钢联化工指标id"
+// @Title 上海钢联指标详情
+// @Description 上海钢联指标详情接口
+// @Param   BaseFromMysteelChemicalIndexId   query   string  true       "上海钢联指标id"
 // @Success 200 {object} data_manage.BaseFromMysteelChemicalClassifyItems
 // @router /mysteel_chemical/refresh [get]
 func (this *EdbInfoController) MysteelChemicalRefresh() {
@@ -1746,8 +1746,8 @@ func (c *EdbInfoController) AddCheck() {
 }
 
 // MysteelChemicalBatchSearch
-// @Title 钢联化工指标查询
-// @Description 钢联化工指标查询
+// @Title 上海钢联指标查询
+// @Description 上海钢联指标查询
 // @Param   BaseFromMysteelChemicalClassifyIds   query   string  true       "分类id"
 // @Param   Keyword   query   string  true       "名称关键词"
 // @Success 200 {object} data_manage.LzFrequency

+ 16 - 1
controllers/data_manage/predict_edb_info.go

@@ -13,6 +13,7 @@ import (
 	"eta/eta_api/services/elastic"
 	"eta/eta_api/utils"
 	"fmt"
+	"regexp"
 	"sort"
 	"strconv"
 	"strings"
@@ -2183,6 +2184,20 @@ func (this *PredictEdbInfoController) ChartImageSetBySvg() {
 		br.ErrMsg = "图片参数错误,Img Is Empty"
 		return
 	}
+	NotBackendGenerate, _ := this.GetBool("NotBackendGenerate", false)
+	if NotBackendGenerate {
+		b, _ := regexp.MatchString(`^data:\s*image\/(\w+);base64,`, imgData)
+		if !b {
+			br.Msg = "图片格式不正确"
+			br.ErrMsg = "图片格式不正确"
+			return
+		}
+		re, _ := regexp.Compile(`^data:\s*image\/(\w+);base64,`)
+		base64Str := re.ReplaceAllString(imgData, "")
+		base64Str = strings.Replace(base64Str, " ", "", -1)
+		imgData = base64Str
+	}
+
 	edbInfoId, _ := this.GetInt("EdbInfoId", 0)
 	if edbInfoId <= 0 {
 		br.Msg = "指标参数错误"
@@ -2191,7 +2206,7 @@ func (this *PredictEdbInfoController) ChartImageSetBySvg() {
 	}
 
 	// 通过svg图片生成图片资源地址
-	resourceUrl, err, errMsg := services.GetResourceUrlBySvgImg(imgData)
+	resourceUrl, err, errMsg := services.GetResourceUrlBySvgImg(imgData,NotBackendGenerate)
 	if err != nil {
 		br.Msg = errMsg
 		br.ErrMsg = err.Error()

+ 1 - 0
controllers/report_v2.go

@@ -499,6 +499,7 @@ func (this *ReportController) Add() {
 	item.ReportLayout = req.ReportLayout
 	item.IsPublicPublish = req.IsPublicPublish
 	item.ReportCreateTime = time.Now()
+	item.MiniShow = req.MiniShow
 
 	reportDate := time.Now()
 	t, _ := time.ParseInLocation(utils.FormatDate, req.CreateTime, time.Local)

+ 8 - 0
controllers/sys_role.go

@@ -724,6 +724,14 @@ func (this *SysRoleController) SystemConfig() {
 	}, system.BusinessConf{
 		ConfKey: "LoginUrl",
 		ConfVal: conf["LoginUrl"],
+	},
+        system.BusinessConf{
+        ConfKey: "KnowledgeBaseName",
+    	ConfVal: conf["KnowledgeBaseName"],
+    },  system.BusinessConf{
+			ConfKey: "NotBackendGenerate",
+			ConfVal: conf["NotBackendGenerate"],
+
 	}, system.BusinessConf{
 		ConfKey: models.KnowledgeBaseName,
 		ConfVal: conf[models.KnowledgeBaseName],

+ 1 - 1
models/data_manage/data_manage_permission/classify_no_auth_record.go

@@ -10,7 +10,7 @@ import (
 // @Description: 资产分类数据权限未授权记录表
 type DataPermissionClassifyNoAuthRecord struct {
 	DataPermissionClassifyNoAuthRecordId int64     `json:"data_permission_classify_no_auth_record_id" orm:"column(data_permission_classify_no_auth_record_id);pk" gorm:"primaryKey" ` // 资产分类数据操作记录id
-	Source                               int32     `json:"source"`                                                                                                                    // 数据来源,1:手工数据指标 2:钢联化工数据库 3:ETA指标库 4:ETA预测指标 5:图库 6:ETA表格
+	Source                               int32     `json:"source"`                                                                                                                    // 数据来源,1:手工数据指标 2:上海钢联数据库 3:ETA指标库 4:ETA预测指标 5:图库 6:ETA表格
 	SubSource                            int32     `json:"sub_source"`                                                                                                                // 子来源 :ETA表格中的各种表格类型,以及图表的来源(这个是后续的扩展方向)
 	OpUniqueCode                         string    `json:"op_unique_code"`                                                                                                            // 操作的唯一编码,主要是记录统一操作的日志
 	ClassifyId                           string    `json:"classify_id"`                                                                                                               // 资产分类id(指标、图表、表格)

+ 1 - 1
models/data_manage/data_manage_permission/move.go

@@ -49,7 +49,7 @@ func ModifyDataUserIdByOldUserId(oldUserIdList []int, userId int, userName strin
 		}
 	}()
 
-	// 钢联化工数据库
+	// 上海钢联数据库
 	if isMoveMysteelChemical {
 		sql := `UPDATE base_from_mysteel_chemical_index SET sys_user_id=?,sys_user_real_name=? WHERE sys_user_id in (` + utils.GetOrmInReplace(num) + `)  `
 		err = o.Exec(sql, userId, userName, oldUserIdList).Error

+ 1 - 1
models/data_manage/data_manage_permission/move_record.go

@@ -10,7 +10,7 @@ import (
 // @Description: 数据资产转移记录表
 type DataPermissionMoveRecord struct {
 	DataPermissionMoveRecordId int64     `json:"data_permission_move_record_id" orm:"column(data_permission_move_record_id);pk" gorm:"primaryKey" ` // 数据操作记录id
-	Source                     int32     `json:"source"`                                                                                            // 数据来源,1:手工数据指标 2:钢联化工数据库 3:ETA指标库 4:ETA预测指标 5:图库 6:ETA表格
+	Source                     int32     `json:"source"`                                                                                            // 数据来源,1:手工数据指标 2:上海钢联数据库 3:ETA指标库 4:ETA预测指标 5:图库 6:ETA表格
 	SubSource                  int32     `json:"sub_source"`                                                                                        // 子来源 :ETA表格中的各种表格类型,以及图表的来源(这个是后续的扩展方向)
 	OpUniqueCode               string    `json:"op_unique_code"`                                                                                    // 操作的唯一编码,主要是记录统一操作的日志
 	DataId                     string    `json:"data_id"`                                                                                           // 资产id(指标、图表、表格)

+ 1 - 1
models/data_manage/data_manage_permission/no_auth_record.go

@@ -10,7 +10,7 @@ import (
 // @Description: 资产数据权限设置记录表
 type DataPermissionNoAuthRecord struct {
 	DataPermissionNoAuthRecordId int64     `json:"data_permission_no_auth_record_id" orm:"column(data_permission_no_auth_record_id);pk" gorm:"primaryKey" ` // 资产数据操作记录id
-	Source                       int32     `json:"source"`                                                                                                  // 数据来源,1:手工数据指标 2:钢联化工数据库 3:ETA指标库 4:ETA预测指标 5:图库 6:ETA表格
+	Source                       int32     `json:"source"`                                                                                                  // 数据来源,1:手工数据指标 2:上海钢联数据库 3:ETA指标库 4:ETA预测指标 5:图库 6:ETA表格
 	SubSource                    int32     `json:"sub_source"`                                                                                              // 子来源 :ETA表格中的各种表格类型,以及图表的来源(这个是后续的扩展方向)
 	OpUniqueCode                 string    `json:"op_unique_code"`                                                                                          // 操作的唯一编码,主要是记录统一操作的日志
 	DataId                       string    `json:"data_id"`                                                                                                 // 资产id(指标、图表、表格)

+ 2 - 2
models/data_manage/edb_data_mysteel_chemical.go

@@ -5,7 +5,7 @@ import (
 	"eta/eta_api/utils"
 )
 
-// GetEdbDataMysteelChemicalMaxOrMinDate 根据钢联化工指标code获取最大、最小日期
+// GetEdbDataMysteelChemicalMaxOrMinDate 根据上海钢联指标code获取最大、最小日期
 func GetEdbDataMysteelChemicalMaxOrMinDate(edbCode string) (minDate, maxDate string, err error) {
 	//o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT MIN(data_time) AS minDate,MAX(data_time) AS maxDate FROM edb_data_mysteel_chemical WHERE edb_code=? `
@@ -20,7 +20,7 @@ func GetEdbDataMysteelChemicalMaxOrMinDate(edbCode string) (minDate, maxDate str
 	return
 }
 
-// 更新钢联化工指标的刷新状态
+// 更新上海钢联指标的刷新状态
 func UpdateMysteelChemicalRefreshStatus(edbCode string, isStop int) (err error) {
 	//o := orm.NewOrmUsingDB("data")
 	sql := ` UPDATE base_from_mysteel_chemical_index SET is_stop = ? WHERE index_code =? and is_stop=1`

+ 1 - 1
models/data_manage/edb_info.go

@@ -284,7 +284,7 @@ type BatchAddCheckReq struct {
 	IndexCodes []string `form:"IndexCodes" description:"全选为false时, 该数组为选中; 全选为true时, 该数组为不选的指标"`
 }
 
-// MysteelChemicalDataBatchAddCheckReq 钢联化工指标批量添加校验
+// MysteelChemicalDataBatchAddCheckReq 上海钢联指标批量添加校验
 type MysteelChemicalDataBatchAddCheckReq struct {
 	// MysteelChemicalDataListReq
 	IndexCodes []string `form:"IndexCodes" description:"全选为false时, 该数组为选中; 全选为true时, 该数组为不选的指标"`

+ 4 - 4
models/data_manage/edb_info_relation.go

@@ -112,7 +112,7 @@ func AddOrUpdateEdbInfoRelation(objectId, objectType int, relationList []*EdbInf
 		}
 	}
 
-	//更新数据源钢联化工指标
+	//更新数据源上海钢联指标
 	if len(indexCodeList) > 0 {
 		// 更改数据源的更新状态
 		sql := ` UPDATE base_from_mysteel_chemical_index SET is_stop = 0 WHERE index_code IN (` + utils.GetOrmInReplace(len(indexCodeList)) + `) and is_stop=1`
@@ -180,7 +180,7 @@ func AddOrUpdateEdbInfoRelationMulti(relationList []*EdbInfoRelation, refreshEdb
 		}
 	}
 
-	//更新数据源钢联化工指标
+	//更新数据源上海钢联指标
 	if len(indexCodeList) > 0 {
 		// 更改数据源的更新状态
 		sql := ` UPDATE base_from_mysteel_chemical_index SET is_stop = 0 WHERE index_code IN (` + utils.GetOrmInReplace(len(indexCodeList)) + `) and is_stop=1`
@@ -431,7 +431,7 @@ func ReplaceRelationEdbInfoId(oldEdbInfo, newEdbInfo *EdbInfo, edbRelationIds []
 		}
 	}
 
-	//更新数据源钢联化工指标
+	//更新数据源上海钢联指标
 	if len(indexCodeList) > 0 {
 		// 更改数据源的更新状态
 		sql := ` UPDATE base_from_mysteel_chemical_index SET is_stop = 0 WHERE index_code IN (` + utils.GetOrmInReplace(len(indexCodeList)) + `) and is_stop=1`
@@ -505,7 +505,7 @@ func UpdateSecondRelationEdbInfoId(edbRelationIds []int, relationList []*EdbInfo
 		}
 	}
 
-	//更新数据源钢联化工指标
+	//更新数据源上海钢联指标
 	if len(indexCodeList) > 0 {
 		// 更改数据源的更新状态
 		sql = ` UPDATE base_from_mysteel_chemical_index SET is_stop = 0 WHERE index_code IN (` + utils.GetOrmInReplace(len(indexCodeList)) + `) and is_stop=1`

+ 4 - 4
models/data_manage/mysteel_chemical_classify.go

@@ -7,7 +7,7 @@ import (
 	"time"
 )
 
-// BaseFromMysteelChemicalClassify 钢联化工分类表
+// BaseFromMysteelChemicalClassify 上海钢联分类表
 type BaseFromMysteelChemicalClassify struct {
 	BaseFromMysteelChemicalClassifyId int       `orm:"column(base_from_mysteel_chemical_classify_id);pk" gorm:"primaryKey"`
 	ClassifyName                      string    `description:"分类名称"`
@@ -21,7 +21,7 @@ type BaseFromMysteelChemicalClassify struct {
 	ClassifyNameEn                    string    `description:"英文分类名称"`
 }
 
-// AddBaseFromMysteelChemicalClassify 添加钢联化工分类
+// AddBaseFromMysteelChemicalClassify 添加上海钢联分类
 func AddBaseFromMysteelChemicalClassify(item *BaseFromMysteelChemicalClassify) (lastId int64, err error) {
 	o := global.DbMap[utils.DbNameIndex]
 	err = o.Create(item).Error
@@ -70,7 +70,7 @@ func GetBaseFromMysteelChemicalClassifyById(classifyId int) (item *BaseFromMyste
 	return
 }
 
-// EditBaseFromMysteelChemicalClassify 修改钢联化工分类
+// EditBaseFromMysteelChemicalClassify 修改上海钢联分类
 func EditBaseFromMysteelChemicalClassify(classifyId int, classifyName string) (err error) {
 	o := global.DbMap[utils.DbNameIndex]
 	sql := `UPDATE base_from_mysteel_chemical_classify SET classify_name=?,modify_time=NOW() WHERE base_from_mysteel_chemical_classify_id=? `
@@ -79,7 +79,7 @@ func EditBaseFromMysteelChemicalClassify(classifyId int, classifyName string) (e
 }
 
 // EditBaseFromMysteelChemicalClassifyEn
-// @Description: 修改钢联化工英文分类名称
+// @Description: 修改上海钢联英文分类名称
 // @author: Roc
 // @datetime 2024-04-16 16:34:53
 // @param classifyId int

+ 26 - 26
models/data_manage/mysteel_chemical_index.go

@@ -11,10 +11,10 @@ import (
 	"github.com/rdlucklib/rdluck_tools/paging"
 )
 
-// BaseFromMysteelChemicalIndex 钢联化工指标表
+// BaseFromMysteelChemicalIndex 上海钢联指标表
 type BaseFromMysteelChemicalIndex struct {
 	BaseFromMysteelChemicalIndexId    int       `orm:"column(base_from_mysteel_chemical_index_id);pk" gorm:"primaryKey"`
-	BaseFromMysteelChemicalClassifyId int       `orm:"column(base_from_mysteel_chemical_classify_id)" description:"钢联化工指标分类id"`
+	BaseFromMysteelChemicalClassifyId int       `orm:"column(base_from_mysteel_chemical_classify_id)" description:"上海钢联指标分类id"`
 	IndexCode                         string    `description:"指标编码"`
 	IndexName                         string    `description:"指标名称"`
 	Unit                              string    `description:"单位"`
@@ -89,7 +89,7 @@ var BaseFromMysteelChemicalIndexCols = struct {
 	ModifyTime:                     "modify_time",
 }
 
-// Update 更新钢联化工指标基础信息
+// Update 更新上海钢联指标基础信息
 func (item *BaseFromMysteelChemicalIndex) Update(cols []string) (err error) {
 	o := global.DbMap[utils.DbNameIndex]
 	err = o.Select(cols).Updates(item).Error
@@ -118,7 +118,7 @@ func (m *BaseFromMysteelChemicalIndex) GeItemsByCondition(condition string, pars
 	return
 }
 
-// AddBaseFromMysteelChemicalIndex 添加钢联化工指标
+// AddBaseFromMysteelChemicalIndex 添加上海钢联指标
 func AddBaseFromMysteelChemicalIndex(item *BaseFromMysteelChemicalIndex) (lastId int64, err error) {
 	o := global.DbMap[utils.DbNameIndex]
 	err = o.Create(item).Error
@@ -129,17 +129,17 @@ func AddBaseFromMysteelChemicalIndex(item *BaseFromMysteelChemicalIndex) (lastId
 	return
 }
 
-// AddBaseFromMysteelChemicalIndex 添加钢联化工指标
+// AddBaseFromMysteelChemicalIndex 添加上海钢联指标
 func BatchAddBaseFromMysteelChemicalIndex(items []*BaseFromMysteelChemicalIndex) (lastId int64, err error) {
 	o := global.DbMap[utils.DbNameIndex]
 	err = o.CreateInBatches(items, utils.MultiAddNum).Error
 	return
 }
 
-// BaseFromMysteelChemicalData 钢联化工指标数据表
+// BaseFromMysteelChemicalData 上海钢联指标数据表
 type BaseFromMysteelChemicalData struct {
 	BaseFromMysteelChemicalDataId  int       `orm:"column(base_from_mysteel_chemical_data_id);pk" gorm:"primaryKey"`
-	BaseFromMysteelChemicalIndexId int       `orm:"column(base_from_mysteel_chemical_index_id)" description:"钢联化工指标id"`
+	BaseFromMysteelChemicalIndexId int       `orm:"column(base_from_mysteel_chemical_index_id)" description:"上海钢联指标id"`
 	IndexCode                      string    `description:"指标编码"`
 	DataTime                       time.Time `description:"数据日期"`
 	Value                          float64   `description:"数据值"`
@@ -147,7 +147,7 @@ type BaseFromMysteelChemicalData struct {
 	CreateTime                     time.Time `description:"创建时间"`
 }
 
-// MysteelChemicalFrequency 钢联化工频度
+// MysteelChemicalFrequency 上海钢联频度
 type MysteelChemicalFrequency struct {
 	Frequency string `description:"频度:1-日度 2-周度 3-月度 4-季度 5-年度 99-无固定频率"`
 }
@@ -162,7 +162,7 @@ func GetMysteelChemicalIndexByClassifyId(classifyId int) (items []*BaseFromMyste
 	return
 }
 
-// MysteelChemicalFrequencyByClassifyId 根据分类id获取钢联化工频度数据列表
+// MysteelChemicalFrequencyByClassifyId 根据分类id获取上海钢联频度数据列表
 func MysteelChemicalFrequencyByClassifyId(classifyId int) (items []*MysteelChemicalFrequency, err error) {
 	o := global.DbMap[utils.DbNameIndex]
 	if classifyId == 0 {
@@ -176,7 +176,7 @@ func MysteelChemicalFrequencyByClassifyId(classifyId int) (items []*MysteelChemi
 	}
 }
 
-// GetMysteelChemicalFrequency 获取钢联化工频度数据列表
+// GetMysteelChemicalFrequency 获取上海钢联频度数据列表
 func GetMysteelChemicalFrequency(condition string, pars []interface{}) (items []*MysteelChemicalFrequency, err error) {
 	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT frequency FROM base_from_mysteel_chemical_index WHERE 1=1 AND frequency != '' `
@@ -188,11 +188,11 @@ func GetMysteelChemicalFrequency(condition string, pars []interface{}) (items []
 	return
 }
 
-// MysteelChemicalList 钢联化工指标列表
+// MysteelChemicalList 上海钢联指标列表
 type MysteelChemicalList struct {
 	Id                                int                    `gorm:"column:base_from_mysteel_chemical_index_id"`
-	BaseFromMysteelChemicalClassifyId int                    `gorm:"column:base_from_mysteel_chemical_classify_id" description:"钢联化工指标分类id"`
-	ParentClassifyId                  int                    `description:"钢联化工指标父级分类id"`
+	BaseFromMysteelChemicalClassifyId int                    `gorm:"column:base_from_mysteel_chemical_classify_id" description:"上海钢联指标分类id"`
+	ParentClassifyId                  int                    `description:"上海钢联指标父级分类id"`
 	IndexCode                         string                 `description:"指标编码"`
 	IndexName                         string                 `description:"指标名称"`
 	UnitName                          string                 `gorm:"column:unit"`
@@ -214,7 +214,7 @@ func (m *MysteelChemicalList) AfterFind(tx *gorm.DB) (err error) {
 	return
 }
 
-// MysteelChemicalData 钢联化工数据列表
+// MysteelChemicalData 上海钢联数据列表
 type MysteelChemicalData struct {
 	InputValue string `gorm:"column:value" description:"值"`
 	DataTime   string `gorm:"column:data_time" description:"日期"`
@@ -225,7 +225,7 @@ func (m *MysteelChemicalData) AfterFind(tx *gorm.DB) (err error) {
 	return
 }
 
-// GetMysteelChemicalIndex 根据分类id获取钢联化工频度数据列表
+// GetMysteelChemicalIndex 根据分类id获取上海钢联频度数据列表
 func GetMysteelChemicalIndex(condition string, pars []interface{}) (items []*MysteelChemicalList, err error) {
 	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_mysteel_chemical_index WHERE 1=1 `
@@ -238,7 +238,7 @@ func GetMysteelChemicalIndex(condition string, pars []interface{}) (items []*Mys
 	return
 }
 
-// GetMysteelChemicalIndexData 根据指标code获取钢联化工数据列表
+// GetMysteelChemicalIndexData 根据指标code获取上海钢联数据列表
 func GetMysteelChemicalIndexData(indexCode string, startSize, pageSize int) (items []*MysteelChemicalData, err error) {
 	sql := ` SELECT * FROM (
 	SELECT DISTINCT a.index_code,a.value,a.data_time FROM base_from_mysteel_chemical_data AS a WHERE index_code=? 
@@ -252,7 +252,7 @@ func GetMysteelChemicalIndexData(indexCode string, startSize, pageSize int) (ite
 	return
 }
 
-// GetMysteelChemicalIndexDataCount 根据指标code获取钢联化工数据列表 获取钢联数据总数
+// GetMysteelChemicalIndexDataCount 根据指标code获取上海钢联数据列表 获取钢联数据总数
 func GetMysteelChemicalIndexDataCount(indexCode string) (count int, err error) {
 	sql := `SELECT COUNT(1) AS count FROM (
 			SELECT * FROM (
@@ -357,7 +357,7 @@ func GetBaseFromMysteelChemicalDataTimeByIndexId(indexIdList []int) (items []str
 	return
 }
 
-// GetMysteelChemicalIndexDataByCode 通过钢联化工指标code获取所有数据列表
+// GetMysteelChemicalIndexDataByCode 通过上海钢联指标code获取所有数据列表
 func GetMysteelChemicalIndexDataByCode(indexCode string) (items []*MysteelChemicalData, err error) {
 	sql := ` SELECT * FROM (
 	SELECT DISTINCT a.index_code,a.value,a.data_time FROM base_from_mysteel_chemical_data AS a WHERE index_code=? 
@@ -370,7 +370,7 @@ func GetMysteelChemicalIndexDataByCode(indexCode string) (items []*MysteelChemic
 	return
 }
 
-// MoveBaseFromMysteelChemicalIndex 移动钢联化工指标分类
+// MoveBaseFromMysteelChemicalIndex 移动上海钢联指标分类
 func MoveBaseFromMysteelChemicalIndex(chartInfoId, classifyId int) (err error) {
 	o := global.DbMap[utils.DbNameIndex]
 	sql := ` UPDATE base_from_mysteel_chemical_index
@@ -400,7 +400,7 @@ func GetFirstBaseFromMysteelChemicalIndexByClassifyId(classifyId int) (item *Bas
 	return
 }
 
-// GetMysteelChemicalIndexCount 根据条件获取钢联化工数据
+// GetMysteelChemicalIndexCount 根据条件获取上海钢联数据
 func GetMysteelChemicalIndexCount(condition string, pars []interface{}) (count int, err error) {
 	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT COUNT(1) AS count FROM base_from_mysteel_chemical_index WHERE 1=1 `
@@ -413,7 +413,7 @@ func GetMysteelChemicalIndexCount(condition string, pars []interface{}) (count i
 	return
 }
 
-// GetMysteelChemicalIndexList 根据分类id获取钢联化工频度数据列表
+// GetMysteelChemicalIndexList 根据分类id获取上海钢联频度数据列表
 func GetMysteelChemicalIndexList(condition string, pars []interface{}, startSize, pageSize int, orderDesc string) (items []*BaseFromMysteelChemicalIndex, err error) {
 	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT * FROM base_from_mysteel_chemical_index WHERE 1=1 `
@@ -527,7 +527,7 @@ type TerminalNum struct {
 	Num          int    `description:"num"`
 }
 
-// GetMysteelChemicalGroupTerminalNum 获取钢联化工指标的终端分布
+// GetMysteelChemicalGroupTerminalNum 获取上海钢联指标的终端分布
 func GetMysteelChemicalGroupTerminalNum() (items []*TerminalNum, err error) {
 	o := global.DbMap[utils.DbNameIndex]
 	sql := ` SELECT terminal_code,count(1) num FROM base_from_mysteel_chemical_index GROUP BY terminal_code ORDER BY num ASC `
@@ -539,7 +539,7 @@ func GetMysteelChemicalGroupTerminalNum() (items []*TerminalNum, err error) {
 // @Description: 刷新配置的基础指标信息结构体
 type BaseRefreshEdbInfo struct {
 	EdbInfoId       int
-	ClassifyId      int    `description:"钢联化工指标分类id"`
+	ClassifyId      int    `description:"上海钢联指标分类id"`
 	IndexCode       string `description:"指标编码"`
 	IndexName       string `description:"指标名称"`
 	EndDate         string `description:"最新日期"`
@@ -565,7 +565,7 @@ type RefreshBaseEdbInfoResp struct {
 }
 
 // GetMysteelChemicalBaseInfoList
-// @Description: 获取钢联化工数据列表
+// @Description: 获取上海钢联数据列表
 // @author: Roc
 // @datetime 2024-01-10 14:28:35
 // @param condition string
@@ -608,7 +608,7 @@ func GetMysteelChemicalBaseInfoList(condition string, pars []interface{}, orderB
 }
 
 // ModifyMysteelChemicalUpdateStatus
-// @Description:  修改钢联化工数据停更状态
+// @Description:  修改上海钢联数据停更状态
 // @author: Roc
 // @datetime 2024-01-08 16:23:31
 // @param edbIdList []int
@@ -663,7 +663,7 @@ func ModifyMysteelChemicalUpdateStatus(edbIdList []int, indexCodeList []string,
 }
 
 // ModifyMysteelChemicalUpdateStatusByEdbInfoId
-// @Description:  修改单个钢联化工指标停更状态,同时停更依赖于该指标的计算指标
+// @Description:  修改单个上海钢联指标停更状态,同时停更依赖于该指标的计算指标
 // @author: Roc
 // @datetime 2024-01-08 16:23:31
 // @param edbIdList []int

+ 7 - 6
models/data_manage/request/mysteel_chemical_data.go

@@ -1,13 +1,13 @@
 package request
 
-// AddBaseFromMysteelChemicalClassifyReq 添加钢联化工分类请求
+// AddBaseFromMysteelChemicalClassifyReq 添加上海钢联分类请求
 type AddBaseFromMysteelChemicalClassifyReq struct {
 	ParentId     int    `description:"上级id"`
 	ClassifyName string `description:"分类名称"`
 	Level        int    `description:"层级,第一级传0,其余传上一级的层级"`
 }
 
-// EditBaseFromMysteelChemicalClassifyReq 修改钢联化工分类请求
+// EditBaseFromMysteelChemicalClassifyReq 修改上海钢联分类请求
 type EditBaseFromMysteelChemicalClassifyReq struct {
 	ClassifyName                      string `description:"分类名称"`
 	BaseFromMysteelChemicalClassifyId int    `description:"分类id"`
@@ -21,12 +21,12 @@ type MoveBaseFromMysteelChemicalClassifyReq struct {
 	NextBaseFromMysteelChemicalClassifyId   int `description:"下一个兄弟节点分类id"`
 }
 
-// DelBaseFromMysteelChemicalClassifyReq 删除钢联化工分类请求
+// DelBaseFromMysteelChemicalClassifyReq 删除上海钢联分类请求
 type DelBaseFromMysteelChemicalClassifyReq struct {
 	BaseFromMysteelChemicalClassifyId int `description:"分类id"`
 }
 
-// AddBaseFromMysteelChemicalReq 添加钢联化工请求
+// AddBaseFromMysteelChemicalReq 添加上海钢联请求
 type AddBaseFromMysteelChemicalReqItem struct {
 	BaseFromMysteelChemicalIndexId    int    `description:"指标id"`
 	BaseFromMysteelChemicalClassifyId int    `description:"分类id"`
@@ -34,12 +34,13 @@ type AddBaseFromMysteelChemicalReqItem struct {
 	UpdateWeek                        string `description:"更新周期"`
 	UpdateTime                        string `description:"更新时间点,多个时间点用英文,隔开"`
 }
-// AddBaseFromMysteelChemicalReq 添加钢联化工请求
+
+// AddBaseFromMysteelChemicalReq 添加上海钢联请求
 type AddBaseFromMysteelChemicalReq struct {
 	List []AddBaseFromMysteelChemicalReqItem
 }
 
-// DelBaseFromMysteelChemicalReq 删除钢联化工请求
+// DelBaseFromMysteelChemicalReq 删除上海钢联请求
 type DelBaseFromMysteelChemicalReq struct {
 	BaseFromMysteelChemicalIndexId int `description:"指标id"`
 }

+ 1 - 1
models/db.go

@@ -353,7 +353,7 @@ func initEdbData() {
 		new(data_manage.EdbInfoCalculateMapping),
 		new(data_manage.PredictEdbConf),                  //预测指标配置
 		new(data_manage.BaseFromMysteelChemicalClassify), //预测指标配置
-		new(data_manage.BaseFromMysteelChemicalIndex),    //钢联化工
+		new(data_manage.BaseFromMysteelChemicalIndex),    //上海钢联
 		new(data_manage.BaseFromEiaSteoClassify),         // Eia steo 报告指标
 		new(data_manage.BaseFromEiaSteoIndex),            // Eia steo 报告指标分类
 		new(data_manage.PredictEdbRuleData),              //预测指标,动态规则的计算数据

+ 5 - 0
models/report.go

@@ -93,6 +93,7 @@ type Report struct {
 	VoiceGenerateType   int       `description:"音频生成方式,0:系统生成,1:人工上传"`
 	RaiReportId         int       `description:"RAI报告ID"`
 	FreeLayoutConfig    string    `description:"'自由布局配置"`
+	MiniShow            int       `description:"是否在C端展示:0-否;1-是"`
 }
 
 func (m *Report) AfterFind(db *gorm.DB) (err error) {
@@ -171,6 +172,7 @@ type ReportList struct {
 	ClassifyNameThird   string    `description:"三级分类名称"`
 	InheritReportId     int       `description:"待继承的报告ID"`
 	RaiReportId         int       `description:"RAI报告ID"`
+	MiniShow            int       `description:"是否在C端展示:0-否;1-是"`
 }
 
 func (m *ReportList) AfterFind(db *gorm.DB) (err error) {
@@ -450,6 +452,7 @@ type ReportDetail struct {
 	ReportCreateTime    time.Time `description:"报告时间创建时间"`
 	RaiReportId         int       `description:"RAI报告ID"`
 	FreeLayoutConfig    string    `description:"'自由布局配置"`
+	MiniShow            int       `description:"是否在C端展示:0-否;1-是"`
 }
 
 func (m *ReportDetail) AfterFind(db *gorm.DB) (err error) {
@@ -622,6 +625,7 @@ type AddReq struct {
 	IsPublicPublish    int8   `description:"是否公开发布,1:是,2:否"`
 	InheritReportId    int    `description:"待继承的报告ID"`
 	GrantAdminIdList   []int  `description:"授权用户id列表"`
+	MiniShow           int    `description:"是否在C端展示:0-否;1-是"`
 }
 
 type PrePublishReq struct {
@@ -672,6 +676,7 @@ type EditReq struct {
 	//ReportLayout       int8   `description:"报告布局,1:常规布局,2:智能布局,3:自由布局。默认:1"`
 	IsPublicPublish  int8  `description:"是否公开发布,1:是,2:否"`
 	GrantAdminIdList []int `description:"授权用户id列表"`
+	MiniShow         int   `description:"是否在C端展示:0-否;1-是"`
 }
 
 type EditResp struct {

+ 1 - 1
models/report_v2.go

@@ -377,7 +377,7 @@ func GetReportListCountByAuthorized(condition string, pars []interface{}) (count
 func GetReportListByAuthorized(condition string, pars []interface{}, startSize, pageSize int) (items []*ReportList, err error) {
 	o := global.DbMap[utils.DbNameReport]
 
-	sql := `SELECT id,classify_id_first,classify_name_first,classify_id_second,classify_name_second,classify_id_third,classify_name_third,title,stage,create_time,author,report_layout,collaborate_type,is_public_publish,abstract,has_chapter,publish_time FROM report as a WHERE 1=1  `
+	sql := `SELECT id,classify_id_first,classify_name_first,classify_id_second,classify_name_second,classify_id_third,classify_name_third,title,stage,create_time,author,report_layout,collaborate_type,is_public_publish,abstract,has_chapter,publish_time,mini_show FROM report as a WHERE 1=1  `
 	if condition != "" {
 		sql += condition
 	}

+ 2 - 2
models/system/sys_role.go

@@ -286,10 +286,10 @@ func GetSysRoleByIdList(id []int) (items []*SysRole, err error) {
 	return
 }
 
-
 // 更新所有管理员的角色信息
 func UpdateAdminRoleInfoByRoleId(roleId int, roleName, roleTypeCode string) (err error) {
 	sql := `UPDATE admin SET role_name=?, role_type_code=? WHERE role_id=?`
+	sql=utils.ReplaceDriverKeywords("", sql)
 	err = global.DbMap[utils.DbNameMaster].Exec(sql, roleName, roleTypeCode, roleId).Error
 	return
-}
+}

+ 1 - 1
models/system/sys_user.go

@@ -56,7 +56,7 @@ type Admin struct {
 	OpenId                    string    `description:"弘则部门公众号的openid"`
 	UnionId                   string    `description:"微信公众平台唯一标识"`
 	EdbPermission             int8      `description:"指标库操作权限,0:只能操作 自己的,1:所有指标可操作"`
-	MysteelChemicalPermission int8      `description:"钢联化工指标操作权限,0:只能操作 自己的,1:所有指标可操作"`
+	MysteelChemicalPermission int8      `description:"上海钢联指标操作权限,0:只能操作 自己的,1:所有指标可操作"`
 	PredictEdbPermission      int8      `description:"预测指标库操作权限,0:只能操作 自己的,1:所有预测指标可操作"`
 	Province                  string    `description:"省"`
 	ProvinceCode              string    `description:"省编码"`

+ 1 - 1
services/data/chart_info.go

@@ -3071,7 +3071,7 @@ func GetEdbSourceByEdbInfoIdList(chartEdbInfoMappingList []*data_manage.ChartEdb
 	}
 
 	for source, sourceName := range sourceMap {
-		if utils.InArrayByInt([]int{utils.DATA_SOURCE_MANUAL, utils.DATA_SOURCE_MYSTEEL_CHEMICAL}, source) {
+		if utils.InArrayByInt([]int{utils.DATA_SOURCE_MANUAL}, source) {
 			continue
 		}
 		sourceNameList = append(sourceNameList, sourceName)

+ 14 - 14
services/data/data_manage_permission/data_move.go

@@ -49,7 +49,7 @@ func GetEdbChartClassifyList(source, subSource int) (resp data_manage.EdbChartCl
 			resp.List = append(resp.List, &item)
 		}
 
-	case 2: //钢联化工数据库
+	case 2: //上海钢联数据库
 		rootList, e := data_manage.GetBaseFromMysteelChemicalClassifyByParentId(0)
 		if e != nil && !utils.IsErrNoRow(e) {
 			err = e
@@ -207,7 +207,7 @@ func GetExcelMenuTreeRecursive(list []*excel.ExcelClassifyItems, parentId int) [
 }
 
 // GetMoveEdbChartList 获取待转移的指标/图表列表
-// @param source 来源 :1:手工数据指标 2:钢联化工数据库 3:ETA指标库 4:ETA预测指标 5:图库 6:ETA表格
+// @param source 来源 :1:手工数据指标 2:上海钢联数据库 3:ETA指标库 4:ETA预测指标 5:图库 6:ETA表格
 func GetMoveEdbChartList(source, subSource, userId int, keyword, classify string, startSize, pageSize int) (list []data_manage.MoveEdbChartList, total int, err error) {
 	var condition string
 	var pars []interface{}
@@ -265,7 +265,7 @@ func GetMoveEdbChartList(source, subSource, userId int, keyword, classify string
 			}
 		}
 
-	case 2: //钢联化工数据库
+	case 2: //上海钢联数据库
 		if keyword != `` {
 			condition += " AND (index_name like ? OR index_code like ? OR sys_user_real_name like ? ) "
 			pars = utils.GetLikeKeywordPars(pars, keyword, 3)
@@ -486,7 +486,7 @@ func GetMoveEdbChartList(source, subSource, userId int, keyword, classify string
 }
 
 // MoveEdbChart 转移指标/图表创建人
-// @param source 来源 :1:手工数据指标 2:钢联化工数据库 3:ETA指标库 4:ETA预测指标 5:图库 6:ETA表格
+// @param source 来源 :1:手工数据指标 2:上海钢联数据库 3:ETA指标库 4:ETA预测指标 5:图库 6:ETA表格
 func MoveEdbChart(source, subSource, oldUserId, newUserId int, isSelectAll bool, dataId, noDataId []string, keyword, classify string, opUserId int, opUserName string) (err error, errMsg string) {
 	adminInfo, err := system.GetSysAdminById(newUserId)
 	if err != nil {
@@ -564,8 +564,8 @@ func MoveEdbChart(source, subSource, oldUserId, newUserId int, isSelectAll bool,
 			}
 		}
 
-	case 2: //钢联化工数据库
-		content += `(钢联化工数据库)`
+	case 2: //上海钢联数据库
+		content += `(上海钢联数据库)`
 		tmpList, tmpErr := data_manage.GetMysteelChemicalIndexListByIndexId(dataId)
 		if tmpErr != nil {
 			err = tmpErr
@@ -775,7 +775,7 @@ func MoveEdbChart(source, subSource, oldUserId, newUserId int, isSelectAll bool,
 // @Description: 通过原创建人转移指标/图表创建人
 // @author: Roc
 // @datetime 2024-03-26 15:11:12
-// @param sourceList []int 1:手工数据指标 2:钢联化工数据库 3:ETA指标库 4:ETA预测指标 5:图库 6:ETA表格
+// @param sourceList []int 1:手工数据指标 2:上海钢联数据库 3:ETA指标库 4:ETA预测指标 5:图库 6:ETA表格
 // @param oldUserId []int
 // @param userId int
 // @param opUserId int
@@ -825,8 +825,8 @@ func MoveAllEdbChartOld(sourceList, oldUserIdList []int, userId, opUserId int) (
 				err = models.ModifyEdbinfoUserIdByOldUserId(oldUserIdList, userId)
 			}
 
-		case 2: //钢联化工数据库
-			sourceStrList = append(sourceStrList, "钢联化工数据库")
+		case 2: //上海钢联数据库
+			sourceStrList = append(sourceStrList, "上海钢联数据库")
 			tmpList, tmpErr := data_manage.GetMysteelChemicalIndexListByUserId(oldUserIdList)
 			if tmpErr != nil {
 				err = tmpErr
@@ -1027,7 +1027,7 @@ func MoveAllEdbChartOld(sourceList, oldUserIdList []int, userId, opUserId int) (
 // @Description: 通过原创建人转移指标/图表创建人
 // @author: Roc
 // @datetime 2024-03-26 15:11:12
-// @param sourceList []int 1:手工数据指标 2:钢联化工数据库 3:ETA指标库 4:ETA预测指标 5:图库 6:ETA表格
+// @param sourceList []int 1:手工数据指标 2:上海钢联数据库 3:ETA指标库 4:ETA预测指标 5:图库 6:ETA表格
 // @param oldUserId []int
 // @param userId int
 // @param opUserId int
@@ -1049,7 +1049,7 @@ func MoveAllEdbChart(sourceList, oldUserIdList []int, userId, opUserId int) (err
 	var isMoveManual, isMoveMysteelChemical, isMoveEdb, isMovePredictEdb, isMoveChart, isMoveExcel bool
 	var customAnalysisIds []int
 
-	// 遍历需要转移的模块,1:手工数据指标 2:钢联化工数据库 3:ETA指标库 4:ETA预测指标 5:图库 6:ETA表格,并找出当前需要转移的资产
+	// 遍历需要转移的模块,1:手工数据指标 2:上海钢联数据库 3:ETA指标库 4:ETA预测指标 5:图库 6:ETA表格,并找出当前需要转移的资产
 	for _, source := range sourceList {
 		switch source {
 		case 1: //手工数据指标
@@ -1080,8 +1080,8 @@ func MoveAllEdbChart(sourceList, oldUserIdList []int, userId, opUserId int) (err
 				isMoveManual = true
 			}
 
-		case 2: //钢联化工数据库
-			sourceStrList = append(sourceStrList, "钢联化工数据库")
+		case 2: //上海钢联数据库
+			sourceStrList = append(sourceStrList, "上海钢联数据库")
 			tmpList, tmpErr := data_manage.GetMysteelChemicalIndexListByUserId(oldUserIdList)
 			if tmpErr != nil {
 				err = tmpErr
@@ -1311,7 +1311,7 @@ func GetMoveEdbChartCount(userId, countType int) (sourceMap map[int]int, err err
 	}
 
 	{
-		// 钢联化工数据库
+		// 上海钢联数据库
 		var condition string
 		var pars []interface{}
 		if userId > 0 {

+ 1 - 1
services/data/data_manage_permission/message.go

@@ -7,7 +7,7 @@ import (
 
 type MessageDetailItem struct {
 	DataPermissionMoveRecordId int64  ` orm:"column(data_permission_move_record_id);pk"` // 数据操作记录id
-	Source                     int32  // 数据来源,1:手工数据指标 2:钢联化工数据库 3:ETA指标库 4:ETA预测指标 5:图库 6:ETA表格
+	Source                     int32  // 数据来源,1:手工数据指标 2:上海钢联数据库 3:ETA指标库 4:ETA预测指标 5:图库 6:ETA表格
 	SubSource                  int32  // 子来源 :ETA表格中的各种表格类型,以及图表的来源(这个是后续的扩展方向)
 	OpUniqueCode               string // 操作的唯一编码,主要是记录统一操作的日志
 	DataId                     string // 资产id(指标、图表、表格)

+ 9 - 9
services/data/edb_info.go

@@ -1819,7 +1819,7 @@ func EdbInfoAdd(source, subSource, classifyId int, edbCode, edbName, frequency,
 		utils.DATA_SOURCE_MANUAL:              "手工数据",
 		utils.DATA_SOURCE_LZ:                  "隆众",
 		utils.DATA_SOURCE_YS:                  "SMM",
-		utils.DATA_SOURCE_GL:                  "钢联",
+		utils.DATA_SOURCE_GL:                  "上海钢联",
 		utils.DATA_SOURCE_ZZ:                  "郑商所",
 		utils.DATA_SOURCE_DL:                  "大商所",
 		utils.DATA_SOURCE_SH:                  "上期所",
@@ -1829,7 +1829,7 @@ func EdbInfoAdd(source, subSource, classifyId int, edbCode, edbName, frequency,
 		utils.DATA_SOURCE_LT:                  "路透",
 		utils.DATA_SOURCE_COAL:                "中国煤炭市场网",
 		utils.DATA_SOURCE_GOOGLE_TRAVEL:       "our world in data",
-		utils.DATA_SOURCE_MYSTEEL_CHEMICAL:    "钢联",
+		utils.DATA_SOURCE_MYSTEEL_CHEMICAL:    "上海钢联",
 		utils.DATA_SOURCE_EIA_STEO:            "EIA STEO报告",
 		utils.DATA_SOURCE_COM_TRADE:           "UN",
 		utils.DATA_SOURCE_SCI:                 "SCI",
@@ -2470,7 +2470,7 @@ func determineDateRange(index, totalLength int, formulas []map[string]string) st
 }
 
 // GetEdbChartAdminList
-// @param source 来源 :1:手工数据指标 2:钢联化工数据库 3:ETA指标库 4:ETA预测指标 5:图库 6:ETA表格
+// @param source 来源 :1:手工数据指标 2:上海钢联数据库 3:ETA指标库 4:ETA预测指标 5:图库 6:ETA表格
 func GetEdbChartAdminList(source int) (list []int, err error) {
 	switch source {
 	case 1: //手工数据指标
@@ -2479,7 +2479,7 @@ func GetEdbChartAdminList(source int) (list []int, err error) {
 			return
 		}
 
-	case 2: //钢联化工数据库
+	case 2: //上海钢联数据库
 		list, err = data_manage.GetMysteelChemicalIndexAdminList()
 		if err != nil {
 			return
@@ -2594,7 +2594,7 @@ func EdbInfoWsdAdd(item *data_manage.EdbInfo) (edbInfo *data_manage.EdbInfo, err
 		utils.DATA_SOURCE_MANUAL:              "手工数据",
 		utils.DATA_SOURCE_LZ:                  "隆众",
 		utils.DATA_SOURCE_YS:                  "SMM",
-		utils.DATA_SOURCE_GL:                  "钢联",
+		utils.DATA_SOURCE_GL:                  "上海钢联",
 		utils.DATA_SOURCE_ZZ:                  "郑商所",
 		utils.DATA_SOURCE_DL:                  "大商所",
 		utils.DATA_SOURCE_SH:                  "上期所",
@@ -2604,7 +2604,7 @@ func EdbInfoWsdAdd(item *data_manage.EdbInfo) (edbInfo *data_manage.EdbInfo, err
 		utils.DATA_SOURCE_LT:                  "路透",
 		utils.DATA_SOURCE_COAL:                "中国煤炭市场网",
 		utils.DATA_SOURCE_GOOGLE_TRAVEL:       "our world in data",
-		utils.DATA_SOURCE_MYSTEEL_CHEMICAL:    "钢联",
+		utils.DATA_SOURCE_MYSTEEL_CHEMICAL:    "上海钢联",
 		utils.DATA_SOURCE_EIA_STEO:            "EIA STEO报告",
 		utils.DATA_SOURCE_COM_TRADE:           "UN",
 		utils.DATA_SOURCE_SCI:                 "SCI",
@@ -2793,7 +2793,7 @@ func EdbInfoSmmApiAdd(item *data_manage.EdbInfo) (edbInfo *data_manage.EdbInfo,
 		utils.DATA_SOURCE_MANUAL:              "手工数据",
 		utils.DATA_SOURCE_LZ:                  "隆众",
 		utils.DATA_SOURCE_YS:                  "SMM",
-		utils.DATA_SOURCE_GL:                  "钢联",
+		utils.DATA_SOURCE_GL:                  "上海钢联",
 		utils.DATA_SOURCE_ZZ:                  "郑商所",
 		utils.DATA_SOURCE_DL:                  "大商所",
 		utils.DATA_SOURCE_SH:                  "上期所",
@@ -2803,7 +2803,7 @@ func EdbInfoSmmApiAdd(item *data_manage.EdbInfo) (edbInfo *data_manage.EdbInfo,
 		utils.DATA_SOURCE_LT:                  "路透",
 		utils.DATA_SOURCE_COAL:                "中国煤炭市场网",
 		utils.DATA_SOURCE_GOOGLE_TRAVEL:       "our world in data",
-		utils.DATA_SOURCE_MYSTEEL_CHEMICAL:    "钢联",
+		utils.DATA_SOURCE_MYSTEEL_CHEMICAL:    "上海钢联",
 		utils.DATA_SOURCE_EIA_STEO:            "EIA STEO报告",
 		utils.DATA_SOURCE_COM_TRADE:           "UN",
 		utils.DATA_SOURCE_SCI:                 "SCI",
@@ -3009,7 +3009,7 @@ func GetEdbTerminalCodeBySource(source int, edbCode, stockCode string) (terminal
 // @datetime 2024-07-22 13:06:36
 // @param edbInfo *data_manage.EdbInfo
 func handleByAddEdbInfo(edbInfo *data_manage.EdbInfo) {
-	// 更新钢联化工状态为启用
+	// 更新上海钢联状态为启用
 	if edbInfo.Source == utils.DATA_SOURCE_MYSTEEL_CHEMICAL {
 		// 启动钢联的刷新
 		_ = data_manage.UpdateMysteelChemicalRefreshStatus(edbInfo.EdbCode, 0)

+ 1 - 1
services/data/edb_info_relation.go

@@ -55,7 +55,7 @@ func saveEdbInfoRelation(edbInfoIds []int, objectId, objectType, objectSubType i
 		err = fmt.Errorf("查询计算指标信息失败,%s", e.Error())
 		return
 	}
-	// 只统计钢联化工和wind来源的指标
+	// 只统计上海钢联和wind来源的指标
 	for _, edbInfo := range edbInfoList {
 		/*if edbInfo.Source != utils.DATA_SOURCE_WIND && edbInfo.Source != utils.DATA_SOURCE_MYSTEEL_CHEMICAL {
 			continue

+ 1 - 1
services/data/excel/excel_info.go

@@ -757,7 +757,7 @@ func GetEdbSourceByEdbInfoIdList(edbInfoIdList []int) (sourceNameList, sourceNam
 	}
 
 	for source, sourceName := range sourceMap {
-		if utils.InArrayByInt([]int{utils.DATA_SOURCE_MANUAL, utils.DATA_SOURCE_MYSTEEL_CHEMICAL}, source) {
+		if utils.InArrayByInt([]int{utils.DATA_SOURCE_MANUAL}, source) {
 			continue
 		}
 		sourceNameList = append(sourceNameList, sourceName)

+ 15 - 15
services/data/mysteel_chemical.go

@@ -15,7 +15,7 @@ import (
 	"github.com/rdlucklib/rdluck_tools/http"
 )
 
-// AddMysteelChemicalClassify 添加钢联化工分类
+// AddMysteelChemicalClassify 添加上海钢联分类
 func AddMysteelChemicalClassify(classifyName string, parentId, level, sysUserId int, sysUserName, lange string) (classifyInfo *data_manage.BaseFromMysteelChemicalClassify, err error, errMsg string) {
 	// 校验分类名称相同的数量
 	{
@@ -59,7 +59,7 @@ func AddMysteelChemicalClassify(classifyName string, parentId, level, sysUserId
 	return
 }
 
-// EditMysteelChemicalClassify 编辑钢联化工分类
+// EditMysteelChemicalClassify 编辑上海钢联分类
 func EditMysteelChemicalClassify(classifyId int, classifyName, lang string, sysUser *system.Admin) (err error, errMsg string) {
 	item, err := data_manage.GetBaseFromMysteelChemicalClassifyById(classifyId)
 	if err != nil {
@@ -128,7 +128,7 @@ func EditMysteelChemicalClassify(classifyId int, classifyName, lang string, sysU
 	return
 }
 
-// MoveMysteelChemicalClassify 移动钢联化工分类
+// MoveMysteelChemicalClassify 移动上海钢联分类
 func MoveMysteelChemicalClassify(classifyId, parentClassifyId, prevClassifyId, nextClassifyId int, sysUser *system.Admin) (err error, errMsg string) {
 	//判断分类是否存在
 	classifyInfo, err := data_manage.GetBaseFromMysteelChemicalClassifyById(classifyId)
@@ -228,7 +228,7 @@ func MoveMysteelChemicalClassify(classifyId, parentClassifyId, prevClassifyId, n
 	return
 }
 
-// DelMysteelChemicalClassify 删除钢联化工分类
+// DelMysteelChemicalClassify 删除上海钢联分类
 func DelMysteelChemicalClassify(classifyId int, sysUser *system.Admin) (err error, errMsg string) {
 	//判断分类是否存在
 	classifyInfo, err := data_manage.GetBaseFromMysteelChemicalClassifyById(classifyId)
@@ -277,7 +277,7 @@ func DelMysteelChemicalClassify(classifyId int, sysUser *system.Admin) (err erro
 		indexCodeList = append(indexCodeList, v.IndexCode)
 	}
 
-	// 获取已经加入到EDB指标库的钢联化工指标
+	// 获取已经加入到EDB指标库的上海钢联指标
 	edbInfoList, err := data_manage.GetEdbInfoByEdbCodeList(utils.DATA_SOURCE_MYSTEEL_CHEMICAL, indexCodeList)
 	if err != nil {
 		errMsg = "删除失败"
@@ -304,7 +304,7 @@ func DelMysteelChemicalClassify(classifyId int, sysUser *system.Admin) (err erro
 	return
 }
 
-// BatchAddMysteelChemicalIndex 批量添加钢联化工指标
+// BatchAddMysteelChemicalIndex 批量添加上海钢联指标
 func BatchAddMysteelChemicalIndex(items []*data_manage.BaseFromMysteelChemicalIndex, lang string) (baseFromMysteelChemicalIndexs []*data_manage.BaseFromMysteelChemicalIndex, err error, errMsg string) {
 	indexCodeList := make([]string, 0)
 	for _, v := range items {
@@ -391,7 +391,7 @@ type MysteelChemicalIndexSource2EdbReq struct {
 	AdminRealName string
 }
 
-// MysteelChemicalIndexSource2Edb 新增钢联化工数据源到指标库
+// MysteelChemicalIndexSource2Edb 新增上海钢联数据源到指标库
 func MysteelChemicalIndexSource2Edb(req MysteelChemicalIndexSource2EdbReq, lang string) (edb *data_manage.EdbInfo, err error, errMsg string, skip bool) {
 	if req.EdbCode == "" {
 		err = fmt.Errorf("指标ID为空")
@@ -433,7 +433,7 @@ func MysteelChemicalIndexSource2Edb(req MysteelChemicalIndexSource2EdbReq, lang
 	return
 }
 
-// AddMysteelChemicalIndex 添加钢联化工指标
+// AddMysteelChemicalIndex 添加上海钢联指标
 func AddMysteelChemicalIndex(classifyId int, indexCode, updateWeek, updateTimeStr string, sysUserId int, sysUserName, lang string) (baseFromMysteelChemicalIndex *data_manage.BaseFromMysteelChemicalIndex, err error, errMsg string) {
 	baseFromMysteelChemicalIndex, err = data_manage.GetBaseFromMysteelChemicalIndexByCode(indexCode)
 	if err != nil && !utils.IsErrNoRow(err) {
@@ -493,7 +493,7 @@ func AddMysteelChemicalIndex(classifyId int, indexCode, updateWeek, updateTimeSt
 	return
 }
 
-// EditMysteelChemicalIndex 编辑钢联化工指标
+// EditMysteelChemicalIndex 编辑上海钢联指标
 func EditMysteelChemicalIndex(indexId, classifyId int, updateWeek, updateTimeStr string, sysUser *system.Admin) (baseFromMysteelChemicalIndex *data_manage.BaseFromMysteelChemicalIndex, err error, errMsg string) {
 	baseFromMysteelChemicalIndex, err = data_manage.GetBaseFromMysteelChemicalIndexByIndexId(indexId)
 	if err != nil {
@@ -542,7 +542,7 @@ func EditMysteelChemicalIndex(indexId, classifyId int, updateWeek, updateTimeStr
 	return
 }
 
-// DelMysteelChemical 删除钢联化工指标
+// DelMysteelChemical 删除上海钢联指标
 func DelMysteelChemical(indexId int, sysUser *system.Admin) (err error, errMsg string) {
 	baseFromMysteelChemicalIndex, err := data_manage.GetBaseFromMysteelChemicalIndexByIndexId(indexId)
 	if err != nil {
@@ -561,7 +561,7 @@ func DelMysteelChemical(indexId int, sysUser *system.Admin) (err error, errMsg s
 		return
 	}
 
-	// 获取已经加入到EDB指标库的钢联化工指标
+	// 获取已经加入到EDB指标库的上海钢联指标
 	edbInfo, err := data_manage.GetEdbInfoByEdbCode(utils.DATA_SOURCE_MYSTEEL_CHEMICAL, baseFromMysteelChemicalIndex.IndexCode)
 	if err != nil && !utils.IsErrNoRow(err) {
 		errMsg = "删除失败"
@@ -585,7 +585,7 @@ func DelMysteelChemical(indexId int, sysUser *system.Admin) (err error, errMsg s
 	return
 }
 
-// MoveMysteelChemical 移动钢联化工指标
+// MoveMysteelChemical 移动上海钢联指标
 func MoveMysteelChemical(indexId, classifyId, prevIndexId, nextIndexId int, sysUser *system.Admin) (err error, errMsg string) {
 	//分类信息
 	baseFromMysteelChemicalIndex, err := data_manage.GetBaseFromMysteelChemicalIndexByIndexId(indexId)
@@ -704,7 +704,7 @@ func MoveMysteelChemical(indexId, classifyId, prevIndexId, nextIndexId int, sysU
 	return
 }
 
-// GetMysteelChemicalOpButton 获取钢联化工的操作权限
+// GetMysteelChemicalOpButton 获取上海钢联的操作权限
 func GetMysteelChemicalOpButton(sysUser *system.Admin, belongUserId int) (button data_manage.BaseFromMysteelChemicalClassifyItemsButton) {
 	// 统一跟随角色权限进行管理分类, 不对特定角色进行权限控制
 	button.AddButton = true
@@ -836,11 +836,11 @@ func RefreshMysteelChemicalData(edbCode string) {
 	var errMsg string
 	defer func() {
 		if err != nil {
-			go alarm_msg.SendAlarmMsg("根据钢联化工的code刷新指标数据失败提醒,Err"+err.Error(), 3)
+			go alarm_msg.SendAlarmMsg("根据上海钢联的code刷新指标数据失败提醒,Err"+err.Error(), 3)
 			//go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"导入手工数据后,根据手工指标code刷新手工指标数据失败提醒", "errmsg:"+err.Error(), utils.EmailSendToUsers)
 		}
 		if errMsg != "" {
-			go alarm_msg.SendAlarmMsg("根据钢联化工的code刷新指标数据失败提醒,errMsg"+errMsg, 3)
+			go alarm_msg.SendAlarmMsg("根据上海钢联的code刷新指标数据失败提醒,errMsg"+errMsg, 3)
 		}
 	}()
 

+ 3 - 2
services/elastic/elastic.go

@@ -10,9 +10,10 @@ import (
 	dataSourceModel "eta/eta_api/models/data_source"
 	"eta/eta_api/utils"
 	"fmt"
-	"github.com/olivere/elastic/v7"
 	"strconv"
 	"strings"
+
+	"github.com/olivere/elastic/v7"
 )
 
 // indexName:索引名称
@@ -1939,7 +1940,7 @@ func EsAddOrEditDataSourceIndex(indexName, docId string, item *dataSourceModel.S
 	}()
 	client := utils.EsClient
 
-	resp, e := client.Index().Index(indexName).Id(docId).BodyJson(item).Refresh("true").Do(context.Background())
+	resp, e := client.Index().Index(indexName).Id(docId).BodyJson(item).Do(context.Background())
 	if e != nil {
 		err = fmt.Errorf("resp err, %v", e)
 		return

+ 59 - 51
services/file.go

@@ -108,7 +108,7 @@ func saveToFileByHeader(fileHeader *multipart.FileHeader, tofile string) error {
 // @return resourceUrl string
 // @return err error
 // @return errMsg string
-func GetResourceUrlBySvgImg(imgData string) (resourceUrl string, err error, errMsg string) {
+func GetResourceUrlBySvgImg(imgData string, notBackendGenerate bool) (resourceUrl string, err error, errMsg string) {
 	errMsg = "图表保存失败"
 	uploadDir := "static/images/"
 	if !utils.FileIsExist(uploadDir) {
@@ -118,69 +118,77 @@ func GetResourceUrlBySvgImg(imgData string) (resourceUrl string, err error, errM
 			return
 		}
 	}
-
-	//var saveToOssPath string
-	randStr := utils.GetRandStringNoSpecialChar(28)
 	var fileName, outFileName string
-	fileName = randStr + ".txt"
-	fileName = uploadDir + fileName
-	err = utils.SaveToFile(imgData, fileName)
-	if err != nil {
-		err = errors.New("图片保存失败,Err:" + err.Error())
-		return
-	}
+	uploadDir = "static/images/"
+	randStr := utils.GetRandStringNoSpecialChar(28)
+	outFileName = randStr + ".png"
 
-	// 删除临时存储的svg文件
-	defer func() {
-		err = os.Remove(fileName)
+	if notBackendGenerate {
+		err = utils.SaveBase64ToFile(imgData, outFileName)
 		if err != nil {
-			utils.FileLog.Info("删除临时存储的svg文件失败, err: " + err.Error())
+			err = errors.New("图片保存失败,Err:" + err.Error())
+			return
 		}
-	}()
-	outFileName = randStr + ".png"
-
-	doneChannel := make(chan bool, 1)
-	errorChannel := make(chan error, 1)
-
-	cmd := exec.Command("highcharts-export-server", "--infile", fileName, "--constr", "Chart", "--scale", "2", "--workers", "10", "--workLimit", "3", "--outfile", outFileName)
-
-	go func() {
-		output, err := cmd.CombinedOutput()
+	} else {
+		//var saveToOssPath string
+		fileName = randStr + ".txt"
+		fileName = uploadDir + fileName
+		err = utils.SaveToFile(imgData, fileName)
 		if err != nil {
-			utils.FileLog.Info("execute command failed, output: , error: \n" + string(output) + err.Error())
-			errorChannel <- err
+			err = errors.New("图片保存失败,Err:" + err.Error())
 			return
 		}
-		doneChannel <- true
-	}()
+
+		// 删除临时存储的svg文件
+		defer func() {
+			err = os.Remove(fileName)
+			if err != nil {
+				utils.FileLog.Info("删除临时存储的svg文件失败, err: " + err.Error())
+			}
+		}()
+
+		doneChannel := make(chan bool, 1)
+		errorChannel := make(chan error, 1)
+
+		cmd := exec.Command("highcharts-export-server", "--infile", fileName, "--constr", "Chart", "--scale", "2", "--workers", "10", "--workLimit", "3", "--outfile", outFileName)
+
+		go func() {
+			output, err := cmd.CombinedOutput()
+			if err != nil {
+				utils.FileLog.Info("execute command failed, output: , error: \n" + string(output) + err.Error())
+				errorChannel <- err
+				return
+			}
+			doneChannel <- true
+		}()
+
+		select {
+		case <-time.After(30 * time.Second):
+			utils.FileLog.Info("执行超过30秒 杀死超时进程")
+			e := cmd.Process.Kill()
+			if e != nil {
+				fmt.Println("cmd kill err: ", e.Error())
+				utils.FileLog.Info(fmt.Sprintf("cmd kill err: %s", e.Error()))
+				errMsg = "图片生成失败"
+				err = errors.New("图片生成失败, 执行超时" + e.Error())
+				return
+			}
+			fmt.Println("timeout kill process")
+		case <-doneChannel:
+			fmt.Println("done")
+		case e := <-errorChannel:
+			errMsg = "文件上传失败"
+			err = errors.New(fmt.Sprintf("execute command failure err: %s", e.Error()))
+			fmt.Println("execute command failure err:" + e.Error())
+			return
+		}
+	}
 	defer func() {
 		_ = os.Remove(outFileName)
 		if err != nil {
 			utils.FileLog.Info("删除生产的图片文件失败, err: " + err.Error())
 		}
 	}()
-
-	select {
-	case <-time.After(30 * time.Second):
-		utils.FileLog.Info("执行超过30秒 杀死超时进程")
-		e := cmd.Process.Kill()
-		if e != nil {
-			fmt.Println("cmd kill err: ", e.Error())
-			utils.FileLog.Info(fmt.Sprintf("cmd kill err: %s", e.Error()))
-			errMsg = "图片生成失败"
-			err = errors.New("图片生成失败, 执行超时" + e.Error())
-			return
-		}
-		fmt.Println("timeout kill process")
-	case <-doneChannel:
-		fmt.Println("done")
-	case e := <-errorChannel:
-		errMsg = "文件上传失败"
-		err = errors.New(fmt.Sprintf("execute command failure err: %s", e.Error()))
-		fmt.Println("execute command failure err:" + e.Error())
-		return
-	}
-
 	//上传到阿里云 和 minio
 	ossClient := NewOssClient()
 	if ossClient == nil {

+ 3 - 2
services/report_v2.go

@@ -97,7 +97,7 @@ func AddReportAndChapter(reportInfo *models.Report, inheritReportId int, grantAd
 			reportInfo.HeadImg = ``
 			reportInfo.EndImg = ``
 			reportInfo.EndResourceId = inheritReport.EndResourceId
-			reportInfo.FreeLayoutConfig= inheritReport.FreeLayoutConfig
+			reportInfo.FreeLayoutConfig = inheritReport.FreeLayoutConfig
 			if inheritReport.HeadResourceId > 0 {
 				reportInfo.HeadImg = inheritReport.HeadImg
 			}
@@ -228,7 +228,7 @@ func EditReport(reportInfo *models.Report, req models.EditReq, sysUser *system.A
 	reportInfo.State = state
 
 	//updateCols := []string{"ClassifyIdFirst", "ClassifyNameFirst", "ClassifyIdSecond", "ClassifyNameSecond", "ClassifyIdThird", "ClassifyNameThird", "Title", "Abstract", "Author", "Frequency", "Stage", "CreateTime", "IsPublicPublish", "LastModifyAdminId", "LastModifyAdminName", "ModifyTime"}
-	updateCols := []string{"Title", "Abstract", "Author", "Frequency", "CreateTime", "IsPublicPublish", "LastModifyAdminId", "LastModifyAdminName", "ModifyTime", "State"}
+	updateCols := []string{"Title", "Abstract", "Author", "Frequency", "CreateTime", "IsPublicPublish", "LastModifyAdminId", "LastModifyAdminName", "ModifyTime", "State", "MiniShow"}
 
 	if req.HeadResourceId > 0 {
 		reportInfo.HeadResourceId = req.HeadResourceId
@@ -238,6 +238,7 @@ func EditReport(reportInfo *models.Report, req models.EditReq, sysUser *system.A
 		reportInfo.EndResourceId = req.EndResourceId
 		updateCols = append(updateCols, "EndResourceId")
 	}
+	reportInfo.MiniShow = req.MiniShow
 
 	// 需要添加的报告授权数据
 	addReportAdminList := make([]*report.ReportGrant, 0)

+ 2 - 2
services/task.go

@@ -40,7 +40,7 @@ func Task() {
 	//手工数据表格导入后的指标库刷新
 	go ImportManualDataRefresh()
 
-	// 加入钢联化工指标数据之后的刷新
+	// 加入上海钢联指标数据之后的刷新
 	go MysteelChemicalDataAdd()
 
 	//修复用户关注标识
@@ -133,7 +133,7 @@ func ImportManualDataRefresh() {
 	}
 }
 
-// MysteelChemicalDataAdd 加入钢联化工指标数据之后的刷新
+// MysteelChemicalDataAdd 加入上海钢联指标数据之后的刷新
 func MysteelChemicalDataAdd() {
 	defer func() {
 		if err := recover(); err != nil {

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 7
static/images/UXjAv5IXV9fSqDBqhGS3DPYcj9wb.txt


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 7
static/images/fdUC0cafpf0LXCjpwluC0r6IzA4Z.txt


+ 2 - 2
utils/config.go

@@ -77,7 +77,7 @@ var (
 	// PublicChartHost 公共图库的host
 	PublicChartHost string
 
-	// MySteelPostUrl 钢联化工的服务地址
+	// MySteelPostUrl 上海钢联的服务地址
 	MySteelPostUrl string
 
 	// SendWxTemplateMsgUrl 模板消息推送
@@ -433,7 +433,7 @@ func init() {
 		// 图表项目域名
 		PublicChartHost = config["public_chart_host"]
 
-		// 钢联化工服务地址
+		// 上海钢联服务地址
 		MySteelPostUrl = config["mysteel_post_url"]
 
 		// 发送微信模板消息地址

+ 3 - 3
utils/constants.go

@@ -129,7 +129,7 @@ const (
 	DATA_SOURCE_PREDICT_CALCULATE                               //预测指标运算->31
 	DATA_SOURCE_PREDICT_CALCULATE_TBZ                           //预测同比值->32
 	DATA_SOURCE_PREDICT_CALCULATE_TCZ                           //预测同差值->33
-	DATA_SOURCE_MYSTEEL_CHEMICAL                                //钢联化工->34
+	DATA_SOURCE_MYSTEEL_CHEMICAL                                //上海钢联->34
 	DATA_SOURCE_CALCULATE_CJJX                                  //超季节性->35
 	DATA_SOURCE_EIA_STEO                                        //eia steo报告->36
 	DATA_SOURCE_CALCULATE_NHCC                                  //计算指标(拟合残差)->37
@@ -232,7 +232,7 @@ const (
 	CACHE_CHART_INFO_DATA             = "chart:info:data:"                    //图表数据
 	CACHE_CHART_CLASSIFY              = "chart:classify"                      //图表分类数据
 	CACHE_IMPORT_MANUAL_DATA          = "import:manual:data"                  //手工数据导入后刷新
-	CACHE_MYSTEEL_CHEMICAL_ADD_DATA   = "import:mysteelchemical:data"         //钢联化工的数据源导入后刷新
+	CACHE_MYSTEEL_CHEMICAL_ADD_DATA   = "import:mysteelchemical:data"         //上海钢联的数据源导入后刷新
 	CACHE_ACCESS_TOKEN_LOGIN          = "pc_eta_admin:login:"                 //管理后台登录
 	CACHE_ACCESS_TOKEN_LOGIN_NO_TRUST = "pc_eta_admin:login:no_trust:"        //管理后台登录(不可信登录态)
 	CACHE_ABNORMAL_LOGIN              = "pc_eta_admin:login:abnormal:"        //管理后台登录-异常登录
@@ -241,7 +241,7 @@ const (
 	MOBILE_CACHE_LOGIN_ERR_PASS             = "mobile_eta_admin:login:errPass:"         //管理后台登录-输入错误密码次数
 
 	CACHE_FIND_PASS_VERIFY            = "pc_eta_admin:findPass:verify:"       //找回密码校验成功标记
-	CACHE_KEY_MYSTEEL_REFRESH         = "mysteel_chemical:refresh"            //钢联化工刷新
+	CACHE_KEY_MYSTEEL_REFRESH         = "mysteel_chemical:refresh"            //上海钢联刷新
 	CACHE_KEY_DAYNEW_REFRESH          = "admin:day_new:refresh"               //每日资讯拉取企业微信聊天记录
 	CACHE_KEY_DAYNEW_TRANSLATE        = "admin:day_new:translate"             //每日资讯中翻英
 	CACHE_KEY_ADMIN_OPERATE_RECORD    = "HZ_ADMIN_CACHE_ADMIN_OPERATE_RECORD" //系统用户操作日志队列

Niektoré súbory nie sú zobrazené, pretože je v týchto rozdielových dátach zmenené mnoho súborov