Roc 3 роки тому
батько
коміт
982292c3c8

Різницю між файлами не показано, бо вона завелика
+ 0 - 69
services/data/base_from_smm.go


+ 0 - 86
services/data/chart_classify.go

@@ -1,86 +0,0 @@
-package data
-
-import (
-	"fmt"
-	"hongze/hongze_chart_lib/models/data_manage"
-)
-
-func ChartClassifyListMakeTree(allNode []*data_manage.ChartClassifyItems, node *data_manage.ChartClassifyItems) {
-	childs, _ := chartClassifyHaveChild(allNode, node) //判断节点是否有子节点并返回
-	allChartInfo, _ := GetChartClassifyChartInfo()
-	if len(childs) > 0 {
-		node.Children = append(node.Children, childs[0:]...) //添加子节点
-		for _, v := range childs {                           //查询子节点的子节点,并添加到子节点
-			_, has := chartClassifyHaveChild(allNode, v)
-			if has {
-				ChartClassifyListMakeTree(allNode, v) //递归添加节点
-			} else {
-				fmt.Println(v.ChartClassifyId)
-
-				edbInfoList := allChartInfo[v.ChartClassifyId]
-
-				v.Children = edbInfoList
-				if v.Children == nil {
-					childrenArr := make([]*data_manage.ChartClassifyItems, 0)
-					v.Children = childrenArr
-				}
-			}
-		}
-	} else {
-		childrenArr := make([]*data_manage.ChartClassifyItems, 0)
-		node.Children = childrenArr
-	}
-}
-
-func chartClassifyHaveChild(allNode []*data_manage.ChartClassifyItems, node *data_manage.ChartClassifyItems) (childs []*data_manage.ChartClassifyItems, yes bool) {
-	for _, v := range allNode {
-		if v.ParentId == node.ChartClassifyId {
-			childs = append(childs, v)
-		}
-	}
-	if len(childs) > 0 {
-		yes = true
-	}
-	return
-}
-
-func GetChartClassifyChartInfo() (result map[int][]*data_manage.ChartClassifyItems, err error) {
-	cMap := make(map[int][]*data_manage.ChartClassifyItems)
-	items, err := data_manage.GetChartInfoAll()
-	if err != nil {
-		return
-	}
-	for _, v := range items {
-		childrenArr := make([]*data_manage.ChartClassifyItems, 0)
-		v.Children = childrenArr
-		if items, ok := cMap[v.ChartClassifyId]; ok {
-			items = append(items, v)
-			cMap[v.ChartClassifyId] = items
-		} else {
-			infoList := make([]*data_manage.ChartClassifyItems, 0)
-			infoList = append(infoList, v)
-			cMap[v.ChartClassifyId] = infoList
-		}
-	}
-	result = cMap
-	return
-}
-
-func ChartClassifyItemsMakeTree(allNode []*data_manage.ChartClassifyItems, node *data_manage.ChartClassifyItems) {
-	childs, _ := chartClassifyHaveChild(allNode, node) //判断节点是否有子节点并返回
-	if len(childs) > 0 {
-		node.Children = append(node.Children, childs[0:]...) //添加子节点
-		for _, v := range childs {                           //查询子节点的子节点,并添加到子节点
-			_, has := chartClassifyHaveChild(allNode, v)
-			if has {
-				ChartClassifyItemsMakeTree(allNode, v) //递归添加节点
-			} else {
-				childrenArr := make([]*data_manage.ChartClassifyItems, 0)
-				v.Children = childrenArr
-			}
-		}
-	} else {
-		childrenArr := make([]*data_manage.ChartClassifyItems, 0)
-		node.Children = childrenArr
-	}
-}

+ 0 - 119
services/data/edb_classify.go

@@ -1,119 +0,0 @@
-package data
-
-import (
-	"fmt"
-	"hongze/hongze_chart_lib/models"
-	"hongze/hongze_chart_lib/models/data_manage"
-)
-
-func EdbClassifyListMakeTree(allNode []*data_manage.EdbClassifyItems, node *data_manage.EdbClassifyItems) {
-	childs, _ := edbClassifyHaveChild(allNode, node) //判断节点是否有子节点并返回
-	allEdbInfo, _ := GetEdbClassifyEdbInfo()
-	if len(childs) > 0 {
-		node.Children = append(node.Children, childs[0:]...) //添加子节点
-		for _, v := range childs {                           //查询子节点的子节点,并添加到子节点
-			_, has := edbClassifyHaveChild(allNode, v)
-			if has {
-				EdbClassifyListMakeTree(allNode, v) //递归添加节点
-			} else {
-				edbInfoList := allEdbInfo[v.ClassifyId]
-				v.Children = edbInfoList
-				if v.Children == nil {
-					childrenArr := make([]*data_manage.EdbClassifyItems, 0)
-					v.Children = childrenArr
-				}
-			}
-		}
-	} else {
-		childrenArr := make([]*data_manage.EdbClassifyItems, 0)
-		node.Children = childrenArr
-	}
-}
-
-func edbClassifyHaveChild(allNode []*data_manage.EdbClassifyItems, node *data_manage.EdbClassifyItems) (childs []*data_manage.EdbClassifyItems, yes bool) {
-	for _, v := range allNode {
-		if v.ParentId == node.ClassifyId {
-			childs = append(childs, v)
-		}
-	}
-
-	if len(childs) > 0 {
-		yes = true
-	}
-	return
-}
-
-func GetEdbClassifyEdbInfo() (result map[int][]*data_manage.EdbClassifyItems, err error) {
-	cMap := make(map[int][]*data_manage.EdbClassifyItems)
-	items, err := data_manage.GetEdbInfoAll()
-	if err != nil {
-		return
-	}
-	for _, v := range items {
-		childrenArr := make([]*data_manage.EdbClassifyItems, 0)
-		v.Children = childrenArr
-		if items, ok := cMap[v.ClassifyId]; ok {
-			items = append(items, v)
-			cMap[v.ClassifyId] = items
-		} else {
-			infoList := make([]*data_manage.EdbClassifyItems, 0)
-			infoList = append(infoList, v)
-			cMap[v.ClassifyId] = infoList
-		}
-	}
-	result = cMap
-	return
-}
-
-func EdbClassifyItemsMakeTree(allNode []*data_manage.EdbClassifyItems, node *data_manage.EdbClassifyItems) {
-	childs, _ := edbClassifyHaveChild(allNode, node) //判断节点是否有子节点并返回
-	if len(childs) > 0 {
-		node.Children = append(node.Children, childs[0:]...) //添加子节点
-		for _, v := range childs {                           //查询子节点的子节点,并添加到子节点
-			_, has := edbClassifyHaveChild(allNode, v)
-			if has {
-				EdbClassifyItemsMakeTree(allNode, v) //递归添加节点
-			} else {
-				childrenArr := make([]*data_manage.EdbClassifyItems, 0)
-				v.Children = childrenArr
-			}
-		}
-	} else {
-		childrenArr := make([]*data_manage.EdbClassifyItems, 0)
-		node.Children = childrenArr
-	}
-}
-
-// GetEdbClassifyListByAdminId 根据账户类型获取分类id集合
-func GetEdbClassifyListByAdminId(adminId int64) (classifyIdList []string, err error) {
-	list, err := models.GetEdbdataClassify(adminId)
-	if err != nil {
-		return
-	}
-	for _, parent := range list {
-		if parent.Child != nil {
-			for _, classify := range parent.Child {
-				classifyIdList = append(classifyIdList, fmt.Sprint(classify.ClassifyId))
-			}
-		}
-	}
-	return
-}
-
-// GetEdbClassifyNameListByAdminId 根据账户类型获取分类名称集合
-func GetEdbClassifyNameListByAdminId(adminId int64) (classifyNameList []string, edbDataClassifyMap map[string]*models.EdbdataClassify, err error) {
-	list, err := models.GetEdbdataClassify(adminId)
-	edbDataClassifyMap = make(map[string]*models.EdbdataClassify)
-	if err != nil {
-		return
-	}
-	for _, parent := range list {
-		if parent.Child != nil {
-			for _, classify := range parent.Child {
-				classifyNameList = append(classifyNameList, classify.ClassifyName)
-				edbDataClassifyMap[classify.ClassifyName] = classify
-			}
-		}
-	}
-	return
-}

+ 0 - 9
services/data/edb_data.go

@@ -1,9 +0,0 @@
-package data
-
-// EdbDataEdit 指标数据修改
-type EdbDataEdit struct {
-	OldCreateDate string `description:"旧的录入日期"`
-	CreateDate    string `description:"新的录入日期"`
-	TradeCode     string `description:"指标唯一编码"`
-	Close         string `description:"录入值"`
-}

+ 0 - 169
services/data/edb_data_pb.go

@@ -1,169 +0,0 @@
-package data
-
-import (
-	"encoding/json"
-	"fmt"
-	"hongze/hongze_chart_lib/models/data_manage"
-	"hongze/hongze_chart_lib/utils"
-	"net/url"
-	"github.com/rdlucklib/rdluck_tools/http"
-	"strings"
-	"time"
-)
-
-type EdbDataFromPb struct {
-	Date   map[string]int64   `json:"date"`
-	Ticker map[string]string  `json:"ticker"`
-	Field  map[string]string  `json:"field"`
-	Value  map[string]float64 `json:"value"`
-}
-
-func GetEdbDataByPb(edbCode, startDate, endDate string) (searchItem *data_manage.EdbInfoSearch, err error) {
-	defer func() {
-		if err != nil {
-			utils.FileLog.Info("GetEdbDataByPb Err:%s", err.Error())
-		}
-	}()
-	edbCode = url.QueryEscape(edbCode)
-	bpUrl := utils.Hz_Data_PB_Url + `edbInfo/pb?EdbCode=%s&StartDate=%s&EndDate=%s`
-	bpUrl = fmt.Sprintf(bpUrl, edbCode, startDate, endDate)
-	utils.FileLog.Info("bpUrl:%s", bpUrl)
-	body, err := http.Get(bpUrl)
-	if err != nil {
-		utils.FileLog.Info("GetEdbDataByPb Err:%s", err.Error())
-		return
-	}
-	utils.FileLog.Info("GetEdbDataByPb result:%s", string(body))
-	item := new(EdbDataFromPb)
-	err = json.Unmarshal(body, &item)
-	if err != nil {
-		utils.FileLog.Info("GetEdbDataByPb Unmarshal Err:%s", err.Error())
-		return
-	}
-	edbCode, _ = url.QueryUnescape(edbCode)
-	searchItem = new(data_manage.EdbInfoSearch)
-	searchItem.EdbCode = edbCode
-	if len(item.Date) > 0 {
-		var isAdd bool
-		dateMap := item.Date
-		addSql := ` INSERT INTO edb_data_pb(edb_info_id,edb_code,data_time,value,create_time,modify_time,status,ticker,field,data_timestamp) values `
-		nowStr := time.Now().Format(utils.FormatDateTime)
-		for k, v := range dateMap {
-			timeStr := fmt.Sprintf("%d", v)
-			v = v / 1000
-			t := time.Unix(v, 0)
-			dateTime := t.Format(utils.FormatDate)
-
-			val := item.Value[k]
-			field := item.Field[k]
-			ticker := item.Ticker[k]
-
-			if field == "PX_LAST" {
-				addSql += "("
-				addSql += "0," + "'" + edbCode + "'" + "," + "'" + dateTime + "'" + "," + utils.SubFloatToString(val, 20) + "," + "'" + nowStr + "'" +
-					"," + "'" + nowStr + "'" + "," + "0" + "," + "'" + ticker + "'" + "," + "'" + field + "'" + "," + "'" + timeStr + "'"
-				addSql += "),"
-				isAdd = true
-			}
-		}
-		if isAdd {
-			addSql = strings.TrimRight(addSql, ",")
-			err = data_manage.AddEdbDataPbBySql(addSql)
-			if err != nil {
-				utils.FileLogData.Info("GetEdbDataByPb AddEdbDataPbBySql Err:%s", err.Error())
-				return searchItem, err
-			}
-		}
-
-		size := utils.EDB_DATA_LIMIT
-		dataList, err := data_manage.GetEdbDataPbByCode(edbCode, size)
-		if err != nil {
-			fmt.Println("GetEdbDataWindByCode Err", err.Error())
-			return searchItem, err
-		}
-		minDate, maxDate, err := data_manage.GetEdbDataPbMaxOrMinDate(edbCode)
-		if err != nil {
-			return searchItem, err
-		}
-		searchItem.DataList = dataList
-		searchItem.StartDate = minDate
-		searchItem.EndDate = maxDate
-	}
-
-	if searchItem.DataList == nil {
-		searchItem.DataList = make([]*data_manage.EdbInfoSearchData, 0)
-	}
-
-	return
-}
-
-func RefreshEdbDataByPb(edbInfoId int, edbCode, startDate, endDate string) (err error) {
-	refreshEdbCode := edbCode
-	edbCode = url.QueryEscape(edbCode)
-	bpUrl := utils.Hz_Data_PB_Url + `edbInfo/pb?EdbCode=%s&StartDate=%s&EndDate=%s`
-	bpUrl = fmt.Sprintf(bpUrl, edbCode, startDate, endDate)
-	utils.FileLog.Info("bpUrl+" + bpUrl)
-	body, err := http.Get(bpUrl)
-	fmt.Println("RefreshEdbDataByPb body:")
-	fmt.Println(string(body))
-	utils.FileLog.Info("RefreshEdbDataByPb:" + string(body))
-
-	if err != nil {
-		return
-	}
-	item := new(EdbDataFromPb)
-	err = json.Unmarshal(body, &item)
-	if err != nil {
-		return
-	}
-	if len(item.Date) > 0 {
-		dateMap := item.Date
-		pbList := make([]*data_manage.EdbDataPb, 0)
-		for k, v := range dateMap {
-			timestamp := v
-			v = v / 1000
-			t := time.Unix(v, 0)
-			dateTime := t.Format(utils.FormatDate)
-
-			val := item.Value[k]
-			field := item.Field[k]
-			ticker := item.Ticker[k]
-			if field == "PX_LAST" {
-				//判断数据是否已经存在
-				count, err := data_manage.GetEdbDataPbByCodeAndDate(refreshEdbCode, dateTime)
-				if err != nil && err.Error() != utils.ErrNoRow() {
-					return err
-				}
-				fmt.Println("field:", field)
-				if count <= 0 {
-					item := new(data_manage.EdbDataPb)
-					item.EdbCode, _ = url.QueryUnescape(edbCode)
-					item.EdbInfoId = edbInfoId
-					item.CreateTime = time.Now()
-					item.ModifyTime = time.Now()
-					item.DataTime = dateTime
-					item.Value = val
-					item.Status = 1
-					item.Field = field
-					item.Ticker = ticker
-					item.DataTimestamp = timestamp
-					pbList = append(pbList, item)
-				} else {
-					err = data_manage.ModifyEdbDataPb(edbInfoId, dateTime, val)
-					if err != nil {
-						return err
-					}
-				}
-			}
-		}
-
-		if len(pbList) > 0 {
-			err = data_manage.AddEdbDataPb(pbList)
-			if err != nil {
-				fmt.Println("AddEdbDataPb Err", err.Error())
-				return
-			}
-		}
-	}
-	return
-}

