package data_manage

// CoalSearchList
// @Title 煤炭网模糊搜索
// @Description 煤炭网模糊搜索
// @Param   Keyword   query   string  ture       "关键字搜索"
// @Success 200 {object} models.BaseResponse
// @router /coalMineData/search [get]
//func (this *EdbInfoController) CoalSearchList() {
//	br := new(models.BaseResponse).Init()
//	defer func() {
//		this.Data["json"] = br
//		this.ServeJSON()
//	}()
//
//	sysUser := this.SysUser
//	if sysUser == nil {
//		br.Msg = "请重新登录"
//		return
//	}
//
//	//关键字
//	keyword := this.GetString("Keyword")
//
//	list, err := data_manage.GetCoalItemList(keyword)
//	if err != nil {
//		br.ErrMsg = "获取失败，Err:" + err.Error()
//		br.Msg = "获取失败"
//		return
//	}
//
//	br.Ret = 200
//	br.Success = true
//	br.Msg = "获取成功"
//	br.Data = list
//}

// CoalSingleData
// @Title 获取煤炭单条数据
// @Description 获取煤炭单条数据
// @Param   IndexCode   query   string  true       "指标唯一编码"
// @Success 200 {object} []data_manage.CoalmineDataResp
// @router /coalMineData/single_data [get]
//func (this *EdbInfoController) CoalSingleData() {
//	br := new(models.BaseResponse).Init()
//	defer func() {
//		this.Data["json"] = br
//		this.ServeJSON()
//	}()
//	sysUser := this.SysUser
//	if sysUser == nil {
//		br.Msg = "请登录"
//		br.ErrMsg = "请登录，SysUser Is Empty"
//		br.Ret = 408
//		return
//	}
//	indexCode := this.GetString("IndexCode")
//	var classifyId int
//	if strings.Contains(indexCode, "jsm") {
//		classifyId = 1
//	} else if strings.Contains(indexCode, "company") {
//		classifyId = 2
//	} else if strings.Contains(indexCode, "firm") {
//		classifyId = 3
//	} else if strings.Contains(indexCode, "coastal") {
//		classifyId = 4
//	} else if strings.Contains(indexCode, "inland") {
//		classifyId = 5
//	}
//
//	switch classifyId {
//	case 1:
//		items, err := data_manage.GetBaseFromCoalmineIndexByCode(indexCode)
//		if err != nil {
//			br.Msg = "获取煤炭数据失败"
//			br.ErrMsg = "获取煤炭度数据失败,Err:" + err.Error()
//			return
//		}
//		var lists []data_manage.CoalmineDataResp
//		var resp data_manage.CoalmineDataResp
//
//		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.Frequency = item.Frequency
//			resp.ModifyTime = item.ModifyTime
//
//			//组装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)
//			}
//		}
//		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
//		}
//		var lists []data_manage.CoalmineDataResp
//		var resp data_manage.CoalmineDataResp
//
//		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.Frequency = item.Frequency
//			resp.ModifyTime = item.ModifyTime
//
//			//组装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)
//			}
//		}
//		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()
//			return
//		}
//		var lists []data_manage.CoalmineDataResp
//		var resp data_manage.CoalmineDataResp
//
//		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.Frequency = item.Frequency
//			resp.ModifyTime = item.ModifyTime
//
//			//组装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)
//			}
//		}
//		br.Ret = 200
//		br.Success = true
//		br.Msg = "获取成功"
//		br.Data = lists
//	case 4:
//		items, err := data_manage.GetBaseFromCoalmineCoastalIndexByCode(indexCode)
//		if err != nil {
//			br.Msg = "获取煤炭数据失败"
//			br.ErrMsg = "获取煤炭度数据失败,Err:" + err.Error()
//			return
//		}
//		var lists []data_manage.CoalmineDataResp
//		var resp data_manage.CoalmineDataResp
//
//		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.Frequency = item.Frequency
//			resp.ModifyTime = item.ModifyTime
//
//			//组装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)
//			}
//		}
//		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
//		}
//		var lists []data_manage.CoalmineDataResp
//		var resp data_manage.CoalmineDataResp
//
//		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.Frequency = item.Frequency
//			resp.ModifyTime = item.ModifyTime
//
//			//组装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)
//			}
//		}
//		br.Ret = 200
//		br.Success = true
//		br.Msg = "获取成功"
//		br.Data = lists
//	default:
//		br.Msg = "获取煤炭数据失败"
//		br.ErrMsg = "获取煤炭度数据失败,Err: indexCode 错误"
//		return
//	}
//}

