Эх сурвалжийг харах

Merge branch 'master' into fix_chart_visit

hsun 3 жил өмнө
parent
commit
099695453b

+ 28 - 14
controller/activity/activity.go

@@ -11,6 +11,7 @@ import (
 	"io/ioutil"
 	"os"
 	"strconv"
+	"strings"
 	"time"
 )
 
@@ -190,16 +191,17 @@ func GetActivityShareImg(c *gin.Context)  {
 	activityEnd := activityInfo.EndTime.Format("15:04")
 	activityWeek := activityInfo.StartTime.Weekday().String()
 	var WeekDayMap = map[string]string{
-		"Monday":    "一",
-		"Tuesday":   "二",
-		"Wednesday": "三",
-		"Thursday":  "四",
-		"Friday":    "五",
-		"Saturday":  "六",
-		"Sunday":    "日",
+		"Monday":    "星期一",
+		"Tuesday":   "星期二",
+		"Wednesday": "星期三",
+		"Thursday":  "星期四",
+		"Friday":    "星期五",
+		"Saturday":  "星期六",
+		"Sunday":    "星期日",
 	}
 	weekStr := WeekDayMap[activityWeek]
-	timeStr := activityDate + " " + activityStart + "-" + activityEnd + " " + weekStr
+	dateStr := "会议时间:" + activityDate
+	timeStr := activityStart + "-" + activityEnd + " " + weekStr
 
 	// 获取原分享图
 	originShareUrl := "static/img/report_share.png"
@@ -220,7 +222,7 @@ func GetActivityShareImg(c *gin.Context)  {
 
 	// 处理文字x轴y轴点
 	drawText := activityInfo.ActivityTypeName
-	fontSize := 40
+	fontSize := 42
 	fontWidth := 50
 	x, y, newSize, err := calcuDrawXandY(drawText, fontSize, 500, 400)
 	if err != nil {
@@ -231,12 +233,15 @@ func GetActivityShareImg(c *gin.Context)  {
 	// 生成新分享图
 	var drawInfo []*utils.DrawTextInfo
 	text := &utils.DrawTextInfo{
-		Text: drawText, X: x, Y: y - 20, FontSize: fontSize,
+		Text: drawText, X: x, Y: y - 50, FontSize: fontSize,
+	}
+	textDate := &utils.DrawTextInfo{
+		Text: dateStr, X: 100, Y: y + 15, FontSize: 28,
 	}
 	textTime := &utils.DrawTextInfo{
-		Text: timeStr, X: 35, Y: y + 30, FontSize: 30,
+		Text: timeStr, X: 120, Y: y + 75, FontSize: 28,
 	}
-	drawInfo = append(drawInfo, text, textTime)
+	drawInfo = append(drawInfo, text, textDate, textTime)
 	var colorRGBA = utils.FontRGBA{
 		R: 255, G: 255, B: 255, A: 255,
 	}
@@ -255,8 +260,17 @@ func GetActivityShareImg(c *gin.Context)  {
 func calcuDrawXandY(drawText string, fontSize, canvasLength, canvasWidth int) (x, y, newSize int, err error) {
 	// y轴取画布宽度的一半
 	y = canvasWidth / 2
-	// 文字所占总宽度
-	lenText := len(drawText)
+	// 拆分文字计算总宽度
+	lenText := 0
+	strArr := strings.Split(drawText, "")
+	for _, str := range strArr {
+		if len(str) == 1 {
+			// 将字母符号算作2个长度
+			lenText += 2
+		} else {
+			lenText += 3
+		}
+	}
 	textUnit := float64(lenText) / 3
 	textWidth := int(textUnit * float64(fontSize))
 	// x轴上的起点位置

+ 23 - 8
controller/chart/chart_info.go

@@ -54,12 +54,12 @@ func GetChartInfoDetail(c *gin.Context)  {
 	reqChartType := c.DefaultQuery("ChartType", "")
 	chartType, _ := strconv.Atoi(reqChartType)
 	// 季节性图表时间
-	seasonStartDate := c.DefaultQuery("SeasonStartDate", "")
-	seasonEndDate := c.DefaultQuery("SeasonEndDate", "")
+	reqSeasonStartDate := c.DefaultQuery("SeasonStartDate", "")
+	reqSeasonEndDate := c.DefaultQuery("SeasonEndDate", "")
 	// 指标ID
 	edbInfoId := c.DefaultQuery("EdbInfoId", "")
 	// 公历/农历
-	calendar := c.DefaultQuery("Calendar", "公历")
+	reqCalendar := c.DefaultQuery("Calendar", "")
 
 	// 获取图表信息
 	var err error
@@ -74,6 +74,10 @@ func GetChartInfoDetail(c *gin.Context)  {
 		return
 	}
 	chartType = chartInfo.ChartType
+	calendar := chartInfo.Calendar
+	if reqCalendar != "" {
+		calendar = reqCalendar
+	}
 
 	// 时段筛选
 	reqDateType := c.DefaultQuery("DateType", "")
@@ -118,6 +122,17 @@ func GetChartInfoDetail(c *gin.Context)  {
 
 	if chartType == 2 {
 		// 季节性图表
+		var seasonStartDate, seasonEndDate string
+		if reqSeasonStartDate == "" {
+			seasonStartDate = chartInfo.SeasonStartDate
+		} else {
+			seasonStartDate = reqSeasonStartDate
+		}
+		if reqSeasonEndDate == "" {
+			seasonEndDate = chartInfo.SeasonEndDate
+		} else {
+			seasonEndDate = reqSeasonEndDate
+		}
 		if seasonStartDate != "" {
 			startDate = seasonStartDate + "-01-01"
 		} else {
@@ -127,7 +142,7 @@ func GetChartInfoDetail(c *gin.Context)  {
 		if seasonEndDate != "" {
 			endDate = seasonEndDate + "-12-31"
 		} else {
-			endDate = ""
+			endDate = time.Now().Format(utils.FormatDate)
 		}
 	}
 
@@ -150,9 +165,9 @@ func GetChartInfoDetail(c *gin.Context)  {
 	}
 
 	// 指标列表
-	edbList := make([]*chartEdbMappingModel.ChartEdbInfoMapping, 0)
+	edbList := make([]*chartEdbMappingModel.ChartEdbInfoMappingList, 0)
 	for _, v := range mappingList {
-		item := new(chartEdbMappingModel.ChartEdbInfoMapping)
+		item := new(chartEdbMappingModel.ChartEdbInfoMappingList)
 		item.EdbInfoId = v.EdbInfoId
 		item.SourceName = v.SourceName
 		item.Source = v.Source
@@ -236,11 +251,11 @@ func GetChartInfoDetail(c *gin.Context)  {
 				return
 			}
 			calendarPreYear = newStartDateReal.Year() - 1
-			//newStartDateReal = newStartDateReal.AddDate(-1, 0, 0)
+			newStartDateReal = newStartDateReal.AddDate(-1, 0, 0)
 			startDateReal = newStartDateReal.Format(utils.FormatDate)
 		}
 		dataList := make([]*edbDataModel.EdbDataList, 0)
-		//fmt.Println("chart:", v.Source, v.EdbInfoId, startDateReal, endDate)
+		fmt.Println("chart:", v.Source, v.EdbInfoId, startDateReal, endDate)
 		dataList, err = edbDataModel.GetEdbDataList(v.Source, v.EdbInfoId, startDateReal, endDate)
 		if err != nil {
 			response.FailMsg("获取失败", "获取图表指标信息失败4003, Err:" + err.Error(), c)

+ 1 - 1
models/response/chart_info/chart_info.go

@@ -7,5 +7,5 @@ import (
 
 type ChartInfoDetailResp struct {
 	ChartInfo   *chart_info.ChartInfoView
-	EdbInfoList []*chart_edb_mapping.ChartEdbInfoMapping
+	EdbInfoList []*chart_edb_mapping.ChartEdbInfoMappingList
 }

+ 5 - 1
models/tables/chart_edb_mapping/query.go

@@ -31,7 +31,11 @@ type ChartEdbInfoMapping struct {
 	UniqueCode        string  `description:"指标唯一编码"`
 	MinValue          float64 `json:"-" description:"最小值"`
 	MaxValue          float64 `json:"-" description:"最大值"`
-	DataList          interface{}
+}
+
+type ChartEdbInfoMappingList struct {
+	ChartEdbInfoMapping
+	DataList	interface{}
 }
 
 // GetMappingListByChartInfoId 根据图表ID获取指标映射列表