Browse Source

fix:图表显示bug

zqbao 6 months ago
parent
commit
02b57528b0

+ 7 - 2
models/chart_edb_mapping.go

@@ -78,10 +78,15 @@ func GetChartEdbMappingListByEdbInfoIdList(edbIdList []int) (list []*ChartEdbInf
 	o := global.DmSQL["data"]
 	sql := ` SELECT edb_info_id,source_name,source,sub_source,edb_code,edb_name,edb_name_en,frequency,unit,unit_en,start_date,end_date,modify_time,latest_date,latest_value,unique_code,edb_info_type AS edb_info_category_type,max_value,min_value,edb_type
              FROM edb_info
-			 WHERE edb_info_id IN(` + utils.GetOrmInReplace(num) + `)
+			 WHERE edb_info_id IN(` + utils.GetGormInReplace(num) + `)
 			ORDER BY FIELD(edb_info_id,` + utils.GetOrmInReplace(num) + `)
               `
-	err = o.Raw(sql, edbIdList, edbIdList).Scan(&list).Error
+	var pars []interface{}
+	pars = append(pars, edbIdList)
+	for _, v := range edbIdList {
+		pars = append(pars, v)
+	}
+	err = o.Raw(sql, pars...).Scan(&list).Error
 	return
 }
 

+ 2 - 2
models/chart_series.go

@@ -168,13 +168,13 @@ func EditChartSeriesAndEdbMapping(extraConfigStr string, chartInfoId int) (err e
 		seriesIds = append(seriesIds, id)
 	}
 	if len(seriesIds) > 0 {
-		sql := `DELETE FROM chart_series WHERE chart_series_id IN (` + utils.GetOrmInReplace(len(seriesIds)) + `) and chart_info_id=?`
+		sql := `DELETE FROM chart_series WHERE chart_series_id IN (` + utils.GetGormInReplace(len(seriesIds)) + `) and chart_info_id=?`
 		err = to.Exec(sql, seriesIds, chartInfoId).Error
 		if err != nil {
 			err = fmt.Errorf("删除系列失败 Err:" + err.Error())
 			return
 		}
-		sql = `DELETE FROM chart_series_edb_mapping WHERE chart_series_id IN (` + utils.GetOrmInReplace(len(seriesIds)) + `) and chart_info_id=?`
+		sql = `DELETE FROM chart_series_edb_mapping WHERE chart_series_id IN (` + utils.GetGormInReplace(len(seriesIds)) + `) and chart_info_id=?`
 		err = to.Exec(sql, seriesIds, chartInfoId).Error
 		if err != nil {
 			err = fmt.Errorf("删除系列指标 Err:" + err.Error())

+ 1 - 1
models/data_manage/cross_variety/chart_tag.go

@@ -105,7 +105,7 @@ func GetTagListByIdList(idList []int) (items []*ChartTag, err error) {
 		return
 	}
 	o := global.DmSQL["data"]
-	sql := `SELECT * FROM chart_tag WHERE 1 = 1 AND chart_tag_id in (` + utils.GetOrmInReplace(num) + `)`
+	sql := `SELECT * FROM chart_tag WHERE 1 = 1 AND chart_tag_id in (` + utils.GetGormInReplace(num) + `)`
 	err = o.Raw(sql, idList).Scan(&items).Error
 	return
 }

+ 1 - 1
models/data_manage/cross_variety/chart_tag_variety.go

@@ -69,7 +69,7 @@ func GetChartTagVarietyListByTagAndVariety(chartTagId int, varietyIdList []int)
 		return
 	}
 	o := global.DmSQL["data"]
-	sql := `SELECT * FROM chart_tag_variety WHERE chart_tag_id = ? AND chart_variety_id in (` + utils.GetOrmInReplace(num) + `) `
+	sql := `SELECT * FROM chart_tag_variety WHERE chart_tag_id = ? AND chart_variety_id in (` + utils.GetGormInReplace(num) + `) `
 	err = o.Raw(sql, chartTagId, varietyIdList).Scan(&items).Error
 	return
 }

