|
@@ -3,11 +3,11 @@ package data
|
|
|
import (
|
|
|
"encoding/json"
|
|
|
"errors"
|
|
|
- "fmt"
|
|
|
- "github.com/rdlucklib/rdluck_tools/http"
|
|
|
"eta/eta_api/models/data_manage"
|
|
|
"eta/eta_api/models/system"
|
|
|
"eta/eta_api/utils"
|
|
|
+ "fmt"
|
|
|
+ "github.com/rdlucklib/rdluck_tools/http"
|
|
|
"strings"
|
|
|
"time"
|
|
|
)
|
|
@@ -282,6 +282,13 @@ func AddMysteelChemicalIndex(classifyId int, indexCode, updateWeek, updateTimeSt
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ edbTerminal := getEdbTerminal(utils.DATA_SOURCE_MYSTEEL_CHEMICAL)
|
|
|
+ if edbTerminal == nil {
|
|
|
+ errMsg = `钢联终端信息未配置`
|
|
|
+ err = errors.New(errMsg)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
baseFromMysteelChemicalIndex = &data_manage.BaseFromMysteelChemicalIndex{
|
|
|
//BaseFromMysteelChemicalIndexId: 0,
|
|
|
BaseFromMysteelChemicalClassifyId: classifyId,
|
|
@@ -300,14 +307,13 @@ func AddMysteelChemicalIndex(classifyId int, indexCode, updateWeek, updateTimeSt
|
|
|
SysUserRealName: sysUserName,
|
|
|
ModifyTime: time.Now(),
|
|
|
CreateTime: time.Now(),
|
|
|
+ TerminalCode: edbTerminal.TerminalCode, // 终端编码
|
|
|
}
|
|
|
_, err = data_manage.AddBaseFromMysteelChemicalIndex(baseFromMysteelChemicalIndex)
|
|
|
if err != nil {
|
|
|
errMsg = "保存分类失败"
|
|
|
}
|
|
|
|
|
|
- // 调用指标服务生成excel并拉取数据
|
|
|
- go CurlAddMysteelChemicalData(indexCode, updateWeek)
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -355,8 +361,6 @@ func EditMysteelChemicalIndex(indexId, classifyId int, updateWeek, updateTimeStr
|
|
|
go func(oldUpdateWeek string, indexInfo *data_manage.BaseFromMysteelChemicalIndex) {
|
|
|
// 先删除excel表
|
|
|
CurlDelMysteelChemicalData(indexInfo.IndexCode, oldUpdateWeek)
|
|
|
- // 再创建excel表
|
|
|
- CurlAddMysteelChemicalData(indexInfo.IndexCode, indexInfo.UpdateWeek)
|
|
|
}(oldUpdateWeek, baseFromMysteelChemicalIndex)
|
|
|
|
|
|
return
|
|
@@ -537,38 +541,6 @@ func GetMysteelChemicalOpButton(sysUser *system.Admin, belongUserId int) (button
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-// CurlAddMysteelChemicalData 请求钢联服务器添加指标
|
|
|
-func CurlAddMysteelChemicalData(indexCode, updateWeek string) {
|
|
|
- postUrl := utils.MySteelPostUrl + `/api/index/create`
|
|
|
- //type IndexAddReq struct {
|
|
|
- // IndexCode string `json:"IndexCode" binding:"required"` //指标编码
|
|
|
- // UpdateWeek string `json:"UpdateWeek"` //更新周期
|
|
|
- // RunMode string `description:"运行环境:debug:测试(默认),release:生产" json:"UpdateWeek"` //更新周期
|
|
|
- //}
|
|
|
- paramsMap := make(map[string]interface{})
|
|
|
-
|
|
|
- updateWeek = WeekMap[updateWeek]
|
|
|
- paramsMap["IndexCode"] = indexCode
|
|
|
- paramsMap["UpdateWeek"] = updateWeek
|
|
|
- paramsMap["RunMode"] = utils.RunMode
|
|
|
-
|
|
|
- paramJson, err := json.Marshal(paramsMap)
|
|
|
- if err != nil {
|
|
|
- fmt.Println("param json.Marshal Err:" + err.Error())
|
|
|
- err = errors.New("param json.Marshal Err:" + err.Error())
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- utils.FileLog.Info(fmt.Sprintf("CurlAddMysteelChemicalData parms:%s", string(paramJson)))
|
|
|
- result, err := http.Post(postUrl, string(paramJson), "application/json")
|
|
|
- if err != nil {
|
|
|
- fmt.Println("post err:" + err.Error())
|
|
|
- err = errors.New("post Err:" + err.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- utils.FileLog.Info("CurlAddMysteelChemicalData Result:%s", string(result))
|
|
|
-}
|
|
|
-
|
|
|
// CurlDelMysteelChemicalData 请求钢联服务器删除指标
|
|
|
func CurlDelMysteelChemicalData(indexCode, updateWeek string) {
|
|
|
postUrl := utils.MySteelPostUrl + `/api/index/delete`
|
|
@@ -613,7 +585,7 @@ var WeekMap = map[string]string{
|
|
|
"周日": "sunday",
|
|
|
}
|
|
|
|
|
|
-// CurlAddMysteelChemicalData 请求钢联服务器添加指标
|
|
|
+// CurlRefreshMysteelChemicalData 请求钢联服务器添加指标
|
|
|
func CurlRefreshMysteelChemicalData(mergeFilePath string) {
|
|
|
postUrl := utils.MySteelPostUrl + `/api/index/refresh`
|
|
|
//type IndexAddReq struct {
|
|
@@ -630,12 +602,45 @@ func CurlRefreshMysteelChemicalData(mergeFilePath string) {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- utils.FileLog.Info(fmt.Sprintf("CurlAddMysteelChemicalData parms:%s", string(paramJson)))
|
|
|
+ utils.FileLog.Info(fmt.Sprintf("CurlRefreshMysteelChemicalData parms:%s", string(paramJson)))
|
|
|
result, err := http.Post(postUrl, string(paramJson), "application/json")
|
|
|
if err != nil {
|
|
|
fmt.Println("post err:" + err.Error())
|
|
|
err = errors.New("post Err:" + err.Error())
|
|
|
return
|
|
|
}
|
|
|
- utils.FileLog.Info("CurlAddMysteelChemicalData Result:%s", string(result))
|
|
|
+ utils.FileLog.Info("CurlRefreshMysteelChemicalData Result:%s", string(result))
|
|
|
+}
|
|
|
+
|
|
|
+// getEdbTerminal 根据指标来源获取可用指标终端信息
|
|
|
+func getEdbTerminal(source int) (edbTerminal *data_manage.EdbTerminal) {
|
|
|
+ terminalNumList, err := data_manage.GetMysteelChemicalGroupTerminalNum()
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ terminalNumMap := make(map[string]int)
|
|
|
+ for _, v := range terminalNumList {
|
|
|
+ terminalNumMap[v.TerminalCode] = v.Num
|
|
|
+ }
|
|
|
+
|
|
|
+ terminalList, err := data_manage.GetEdbTerminalListBySource(source)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ num := 0
|
|
|
+ for _, v := range terminalList {
|
|
|
+ tmpNum := terminalNumMap[v.TerminalCode]
|
|
|
+
|
|
|
+ if edbTerminal == nil {
|
|
|
+ edbTerminal = v
|
|
|
+ num = tmpNum
|
|
|
+ } else if tmpNum < num {
|
|
|
+ edbTerminal = v
|
|
|
+ num = tmpNum
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return
|
|
|
}
|