+ 0 - 166
services/data/edb_data_ths.go

@@ -1,166 +0,0 @@
-package data
-
-import (
-	"encoding/json"
-	"errors"
-	"fmt"
-	"hongze/hongze_chart_lib/models/data_manage"
-	"hongze/hongze_chart_lib/utils"
-	"github.com/rdlucklib/rdluck_tools/http"
-	"strconv"
-	"strings"
-	"time"
-)
-
-type EdbDataFromThs struct {
-	DataVol   int64       `json:"dataVol"`
-	Errmsg    string      `json:"errmsg"`
-	Errorcode int64       `json:"errorcode"`
-	Perf      interface{} `json:"perf"`
-	Tables    []struct {
-		ID    []string  `json:"id"`
-		Time  []string  `json:"time"`
-		Value []float64 `json:"value"`
-	} `json:"tables"`
-}
-
-func GetEdbDataByThs(edbCode, startDate, endDate string) (searchItem *data_manage.EdbInfoSearch, err error) {
-	thsUrl := utils.Hz_Server_Data_Url + `edbInfo/ths?EdbCode=%s&StartDate=%s&EndDate=%s`
-	thsUrl = fmt.Sprintf(thsUrl, edbCode, startDate, endDate)
-	utils.FileLogData.Info("thsUrl:%s", thsUrl)
-	body, err := http.Get(thsUrl)
-	utils.FileLogData.Info("ths result:%s", string(body))
-
-	if err != nil {
-		return
-	}
-	item := new(EdbDataFromThs)
-	err = json.Unmarshal(body, &item)
-	if err != nil {
-		return
-	}
-	if item.Errorcode != 0 {
-		err = errors.New(string(body))
-		return
-	}
-	searchItem = new(data_manage.EdbInfoSearch)
-	searchItem.EdbCode = edbCode
-	if len(item.Tables) > 0 {
-		table := item.Tables[0]
-		dataLen := len(table.Time)
-
-		var isAdd bool
-		addSql := ` INSERT INTO edb_data_ths(edb_info_id,edb_code,data_time,value,create_time,modify_time,status,data_timestamp) values `
-		nowStr := time.Now().Format(utils.FormatDateTime)
-		dataList := make([]*data_manage.EdbInfoSearchData, 0)
-		for i := 0; i < dataLen; i++ {
-			eDate := table.Time[i]
-			sValue := table.Value[i]
-			dataTime, err := time.Parse(utils.FormatDate, eDate)
-			if err != nil {
-				return nil, err
-			}
-			timestamp := dataTime.UnixNano() / 1e6
-			timeStr := fmt.Sprintf("%d", timestamp)
-			addSql += "("
-			addSql += "0," + "'" + edbCode + "'" + "," + "'" + eDate + "'" + "," + utils.SubFloatToString(sValue, 20) + "," + "'" + nowStr + "'" +
-				"," + "'" + nowStr + "'" + "," + "0" + "," + "'" + timeStr + "'"
-			addSql += "),"
-			isAdd = true
-		}
-		if isAdd {
-			addSql = strings.TrimRight(addSql, ",")
-			err = data_manage.AddEdbDataThsBySql(addSql)
-			if err != nil {
-				utils.FileLogData.Info("AddEdbDataThsBySql Err:%s", err.Error())
-				return
-			}
-		}
-
-		size := utils.EDB_DATA_LIMIT
-		dataList, err := data_manage.GetEdbDataThsByCode(edbCode, size)
-		if err != nil {
-			utils.FileLogData.Info("GetEdbDataThsByCode Err:%s", err.Error())
-			return searchItem, err
-		}
-		minDate, maxDate, err := data_manage.GetEdbDataThsMaxOrMinDate(edbCode)
-		if err != nil {
-			return searchItem, err
-		}
-		searchItem.DataList = dataList
-		searchItem.StartDate = minDate
-		searchItem.EndDate = maxDate
-	}
-	if searchItem.DataList == nil {
-		searchItem.DataList = make([]*data_manage.EdbInfoSearchData, 0)
-	}
-	return
-}
-
-func RefreshEdbDataByThs(edbInfoId int, edbCode, startDate, endDate string) (err error) {
-	thsUrl := utils.Hz_Server_Data_Url + `edbInfo/ths?EdbCode=%s&StartDate=%s&EndDate=%s`
-	thsUrl = fmt.Sprintf(thsUrl, edbCode, startDate, endDate)
-	utils.FileLog.Info("thsUrl:%s", thsUrl)
-	body, err := http.Get(thsUrl)
-	fmt.Println("GetEdbDataByThs body:")
-	fmt.Println(string(body))
-
-	if err != nil {
-		return
-	}
-	item := new(EdbDataFromThs)
-	err = json.Unmarshal(body, &item)
-	if err != nil {
-		return
-	}
-	if item.Errorcode != 0 {
-		err = errors.New(string(body))
-		return
-	}
-	if len(item.Tables) > 0 {
-		table := item.Tables[0]
-		dataLen := len(table.Time)
-		addSql := ` INSERT INTO edb_data_ths(edb_info_id,edb_code,data_time,value,create_time,modify_time,status,data_timestamp) values `
-		nowStr := time.Now().Format(utils.FormatDateTime)
-		var isAdd bool
-		for i := 0; i < dataLen; i++ {
-			eDate := table.Time[i]
-			sValue := table.Value[i]
-
-			count, err := data_manage.GetEdbDataThsByCodeAndDate(edbCode, eDate)
-			if err != nil && err.Error() != utils.ErrNoRow() {
-				return err
-			}
-			if count <= 0 {
-				dataTime, err := time.Parse(utils.FormatDate, eDate)
-				if err != nil {
-
-				}
-				timestamp := dataTime.UnixNano() / 1e6
-				timeStr := fmt.Sprintf("%d", timestamp)
-
-				addSql += "("
-				addSql += strconv.Itoa(edbInfoId) + "," + "'" + edbCode + "'" + "," + "'" + eDate + "'" + "," + utils.SubFloatToString(sValue, 30) + "," + "'" + nowStr + "'" +
-					"," + "'" + nowStr + "'" + "," + "1"
-				addSql += "," + "'" + timeStr + "'"
-				addSql += "),"
-				isAdd = true
-			} else {
-				err = data_manage.ModifyEdbDataThs(int64(edbInfoId), eDate, sValue)
-				if err != nil {
-					return err
-				}
-			}
-		}
-
-		if isAdd {
-			addSql = strings.TrimRight(addSql, ",")
-			err = data_manage.AddEdbDataThsBySql(addSql)
-			if err != nil {
-				fmt.Println("AddEdbDataThs Err", err.Error())
-				return
-			}
-		}
-	}
-	return
-}

+ 0 - 155
services/data/edb_data_wind.go

@@ -1,155 +0,0 @@
-package data
-
-import (
-	"encoding/json"
-	"fmt"
-	"hongze/hongze_chart_lib/models/data_manage"
-	"hongze/hongze_chart_lib/utils"
-	"github.com/rdlucklib/rdluck_tools/http"
-	"strconv"
-	"strings"
-	"time"
-)
-
-type EdbDataFromWind struct {
-	Close  map[string]float64 `json:"CLOSE"`
-	Dt     map[string]int64   `json:"DT"`
-	ErrMsg string
-}
-
-//万得
-func GetEdbDataByWind(edbCode, startDate, endDate string) (searchItem *data_manage.EdbInfoSearch, err error) {
-	defer func() {
-		if err != nil {
-			fmt.Println("GetEdbDataByWind Err:" + err.Error())
-		}
-	}()
-
-	thsUrl := utils.Hz_Data_Url + `edbInfo/wind?EdbCode=%s&StartDate=%s&EndDate=%s`
-	thsUrl = fmt.Sprintf(thsUrl, edbCode, startDate, endDate)
-	utils.FileLog.Info("thsUrl:%s", thsUrl)
-	body, err := http.Get(thsUrl)
-	fmt.Println("GetEdbDataByThs body:")
-	fmt.Println(string(body))
-	utils.FileLog.Info("wind %s", string(body))
-
-	if err != nil {
-		return
-	}
-	item := new(EdbDataFromWind)
-	err = json.Unmarshal(body, &item)
-	if err != nil {
-		return
-	}
-	var isAdd bool
-	addSql := ` INSERT INTO edb_data_wind(edb_info_id,edb_code,data_time,value,create_time,modify_time,status,data_timestamp) values `
-	nowStr := time.Now().Format(utils.FormatDateTime)
-	for k, v := range item.Dt {
-		timeStr := fmt.Sprintf("%d", v)
-		v = v / 1000
-		t := time.Unix(v, 0)
-		dateTime := t.Format(utils.FormatDate)
-		val := item.Close[k]
-
-		addSql += "("
-		addSql += "0," + "'" + edbCode + "'" + "," + "'" + dateTime + "'" + "," + utils.SubFloatToString(val, 20) + "," + "'" + nowStr + "'" +
-			"," + "'" + nowStr + "'" + "," + "0" + "," + "'" + timeStr + "'"
-		addSql += "),"
-		isAdd = true
-	}
-	searchItem = new(data_manage.EdbInfoSearch)
-	searchItem.EdbCode = edbCode
-
-	if isAdd {
-		addSql = strings.TrimRight(addSql, ",")
-		err = data_manage.AddEdbDataWindBySql(addSql)
-		if err != nil {
-			utils.FileLogData.Info("GetEdbDataByPb AddEdbDataPbBySql Err:%s", err.Error())
-			return searchItem, err
-		}
-	}
-	size := utils.EDB_DATA_LIMIT
-	dataList, err := data_manage.GetEdbDataWindByCode(edbCode, size)
-	if err != nil {
-		fmt.Println("GetEdbDataWindByCode Err", err.Error())
-		return searchItem, err
-	}
-	minDate, maxDate, err := data_manage.GetEdbDataWindMaxOrMinDate(edbCode)
-	if err != nil {
-		fmt.Println("GetEdbDataWindByCode Err", err.Error())
-		return searchItem, err
-	}
-	searchItem.DataList = dataList
-	searchItem.StartDate = minDate
-	searchItem.EndDate = maxDate
-	if searchItem.DataList == nil {
-		searchItem.DataList = make([]*data_manage.EdbInfoSearchData, 0)
-	}
-	return
-}
-
-func RefreshEdbDataByWind(edbInfoId int, edbCode, startDate, endDate string) (err error) {
-	defer func() {
-		if err != nil {
-			fmt.Println("GetEdbDataByWind Err:" + err.Error())
-		}
-	}()
-
-	fmt.Println("startDate,endDate:",startDate,endDate)
-
-	thsUrl := utils.Hz_Data_Url + `edbInfo/wind?EdbCode=%s&StartDate=%s&EndDate=%s`
-	thsUrl = fmt.Sprintf(thsUrl, edbCode, startDate, endDate)
-	utils.FileLog.Info("thsUrl:%s", thsUrl)
-	body, err := http.Get(thsUrl)
-	fmt.Println("GetEdbDataByThs body:")
-	fmt.Println(string(body))
-	utils.FileLog.Info("wind result:"+string(body))
-
-	if err != nil {
-		return
-	}
-	item := new(EdbDataFromWind)
-	err = json.Unmarshal(body, &item)
-	if err != nil {
-		return
-	}
-	addSql := ` INSERT INTO edb_data_wind(edb_info_id,edb_code,data_time,value,create_time,modify_time,status,data_timestamp) values `
-	nowStr := time.Now().Format(utils.FormatDateTime)
-	var isAdd bool
-	for k, v := range item.Dt {
-		timeStr := fmt.Sprintf("%d", v)
-
-		v = v / 1000
-		t := time.Unix(v, 0)
-		dateTime := t.Format(utils.FormatDate)
-		val := item.Close[k]
-
-		count, err := data_manage.GetEdbDataWindByCodeAndDate(edbCode, dateTime)
-		if err != nil && err.Error() != utils.ErrNoRow() {
-			return err
-		}
-		if count <= 0 {
-			isAdd = true
-			fmt.Println(dateTime)
-			addSql += "("
-			addSql += strconv.Itoa(edbInfoId) + "," + "'" + edbCode + "'" + "," + "'" + dateTime + "'" + "," + utils.SubFloatToString(val, 30) + "," + "'" + nowStr + "'" +
-				"," + "'" + nowStr + "'" + "," + "1"
-			addSql += "," + "'" + timeStr + "'"
-			addSql += "),"
-		} else {
-			err = data_manage.ModifyEdbDataWind(int64(edbInfoId), dateTime, val)
-			if err != nil {
-				return err
-			}
-		}
-	}
-	if isAdd {
-		addSql = strings.TrimRight(addSql, ",")
-		err = data_manage.AddEdbDataWindBySql(addSql)
-		if err != nil {
-			fmt.Println("AddEdbDataWind Err", err.Error())
-			return
-		}
-	}
-	return
-}

+ 0 - 1645
services/data/edb_info.go