+ 1 - 1
models/data_manage/cross_variety/chart_variety.go

@@ -202,7 +202,7 @@ func GetVarietyListByIdList(idList []int) (items []*ChartVariety, err error) {
 		return
 	}
 	o := global.DmSQL["data"]
-	sql := `SELECT * FROM chart_variety WHERE 1 = 1 AND chart_variety_id in (` + utils.GetOrmInReplace(num) + `)`
+	sql := `SELECT * FROM chart_variety WHERE 1 = 1 AND chart_variety_id in (` + utils.GetGormInReplace(num) + `)`
 	err = o.Raw(sql, idList).Scan(&items).Error
 	return
 }

+ 1 - 1
models/data_manage/edb_info.go

@@ -101,7 +101,7 @@ func GetEdbInfoByIdList(edbInfoIdList []int) (items []*EdbInfo, err error) {
 		return
 	}
 	o := global.DmSQL["data"]
-	sql := ` SELECT * FROM edb_info WHERE edb_info_id in (` + utils.GetOrmInReplace(num) + `) `
+	sql := ` SELECT * FROM edb_info WHERE edb_info_id in (` + utils.GetGormInReplace(num) + `) `
 	err = o.Raw(sql, edbInfoIdList).Scan(&items).Error
 	return
 }

+ 1 - 1
models/data_manage/edb_info_calculate.go

