|
@@ -248,6 +248,7 @@ func (c *ExcelInfoController) Add() {
|
|
|
ParentId: req.ParentId,
|
|
|
UpdateUserId: sysUser.AdminId,
|
|
|
UpdateUserRealName: sysUser.RealName,
|
|
|
+ SourcesFrom: req.SourcesFrom,
|
|
|
}
|
|
|
|
|
|
excelEdbMappingList := make([]*excel3.ExcelEdbMapping, 0)
|
|
@@ -662,6 +663,70 @@ func (c *ExcelInfoController) Detail() {
|
|
|
excelDetail.Editor = markStatus.Editor
|
|
|
}
|
|
|
|
|
|
+ // 图表的指标来源
|
|
|
+ if excelDetail.Source == utils.TIME_TABLE {
|
|
|
+ jsonStrByte, err := json.Marshal(excelDetail.TableData)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "自定义表格数据获取失败"
|
|
|
+ br.ErrMsg = "自定义表格数据获取失败,转json失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var tableData request.TableDataReq
|
|
|
+ err = json.Unmarshal(jsonStrByte, &tableData)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "自定义表格数据获取失败"
|
|
|
+ br.ErrMsg = "自定义表格数据获取失败,json转结构体失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ sourceNameList, sourceNameEnList, err := excel2.GetEdbSourceByEdbInfoIdList(tableData.EdbInfoIdList)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "自定义表格数据获取失败"
|
|
|
+ br.ErrMsg = "自定义表格数据获取失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ excelDetail.ExcelSource = strings.Join(sourceNameList, ",")
|
|
|
+ excelDetail.ExcelSourceEn = strings.Join(sourceNameEnList, ",")
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ // 数据刷新-混合表格
|
|
|
+ if excelDetail.Source == utils.MIXED_TABLE {
|
|
|
+ // todo 刷新动态表的所有子表中关联的指标数据
|
|
|
+ jsonByte, e := json.Marshal(excelDetail.TableData)
|
|
|
+ if e != nil {
|
|
|
+ br.Msg = "刷新失败"
|
|
|
+ br.ErrMsg = "JSON格式化混合表格数据失败, Err: " + e.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var tableData request.MixedTableReq
|
|
|
+ if e = json.Unmarshal(jsonByte, &tableData); e != nil {
|
|
|
+ br.Msg = "刷新失败"
|
|
|
+ br.ErrMsg = "解析混合表格数据失败, Err: " + e.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ edbInfoIds := make([]int, 0)
|
|
|
+ edbInfoIdExist := make(map[int]bool)
|
|
|
+ if len(tableData.Data) > 0 {
|
|
|
+ for _, t := range tableData.Data {
|
|
|
+ for _, v := range t {
|
|
|
+ if v.EdbInfoId > 0 && !edbInfoIdExist[v.EdbInfoId] {
|
|
|
+ edbInfoIdExist[v.EdbInfoId] = true
|
|
|
+ edbInfoIds = append(edbInfoIds, v.EdbInfoId)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ sourceNameList, sourceNameEnList, err := excel2.GetEdbSourceByEdbInfoIdList(edbInfoIds)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "自定义表格数据获取失败"
|
|
|
+ br.ErrMsg = "自定义表格数据获取失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ excelDetail.ExcelSource = strings.Join(sourceNameList, ",")
|
|
|
+ excelDetail.ExcelSourceEn = strings.Join(sourceNameEnList, ",")
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
// excel表格按钮权限
|
|
|
if excelDetail.Source != utils.BALANCE_TABLE {
|
|
|
excelDetail.Button = excel2.GetExcelInfoOpButton(sysUser, excelDetail.SysUserId, excelDetail.Source, excelDetail.HaveOperaAuth)
|
|
@@ -936,12 +1001,14 @@ func (c *ExcelInfoController) Edit() {
|
|
|
excelInfo.UpdateUserId = sysUser.AdminId
|
|
|
excelInfo.UpdateUserRealName = sysUser.RealName
|
|
|
excelInfo.Content = content
|
|
|
+ excelInfo.SourcesFrom = req.SourcesFrom
|
|
|
+
|
|
|
// 自动保存时不会传缩略图,也就不更新这个字段
|
|
|
var updateExcelInfoParams []string
|
|
|
if req.ExcelImage != "" {
|
|
|
- updateExcelInfoParams = []string{"ModifyTime", "ExcelName", "ExcelType", "ExcelClassifyId", "ExcelImage", "Content", "UpdateUserId", "UpdateUserRealName"}
|
|
|
+ updateExcelInfoParams = []string{"ModifyTime", "ExcelName", "ExcelType", "ExcelClassifyId", "ExcelImage", "Content", "SourcesFrom"}
|
|
|
} else {
|
|
|
- updateExcelInfoParams = []string{"ModifyTime", "ExcelName", "ExcelType", "ExcelClassifyId", "Content", "UpdateUserId", "UpdateUserRealName"}
|
|
|
+ updateExcelInfoParams = []string{"ModifyTime", "ExcelName", "ExcelType", "ExcelClassifyId", "Content", "SourcesFrom"}
|
|
|
}
|
|
|
|
|
|
excelEdbMappingList := make([]*excel3.ExcelEdbMapping, 0)
|
|
@@ -1479,6 +1546,7 @@ func (c *ExcelInfoController) GetExcelTableData() {
|
|
|
}
|
|
|
|
|
|
var tableData excel.TableData
|
|
|
+ var excelSource, excelSourceEn string
|
|
|
switch excelInfo.Source {
|
|
|
case utils.EXCEL_DEFAULT:
|
|
|
luckySheetData, err := excel.GetLuckySheetData(excelInfo.Content)
|
|
@@ -1513,6 +1581,14 @@ func (c *ExcelInfoController) GetExcelTableData() {
|
|
|
br.ErrMsg = "转换成table失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
+ sourceNameList, sourceNameEnList, err := excel2.GetEdbSourceByEdbInfoIdList(result.EdbInfoIdList)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "自定义表格数据获取失败"
|
|
|
+ br.ErrMsg = "自定义表格数据获取失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ excelSource = strings.Join(sourceNameList, ",")
|
|
|
+ excelSourceEn = strings.Join(sourceNameEnList, ",")
|
|
|
case utils.MIXED_TABLE:
|
|
|
var result request.MixedTableReq
|
|
|
err = json.Unmarshal([]byte(excelInfo.Content), &result)
|
|
@@ -1530,13 +1606,32 @@ func (c *ExcelInfoController) GetExcelTableData() {
|
|
|
br.ErrMsg = "获取最新的数据失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
- tableData, err = excel.GetTableDataByMixedTableData(newResult)
|
|
|
+ tableData, err = excel.GetTableDataByMixedTableData(newResult, true)
|
|
|
if err != nil {
|
|
|
br.Msg = "获取失败"
|
|
|
br.ErrMsg = "转换成table失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
-
|
|
|
+ edbInfoIds := make([]int, 0)
|
|
|
+ edbInfoIdExist := make(map[int]bool)
|
|
|
+ if len(newResult) > 0 {
|
|
|
+ for _, t := range newResult {
|
|
|
+ for _, v := range t {
|
|
|
+ if v.EdbInfoId > 0 && !edbInfoIdExist[v.EdbInfoId] {
|
|
|
+ edbInfoIdExist[v.EdbInfoId] = true
|
|
|
+ edbInfoIds = append(edbInfoIds, v.EdbInfoId)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ sourceNameList, sourceNameEnList, err := excel2.GetEdbSourceByEdbInfoIdList(edbInfoIds)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "自定义表格数据获取失败"
|
|
|
+ br.ErrMsg = "自定义表格数据获取失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ excelSource = strings.Join(sourceNameList, ",")
|
|
|
+ excelSourceEn = strings.Join(sourceNameEnList, ",")
|
|
|
}
|
|
|
|
|
|
tableData = excel.HandleTableCell(tableData)
|
|
@@ -1558,11 +1653,14 @@ func (c *ExcelInfoController) GetExcelTableData() {
|
|
|
}
|
|
|
|
|
|
resp := response.ExcelTableDetailResp{
|
|
|
- UniqueCode: excelInfo.UniqueCode,
|
|
|
- ExcelImage: excelInfo.ExcelImage,
|
|
|
- ExcelName: excelInfo.ExcelName,
|
|
|
- TableInfo: tableData,
|
|
|
- Config: config,
|
|
|
+ UniqueCode: excelInfo.UniqueCode,
|
|
|
+ ExcelImage: excelInfo.ExcelImage,
|
|
|
+ ExcelName: excelInfo.ExcelName,
|
|
|
+ TableInfo: tableData,
|
|
|
+ Config: config,
|
|
|
+ SourcesFrom: excelInfo.SourcesFrom,
|
|
|
+ ExcelSource: excelSource,
|
|
|
+ ExcelSourceEn: excelSourceEn,
|
|
|
}
|
|
|
br.Ret = 200
|
|
|
br.Success = true
|
|
@@ -1743,12 +1841,23 @@ func (c *ExcelInfoController) GetFirstEdbData() {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ sourceNameList, sourceNameEnList, err := excel2.GetEdbSourceByEdbInfoIdList([]int{edbInfoId})
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "自定义表格数据获取失败"
|
|
|
+ br.ErrMsg = "自定义表格数据获取失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ excelSource := strings.Join(sourceNameList, ",")
|
|
|
+ excelSourceEn := strings.Join(sourceNameEnList, ",")
|
|
|
+
|
|
|
br.Ret = 200
|
|
|
br.Success = true
|
|
|
br.Msg = "获取成功"
|
|
|
br.Data = response.TableDataItem{
|
|
|
EdbInfoId: edbInfoId,
|
|
|
Data: dataList,
|
|
|
+ ExcelSource: excelSource,
|
|
|
+ ExcelSourceEn: excelSourceEn,
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -1811,12 +1920,23 @@ func (c *ExcelInfoController) GetOtherEdbData() {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ sourceNameList, sourceNameEnList, err := excel2.GetEdbSourceByEdbInfoIdList([]int{req.EdbInfoId})
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "自定义表格数据获取失败"
|
|
|
+ br.ErrMsg = "自定义表格数据获取失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ excelSource := strings.Join(sourceNameList, ",")
|
|
|
+ excelSourceEn := strings.Join(sourceNameEnList, ",")
|
|
|
+
|
|
|
br.Ret = 200
|
|
|
br.Success = true
|
|
|
br.Msg = "获取成功"
|
|
|
br.Data = response.TableDataItem{
|
|
|
EdbInfoId: req.EdbInfoId,
|
|
|
Data: dataList,
|
|
|
+ ExcelSource: excelSource,
|
|
|
+ ExcelSourceEn: excelSourceEn,
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -2344,7 +2464,7 @@ func (c *ExcelInfoController) Download() {
|
|
|
br.ErrMsg = "获取最新的数据失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
- tableData, err = excel.GetTableDataByMixedTableData(newResult)
|
|
|
+ tableData, err = excel.GetTableDataByMixedTableData(newResult, false)
|
|
|
if err != nil {
|
|
|
br.Msg = "获取失败"
|
|
|
br.ErrMsg = "转换成table失败,Err:" + err.Error()
|
|
@@ -2788,3 +2908,52 @@ func (c *ExcelInfoController) GetBatchChartRefreshResult() {
|
|
|
br.Ret = 200
|
|
|
br.Success = true
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+// GetBatchChartRefreshResult
|
|
|
+// @Title 获取批量刷新表格结果
|
|
|
+// @Description 获取批量刷新表格结果
|
|
|
+// @Param EdbInfoId query int true "edb id"
|
|
|
+// @Success Ret=200 刷新成功
|
|
|
+// @router /excel_info/get_edb_source [get]
|
|
|
+func (c *ExcelInfoController) GetEdbSource() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ c.Data["json"] = br
|
|
|
+ c.ServeJSON()
|
|
|
+ }()
|
|
|
+ sysUser := c.SysUser
|
|
|
+ if sysUser == nil {
|
|
|
+ br.Msg = "请登录"
|
|
|
+ br.ErrMsg = "请登录,SysUser Is Empty"
|
|
|
+ br.Ret = 408
|
|
|
+ return
|
|
|
+ }
|
|
|
+ edbInfoId, _ := c.GetInt("EdbInfoId")
|
|
|
+ if edbInfoId <= 0 {
|
|
|
+ br.Msg = "请选择指标"
|
|
|
+ br.ErrMsg = "请选择指标"
|
|
|
+ br.IsSendEmail = false
|
|
|
+ return
|
|
|
+ }
|
|
|
+ sourceNameList, sourceNameEnList, err := excel2.GetEdbSourceByEdbInfoIdList([]int{edbInfoId})
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "自定义表格数据获取失败"
|
|
|
+ br.ErrMsg = "自定义表格数据获取失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ excelSource := strings.Join(sourceNameList, ",")
|
|
|
+ excelSourceEn := strings.Join(sourceNameEnList, ",")
|
|
|
+
|
|
|
+ var resp struct {
|
|
|
+ ExcelSource string `description:"表格来源"`
|
|
|
+ ExcelSourceEn string `description:"表格来源(英文)"`
|
|
|
+ }
|
|
|
+
|
|
|
+ resp.ExcelSource = excelSource
|
|
|
+ resp.ExcelSourceEn = excelSourceEn
|
|
|
+
|
|
|
+ br.Data = resp
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+}
|