Răsfoiți Sursa

Merge branch 'ETA_1.6.4' into debug

zwxi 1 an în urmă
părinte
comite
c6822d30e7

+ 305 - 526
controllers/commodity_trade_base_index.go

@@ -2635,6 +2635,7 @@ func (this *TradeCommonController) MtjhData() {
 		product.Area = v.Area
 		product.Variety = v.Variety
 		product.Frequency = v.Frequency
+		product.CreateTime = v.CreateTime
 
 		total, err := data_manage.GetMtjhIndexDataCount(v.IndexCode)
 		page := paging.GetPaging(currentIndex, pageSize, total)
@@ -2693,572 +2694,350 @@ func (this *TradeCommonController) MtjhSearchList() {
 // @Param   IndexCode   query   string  true       "指标唯一编码"
 // @Success 200 {object} []data_manage.CoalmineSingalDataResp
 // @router  /data/mtjh/single_data [get]
-//func (this *TradeCommonController) MtjhSingleData() {
+func (this *TradeCommonController) MtjhSingleData() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	indexCode := this.GetString("IndexCode")
+	pageSize, _ := this.GetInt("PageSize")
+	currentIndex, _ := this.GetInt("CurrentIndex")
+	var startSize int
+
+	if pageSize <= 0 {
+		pageSize = utils.PageSize20
+	}
+	if currentIndex <= 0 {
+		currentIndex = 1
+	}
+	startSize = utils.StartIndex(currentIndex, pageSize)
+
+
+	mapping, err := data_manage.GetMtjhMappingItemByCode(indexCode)
+	if err != nil {
+		br.Msg = "获取煤炭数据失败"
+		br.ErrMsg = "获取煤炭度数据失败,Err:" + err.Error()
+		return
+	}
+	items, err := data_manage.GetBaseFromMtjhIndexByCode(indexCode, startSize, pageSize)
+	if err != nil {
+		br.Msg = "获取煤炭数据失败"
+		br.ErrMsg = "获取煤炭度数据失败,Err:" + err.Error()
+		return
+	}
+	resp := data_manage.BaseFromMtjhIndexList{
+		BaseFromMtjhMappingId: mapping.BaseFromMtjhMappingId,
+		IndexName:             mapping.IndexName,
+		IndexCode:             mapping.IndexCode,
+		Area:                  mapping.Area,
+		Port:                  mapping.Port,
+		Unit:                  mapping.Unit,
+		Frequency:             mapping.Frequency,
+		CreateTime:            mapping.CreateTime,
+		Variety:               mapping.Variety,
+		DataList:              items,
+	}
+
+
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "获取成功"
+	br.Data = resp
+	return
+}
+
+// MtjhFrequency
+// @title	获取煤炭江湖频度
+// @Description	获取煤炭江湖频度
+// @Param	ClassifyId query int true	"数据id"
+// @Success 200 {object} models.
+// @router /data/mtjh/frequency [get]
+func (this *TradeCommonController) MtjhFrequency() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+
+	area := this.GetString("Area")
+
+	list, err := data_manage.GetMtjhFrequencyByArea(area)
+	if err != nil {
+		br.Msg = "获取煤炭频度数据失败"
+		br.ErrMsg = "获取煤炭频度数据失败,Err:" + err.Error()
+		return
+	}
+
+
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "获取成功"
+	br.Data = list
+}
+
+// ExportCoalList
+// @Title 导出煤炭江湖数据
+// @Description 导出煤炭江湖数据
+// @Param	ClassifyId query int true	"数据id"
+// @Param   IndexName   query   string  true       "名称关键词"
+// @Param   IndexCode   query   string  true       "指标唯一编码"
+// @Param   TypeName   query   string  true       "分类"
+// @Param   Frequency   query   string  false       "频度"
+// @Param   UnitName   query   string  false       "单位"
+// @Success 200  导出成功
+// @router /export/mtjh [get]
+//func (this *TradeCommonController) ExportMtjhList() {
 //	br := new(models.BaseResponse).Init()
 //	defer func() {
 //		this.Data["json"] = br
 //		this.ServeJSON()
 //	}()
-//	indexCode := this.GetString("IndexCode")
-//	var classifyId int
-//	var suffix string
-//	if strings.Contains(indexCode, "jsm") {
-//		classifyId = 1
-//		suffix = "jsm_index"
-//	} else if strings.Contains(indexCode, "company") {
-//		classifyId = 2
-//		suffix = "company_index"
-//	} else if strings.Contains(indexCode, "firm") {
-//		classifyId = 3
-//		suffix = "firm_index"
-//	} else if strings.Contains(indexCode, "coastal") {
-//		classifyId = 4
-//		suffix = "coastal_index"
-//	} else if strings.Contains(indexCode, "inland") {
-//		classifyId = 5
-//		suffix = "inland_index"
-//	}
+//	area, _ := this.GetInt("Area")
 //
