Переглянути джерело

fix:调整请求保存excel结构体

Roc 1 рік тому
батько
коміт
fd06c76a88

+ 28 - 20
controllers/data_manage/excel_info.go

@@ -11,6 +11,7 @@ import (
 	"eta/eta_api/services"
 	"eta/eta_api/services/alarm_msg"
 	"eta/eta_api/services/data"
+	excel2 "eta/eta_api/services/data/excel"
 	"eta/eta_api/services/excel"
 	"eta/eta_api/utils"
 	"fmt"
@@ -143,7 +144,7 @@ func (c *ExcelInfoController) Add() {
 			return
 		}
 
-		tableDataConfig, err := data.GetTableDataConfig(tableData)
+		tableDataConfig, err := excel2.GetTableDataConfig(tableData)
 		if err != nil {
 			br.Msg = "自定义表格数据获取失败"
 			br.ErrMsg = "自定义表格数据获取失败,Err:" + err.Error()
@@ -237,6 +238,7 @@ func (c *ExcelInfoController) Add() {
 // @Param   Keyword   query   string  true       "搜索关键词"
 // @Param   AdminId   query   int  false       "创建人id"
 // @Param   Source   query   int  true       "格来源,1:excel插件的表格,2:自定义表格,3:混合表格,默认:1"
+// @Param   IsShowMe   query   bool  true       "是否只看我的,true、false"
 // @Success 200 {object} response.ExcelListResp
 // @router /excel_info/list [get]
 func (c *ExcelInfoController) List() {
@@ -301,6 +303,12 @@ func (c *ExcelInfoController) List() {
 		condition += " AND sys_user_id = ? "
 		pars = append(pars, adminId)
 	}
+	//只看我的
+	isShowMe, _ := c.GetBool("IsShowMe")
+	if isShowMe {
+		condition += " AND sys_user_id = ? "
+		pars = append(pars, sysUser.AdminId)
+	}
 	//获取表格信息
 	list, err := data_manage.GetNoContentExcelListByCondition(condition, pars, startSize, pageSize)
 	if err != nil && err.Error() != utils.ErrNoRow() {
@@ -361,7 +369,7 @@ func (c *ExcelInfoController) Detail() {
 	}
 
 	// 获取数据详情
-	excelDetail, errMsg, err := data.GetExcelDetailInfoByExcelInfoId(excelInfoId)
+	excelDetail, errMsg, err := excel2.GetExcelDetailInfoByExcelInfoId(excelInfoId)
 	if err != nil {
 		br.Msg = errMsg
 		br.ErrMsg = err.Error()
@@ -369,7 +377,7 @@ func (c *ExcelInfoController) Detail() {
 	}
 
 	// excel表格按钮权限
-	excelDetail.Button = data.GetExcelInfoOpButton(sysUser, excelDetail.SysUserId, excelDetail.Source)
+	excelDetail.Button = excel2.GetExcelInfoOpButton(sysUser, excelDetail.SysUserId, excelDetail.Source)
 
 	br.Ret = 200
 	br.Success = true
@@ -488,7 +496,7 @@ func (c *ExcelInfoController) Edit() {
 
 	// 操作权限校验
 	{
-		button := data.GetExcelInfoOpButton(sysUser, excelInfo.SysUserId, excelInfo.Source)
+		button := excel2.GetExcelInfoOpButton(sysUser, excelInfo.SysUserId, excelInfo.Source)
 		if !button.OpButton {
 			br.Msg = "无操作权限"
 			br.Msg = "无操作权限"
@@ -513,7 +521,7 @@ func (c *ExcelInfoController) Edit() {
 			br.ErrMsg = "自定义表格数据获取失败,json转结构体失败,Err:" + err.Error()
 			return
 		}
-		tableDataConfig, err := data.GetTableDataConfig(tableData)
+		tableDataConfig, err := excel2.GetTableDataConfig(tableData)
 		if err != nil {
 			br.Msg = "自定义表格数据获取失败"
 			br.ErrMsg = "自定义表格数据获取失败,Err:" + err.Error()
@@ -823,7 +831,7 @@ func (c *ExcelInfoController) Delete() {
 
 	// 操作权限校验
 	{
-		button := data.GetExcelInfoOpButton(sysUser, excelInfo.SysUserId, excelInfo.Source)
+		button := excel2.GetExcelInfoOpButton(sysUser, excelInfo.SysUserId, excelInfo.Source)
 		if !button.DeleteButton {
 			br.Msg = "无操作权限"
 			br.Msg = "无操作权限"
@@ -1072,14 +1080,14 @@ func (c *ExcelInfoController) GetExcelTableData() {
 			return
 		}
 	case 2:
-		var tableDataConfig data.TableDataConfig
+		var tableDataConfig excel2.TableDataConfig
 		err = json.Unmarshal([]byte(excelInfo.Content), &tableDataConfig)
 		if err != nil {
 			br.Msg = "获取失败"
 			br.ErrMsg = "表格json转结构体失败,Err:" + err.Error()
 			return
 		}
-		result, err := data.GetDataByTableDataConfig(tableDataConfig)
+		result, err := excel2.GetDataByTableDataConfig(tableDataConfig)
 		if err != nil {
 			br.Msg = "获取失败"
 			br.ErrMsg = "获取最新的表格数据失败,Err:" + err.Error()
@@ -1099,7 +1107,7 @@ func (c *ExcelInfoController) GetExcelTableData() {
 			br.ErrMsg = "表格json转结构体失败,Err:" + err.Error()
 			return
 		}
-		newResult, tmpErr := data.GetMixedTableCellData(result.Data)
+		newResult, tmpErr := excel2.GetMixedTableCellData(result.Data)
 		if tmpErr != nil {
 			br.Msg = "获取失败"
 			br.ErrMsg = "获取最新的数据失败,Err:" + err.Error()
@@ -1319,7 +1327,7 @@ func (c *ExcelInfoController) GetFirstEdbData() {
 		return
 	}
 
-	dataList, err := data.GetFirstEdbDataList(edbInfo, num, []string{})
+	dataList, err := excel2.GetFirstEdbDataList(edbInfo, num, []string{})
 	if err != nil {
 		br.Msg = "获取失败"
 		br.ErrMsg = fmt.Sprint("获取失败,Err:", err.Error())
@@ -1387,7 +1395,7 @@ func (c *ExcelInfoController) GetOtherEdbData() {
 		br.ErrMsg = fmt.Sprint("获取指标信息失败,Err:", err.Error())
 		return
 	}
-	dataList, err := data.GetOtherEdbDataList(edbInfo, req.DateList)
+	dataList, err := excel2.GetOtherEdbDataList(edbInfo, req.DateList)
 	if err != nil {
 		br.Msg = "获取失败"
 		br.ErrMsg = fmt.Sprint("获取失败,Err:", err.Error())
@@ -1561,7 +1569,7 @@ func (c *ExcelInfoController) GetFutureDateData() {
 				return
 			}
 
-			dataList, err := data.GetOtherEdbDataList(tmpEdbInfo, dateStrList)
+			dataList, err := excel2.GetOtherEdbDataList(tmpEdbInfo, dateStrList)
 			if err != nil {
 				br.Msg = "获取失败"
 				br.ErrMsg = fmt.Sprint("获取失败,Err:", err.Error())
@@ -1644,7 +1652,7 @@ func (c *ExcelInfoController) GetHistoryDateData() {
 			br.ErrMsg = "获取指标信息失败,err:" + err.Error()
 			return
 		}
-		firstDataList, err := data.GetFirstHistoryEdbDataList(tmpEdbInfo, req.Num, req.EndDate)
+		firstDataList, err := excel2.GetFirstHistoryEdbDataList(tmpEdbInfo, req.Num, req.EndDate)
 		if err != nil {
 			br.Msg = "获取失败"
 			br.ErrMsg = fmt.Sprint("获取失败,Err:", err.Error())
@@ -1673,7 +1681,7 @@ func (c *ExcelInfoController) GetHistoryDateData() {
 				return
 			}
 
-			dataList, err := data.GetOtherEdbDataList(tmpEdbInfo, dateStrList)
+			dataList, err := excel2.GetOtherEdbDataList(tmpEdbInfo, dateStrList)
 			if err != nil {
 				br.Msg = "获取失败"
 				br.ErrMsg = fmt.Sprint("获取失败,Err:", err.Error())
@@ -1721,7 +1729,7 @@ func (c *ExcelInfoController) Refresh() {
 	}
 
 	// 获取数据详情
-	excelDetail, errMsg, err := data.GetExcelDetailInfoByExcelInfoId(excelInfoId)
+	excelDetail, errMsg, err := excel2.GetExcelDetailInfoByExcelInfoId(excelInfoId)
 	if err != nil {
 		br.Msg = errMsg
 		br.ErrMsg = err.Error()
@@ -1730,7 +1738,7 @@ func (c *ExcelInfoController) Refresh() {
 
 	// 操作权限校验
 	{
-		button := data.GetExcelInfoOpButton(sysUser, excelDetail.SysUserId, excelDetail.Source)
+		button := excel2.GetExcelInfoOpButton(sysUser, excelDetail.SysUserId, excelDetail.Source)
 		if !button.RefreshButton {
 			br.Msg = "无操作权限"
 			br.Msg = "无操作权限"
@@ -1829,14 +1837,14 @@ func (c *ExcelInfoController) Download() {
 	case 1:
 		br.Msg = "表格类型异常"
 	case 2: // 自定义表格
-		var tableDataConfig data.TableDataConfig
+		var tableDataConfig excel2.TableDataConfig
 		err = json.Unmarshal([]byte(excelInfo.Content), &tableDataConfig)
 		if err != nil {
 			br.Msg = "获取失败"
 			br.ErrMsg = "表格json转结构体失败,Err:" + err.Error()
 			return
 		}
-		result, err := data.GetDataByTableDataConfig(tableDataConfig)
+		result, err := excel2.GetDataByTableDataConfig(tableDataConfig)
 		if err != nil {
 			br.Msg = "获取失败"
 			br.ErrMsg = "获取最新的表格数据失败,Err:" + err.Error()
@@ -1856,7 +1864,7 @@ func (c *ExcelInfoController) Download() {
 			br.ErrMsg = "表格json转结构体失败,Err:" + err.Error()
 			return
 		}
-		newResult, tmpErr := data.GetMixedTableCellData(result.Data)
+		newResult, tmpErr := excel2.GetMixedTableCellData(result.Data)
 		if tmpErr != nil {
 			br.Msg = "获取失败"
 			br.ErrMsg = "获取最新的数据失败,Err:" + err.Error()
@@ -1975,7 +1983,7 @@ func (c *ExcelInfoController) Copy() {
 
 	// 操作权限校验
 	{
-		button := data.GetExcelInfoOpButton(sysUser, oldExcelInfo.SysUserId, oldExcelInfo.Source)
+		button := excel2.GetExcelInfoOpButton(sysUser, oldExcelInfo.SysUserId, oldExcelInfo.Source)
 		if !button.CopyButton {
 			br.Msg = "无操作权限"
 			br.Msg = "无操作权限"

+ 5 - 0
services/data/edb_info_calculate.go

@@ -683,3 +683,8 @@ func handleDataByLinearRegression(edbInfoDataList []*data_manage.EdbDataList, ha
 
 	return
 }
+
+// HandleDataByLinearRegression 插值法补充数据(线性方程式)
+func HandleDataByLinearRegression(edbInfoDataList []*data_manage.EdbDataList, handleDataMap map[string]float64) (err error) {
+	return handleDataByLinearRegression(edbInfoDataList, handleDataMap)
+}

+ 35 - 46
services/data/excel/custom_analysis.go

@@ -19,15 +19,15 @@ func AddCustomAnalysisTable(excelName, content, excelImage string, excelClassify
 
 	contentByte := []byte(content)
 
-	var luckySheet LuckySheet
+	var luckySheetList []LuckySheet
 
-	err = json.Unmarshal(contentByte, &luckySheet)
+	err = json.Unmarshal(contentByte, &luckySheetList)
 	if err != nil {
 		return
 	}
 
 	// sheet内容为空
-	if len(luckySheet.Sheets) <= 0 {
+	if len(luckySheetList) <= 0 {
 		errMsg = "sheet内容为空"
 		err = errors.New(errMsg)
 		isSendEmail = false
@@ -109,7 +109,7 @@ func AddCustomAnalysisTable(excelName, content, excelImage string, excelClassify
 
 	// sheet处理
 	sheetNameMap := make(map[string]string)
-	for k, sheetInfo := range luckySheet.Sheets {
+	for k, sheetInfo := range luckySheetList {
 		sheetName := utils.TrimLRStr(sheetInfo.Name)
 		_, ok := sheetNameMap[sheetName]
 		if ok {
@@ -174,15 +174,15 @@ func SaveCustomAnalysisTable(excelInfo *data_manage.ExcelInfo, excelName, conten
 
 	contentByte := []byte(content)
 
-	var luckySheet LuckySheet
+	var luckySheetList []LuckySheet
 
-	err = json.Unmarshal(contentByte, &luckySheet)
+	err = json.Unmarshal(contentByte, &luckySheetList)
 	if err != nil {
 		return
 	}
 
 	// sheet内容为空
-	if len(luckySheet.Sheets) <= 0 {
+	if len(luckySheetList) <= 0 {
 		errMsg = "sheet内容为空"
 		err = errors.New(errMsg)
 		isSendEmail = false
@@ -294,7 +294,7 @@ func SaveCustomAnalysisTable(excelInfo *data_manage.ExcelInfo, excelName, conten
 
 	// sheet处理
 	sheetNameMap := make(map[string]string)
-	for k, sheetInfo := range luckySheet.Sheets {
+	for k, sheetInfo := range luckySheetList {
 		sheetName := utils.TrimLRStr(sheetInfo.Name)
 		_, ok := sheetNameMap[sheetName]
 		if ok {
@@ -355,42 +355,31 @@ func SaveCustomAnalysisTable(excelInfo *data_manage.ExcelInfo, excelName, conten
 }
 
 type LuckySheet struct {
-	Info struct {
-		Name           string    `json:"name"`
-		Creator        string    `json:"creator"`
-		Lastmodifiedby string    `json:"lastmodifiedby"`
-		CreatedTime    time.Time `json:"createdTime"`
-		ModifiedTime   time.Time `json:"modifiedTime"`
-		Company        string    `json:"company"`
-		Appversion     string    `json:"appversion"`
-	} `json:"info"`
-	Sheets []struct {
-		Name string `json:"name"`
-		//Config struct {
-		//	Columnlen struct {
-		//		Num15 int `json:"15"`
-		//		Num16 int `json:"16"`
-		//		Num20 int `json:"20"`
-		//		Num34 int `json:"34"`
-		//		Num35 int `json:"35"`
-		//	} `json:"columnlen"`
-		//} `json:"config"`
-		Index            string `json:"index"`
-		Order            string `json:"order"`
-		ZoomRatio        int    `json:"zoomRatio"`
-		ShowGridLines    string `json:"showGridLines"`
-		DefaultColWidth  int    `json:"defaultColWidth"`
-		DefaultRowHeight int    `json:"defaultRowHeight"`
-		Celldata         []struct {
-			R int         `json:"r"`
-			C int         `json:"c"`
-			V interface{} `json:"v,omitempty"`
-		} `json:"celldata"`
-		CalcChain []interface{} `json:"calcChain"`
-		//DataVerification struct {
-		//} `json:"dataVerification"`
-		//Hyperlink struct {
-		//} `json:"hyperlink"`
-		//Hide int `json:"hide"`
-	} `json:"sheets"`
+	Name string `json:"name"`
+	//Config struct {
+	//	Columnlen struct {
+	//		Num15 int `json:"15"`
+	//		Num16 int `json:"16"`
+	//		Num20 int `json:"20"`
+	//		Num34 int `json:"34"`
+	//		Num35 int `json:"35"`
+	//	} `json:"columnlen"`
+	//} `json:"config"`
+	Index            string `json:"index"`
+	Order            string `json:"order"`
+	ZoomRatio        int    `json:"zoomRatio"`
+	ShowGridLines    string `json:"showGridLines"`
+	DefaultColWidth  int    `json:"defaultColWidth"`
+	DefaultRowHeight int    `json:"defaultRowHeight"`
+	Celldata         []struct {
+		R int         `json:"r"`
+		C int         `json:"c"`
+		V interface{} `json:"v,omitempty"`
+	} `json:"celldata"`
+	CalcChain []interface{} `json:"calcChain"`
+	//DataVerification struct {
+	//} `json:"dataVerification"`
+	//Hyperlink struct {
+	//} `json:"hyperlink"`
+	//Hide int `json:"hide"`
 }

+ 8 - 7
services/data/excel_info.go → services/data/excel/excel_info.go

@@ -1,4 +1,4 @@
-package data
+package excel
 
 import (
 	"encoding/json"
@@ -7,6 +7,7 @@ import (
 	"eta/eta_api/models/data_manage/request"
 	"eta/eta_api/models/data_manage/response"
 	"eta/eta_api/models/system"
+	"eta/eta_api/services/data"
 	"eta/eta_api/utils"
 	"fmt"
 	"github.com/shopspring/decimal"
@@ -111,7 +112,7 @@ func GetFirstEdbDataList(edbInfo *data_manage.EdbInfo, num int, manualDateList [
 	case 0:
 		dataList, err = data_manage.GetEdbDataList(edbInfo.Source, edbInfo.EdbInfoId, ``, ``)
 	case 1:
-		_, dataList, _, _, err, _ = GetPredictDataListByPredictEdbInfoId(edbInfo.EdbInfoId, ``, ``, false)
+		_, dataList, _, _, err, _ = data.GetPredictDataListByPredictEdbInfoId(edbInfo.EdbInfoId, ``, ``, false)
 	default:
 		err = errors.New(fmt.Sprint("获取失败,指标类型异常", edbInfo.EdbInfoType))
 	}
@@ -212,7 +213,7 @@ func GetOtherEdbDataList(edbInfo *data_manage.EdbInfo, dateList []string) (resul
 	case 0:
 		dataList, err = data_manage.GetEdbDataList(edbInfo.Source, edbInfo.EdbInfoId, ``, ``)
 	case 1:
-		_, dataList, _, _, err, _ = GetPredictDataListByPredictEdbInfoId(edbInfo.EdbInfoId, ``, ``, false)
+		_, dataList, _, _, err, _ = data.GetPredictDataListByPredictEdbInfoId(edbInfo.EdbInfoId, ``, ``, false)
 	default:
 		err = errors.New(fmt.Sprint("获取失败,指标类型异常", edbInfo.EdbInfoType))
 	}
@@ -257,7 +258,7 @@ func GetOtherEdbDataList(edbInfo *data_manage.EdbInfo, dateList []string) (resul
 
 	// 插值法处理
 	handleDataMap := make(map[string]float64)
-	err = handleDataByLinearRegression(baseDataList, handleDataMap)
+	err = data.HandleDataByLinearRegression(baseDataList, handleDataMap)
 	if err != nil {
 		return
 	}
@@ -306,7 +307,7 @@ func GetFirstHistoryEdbDataList(edbInfo *data_manage.EdbInfo, num int, endDate s
 	case 0:
 		dataList, err = data_manage.GetEdbDataList(edbInfo.Source, edbInfo.EdbInfoId, ``, endDate)
 	case 1:
-		_, dataList, _, _, err, _ = GetPredictDataListByPredictEdbInfoId(edbInfo.EdbInfoId, ``, endDate, true)
+		_, dataList, _, _, err, _ = data.GetPredictDataListByPredictEdbInfoId(edbInfo.EdbInfoId, ``, endDate, true)
 	default:
 		err = errors.New(fmt.Sprint("获取失败,指标类型异常", edbInfo.EdbInfoType))
 	}
@@ -489,7 +490,7 @@ func GetTableDataConfig(reqData request.TableDataReq) (tableDataConfig TableData
 		case 0:
 			firstDataList, err = data_manage.GetEdbDataList(edbInfo.Source, edbInfo.EdbInfoId, ``, ``)
 		case 1:
-			_, firstDataList, _, _, err, _ = GetPredictDataListByPredictEdbInfoId(edbInfo.EdbInfoId, ``, ``, false)
+			_, firstDataList, _, _, err, _ = data.GetPredictDataListByPredictEdbInfoId(edbInfo.EdbInfoId, ``, ``, false)
 		default:
 			err = errors.New(fmt.Sprint("获取失败,指标类型异常", edbInfo.EdbInfoType))
 		}
@@ -1287,7 +1288,7 @@ func GetMixedTableCellData(config [][]request.MixedTableCellDataReq) (newMixedTa
 		case 0:
 			dataList, _ = data_manage.GetEdbDataList(edbInfo.Source, edbInfo.EdbInfoId, ``, ``)
 		case 1:
-			_, dataList, _, _, _, _ = GetPredictDataListByPredictEdbInfoId(edbInfo.EdbInfoId, ``, ``, false)
+			_, dataList, _, _, _, _ = data.GetPredictDataListByPredictEdbInfoId(edbInfo.EdbInfoId, ``, ``, false)
 		default:
 			err = errors.New(fmt.Sprint("获取失败,指标类型异常", edbInfo.EdbInfoType))
 		}