|
@@ -7,7 +7,7 @@ import (
|
|
|
"eta/eta_api/models"
|
|
|
"eta/eta_api/models/data_manage"
|
|
|
excel3 "eta/eta_api/models/data_manage/excel"
|
|
|
- "eta/eta_api/models/data_manage/request"
|
|
|
+ "eta/eta_api/models/data_manage/excel/request"
|
|
|
"eta/eta_api/models/data_manage/response"
|
|
|
"eta/eta_api/services/data"
|
|
|
excel2 "eta/eta_api/services/data/excel"
|
|
@@ -127,6 +127,9 @@ func (c *ExcelInfoController) Add() {
|
|
|
req.Source = 1
|
|
|
}
|
|
|
content := req.Content
|
|
|
+
|
|
|
+ // 引用的指标id
|
|
|
+ edbInfoIdList := make([]int, 0)
|
|
|
// 自定义表格
|
|
|
if req.Source == 2 {
|
|
|
jsonStrByte, err := json.Marshal(req.TableData)
|
|
@@ -149,6 +152,8 @@ func (c *ExcelInfoController) Add() {
|
|
|
br.ErrMsg = "自定义表格数据获取失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
+ edbInfoIdList = tableDataConfig.EdbInfoIdList
|
|
|
+
|
|
|
contentByte, err := json.Marshal(tableDataConfig)
|
|
|
if err != nil {
|
|
|
br.Msg = "自定义表格数据获取失败"
|
|
@@ -167,6 +172,31 @@ func (c *ExcelInfoController) Add() {
|
|
|
return
|
|
|
}
|
|
|
content = string(contentByte)
|
|
|
+
|
|
|
+ var result request.MixedTableReq
|
|
|
+ err = json.Unmarshal(contentByte, &result)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "表格json转结构体失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ newResult, tmpErr := excel2.GetMixedTableCellData(result.Data)
|
|
|
+ if tmpErr != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取最新的数据失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ edbInfoIdMap := make(map[int]int)
|
|
|
+ for _, tmpV := range newResult {
|
|
|
+ for _, v := range tmpV {
|
|
|
+ if v.EdbInfoId > 0 {
|
|
|
+ if _, ok := edbInfoIdMap[v.EdbInfoId]; !ok {
|
|
|
+ edbInfoIdMap[v.EdbInfoId] = v.EdbInfoId
|
|
|
+ edbInfoIdList = append(edbInfoIdList, v.EdbInfoId)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
timestamp := strconv.FormatInt(time.Now().UnixNano(), 10)
|
|
@@ -187,7 +217,20 @@ func (c *ExcelInfoController) Add() {
|
|
|
CreateTime: time.Now(),
|
|
|
}
|
|
|
|
|
|
- err = excel3.AddExcelInfo(excelInfo)
|
|
|
+ excelEdbMappingList := make([]*excel3.ExcelEdbMapping, 0)
|
|
|
+ if len(edbInfoIdList) > 0 {
|
|
|
+ for _, edbInfoId := range edbInfoIdList {
|
|
|
+ excelEdbMappingList = append(excelEdbMappingList, &excel3.ExcelEdbMapping{
|
|
|
+ //ExcelEdbMappingId: 0,
|
|
|
+ //ExcelInfoId: 0,
|
|
|
+ Source: excelInfo.Source,
|
|
|
+ EdbInfoId: edbInfoId,
|
|
|
+ CreateTime: time.Now(),
|
|
|
+ ModifyTime: time.Now(),
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+ err = excel3.AddExcelInfo(excelInfo, excelEdbMappingList)
|
|
|
if err != nil {
|
|
|
br.Msg = "保存失败"
|
|
|
br.ErrMsg = "保存失败,Err:" + err.Error()
|
|
@@ -504,6 +547,8 @@ func (c *ExcelInfoController) Edit() {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ // 引用的指标id
|
|
|
+ edbInfoIdList := make([]int, 0)
|
|
|
content := req.Content
|
|
|
switch excelInfo.Source {
|
|
|
case 2: // 自定义表格
|
|
@@ -520,6 +565,7 @@ func (c *ExcelInfoController) Edit() {
|
|
|
br.ErrMsg = "自定义表格数据获取失败,json转结构体失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
+ edbInfoIdList = tableData.EdbInfoIdList
|
|
|
tableDataConfig, err := excel2.GetTableDataConfig(tableData)
|
|
|
if err != nil {
|
|
|
br.Msg = "自定义表格数据获取失败"
|
|
@@ -541,6 +587,31 @@ func (c *ExcelInfoController) Edit() {
|
|
|
return
|
|
|
}
|
|
|
content = string(contentByte)
|
|
|
+
|
|
|
+ var result request.MixedTableReq
|
|
|
+ err = json.Unmarshal(contentByte, &result)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "表格json转结构体失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ newResult, tmpErr := excel2.GetMixedTableCellData(result.Data)
|
|
|
+ if tmpErr != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取最新的数据失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ edbInfoIdMap := make(map[int]int)
|
|
|
+ for _, tmpV := range newResult {
|
|
|
+ for _, v := range tmpV {
|
|
|
+ if v.EdbInfoId > 0 {
|
|
|
+ if _, ok := edbInfoIdMap[v.EdbInfoId]; !ok {
|
|
|
+ edbInfoIdMap[v.EdbInfoId] = v.EdbInfoId
|
|
|
+ edbInfoIdList = append(edbInfoIdList, v.EdbInfoId)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
excelInfo.ModifyTime = time.Now()
|
|
@@ -552,7 +623,21 @@ func (c *ExcelInfoController) Edit() {
|
|
|
|
|
|
updateExcelInfoParams := []string{"ModifyTime", "ExcelName", "ExcelType", "ExcelClassifyId", "ExcelImage", "Content"}
|
|
|
|
|
|
- err = excel3.EditExcelInfo(excelInfo, updateExcelInfoParams)
|
|
|
+ excelEdbMappingList := make([]*excel3.ExcelEdbMapping, 0)
|
|
|
+ if len(edbInfoIdList) > 0 {
|
|
|
+ for _, edbInfoId := range edbInfoIdList {
|
|
|
+ excelEdbMappingList = append(excelEdbMappingList, &excel3.ExcelEdbMapping{
|
|
|
+ //ExcelEdbMappingId: 0,
|
|
|
+ ExcelInfoId: excelInfo.ExcelInfoId,
|
|
|
+ Source: excelInfo.Source,
|
|
|
+ EdbInfoId: edbInfoId,
|
|
|
+ CreateTime: time.Now(),
|
|
|
+ ModifyTime: time.Now(),
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ err = excel3.EditExcelInfo(excelInfo, updateExcelInfoParams, excelEdbMappingList)
|
|
|
if err != nil {
|
|
|
br.Msg = "保存失败"
|
|
|
br.ErrMsg = "保存失败,Err:" + err.Error()
|
|
@@ -2055,88 +2140,3 @@ func decompressZip(src string) error {
|
|
|
}
|
|
|
return nil
|
|
|
}
|
|
|
-
|
|
|
-// FixTableData ETA1.0.2 自定义分析(生成指标数据修复)
|
|
|
-func FixTableData() {
|
|
|
- // 获取一级分类
|
|
|
- classifyList, err := excel3.GetExcelClassifyByParentId(0, utils.EXCEL_DEFAULT)
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
- fmt.Println("数据修复失败,Err:" + err.Error())
|
|
|
- return
|
|
|
- }
|
|
|
- timeTableMap := make(map[int]int)
|
|
|
- mixTableMap := make(map[int]int)
|
|
|
- for _, v := range classifyList {
|
|
|
- // 时间序列表格
|
|
|
- classify := &excel3.ExcelClassify{
|
|
|
- //ExcelClassifyId: 0,
|
|
|
- ExcelClassifyName: v.ExcelClassifyName,
|
|
|
- ParentId: v.ParentId,
|
|
|
- Source: utils.TIME_TABLE,
|
|
|
- SysUserId: v.SysUserId,
|
|
|
- SysUserRealName: v.SysUserRealName,
|
|
|
- Level: v.Level,
|
|
|
- UniqueCode: utils.MD5(fmt.Sprint(v.UniqueCode, "_", utils.TIME_TABLE)),
|
|
|
- Sort: v.Sort,
|
|
|
- CreateTime: time.Now(),
|
|
|
- ModifyTime: time.Now(),
|
|
|
- }
|
|
|
- _, err = excel3.AddExcelClassify(classify)
|
|
|
- timeTableMap[v.ExcelClassifyId] = classify.ExcelClassifyId
|
|
|
-
|
|
|
- // 混合表格
|
|
|
- classify2 := &excel3.ExcelClassify{
|
|
|
- //ExcelClassifyId: 0,
|
|
|
- ExcelClassifyName: v.ExcelClassifyName,
|
|
|
- ParentId: v.ParentId,
|
|
|
- Source: utils.MIXED_TABLE,
|
|
|
- SysUserId: v.SysUserId,
|
|
|
- SysUserRealName: v.SysUserRealName,
|
|
|
- Level: v.Level,
|
|
|
- UniqueCode: utils.MD5(fmt.Sprint(v.UniqueCode, "_", utils.MIXED_TABLE)),
|
|
|
- Sort: v.Sort,
|
|
|
- CreateTime: time.Now(),
|
|
|
- ModifyTime: time.Now(),
|
|
|
- }
|
|
|
- _, err = excel3.AddExcelClassify(classify2)
|
|
|
- mixTableMap[v.ExcelClassifyId] = classify2.ExcelClassifyId
|
|
|
- }
|
|
|
-
|
|
|
- // 修改时间序列表
|
|
|
- {
|
|
|
- // 获取时间序列表
|
|
|
- timeTableExcelList, err := excel3.GetNoContentExcelInfoAll(utils.TIME_TABLE)
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
- fmt.Println("获取时间序列表列表失败,Err:" + err.Error())
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- for _, v := range timeTableExcelList {
|
|
|
- classifyId, ok := timeTableMap[v.ExcelClassifyId]
|
|
|
- if !ok {
|
|
|
- continue
|
|
|
- }
|
|
|
- excel3.UpdateExcelInfoClassifyId(classifyId, v.ExcelInfoId)
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- // 修改混合序列表
|
|
|
- {
|
|
|
- // 获取时间序列表
|
|
|
- mixTableExcelList, err := excel3.GetNoContentExcelInfoAll(utils.MIXED_TABLE)
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
- fmt.Println("获取时间序列表列表失败,Err:" + err.Error())
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- for _, v := range mixTableExcelList {
|
|
|
- classifyId, ok := mixTableMap[v.ExcelClassifyId]
|
|
|
- if !ok {
|
|
|
- continue
|
|
|
- }
|
|
|
- excel3.UpdateExcelInfoClassifyId(classifyId, v.ExcelInfoId)
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- fmt.Println("完成数据修复")
|
|
|
-}
|