-//	switch classifyId {
-//	case 1:
-//		items, err := data_manage.GetBaseFromCoalmineIndexByCode(indexCode)
-//		if err != nil {
-//			br.Msg = "获取煤炭数据失败"
-//			br.ErrMsg = "获取煤炭度数据失败,Err:" + err.Error()
-//			return
-//		}
-//		groups, err := data_manage.GetProvinceFromCoalmineIndex(suffix)
-//		if err != nil {
-//			br.Msg = "获取煤炭分类数据失败"
-//			br.ErrMsg = "获取煤炭度分类数据失败,Err: " + err.Error()
-//			return
-//		}
-//		groupMap := make(map[string]int)
-//		jsmId := 100
-//		for _, group := range groups {
-//			jsmId++
-//			groupMap[*group] = jsmId
-//		}
-//		var lists []data_manage.CoalmineSingalDataResp
-//		var resp data_manage.CoalmineSingalDataResp
+//	breedName := this.GetString("TypeName") //分类
 //
-//		classify := items[0].IndexName
-//		for i, item := range items {
-//			if item.IndexName != classify {
-//				lists = append(lists, resp)
-//				classify = item.IndexName
-//			}
-//			resp.IndexName = item.IndexName
-//			resp.IndexCode = item.IndexCode
-//			resp.GroupId = groupMap[item.Province]
-//			resp.GroupName = item.Province
-//			resp.Unit = item.Unit
-//			resp.Frequency = item.Frequency
-//			resp.ModifyTime = item.ModifyTime
-//			resp.ClassifyId = classifyId
+//	secNameList := make([]*models.EdbdataExportList, 0)
 //
-//			//组装dataList
-//			var dataItem data_manage.DataList
-//			dataItem.DataTime = item.DataTime
-//			dataItem.Value = item.DealValue
-//			resp.DataList = append(resp.DataList, dataItem)
+//	dir, _ := os.Executable()
+//	exPath := filepath.Dir(dir)
 //
-//			if i == len(items)-1 {
-//				lists = append(lists, resp)
-//			}
-//		}
-//		br.Ret = 200
-//		br.Success = true
-//		br.Msg = "获取成功"
-//		br.Data = lists
-//	case 2:
-//		items, err := data_manage.GetBaseFromCoalmineCompanyIndexByCode(indexCode)
-//		if err != nil {
-//			br.Msg = "获取煤炭数据失败"
-//			br.ErrMsg = "获取煤炭度数据失败,Err:" + err.Error()
-//			return
-//		}
-//		groups, err := data_manage.GetGroupNameFromCoalmineIndex(suffix)
-//		if err != nil {
-//			br.Msg = "获取煤炭分类数据失败"
-//			br.ErrMsg = "获取煤炭度分类数据失败,Err: " + err.Error()
-//			return
-//		}
-//		groupMap := make(map[string]int)
-//		companyId := 200
-//		for _, group := range groups {
-//			companyId++
-//			groupMap[*group] = companyId
-//		}
-//		var lists []data_manage.CoalmineSingalDataResp
-//		var resp data_manage.CoalmineSingalDataResp
+//	downLoadnFilePath := exPath + "/" + time.Now().Format(utils.FormatDateTimeUnSpace) + ".xlsx"
+//	xlsxFile := xlsx.NewFile()
 //
-//		classify := items[0].IndexName
-//		for i, item := range items {
-//			if item.IndexName != classify {
-//				lists = append(lists, resp)
-//				classify = item.IndexName
+//	//不为空就是导出分类表
+//	if breedName != "" {
+//		//获取指标
+//		var secNameList []*string
+//		var err error
+//		if classifyId == 1 {
+//			secNameList, err = data_manage.GetClassifyJsmByGroupName(breedName)
+//			if err != nil {
+//				fmt.Println("获取数据失败,Err:" + err.Error())
+//				return
 //			}
-//			resp.IndexName = item.IndexName
-//			resp.IndexCode = item.IndexCode
-//			resp.Unit = item.Unit
-//			resp.GroupId = groupMap[item.GroupName]
-//			resp.GroupName = item.GroupName
-//			resp.Frequency = item.Frequency
-//			resp.ModifyTime = item.ModifyTime
-//			resp.ClassifyId = classifyId
-//
-//			//组装dataList
-//			var dataItem data_manage.DataList
-//			dataItem.DataTime = item.DataTime
-//			dataItem.Value = item.DealValue
-//			resp.DataList = append(resp.DataList, dataItem)
-//
-//			if i == len(items)-1 {
-//				lists = append(lists, resp)
+//		} else {
+//			secNameList, err = data_manage.GetClassifyFromCoalByGroupName(suffix, breedName)
+//			if err != nil {
+//				fmt.Println("获取数据失败,Err:" + err.Error())
+//				return
 //			}
 //		}