@@ -1,1645 +0,0 @@
-package data
-
-import (
-	"errors"
-	"fmt"
-	"hongze/hongze_chart_lib/models"
-	"hongze/hongze_chart_lib/models/data_manage"
-	"hongze/hongze_chart_lib/utils"
-	"sort"
-	"strconv"
-	"time"
-)
-
-//刷新计算指标
-func EdbInfoRefreshFromCalculate(edbInfoId, source int) (err error) {
-	var errmsg string
-	defer func() {
-		fmt.Println("errmsg:" + errmsg)
-		if err != nil {
-			go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "EdbInfoRefreshFromCalculate:"+errmsg, utils.EmailSendToUsers)
-		}
-	}()
-	baseEdbInfoArr, calculateInfoArr, err := data_manage.GetRefreshEdbInfoFromCalculate(edbInfoId, source)
-	if err != nil {
-		errmsg = "获取需要刷新的指标失败:Err:" + err.Error()
-		return
-	}
-	calculateItem, _ := data_manage.GetEdbInfoById(edbInfoId)
-	calculateInfoArr = append(calculateInfoArr, calculateItem)
-	var calculateArr []int
-	calculateMap := make(map[int]*data_manage.EdbInfo)
-	for _, v := range calculateInfoArr {
-		if _, ok := calculateMap[v.EdbInfoId]; !ok {
-			calculateArr = append(calculateArr, v.EdbInfoId)
-		}
-		calculateMap[v.EdbInfoId] = v
-	}
-	sort.Ints(calculateArr)
-
-	var startDate string
-	endDate := time.Now().Format(utils.FormatDate)
-	for _, bv := range baseEdbInfoArr {
-		source := bv.Source
-		edbInfoId := bv.EdbInfoId
-		edbCode := bv.EdbCode
-		startDate = bv.StartDate
-		sTime, err := time.Parse(utils.FormatDate, bv.EndDate)
-		if err != nil {
-			return err
-		}
-		startDate = sTime.Format(utils.FormatDate)
-
-		if source == utils.DATA_SOURCE_THS {
-			err = RefreshEdbDataByThs(edbInfoId, edbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshEdbDataByThs Err:" + err.Error()
-			}
-		} else if source == utils.DATA_SOURCE_WIND {
-			err = RefreshEdbDataByWind(edbInfoId, edbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshEdbDataByWind Err:" + err.Error()
-			}
-		} else if source == utils.DATA_SOURCE_PB {
-			startDate := sTime.Format(utils.FormatDateUnSpace)
-			endDate := time.Now().Format(utils.FormatDateUnSpace)
-			err = RefreshEdbDataByPb(edbInfoId, edbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshEdbDataByPb Err:" + err.Error()
-			}
-		} else if source == utils.DATA_SOURCE_MANUAL {
-			endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
-			err = data_manage.RefreshEdbDataByManual(edbInfoId, edbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshEdbDataByManual Err:" + err.Error()
-			}
-		} else if source == utils.DATA_SOURCE_LZ {
-			err = data_manage.RefreshEdbDataByLz(edbInfoId, edbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshEdbDataByLz Err:" + err.Error()
-			}
-		}else if source == utils.DATA_SOURCE_LT {
-			endDate := time.Now().Format(utils.FormatDate)
-			err = data_manage.RefreshAllEdbDataByLt(edbInfoId, source, edbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshAllEdbDataByLT Err:" + err.Error()
-			}
-		}
-		maxAndMinItem, err := data_manage.GetEdbInfoMaxAndMinInfo(source, edbCode)
-		if err != nil && err.Error() != utils.ErrNoRow() {
-			return err
-		}
-		if maxAndMinItem != nil {
-			err = data_manage.ModifyEdbInfoMaxAndMinInfo(edbInfoId, maxAndMinItem)
-			if err != nil {
-				return err
-			}
-		}
-	}
-
-	//全部改成重新计算逻辑
-
-	endDate = "" //计算指标不限制结束日期
-
-	for _, v := range calculateArr {
-		edbInfo := calculateMap[v]
-		if edbInfo == nil {
-			fmt.Println("edbInfo is nil:")
-			return err
-		}
-		edbInfoId := edbInfo.EdbInfoId
-		edbCode := edbInfo.EdbCode
-		if edbInfo.Source == utils.DATA_SOURCE_CALCULATE {
-
-			startDate = edbInfo.StartDate
-			sTime, err := time.Parse(utils.FormatDate, edbInfo.EndDate)
-			if err != nil {
-				return err
-			}
-			startDate = sTime.Format(utils.FormatDate)
-
-			var edbInfoIdBytes []string
-			calculateMap, err := data_manage.GetEdbInfoCalculateDetail(edbInfoId, edbInfo.Source)
-			if err != nil {
-				errmsg = "GetEdbInfoCalculateDetail Err:" + err.Error()
-				return err
-			}
-			var formulaStr string
-			edbInfoList := make([]*data_manage.EdbInfo, 0)
-
-			for _, v := range calculateMap {
-				formulaStr += v.FromTag + ","
-				edbInfoIdBytes = append(edbInfoIdBytes, v.FromTag)
-				edbInfo, _ := data_manage.GetEdbInfoById(v.FromEdbInfoId)
-				edbInfoList = append(edbInfoList, edbInfo)
-			}
-			err = RefreshCalculate(edbInfoList, int(edbInfoId), edbInfo.EdbCode, edbInfo.CalculateFormula, startDate, endDate, edbInfoIdBytes)
-			if err != nil {
-				errmsg = "RefreshCalculate Err:" + err.Error()
-				return err
-			}
-		} else if edbInfo.Source == utils.DATA_SOURCE_CALCULATE_LJZZY { //刷新累计值转月值
-			calculateLjzzy, err := data_manage.GetEdbInfoCalculateLjzzyDetail(edbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoCalculateLjzzyDetail Err:" + err.Error()
-				return err
-			}
-			fromEdbInfo, err := data_manage.GetEdbInfoById(calculateLjzzy.FromEdbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoById Err:" + err.Error()
-				return err
-			}
-			year := time.Now().Year()
-			startDate = strconv.Itoa(year) + "-01" + "-01"
-
-			err = data_manage.RefreshCalculateLjzzy(edbInfoId, fromEdbInfo, calculateLjzzy.EdbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshCalculateLjzzy Err:" + err.Error()
-				return err
-			}
-		} else if edbInfo.Source == utils.DATA_SOURCE_CALCULATE_TBZ { //刷新同比值
-			calculateTbz, err := data_manage.GetEdbInfoCalculateTbzDetail(edbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoCalculateTbzDetail Err:" + err.Error()
-				return err
-			}
-			fromEdbInfo, err := data_manage.GetEdbInfoById(calculateTbz.FromEdbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoById Err:" + err.Error()
-				return err
-			}
-			//startDate = calculateTbz.StartDate //time.Now().AddDate(-1, -2, 0).Format(utils.FormatDate)
-			startDate = time.Now().AddDate(-1, -2, 0).Format(utils.FormatDate)
-			err = data_manage.RefreshCalculateTbz(edbInfoId, fromEdbInfo, calculateTbz.EdbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshCalculateTbz Err:" + err.Error()
-				return err
-			}
-		} else if edbInfo.Source == utils.DATA_SOURCE_CALCULATE_TCZ { //同差值
-			calculateTcz, err := data_manage.GetEdbInfoCalculateTczDetail(edbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoCalculateTczDetail Err:" + err.Error()
-				return err
-			}
-			fromEdbInfo, err := data_manage.GetEdbInfoById(calculateTcz.FromEdbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoById Err:" + err.Error()
-				return err
-			}
-			startDate = time.Now().AddDate(-1, -2, 0).Format(utils.FormatDate)
-			err = data_manage.RefreshCalculateTcz(edbInfoId, fromEdbInfo, calculateTcz.EdbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshCalculateTcz Err:" + err.Error()
-				return err
-			}
-		} else if edbInfo.Source == utils.DATA_SOURCE_CALCULATE_NSZYDPJJS { //N数值移动平均计算
-			fmt.Println("刷新计算指标:", edbInfoId)
-			calculateNszydpjjs, err := data_manage.GetEdbInfoCalculateNszydpjjsDetail(edbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoCalculateNszydpjjsDetail Err:" + err.Error()
-				return err
-			}
-			fromEdbInfo, err := data_manage.GetEdbInfoById(calculateNszydpjjs.FromEdbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoById Err:" + err.Error()
-				return err
-			}
-			formulaInt, _ := strconv.Atoi(edbInfo.CalculateFormula)
-			err = data_manage.RefreshCalculateNszydpjjs(edbInfoId, edbInfo.Source, formulaInt, fromEdbInfo, calculateNszydpjjs.EdbCode)
-			if err != nil {
-				errmsg = "RefreshCalculateNszydpjjs Err:" + err.Error()
-				return err
-			}
-		} else if edbInfo.Source == utils.DATA_SOURCE_CALCULATE_HBZ { //环比
-			fmt.Println("刷新计算指标:", edbInfoId)
-			calculateTbz, err := data_manage.GetEdbInfoCalculateHbzDetail(edbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoCalculateTbzDetail Err:" + err.Error()
-				return err
-			}
-			fromEdbInfo, err := data_manage.GetEdbInfoById(calculateTbz.FromEdbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoById Err:" + err.Error()
-				return err
-			}
-			startDate = time.Now().AddDate(-1, -2, 0).Format(utils.FormatDate)
-
-			err = data_manage.RefreshCalculateHbz(edbInfoId, edbInfo.Source, fromEdbInfo, calculateTbz.EdbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshCalculateHbz Err:" + err.Error()
-				return err
-			}
-		} else if edbInfo.Source == utils.DATA_SOURCE_CALCULATE_HCZ { //环差
-			fmt.Println("刷新计算指标:", edbInfoId)
-			calculateTbz, err := data_manage.GetEdbInfoCalculateHczDetail(edbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoCalculateTbzDetail Err:" + err.Error()
-				return err
-			}
-			fromEdbInfo, err := data_manage.GetEdbInfoById(calculateTbz.FromEdbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoById Err:" + err.Error()
-				return err
-			}
-			startDate = time.Now().AddDate(-1, -2, 0).Format(utils.FormatDate)
-
-			err = data_manage.RefreshCalculateHcz(edbInfoId, edbInfo.Source, fromEdbInfo, calculateTbz.EdbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshCalculateHcz Err:" + err.Error()
-				return err
-			}
-		} else if edbInfo.Source == utils.DATA_SOURCE_CALCULATE_BP { //变频
-			fmt.Println("刷新计算指标:", edbInfoId)
-			calculateTbz, err := data_manage.GetEdbInfoCalculateBpDetail(edbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoCalculateTbzDetail Err:" + err.Error()
-				return err
-			}
-			fromEdbInfo, err := data_manage.GetEdbInfoById(calculateTbz.FromEdbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoById Err:" + err.Error()
-				return err
-			}
-			startDate = time.Now().AddDate(-1, -2, 0).Format(utils.FormatDate)
-
-			err = data_manage.RefreshCalculateBp(edbInfoId, fromEdbInfo, calculateTbz.EdbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshCalculateBp Err:" + err.Error()
-				return err
-			}
-		}
-		maxAndMinItem, err := data_manage.GetEdbInfoMaxAndMinInfo(edbInfo.Source, edbCode)
-		if err != nil && err.Error() != utils.ErrNoRow() {
-			fmt.Println("GetEdbInfoMaxAndMinInfo Err:" + err.Error())
-			return err
-		}
-		if maxAndMinItem != nil {
-			err = data_manage.ModifyEdbInfoMaxAndMinInfo(edbInfoId, maxAndMinItem)
-			if err != nil {
-				fmt.Println("ModifyEdbInfoMaxAndMinInfo:" + err.Error())
-				return err
-			}
-		}
-	}
-
-	/*for _, v := range calculateArr {
-		edbInfo := calculateMap[v]
-		if edbInfo == nil {
-			fmt.Println("edbInfo is nil:")
-			return err
-		}
-		edbInfoId := edbInfo.EdbInfoId
-		edbCode := edbInfo.EdbCode
-		if edbInfo.Source == utils.DATA_SOURCE_CALCULATE {
-
-			startDate = edbInfo.StartDate
-			sTime, err := time.Parse(utils.FormatDate, edbInfo.EndDate)
-			if err != nil {
-				return err
-			}
-			startDate = sTime.Format(utils.FormatDate)
-
-			var edbInfoIdBytes []string
-			calculateMap, err := data_manage.GetEdbInfoCalculateDetail(edbInfoId, edbInfo.Source)
-			if err != nil {
-				errmsg = "GetEdbInfoCalculateDetail Err:" + err.Error()
-				return err
-			}
-			var formulaStr string
-			edbInfoList := make([]*data_manage.EdbInfo, 0)
-
-			for _, v := range calculateMap {
-				formulaStr += v.FromTag + ","
-				edbInfoIdBytes = append(edbInfoIdBytes, v.FromTag)
-				edbInfo, _ := data_manage.GetEdbInfoById(v.FromEdbInfoId)
-				edbInfoList = append(edbInfoList, edbInfo)
-			}
-			err = RefreshCalculate(edbInfoList, int(edbInfoId), edbInfo.EdbCode, edbInfo.CalculateFormula, startDate, endDate, edbInfoIdBytes)
-			if err != nil {
-				errmsg = "RefreshCalculate Err:" + err.Error()
-				return err
-			}
-		} else if edbInfo.Source == utils.DATA_SOURCE_CALCULATE_LJZZY { //刷新累计值转月值
-			calculateLjzzy, err := data_manage.GetEdbInfoCalculateLjzzyDetail(edbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoCalculateLjzzyDetail Err:" + err.Error()
-				return err
-			}
-			fromEdbInfo, err := data_manage.GetEdbInfoById(calculateLjzzy.FromEdbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoById Err:" + err.Error()
-				return err
-			}
-			year := time.Now().Year()
-			startDate = strconv.Itoa(year) + "-01" + "-01"
-
-			err = data_manage.RefreshCalculateLjzzy(edbInfoId, fromEdbInfo, calculateLjzzy.EdbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshCalculateLjzzy Err:" + err.Error()
-				return err
-			}
-		} else if edbInfo.Source == utils.DATA_SOURCE_CALCULATE_TBZ { //刷新同比值
-			calculateTbz, err := data_manage.GetEdbInfoCalculateTbzDetail(edbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoCalculateTbzDetail Err:" + err.Error()
-				return err
-			}
-			fromEdbInfo, err := data_manage.GetEdbInfoById(calculateTbz.FromEdbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoById Err:" + err.Error()
-				return err
-			}
-			//startDate = calculateTbz.StartDate //time.Now().AddDate(-1, -2, 0).Format(utils.FormatDate)
-			startDate = time.Now().AddDate(-1, -2, 0).Format(utils.FormatDate)
-			err = data_manage.RefreshCalculateTbz(edbInfoId, fromEdbInfo, calculateTbz.EdbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshCalculateTbz Err:" + err.Error()
-				return err
-			}
-		} else if edbInfo.Source == utils.DATA_SOURCE_CALCULATE_TCZ { //同差值
-			calculateTcz, err := data_manage.GetEdbInfoCalculateTczDetail(edbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoCalculateTczDetail Err:" + err.Error()
-				return err
-			}
-			fromEdbInfo, err := data_manage.GetEdbInfoById(calculateTcz.FromEdbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoById Err:" + err.Error()
-				return err
-			}
-			startDate = time.Now().AddDate(-1, -2, 0).Format(utils.FormatDate)
-			err = data_manage.RefreshCalculateTcz(edbInfoId, fromEdbInfo, calculateTcz.EdbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshCalculateTcz Err:" + err.Error()
-				return err
-			}
-		} else if edbInfo.Source == utils.DATA_SOURCE_CALCULATE_NSZYDPJJS { //N数值移动平均计算
-			fmt.Println("刷新计算指标:", edbInfoId)
-			calculateNszydpjjs, err := data_manage.GetEdbInfoCalculateNszydpjjsDetail(edbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoCalculateNszydpjjsDetail Err:" + err.Error()
-				return err
-			}
-			fromEdbInfo, err := data_manage.GetEdbInfoById(calculateNszydpjjs.FromEdbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoById Err:" + err.Error()
-				return err
-			}
-			formulaInt, _ := strconv.Atoi(edbInfo.CalculateFormula)
-			err = data_manage.RefreshCalculateNszydpjjs(edbInfoId, edbInfo.Source, formulaInt, fromEdbInfo, calculateNszydpjjs.EdbCode)
-			if err != nil {
-				errmsg = "RefreshCalculateNszydpjjs Err:" + err.Error()
-				return err
-			}
-		} else if edbInfo.Source == utils.DATA_SOURCE_CALCULATE_HBZ { //环比
-			fmt.Println("刷新计算指标:", edbInfoId)
-			calculateTbz, err := data_manage.GetEdbInfoCalculateHbzDetail(edbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoCalculateTbzDetail Err:" + err.Error()
-				return err
-			}
-			fromEdbInfo, err := data_manage.GetEdbInfoById(calculateTbz.FromEdbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoById Err:" + err.Error()
-				return err
-			}
-			startDate = time.Now().AddDate(-1, -2, 0).Format(utils.FormatDate)
-
-			err = data_manage.RefreshCalculateHbz(edbInfoId, edbInfo.Source, fromEdbInfo, calculateTbz.EdbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshCalculateHbz Err:" + err.Error()
-				return err
-			}
-		} else if edbInfo.Source == utils.DATA_SOURCE_CALCULATE_HCZ { //环差
-			fmt.Println("刷新计算指标:", edbInfoId)
-			calculateTbz, err := data_manage.GetEdbInfoCalculateHczDetail(edbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoCalculateTbzDetail Err:" + err.Error()
-				return err
-			}
-			fromEdbInfo, err := data_manage.GetEdbInfoById(calculateTbz.FromEdbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoById Err:" + err.Error()
-				return err
-			}
-			startDate = time.Now().AddDate(-1, -2, 0).Format(utils.FormatDate)
-
-			err = data_manage.RefreshCalculateHcz(edbInfoId, edbInfo.Source, fromEdbInfo, calculateTbz.EdbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshCalculateHcz Err:" + err.Error()
-				return err
-			}
-		} else if edbInfo.Source == utils.DATA_SOURCE_CALCULATE_BP { //变频
-			fmt.Println("刷新计算指标:", edbInfoId)
-			calculateTbz, err := data_manage.GetEdbInfoCalculateBpDetail(edbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoCalculateTbzDetail Err:" + err.Error()
-				return err
-			}
-			fromEdbInfo, err := data_manage.GetEdbInfoById(calculateTbz.FromEdbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoById Err:" + err.Error()
-				return err
-			}
-			startDate = time.Now().AddDate(-1, -2, 0).Format(utils.FormatDate)
-
-			err = data_manage.RefreshCalculateBp(edbInfoId, fromEdbInfo, calculateTbz.EdbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshCalculateBp Err:" + err.Error()
-				return err
-			}
-		}
-		maxAndMinItem, err := data_manage.GetEdbInfoMaxAndMinInfo(edbInfo.Source, edbCode)
-		if err != nil && err.Error() != utils.ErrNoRow() {
-			fmt.Println("GetEdbInfoMaxAndMinInfo Err:" + err.Error())
-			return err
-		}
-		if maxAndMinItem != nil {
-			err = data_manage.ModifyEdbInfoMaxAndMinInfo(edbInfoId, maxAndMinItem)
-			if err != nil {
-				fmt.Println("ModifyEdbInfoMaxAndMinInfo:" + err.Error())
-				return err
-			}
-		}
-	}*/
-	return err
-}
-
-//刷新基础指标
-func EdbInfoRefreshFromBase(edbInfoId int) (err error) {
-	var errmsg string
-	defer func() {
-		if err != nil {
-			fmt.Println("EdbInfoRefreshFromBase Err:" + err.Error() + ";errmsg:" + errmsg)
-			go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "EdbInfoRefreshFromBase:"+errmsg, utils.EmailSendToUsers)
-		}
-	}()
-
-	calculateList, err := data_manage.GetEdbInfoAllCalculate(edbInfoId)
-	if err != nil && err.Error() != utils.ErrNoRow() {
-		return errors.New("GetEdbInfoAllCalculate Err:" + err.Error())
-	}
-	baseEdbInfoArr := make([]*data_manage.EdbInfo, 0)
-	calculateInfoArr := make([]*data_manage.EdbInfo, 0)
-	baseEdbInfo, err := data_manage.GetEdbInfoById(edbInfoId)
-	if err != nil {
-		return errors.New("GetEdbInfoAllCalGetEdbInfoByIdr:" + err.Error())
-	}
-	baseEdbInfoArr = append(baseEdbInfoArr, baseEdbInfo)
-
-	for _, v := range calculateList {
-		getBaseEdbInfoArr, getCalculateInfoArr, err := data_manage.GetRefreshEdbInfoFromBase(v.EdbInfoId, v.Source)
-		if err != nil {
-			fmt.Println("GetRefreshEdbInfoFromBase err:" + err.Error())
-			errmsg = "获取需要刷新的指标失败:Err:" + err.Error()
-			return err
-		}
-		baseEdbInfoArr = append(baseEdbInfoArr, getBaseEdbInfoArr...)
-		calculateInfoArr = append(calculateInfoArr, getCalculateInfoArr...)
-		calculateInfoArr = append(calculateInfoArr, v)
-	}
-	//取重
-	newBaseEdbInfoArr := make([]*data_manage.EdbInfo, 0)
-	baseMap := make(map[int]int)
-	for _, v := range baseEdbInfoArr {
-		if _, ok := baseMap[v.EdbInfoId]; !ok {
-			newBaseEdbInfoArr = append(newBaseEdbInfoArr, v)
-		}
-		baseMap[v.EdbInfoId] = v.EdbInfoId
-	}
-
-	var calculateArr []int
-	newCalculateMap := make(map[int]*data_manage.EdbInfo)
-	for _, v := range calculateInfoArr {
-		if _, ok := newCalculateMap[v.EdbInfoId]; !ok {
-			calculateArr = append(calculateArr, v.EdbInfoId)
-		}
-		newCalculateMap[v.EdbInfoId] = v
-	}
-	sort.Ints(calculateArr)
-	var startDate string
-	for _, bv := range newBaseEdbInfoArr {
-		source := bv.Source
-		edbInfoId := bv.EdbInfoId
-		edbCode := bv.EdbCode
-
-		sTime, err := time.Parse(utils.FormatDate, bv.EndDate)
-		if err != nil {
-			return err
-		}
-		startDate = sTime.Format(utils.FormatDate)
-
-		if source == utils.DATA_SOURCE_THS {
-			endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
-			err = RefreshEdbDataByThs(edbInfoId, edbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshEdbDataByThs Err:" + err.Error()
-			}
-		} else if source == utils.DATA_SOURCE_WIND {
-			endDate := time.Now().Format(utils.FormatDate)
-			err = RefreshEdbDataByWind(edbInfoId, edbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshEdbDataByWind Err:" + err.Error()
-			}
-		} else if source == utils.DATA_SOURCE_PB {
-			startDate := sTime.Format(utils.FormatDateUnSpace)
-			endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDateUnSpace)
-			err = RefreshEdbDataByPb(edbInfoId, edbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshEdbDataByPb Err:" + err.Error()
-			}
-		} else if source == utils.DATA_SOURCE_MANUAL {
-			endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
-			err = data_manage.RefreshEdbDataByManual(edbInfoId, edbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshEdbDataByManual Err:" + err.Error()
-			}
-		} else if source == utils.DATA_SOURCE_LZ {
-			endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
-			err = data_manage.RefreshEdbDataByLz(edbInfoId, edbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshEdbDataByLz Err:" + err.Error()
-			}
-		} else if source == utils.DATA_SOURCE_YS {
-			endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
-			err = data_manage.RefreshAllEdbDataByYs(edbInfoId, source, edbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshEdbDataByLz Err:" + err.Error()
-			}
-		} else if source == utils.DATA_SOURCE_GL {
-			endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
-			err = data_manage.RefreshEdbDataByGl(edbInfoId, edbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshEdbDataByGl Err:" + err.Error()
-			}
-		} else if source == utils.DATA_SOURCE_ZZ {
-			endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
-			err = data_manage.RefreshEdbDataByZz(edbInfoId, edbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshAllEdbDataByZz Err:" + err.Error()
-			}
-		} else if source == utils.DATA_SOURCE_DL {
-			endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
-			err = data_manage.RefreshEdbDataByDl(edbInfoId, edbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshAllEdbDataByDl Err:" + err.Error()
-			}
-		} else if source == utils.DATA_SOURCE_SH {
-			endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
-			err = data_manage.RefreshEdbDataBySh(edbInfoId, edbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshAllEdbDataBySh Err:" + err.Error()
-			}
-		} else if source == utils.DATA_SOURCE_CFFEX {
-			endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
-			err = data_manage.RefreshEdbDataByCffex(edbInfoId, edbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshAllEdbDataByCffex Err:" + err.Error()
-			}
-		} else if source == utils.DATA_SOURCE_SHFE {
-			endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
-			err = data_manage.RefreshEdbDataByShfe(edbInfoId, edbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshAllEdbDataByShfe Err:" + err.Error()
-			}
-		}else if source == utils.DATA_SOURCE_LT {
-			endDate := time.Now().Format(utils.FormatDate)
-			err = data_manage.RefreshAllEdbDataByLt(edbInfoId, source, edbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshAllEdbDataByLT Err:" + err.Error()
-			}
-		}
-
-		maxAndMinItem, err := data_manage.GetEdbInfoMaxAndMinInfo(source, edbCode)
-		if err != nil {
-			return err
-		}
-		if maxAndMinItem != nil {
-			err = data_manage.ModifyEdbInfoMaxAndMinInfo(edbInfoId, maxAndMinItem)
-			if err != nil {
-				return err
-			}
-		}
-	}
-	endDate := "" //计算指标不限制结束日期
-	for _, v := range calculateArr {
-		edbInfo := newCalculateMap[v]
-		if edbInfo == nil {
-			return err
-		}
-		edbInfoId := edbInfo.EdbInfoId
-		edbCode := edbInfo.EdbCode
-		source := edbInfo.Source
-		if source == utils.DATA_SOURCE_CALCULATE {
-			startDate = edbInfo.StartDate
-			if startDate == "" {
-				err = errors.New("运算指标更新开始日期不能为空")
-				return err
-			}
-			sTime, err := time.Parse(utils.FormatDate, edbInfo.EndDate)
-			if err != nil {
-				fmt.Println("time.Parse Err:" + err.Error())
-				return err
-			}
-			startDate = sTime.Format(utils.FormatDate)
-
-			var edbInfoIdBytes []string
-			calculateMap, err := data_manage.GetEdbInfoCalculateDetail(edbInfoId, edbInfo.Source)
-			if err != nil {
-				errmsg = "GetEdbInfoCalculateDetail Err:" + err.Error()
-				return err
-			}
-			var formulaStr string
-			edbInfoList := make([]*data_manage.EdbInfo, 0)
-
-			for _, v := range calculateMap {
-				formulaStr += v.FromTag + ","
-				edbInfoIdBytes = append(edbInfoIdBytes, v.FromTag)
-				edbInfo, _ := data_manage.GetEdbInfoById(v.FromEdbInfoId)
-				edbInfoList = append(edbInfoList, edbInfo)
-			}
-			err = RefreshCalculate(edbInfoList, int(edbInfoId), edbInfo.EdbCode, edbInfo.CalculateFormula, startDate, endDate, edbInfoIdBytes)
-			if err != nil {
-				errmsg = "RefreshCalculate Err:" + err.Error()
-				return err
-			}
-		} else if source == utils.DATA_SOURCE_CALCULATE_LJZZY { //刷新累计值转月值
-			calculateLjzzy, err := data_manage.GetEdbInfoCalculateLjzzyDetail(edbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoCalculateLjzzyDetail Err:" + err.Error()
-				return err
-			}
-			fromEdbInfo, err := data_manage.GetEdbInfoById(calculateLjzzy.FromEdbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoById Err:" + err.Error()
-				return err
-			}
-			year := time.Now().Year()
-			startDate = strconv.Itoa(year) + "-01" + "-01"
-			endDate = time.Now().Format(utils.FormatDate)
-			err = data_manage.RefreshCalculateLjzzy(edbInfoId, fromEdbInfo, calculateLjzzy.EdbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshCalculateLjzzy Err:" + err.Error()
-				return err
-			}
-		} else if source == utils.DATA_SOURCE_CALCULATE_TBZ { //刷新同比值
-			calculateTbz, err := data_manage.GetEdbInfoCalculateTbzDetail(edbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoCalculateTbzDetail Err:" + err.Error()
-				return err
-			}
-			fromEdbInfo, err := data_manage.GetEdbInfoById(calculateTbz.FromEdbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoById Err:" + err.Error()
-				return err
-			}
-			startDate = time.Now().AddDate(-1, -2, 0).Format(utils.FormatDate)
-			endDate = time.Now().Format(utils.FormatDate)
-			err = data_manage.RefreshCalculateTbz(edbInfoId, fromEdbInfo, calculateTbz.EdbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshCalculateTbz Err:" + err.Error()
-				return err
-			}
-		} else if source == utils.DATA_SOURCE_CALCULATE_TCZ { //同差值
-			calculateTcz, err := data_manage.GetEdbInfoCalculateTczDetail(edbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoCalculateTczDetail Err:" + err.Error()
-				return err
-			}
-			fromEdbInfo, err := data_manage.GetEdbInfoById(calculateTcz.FromEdbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoById Err:" + err.Error()
-				return err
-			}
-			startDate = time.Now().AddDate(-1, -2, 0).Format(utils.FormatDate)
-			endDate = time.Now().Format(utils.FormatDate)
-			err = data_manage.RefreshCalculateTcz(edbInfoId, fromEdbInfo, calculateTcz.EdbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshCalculateTcz Err:" + err.Error()
-				return err
-			}
-		} else if source == utils.DATA_SOURCE_CALCULATE_NSZYDPJJS { //N数值移动平均计算
-			fmt.Println("刷新计算指标:", edbInfoId)
-			calculateNszydpjjs, err := data_manage.GetEdbInfoCalculateNszydpjjsDetail(edbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoCalculateNszydpjjsDetail Err:" + err.Error()
-				return err
-			}
-			fromEdbInfo, err := data_manage.GetEdbInfoById(calculateNszydpjjs.FromEdbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoById Err:" + err.Error()
-				return err
-			}
-			formulaInt, _ := strconv.Atoi(edbInfo.CalculateFormula)
-			err = data_manage.RefreshCalculateNszydpjjs(edbInfoId, edbInfo.Source, formulaInt, fromEdbInfo, calculateNszydpjjs.EdbCode)
-			if err != nil {
-				errmsg = "RefreshCalculateNszydpjjs Err:" + err.Error()
-				return err
-			}
-		} else if source == utils.DATA_SOURCE_CALCULATE_HBZ { //刷新环比值
-			calculateTbz, err := data_manage.GetEdbInfoCalculateHbzDetail(edbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoCalculateHbzDetail Err:" + err.Error()
-				return err
-			}
-			fromEdbInfo, err := data_manage.GetEdbInfoById(calculateTbz.FromEdbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoById Err:" + err.Error()
-				return err
-			}
-			startDate = time.Now().AddDate(-1, -2, 0).Format(utils.FormatDate)
-			endDate = time.Now().Format(utils.FormatDate)
-			err = data_manage.RefreshCalculateHbz(edbInfoId, source, fromEdbInfo, calculateTbz.EdbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshCalculateHbz Err:" + err.Error()
-				return err
-			}
-		} else if source == utils.DATA_SOURCE_CALCULATE_HCZ { //刷新环差值
-			calculateTbz, err := data_manage.GetEdbInfoCalculateHczDetail(edbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoCalculateHczDetail Err:" + err.Error()
-				return err
-			}
-			fromEdbInfo, err := data_manage.GetEdbInfoById(calculateTbz.FromEdbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoById Err:" + err.Error()
-				return err
-			}
-			startDate = time.Now().AddDate(-1, -2, 0).Format(utils.FormatDate)
-			endDate = time.Now().Format(utils.FormatDate)
-			err = data_manage.RefreshCalculateHcz(edbInfoId, source, fromEdbInfo, calculateTbz.EdbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshCalculateHcz Err:" + err.Error()
-				return err
-			}
-		} else if source == utils.DATA_SOURCE_CALCULATE_BP { //刷新同比值
-			calculateTbz, err := data_manage.GetEdbInfoCalculateBpDetail(edbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoCalculateBpDetail Err:" + err.Error()
-				return err
-			}
-			fromEdbInfo, err := data_manage.GetEdbInfoById(calculateTbz.FromEdbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoById Err:" + err.Error()
-				return err
-			}
-			startDate = time.Now().AddDate(-1, -2, 0).Format(utils.FormatDate)
-			endDate = time.Now().Format(utils.FormatDate)
-			err = data_manage.RefreshCalculateBp(edbInfoId, fromEdbInfo, calculateTbz.EdbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshCalculateBp Err:" + err.Error()
-				return err
-			}
-		}
-		maxAndMinItem, err := data_manage.GetEdbInfoMaxAndMinInfo(source, edbCode)
-		if err != nil {
-			return err
-		}
-		if maxAndMinItem != nil {
-			err = data_manage.ModifyEdbInfoMaxAndMinInfo(edbInfoId, maxAndMinItem)
-			if err != nil {
-				return err
-			}
-		}
-	}
-	return err
-}
-
-//全部刷新指标
-func EdbInfoRefreshAllFromBase(edbInfoId int) (err error) {
-	var errmsg string
-	defer func() {
-		if err != nil {
-			fmt.Println("EdbInfoRefreshAllFromBase Err:" + err.Error() + ";errmsg:" + errmsg)
-			go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "EdbInfoRefreshFromBase:"+errmsg, utils.EmailSendToUsers)
-		}
-	}()
-
-	calculateList, err := data_manage.GetEdbInfoAllCalculate(edbInfoId)
-	if err != nil && err.Error() != utils.ErrNoRow() {
-		return errors.New("GetEdbInfoAllCalculate Err:" + err.Error())
-	}
-	baseEdbInfoArr := make([]*data_manage.EdbInfo, 0)
-	calculateInfoArr := make([]*data_manage.EdbInfo, 0)
-	baseEdbInfo, err := data_manage.GetEdbInfoById(edbInfoId)
-	if err != nil {
-		return errors.New("GetEdbInfoAllCalGetEdbInfoByIdr:" + err.Error())
-	}
-	baseEdbInfoArr = append(baseEdbInfoArr, baseEdbInfo)
-
-	switch baseEdbInfo.EdbType {
-	case 1: //基础指标
-		baseEdbInfoArr = append(baseEdbInfoArr, baseEdbInfo)
-	case 2: //计算指标
-		calculateList = append(calculateList, baseEdbInfo)
-
-	}
-
-	for _, v := range calculateList {
-		getBaseEdbInfoArr, getCalculateInfoArr, err := data_manage.GetRefreshEdbInfoFromBase(v.EdbInfoId, v.Source)
-		if err != nil {
-			fmt.Println("GetRefreshEdbInfoFromBase err:" + err.Error())
-			errmsg = "获取需要刷新的指标失败:Err:" + err.Error()
-			return err
-		}
-		baseEdbInfoArr = append(baseEdbInfoArr, getBaseEdbInfoArr...)
-		calculateInfoArr = append(calculateInfoArr, getCalculateInfoArr...)
-		calculateInfoArr = append(calculateInfoArr, v)
-	}
-	//取重
-	newBaseEdbInfoArr := make([]*data_manage.EdbInfo, 0)
-	baseMap := make(map[int]int)
-	for _, v := range baseEdbInfoArr {
-		if _, ok := baseMap[v.EdbInfoId]; !ok {
-			newBaseEdbInfoArr = append(newBaseEdbInfoArr, v)
-		}
-		baseMap[v.EdbInfoId] = v.EdbInfoId
-	}
-
-	var calculateArr []int
-	newCalculateMap := make(map[int]*data_manage.EdbInfo)
-	for _, v := range calculateInfoArr {
-		if _, ok := newCalculateMap[v.EdbInfoId]; !ok {
-			calculateArr = append(calculateArr, v.EdbInfoId)
-		}
-		newCalculateMap[v.EdbInfoId] = v
-	}
-	sort.Ints(calculateArr)
-	var startDate string
-	for _, bv := range newBaseEdbInfoArr {
-		source := bv.Source
-		edbInfoId := bv.EdbInfoId
-		edbCode := bv.EdbCode
-
-		sTime, err := time.Parse(utils.FormatDate, bv.StartDate)
-		if err != nil {
-			return err
-		}
-		startDate = sTime.Format(utils.FormatDate)
-
-		if source == utils.DATA_SOURCE_THS {
-			endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
-			err = data_manage.RefreshAllEdbDataByThs(edbInfoId, source, edbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshAllEdbDataByThs Err:" + err.Error()
-			}
-		} else if source == utils.DATA_SOURCE_WIND {
-			endDate := time.Now().Format(utils.FormatDate)
-			err = data_manage.RefreshAllEdbDataByWind(edbInfoId, source, edbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshAllEdbDataByWind Err:" + err.Error()
-			}
-		} else if source == utils.DATA_SOURCE_PB {
-			startDate := sTime.Format(utils.FormatDateUnSpace)
-			endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDateUnSpace)
-			err = data_manage.RefreshAllEdbDataByPb(edbInfoId, source, edbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshAllEdbDataByPb Err:" + err.Error()
-			}
-		} else if source == utils.DATA_SOURCE_MANUAL {
-			err = data_manage.RefreshAllEdbDataByManual(edbInfoId, source, edbCode)
-			if err != nil {
-				errmsg = "RefreshAllEdbDataByManual Err:" + err.Error()
-			}
-		} else if source == utils.DATA_SOURCE_LZ {
-			endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
-			err = data_manage.RefreshAllEdbDataByLz(edbInfoId, source, edbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshAllEdbDataByLz Err:" + err.Error()
-			}
-		} else if source == utils.DATA_SOURCE_YS {
-			endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
-			err = data_manage.RefreshAllEdbDataByYs(edbInfoId, source, edbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshAllEdbDataByYs Err:" + err.Error()
-			}
-		} else if source == utils.DATA_SOURCE_GL {
-			endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
-			err = data_manage.RefreshAllEdbDataByGl(edbInfoId, source, edbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshAllEdbDataByGl Err:" + err.Error()
-			}
-		} else if source == utils.DATA_SOURCE_ZZ {
-			endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
-			err = data_manage.RefreshAllEdbDataByZz(edbInfoId, source, edbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshAllEdbDataByZz Err:" + err.Error()
-			}
-		} else if source == utils.DATA_SOURCE_DL {
-			endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
-			err = data_manage.RefreshAllEdbDataByDl(edbInfoId, source, edbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshAllEdbDataByDl Err:" + err.Error()
-			}
-		} else if source == utils.DATA_SOURCE_SH {
-			endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
-			err = data_manage.RefreshAllEdbDataBySh(edbInfoId, source, edbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshAllEdbDataBySh Err:" + err.Error()
-			}
-		} else if source == utils.DATA_SOURCE_CFFEX {
-			endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
-			err = data_manage.RefreshAllEdbDataByCffex(edbInfoId, source, edbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshAllEdbDataByCffex Err:" + err.Error()
-			}
-		} else if source == utils.DATA_SOURCE_SHFE {
-			endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
-			err = data_manage.RefreshAllEdbDataByShfe(edbInfoId, source, edbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshAllEdbDataByShfe Err:" + err.Error()
-			}
-		}else if source == utils.DATA_SOURCE_LT {
-			endDate := time.Now().Format(utils.FormatDate)
-			err = data_manage.RefreshAllEdbDataByLt(edbInfoId, source, edbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshAllEdbDataByLT Err:" + err.Error()
-			}
-		}else if source == utils.DATA_SOURCE_COAL {
-			endDate := time.Now().Format(utils.FormatDate)
-			err = data_manage.RefreshAllEdbDataByCoal(edbInfoId, source, edbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshAllEdbDataByCoal Err:" + err.Error()
-			}
-		}
-
-		maxAndMinItem, err := data_manage.GetEdbInfoMaxAndMinInfo(source, edbCode)
-		if err != nil {
-			return err
-		}
-		if maxAndMinItem != nil {
-			err = data_manage.ModifyEdbInfoMaxAndMinInfo(edbInfoId, maxAndMinItem)
-			if err != nil {
-				return err
-			}
-		}
-		fmt.Println("end newBaseEdbInfoArr:", bv, time.Now())
-	}
-
-	endDate := "" //计算指标不限制日期
-	//刷新相关计算指标
-	for _, v := range calculateArr {
-		edbInfo := newCalculateMap[v]
-		if edbInfo == nil {
-			return err
-		}
-		edbInfoId := edbInfo.EdbInfoId
-		source := edbInfo.Source
-		edbCode := edbInfo.EdbCode
-
-		if source == utils.DATA_SOURCE_CALCULATE {
-			startDate = edbInfo.StartDate
-			sTime, err := time.Parse(utils.FormatDate, edbInfo.EndDate)
-			if err != nil {
-				return err
-			}
-			startDate = sTime.Format(utils.FormatDate)
-
-			var edbInfoIdBytes []string
-			calculateMap, err := data_manage.GetEdbInfoCalculateDetail(edbInfoId, edbInfo.Source)
-			if err != nil {
-				errmsg = "GetEdbInfoCalculateDetail Err:" + err.Error()
-				return err
-			}
-			var formulaStr string
-			edbInfoList := make([]*data_manage.EdbInfo, 0)
-
-			for _, v := range calculateMap {
-				formulaStr += v.FromTag + ","
-				edbInfoIdBytes = append(edbInfoIdBytes, v.FromTag)
-				edbInfo, _ := data_manage.GetEdbInfoById(v.FromEdbInfoId)
-				edbInfoList = append(edbInfoList, edbInfo)
-			}
-			err = data_manage.RefreshAllCalculate(edbInfoList, int(edbInfoId), source, edbInfo.EdbCode, edbInfo.CalculateFormula, startDate, endDate, edbInfoIdBytes)
-			if err != nil {
-				errmsg = "RefreshCalculate Err:" + err.Error()
-				return err
-			}
-		} else if source == utils.DATA_SOURCE_CALCULATE_LJZZY { //刷新累计值转月值
-			calculateLjzzy, err := data_manage.GetEdbInfoCalculateLjzzyDetail(edbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoCalculateLjzzyDetail Err:" + err.Error()
-				return err
-			}
-			fromEdbInfo, err := data_manage.GetEdbInfoById(calculateLjzzy.FromEdbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoById Err:" + err.Error()
-				return err
-			}
-			startDate = edbInfo.StartDate
-			endDate = time.Now().Format(utils.FormatDate)
-			err = data_manage.RefreshAllCalculateLjzzy(edbInfoId, source, fromEdbInfo, calculateLjzzy.EdbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshAllCalculateLjzzy Err:" + err.Error()
-				return err
-			}
-		} else if source == utils.DATA_SOURCE_CALCULATE_TBZ { //刷新同比值
-			calculateTbz, err := data_manage.GetEdbInfoCalculateTbzDetail(edbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoCalculateTbzDetail Err:" + err.Error()
-				return err
-			}
-			fromEdbInfo, err := data_manage.GetEdbInfoById(calculateTbz.FromEdbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoById Err:" + err.Error()
-				return err
-			}
-			startDate = edbInfo.StartDate
-			endDate = time.Now().Format(utils.FormatDate)
-			err = data_manage.RefreshAllCalculateTbz(edbInfoId, source, fromEdbInfo, calculateTbz.EdbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshAllCalculateTbz Err:" + err.Error()
-				return err
-			}
-		} else if source == utils.DATA_SOURCE_CALCULATE_TCZ { //同差值
-			calculateTcz, err := data_manage.GetEdbInfoCalculateTczDetail(edbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoCalculateTczDetail Err:" + err.Error()
-				return err
-			}
-			fromEdbInfo, err := data_manage.GetEdbInfoById(calculateTcz.FromEdbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoById Err:" + err.Error()
-				return err
-			}
-			startDate = edbInfo.StartDate
-			endDate = time.Now().Format(utils.FormatDate)
-			err = data_manage.RefreshAllCalculateTcz(edbInfoId, source, fromEdbInfo, calculateTcz.EdbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshCalculateTcz Err:" + err.Error()
-				return err
-			}
-		} else if source == utils.DATA_SOURCE_CALCULATE_NSZYDPJJS { //N数值移动平均计算
-			calculateNszydpjjs, err := data_manage.GetEdbInfoCalculateNszydpjjsDetail(edbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoCalculateNszydpjjsDetail Err:" + err.Error()
-				return err
-			}
-			fromEdbInfo, err := data_manage.GetEdbInfoById(calculateNszydpjjs.FromEdbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoById Err:" + err.Error()
-				return err
-			}
-			formulaInt, _ := strconv.Atoi(edbInfo.CalculateFormula)
-			startDate = edbInfo.StartDate
-			err = data_manage.RefreshAllCalculateNszydpjjs(edbInfoId, edbInfo.Source, formulaInt, fromEdbInfo, calculateNszydpjjs.EdbCode, startDate)
-			if err != nil {
-				errmsg = "RefreshCalculateNszydpjjs Err:" + err.Error()
-				return err
-			}
-		} else if source == utils.DATA_SOURCE_CALCULATE_HBZ { //刷新环比值
-			calculateTbz, err := data_manage.GetEdbInfoCalculateHbzDetail(edbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoCalculateHbzDetail Err:" + err.Error()
-				return err
-			}
-			fromEdbInfo, err := data_manage.GetEdbInfoById(calculateTbz.FromEdbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoById Err:" + err.Error()
-				return err
-			}
-			startDate = edbInfo.StartDate
-			endDate = time.Now().Format(utils.FormatDate)
-			formulaInt, _ := strconv.Atoi(edbInfo.CalculateFormula)
-			err = data_manage.RefreshAllCalculateHbz(edbInfoId, source, fromEdbInfo, calculateTbz.EdbCode, startDate, endDate, formulaInt)
-			if err != nil {
-				errmsg = "RefreshAllCalculateHbz Err:" + err.Error()
-				return err
-			}
-		} else if source == utils.DATA_SOURCE_CALCULATE_HCZ { //刷新环差值
-			calculateTbz, err := data_manage.GetEdbInfoCalculateHczDetail(edbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoCalculateHczDetail Err:" + err.Error()
-				return err
-			}
-			fromEdbInfo, err := data_manage.GetEdbInfoById(calculateTbz.FromEdbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoById Err:" + err.Error()
-				return err
-			}
-			startDate = edbInfo.StartDate
-			endDate = time.Now().Format(utils.FormatDate)
-			formulaInt, _ := strconv.Atoi(edbInfo.CalculateFormula)
-			err = data_manage.RefreshAllCalculateHcz(edbInfoId, source, fromEdbInfo, calculateTbz.EdbCode, startDate, endDate, formulaInt)
-			if err != nil {
-				errmsg = "RefreshAllCalculateHcz Err:" + err.Error()
-				return err
-			}
-		} else if source == utils.DATA_SOURCE_CALCULATE_BP { //刷新变频
-			calculateTbz, err := data_manage.GetEdbInfoCalculateBpDetail(edbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoCalculateTbzDetail Err:" + err.Error()
-				return err
-			}
-			fromEdbInfo, err := data_manage.GetEdbInfoById(calculateTbz.FromEdbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoById Err:" + err.Error()
-				return err
-			}
-			startDate = edbInfo.StartDate
-			endDate = time.Now().Format(utils.FormatDate)
-			err = data_manage.RefreshAllCalculateBp(edbInfoId, source, fromEdbInfo, calculateTbz.EdbCode, startDate, endDate)
-			if err != nil {
-				errmsg = "RefreshAllCalculateBp Err:" + err.Error()
-				return err
-			}
-		} else if source == utils.DATA_SOURCE_CALCULATE_TIME_SHIFT {
-			calculate, err := data_manage.GetEdbInfoCalculateMappingDetail(edbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoCalculateTbzDetail Err:" + err.Error()
-				return err
-			}
-			fromEdbInfo, err := data_manage.GetEdbInfoById(calculate.FromEdbInfoId)
-			if err != nil {
-				errmsg = "GetEdbInfoById Err:" + err.Error()
-				return err
-			}
-			startDate = edbInfo.StartDate
-			endDate = time.Now().Format(utils.FormatDate)
-			formulaInt, _ := strconv.Atoi(calculate.CalculateFormula)
-			err = data_manage.RefreshAllCalculateTimeShift(edbInfoId, source, formulaInt, calculate.MoveType, fromEdbInfo, calculate.EdbCode, startDate, endDate, calculate.MoveFrequency)
-			if err != nil {
-				errmsg = "RefreshAllCalculateTimeShift Err:" + err.Error()
-			}
-		} else if source == utils.DATA_SOURCE_CALCULATE_ZJPJ { //刷新直接拼接
-			err = data_manage.RefreshAllCalculateZjpj(edbInfo)
-			if err != nil {
-				errmsg = "RefreshAllCalculateZjpj Err:" + err.Error()
-				return err
-			}
-		} else if source == utils.DATA_SOURCE_CALCULATE_LJZTBPJ { //刷新累计值同比拼接
-			err = data_manage.RefreshAllCalculateLjztbpj(edbInfo)
-			if err != nil {
-				errmsg = "RefreshAllCalculateLjztbpj Err:" + err.Error()
-				return err
-			}
-		}
-
-		maxAndMinItem, err := data_manage.GetEdbInfoMaxAndMinInfo(source, edbCode)
-		if err != nil {
-			return err
-		}
-
-		if maxAndMinItem != nil {
-			err = data_manage.ModifyEdbInfoMaxAndMinInfo(edbInfoId, maxAndMinItem)
-			if err != nil {
-				return err
-			}
-		}
-		fmt.Println("end calculateArr:", v, time.Now())
-	}
-	return err
-}
-
-// AddEdbInfo 新增手工指标数据
-func AddEdbInfo(secName, unit, frequency, noticeTime, mobile string, classifyId, userId int) (err error) {
-	tradeCode, err := models.GetMaxTradeCode()
-	if err != nil {
-		return
-	}
-
-	if tradeCode == "" {
-		err = errors.New("最大编码为空")
-		return
-	}
-	maxTradeCode, err := utils.GetMaxTradeCode(tradeCode)
-	if err != nil {
-		err = errors.New("获取编码信息失败,Err:" + err.Error())
-		return
-	}
-	if maxTradeCode == "" {
-		err = errors.New("编码为空,请联系技术")
-		return
-	}
-	//判断指标名称是否为空
-	if secName == "" {
-		err = errors.New("指标名称不能为空")
-		return
-	}
-	item, err := models.GetEdbinfoBySecName(secName)
-	if err != nil && err.Error() != utils.ErrNoRow() {
-		err = errors.New("获取信息失败,Err:" + err.Error())
-		return
-	}
-	if item != nil {
-		err = errors.New("指标名称已存在")
-		return
-	}
-	err = models.AddEdbinfo(maxTradeCode, secName, unit, "手动", frequency, noticeTime, classifyId, userId)
-	if err != nil {
-		err = errors.New("新增失败,Err:" + err.Error())
-		return
-	}
-	err = models.AddEdbinfoUser(maxTradeCode, mobile)
-	return
-}
-
-//全部刷新指标
-//func EdbInfoRefreshAllFromBase(edbInfoId int) (err error) {
-//	var errmsg string
-//	defer func() {
-//		if err != nil {
-//			fmt.Println("EdbInfoRefreshAllFromBase Err:" + err.Error() + ";errmsg:" + errmsg)
-//			go utils.SendEmail(utils.APPNAME+"【"+utils.RunMode+"】"+"失败提醒", "EdbInfoRefreshFromBase:"+errmsg, utils.EmailSendToUsers)
-//		}
-//	}()
-//
-//	calculateList, err := data_manage.GetEdbInfoAllCalculate(edbInfoId)
-//	if err != nil && err.Error() != utils.ErrNoRow() {
-//		return errors.New("GetEdbInfoAllCalculate Err:" + err.Error())
-//	}
-//	baseEdbInfoArr := make([]*data_manage.EdbInfo, 0)
-//	calculateInfoArr := make([]*data_manage.EdbInfo, 0)
-//	baseEdbInfo, err := data_manage.GetEdbInfoById(edbInfoId)
-//	if err != nil {
-//		return errors.New("GetEdbInfoAllCalGetEdbInfoByIdr:" + err.Error())
-//	}
-//	baseEdbInfoArr = append(baseEdbInfoArr, baseEdbInfo)
-//
-//	for _, v := range calculateList {
-//		getBaseEdbInfoArr, getCalculateInfoArr, err := data_manage.GetRefreshEdbInfoFromBase(v.EdbInfoId, v.Source)
-//		if err != nil {
-//			fmt.Println("GetRefreshEdbInfoFromBase err:" + err.Error())
-//			errmsg = "获取需要刷新的指标失败:Err:" + err.Error()
-//			return err
-//		}
-//		baseEdbInfoArr = append(baseEdbInfoArr, getBaseEdbInfoArr...)
-//		calculateInfoArr = append(calculateInfoArr, getCalculateInfoArr...)
-//		calculateInfoArr = append(calculateInfoArr, v)
-//	}
-//	//取重
-//	newBaseEdbInfoArr := make([]*data_manage.EdbInfo, 0)
-//	baseMap := make(map[int]int)
-//	for _, v := range baseEdbInfoArr {
-//		if _, ok := baseMap[v.EdbInfoId]; !ok {
-//			newBaseEdbInfoArr = append(newBaseEdbInfoArr, v)
-//		}
-//		baseMap[v.EdbInfoId] = v.EdbInfoId
-//	}
-//
-//	var calculateArr []int
-//	newCalculateMap := make(map[int]*data_manage.EdbInfo)
-//	for _, v := range calculateInfoArr {
-//		if _, ok := newCalculateMap[v.EdbInfoId]; !ok {
-//			calculateArr = append(calculateArr, v.EdbInfoId)
-//		}
-//		newCalculateMap[v.EdbInfoId] = v
-//	}
-//	sort.Ints(calculateArr)
-//	var startDate string
-//	for _, bv := range newBaseEdbInfoArr {
-//		source := bv.Source
-//		edbInfoId := bv.EdbInfoId
-//		edbCode := bv.EdbCode
-//
-//		sTime, err := time.Parse(utils.FormatDate, bv.StartDate)
-//		if err != nil {
-//			return err
-//		}
-//		startDate = sTime.Format(utils.FormatDate)
-//
-//		if source == utils.DATA_SOURCE_THS {
-//			endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
-//			err = data_manage.RefreshAllEdbDataByThs(edbInfoId, source, edbCode, startDate, endDate)
-//			if err != nil {
-//				errmsg = "RefreshAllEdbDataByThs Err:" + err.Error()
-//			}
-//		} else if source == utils.DATA_SOURCE_WIND {
-//			endDate := time.Now().Format(utils.FormatDate)
-//			err = data_manage.RefreshAllEdbDataByWind(edbInfoId, source, edbCode, startDate, endDate)
-//			if err != nil {
-//				errmsg = "RefreshAllEdbDataByWind Err:" + err.Error()
-//			}
-//		} else if source == utils.DATA_SOURCE_PB {
-//			startDate := sTime.Format(utils.FormatDateUnSpace)
-//			endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDateUnSpace)
-//			err = data_manage.RefreshAllEdbDataByPb(edbInfoId, source, edbCode, startDate, endDate)
-//			if err != nil {
-//				errmsg = "RefreshAllEdbDataByPb Err:" + err.Error()
-//			}
-//		} else if source == utils.DATA_SOURCE_MANUAL {
-//			endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
-//			err = data_manage.RefreshAllEdbDataByManual(edbInfoId, source, edbCode, startDate, endDate)
-//			if err != nil {
-//				errmsg = "RefreshAllEdbDataByManual Err:" + err.Error()
-//			}
-//		} else if source == utils.DATA_SOURCE_LZ {
-//			endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
-//			err = data_manage.RefreshAllEdbDataByLz(edbInfoId, source, edbCode, startDate, endDate)
-//			if err != nil {
-//				errmsg = "RefreshAllEdbDataByLz Err:" + err.Error()
-//			}
-//		} else if source == utils.DATA_SOURCE_YS {
-//			endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
-//			err = data_manage.RefreshAllEdbDataByYs(edbInfoId, source, edbCode, startDate, endDate)
-//			if err != nil {
-//				errmsg = "RefreshAllEdbDataByYs Err:" + err.Error()
-//			}
-//		} else if source == utils.DATA_SOURCE_GL {
-//			endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
-//			err = data_manage.RefreshAllEdbDataByGl(edbInfoId, source, edbCode, startDate, endDate)
-//			if err != nil {
-//				errmsg = "RefreshAllEdbDataByGl Err:" + err.Error()
-//			}
-//		} else if source == utils.DATA_SOURCE_ZZ {
-//			endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
-//			err = data_manage.RefreshAllEdbDataByZz(edbInfoId, source, edbCode, startDate, endDate)
-//			if err != nil {
-//				errmsg = "RefreshAllEdbDataByZz Err:" + err.Error()
-//			}
-//		} else if source == utils.DATA_SOURCE_DL {
-//			endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
-//			err = data_manage.RefreshAllEdbDataByDl(edbInfoId, source, edbCode, startDate, endDate)
-//			if err != nil {
-//				errmsg = "RefreshAllEdbDataByDl Err:" + err.Error()
-//			}
-//		} else if source == utils.DATA_SOURCE_SH {
-//			endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
-//			err = data_manage.RefreshAllEdbDataBySh(edbInfoId, source, edbCode, startDate, endDate)
-//			if err != nil {
-//				errmsg = "RefreshAllEdbDataBySh Err:" + err.Error()
-//			}
-//		} else if source == utils.DATA_SOURCE_CFFEX {
-//			endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
-//			err = data_manage.RefreshAllEdbDataByCffex(edbInfoId, source, edbCode, startDate, endDate)
-//			if err != nil {
-//				errmsg = "RefreshAllEdbDataByCffex Err:" + err.Error()
-//			}
-//		} else if source == utils.DATA_SOURCE_SHFE {
-//			endDate := time.Now().AddDate(utils.DATA_END_DATE_LIMIT, 0, 0).Format(utils.FormatDate)
-//			err = data_manage.RefreshAllEdbDataByShfe(edbInfoId, source, edbCode, startDate, endDate)
-//			if err != nil {
-//				errmsg = "RefreshAllEdbDataByShfe Err:" + err.Error()
-//			}
-//		}
-//
-//		maxAndMinItem, err := data_manage.GetEdbInfoMaxAndMinInfo(source, edbCode)
-//		if err != nil {
-//			return err
-//		}
-//		if maxAndMinItem != nil {
-//			err = data_manage.ModifyEdbInfoMaxAndMinInfo(edbInfoId, maxAndMinItem)
-//			if err != nil {
-//				return err
-//			}
-//		}
-//		fmt.Println("end newBaseEdbInfoArr:", bv, time.Now())
-//	}
-//
-//	endDate := "" //计算指标不限制日期
-//	//刷新相关计算指标
-//	for _, v := range calculateArr {
-//		edbInfo := newCalculateMap[v]
-//		if edbInfo == nil {
-//			return err
-//		}
-//		edbInfoId := edbInfo.EdbInfoId
-//		source := edbInfo.Source
-//		edbCode := edbInfo.EdbCode
-//
-//		if source == utils.DATA_SOURCE_CALCULATE {
-//			startDate = edbInfo.StartDate
-//			sTime, err := time.Parse(utils.FormatDate, edbInfo.EndDate)
-//			if err != nil {
-//				return err
-//			}
-//			startDate = sTime.Format(utils.FormatDate)
-//
-//			var edbInfoIdBytes []string
-//			calculateMap, err := data_manage.GetEdbInfoCalculateDetail(edbInfoId, edbInfo.Source)
-//			if err != nil {
-//				errmsg = "GetEdbInfoCalculateDetail Err:" + err.Error()
-//				return err
-//			}
-//			var formulaStr string
-//			edbInfoList := make([]*data_manage.EdbInfo, 0)
-//
-//			for _, v := range calculateMap {
-//				formulaStr += v.FromTag + ","
-//				edbInfoIdBytes = append(edbInfoIdBytes, v.FromTag)
-//				edbInfo, _ := data_manage.GetEdbInfoById(v.FromEdbInfoId)
-//				edbInfoList = append(edbInfoList, edbInfo)
-//			}
-//			err = data_manage.RefreshAllCalculate(edbInfoList, int(edbInfoId), source, edbInfo.EdbCode, edbInfo.CalculateFormula, startDate, endDate, edbInfoIdBytes)
-//			if err != nil {
-//				errmsg = "RefreshCalculate Err:" + err.Error()
-//				return err
-//			}
-//		} else if source == utils.DATA_SOURCE_CALCULATE_LJZZY { //刷新累计值转月值
-//			calculateLjzzy, err := data_manage.GetEdbInfoCalculateLjzzyDetail(edbInfoId)
-//			if err != nil {
-//				errmsg = "GetEdbInfoCalculateLjzzyDetail Err:" + err.Error()
-//				return err
-//			}
-//			fromEdbInfo, err := data_manage.GetEdbInfoById(calculateLjzzy.FromEdbInfoId)
-//			if err != nil {
-//				errmsg = "GetEdbInfoById Err:" + err.Error()
-//				return err
-//			}
-//			startDate = edbInfo.StartDate
-//			endDate = time.Now().Format(utils.FormatDate)
-//			err = data_manage.RefreshAllCalculateLjzzy(edbInfoId, source, fromEdbInfo, calculateLjzzy.EdbCode, startDate, endDate)
-//			if err != nil {
-//				errmsg = "RefreshAllCalculateLjzzy Err:" + err.Error()
-//				return err
-//			}
-//		} else if source == utils.DATA_SOURCE_CALCULATE_TBZ { //刷新同比值
-//			calculateTbz, err := data_manage.GetEdbInfoCalculateTbzDetail(edbInfoId)
-//			if err != nil {
-//				errmsg = "GetEdbInfoCalculateTbzDetail Err:" + err.Error()
-//				return err
-//			}
-//			fromEdbInfo, err := data_manage.GetEdbInfoById(calculateTbz.FromEdbInfoId)
-//			if err != nil {
-//				errmsg = "GetEdbInfoById Err:" + err.Error()
-//				return err
-//			}
-//			startDate = edbInfo.StartDate
-//			endDate = time.Now().Format(utils.FormatDate)
-//			err = data_manage.RefreshAllCalculateTbz(edbInfoId, source, fromEdbInfo, calculateTbz.EdbCode, startDate, endDate)
-//			if err != nil {
-//				errmsg = "RefreshAllCalculateTbz Err:" + err.Error()
-//				return err
-//			}
-//		} else if source == utils.DATA_SOURCE_CALCULATE_TCZ { //同差值
-//			calculateTcz, err := data_manage.GetEdbInfoCalculateTczDetail(edbInfoId)
-//			if err != nil {
-//				errmsg = "GetEdbInfoCalculateTczDetail Err:" + err.Error()
-//				return err
-//			}
-//			fromEdbInfo, err := data_manage.GetEdbInfoById(calculateTcz.FromEdbInfoId)
-//			if err != nil {
-//				errmsg = "GetEdbInfoById Err:" + err.Error()
-//				return err
-//			}
-//			startDate = edbInfo.StartDate
-//			endDate = time.Now().Format(utils.FormatDate)
-//			err = data_manage.RefreshAllCalculateTcz(edbInfoId, source, fromEdbInfo, calculateTcz.EdbCode, startDate, endDate)
-//			if err != nil {
-//				errmsg = "RefreshCalculateTcz Err:" + err.Error()
-//				return err
-//			}
-//		} else if source == utils.DATA_SOURCE_CALCULATE_NSZYDPJJS { //N数值移动平均计算
-//			calculateNszydpjjs, err := data_manage.GetEdbInfoCalculateNszydpjjsDetail(edbInfoId)
-//			if err != nil {
-//				errmsg = "GetEdbInfoCalculateNszydpjjsDetail Err:" + err.Error()
-//				return err
-//			}
-//			fromEdbInfo, err := data_manage.GetEdbInfoById(calculateNszydpjjs.FromEdbInfoId)
-//			if err != nil {
-//				errmsg = "GetEdbInfoById Err:" + err.Error()
-//				return err
-//			}
-//			formulaInt, _ := strconv.Atoi(edbInfo.CalculateFormula)
-//			startDate = edbInfo.StartDate
-//			err = data_manage.RefreshAllCalculateNszydpjjs(edbInfoId, edbInfo.Source, formulaInt, fromEdbInfo, calculateNszydpjjs.EdbCode, startDate)
-//			if err != nil {
-//				errmsg = "RefreshCalculateNszydpjjs Err:" + err.Error()
-//				return err
-//			}
-//		} else if source == utils.DATA_SOURCE_CALCULATE_HBZ { //刷新环比值
-//			calculateTbz, err := data_manage.GetEdbInfoCalculateHbzDetail(edbInfoId)
-//			if err != nil {
-//				errmsg = "GetEdbInfoCalculateHbzDetail Err:" + err.Error()
-//				return err
-//			}
-//			fromEdbInfo, err := data_manage.GetEdbInfoById(calculateTbz.FromEdbInfoId)
-//			if err != nil {
-//				errmsg = "GetEdbInfoById Err:" + err.Error()
-//				return err
-//			}
-//			startDate = edbInfo.StartDate
-//			endDate = time.Now().Format(utils.FormatDate)
-//			formulaInt, _ := strconv.Atoi(edbInfo.CalculateFormula)
-//			err = data_manage.RefreshAllCalculateHbz(edbInfoId, source, fromEdbInfo, calculateTbz.EdbCode, startDate, endDate, formulaInt)
-//			if err != nil {
-//				errmsg = "RefreshAllCalculateHbz Err:" + err.Error()
-//				return err
-//			}
-//		} else if source == utils.DATA_SOURCE_CALCULATE_HCZ { //刷新环差值
-//			calculateTbz, err := data_manage.GetEdbInfoCalculateHczDetail(edbInfoId)
-//			if err != nil {
-//				errmsg = "GetEdbInfoCalculateHczDetail Err:" + err.Error()
-//				return err
-//			}
-//			fromEdbInfo, err := data_manage.GetEdbInfoById(calculateTbz.FromEdbInfoId)
-//			if err != nil {
-//				errmsg = "GetEdbInfoById Err:" + err.Error()
-//				return err
-//			}
-//			startDate = edbInfo.StartDate
-//			endDate = time.Now().Format(utils.FormatDate)
-//			formulaInt, _ := strconv.Atoi(edbInfo.CalculateFormula)
-//			err = data_manage.RefreshAllCalculateHcz(edbInfoId, source, fromEdbInfo, calculateTbz.EdbCode, startDate, endDate, formulaInt)
-//			if err != nil {
-//				errmsg = "RefreshAllCalculateHcz Err:" + err.Error()
-//				return err
-//			}
-//		} else if source == utils.DATA_SOURCE_CALCULATE_BP { //刷新变频
-//			calculateTbz, err := data_manage.GetEdbInfoCalculateBpDetail(edbInfoId)
-//			if err != nil {
-//				errmsg = "GetEdbInfoCalculateTbzDetail Err:" + err.Error()
-//				return err
-//			}
-//			fromEdbInfo, err := data_manage.GetEdbInfoById(calculateTbz.FromEdbInfoId)
-//			if err != nil {
-//				errmsg = "GetEdbInfoById Err:" + err.Error()
-//				return err
-//			}
-//			startDate = edbInfo.StartDate
-//			endDate = time.Now().Format(utils.FormatDate)
-//			err = data_manage.RefreshAllCalculateBp(edbInfoId, source, fromEdbInfo, calculateTbz.EdbCode, startDate, endDate)
-//			if err != nil {
-//				errmsg = "RefreshAllCalculateBp Err:" + err.Error()
-//				return err
-//			}
-//<<<<<<< HEAD
-//		} else if source == utils.DATA_SOURCE_CALCULATE_TIME_SHIFT {
-//			calculate, err := data_manage.GetEdbInfoCalculateMappingDetail(edbInfoId)
-//			if err != nil {
-//				errmsg = "GetEdbInfoCalculateTbzDetail Err:" + err.Error()
-//				return err
-//			}
-//			fromEdbInfo, err := data_manage.GetEdbInfoById(calculate.FromEdbInfoId)
-//			if err != nil {
-//				errmsg = "GetEdbInfoById Err:" + err.Error()
-//				return err
-//			}
-//			startDate = edbInfo.StartDate
-//			endDate = time.Now().Format(utils.FormatDate)
-//			formulaInt, _ := strconv.Atoi(calculate.CalculateFormula)
-//			err = data_manage.RefreshAllCalculateTimeShift(edbInfoId, source, formulaInt, calculate.MoveType, fromEdbInfo, calculate.EdbCode, startDate, endDate, calculate.MoveFrequency)
-//			if err != nil {
-//				errmsg = "RefreshAllCalculateTimeShift Err:" + err.Error()
-//=======
-//		} else if source == utils.DATA_SOURCE_CALCULATE_ZJPJ { //刷新直接拼接
-//			err = data_manage.RefreshAllCalculateZjpj(edbInfo)
-//			if err != nil {
-//				errmsg = "RefreshAllCalculateBp Err:" + err.Error()
-//>>>>>>> 884fd669cc9e91923781680e1890a519c012d38e
-//				return err
-//			}
-//		}
-//
-//		maxAndMinItem, err := data_manage.GetEdbInfoMaxAndMinInfo(source, edbCode)
-//		if err != nil {
-//			return err
-//		}
-//
-//		if maxAndMinItem != nil {
-//			err = data_manage.ModifyEdbInfoMaxAndMinInfo(edbInfoId, maxAndMinItem)
-//			if err != nil {
-//				return err
-//			}
-//		}
-//		fmt.Println("end calculateArr:", v, time.Now())
-//	}
-//	return err
-//}
-//
-//// AddEdbInfo 新增手工指标数据
-//func AddEdbInfo(secName, unit, frequency, noticeTime, mobile string, classifyId, userId int) (err error) {
-//	tradeCode, err := models.GetMaxTradeCode()
-//	if err != nil {
-//		return
-//	}
-//
-//	if tradeCode == "" {
-//		err = errors.New("最大编码为空")
-//		return
-//	}
-//	maxTradeCode, err := utils.GetMaxTradeCode(tradeCode)
-//	if err != nil {
-//		err = errors.New("获取编码信息失败,Err:" + err.Error())
-//		return
-//	}
-//	if maxTradeCode == "" {
-//		err = errors.New("编码为空,请联系技术")
-//		return
-//	}
-//	//判断指标名称是否为空
-//	if secName == "" {
-//		err = errors.New("指标名称不能为空")
-//		return
-//	}
-//	item, err := models.GetEdbinfoBySecName(secName)
-//	if err != nil && err.Error() != utils.ErrNoRow() {
-//		err = errors.New("获取信息失败,Err:" + err.Error())
-//		return
-//	}
-//	if item != nil {
-//		err = errors.New("指标名称已存在")
-//		return
-//	}
-//	err = models.AddEdbinfo(maxTradeCode, secName, unit, "手动", frequency, noticeTime, classifyId, userId)
-//	if err != nil {
-//		err = errors.New("新增失败,Err:" + err.Error())
-//		return
-//	}
-//	err = models.AddEdbinfoUser(maxTradeCode, mobile)
-//	return
-//}
-//
-//
-//
-//

