Procházet zdrojové kódy

粮油商务网-联调

gmy před 6 měsíci
rodič
revize
e462bc4269

+ 8 - 27
controllers/data_manage/base_from_ly_index_controller.go

@@ -373,13 +373,8 @@ func (this *BaseFromLyIndexController) LyIndexDataExport() {
 		return
 	}
 
-	//keyWord := this.GetString("KeyWord")
-	/*startDate := this.GetString("StartDate")
-	endDate := this.GetString("EndDate")*/
-	//frequency := this.GetString("Frequency")
 	classifyId, _ := this.GetInt("ClassifyId") //分类
-	//mobile := this.GetString("Mobile")         //分类
-	indexCode := this.GetString("IndexCode") //指标唯一编码
+	indexCode := this.GetString("IndexCode")   //指标唯一编码
 
 	if classifyId <= 0 {
 		br.Msg = "请选择分类"
@@ -403,11 +398,6 @@ func (this *BaseFromLyIndexController) LyIndexDataExport() {
 
 	downLoadnFilePath := exPath + "/" + time.Now().Format(utils.FormatDateTimeUnSpace) + ".xlsx"
 	xlsxFile := xlsx.NewFile()
-	/*if err != nil {
-		br.Msg = "生成文件失败"
-		br.ErrMsg = "生成文件失败"
-		return
-	}*/
 	frequencies, err := data_manage.GetLyIndexFrequency(classifyId)
 	if err != nil {
 		br.Msg = "查询频度失败"
@@ -429,7 +419,6 @@ func (this *BaseFromLyIndexController) LyIndexDataExport() {
 	}
 
 	for _, frequency := range frequencies {
-		//secNameList := make([]*data_manage.BaseFromLyIndex, 0)
 		lyIndices, err := data_manage.GetLyIndexByCodeAndClassify(indexCode, classifyId)
 		if err != nil {
 			return
@@ -460,7 +449,6 @@ func (this *BaseFromLyIndexController) LyIndexDataExport() {
 		rowUnit := sheet.AddRow()
 		celUnit := rowUnit.AddCell()
 		celUnit.SetValue("单位")
-
 		rowModifyDate := sheet.AddRow()
 		rowModifyCell := rowModifyDate.AddCell()
 		rowModifyCell.SetValue("更新时间")
@@ -480,14 +468,8 @@ func (this *BaseFromLyIndexController) LyIndexDataExport() {
 
 			var lyDataList []*data_manage.BaseFromLyData
 			lyDataList, err = data_manage.GetBaseFromLyDataByIndexCode(v.IndexCode)
-			if err != nil {
-				br.Msg = "获取数据失败"
-				br.ErrMsg = "获取数据失败,Err:" + err.Error()
-				return
-			}
-			//items, err := models.GetEdbdataAllByTradeCode(v.IndexCode)
 			if err != nil && err.Error() != utils.ErrNoRow() {
-				br.ErrMsg = "GetEdbdataAllByTradeCode,Err:" + err.Error()
+				br.ErrMsg = "GetBaseFromLyDataByIndexCode,Err:" + err.Error()
 				br.Msg = "获取数据失败"
 				return
 			}
@@ -501,27 +483,26 @@ func (this *BaseFromLyIndexController) LyIndexDataExport() {
 
 		tradeCodeStr := strings.Join(tradeCodeList, "','")
 		tradeCodeStr = "'" + tradeCodeStr + "'"
-		dateList, err := models.GetEdbdataList(tradeCodeStr)
+		dataTimeList, err := data_manage.GetLyDataListByIndexCodes(tradeCodeStr)
 		if err != nil {
 			br.Msg = "获取数据失败"
 			br.ErrMsg = "获取数据失败,Err:" + err.Error()
 			return
 		}
-		for _, n := range dateList {
+		for _, dataTime := range dataTimeList {
 			rowData := sheet.AddRow()
 			celDate := rowData.AddCell()
-			celDate.SetValue(n.Dt)
+			celDate.SetValue(dataTime)
 
 			for _, m := range lyIndices {
 				celData := rowData.AddCell()
 				fmt.Println(m.IndexCode)
-				fmt.Println(n.Dt)
-				if dataMap[m.IndexCode][n.Dt] != nil {
-					celData.SetValue(dataMap[m.IndexCode][n.Dt].Value)
+				fmt.Println(dataTime)
+				if dataMap[m.IndexCode][dataTime] != nil {
+					celData.SetValue(dataMap[m.IndexCode][dataTime].Value)
 				}
 			}
 		}
-
 	}
 
 	err = xlsxFile.Save(downLoadnFilePath)

+ 8 - 1
models/data_manage/base_from_ly_data.go

@@ -45,12 +45,19 @@ func GetLyDataPageByIndexId(indexId int, startSize, pageSize int) (items []*Base
 
 // GetBaseFromLyDataByIndexCode 根据指标编码查询
 func GetBaseFromLyDataByIndexCode(indexCode string) (items []*BaseFromLyData, err error) {
-	sql := `SELECT * FROM base_from_ly_data WHERE index_code=?`
+	sql := `SELECT * FROM base_from_ly_data WHERE index_code=? ORDER BY data_time desc`
 	o := orm.NewOrmUsingDB("data")
 	_, err = o.Raw(sql, indexCode).QueryRows(&items)
 	return
 }
 
+func GetLyDataListByIndexCodes(IndexCodes string) (items []string, err error) {
+	sql := ` SELECT data_time FROM base_from_ly_data WHERE index_code IN(` + IndexCodes + `)  GROUP BY data_time DESC `
+	o := orm.NewOrmUsingDB("data")
+	_, err = o.Raw(sql).QueryRows(&items)
+	return
+}
+
 // GetLyDataLastByIndexCode 根据指标编码查询 返回ModifyTime最后一条数据
 func GetLyDataLastByIndexCode(indexCodes []string) (items []*BaseFromLyData, err error) {
 	o := orm.NewOrmUsingDB("data")

+ 7 - 3
models/data_manage/base_from_ly_index.go

@@ -191,10 +191,14 @@ func GetLyIndexByCodeAndClassify(indexCode string, classifyId int) (items []*Bas
 	sql := `SELECT a.index_code, a.index_name, a.frequency, a.unit, MAX(b.modify_time) AS modify_time
 			FROM base_from_ly_index AS a
 			INNER JOIN base_from_ly_data AS b ON a.base_from_ly_index_id = b.base_from_ly_index_id
-			WHERE a.base_from_ly_classify_id = ?`
+			WHERE 1=1`
 
 	var params []interface{}
-	params = append(params, classifyId)
+
+	if classifyId != 0 {
+		sql += ` AND a.base_from_ly_classify_id = ?`
+		params = append(params, classifyId)
+	}
 
 	// 如果 indexCode 不为空,增加过滤条件
 	if indexCode != "" {
@@ -214,7 +218,7 @@ func GetLyIndexByCodeAndClassify(indexCode string, classifyId int) (items []*Bas
 // GetLyIndexFrequency 获取指标频度
 func GetLyIndexFrequency(classifyId int) (items []*string, err error) {
 	sql := `SELECT DISTINCT frequency FROM base_from_ly_index where base_from_ly_classify_id=? AND frequency IS NOT NULL ORDER BY FIELD(frequency,'日度','周度','月度','季度','半年度','年度') `
-	o := orm.NewOrmUsingDB("edb")
+	o := orm.NewOrmUsingDB("data")
 	_, err = o.Raw(sql, classifyId).QueryRows(&items)
 	return
 }