-//		br.Ret = 200
-//		br.Success = true
-//		br.Msg = "获取成功"
-//		br.Data = lists
-//	case 3:
-//		items, err := data_manage.GetBaseFromCoalmineFirmIndexByCode(indexCode)
-//		if err != nil {
-//			br.Msg = "获取煤炭数据失败"
-//			br.ErrMsg = "获取煤炭度数据失败,Err:" + err.Error()
+//		if len(secNameList) <= 0 {
+//			fmt.Println("secNameList长度为0")
 //			return
 //		}
-//		groups, err := data_manage.GetGroupNameFromCoalmineIndex(suffix)
+//		sheetNew, err := xlsxFile.AddSheet(breedName)
+//
 //		if err != nil {
-//			br.Msg = "获取煤炭分类数据失败"
-//			br.ErrMsg = "获取煤炭度分类数据失败,Err: " + err.Error()
+//			fmt.Println("新增Sheet失败", err.Error())
 //			return
 //		}
-//		groupMap := make(map[string]int)
-//		firmId := 300
-//		for _, group := range groups {
-//			firmId++
-//			groupMap[*group] = firmId
+//		//sheetNew.SetColWidth()
+//		//获取指标数据
+//		windRow := sheetNew.AddRow()
+//		secNameRow := sheetNew.AddRow()
+//		indexCodeRow := sheetNew.AddRow()
+//		frequencyRow := sheetNew.AddRow()
+//		unitRow := sheetNew.AddRow()
+//		lastModifyDateRow := sheetNew.AddRow()
+//		//获取分类下指标最大数据量
+//		var dataMax int
+//		if classifyId == 1 {
+//			dataMax, err = data_manage.GetCoalJsmMaxCount(breedName)
+//			if err != nil {
+//				fmt.Println("获取指标最大数据量失败", err.Error())
+//				return
+//			}
+//		} else {
+//			dataMax, err = data_manage.GetCoalCompanyMaxCount(suffix, breedName)
+//			if err != nil {
+//				fmt.Println("获取指标最大数据量失败", err.Error())
+//				return
+//			}
 //		}
-//		var lists []data_manage.CoalmineSingalDataResp
-//		var resp data_manage.CoalmineSingalDataResp
 //
-//		classify := items[0].IndexName
-//		for i, item := range items {
-//			if item.IndexName != classify {
-//				lists = append(lists, resp)
-//				classify = item.IndexName
+//		setRowIndex := 6
+//		for k, sv := range secNameList {
+//			//获取数据
+//			dataList, err := data_manage.GetBaseFromCoalIndexByCode(suffix, *sv)
+//			if err != nil {
+//				br.Msg = "获取数据失败"
+//				br.ErrMsg = "获取数据失败,Err:" + err.Error()
+//				return
 //			}
-//			resp.IndexName = item.IndexName
-//			resp.IndexCode = item.IndexCode
-//			resp.Unit = item.Unit
-//			resp.GroupId = groupMap[item.GroupName]
-//			resp.GroupName = item.GroupName
-//			resp.Frequency = item.Frequency
-//			resp.ModifyTime = item.ModifyTime
-//			resp.ClassifyId = classifyId
+//			windRow.AddCell().SetValue(breedName)
+//			secNameRow.AddCell().SetValue("指标名称")
+//			indexCodeRow.AddCell().SetValue("指标ID")
+//			frequencyRow.AddCell().SetValue("频率")
+//			unitRow.AddCell().SetValue("单位")
+//			lastModifyDateRow.AddCell().SetValue("更新时间")
 //
-//			//组装dataList
-//			var dataItem data_manage.DataList
-//			dataItem.DataTime = item.DataTime
-//			dataItem.Value = item.DealValue
-//			resp.DataList = append(resp.DataList, dataItem)
+//			secNameRow.AddCell().SetValue(dataList[0].IndexName)
+//			indexCodeRow.AddCell().SetValue(dataList[0].IndexCode)
+//			frequencyRow.AddCell().SetValue(dataList[0].Frequency)
+//			unitRow.AddCell().SetValue(dataList[0].Unit)
+//			lastModifyDateRow.AddCell().SetValue(dataList[0].ModifyTime)
 //