@@ -34,7 +34,7 @@ func GetEdbInfoAllCalculateByEdbInfoIdList(edbInfoIdList []int) (list []*EdbInfo
 	o := global.DmSQL["data"]
 	sql := ` SELECT b.* FROM edb_info_calculate_mapping AS a
 			 INNER JOIN edb_info AS b ON a.edb_info_id=b.edb_info_id
-             WHERE a.from_edb_info_id in (` + utils.GetOrmInReplace(num) + `)
+             WHERE a.from_edb_info_id in (` + utils.GetGormInReplace(num) + `)
 			 GROUP BY a.edb_info_id
 			 ORDER BY a.edb_info_id ASC `
 	err = o.Raw(sql, edbInfoIdList).Scan(&list).Error

+ 7 - 7
models/data_manage/excel/excel_chart_edb.go

@@ -215,7 +215,7 @@ func (e *ExcelChartEdb) AddChartEdbAndData(list []*AddChartEdbAndDataItem, chart
 
 	// 先删除原先的绑定的指标
 	if len(deleteEdbIds) > 0 && chartInfo.ChartInfoId > 0 {
-		sql := `DELETE FROM excel_chart_edb WHERE chart_info_id = ? AND excel_chart_edb_id in (` + utils.GetOrmInReplace(len(deleteEdbIds)) + `)`
+		sql := `DELETE FROM excel_chart_edb WHERE chart_info_id = ? AND excel_chart_edb_id in (` + utils.GetGormInReplace(len(deleteEdbIds)) + `)`
 		err = o.Exec(sql, chartInfo.ChartInfoId, deleteEdbIds).Error
 		if err != nil {
 			err = fmt.Errorf("删除原先的指标失败:%v", err)
@@ -252,7 +252,7 @@ func (e *ExcelChartEdb) AddChartEdbAndData(list []*AddChartEdbAndDataItem, chart
 	}
 
 	//更新图表id
-	sql := `update excel_chart_edb set chart_info_id = ? where excel_chart_edb_id in (` + utils.GetOrmInReplace(len(updateIds)) + `) and chart_info_id=0`
+	sql := `update excel_chart_edb set chart_info_id = ? where excel_chart_edb_id in (` + utils.GetGormInReplace(len(updateIds)) + `) and chart_info_id=0`
 	err = o.Exec(sql, chartInfoId, updateIds).Error
 	if err != nil {
 		err = fmt.Errorf("更新图表id失败,AddChartEdbAndData: %v", err)
@@ -496,7 +496,7 @@ func GetExcelChartEdbMappingByExcelInfoIds(excelInfoIds []int) (list []*ExcelCha
 	o := global.DmSQL["data"]
 	sql := ` SELECT *
              FROM excel_chart_edb 
-			 WHERE excel_info_id in (` + utils.GetOrmInReplace(len(excelInfoIds)) + `)`
+			 WHERE excel_info_id in (` + utils.GetGormInReplace(len(excelInfoIds)) + `)`
 	err = o.Raw(sql, excelInfoIds).Scan(&list).Error
 	return
 }
@@ -612,7 +612,7 @@ func DeleteExcelChartEdbAndData(excelInfoIds []int, chartInfoIds []int) (err err
 	}()
 	// 把对应的表格状态改成删除状态
 	//更新图表id
-	sql := `update excel_info set is_delete = 1, modify_time = ? where excel_info_id in (` + utils.GetOrmInReplace(len(excelInfoIds)) + `)`
+	sql := `update excel_info set is_delete = 1, modify_time = ? where excel_info_id in (` + utils.GetGormInReplace(len(excelInfoIds)) + `)`
 	err = o.Exec(sql, time.Now(), excelInfoIds).Error
 	if err != nil {
 		err = fmt.Errorf("更新图表id失败,AddChartEdbAndData: %v", err)
@@ -620,7 +620,7 @@ func DeleteExcelChartEdbAndData(excelInfoIds []int, chartInfoIds []int) (err err
 	}
 	// 把删除图表状态
 	if len(chartInfoIds) > 0 {
-		sql := `DELETE FROM chart_info WHERE  chart_info_id in (` + utils.GetOrmInReplace(len(chartInfoIds)) + `)`
+		sql := `DELETE FROM chart_info WHERE  chart_info_id in (` + utils.GetGormInReplace(len(chartInfoIds)) + `)`
 		err = o.Exec(sql, chartInfoIds).Error
 		// _, err = o.Raw(sql, chartInfoIds).Exec()
 		if err != nil {
@@ -631,14 +631,14 @@ func DeleteExcelChartEdbAndData(excelInfoIds []int, chartInfoIds []int) (err err
 		// todo 如果加入到我的图库中,则删除我的图库中的数据
 	}
 	// 删除原先的绑定的指标
-	sql = `DELETE FROM excel_chart_edb WHERE  excel_info_id in (` + utils.GetOrmInReplace(len(excelInfoIds)) + `)`
+	sql = `DELETE FROM excel_chart_edb WHERE  excel_info_id in (` + utils.GetGormInReplace(len(excelInfoIds)) + `)`
 	err = o.Exec(sql, excelInfoIds).Error
 	if err != nil {
 		err = fmt.Errorf("删除原先的指标失败:%v", err)
 		return
 	}
 	// 删除指标数据
-	sql = `DELETE FROM excel_chart_data WHERE  excel_info_id in (` + utils.GetOrmInReplace(len(excelInfoIds)) + `)`
+	sql = `DELETE FROM excel_chart_data WHERE  excel_info_id in (` + utils.GetGormInReplace(len(excelInfoIds)) + `)`
 	err = o.Exec(sql, excelInfoIds).Error
 	if err != nil {
 		err = fmt.Errorf("删除原先的指标失败:%v", err)

+ 2 - 2
models/data_manage/excel/excel_classify.go

@@ -126,7 +126,7 @@ func GetExcelClassifyByIdList(classifyIdList []int) (items []*ExcelClassify, err
 		return
 	}
 	o := global.DmSQL["data"]
-	sql := `SELECT * FROM excel_classify WHERE excel_classify_id in (` + utils.GetOrmInReplace(num) + `) AND is_delete=0 `
+	sql := `SELECT * FROM excel_classify WHERE excel_classify_id in (` + utils.GetGormInReplace(num) + `) AND is_delete=0 `
 	err = o.Raw(sql, classifyIdList).Scan(&items).Error
 	return
 }
@@ -391,7 +391,7 @@ func GetClassifyByIdList(classifyIdList []int) (items []*ExcelClassify, err erro
 		return
 	}
 	o := global.DmSQL["data"]
-	sql := `SELECT * FROM excel_classify WHERE excel_classify_id in (` + utils.GetOrmInReplace(num) + `) AND is_delete=0 `
+	sql := `SELECT * FROM excel_classify WHERE excel_classify_id in (` + utils.GetGormInReplace(num) + `) AND is_delete=0 `
 	err = o.Raw(sql, classifyIdList).Scan(&items).Error
 	return
 }

+ 4 - 4
models/data_manage/excel/excel_info.go

@@ -1088,7 +1088,7 @@ func GetNoContentExcelListByExcelInfoIdList(excelInfoIdList []string) (items []*
 		return
 	}
 	o := global.DmSQL["data"]
-	sql := ` SELECT * FROM excel_info WHERE excel_info_id in (` + utils.GetOrmInReplace(num) + `) order by excel_info_id DESC `
+	sql := ` SELECT * FROM excel_info WHERE excel_info_id in (` + utils.GetGormInReplace(num) + `) order by excel_info_id DESC `
 	err = o.Raw(sql, excelInfoIdList).Scan(&items).Error
 
 	return
@@ -1105,7 +1105,7 @@ func GetNoContentExcelListByUserId(userIdList []int) (items []*MyExcelInfoList,
 		return
 	}
 	o := global.DmSQL["data"]
-	sql := ` SELECT * FROM excel_info WHERE excel_info_id in (` + utils.GetOrmInReplace(num) + `) order by excel_info_id DESC `
+	sql := ` SELECT * FROM excel_info WHERE excel_info_id in (` + utils.GetGormInReplace(num) + `) order by excel_info_id DESC `
 	err = o.Raw(sql, userIdList).Scan(&items).Error
 
 	return
@@ -1125,7 +1125,7 @@ func ModifyExcelInfoUserIdByCodeList(excelIdList []string, userId int, userName
 		return
 	}
 	o := global.DmSQL["data"]
-	sql := `UPDATE excel_info SET sys_user_id=?,sys_user_real_name=? WHERE excel_info_id in (` + utils.GetOrmInReplace(num) + `) `
+	sql := `UPDATE excel_info SET sys_user_id=?,sys_user_real_name=? WHERE excel_info_id in (` + utils.GetGormInReplace(num) + `) `
 	err = o.Exec(sql, userId, userName, excelIdList).Error
 	return
 }
@@ -1144,7 +1144,7 @@ func ModifyExcelInfoUserIdByOldUserId(oldUserIdList []int, userId int, userName
 		return
 	}
 	o := global.DmSQL["data"]
-	sql := `UPDATE excel_info SET sys_user_id=?,sys_user_real_name=? WHERE is_delete=0 AND sys_user_id in (` + utils.GetOrmInReplace(num) + `) `
+	sql := `UPDATE excel_info SET sys_user_id=?,sys_user_real_name=? WHERE is_delete=0 AND sys_user_id in (` + utils.GetGormInReplace(num) + `) `
 	err = o.Exec(sql, userId, userName, oldUserIdList).Error
 	return
 }

+ 1 - 1
models/data_manage/excel/excel_sheet_data.go

@@ -56,7 +56,7 @@ func GetSheetDataListBySheetIdListAndPage(excelSheetIdList []int, page int) (ite
 	}
 	o := global.DmSQL["data"]
 	sql := ` SELECT *
-FROM excel_sheet_data WHERE 1=1 AND excel_sheet_id in (` + utils.GetOrmInReplace(num) + `) AND sort = ? `
+FROM excel_sheet_data WHERE 1=1 AND excel_sheet_id in (` + utils.GetGormInReplace(num) + `) AND sort = ? `
 	err = o.Raw(sql, excelSheetIdList, page).Scan(&items).Error
 
 	return

+ 1 - 1
models/data_manage/factor_edb_series.go

@@ -98,7 +98,7 @@ func (m *FactorEdbSeries) MultiRemove(ids []int) (err error) {
 		return
 	}
 	o := global.DmSQL["data"]
-	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s IN (%s)`, m.TableName(), m.Cols().PrimaryId, utils.GetOrmInReplace(len(ids)))
+	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s IN (%s)`, m.TableName(), m.Cols().PrimaryId, utils.GetGormInReplace(len(ids)))
 	err = o.Exec(sql, ids).Error
 	return
 }

+ 1 - 1
models/data_manage/factor_edb_series_chart_mapping.go

@@ -108,7 +108,7 @@ func (m *FactorEdbSeriesChartMapping) MultiRemove(ids []int) (err error) {
 		return
 	}
 	o := global.DmSQL["data"]
-	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s IN (%s)`, m.TableName(), m.Cols().PrimaryId, utils.GetOrmInReplace(len(ids)))
+	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s IN (%s)`, m.TableName(), m.Cols().PrimaryId, utils.GetGormInReplace(len(ids)))
 	err = o.Exec(sql, ids).Error
 	return
 }

+ 1 - 1
models/data_manage/factor_edb_series_mapping.go

@@ -85,7 +85,7 @@ func (m *FactorEdbSeriesMapping) MultiRemove(ids []int) (err error) {
 		return
 	}
 	o := global.DmSQL["data"]
-	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s IN (%s)`, m.TableName(), m.Cols().PrimaryId, utils.GetOrmInReplace(len(ids)))
+	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s IN (%s)`, m.TableName(), m.Cols().PrimaryId, utils.GetGormInReplace(len(ids)))
 	err = o.Exec(sql, ids).Error
 	return
 }

