Browse Source

Merge branch 'bug/4402'

Roc 7 months ago
parent
commit
62a9a0a6b7
2 changed files with 34 additions and 13 deletions
  1. 4 2
      services/data/excel/balance_table.go
  2. 30 11
      services/data/excel/custom_analysis_edb.go

+ 4 - 2
services/data/excel/balance_table.go

@@ -119,8 +119,9 @@ func GetBalanceExcelEdbData(excelEdbMappingItem *excelModel.ExcelChartEdb, newMi
 	var dateList, dataList []string
 	// 日期序列
 	{
-		_, startColumnName, endColumnName, startNum, endNum, isAll, isRow, isColumn, tmpErr := GetSheetStr(excelEdbMappingItem.DateSequence)
+		_, startColumnName, endColumnName, startNum, endNum, isAll, isRow, isColumn, tmpErr, tmpErrMsg := GetSheetStr(excelEdbMappingItem.DateSequence)
 		if tmpErr != nil {
+			errMsg = tmpErrMsg
 			err = tmpErr
 			return
 		}
@@ -218,8 +219,9 @@ func GetBalanceExcelEdbData(excelEdbMappingItem *excelModel.ExcelChartEdb, newMi
 
 	// 数据序列
 	{
-		_, startColumnName, endColumnName, startNum, endNum, isAll, isRow, isColumn, tmpErr := GetSheetStr(excelEdbMappingItem.DataSequence)
+		_, startColumnName, endColumnName, startNum, endNum, isAll, isRow, isColumn, tmpErr, tmpErrMsg := GetSheetStr(excelEdbMappingItem.DataSequence)
 		if tmpErr != nil {
+			errMsg = tmpErrMsg
 			err = tmpErr
 			return
 		}

+ 30 - 11
services/data/excel/custom_analysis_edb.go

@@ -265,8 +265,18 @@ func Refresh(excelInfo *excel.ExcelInfo, lang string) (err error, errMsg string,
 		// 获取对应的日期和数据列表
 		relDateList, relDataList, tmpErr, tmpErrMsg := getDateAndDataList(v, xlsxFile)
 		if tmpErr != nil {
-			err = errors.New(fmt.Sprintf("获取对应的日期和数据列表,Err:%s", tmpErr.Error()))
-			errMsg = tmpErrMsg
+			err = errors.New(fmt.Sprintf("《%s》获取对应的日期和数据列表,Err:%s", v.EdbName, tmpErr.Error()))
+			errMsg = fmt.Sprintf("《%s》%s", v.EdbName, tmpErrMsg)
+			return
+		}
+		if len(relDateList) <= 0 {
+			errMsg = fmt.Sprintf("《%s》的日期序列为空", v.EdbName)
+			err = errors.New(errMsg)
+			return
+		}
+		if len(relDataList) <= 0 {
+			errMsg = fmt.Sprintf("《%s》的数据序列为空", v.EdbName)
+			err = errors.New(errMsg)
 			return
 		}
 		//fmt.Println(v)
@@ -318,8 +328,9 @@ func getDateAndDataList(excelEdbMappingItem *excel.ExcelEdbMappingItem, xlsxFile
 
 	// 日期序列
 	{
-		sheetName, startColumnName, endColumnName, startNum, endNum, isAll, isRow, isColumn, tmpErr := GetSheetStr(excelEdbMappingItem.DateSequenceStr)
+		sheetName, startColumnName, endColumnName, startNum, endNum, isAll, isRow, isColumn, tmpErr, tmpErrMsg := GetSheetStr(excelEdbMappingItem.DateSequenceStr)
 		if tmpErr != nil {
+			errMsg = tmpErrMsg
 			err = tmpErr
 			return
 		}
@@ -423,8 +434,9 @@ func getDateAndDataList(excelEdbMappingItem *excel.ExcelEdbMappingItem, xlsxFile
 
 	// 数据序列
 	{
-		sheetName, startColumnName, endColumnName, startNum, endNum, isAll, isRow, isColumn, tmpErr := GetSheetStr(excelEdbMappingItem.DataSequenceStr)
+		sheetName, startColumnName, endColumnName, startNum, endNum, isAll, isRow, isColumn, tmpErr, tmpErrMsg := GetSheetStr(excelEdbMappingItem.DataSequenceStr)
 		if tmpErr != nil {
+			errMsg = tmpErrMsg
 			err = tmpErr
 			return
 		}
@@ -541,11 +553,14 @@ func getDateAndDataList(excelEdbMappingItem *excel.ExcelEdbMappingItem, xlsxFile
 // @return isAll bool 是否选择整行/列数据
 // @return isRow bool 是否选择行数据
 // @return isColumn bool 是否选择列数据
-func GetSheetStr(sequenceStr string) (sheetName, startColumnName, endColumnName string, startNum, endNum int, isAll, isRow, isColumn bool, err error) {
+// @return err error 错误信息
+// @return errMsg string 错误信息
+func GetSheetStr(sequenceStr string) (sheetName, startColumnName, endColumnName string, startNum, endNum int, isAll, isRow, isColumn bool, err error, errMsg string) {
 	// 找出sheetName
 	tmpList := strings.Split(sequenceStr, "!")
 	if len(tmpList) != 2 {
-		err = errors.New("错误的公式,查找sheet异常:" + sequenceStr)
+		errMsg = "错误的公式,查找sheet异常:" + sequenceStr
+		err = errors.New(errMsg)
 		return
 	}
 
@@ -554,7 +569,8 @@ func GetSheetStr(sequenceStr string) (sheetName, startColumnName, endColumnName
 	// 分离开始/结束单元格
 	tmpList = strings.Split(tmpList[1], ":")
 	if len(tmpList) != 2 {
-		err = errors.New("错误的公式,查找开始/结束单元格异常:" + sequenceStr)
+		errMsg = "错误的公式,查找开始/结束单元格异常:" + sequenceStr
+		err = errors.New(errMsg)
 		return
 	}
 
@@ -563,12 +579,14 @@ func GetSheetStr(sequenceStr string) (sheetName, startColumnName, endColumnName
 
 	lenList := len(startList)
 	if lenList != len(endList) {
-		err = errors.New("错误的公式,开始与结束单元格异常:" + sequenceStr)
+		errMsg = "错误的公式,开始与结束单元格异常:" + sequenceStr
+		err = errors.New(errMsg)
 		return
 	}
 
 	if lenList != 3 && lenList != 2 {
-		err = errors.New("错误的公式:" + sequenceStr)
+		errMsg = "错误的公式:" + sequenceStr
+		err = errors.New(errMsg)
 		return
 	}
 
@@ -606,7 +624,7 @@ func GetSheetStr(sequenceStr string) (sheetName, startColumnName, endColumnName
 	// 确定行
 	startDeci, tmpErr1 := decimal.NewFromString(startList[2])
 	endDeci, tmpErr2 := decimal.NewFromString(endList[2])
-	if tmpErr1 != nil && tmpErr1 != tmpErr2 {
+	if tmpErr1 != nil && errors.Is(tmpErr1, tmpErr2) {
 		err = errors.New("错误的公式3:" + sequenceStr)
 		return
 	}
@@ -615,7 +633,8 @@ func GetSheetStr(sequenceStr string) (sheetName, startColumnName, endColumnName
 	endNum = int(endDeci.IntPart())
 
 	if startColumnName != endColumnName && startNum != endNum {
-		err = errors.New("选区不允许跨行或者跨列")
+		errMsg = `选区不允许跨行或者跨列`
+		err = errors.New(errMsg)
 	}
 
 	if startColumnName == endColumnName {