-//			if i == len(items)-1 {
-//				lists = append(lists, resp)
+//			windRow.AddCell()
+//			windRow.AddCell()
+//			secNameRow.AddCell()
+//			indexCodeRow.AddCell()
+//			frequencyRow.AddCell()
+//			unitRow.AddCell()
+//			lastModifyDateRow.AddCell()
+//			min := k * 3
+//			sheetNew.SetColWidth(min, min, 15)
+//
+//			if len(dataList) <= 0 {
+//				for n := 0; n < dataMax; n++ {
+//					rowIndex := setRowIndex + n
+//					row := sheetNew.Row(rowIndex)
+//					row.AddCell()
+//					row.AddCell()
+//					row.AddCell()
+//				}
+//			} else {
+//				endRowIndex := 0
+//				for rk, dv := range dataList {
+//					rowIndex := setRowIndex + rk
+//					row := sheetNew.Row(rowIndex)
+//					if classifyId == 3 {
+//						displayDateCell := row.AddCell()
+//						displayDateCell.SetValue(dv.DataTime)
+//					} else {
+//						displayDate, _ := time.Parse(utils.FormatDate, dv.DataTime)
+//						displayDateCell := row.AddCell()
+//						style := new(xlsx.Style)
+//						style.ApplyAlignment = true
+//						style.Alignment.WrapText = true
+//						displayDateCell.SetStyle(style)
+//						displayDateCell.SetDate(displayDate)
+//					}
+//
+//					row.AddCell().SetValue(dv.DealValue)
+//					row.AddCell()
+//					endRowIndex = rowIndex
+//				}
+//				if len(dataList) < dataMax {
+//					dataLen := dataMax - len(dataList)
+//					for n := 0; n < dataLen; n++ {
+//						rowIndex := (endRowIndex + 1) + n
+//						row := sheetNew.Row(rowIndex)
+//						row.AddCell()
+//						row.AddCell()
+//						row.AddCell()
+//					}
+//				}
 //			}
 //		}
-//		br.Ret = 200
-//		br.Success = true
-//		br.Msg = "获取成功"
-//		br.Data = lists
-//	case 4:
-//		items, err := data_manage.GetBaseFromCoalmineCoastalIndexByCode(indexCode)
+//	} else {
+//		indexCode := this.GetString("IndexCode") //指标唯一编码
+//
+//		sheet, err := xlsxFile.AddSheet("指标")
 //		if err != nil {
-//			br.Msg = "获取煤炭数据失败"
-//			br.ErrMsg = "获取煤炭度数据失败,Err:" + err.Error()
+//			br.Msg = "新增Sheet失败"
+//			br.ErrMsg = "新增Sheet失败,Err:" + err.Error()
 //			return
 //		}
-//		groups, err := data_manage.GetGroupNameFromCoalmineIndex(suffix)
+//		//获取数据
+//		dataList, err := data_manage.GetBaseFromCoalIndexByCode(suffix, indexCode)
 //		if err != nil {
-//			br.Msg = "获取煤炭分类数据失败"
-//			br.ErrMsg = "获取煤炭度分类数据失败,Err: " + err.Error()
+//			br.Msg = "获取数据失败"
+//			br.ErrMsg = "获取数据失败,Err:" + err.Error()
 //			return
 //		}
-//		groupMap := make(map[string]int)
-//		coastalId := 400
-//		for _, group := range groups {
-//			coastalId++
-//			groupMap[*group] = coastalId
-//		}
-//		var lists []data_manage.CoalmineSingalDataResp
-//		var resp data_manage.CoalmineSingalDataResp
+//		//获取指标数据
+//		windRow := sheet.AddRow()
+//		windRow.AddCell().SetValue("中国煤炭网")
+//		rowSecName := sheet.AddRow()
+//		celSecName := rowSecName.AddCell()
+//		celSecName.SetValue("指标名称")
+//		cellSenName := rowSecName.AddCell()
+//		cellSenName.SetValue(name)
+//		indexCodeRow := sheet.AddRow()
+//		indexCodeRow.AddCell().SetValue("指标ID")
+//		indexCodeRow.AddCell().SetValue(indexCode)
 //
-//		classify := items[0].IndexName
-//		for i, item := range items {
-//			if item.IndexName != classify {
-//				lists = append(lists, resp)
-//				classify = item.IndexName
-//			}
-//			resp.IndexName = item.IndexName
-//			resp.IndexCode = item.IndexCode
-//			resp.Unit = item.Unit
-//			resp.GroupId = groupMap[item.GroupName]
-//			resp.GroupName = item.GroupName
-//			resp.Frequency = item.Frequency
-//			resp.ModifyTime = item.ModifyTime
-//			resp.ClassifyId = classifyId
+//		rowFrequency := sheet.AddRow()
+//		celFrequency := rowFrequency.AddCell()
+//		celFrequency.SetValue("频率")
+//		rowFrequency.AddCell().SetValue(dataList[0].Frequency)
 //
-//			//组装dataList
-//			var dataItem data_manage.DataList
-//			dataItem.DataTime = item.DataTime
-//			dataItem.Value = item.DealValue
-//			resp.DataList = append(resp.DataList, dataItem)
+//		rowUnit := sheet.AddRow()
+//		celUnit := rowUnit.AddCell()
+//		celUnit.SetValue("单位")
+//		cellUnit := rowUnit.AddCell()
+//		cellUnit.SetValue(unit)
 //
