|
@@ -1,19 +1,15 @@
|
|
|
package index_data
|
|
|
|
|
|
import (
|
|
|
- "errors"
|
|
|
"eta/eta_bridge/global"
|
|
|
"eta/eta_bridge/models/jiayue"
|
|
|
"eta/eta_bridge/models/response"
|
|
|
"eta/eta_bridge/services/alarm_msg"
|
|
|
- "eta/eta_bridge/utils"
|
|
|
"fmt"
|
|
|
- "strconv"
|
|
|
"strings"
|
|
|
- "time"
|
|
|
)
|
|
|
|
|
|
-func GetIndexFromJiaYue(indexCode, source, startDate, endDate string) (data *response.IndexResp, err error, errMsg string) {
|
|
|
+func GetIndexFromJiaYue(indexCode, startDate, endDate string, sourceArr []string) (data *response.IndexResp, err error, errMsg string) {
|
|
|
defer func() {
|
|
|
if err != nil {
|
|
|
global.LOG.Info("GetIndexFromJiaYue Err: " + errMsg)
|
|
@@ -21,126 +17,68 @@ func GetIndexFromJiaYue(indexCode, source, startDate, endDate string) (data *res
|
|
|
return
|
|
|
}
|
|
|
}()
|
|
|
- var sourceArray []interface{}
|
|
|
- if source == "wind" {
|
|
|
- sourceArray = append(sourceArray, "wind", "wind_stop", "wind_p", "wind_tmp")
|
|
|
- } else if source == "manual" {
|
|
|
- sourceArray = append(sourceArray, "manual", "manul", "munal")
|
|
|
- } else {
|
|
|
- sourceArray = append(sourceArray, source)
|
|
|
- }
|
|
|
- var indexPars []interface{}
|
|
|
- indexCond := ` SOURCE_TYPE IN (` + utils.GetOracleInReplace(len(sourceArray)) + `)`
|
|
|
- indexPars = append(indexPars, sourceArray...)
|
|
|
|
|
|
- if source == "wind" {
|
|
|
- indexCond += " AND SOURCE_CODE = :1 "
|
|
|
- indexPars = append(indexPars, indexCode)
|
|
|
- } else {
|
|
|
- indexId, e := strconv.Atoi(indexCode)
|
|
|
- if e != nil {
|
|
|
- err = fmt.Errorf("类型错误,请输入正确的指标code")
|
|
|
- return
|
|
|
- }
|
|
|
- indexCond += " AND ID = :1 "
|
|
|
- indexPars = append(indexPars, indexId)
|
|
|
+ // 指标存在无编码情况, 用自增ID查
|
|
|
+ indexCond := ` (ID = :1 OR SOURCE_CODE = :1)`
|
|
|
+ indexPars := make([]interface{}, 0)
|
|
|
+ indexPars = append(indexPars, indexCode, indexCode)
|
|
|
+ if len(sourceArr) > 0 {
|
|
|
+ indexCond += ` AND SOURCE_TYPE IN (:1)`
|
|
|
+ indexPars = append(indexPars, sourceArr)
|
|
|
}
|
|
|
|
|
|
- indexList, err := jiayue.GetDictIndex(indexCond, indexPars)
|
|
|
- if err != nil {
|
|
|
- errMsg = fmt.Sprintf("嘉悦物产指标信息查询失败,Err: %s", err)
|
|
|
+ indexes, e := jiayue.GetDictIndex(indexCond, indexPars)
|
|
|
+ if e != nil {
|
|
|
+ err = fmt.Errorf("GetDictIndex err: %s", e.Error())
|
|
|
return
|
|
|
}
|
|
|
- if len(indexList) <= 0 {
|
|
|
+ if len(indexes) <= 0 {
|
|
|
global.LOG.Info(indexCode + "指标信息不存在")
|
|
|
return
|
|
|
}
|
|
|
- index := indexList[0]
|
|
|
- //获取指标数据
|
|
|
- if index.TableName == "" {
|
|
|
- errMsg = "指标信息不全,指标数据对应的表名为空"
|
|
|
- err = errors.New(errMsg)
|
|
|
+ index := indexes[0]
|
|
|
+
|
|
|
+ // 获取指标数据
|
|
|
+ if index.Id <= 0 {
|
|
|
+ err = fmt.Errorf("指标信息有误")
|
|
|
return
|
|
|
}
|
|
|
- if index.Id <= 0 {
|
|
|
- errMsg = "指标信息不全,指标对应的序号为空"
|
|
|
- err = errors.New(errMsg)
|
|
|
+ if index.TableName == "" {
|
|
|
+ err = fmt.Errorf("指标信息数据表名为空")
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- var pars []interface{}
|
|
|
- condition := " INDEX_ID = :1"
|
|
|
- pars = append(pars, index.Id)
|
|
|
-
|
|
|
+ dataCond := " INDEX_ID = :1"
|
|
|
+ dataPars := make([]interface{}, 0)
|
|
|
+ dataPars = append(dataPars, index.Id)
|
|
|
if startDate != "" {
|
|
|
- condition += " AND INDEX_DATE >= TO_DATE (:1, 'yyyy-mm-dd')"
|
|
|
- pars = append(pars, startDate)
|
|
|
+ dataCond += " AND INDEX_DATE >= TO_DATE (:1, 'yyyy-mm-dd')"
|
|
|
+ dataPars = append(dataPars, startDate)
|
|
|
}
|
|
|
if endDate != "" {
|
|
|
- condition += " AND INDEX_DATE <= TO_DATE (:1, 'yyyy-mm-dd')"
|
|
|
- pars = append(pars, endDate)
|
|
|
+ dataCond += " AND INDEX_DATE <= TO_DATE (:1, 'yyyy-mm-dd')"
|
|
|
+ dataPars = append(dataPars, endDate)
|
|
|
}
|
|
|
-
|
|
|
- indexData, err := jiayue.GetDictData(index.TableName, condition, pars)
|
|
|
- if err != nil {
|
|
|
- errMsg = fmt.Sprintf("嘉悦物产指标数据信息查询失败,Err: %s", err)
|
|
|
+ indexData, e := jiayue.GetDictData(index.TableName, dataCond, dataPars)
|
|
|
+ if e != nil {
|
|
|
+ err = fmt.Errorf("GetDictData err: %s", e.Error())
|
|
|
return
|
|
|
}
|
|
|
var list []response.IndexData
|
|
|
for _, v := range indexData {
|
|
|
- var dataTimeStr string
|
|
|
- if v.IndexDate != "" {
|
|
|
- dataTime, e := time.ParseInLocation(utils.FormatDateDefault, v.IndexDate, time.Local)
|
|
|
- if e != nil {
|
|
|
- err = e
|
|
|
- fmt.Println("解析时间失败:", err)
|
|
|
- return
|
|
|
- }
|
|
|
- dataTimeStr = dataTime.Format(utils.FormatDate)
|
|
|
- }
|
|
|
- var updateTimeStr string
|
|
|
- if v.UpdateTime != "" {
|
|
|
- updateTime, e := time.ParseInLocation(utils.FormatDateDefault, v.UpdateTime, time.Local)
|
|
|
- if e != nil {
|
|
|
- err = e
|
|
|
- fmt.Println("解析时间失败:", err)
|
|
|
- return
|
|
|
- }
|
|
|
- updateTimeStr = updateTime.Format(utils.FormatDateTime)
|
|
|
- }
|
|
|
-
|
|
|
- tmp := response.IndexData{
|
|
|
+ t := response.IndexData{
|
|
|
Val: v.IndexValue,
|
|
|
- DataTime: dataTimeStr,
|
|
|
- UpdateTime: updateTimeStr,
|
|
|
+ DataTime: v.IndexDate,
|
|
|
+ UpdateTime: v.UpdateTime,
|
|
|
}
|
|
|
- list = append(list, tmp)
|
|
|
+ list = append(list, t)
|
|
|
}
|
|
|
- //var dateLastStr string
|
|
|
- //if index.DateLast != "" {
|
|
|
- // dateLast, e := time.ParseInLocation(utils.FormatDateDefault, index.DateLast, time.Local)
|
|
|
- // if e != nil {
|
|
|
- // err = e
|
|
|
- // fmt.Println("解析时间失败:", err)
|
|
|
- // return
|
|
|
- // }
|
|
|
- // dateLastStr = dateLast.Format(utils.FormatDate)
|
|
|
- //}
|
|
|
- //if !index.TimeLastUpdate.IsZero() {
|
|
|
- // timeLastUpdate, e := time.ParseInLocation(utils.FormatDateDefault, index.TimeLastUpdate, time.Local)
|
|
|
- // if e != nil {
|
|
|
- // err = e
|
|
|
- // fmt.Println("解析时间失败:", err)
|
|
|
- // return
|
|
|
- // }
|
|
|
- // timeLastUpdateStr = timeLastUpdate.Format(utils.FormatDateTime)
|
|
|
- //}
|
|
|
|
|
|
data = new(response.IndexResp)
|
|
|
data.IndexData = list
|
|
|
data.IndexCode = indexCode
|
|
|
- data.LastDate = utils.TimeTransferString(utils.FormatDate, index.DateLast)
|
|
|
- data.LastUpdateTime = utils.TimeTransferString(utils.FormatDateTime, index.TimeLastUpdate)
|
|
|
+ data.LastDate = index.DateLast
|
|
|
+ data.LastUpdateTime = index.TimeLastUpdate
|
|
|
data.Status = index.Status
|
|
|
return
|
|
|
}
|
|
@@ -165,7 +103,7 @@ func GetPageIndexesFromJiaYue(pageIndex, pageSize int, sourceArr []string, keywo
|
|
|
keyword = strings.TrimSpace(keyword)
|
|
|
if keyword != "" {
|
|
|
kw := fmt.Sprint("%", keyword, "%")
|
|
|
- indexCond += ` AND (ID = :1 OR CODE = :1 OR NAME = :1)`
|
|
|
+ indexCond += ` AND (ID LIKE :1 OR CODE LIKE :1 OR NAME LIKE :1)`
|
|
|
indexPars = append(indexPars, kw, kw, kw)
|
|
|
}
|
|
|
if frequency != "" {
|