+ 0 - 355
services/data/edb_info_calculate.go

@@ -1,355 +0,0 @@
-package data
-
-import (
-	"errors"
-	"fmt"
-	"github.com/yidane/formula"
-	"hongze/hongze_chart_lib/models/data_manage"
-	"hongze/hongze_chart_lib/utils"
-	"strconv"
-	"strings"
-	"time"
-)
-
-func CheckFormula(formula string) map[string]string {
-	mathFormula := []string{"MAX", "MIN", "ABS", "ACOS", "ASIN", "CEIL", "MOD", "POW", "ROUND", "SIGN", "SIN", "TAN", "LOG10", "LOG2", "LOG"}
-
-	str := strings.ToUpper(formula)
-	for _, v := range mathFormula {
-		str = strings.Replace(str, v, "", -1)
-	}
-	str = strings.Replace(str, "(", "", -1)
-	str = strings.Replace(str, ")", "", -1)
-
-	byteMap := make(map[string]string)
-	for i := 0; i < len(str); i++ {
-		byteInt := str[i]
-		if byteInt >= 65 && byteInt <= 90 {
-			byteStr := string(byteInt)
-			if _, ok := byteMap[byteStr]; !ok {
-				byteMap[byteStr] = byteStr
-			}
-		}
-	}
-	return byteMap
-}
-
-type CalculateItems struct {
-	EdbInfoId int
-	DataMap   map[string]float64
-}
-
-func Calculate(edbInfoIdArr []*data_manage.EdbInfo, edbInfoId int, edbCode, formulaStr string, edbInfoIdBytes []string) (err error) {
-	defer func() {
-		if err != nil {
-			utils.FileLog.Info("Calculate Err:%s" + err.Error())
-		}
-	}()
-	saveDataMap := make(map[string]map[int]float64)
-	for _, v := range edbInfoIdArr {
-		var condition string
-		var pars []interface{}
-		condition += " AND edb_info_id=? "
-		pars = append(pars, v.EdbInfoId)
-		dataList, err := data_manage.GetEdbDataListAll(condition, pars, v.Source, 1)
-		if err != nil {
-			return err
-		}
-		dataMap := make(map[string]float64)
-		for _, dv := range dataList {
-			if val, ok := saveDataMap[dv.DataTime]; ok {
-				if _, ok := val[v.EdbInfoId]; !ok {
-					val[v.EdbInfoId] = dv.Value
-				}
-			} else {
-				temp := make(map[int]float64)
-				temp[v.EdbInfoId] = dv.Value
-				saveDataMap[dv.DataTime] = temp
-			}
-		}
-		item := new(CalculateItems)
-		item.EdbInfoId = v.EdbInfoId
-		item.DataMap = dataMap
-	}
-	formulaMap := CheckFormula(formulaStr)
-	addSql := ` INSERT INTO edb_data_calculate(edb_info_id,edb_code,data_time,value,create_time,modify_time,status,data_timestamp) values `
-	nowStr := time.Now().Format(utils.FormatDateTime)
-	var isAdd bool
-	for sk, sv := range saveDataMap {
-		formulaStr = strings.ToUpper(formulaStr)
-		formulaFormStr := ReplaceFormula(edbInfoIdArr, sv, formulaMap, formulaStr, edbInfoIdBytes)
-		if formulaStr == "" {
-			return
-		}
-		if formulaFormStr != "" {
-			expression := formula.NewExpression(formulaFormStr)
-			calResult, err := expression.Evaluate()
-			if err != nil {
-				err = errors.New("计算失败:Err:" + err.Error() + ";formulaStr:" + formulaFormStr)
-				fmt.Println(err)
-				return err
-			}
-			calVal, err := calResult.Float64()
-			if err != nil {
-				err = errors.New("计算失败:获取计算值失败 Err:" + err.Error() + ";formulaStr:" + formulaFormStr)
-				fmt.Println(err)
-				return err
-			}
-
-			//需要存入的数据
-			{
-				dataTime, _ := time.Parse(utils.FormatDate, sk)
-				timestamp := dataTime.UnixNano() / 1e6
-				timeStr := fmt.Sprintf("%d", timestamp)
-				addSql += "("
-				addSql += strconv.Itoa(edbInfoId) + "," + "'" + edbCode + "'" + "," + "'" + sk + "'" + "," + utils.SubFloatToString(calVal, 4) + "," + "'" + nowStr + "'" +
-					"," + "'" + nowStr + "'" + "," + "1"
-				addSql += "," + "'" + timeStr + "'"
-				addSql += "),"
-				isAdd = true
-			}
-		} else {
-			fmt.Println("formulaFormStr is empty")
-		}
-	}
-	if isAdd {
-		addSql = strings.TrimRight(addSql, ",")
-		data_manage.AddEdbDataCalculateBySql(addSql)
-		if err != nil {
-			fmt.Println("AddEdbDataCalculate Err:" + err.Error())
-			return err
-		}
-	}
-	return
-}
-
-func ReplaceFormula(edbInfoIdArr []*data_manage.EdbInfo, valArr map[int]float64, formulaMap map[string]string, formulaStr string, edbInfoIdBytes []string) string {
-	funMap := GetFormulaMap()
-	for k, v := range funMap {
-		formulaStr = strings.Replace(formulaStr, k, v, -1)
-	}
-	replaceCount := 0
-	for dk, dv := range edbInfoIdArr {
-		if dk == 0 {
-			dKey := edbInfoIdBytes[dk]
-			if _, ok := formulaMap[dKey]; ok { //公式中存在
-				if val, valOk := valArr[dv.EdbInfoId]; valOk { //值存在
-					dvStr := fmt.Sprintf("%v", val)
-					formulaStr = strings.Replace(formulaStr, dKey, dvStr, -1)
-					replaceCount++
-				} else {
-					fmt.Println("valArr not found:", valArr, valOk)
-				}
-			} else {
-				fmt.Println("formulaMap not found:", dKey, dk)
-			}
-		}
-		if dk == 1 {
-			dKey := edbInfoIdBytes[dk]
-			if _, ok := formulaMap[dKey]; ok { //公式中存在
-				if val, valOk := valArr[dv.EdbInfoId]; valOk { //值存在
-					dvStr := fmt.Sprintf("%v", val)
-					formulaStr = strings.Replace(formulaStr, dKey, dvStr, -1)
-					replaceCount++
-				} else {
-					fmt.Println("valArr not found:", valArr, valOk)
-				}
-			} else {
-				fmt.Println("formulaMap not found:", dKey, dk)
-			}
-		}
-		if dk == 2 {
-			dKey := edbInfoIdBytes[dk]
-			if _, ok := formulaMap[dKey]; ok { //公式中存在
-				if val, valOk := valArr[dv.EdbInfoId]; valOk { //值存在
-					dvStr := fmt.Sprintf("%v", val)
-					formulaStr = strings.Replace(formulaStr, dKey, dvStr, -1)
-					replaceCount++
-				}
-			}
-		}
-		if dk == 3 {
-			dKey := edbInfoIdBytes[dk]
-			if _, ok := formulaMap[dKey]; ok { //公式中存在
-				if val, valOk := valArr[dv.EdbInfoId]; valOk { //值存在
-					dvStr := fmt.Sprintf("%v", val)
-					formulaStr = strings.Replace(formulaStr, dKey, dvStr, -1)
-					replaceCount++
-				}
-			}
-		}
-		if dk == 4 {
-			dKey := edbInfoIdBytes[dk]
-			if _, ok := formulaMap[dKey]; ok { //公式中存在
-				if val, valOk := valArr[dv.EdbInfoId]; valOk { //值存在
-					dvStr := fmt.Sprintf("%v", val)
-					formulaStr = strings.Replace(formulaStr, dKey, dvStr, -1)
-					replaceCount++
-				}
-			}
-		}
-		if dk == 5 {
-			dKey := edbInfoIdBytes[dk]
-			if _, ok := formulaMap[dKey]; ok { //公式中存在
-				if val, valOk := valArr[dv.EdbInfoId]; valOk { //值存在
-					dvStr := fmt.Sprintf("%v", val)
-					formulaStr = strings.Replace(formulaStr, dKey, dvStr, -1)
-					replaceCount++
-				}
-			}
-		}
-		if dk == 6 {
-			dKey := edbInfoIdBytes[dk]
-			if _, ok := formulaMap[dKey]; ok { //公式中存在
-				if val, valOk := valArr[dv.EdbInfoId]; valOk { //值存在
-					dvStr := fmt.Sprintf("%v", val)
-					formulaStr = strings.Replace(formulaStr, dKey, dvStr, -1)
-					replaceCount++
-				}
-			}
-		}
-		if dk == 7 {
-			dKey := edbInfoIdBytes[dk]
-			if _, ok := formulaMap[dKey]; ok { //公式中存在
-				if val, valOk := valArr[dv.EdbInfoId]; valOk { //值存在
-					dvStr := fmt.Sprintf("%v", val)
-					formulaStr = strings.Replace(formulaStr, dKey, dvStr, -1)
-					replaceCount++
-				}
-			}
-		}
-		if dk == 8 {
-			dKey := edbInfoIdBytes[dk]
-			if _, ok := formulaMap[dKey]; ok { //公式中存在
-				if val, valOk := valArr[dv.EdbInfoId]; valOk { //值存在
-					dvStr := fmt.Sprintf("%v", val)
-					formulaStr = strings.Replace(formulaStr, dKey, dvStr, -1)
-					replaceCount++
-				}
-			}
-		}
-	}
-	for k, v := range funMap {
-		formulaStr = strings.Replace(formulaStr, v, k, -1)
-	}
-	if replaceCount == len(formulaMap) {
-		return formulaStr
-	} else {
-		return ""
-	}
-}
-
-func GetFormulaMap() map[string]string {
-	funMap := make(map[string]string)
-	funMap["MAX"] = "[@@]"
-	funMap["MIN"] = "[@!]"
-	funMap["ABS"] = "[@#]"
-	funMap["CEIL"] = "[@$]"
-	funMap["COS"] = "[@%]"
-	funMap["FLOOR"] = "[@^]"
-	funMap["MOD"] = "[@&]"
-	funMap["POW"] = "[@*]"
-	funMap["ROUND"] = "[@(]"
-	return funMap
-}
-
-//刷新数据
-func RefreshCalculate(edbInfoIdArr []*data_manage.EdbInfo, edbInfoId int, edbCode, formulaStr, startDate, endDate string, edbInfoIdBytes []string) (err error) {
-	defer func() {
-		if err != nil {
-			fmt.Println("RefreshCalculate:Err " + err.Error())
-			utils.FileLog.Info("Calculate Err:%s" + err.Error())
-		}
-	}()
-	saveDataMap := make(map[string]map[int]float64)
-	for _, v := range edbInfoIdArr {
-		var condition string
-		var pars []interface{}
-		condition += " AND edb_info_id=? "
-		pars = append(pars, v.EdbInfoId)
-		if startDate != "" {
-			condition += " AND data_time>=? "
-			pars = append(pars, startDate)
-		}
-		if endDate != "" {
-			condition += " AND data_time<=? "
-			pars = append(pars, endDate)
-		}
-		dataList, err := data_manage.GetEdbDataListAll(condition, pars, v.Source, 1)
-		if err != nil {
-			return err
-		}
-		dataMap := make(map[string]float64)
-		for _, dv := range dataList {
-			if val, ok := saveDataMap[dv.DataTime]; ok {
-				if _, ok := val[v.EdbInfoId]; !ok {
-					val[v.EdbInfoId] = dv.Value
-				}
-			} else {
-				temp := make(map[int]float64)
-				temp[v.EdbInfoId] = dv.Value
-				saveDataMap[dv.DataTime] = temp
-			}
-		}
-		item := new(CalculateItems)
-		item.EdbInfoId = v.EdbInfoId
-		item.DataMap = dataMap
-	}
-
-	formulaMap := CheckFormula(formulaStr)
-	addSql := ` INSERT INTO edb_data_calculate(edb_info_id,edb_code,data_time,value,create_time,modify_time,status,data_timestamp) values `
-	nowStr := time.Now().Format(utils.FormatDateTime)
-	var isAdd bool
-
-	for sk, sv := range saveDataMap {
-		formulaStr = strings.ToUpper(formulaStr)
-		formulaFormStr := ReplaceFormula(edbInfoIdArr, sv, formulaMap, formulaStr, edbInfoIdBytes)
-		if formulaFormStr != "" {
-			utils.FileLog.Info("formulaFormStr:%s", formulaFormStr)
-			expression := formula.NewExpression(formulaFormStr)
-			calResult, err := expression.Evaluate()
-			if err != nil {
-				err = errors.New("计算失败:Err:" + err.Error() + ";formulaStr:" + formulaFormStr)
-				fmt.Println(err)
-				return err
-			}
-			calVal, err := calResult.Float64()
-			if err != nil {
-				err = errors.New("计算失败:获取计算值失败 Err:" + err.Error() + ";formulaStr:" + formulaFormStr)
-				fmt.Println(err)
-				return err
-			}
-
-			count, err := data_manage.GetEdbDataCalculateByCodeAndDate(edbCode, sk)
-			if err != nil && err.Error() != utils.ErrNoRow() {
-				return err
-			}
-			if count <= 0 { //需要存入的数据
-				dataTime, _ := time.Parse(utils.FormatDate, sk)
-				timestamp := dataTime.UnixNano() / 1e6
-				timeStr := fmt.Sprintf("%d", timestamp)
-				addSql += "("
-				addSql += strconv.Itoa(edbInfoId) + "," + "'" + edbCode + "'" + "," + "'" + sk + "'" + "," + utils.SubFloatToString(calVal, 4) + "," + "'" + nowStr + "'" +
-					"," + "'" + nowStr + "'" + "," + "1"
-				addSql += "," + "'" + timeStr + "'"
-				addSql += "),"
-				isAdd = true
-			} else {
-				calVal = utils.FixFloat(calVal, 4)
-				err = data_manage.ModifyEdbDataCalculate(int64(edbInfoId), sk, calVal)
-				if err != nil {
-					return err
-				}
-			}
-		}
-	}
-	if isAdd {
-		addSql = strings.TrimRight(addSql, ",")
-		data_manage.AddEdbDataCalculateBySql(addSql)
-		if err != nil {
-			fmt.Println("AddEdbDataCalculate Err:" + err.Error())
-			return err
-		}
-	}
-	return
-}

