|
@@ -6,6 +6,7 @@ import (
|
|
|
"eta/eta_hub/models/data_manage"
|
|
|
"eta/eta_hub/services/data"
|
|
|
"eta/eta_hub/utils"
|
|
|
+ "fmt"
|
|
|
"github.com/rdlucklib/rdluck_tools/paging"
|
|
|
"strings"
|
|
|
)
|
|
@@ -110,41 +111,76 @@ func (c *EdbController) BusinessEdbList() {
|
|
|
//通过指标ID、指标名称、渠道、单位、频度查询匹配自有数据中已有的指标;
|
|
|
indexCode := c.GetString("IndexCode")
|
|
|
indexName := c.GetString("IndexName")
|
|
|
+ sysSource := c.GetString("SysSource")
|
|
|
|
|
|
//if indexName == `` && indexCode == `` {
|
|
|
// br.Msg = "IndexCode与IndexName不能同时为空"
|
|
|
// br.ErrMsg = "IndexCode与IndexName不能同时为空"
|
|
|
// return
|
|
|
//}
|
|
|
-
|
|
|
cond := ``
|
|
|
pars := make([]interface{}, 0)
|
|
|
- if indexCode != `` {
|
|
|
- cond += ` AND index_code = ?`
|
|
|
- pars = append(pars, indexCode)
|
|
|
- }
|
|
|
- if indexName != `` {
|
|
|
- cond += ` AND index_name like ?`
|
|
|
- pars = utils.GetLikeKeywordPars(pars, indexName, 1)
|
|
|
- }
|
|
|
- sourceName := c.GetString("SourceName")
|
|
|
- if sourceName != `` {
|
|
|
- cond += ` AND source_name = ?`
|
|
|
- pars = append(pars, sourceName)
|
|
|
- }
|
|
|
- unit := c.GetString("Unit")
|
|
|
- if unit != `` {
|
|
|
- cond += ` AND unit = ?`
|
|
|
- pars = append(pars, unit)
|
|
|
- }
|
|
|
- frequency := c.GetString("Frequency")
|
|
|
- if frequency != `` {
|
|
|
- cond += ` AND frequency = ?`
|
|
|
- pars = append(pars, frequency)
|
|
|
- }
|
|
|
+ var orderRule string
|
|
|
+ var fieldArr []string
|
|
|
+ if sysSource == "ht_mini_crm" {
|
|
|
+ fieldArr = []string{"index_code", "index_name", "frequency", "unit", "source_name", "start_date", "end_date", "create_time"}
|
|
|
+ KeyWord := c.GetString("KeyWord")
|
|
|
+ if KeyWord != "" {
|
|
|
+ cond = `And (index_name like ? or index_code like ?)`
|
|
|
+ pars = utils.GetLikeKeywordPars(pars, KeyWord, 2)
|
|
|
+ }
|
|
|
+ sourceName := c.GetString("SourceName")
|
|
|
+ SortColumn := c.GetString("SortColumn")
|
|
|
+ if SortColumn == "" {
|
|
|
+ SortColumn = "create_time"
|
|
|
+ }
|
|
|
+ SortOrder := c.GetString("SortOrder")
|
|
|
+ if SortOrder == "" {
|
|
|
+ SortOrder = "desc"
|
|
|
+ }
|
|
|
+ if sourceName != "" {
|
|
|
+ cond += ` AND source_name = ?`
|
|
|
+ pars = append(pars, sourceName)
|
|
|
+ } else {
|
|
|
+ cond += ` AND source_name like ?`
|
|
|
+ pars = append(pars, "%")
|
|
|
+ }
|
|
|
|
|
|
+ frequency := c.GetString("Frequency")
|
|
|
+ if frequency != `` {
|
|
|
+ cond += ` AND frequency = ?`
|
|
|
+ pars = append(pars, frequency)
|
|
|
+ }
|
|
|
+ orderRule = fmt.Sprintf("%s %s", SortColumn, SortOrder)
|
|
|
+ } else {
|
|
|
+ orderRule = "base_from_business_index_id DESC"
|
|
|
+ fieldArr = []string{"index_code", "index_name", "frequency", "unit", "source_name"}
|
|
|
+ if indexCode != `` {
|
|
|
+ cond += ` AND index_code = ?`
|
|
|
+ pars = append(pars, indexCode)
|
|
|
+ }
|
|
|
+ if indexName != `` {
|
|
|
+ cond += ` AND index_name like ?`
|
|
|
+ pars = utils.GetLikeKeywordPars(pars, indexName, 1)
|
|
|
+ }
|
|
|
+ sourceName := c.GetString("SourceName")
|
|
|
+ if sourceName != `` {
|
|
|
+ cond += ` AND source_name = ?`
|
|
|
+ pars = append(pars, sourceName)
|
|
|
+ }
|
|
|
+ unit := c.GetString("Unit")
|
|
|
+ if unit != `` {
|
|
|
+ cond += ` AND unit = ?`
|
|
|
+ pars = append(pars, unit)
|
|
|
+ }
|
|
|
+ frequency := c.GetString("Frequency")
|
|
|
+ if frequency != `` {
|
|
|
+ cond += ` AND frequency = ?`
|
|
|
+ pars = append(pars, frequency)
|
|
|
+ }
|
|
|
+ }
|
|
|
edbOb := new(data_manage.BaseFromBusinessIndex)
|
|
|
- total, edbList, e := edbOb.GetItemsByCondition(cond, pars, []string{"index_code", "index_name", "frequency", "unit", "source_name"}, "base_from_business_index_id DESC", startSize, pageSize)
|
|
|
+ total, edbList, e := edbOb.GetItemsByCondition(cond, pars, fieldArr, orderRule, startSize, pageSize)
|
|
|
if e != nil {
|
|
|
br.Msg = "获取失败"
|
|
|
br.ErrMsg = "EdbList GetItemsByCondition err: " + e.Error()
|
|
@@ -162,6 +198,87 @@ func (c *EdbController) BusinessEdbList() {
|
|
|
br.Msg = "获取成功"
|
|
|
}
|
|
|
|
|
|
+// BusinessSourceList
|
|
|
+// @Title 获取来源列表
|
|
|
+// @Description 获取来源列表
|
|
|
+// @Success 200 {object} data_manage.BaseFromBusinessIndexResp
|
|
|
+// @router /business/edb/source/list [get]
|
|
|
+func (c *EdbController) BusinessSourceList() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ c.Data["json"] = br
|
|
|
+ c.ServeJSON()
|
|
|
+ }()
|
|
|
+ obj := new(data_manage.EdbBusinessSource)
|
|
|
+ list, err := obj.GetAllList()
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取数据失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ br.Ret = 200
|
|
|
+ br.Msg = "获取成功"
|
|
|
+ br.Data = list
|
|
|
+}
|
|
|
+
|
|
|
+// DataList
|
|
|
+// @Title 获取指标数据列表
|
|
|
+// @Description 获取指标数据列表接口
|
|
|
+// @Param PageSize query int true "每页数据条数"
|
|
|
+// @Param CurrentIndex query int true "当前页页码,从1开始"
|
|
|
+// @Param IndexCode query string true "频度"
|
|
|
+// @Success 200 {object} models.DataListResp
|
|
|
+// @router /business/edb/data/list [get]
|
|
|
+func (c *EdbController) DataList() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ c.Data["json"] = br
|
|
|
+ c.ServeJSON()
|
|
|
+ }()
|
|
|
+
|
|
|
+ req := new(data_manage.BusinessDataDataListReq)
|
|
|
+ if e := c.ParseForm(req); e != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "参数解析失败, Err: " + e.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ pageSize := req.PageSize
|
|
|
+ currentIndex := req.CurrentIndex
|
|
|
+
|
|
|
+ var startSize int
|
|
|
+ if pageSize <= 0 {
|
|
|
+ pageSize = utils.PageSize20
|
|
|
+ }
|
|
|
+ if currentIndex <= 0 {
|
|
|
+ currentIndex = 1
|
|
|
+ }
|
|
|
+ startSize = utils.StartIndex(currentIndex, pageSize)
|
|
|
+
|
|
|
+ if req.IndexCode == "" {
|
|
|
+ br.Msg = "指标编码为空"
|
|
|
+ br.ErrMsg = "指标编码为空"
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // 获取分页数据
|
|
|
+ dataCount, dataList, err := data.GetPageBaseBusinessIndexData(req.IndexCode, startSize, pageSize)
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ br.Msg = "获取指标信息失败"
|
|
|
+ br.ErrMsg = "获取指标数据总数失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ page := paging.GetPaging(currentIndex, pageSize, dataCount)
|
|
|
+ resp := data_manage.BusinessIndexDataListResp{
|
|
|
+ List: dataList,
|
|
|
+ Paging: page,
|
|
|
+ }
|
|
|
+
|
|
|
+ br.Ret = 200
|
|
|
+ br.Msg = "获取成功"
|
|
|
+ br.Data = resp
|
|
|
+}
|
|
|
+
|
|
|
// BusinessEdbDel
|
|
|
// @Title 删除指标数据
|
|
|
// @Description 删除指标数据
|