Browse Source

fix:excel按照排序显示

zqbao 8 months ago
parent
commit
fcc29f4091
2 changed files with 55 additions and 4 deletions
  1. 4 4
      controllers/target.go
  2. 51 0
      models/target.go

+ 4 - 4
controllers/target.go

@@ -1110,7 +1110,7 @@ func (this *TargetController) ImportData() {
 									failDatas = append(failDatas, failItem)
 									continue
 								}
-								tmpErr := data.AddEdbInfo(secName, unit, frequency, "", sysUser.Mobile, classify.ClassifyId, sysUser.AdminId, i)
+								tmpErr := data.AddEdbInfo(secName, unit, frequency, "", sysUser.Mobile, classify.ClassifyId, sysUser.AdminId)
 								if tmpErr != nil {
 									fmt.Println("line 158")
 									failItem := new(models.EdbdataImportFail)
@@ -2514,7 +2514,7 @@ func (this *TargetController) TargetItemList() {
 	classifyId, _ := this.GetInt("ClassifyId")
 	edbShowType, _ := this.GetInt("EdbShowType")
 
-	list, err := models.GetTargetItemList(classifyId, edbShowType, frequency, keyword, tradeCode, classifyIdStrList)
+	list, err := models.GetTargetItemListSort(classifyId, edbShowType, frequency, keyword, tradeCode, classifyIdStrList)
 	if err != nil {
 		br.ErrMsg = "获取失败,Err:" + err.Error()
 		br.Msg = "获取失败"
@@ -3721,7 +3721,7 @@ func (this *TargetController) ExcelDataAdd() {
 								//	continue
 								//}
 
-								tmpErr := data.AddEdbInfo(secName, unit, frequency, "", sysUser.Mobile, req.ClassifyId, sysUser.AdminId, i)
+								tmpErr := data.AddEdbInfo(secName, unit, frequency, "", sysUser.Mobile, req.ClassifyId, sysUser.AdminId)
 								if tmpErr != nil {
 									//fmt.Println("AddEdbInfo err:", err.Error())
 									utils.FileLogData.Error("AddEdbInfo err :%s", tmpErr.Error())
@@ -3740,7 +3740,7 @@ func (this *TargetController) ExcelDataAdd() {
 					}
 					// 判断指标的顺序是否发生改变
 					if targetMap[secName].Sort != i {
-						edbinfo := models.Edbinfo{Sort: i}
+						edbinfo := models.Edbinfo{TradeCode: target.TradeCode, Sort: i}
 						er := edbinfo.Update([]string{"sort"})
 						if er != nil {
 							fmt.Println("sort update err:", er.Error())

+ 51 - 0
models/target.go

@@ -1253,6 +1253,57 @@ left join edbdata b on a.TRADE_CODE=b.TRADE_CODE `
 
 }
 
+// GetTargetItemList 获取指标列表数据
+func GetTargetItemListSort(classifyId, edbShowType int, frequency, keyword, tradeCode string, classifyIdStrList []string) (items []*EdbInfoItem, err error) {
+	o := orm.NewOrmUsingDB("edb")
+
+	pars := make([]interface{}, 0)
+
+	sql := ` SELECT a.*,'' modify_date,'' STATUS FROM edbinfo AS a `
+	if edbShowType != 0 {
+		sql = ` SELECT a.*,b.DT,'' modify_date,'' STATUS FROM edbinfo AS a 
+left join edbdata b on a.TRADE_CODE=b.TRADE_CODE `
+	}
+	sql += ` WHERE LEFT(a.TRADE_CODE,1)='W' AND a.REMARK='手动' AND a.classify_id>0 `
+
+	//如果没有分类id集合列表,那么就没有数据了,不用往下执行了,直接返回好了
+	if len(classifyIdStrList) <= 0 {
+		return
+	}
+	if len(classifyIdStrList) > 0 {
+		sql += ` AND a.classify_id in (` + strings.Join(classifyIdStrList, ",") + `)  `
+	}
+	if classifyId > 0 {
+		sql += ` AND a.classify_id=` + strconv.Itoa(classifyId) + ` `
+	}
+	//频度
+	if frequency != "" {
+		sql += ` AND a.frequency="` + frequency + `" `
+	}
+	//关键字
+	if keyword != "" {
+		sql += ` AND (a.SEC_NAME like ?  or a.TRADE_CODE like ? )`
+		pars = utils.GetLikeKeywordPars(pars, keyword, 2)
+	}
+	//指定指标
+	if tradeCode != "" {
+		sql += ` AND a.TRADE_CODE = "` + tradeCode + `" `
+	}
+	//指标里面是否有数据
+	switch edbShowType {
+	case 1:
+		sql += ` AND b.CLOSE is not null `
+	case 2:
+		sql += ` AND b.CLOSE is null `
+	}
+	sql += ` GROUP BY a.TRADE_CODE `
+
+	sql = sql + ` ORDER BY sort ASC, CONVERT(a.SEC_NAME USING gbk )  COLLATE gbk_chinese_ci ASC `
+	_, err = o.Raw(sql, pars).QueryRows(&items)
+	return
+
+}
+
 // GetLzItemList 模糊查询隆众数据库指标列表
 func GetLzItemList(keyword string) (items []*data_manage.LongzhongSurveyProduct, err error) {
 	o := orm.NewOrmUsingDB("edb")