-//			if i == len(items)-1 {
-//				lists = append(lists, resp)
-//			}
-//		}
-//		br.Ret = 200
-//		br.Success = true
-//		br.Msg = "获取成功"
-//		br.Data = lists
-//	case 5:
-//		items, err := data_manage.GetBaseFromCoalmineInlandIndexByCode(indexCode)
-//		if err != nil {
-//			br.Msg = "获取煤炭数据失败"
-//			br.ErrMsg = "获取煤炭度数据失败,Err:" + err.Error()
-//			return
-//		}
-//		groups, err := data_manage.GetGroupNameFromCoalmineIndex(suffix)
+//		rowModifyDate := sheet.AddRow()
+//		rowModifyCell := rowModifyDate.AddCell()
+//		rowModifyCell.SetValue("更新时间")
+//		rowModifyCell = rowModifyDate.AddCell()
+//		rowModifyCell.SetValue(modifyTime)
+//
+//		fmt.Println("len(dataList):", len(dataList))
+//		dataMax, err := data_manage.GetCoalCount(suffix, breedName)
 //		if err != nil {
-//			br.Msg = "获取煤炭分类数据失败"
-//			br.ErrMsg = "获取煤炭度分类数据失败,Err: " + err.Error()
+//			fmt.Println("获取指标最大数据量失败", err.Error())
 //			return
 //		}
-//		groupMap := make(map[string]int)
-//		inlandId := 500
-//		for _, group := range groups {
-//			inlandId++
-//			groupMap[*group] = inlandId
-//		}
-//		var lists []data_manage.CoalmineSingalDataResp
-//		var resp data_manage.CoalmineSingalDataResp
-//
-//		classify := items[0].IndexName
-//		for i, item := range items {
-//			if item.IndexName != classify {
-//				lists = append(lists, resp)
-//				classify = item.IndexName
+//		fmt.Println("dataMax:", dataMax)
+//		if len(dataList) <= 0 {
+//			for n := 0; n < dataMax; n++ {
+//				rowIndex := 6 + n
+//				row := sheet.Row(rowIndex)
+//				row.AddCell()
+//				row.AddCell()
+//				row.AddCell()
 //			}
-//			resp.IndexName = item.IndexName
-//			resp.IndexCode = item.IndexCode
-//			resp.Unit = item.Unit
-//			resp.GroupId = groupMap[item.GroupName]
-//			resp.GroupName = item.GroupName
-//			resp.Frequency = item.Frequency
-//			resp.ModifyTime = item.ModifyTime
-//			resp.ClassifyId = classifyId
+//		} else {
+//			endRowIndex := 0
+//			for rk, dv := range dataList {
+//				rowIndex := 6 + rk
+//				row := sheet.Row(rowIndex)
+//				displayDate, _ := time.Parse(utils.FormatDate, dv.DataTime)
+//				displayDateCell := row.AddCell()
+//				style := new(xlsx.Style)
+//				style.ApplyAlignment = true
+//				style.Alignment.WrapText = true
+//				displayDateCell.SetStyle(style)
+//				displayDateCell.SetDate(displayDate)
 //
-//			//组装dataList
-//			var dataItem data_manage.DataList
-//			dataItem.DataTime = item.DataTime
-//			dataItem.Value = item.DealValue
-//			resp.DataList = append(resp.DataList, dataItem)
-//
-//			if i == len(items)-1 {
-//				lists = append(lists, resp)
+//				row.AddCell().SetValue(dv.DealValue)
+//				row.AddCell()
+//				endRowIndex = rowIndex
+//			}
+//			if len(dataList) < dataMax {
+//				dataLen := dataMax - len(dataList)
+//				for n := 0; n < dataLen; n++ {
+//					rowIndex := (endRowIndex + 1) + n
+//					row := sheet.Row(rowIndex)
+//					row.AddCell()
+//					row.AddCell()
+//					row.AddCell()
+//				}
 //			}
 //		}
-//		br.Ret = 200
-//		br.Success = true
-//		br.Msg = "获取成功"
-//		br.Data = lists
-//	default:
-//		br.Msg = "获取煤炭数据失败"
-//		br.ErrMsg = "获取煤炭度数据失败,Err: indexCode 错误"
+//	}
+//
+//	err := xlsxFile.Save(downLoadnFilePath)
+//	if err != nil {
+//		br.Msg = "保存文件失败"
+//		br.ErrMsg = "保存文件失败"
 //		return
 //	}
