瀏覽代碼

图表group_concat改造

xyxie 2 月之前
父節點
當前提交
978113d2cc
共有 1 個文件被更改,包括 10 次插入10 次删除
  1. 10 10
      models/data_manage/my_chart.go

+ 10 - 10
models/data_manage/my_chart.go

@@ -491,12 +491,12 @@ func GetMyChartListByAdminId(adminId int) (item []*MyChartView, err error) {
 
 func GetMyChartSearchByCondition(condition string, pars []interface{}) (item []*MyChartList, err error) {
 	o := global.DbMap[utils.DbNameIndex]
-	sql := ` SELECT a.my_chart_id,c.sort,b.*,GROUP_CONCAT(DISTINCT d.my_chart_classify_name) AS my_chart_classify_name,GROUP_CONCAT(DISTINCT d.my_chart_classify_id) AS my_chart_classify_id
+	sql := fmt.Sprintf(` SELECT a.my_chart_id,c.sort,b.*,%s AS my_chart_classify_name,%s AS my_chart_classify_id
 			FROM  my_chart AS a
 			INNER JOIN chart_info AS b ON a.chart_info_id=b.chart_info_id
 			INNER JOIN my_chart_classify_mapping AS c ON a.my_chart_id=c.my_chart_id
 			INNER JOIN my_chart_classify AS d ON c.my_chart_classify_id=d.my_chart_classify_id
-			WHERE 1=1 `
+			WHERE 1=1 `, utils.GroupUnitFunc(utils.DbDriverName, "d.my_chart_classify_name", ",", false, "", "", true), utils.GroupUnitFunc(utils.DbDriverName, "d.my_chart_classify_id", ",", false, "", "", true))
 
 	if condition != "" {
 		sql += condition
@@ -549,11 +549,11 @@ func GetMyChartSort(adminId, myChartClassifyId, sort int) (item *MyChartClassify
 func GetMyChartByCondition(condition string, pars []interface{}) (item []*MyChartView, err error) {
 	o := global.DbMap[utils.DbNameIndex]
 	//sql := ` SELECT * FROM my_chart WHERE 1=1 `
-	sql := `SELECT a.*,GROUP_CONCAT(c.my_chart_classify_id SEPARATOR ',') AS my_chart_classify_id FROM my_chart AS a
+	sql := fmt.Sprintf(`SELECT a.*,%s AS my_chart_classify_id FROM my_chart AS a
 			LEFT JOIN  my_chart_classify_mapping AS b ON a.my_chart_id=b.my_chart_id AND a.admin_id=b.admin_id
 			LEFT JOIN my_chart_classify AS c ON b.my_chart_classify_id=c.my_chart_classify_id AND b.admin_id=c.admin_id
 			WHERE 1=1 
-			`
+			`, utils.GroupUnitFunc(utils.DbDriverName, "c.my_chart_classify_id", ",", false, "", "", false))
 	if condition != "" {
 		sql += condition
 	}
@@ -879,12 +879,12 @@ func AddMyChartToMyChartClassify(adminId, myChartId int, myChartClassifyId []int
 // GetMyChartListGroupByCharyInfoIdAndAdminIdByCondition 获取MY ETA 图表数据,根据图表id和操作员id
 func GetMyChartListGroupByCharyInfoIdAndAdminIdByCondition(condition string, pars []interface{}) (item []*MyChartList, err error) {
 	o := global.DbMap[utils.DbNameIndex]
-	sql := ` SELECT a.admin_id,a.my_chart_id,c.sort,b.*,GROUP_CONCAT(DISTINCT d.my_chart_classify_name) AS my_chart_classify_name,GROUP_CONCAT(DISTINCT d.my_chart_classify_id) AS my_chart_classify_id
+	sql := fmt.Sprintf(` SELECT a.admin_id,a.my_chart_id,c.sort,b.*,%s AS my_chart_classify_name,%s AS my_chart_classify_id
 			FROM  my_chart AS a
 			INNER JOIN chart_info AS b ON a.chart_info_id=b.chart_info_id
 			INNER JOIN my_chart_classify_mapping AS c ON a.my_chart_id=c.my_chart_id
 			INNER JOIN my_chart_classify AS d ON c.my_chart_classify_id=d.my_chart_classify_id
-			WHERE 1=1 `
+			WHERE 1=1 `, utils.GroupUnitFunc(utils.DbDriverName, "d.my_chart_classify_name", ",", false, "", "", true), utils.GroupUnitFunc(utils.DbDriverName, "d.my_chart_classify_id", ",", false, "", "", true))
 
 	if condition != "" {
 		sql += condition
@@ -1002,7 +1002,7 @@ func GetMyChartClassifyIdAndNum(cond string, pars []interface{}) (items []*MyCha
 
 func GetChartClassifyByIds(chartClassifyIds []string) (chart_classify_ids string, err error) {
 	o := global.DbMap[utils.DbNameIndex]
-	sql := `SELECT GROUP_CONCAT(DISTINCT t.chart_classify_id) AS chart_classify_ids
+	sql := fmt.Sprintf(`SELECT %s AS chart_classify_ids
 FROM (
     SELECT chart_classify_id
     FROM chart_classify
@@ -1013,19 +1013,19 @@ FROM (
         FROM chart_classify
         WHERE parent_id IN (` + utils.GetOrmInReplace(len(chartClassifyIds)) + `)
     )
-) AS t;`
+) AS t;`, utils.GroupUnitFunc(utils.DbDriverName, "chart_classify_id", ",", false, "", "", true))
 	err = o.Raw(sql, chartClassifyIds, chartClassifyIds, chartClassifyIds).Scan(&chart_classify_ids).Error
 	return
 }
 
 func GetChartClassifyByIdsNoSubClassify(chartClassifyIds []string) (chart_classify_ids string, err error) {
 	o := global.DbMap[utils.DbNameIndex]
-	sql := `SELECT GROUP_CONCAT(DISTINCT t.chart_classify_id) AS chart_classify_ids
+	sql := fmt.Sprintf(`SELECT %s AS chart_classify_ids
 FROM (
     SELECT chart_classify_id
     FROM chart_classify
     WHERE chart_classify_id IN (` + utils.GetOrmInReplace(len(chartClassifyIds)) + `)
-) AS t;`
+) AS t;`, utils.GroupUnitFunc(utils.DbDriverName, "chart_classify_id", ",", false, "", "", true))
 	err = o.Raw(sql, chartClassifyIds).Scan(&chart_classify_ids).Error
 	return
 }