|
@@ -6,6 +6,10 @@ import (
|
|
|
"fmt"
|
|
|
)
|
|
|
|
|
|
+var (
|
|
|
+ IndexTableName = "DICT_INDEX"
|
|
|
+)
|
|
|
+
|
|
|
func GetDictIndex(condition string, pars []interface{}) (dictIndexList []DictIndex, err error) {
|
|
|
defer func() {
|
|
|
if err != nil {
|
|
@@ -13,7 +17,7 @@ func GetDictIndex(condition string, pars []interface{}) (dictIndexList []DictInd
|
|
|
}
|
|
|
}()
|
|
|
selectVals := "ID, CODE, NAME, UNIT, FREQUENCY, DESCRIPTION, TABLE_NAME, SOURCE_TYPE, SOURCE_CODE, SOURCE_DESCRIPTION, INDUSTRY, TYPE, COMMODITY, SJB_ID, USER_ID, ROWS_COUNT, DATE_FIRST, DATE_LAST, TIME_LAST_UPDATE, TIME_LAST_REQUEST, PRIORITY, STATUS, SHORT_NAME, UPDATE_DESCRIPTION, FORECAST_FLAG, MANUAL_FLAG, VARIABLE_FLAG, MARKETDATA_FLAG, CREATE_USER, CREATE_TIME, UPDATE_USER, UPDATE_TIME"
|
|
|
- sqlStatement := fmt.Sprintf("SELECT %s FROM DICT_INDEX WHERE %s", selectVals, condition)
|
|
|
+ sqlStatement := fmt.Sprintf("SELECT %s, 0 AS no FROM %s WHERE %s", selectVals, IndexTableName, condition)
|
|
|
dictIndexList, err = getDictIndex(sqlStatement, pars)
|
|
|
if err != nil {
|
|
|
fmt.Printf("查询指标信息失败 %s", err)
|
|
@@ -34,7 +38,7 @@ func GetDictPageIndex(condition string, pars []interface{}, pageIndex, pageSize
|
|
|
}()
|
|
|
|
|
|
fields := "ID, CODE, NAME, UNIT, FREQUENCY, DESCRIPTION, TABLE_NAME, SOURCE_TYPE, SOURCE_CODE, SOURCE_DESCRIPTION, INDUSTRY, TYPE, COMMODITY, SJB_ID, USER_ID, ROWS_COUNT, DATE_FIRST, DATE_LAST, TIME_LAST_UPDATE, TIME_LAST_REQUEST, PRIORITY, STATUS, SHORT_NAME, UPDATE_DESCRIPTION, FORECAST_FLAG, MANUAL_FLAG, VARIABLE_FLAG, MARKETDATA_FLAG, CREATE_USER, CREATE_TIME, UPDATE_USER, UPDATE_TIME"
|
|
|
- sqlBase := fmt.Sprintf(`SELECT %s, no FROM (SELECT rownum no, a.* FROM DICT_INDEX a WHERE %s) WHERE no BETWEEN %d AND %d`, fields, condition, (pageIndex-1)*pageSize+1, pageIndex*pageSize)
|
|
|
+ sqlBase := fmt.Sprintf(`SELECT %s, no FROM (SELECT rownum no, a.* FROM %s a WHERE %s) WHERE no BETWEEN %d AND %d`, fields, IndexTableName, condition, (pageIndex-1)*pageSize+1, pageIndex*pageSize)
|
|
|
dictIndexList, err = getDictIndex(sqlBase, pars)
|
|
|
if err != nil {
|
|
|
err = fmt.Errorf("查询指标信息失败 %s", err)
|
|
@@ -293,3 +297,44 @@ func getDictData(sqlStatement string, pars []interface{}) (dictData []DictData,
|
|
|
fmt.Printf("序列化后 = %v\n", string(data))*/
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+// GetDictFrequency 获取指标频度
|
|
|
+func GetDictFrequency() (frequencies []string, err error) {
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ global.LOG.Info("嘉悦-获取指标频度失败, Err:" + err.Error())
|
|
|
+ }
|
|
|
+ }()
|
|
|
+
|
|
|
+ sqlBase := fmt.Sprintf(`SELECT DISTINCT FREQUENCY FROM %s`, IndexTableName)
|
|
|
+ stmt, e := global.OracleJy.Prepare(sqlBase)
|
|
|
+ if e != nil {
|
|
|
+ err = fmt.Errorf("预处理sql失败, err: %s", e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ rows, e := stmt.Query()
|
|
|
+ if e != nil {
|
|
|
+ err = fmt.Errorf("查询sql失败, err: %s", e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ defer func() {
|
|
|
+ _ = rows.Close() // 关闭查询连接
|
|
|
+ }()
|
|
|
+
|
|
|
+ for rows.Next() {
|
|
|
+ var frequency string
|
|
|
+ if e = rows.Scan(&frequency); e != nil {
|
|
|
+ err = fmt.Errorf("扫描错误, err: %s", e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ frequencies = append(frequencies, frequency)
|
|
|
+ }
|
|
|
+ if e = rows.Err(); e != nil {
|
|
|
+ err = fmt.Errorf("解析行数据失败, err: %s", e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ defer func() {
|
|
|
+ _ = stmt.Close()
|
|
|
+ }()
|
|
|
+ return
|
|
|
+}
|