+ 0 - 127
services/data/edb_info_elastic.go

@@ -1,127 +0,0 @@
-package data
-
-import (
-	"context"
-	"fmt"
-	"github.com/olivere/elastic/v7"
-	"hongze/hongze_chart_lib/models/data_manage"
-	"hongze/hongze_chart_lib/utils"
-	"log"
-	"os"
-	"strconv"
-	"strings"
-)
-
-const (
-	ES_URL      = "http://es-cn-nif227b580019rgw6.public.elasticsearch.aliyuncs.com:9200" //<1>
-	ES_USERNAME = "elastic"                                                               //<2>
-	ES_PASSWORD = "hongze@2021"                                                           //<3>
-)
-
-func NewClient() (client *elastic.Client, err error) {
-	errorlog := log.New(os.Stdout, "APP", log.LstdFlags)
-	file := ""
-	if utils.RunMode == "release" {
-		file = `./rdlucklog/eslog.log`
-	} else {
-		file = `./rdlucklog/eslog.log`
-	}
-	logFile, _ := os.OpenFile(file, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0766)
-	client, err = elastic.NewClient(
-		elastic.SetURL(ES_URL),
-		elastic.SetBasicAuth(ES_USERNAME, ES_PASSWORD),
-		elastic.SetTraceLog(log.New(logFile, "ES-TRACE: ", 0)),
-		elastic.SetSniff(false), elastic.SetErrorLog(errorlog))
-	return
-}
-
-
-//indexName:索引名称
-//mappingJson:表结构
-func EsCreateIndex(indexName, mappingJson string) (err error) {
-	client, err := NewClient()
-	if err != nil {
-		return
-	}
-	//定义表结构
-	exists, err := client.IndexExists(indexName).Do(context.Background()) //<5>
-	if err != nil {
-		return
-	}
-	if !exists {
-		resp, err := client.CreateIndex(indexName).BodyJson(mappingJson).Do(context.Background())
-		//BodyJson(bodyJson).Do(context.Background())
-		if err != nil {
-			fmt.Println("CreateIndex Err:" + err.Error())
-			return err
-		}
-		fmt.Println(resp.Index, resp.ShardsAcknowledged, resp.Acknowledged)
-	} else {
-		fmt.Println(indexName + " 已存在")
-	}
-	return
-}
-
-func AddAllEdbInfo() {
-	allList, err := data_manage.GetEdbInfoAllList()
-	if err != nil {
-		fmt.Println("GetArticleAll Err:", err.Error())
-		return
-	}
-	indexName := "hz_data_lib_v1"
-	for _, v := range allList {
-		EsAddOrEditEdbInfo(indexName, strconv.Itoa(v.EdbInfoId), v)
-		fmt.Println(v.EdbInfoId)
-	}
-}
-
-//新增和修改数据
-func EsAddOrEditEdbInfo(indexName, docId string, item *data_manage.EdbInfo) (err error) {
-	defer func() {
-		if err != nil {
-			fmt.Println("EsAddOrEditEdbInfo Err:", err.Error())
-		}
-	}()
-	client, err := NewClient()
-	if err != nil {
-		return
-	}
-	searchById, err := client.Get().Index(indexName).Id(docId).Do(context.Background())
-	if err != nil && !strings.Contains(err.Error(), "404") {
-		fmt.Println("Get Err" + err.Error())
-		return
-	}
-	if searchById != nil && searchById.Found {
-		resp, err := client.Update().Index(indexName).Id(docId).Doc(map[string]interface{}{
-			"EdbInfoId":  item.EdbInfoId,
-			"EdbCode":    item.EdbCode,
-			"EdbName":    item.EdbName,
-			"Frequency":  item.Frequency,
-			"SourceName": item.SourceName,
-			"UniqueCode": item.UniqueCode,
-			"Unit":       item.Unit,
-		}).Do(context.Background())
-		if err != nil {
-			return err
-		}
-		fmt.Println(resp.Status, resp.Result)
-		if resp.Status == 0 {
-			fmt.Println("修改成功")
-		} else {
-			fmt.Println("EditData", resp.Status, resp.Result)
-		}
-	} else {
-		resp, err := client.Index().Index(indexName).Id(docId).BodyJson(item).Do(context.Background())
-		if err != nil {
-			fmt.Println("新增失败:", err.Error())
-			return err
-		}
-		if resp.Status == 0 && resp.Result == "created" {
-			fmt.Println("新增成功")
-			err = nil
-		} else {
-			fmt.Println("AddData", resp.Status, resp.Result)
-		}
-	}
-	return
-}

Деякі файли не було показано, через те що забагато файлів було змінено