Просмотр исходного кода

Merge branch 'feature/eta1.3.9_smm_gl' of eta_server/eta_api into master

xyxie 1 год назад
Родитель
Сommit
41242a5d1c

+ 70 - 23
controllers/data_manage/mysteel_chemical_data.go

@@ -52,23 +52,6 @@ func (this *EdbInfoController) MysteelChemicalClassify() {
 		return
 	}
 
-	baseFromMysteelChemicalIndexMap := make(map[int][]*data_manage.BaseFromMysteelChemicalClassifyItems)
-
-	allBaseFromMysteelChemicalIndex, err := data_manage.GetMysteelChemicalIndexAll()
-	if err != nil && err.Error() != utils.ErrNoRow() {
-		br.Msg = "获取失败"
-		br.ErrMsg = "获取指标信息失败,Err:" + err.Error()
-		return
-	}
-	for _, v := range allBaseFromMysteelChemicalIndex {
-		v.UniqueCode = fmt.Sprint(v.BaseFromMysteelChemicalClassifyId, "_", v.BaseFromMysteelChemicalIndexId)
-		button := data.GetMysteelChemicalOpButton(sysUser, v.SysUserId)
-		button.AddButton = false //不管有没有权限,指标都是没有添加按钮的
-		v.Button = button
-
-		baseFromMysteelChemicalIndexMap[v.BaseFromMysteelChemicalClassifyId] = append(baseFromMysteelChemicalIndexMap[v.BaseFromMysteelChemicalClassifyId], v)
-	}
-
 	rootChildMap := make(map[int][]*data_manage.BaseFromMysteelChemicalClassifyItems)
 	for _, v := range classifyAll {
 		v.UniqueCode = fmt.Sprint(v.BaseFromMysteelChemicalClassifyId)
@@ -78,12 +61,6 @@ func (this *EdbInfoController) MysteelChemicalClassify() {
 		v.Button = button
 
 		rootChildMap[v.ParentId] = append(rootChildMap[v.ParentId], v)
-		if existItems, ok := baseFromMysteelChemicalIndexMap[v.BaseFromMysteelChemicalClassifyId]; ok {
-			v.Children = existItems
-		} else {
-			items := make([]*data_manage.BaseFromMysteelChemicalClassifyItems, 0)
-			v.Children = items
-		}
 	}
 
 	nodeAll := make([]*data_manage.BaseFromMysteelChemicalClassifyItems, 0)
@@ -107,6 +84,52 @@ func (this *EdbInfoController) MysteelChemicalClassify() {
 	br.Data = nodeAll
 }
 
+// MysteelChemicalIndexList
+// @Title 钢联化工数据指标列表
+// @Description 钢联化工数据指标列表接口
+// @Success 200 {object} data_manage.BaseFromMysteelChemicalIndexResp
+// @router /mysteel_chemical/index/list [get]
+func (this *EdbInfoController) MysteelChemicalIndexList() {
+	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("BaseFromMysteelChemicalClassifyId")
+	if classifyId <= 0 {
+		br.Msg = "请选择正确的分类"
+		return
+	}
+	allBaseFromMysteelChemicalIndex, err := data_manage.GetMysteelChemicalIndexByClassifyId(classifyId)
+	if err != nil && err.Error() != utils.ErrNoRow() {
+		br.Msg = "获取失败"
+		br.ErrMsg = "获取指标信息失败,Err:" + err.Error()
+		return
+	}
+	nodeAll := make([]*data_manage.BaseFromMysteelChemicalClassifyItems, 0)
+	for _, v := range allBaseFromMysteelChemicalIndex {
+		v.UniqueCode = fmt.Sprint(v.BaseFromMysteelChemicalClassifyId, "_", v.BaseFromMysteelChemicalIndexId)
+		button := data.GetMysteelChemicalOpButton(sysUser, v.SysUserId)
+		button.AddButton = false //不管有没有权限,指标都是没有添加按钮的
+		v.Button = button
+		nodeAll = append(nodeAll, v)
+	}
+	ret := &data_manage.BaseFromMysteelChemicalIndexResp{
+		List: nodeAll,
+	}
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "获取成功"
+	br.Data = ret
+}
+
 // AddMysteelChemicalClassify
 // @Title 新增分类
 // @Description 新增分类接口
@@ -354,9 +377,33 @@ func (this *EdbInfoController) MysteelChemicalSearch() {
 		br.ErrMsg = "获取失败,Err:" + err.Error()
 		return
 	}
+	classifyIds := make([]int, 0)
 	for _, v := range list {
 		v.UniqueCode = fmt.Sprint(v.BaseFromMysteelChemicalClassifyId, "_", v.Id)
+		if v.BaseFromMysteelChemicalClassifyId > 0 {
+			classifyIds = append(classifyIds, v.BaseFromMysteelChemicalClassifyId)
+		}
 	}
+	if len(classifyIds) > 0 {
+		// 查询父级分类信息
+		classifyList, e := data_manage.GetBaseFromMysteelChemicalClassifyByIds(classifyIds)
+		if e != nil {
+			br.Msg = "获取目录信息失败"
+			br.ErrMsg = "获取失获取目录信息失败,Err:" + err.Error()
+			return
+		}
+		classifyListMap := make(map[int]int, 0)
+		for _, v := range classifyList {
+			classifyListMap[v.BaseFromMysteelChemicalClassifyId] = v.ParentId
+		}
+		for _, v := range list {
+			v.UniqueCode = fmt.Sprint(v.BaseFromMysteelChemicalClassifyId, "_", v.Id)
+			if p, ok := classifyListMap[v.BaseFromMysteelChemicalClassifyId]; ok {
+				v.ParentClassifyId = p
+			}
+		}
+	}
+
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "获取成功"

+ 82 - 9
controllers/data_manage/smm_data.go

@@ -2,15 +2,15 @@ package data_manage
 
 import (
 	"encoding/json"
-	"fmt"
-	"github.com/rdlucklib/rdluck_tools/paging"
-	"github.com/tealeg/xlsx"
 	"eta/eta_api/models"
 	"eta/eta_api/models/data_manage"
 	"eta/eta_api/models/data_manage/request"
 	"eta/eta_api/services/alarm_msg"
 	"eta/eta_api/services/data"
 	"eta/eta_api/utils"
+	"fmt"
+	"github.com/rdlucklib/rdluck_tools/paging"
+	"github.com/tealeg/xlsx"
 	"os"
 	"path/filepath"
 	"strings"
@@ -49,7 +49,7 @@ func (this *EdbInfoController) SmmClassify() {
 		return
 	}
 
-	baseFromSmmIndexMap := make(map[int][]*data_manage.BaseFromSmmClassifyItems)
+	/*baseFromSmmIndexMap := make(map[int][]*data_manage.BaseFromSmmClassifyItems)
 
 	allBaseFromSmmIndex, err := data_manage.GetSmmIndexAll()
 	if err != nil && err.Error() != utils.ErrNoRow() {
@@ -59,17 +59,17 @@ func (this *EdbInfoController) SmmClassify() {
 	}
 	for _, v := range allBaseFromSmmIndex {
 		baseFromSmmIndexMap[v.ClassifyId] = append(baseFromSmmIndexMap[v.ClassifyId], v)
-	}
+	}*/
 
 	rootChildMap := make(map[int][]*data_manage.BaseFromSmmClassifyItems)
 	for _, v := range classifyAll {
 		rootChildMap[v.ParentId] = append(rootChildMap[v.ParentId], v)
-		if existItems, ok := baseFromSmmIndexMap[v.ClassifyId]; ok {
+		/*if existItems, ok := baseFromSmmIndexMap[v.ClassifyId]; ok {
 			v.Children = existItems
 		} else {
 			items := make([]*data_manage.BaseFromSmmClassifyItems, 0)
 			v.Children = items
-		}
+		}*/
 	}
 	var ret data_manage.BaseFromSmmClassifyResp
 	nodeAll := make([]*data_manage.BaseFromSmmClassifyItems, 0)
@@ -93,7 +93,7 @@ func (this *EdbInfoController) SmmClassify() {
 		Sort:               0,
 		Children:           nil,
 	}
-	initIndexList, err := data_manage.GetBaseFromSmmIndexByClassifyId(initClassify.ClassifyId)
+	/*initIndexList, err := data_manage.GetBaseFromSmmIndexByClassifyId(initClassify.ClassifyId)
 	if err != nil {
 		br.Msg = "获取未分类指标失败"
 		br.ErrMsg = "获取未分类指标失败,Err:" + err.Error()
@@ -112,7 +112,7 @@ func (this *EdbInfoController) SmmClassify() {
 			Children:             nil,
 		}
 		initClassify.Children = append(initClassify.Children, tmp)
-	}
+	}*/
 	finalList := make([]*data_manage.BaseFromSmmClassifyItems, 0)
 	finalList = append(finalList, initClassify)
 	finalList = append(finalList, nodeAll...)
@@ -123,6 +123,55 @@ func (this *EdbInfoController) SmmClassify() {
 	br.Data = ret
 }
 
+// SmmIndexList
+// @Title 有色数据指标
+// @Description 有色数据指标列表接口
+// @Success 200 {object} data_manage.SmmClassify
+// @router /smm/index/list [get]
+func (this *EdbInfoController) SmmIndexList() {
+	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", 0)
+
+	list := make([]*data_manage.BaseFromSmmClassifyItems, 0)
+	indexList, err := data_manage.GetBaseFromSmmIndexByClassifyId(classifyId)
+	if err != nil {
+		br.Msg = "获取未分类指标失败"
+		br.ErrMsg = "获取未分类指标失败,Err:" + err.Error()
+		return
+	}
+
+	for _, v := range indexList {
+		tmp := &data_manage.BaseFromSmmClassifyItems{
+			ClassifyId:           v.ClassifyId,
+			BaseFromSmmIndexId:   v.BaseFromSmmIndexId,
+			BaseFromSmmIndexCode: v.IndexCode,
+			ClassifyName:         v.IndexName,
+			ParentId:             0,
+			Level:                0,
+			Sort:                 0,
+			Children:             nil,
+		}
+		list = append(list, tmp)
+	}
+	var ret data_manage.BaseFromSmmClassifyResp
+	ret.List = list
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "获取成功"
+	br.Data = ret
+}
+
 // SmmClassifyName
 // @Title 有色数据分类名称查询
 // @Description 有色数据分类名称查询接口
@@ -674,6 +723,30 @@ func (this *EdbInfoController) SmmSearchList() {
 		br.Msg = "获取失败"
 		return
 	}
+	classifyIds := make([]int, 0)
+	for _, v := range list {
+		if v.ClassifyId > 0 {
+			classifyIds = append(classifyIds, v.ClassifyId)
+		}
+	}
+	if len(classifyIds) > 0 {
+		// 查询父级分类信息
+		classifyList, e := data_manage.GetBaseFromSmmClassifyByIds(classifyIds)
+		if e != nil {
+			br.Msg = "获取目录信息失败"
+			br.ErrMsg = "获取失获取目录信息失败,Err:" + err.Error()
+			return
+		}
+		classifyListMap := make(map[int]int, 0)
+		for _, v := range classifyList {
+			classifyListMap[v.ClassifyId] = v.ParentId
+		}
+		for _, v := range list {
+			if p, ok := classifyListMap[v.ClassifyId]; ok {
+				v.ParentClassifyId = p
+			}
+		}
+	}
 
 	br.Ret = 200
 	br.Success = true

+ 9 - 1
models/data_manage/base_from_smm_classify.go

@@ -1,9 +1,9 @@
 package data_manage
 
 import (
+	"eta/eta_api/utils"
 	"fmt"
 	"github.com/beego/beego/v2/client/orm"
-	"eta/eta_api/utils"
 	"time"
 )
 
@@ -103,6 +103,14 @@ func GetBaseFromSmmClassifyByParentId(parentId int) (items []*BaseFromSmmClassif
 	return
 }
 
+// GetBaseFromSmmClassifyByIds 根据id获取当下的分类列表数据
+func GetBaseFromSmmClassifyByIds(classifyIds []int) (items []*BaseFromSmmClassifyItems, err error) {
+	o := orm.NewOrmUsingDB("data")
+	sql := ` SELECT * FROM base_from_smm_classify WHERE parent_id > 0 and classify_id IN (` + utils.GetOrmInReplace(len(classifyIds)) + `) order by sort asc, classify_id asc`
+	_, err = o.Raw(sql, classifyIds).QueryRows(&items)
+	return
+}
+
 // GetAllBaseFromSmmClassify 获取所有的分类列表数据
 func GetAllBaseFromSmmClassify() (items []*BaseFromSmmClassifyItems, err error) {
 	o := orm.NewOrmUsingDB("data")

+ 11 - 0
models/data_manage/mysteel_chemical_classify.go

@@ -51,6 +51,9 @@ func EditBaseFromMysteelChemicalClassify(classifyId int, classifyName string) (e
 	return
 }
 
+type BaseFromMysteelChemicalIndexResp struct {
+	List []*BaseFromMysteelChemicalClassifyItems
+}
 type BaseFromMysteelChemicalClassifyItems struct {
 	BaseFromMysteelChemicalClassifyId int                                        `orm:"column(base_from_mysteel_chemical_classify_id)"`
 	BaseFromMysteelChemicalIndexId    int                                        `orm:"column(base_from_mysteel_chemical_index_id)"`
@@ -83,6 +86,14 @@ func GetBaseFromMysteelChemicalClassifyByParentId(parentId int) (items []*BaseFr
 	return
 }
 
+// GetBaseFromMysteelChemicalClassifyByIds 根据id获取当下的分类列表数据
+func GetBaseFromMysteelChemicalClassifyByIds(classifyIds []int) (items []*BaseFromMysteelChemicalClassifyItems, err error) {
+	o := orm.NewOrmUsingDB("data")
+	sql := ` SELECT * FROM base_from_mysteel_chemical_classify WHERE parent_id > 0 and base_from_mysteel_chemical_classify_id IN (` + utils.GetOrmInReplace(len(classifyIds)) + `) order by sort asc,base_from_mysteel_chemical_classify_id asc`
+	_, err = o.Raw(sql, classifyIds).QueryRows(&items)
+	return
+}
+
 // GetAllBaseFromMysteelChemicalClassify 获取所有的分类列表数据
 func GetAllBaseFromMysteelChemicalClassify() (items []*BaseFromMysteelChemicalClassifyItems, err error) {
 	o := orm.NewOrmUsingDB("data")

+ 5 - 4
models/data_manage/mysteel_chemical_index.go

@@ -67,13 +67,13 @@ type MysteelChemicalFrequency struct {
 	Frequency string `description:"频度:1-日度 2-周度 3-月度 4-季度 5-年度 99-无固定频率"`
 }
 
-// GetMysteelChemicalIndexAll 用于分类展示
-func GetMysteelChemicalIndexAll() (items []*BaseFromMysteelChemicalClassifyItems, err error) {
+// GetMysteelChemicalIndexByClassifyId 用于分类展示
+func GetMysteelChemicalIndexByClassifyId(classifyId int) (items []*BaseFromMysteelChemicalClassifyItems, err error) {
 	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT base_from_mysteel_chemical_index_id,base_from_mysteel_chemical_classify_id,index_name AS classify_name,
              sys_user_id,sys_user_real_name,sort,index_code 
-            FROM base_from_mysteel_chemical_index ORDER BY sort asc, create_time ASC `
-	_, err = o.Raw(sql).QueryRows(&items)
+            FROM base_from_mysteel_chemical_index where base_from_mysteel_chemical_classify_id=? ORDER BY sort asc, create_time ASC `
+	_, err = o.Raw(sql, classifyId).QueryRows(&items)
 	return
 }
 
@@ -107,6 +107,7 @@ func GetMysteelChemicalFrequency(condition string, pars []interface{}) (items []
 type MysteelChemicalList struct {
 	Id                                int                `orm:"column(base_from_mysteel_chemical_index_id)"`
 	BaseFromMysteelChemicalClassifyId int                `orm:"column(base_from_mysteel_chemical_classify_id)" description:"钢联化工指标分类id"`
+	ParentClassifyId                  int                `description:"钢联化工指标父级分类id"`
 	IndexCode                         string             `description:"指标编码"`
 	IndexName                         string             `description:"指标名称"`
 	UnitName                          string             `orm:"column(unit)"`

+ 22 - 1
models/data_manage/smm_data.go

@@ -49,6 +49,27 @@ type SmmIndex struct {
 	ModifyTime         string
 }
 
+type SmmIndexItem struct {
+	BaseFromSmmIndexId int `orm:"column(base_from_smm_index_id);pk"`
+	ClassifyId         int
+	ParentClassifyId   int
+	Interface          string
+	Name               string
+	IndexCode          string
+	IndexName          string
+	Type1              string `orm:"column(type_1)"`
+	Type2              string `orm:"column(type_2)"`
+	Type3              string `orm:"column(type_3)"`
+	Frequency          string
+	Unit               string
+	ApiStartTime       string
+	ApiUpdateTime      string
+	StartTime          string
+	FinishTime         string
+	CreateTime         string
+	ModifyTime         string
+}
+
 func GetSmmIndex(condition string, pars interface{}) (items []*SmmIndex, err error) {
 	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT * FROM base_from_smm_index WHERE 1=1  `
@@ -136,7 +157,7 @@ func GetSmmIndexDataCount(indexCode string) (count int, err error) {
 }
 
 // GetSmmItemList 模糊查询Smm数据库指标列表
-func GetSmmItemList(keyword string) (items []*SmmIndex, err error) {
+func GetSmmItemList(keyword string) (items []*SmmIndexItem, err error) {
 	o := orm.NewOrmUsingDB("data")
 	sql := "SELECT * FROM base_from_smm_index WHERE CONCAT(index_name,index_code) LIKE '%" + keyword + "%'"
 	_, err = o.Raw(sql).QueryRows(&items)

+ 18 - 0
routers/commentsRouter.go

@@ -2824,6 +2824,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:EdbInfoController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:EdbInfoController"],
+        beego.ControllerComments{
+            Method: "MysteelChemicalIndexList",
+            Router: `/mysteel_chemical/index/list`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:EdbInfoController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:EdbInfoController"],
         beego.ControllerComments{
             Method: "MysteelChemicalRefresh",
@@ -3058,6 +3067,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:EdbInfoController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:EdbInfoController"],
+        beego.ControllerComments{
+            Method: "SmmIndexList",
+            Router: `/smm/index/list`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:EdbInfoController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:EdbInfoController"],
         beego.ControllerComments{
             Method: "MoveSmmData",