-//}
-
-// ExportCoalList
-// @Title 导出煤炭江湖数据
-// @Description 导出煤炭江湖数据
-// @Param	ClassifyId query int true	"数据id"
-// @Param   IndexName   query   string  true       "名称关键词"
-// @Param   IndexCode   query   string  true       "指标唯一编码"
-// @Param   TypeName   query   string  true       "分类"
-// @Param   Frequency   query   string  false       "频度"
-// @Param   UnitName   query   string  false       "单位"
-// @Success 200  导出成功
-// @router /export/mtjh [get]
-/*func (this *TradeCommonController) ExportMtjhList() {
-	br := new(models.BaseResponse).Init()
-	defer func() {
-		this.Data["json"] = br
-		this.ServeJSON()
-	}()
-	classifyId, _ := this.GetInt("ClassifyId")
-	var suffix string
-	if classifyId == 1 {
-		suffix = "jsm_index"
-	} else if classifyId == 2 {
-		suffix = "company_index"
-	} else if classifyId == 3 {
-		suffix = "firm_index"
-	} else if classifyId == 4 {
-		suffix = "coastal_index"
-	} else if classifyId == 5 {
-		suffix = "inland_index"
-	}
-	breedName := this.GetString("TypeName") //分类
-
-	secNameList := make([]*models.EdbdataExportList, 0)
-
-	dir, _ := os.Executable()
-	exPath := filepath.Dir(dir)
-
-	downLoadnFilePath := exPath + "/" + time.Now().Format(utils.FormatDateTimeUnSpace) + ".xlsx"
-	xlsxFile := xlsx.NewFile()
-
-	//不为空就是导出分类表
-	if breedName != "" {
-		//获取指标
-		var secNameList []*string
-		var err error
-		if classifyId == 1 {
-			secNameList, err = data_manage.GetClassifyJsmByGroupName(breedName)
-			if err != nil {
-				fmt.Println("获取数据失败,Err:" + err.Error())
-				return
-			}
-		} else {
-			secNameList, err = data_manage.GetClassifyFromCoalByGroupName(suffix, breedName)
-			if err != nil {
-				fmt.Println("获取数据失败,Err:" + err.Error())
-				return
-			}
-		}
-		if len(secNameList) <= 0 {
-			fmt.Println("secNameList长度为0")
-			return
-		}
-		sheetNew, err := xlsxFile.AddSheet(breedName)
-
-		if err != nil {
-			fmt.Println("新增Sheet失败", err.Error())
-			return
-		}
-		//sheetNew.SetColWidth()
-		//获取指标数据
-		windRow := sheetNew.AddRow()
-		secNameRow := sheetNew.AddRow()
-		indexCodeRow := sheetNew.AddRow()
-		frequencyRow := sheetNew.AddRow()
-		unitRow := sheetNew.AddRow()
-		lastModifyDateRow := sheetNew.AddRow()
-		//获取分类下指标最大数据量
-		var dataMax int
-		if classifyId == 1 {
-			dataMax, err = data_manage.GetCoalJsmMaxCount(breedName)
-			if err != nil {
-				fmt.Println("获取指标最大数据量失败", err.Error())
-				return
-			}
-		} else {
-			dataMax, err = data_manage.GetCoalCompanyMaxCount(suffix, breedName)
-			if err != nil {
-				fmt.Println("获取指标最大数据量失败", err.Error())
-				return
-			}
-		}
-
-		setRowIndex := 6
-		for k, sv := range secNameList {
-			//获取数据
-			dataList, err := data_manage.GetBaseFromCoalIndexByCode(suffix, *sv)
-			if err != nil {
-				br.Msg = "获取数据失败"
-				br.ErrMsg = "获取数据失败,Err:" + err.Error()
-				return
-			}
-			windRow.AddCell().SetValue(breedName)
-			secNameRow.AddCell().SetValue("指标名称")
-			indexCodeRow.AddCell().SetValue("指标ID")
-			frequencyRow.AddCell().SetValue("频率")
-			unitRow.AddCell().SetValue("单位")
-			lastModifyDateRow.AddCell().SetValue("更新时间")
-
-			secNameRow.AddCell().SetValue(dataList[0].IndexName)
-			indexCodeRow.AddCell().SetValue(dataList[0].IndexCode)
-			frequencyRow.AddCell().SetValue(dataList[0].Frequency)
-			unitRow.AddCell().SetValue(dataList[0].Unit)
-			lastModifyDateRow.AddCell().SetValue(dataList[0].ModifyTime)
-
-			windRow.AddCell()
-			windRow.AddCell()
-			secNameRow.AddCell()
-			indexCodeRow.AddCell()
-			frequencyRow.AddCell()
-			unitRow.AddCell()
-			lastModifyDateRow.AddCell()
-			min := k * 3
-			sheetNew.SetColWidth(min, min, 15)
-
-			if len(dataList) <= 0 {
-				for n := 0; n < dataMax; n++ {
-					rowIndex := setRowIndex + n
-					row := sheetNew.Row(rowIndex)
-					row.AddCell()
-					row.AddCell()
-					row.AddCell()
-				}
-			} else {
-				endRowIndex := 0
-				for rk, dv := range dataList {
-					rowIndex := setRowIndex + rk
-					row := sheetNew.Row(rowIndex)
-					if classifyId == 3 {
-						displayDateCell := row.AddCell()
-						displayDateCell.SetValue(dv.DataTime)
-					} else {
-						displayDate, _ := time.Parse(utils.FormatDate, dv.DataTime)
-						displayDateCell := row.AddCell()
-						style := new(xlsx.Style)
-						style.ApplyAlignment = true
-						style.Alignment.WrapText = true
-						displayDateCell.SetStyle(style)
-						displayDateCell.SetDate(displayDate)
-					}
-
-					row.AddCell().SetValue(dv.DealValue)
-					row.AddCell()
-					endRowIndex = rowIndex
-				}
-				if len(dataList) < dataMax {
-					dataLen := dataMax - len(dataList)
-					for n := 0; n < dataLen; n++ {
-						rowIndex := (endRowIndex + 1) + n
-						row := sheetNew.Row(rowIndex)
-						row.AddCell()
-						row.AddCell()
-						row.AddCell()
-					}
-				}
-			}
-		}
-	} else {
-		name := this.GetString("IndexName")
-		indexCode := this.GetString("IndexCode") //指标唯一编码
-		unit := this.GetString("UnitName")
-		modifyTime := this.GetString("ModifyTime")
-
-		sheet, err := xlsxFile.AddSheet("指标")
-		if err != nil {
-			br.Msg = "新增Sheet失败"
-			br.ErrMsg = "新增Sheet失败,Err:" + err.Error()
-			return
-		}
-		//获取数据
-		dataList, err := data_manage.GetBaseFromCoalIndexByCode(suffix, indexCode)
-		if err != nil {
-			br.Msg = "获取数据失败"
-			br.ErrMsg = "获取数据失败,Err:" + err.Error()
-			return
-		}
-		//获取指标数据
-		windRow := sheet.AddRow()
-		windRow.AddCell().SetValue("中国煤炭网")
-		rowSecName := sheet.AddRow()
-		celSecName := rowSecName.AddCell()
-		celSecName.SetValue("指标名称")
-		cellSenName := rowSecName.AddCell()
-		cellSenName.SetValue(name)
-		indexCodeRow := sheet.AddRow()
-		indexCodeRow.AddCell().SetValue("指标ID")
-		indexCodeRow.AddCell().SetValue(indexCode)
-
-		rowFrequency := sheet.AddRow()
-		celFrequency := rowFrequency.AddCell()
-		celFrequency.SetValue("频率")
-		rowFrequency.AddCell().SetValue(dataList[0].Frequency)
-
-		rowUnit := sheet.AddRow()
-		celUnit := rowUnit.AddCell()
-		celUnit.SetValue("单位")
-		cellUnit := rowUnit.AddCell()
-		cellUnit.SetValue(unit)
-
-		rowModifyDate := sheet.AddRow()
-		rowModifyCell := rowModifyDate.AddCell()
-		rowModifyCell.SetValue("更新时间")
-		rowModifyCell = rowModifyDate.AddCell()
-		rowModifyCell.SetValue(modifyTime)
-
-		fmt.Println("len(dataList):", len(dataList))
-		dataMax, err := data_manage.GetCoalCount(suffix, breedName)
-		if err != nil {
-			fmt.Println("获取指标最大数据量失败", err.Error())
-			return
-		}
-		fmt.Println("dataMax:", dataMax)
-		if len(dataList) <= 0 {
-			for n := 0; n < dataMax; n++ {
-				rowIndex := 6 + n
-				row := sheet.Row(rowIndex)
-				row.AddCell()
-				row.AddCell()
-				row.AddCell()
-			}
-		} else {
-			endRowIndex := 0
-			for rk, dv := range dataList {
-				rowIndex := 6 + rk
-				row := sheet.Row(rowIndex)
-				displayDate, _ := time.Parse(utils.FormatDate, dv.DataTime)
-				displayDateCell := row.AddCell()
-				style := new(xlsx.Style)
-				style.ApplyAlignment = true
-				style.Alignment.WrapText = true
-				displayDateCell.SetStyle(style)
-				displayDateCell.SetDate(displayDate)
-
-				row.AddCell().SetValue(dv.DealValue)
-				row.AddCell()
-				endRowIndex = rowIndex
-			}
-			if len(dataList) < dataMax {
-				dataLen := dataMax - len(dataList)
-				for n := 0; n < dataLen; n++ {
-					rowIndex := (endRowIndex + 1) + n
-					row := sheet.Row(rowIndex)
-					row.AddCell()
-					row.AddCell()
-					row.AddCell()
-				}
-			}
-		}
-	}
-
-	err := xlsxFile.Save(downLoadnFilePath)
-	if err != nil {
-		br.Msg = "保存文件失败"
-		br.ErrMsg = "保存文件失败"
-		return
-	}
-	fileName := `中国煤炭网数据`
-	if len(secNameList) > 0 {
-		fileName = secNameList[0].ClassifyName
-	}
-	fileName += time.Now().Format("06.01.02") + `.xlsx` //文件名称
-	this.Ctx.Output.Download(downLoadnFilePath, fileName)
-	defer func() {
-		os.Remove(downLoadnFilePath)
-	}()
-	br.Ret = 200
-	br.Success = true
-	br.Msg = "success"
-
-}
-*/
+//	fileName := `中国煤炭网数据`
+//	if len(secNameList) > 0 {
+//		fileName = secNameList[0].ClassifyName
+//	}
+//	fileName += time.Now().Format("06.01.02") + `.xlsx` //文件名称
+//	this.Ctx.Output.Download(downLoadnFilePath, fileName)
+//	defer func() {
+//		os.Remove(downLoadnFilePath)
+//	}()
+//	br.Ret = 200
+//	br.Success = true
+//	br.Msg = "success"
+//
+//}