// ExportSmmList
// @Title 导出Smm数据
// @Description 导出Smm数据
// @Param   IndexName   query   string  false       "名称关键词"
// @Param   IndexCode   query   string  false       "指标唯一编码"
// @Param   TypeName   query   string  true       "分类"
// @Param   Frequency   query   string  true       "频度"
// @Param   UnitName   query   string  false       "单位"
// @Param   ModifyTime   query   string  false       "更新时间"
// @Success 200  导出成功
// @router /export/smmList [get]
//func (this *EdbInfoController) ExportSmmList() {
//	br := new(models.BaseResponse).Init()
//	defer func() {
//		this.Data["json"] = br
//		this.ServeJSON()
//	}()
//
//	sysUser := this.SysUser
//	if sysUser == nil {
//		br.Msg = "请重新登录"
//		return
//	}
//
//	typeName := this.GetString("TypeName") //分类
//	frequency := this.GetString("Frequency")
//	indexCode := this.GetString("IndexCode") //指标唯一编码
//
//	secNameList := make([]*models.EdbdataExportList, 0)
//
//
//
//	dir, _ := os.Executable()
//	exPath := filepath.Dir(dir)
//
//	downLoadnFilePath := exPath + "/" + time.Now().Format(utils.FormatDateTimeUnSpace) + ".xlsx"
//	xlsxFile := xlsx.NewFile()
//	var pars []interface{}
//	if typeName != "" {
//		//获取指标
//		strArr := strings.Split(typeName, "#")
//		pars = append(pars, strArr[0])
//		pars = append(pars, strArr[1])
//		pars = append(pars, frequency)
//		condition := " AND type_2=? AND type_3=? AND frequency=? "
//		secNameList, err := data_manage.GetSmmIndex(condition, pars)
//		if err != nil {
//			fmt.Println("获取数据失败，Err:" + err.Error())
//			return
//		}
//		fmt.Println(secNameList)
//		if len(secNameList) <= 0 {
//			fmt.Println("secNameList长度为0")
//			return
//		}
//		sheetNew, err := xlsxFile.AddSheet(typeName)
//
//		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()
//		//获取分类下指标最大数据量
//		dataMax, err := data_manage.GetSmmDataMaxCount(strArr[0], strArr[1])
//		if err != nil {
//			fmt.Println("获取指标最大数据量失败", err.Error())
//			return
//		}
//		fmt.Println("dataMax:",dataMax)
//		setRowIndex := 6
//		for k, sv := range secNameList {
//
//			windRow.AddCell().SetValue("Smm")
//			secNameRow.AddCell().SetValue("指标名称")
//			indexCodeRow.AddCell().SetValue("指标ID")
//			frequencyRow.AddCell().SetValue("频率")
//			unitRow.AddCell().SetValue("单位")
//			lastModifyDateRow.AddCell().SetValue("更新时间")
//
//			secNameRow.AddCell().SetValue(sv.IndexName)
//			indexCodeRow.AddCell().SetValue(sv.IndexCode)
//			frequencyRow.AddCell().SetValue(sv.Frequency)
//
//			unitRow.AddCell().SetValue(sv.Unit)
//			lastModifyDateRow.AddCell().SetValue(sv.ModifyTime)
//
//			windRow.AddCell()
//			windRow.AddCell()
//			secNameRow.AddCell()
//			indexCodeRow.AddCell()
//			frequencyRow.AddCell()
//			unitRow.AddCell()
//			lastModifyDateRow.AddCell()
//			min := k * 3
//			sheetNew.SetColWidth(min, min, 15)
//			//获取数据
//			dataList, err := data_manage.GetSmmIndexDataByCode(sv.IndexCode)
//			if err != nil {
//				br.Msg = "获取数据失败"
//				br.ErrMsg = "获取数据失败,Err:" + err.Error()
//				return
//			}
//			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)
//					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.Value)
//					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")
//		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
//		}
//
//		//获取指标数据
//		windRow := sheet.AddRow()
//		windRow.AddCell().SetValue("Smm")
//		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("频率")
//		cellFrequency := rowFrequency.AddCell()
//		cellFrequency.SetValue(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)
//
//		//获取数据
//		dataList, err := data_manage.GetSmmIndexDataByCode(indexCode)
//		if err != nil {
//			br.Msg = "获取数据失败"
//			br.ErrMsg = "获取数据失败,Err:" + err.Error()
//			return
//		}
//		dataMax, err := data_manage.GetSmmIndexDataCount(indexCode)
//		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.Value)
//				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 := `Smm数据`
//	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"
//
//}