|
@@ -254,6 +254,8 @@ func buildTree(items []*edb_refresh.BaseClassifyItems, parentId int) []*edb_refr
|
|
|
// @Param SysUserId query string false "创建人"
|
|
|
// @Param Frequency query string false "频度"
|
|
|
// @Param Keyword query string false "关键词"
|
|
|
+// @Param SortParam query string false "排序字段参数,用来排序的字段, 枚举值:'data_time':日期"
|
|
|
+// @Param SortType query string true "如何排序,是正序还是倒序,枚举值:`asc 正序`,`desc 倒叙`"
|
|
|
// @Success 200 {object} data_manage.RefreshBaseEdbInfoResp
|
|
|
// @router /edb_info/refresh/edb_list [get]
|
|
|
func (c *EdbInfoController) RefreshEdbList() {
|
|
@@ -273,6 +275,9 @@ func (c *EdbInfoController) RefreshEdbList() {
|
|
|
keyword := c.GetString("Keyword")
|
|
|
status := c.GetString("Status")
|
|
|
|
|
|
+ sortParam := c.GetString("SortParam")
|
|
|
+ sortType := c.GetString("SortType")
|
|
|
+
|
|
|
pageSize, _ := c.GetInt("PageSize")
|
|
|
currentIndex, _ := c.GetInt("CurrentIndex")
|
|
|
var startSize int
|
|
@@ -285,7 +290,7 @@ func (c *EdbInfoController) RefreshEdbList() {
|
|
|
}
|
|
|
startSize = utils.StartIndex(currentIndex, pageSize)
|
|
|
|
|
|
- total, list, err := getList(source, subSource, classifyId, terminalCode, sysUserId, frequency, keyword, status, startSize, pageSize)
|
|
|
+ total, list, err := getList(source, subSource, classifyId, terminalCode, sysUserId, frequency, keyword, status, startSize, pageSize, sortParam, sortType)
|
|
|
if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
br.Msg = "获取失败"
|
|
|
br.ErrMsg = "获取数据失败,Err:" + err.Error()
|
|
@@ -394,8 +399,10 @@ func (c *EdbInfoController) SaveEdbRefreshDefaultConfig() {
|
|
|
}
|
|
|
|
|
|
tmpArr := []string{"每周", "每旬", "每月", "每季", "每半年", "每年"}
|
|
|
+ // 配置的map,避免同一种类型配置同一个时间
|
|
|
+ configMap := make(map[string]string)
|
|
|
for _, v := range req.List {
|
|
|
- if utils.InArrayByStr(tmpArr, v.RefreshFrequency) && v.RefreshFrequencyDay <= 0 {
|
|
|
+ if utils.InArrayByStr(tmpArr, v.RefreshFrequency) && v.RefreshFrequencyDay < 0 {
|
|
|
br.Msg = "请选择具体日期"
|
|
|
br.IsSendEmail = false
|
|
|
return
|
|
@@ -406,6 +413,15 @@ func (c *EdbInfoController) SaveEdbRefreshDefaultConfig() {
|
|
|
br.IsSendEmail = false
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+ // 配置的map,避免同一种类型配置同一个时间
|
|
|
+ key := fmt.Sprint(v.RefreshFrequency, "_", v.RefreshFrequencyDay, "_", v.RefreshTime)
|
|
|
+ if _, ok := configMap[key]; ok {
|
|
|
+ br.Msg = "刷新频率和日期不能重复"
|
|
|
+ br.IsSendEmail = false
|
|
|
+ return
|
|
|
+ }
|
|
|
+ configMap[key] = key
|
|
|
}
|
|
|
|
|
|
addList := make([]*edb_refresh.EdbRefreshDefaultConfig, 0)
|
|
@@ -472,8 +488,11 @@ func (c *EdbInfoController) SaveEdbRefreshConfig() {
|
|
|
}
|
|
|
|
|
|
tmpArr := []string{"每周", "每旬", "每月", "每季", "每半年", "每年"}
|
|
|
+
|
|
|
+ // 配置的map,避免同一种类型配置同一个时间
|
|
|
+ configMap := make(map[string]string)
|
|
|
for _, v := range req.List {
|
|
|
- if utils.InArrayByStr(tmpArr, v.RefreshFrequency) && v.RefreshFrequencyDay <= 0 {
|
|
|
+ if utils.InArrayByStr(tmpArr, v.RefreshFrequency) && v.RefreshFrequencyDay < 0 {
|
|
|
br.Msg = "请选择具体日期"
|
|
|
br.IsSendEmail = false
|
|
|
return
|
|
@@ -484,13 +503,22 @@ func (c *EdbInfoController) SaveEdbRefreshConfig() {
|
|
|
br.IsSendEmail = false
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+ // 配置的map,避免同一种类型配置同一个时间
|
|
|
+ key := fmt.Sprint(v.RefreshFrequency, "_", v.RefreshFrequencyDay, "_", v.RefreshTime)
|
|
|
+ if _, ok := configMap[key]; ok {
|
|
|
+ br.Msg = "刷新频率和日期不能重复"
|
|
|
+ br.IsSendEmail = false
|
|
|
+ return
|
|
|
+ }
|
|
|
+ configMap[key] = key
|
|
|
}
|
|
|
|
|
|
edbIdList := make([]int, 0)
|
|
|
// 指标id列表
|
|
|
if req.IsSelectAll {
|
|
|
// 如果是列表全选
|
|
|
- _, edbList, err := getList(req.Source, req.SubSource, req.ClassifyId, req.TerminalCode, req.SysUserId, req.Frequency, req.Keyword, req.Status, 0, 100000)
|
|
|
+ _, edbList, err := getList(req.Source, req.SubSource, req.ClassifyId, req.TerminalCode, req.SysUserId, req.Frequency, req.Keyword, req.Status, 0, 100000, "", "")
|
|
|
if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
br.Msg = "获取失败"
|
|
|
br.ErrMsg = "获取数据失败,Err:" + err.Error()
|
|
@@ -609,7 +637,7 @@ func (c *EdbInfoController) SaveEdbRefreshStatus() {
|
|
|
// 指标id列表
|
|
|
if req.IsSelectAll {
|
|
|
// 如果是列表全选
|
|
|
- _, edbList, err := getList(req.Source, req.SubSource, req.ClassifyId, req.TerminalCode, req.SysUserId, req.Frequency, req.Keyword, req.Status, 0, 100000)
|
|
|
+ _, edbList, err := getList(req.Source, req.SubSource, req.ClassifyId, req.TerminalCode, req.SysUserId, req.Frequency, req.Keyword, req.Status, 0, 100000, "", "")
|
|
|
if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
br.Msg = "获取失败"
|
|
|
br.ErrMsg = "获取数据失败,Err:" + err.Error()
|
|
@@ -644,7 +672,7 @@ func (c *EdbInfoController) SaveEdbRefreshStatus() {
|
|
|
}
|
|
|
|
|
|
isStop := 0
|
|
|
- if req.ModifyStatus == `禁用` {
|
|
|
+ if req.ModifyStatus == `暂停` {
|
|
|
isStop = 1
|
|
|
}
|
|
|
|
|
@@ -683,15 +711,17 @@ func (c *EdbInfoController) SaveEdbRefreshStatus() {
|
|
|
// @return total int
|
|
|
// @return list []*data_manage.BaseEdbInfo
|
|
|
// @return err error
|
|
|
-func getList(source, subSource, classifyId int, terminalCode, sysUserId, frequency, keyword, status string, startSize, pageSize int) (total int, list []*data_manage.BaseEdbInfo, err error) {
|
|
|
+func getList(source, subSource, classifyId int, terminalCode, sysUserId, frequency, keyword, status string, startSize, pageSize int, sortParam, sortType string) (total int, list []*data_manage.BaseEdbInfo, err error) {
|
|
|
var pars []interface{}
|
|
|
var condition string
|
|
|
|
|
|
list = make([]*data_manage.BaseEdbInfo, 0)
|
|
|
|
|
|
- isStop := 0
|
|
|
- if status == `禁用` {
|
|
|
+ isStop := -1
|
|
|
+ if status == `暂停` {
|
|
|
isStop = 1
|
|
|
+ } else if status == "启用" {
|
|
|
+ isStop = 0
|
|
|
}
|
|
|
|
|
|
switch source {
|
|
@@ -731,10 +761,16 @@ func getList(source, subSource, classifyId int, terminalCode, sysUserId, frequen
|
|
|
pars = utils.GetLikeKeywordPars(pars, keyword, 2)
|
|
|
}
|
|
|
}
|
|
|
- condition += " AND is_stop = ? "
|
|
|
- pars = append(pars, isStop)
|
|
|
|
|
|
- total, list, err = data_manage.GetMysteelChemicalBaseInfo(condition, pars, startSize, pageSize)
|
|
|
+ if isStop >= 0 {
|
|
|
+ condition += " AND is_stop = ? "
|
|
|
+ pars = append(pars, isStop)
|
|
|
+ }
|
|
|
+ sortStr := ``
|
|
|
+ if sortParam != `` {
|
|
|
+ sortStr = fmt.Sprintf("%s %s,base_from_mysteel_chemical_index_id desc ", sortParam, sortType)
|
|
|
+ }
|
|
|
+ total, list, err = data_manage.GetMysteelChemicalBaseInfo(condition, pars, sortStr, startSize, pageSize)
|
|
|
case utils.DATA_SOURCE_YS: // 有色
|
|
|
if classifyId > 0 {
|
|
|
condition += " AND classify_id = ? "
|
|
@@ -767,13 +803,25 @@ func getList(source, subSource, classifyId int, terminalCode, sysUserId, frequen
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- condition += " AND is_stop = ? "
|
|
|
- pars = append(pars, isStop)
|
|
|
+ if isStop >= 0 {
|
|
|
+ condition += " AND is_stop = ? "
|
|
|
+ pars = append(pars, isStop)
|
|
|
+ }
|
|
|
+
|
|
|
+ sortStr := ``
|
|
|
+ if sortParam != `` {
|
|
|
+ sortStr = fmt.Sprintf("%s %s,base_from_smm_index_id desc ", sortParam, sortType)
|
|
|
+ }
|
|
|
|
|
|
- total, list, err = data_manage.GetSmmBaseInfo(condition, pars, startSize, pageSize)
|
|
|
+ total, list, err = data_manage.GetSmmBaseInfo(condition, pars, sortStr, startSize, pageSize)
|
|
|
default:
|
|
|
- condition += ` AND source = ? AND sub_source = ? AND no_update = ?`
|
|
|
- pars = append(pars, source, subSource, isStop)
|
|
|
+ condition += ` AND source = ? AND sub_source = ? `
|
|
|
+ pars = append(pars, source, subSource)
|
|
|
+
|
|
|
+ if isStop >= 0 {
|
|
|
+ condition += " AND no_update = ? "
|
|
|
+ pars = append(pars, isStop)
|
|
|
+ }
|
|
|
|
|
|
if classifyId > 0 {
|
|
|
condition += " AND classify_id = ? "
|
|
@@ -811,7 +859,12 @@ func getList(source, subSource, classifyId int, terminalCode, sysUserId, frequen
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- total, list, err = data_manage.GetEdbBaseInfo(condition, pars, startSize, pageSize)
|
|
|
+ sortStr := ``
|
|
|
+ if sortParam != `` {
|
|
|
+ sortStr = fmt.Sprintf("%s %s,edb_info_id desc ", sortParam, sortType)
|
|
|
+ }
|
|
|
+
|
|
|
+ total, list, err = data_manage.GetEdbBaseInfo(condition, pars, sortStr, startSize, pageSize)
|
|
|
}
|
|
|
|
|
|
return
|