+ 1 - 1
models/data_manage/future_good/future_good_edb_info_data.go

@@ -174,7 +174,7 @@ func GetFutureGoodEdbDataListByDate(futureGoodEdbInfoId int, startDate, endDate
 
 func GetFutureGoodEdbDataListByIdsAndDate(futureGoodEdbInfoIds []int, startDate, endDate string) (list []*FutureGoodEdbData, err error) {
 	var pars []interface{}
-	sql := `SELECT * FROM future_good_edb_data WHERE 1=1 AND future_good_edb_info_id in (` + utils.GetOrmInReplace(len(futureGoodEdbInfoIds)) + `)  `
+	sql := `SELECT * FROM future_good_edb_data WHERE 1=1 AND future_good_edb_info_id in (` + utils.GetGormInReplace(len(futureGoodEdbInfoIds)) + `)  `
 	if startDate != "" {
 		sql += ` AND data_time>=? `
 		pars = append(pars, startDate)

+ 1 - 1
models/data_manage/predict_edb_conf.go

@@ -130,7 +130,7 @@ func GetPredictEdbInfoAllCalculate(edbInfoIdList []int) (list []*EdbInfo, err er
 	o := global.DmSQL["data"]
 	sql := ` SELECT b.* FROM predict_edb_conf AS a
 			 INNER JOIN edb_info AS b ON a.source_edb_info_id=b.edb_info_id
-             WHERE a.predict_edb_info_id in (` + utils.GetOrmInReplace(num) + `)
+             WHERE a.predict_edb_info_id in (` + utils.GetGormInReplace(num) + `)
 			 GROUP BY a.source_edb_info_id
 			 ORDER BY a.source_edb_info_id ASC `
 	err = o.Raw(sql, edbInfoIdList).Scan(&list).Error

+ 1 - 1
models/data_manage/predict_edb_conf_calculate_mapping.go

@@ -137,7 +137,7 @@ func GetPredictEdbConfCalculateMappingDetailListByEdbInfoId(fromEdbInfoIdList []
 	o := global.DmSQL["data"]
 	sql := ` SELECT a.predict_edb_conf_calculate_mapping_id,a.edb_info_id,a.from_edb_info_id,a.from_edb_code,a.from_source,a.from_source_name,a.sort,a.create_time,a.modify_time,a.from_tag,b.edb_name_source as from_edb_name,b.start_date,b.end_date,b.edb_type,b.edb_code FROM predict_edb_conf_calculate_mapping AS a
 			INNER JOIN edb_info AS b ON a.from_edb_info_id=b.edb_info_id
-			WHERE a.edb_info_id in (` + utils.GetOrmInReplace(num) + `) GROUP BY a.edb_info_id ORDER BY sort ASC `
+			WHERE a.edb_info_id in (` + utils.GetGormInReplace(num) + `) GROUP BY a.edb_info_id ORDER BY sort ASC `
 
 	err = o.Raw(sql, fromEdbInfoIdList).Scan(&list).Error
 	return

+ 1 - 1
models/excel_info.go

@@ -354,7 +354,7 @@ func GetExcelInfoListByUniqueCodeSlice(uniqueCodeSlice []string) (total int64, i
 		return
 	}
 	o := global.DmSQL["data"]
-	sql := ` SELECT * FROM excel_info WHERE unique_code in ("` + utils.GetOrmInReplace(num) + `") AND is_delete=0 `
+	sql := ` SELECT * FROM excel_info WHERE unique_code in ("` + utils.GetGormInReplace(num) + `") AND is_delete=0 `
 	err = o.Raw(sql, uniqueCodeSlice).Scan(&items).Error
 	total = int64(len(items))
 	return

+ 1 - 1
models/factor_edb_series_calculate_data_qjjs.go

@@ -96,7 +96,7 @@ func (m *FactorEdbSeriesCalculateDataQjjs) MultiRemove(ids []int) (err error) {
 		return
 	}
 	o := global.DmSQL["data"]
-	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s IN (%s)`, m.TableName(), m.Cols().PrimaryId, utils.GetOrmInReplace(len(ids)))
+	sql := fmt.Sprintf(`DELETE FROM %s WHERE %s IN (%s)`, m.TableName(), m.Cols().PrimaryId, utils.GetGormInReplace(len(ids)))
 	err = o.Exec(sql, ids).Error
 	return
 }

+ 1 - 1
services/data/chart_theme.go

@@ -24,7 +24,7 @@ func GetChartThemeConfig(chartThemeId, source, chartType int) (chartTheme *chart
 	err = nil
 
 	// 如果找到了,那么就返回
-	if chartTheme != nil {
+	if chartTheme != nil && chartTheme.ChartThemeId > 0 {
 		// 兼容历史数据,加入新字段LineOptionList
 		newConfig, e := ConvertOldChartOptions(chartTheme.Config)
 		if e == nil {

+ 10 - 10
utils/common.go

@@ -634,22 +634,22 @@ func StrTimeToTime(strTime string) time.Time {
 	return resultTime
 }
 
-// GetOrmInReplace 获取orm的in查询替换?的方法
-// func GetOrmInReplace(num int) string {
-// 	template := make([]string, num)
-// 	for i := 0; i < num; i++ {
-// 		template[i] = "?"
-// 	}
-// 	return strings.Join(template, ",")
-// }
-
 // GetOrmInReplace 获取orm的in查询替换?的方法
 func GetOrmInReplace(num int) string {
+	template := make([]string, num)
+	for i := 0; i < num; i++ {
+		template[i] = "?"
+	}
+	return strings.Join(template, ",")
+}
+
+// GetGormInReplace 获取orm的in查询替换?的方法
+func GetGormInReplace(num int) string {
 	// 适配gorm, 直接强制返回一个?
 	if num == 0 {
 		return ""
 	}
-	return ","
+	return "?"
 }
 
 // RevSlice 反转切片