+ 24 - 2
models/data_manage/base_from_mtjh.go

@@ -132,13 +132,11 @@ type BaseFromMtjhIndexList struct {
 	BaseFromMtjhMappingId int    `orm:"column(base_from_mtjh_mapping_id);pk"`
 	IndexName             string `description:"持买单量指标名称"`
 	IndexCode             string `description:"持买单量指标编码"`
-	DataTime              string `description:"数据日期"`
 	Area                  string `description:"区域"`
 	Port                  string `description:"港口或码头"`
 	Unit                  string `description:"单位"`
 	Frequency             string `description:"频率"`
 	CreateTime            string `description:"插入时间"`
-	ModifyTime            string `description:"修改时间"`
 	Variety               string `description:"品种"`
 	DataList              []*BaseFromMtjhIndexItem
 	Paging                *paging.PagingItem `description:"分页数据"`
@@ -166,4 +164,28 @@ func GetMtjhItemList(keyword string) (items []*BaseFromMtjhMappingItem, err erro
 	sql := "SELECT * FROM base_from_mtjh_mapping WHERE CONCAT(index_name,index_code) LIKE ? "
 	_, err = o.Raw(sql, utils.GetLikeKeyword(keyword)).QueryRows(&items)
 	return
+}
+
+// 查询数据
+func GetBaseFromMtjhIndexByCode(indexCode string, startSize, pageSize int) (items []*BaseFromMtjhIndexItem, err error) {
+	o := orm.NewOrmUsingDB("data")
+	sql := `SELECT * FROM base_from_mtjh_index WHERE index_code=? ORDER BY data_time DESC LIMIT ?,? `
+	_, err = o.Raw(sql, indexCode, startSize, pageSize).QueryRows(&items)
+	return
+}
+
+// GetMtjhMappingItemByCode
+func GetMtjhMappingItemByCode(indexCode string) (item *BaseFromMtjhMappingItem, err error) {
+	o := orm.NewOrmUsingDB("data")
+	sql := "SELECT * FROM base_from_mtjh_mapping WHERE index_code=? "
+	err = o.Raw(sql, indexCode).QueryRow(&item)
+	return
+}
+
+// GetMtjhFrequencyByArea
+func GetMtjhFrequencyByArea(area string) (items []*string, err error) {
+	o := orm.NewOrmUsingDB("data")
+	sql := "SELECT frequency FROM base_from_mtjh_index WHERE area=?  group by area "
+	_,err = o.Raw(sql, area).QueryRows(&items)
+	return
 }

+ 18 - 0
routers/commentsRouter.go

@@ -8305,6 +8305,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["eta/eta_api/controllers:TradeCommonController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers:TradeCommonController"],
+        beego.ControllerComments{
+            Method: "MtjhFrequency",
+            Router: `/data/mtjh/frequency`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["eta/eta_api/controllers:TradeCommonController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers:TradeCommonController"],
         beego.ControllerComments{
             Method: "MtjhSearchList",
@@ -8314,6 +8323,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["eta/eta_api/controllers:TradeCommonController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers:TradeCommonController"],
+        beego.ControllerComments{
+            Method: "MtjhSingleData",
+            Router: `/data/mtjh/single_data`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["eta/eta_api/controllers:TradeCommonController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers:TradeCommonController"],
         beego.ControllerComments{
             Method: "ShfeDataList",