|
@@ -75,6 +75,7 @@ func (this *BaseFromKplerController) Search() {
|
|
|
var productNamesStr string
|
|
|
var fromZoneNamesStr string
|
|
|
var toZoneNamesStr string
|
|
|
+ classifyName := ""
|
|
|
if len(params.ProductIds) > 0 {
|
|
|
// 获取产品名称
|
|
|
productList, e := data_manage.GetKplerClassifyByProductId(params.ProductIds)
|
|
@@ -89,7 +90,35 @@ func (this *BaseFromKplerController) Search() {
|
|
|
}
|
|
|
if len(productNames) > 0 {
|
|
|
productNamesStr = strings.Join(productNames, ",")
|
|
|
+ // 获取第一个产品的分类ID
|
|
|
+ classifyObj, err := data_manage.GetBaseFromKplerClassifyByProductName(productNames[0])
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取分类ID失败"
|
|
|
+ br.ErrMsg = fmt.Sprintf("获取分类ID失败, %v", err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ allClassifyIds := make([]int, 0)
|
|
|
+ if classifyObj.LevelPath != "" {
|
|
|
+ levelPath := strings.Split(classifyObj.LevelPath, ",")
|
|
|
+ for _, v := range levelPath {
|
|
|
+ levelId, _ := strconv.Atoi(v)
|
|
|
+ allClassifyIds = append(allClassifyIds, levelId)
|
|
|
+ }
|
|
|
+ //获取所有的分类列表
|
|
|
+ classifyList, err := data_manage.GetBaseFromKplerClassifyByIds(allClassifyIds)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取分类列表失败"
|
|
|
+ br.ErrMsg = fmt.Sprintf("获取分类列表失败, %v", err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range classifyList {
|
|
|
+ classifyName += v.ClassifyName + "/"
|
|
|
+ }
|
|
|
+ classifyName = strings.TrimRight(classifyName, "/")
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
// 获取区域名称
|
|
|
zoneObj := new(data_manage.BaseFromKplerZone)
|
|
@@ -148,6 +177,8 @@ func (this *BaseFromKplerController) Search() {
|
|
|
return
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
|
|
|
|
|
|
resp := make([]*data_manage.KplerIndexItem, 0)
|
|
@@ -169,14 +200,14 @@ func (this *BaseFromKplerController) Search() {
|
|
|
item.IndexName = v.IndexName
|
|
|
item.Frequency = v.Frequency
|
|
|
item.Unit = v.Unit
|
|
|
-
|
|
|
+ item.ClassifyName = classifyName
|
|
|
// 搜索只展示100条数据
|
|
|
var limit int
|
|
|
sort.Slice(v.IndexData, func(i, j int) bool {
|
|
|
return v.IndexData[i].DataTime < v.IndexData[j].DataTime
|
|
|
})
|
|
|
for _, d := range v.IndexData {
|
|
|
- if limit > 100 {
|
|
|
+ if limit > 10 {
|
|
|
break
|
|
|
}
|
|
|
limit += 1
|
|
@@ -420,8 +451,14 @@ func (this *BaseFromKplerController) KplerClassifyTree() {
|
|
|
br.ErrMsg = "获取数据失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
+ }else{
|
|
|
+ classifyAll, err = data_manage.GetAllBaseFromKplerClassify()
|
|
|
+ if err != nil && !utils.IsErrNoRow(err) {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取数据失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
}
|
|
|
-
|
|
|
|
|
|
list := data.GetKplerClassifyTreeRecursive(classifyAll, 0)
|
|
|
|
|
@@ -627,6 +664,7 @@ func (this *BaseFromKplerController) KplerIndexData() {
|
|
|
product.IndexCode = v.IndexCode
|
|
|
product.IndexName = v.IndexName
|
|
|
product.Frequency = v.Frequency
|
|
|
+ product.ClassifyId = v.ClassifyId
|
|
|
product.ModifyTime = v.ModifyTime
|
|
|
if edb, ok := edbInfoMap[v.IndexCode]; ok {
|
|
|
product.EdbInfoId = edb.EdbInfoId
|
|
@@ -1284,22 +1322,28 @@ func (this *BaseFromKplerController) ExportKplerList() {
|
|
|
return
|
|
|
}
|
|
|
classifyName = classifyInfo.ClassifyName
|
|
|
- childClassify, err := data_manage.GetBaseFromKplerClassifyByParentId(classifyId)
|
|
|
- if err != nil {
|
|
|
- br.Msg = "下载失败"
|
|
|
- br.ErrMsg = "获取分类失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
+ childClassify := make([]*data_manage.BaseFromKplerClassify, 0)
|
|
|
+ if classifyInfo.LevelPath != "" {
|
|
|
+ childClassify, err = data_manage.GetBaseFromKplerClassifyByLevelPath(classifyInfo.LevelPath)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "下载失败"
|
|
|
+ br.ErrMsg = "获取分类失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
if len(childClassify) > 0 {
|
|
|
- condition += `AND classify_id IN (` + utils.GetOrmInReplace(len(childClassify)) + `)`
|
|
|
+ childClassifyIds := make([]int, 0)
|
|
|
for _, child := range childClassify {
|
|
|
- pars = append(pars, child.ClassifyId)
|
|
|
+ childClassifyIds = append(childClassifyIds, child.ClassifyId)
|
|
|
}
|
|
|
+ condition += ` AND classify_id IN (` + utils.GetOrmInReplace(len(childClassifyIds)) + `)`
|
|
|
+ pars = append(pars, childClassifyIds)
|
|
|
} else {
|
|
|
condition += ` AND classify_id=?`
|
|
|
pars = append(pars, classifyId)
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
if indexCode != "" {
|
|
|
condition += ` AND index_code=? `
|
|
@@ -1487,4 +1531,144 @@ func (this *BaseFromKplerController) ExportKplerList() {
|
|
|
br.Ret = 200
|
|
|
br.Success = true
|
|
|
br.Msg = "success"
|
|
|
-}
|
|
|
+}
|
|
|
+
|
|
|
+// GetFrequency
|
|
|
+// @Title kpler数据频度
|
|
|
+// @Description kpler数据频度接口
|
|
|
+// @Param ClassifyId query string true "分类Id"
|
|
|
+// @Success 200 {object} data_manage.LzFrequency
|
|
|
+// @router /kpler/frequency [get]
|
|
|
+func (this *BaseFromKplerController) GetFrequency() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+ sysUser := this.SysUser
|
|
|
+ if sysUser == nil {
|
|
|
+ br.Msg = "请登录"
|
|
|
+ br.ErrMsg = "请登录,SysUser Is Empty"
|
|
|
+ br.Ret = 408
|
|
|
+ return
|
|
|
+ }
|
|
|
+ classifyId, _ := this.GetInt("ClassifyId")
|
|
|
+ if classifyId < 0 {
|
|
|
+ br.Msg = "请选择分类"
|
|
|
+ br.ErrMsg = "请选择分类"
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ frequencyList, err := data_manage.GetKplerFrequencyByClassifyId(classifyId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取频度失败"
|
|
|
+ br.ErrMsg = "获取频度失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取成功"
|
|
|
+ br.Data = frequencyList
|
|
|
+}
|
|
|
+
|
|
|
+// BatchAddEdbCheck
|
|
|
+// @Title 新增校验
|
|
|
+// @Description 新增校验
|
|
|
+// @Param request body data_manage.BatchManualEdbReq true "type json string"
|
|
|
+// @Success 200 string "操作成功"
|
|
|
+// @router /kpler/batch/add/check [post]
|
|
|
+func (this *BaseFromKplerController) BatchAddEdbCheck() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ if br.ErrMsg == "" {
|
|
|
+ br.IsSendEmail = false
|
|
|
+ }
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+ sysUser := this.SysUser
|
|
|
+ if sysUser == nil {
|
|
|
+ br.Msg = "请登录"
|
|
|
+ br.ErrMsg = "请登录,SysUser Is Empty"
|
|
|
+ br.Ret = 408
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // 最大批量添加的数量
|
|
|
+ codeMaxT := 31
|
|
|
+
|
|
|
+ var req data_manage.BatchCheckKplerEdbReq
|
|
|
+ err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "参数错误"
|
|
|
+ br.ErrMsg = "参数错误,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ req.Keyword = strings.TrimSpace(req.Keyword)
|
|
|
+ classifyIdStr := req.ClassifyIds
|
|
|
+
|
|
|
+ var list = make([]*data_manage.BaseFromKplerIndexList, 0)
|
|
|
+ var condition string
|
|
|
+ var pars []interface{}
|
|
|
+
|
|
|
+ if req.ListAll {
|
|
|
+ classifyIds := strings.Split(classifyIdStr, ",")
|
|
|
+ if len(classifyIds) > 0 && classifyIds[0] != `` {
|
|
|
+ condition += " AND classify_id IN (" + utils.GetOrmInReplace(len(classifyIds)) + " ) "
|
|
|
+ pars = append(pars, classifyIds)
|
|
|
+ }
|
|
|
+ keyword := req.Keyword
|
|
|
+ if keyword != `` {
|
|
|
+ condition += " AND (index_name like ? OR index_code like ?) "
|
|
|
+ pars = utils.GetLikeKeywordPars(pars, keyword, 2)
|
|
|
+ }
|
|
|
+ frequencies := req.Frequencies
|
|
|
+ if frequencies != "" {
|
|
|
+ frequencyList := strings.Split(frequencies, ",")
|
|
|
+ condition += " AND frequency IN (" + utils.GetOrmInReplace(len(frequencyList)) + " ) "
|
|
|
+ pars = append(pars, frequencyList)
|
|
|
+ }
|
|
|
+ codes := req.TradeCodeList
|
|
|
+ codeList := make([]string, 0)
|
|
|
+ if codes != "" {
|
|
|
+ codeList = strings.Split(codes, ",")
|
|
|
+ }
|
|
|
+ if len(codeList) > 0 {
|
|
|
+ condition += ` AND index_code not in (` + utils.GetOrmInReplace(len(codeList)) + `) `
|
|
|
+ pars = append(pars, codeList)
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ codes := req.TradeCodeList
|
|
|
+ codeList := make([]string, 0)
|
|
|
+ if codes != "" {
|
|
|
+ codeList = strings.Split(codes, ",")
|
|
|
+ }
|
|
|
+ if len(codeList) <= 0 {
|
|
|
+ br.Msg = "请选择指标"
|
|
|
+ br.ErrMsg = "请选择指标"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 指标
|
|
|
+ condition += ` AND index_code in (` + utils.GetOrmInReplace(len(codeList)) + `) `
|
|
|
+ pars = append(pars, codeList)
|
|
|
+
|
|
|
+ }
|
|
|
+ condition += ` AND index_code not in (SELECT edb_code FROM edb_info WHERE source=?) `
|
|
|
+ pars = append(pars, utils.DATA_SOURCE_USDA_FAS)
|
|
|
+
|
|
|
+ list, err = data_manage.GetKplerIndexPage(condition, pars, 0, codeMaxT)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if len(list) >= codeMaxT {
|
|
|
+ br.Msg = "批量添加指标数量不得超过30个"
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ br.Data = list
|
|
|
+ br.Msg = "校验成功"
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+}
|