Browse Source

Merge branch 'feature/eta1.8.5_excel_balance' into debug

xyxie 10 months ago
parent
commit
1736fe8772

+ 3 - 2
controllers/data_manage/excel/excel_info.go

@@ -2077,13 +2077,14 @@ func (c *ExcelInfoController) Refresh() {
 	}
 
 	excelInfoId, _ := c.GetInt("ExcelInfoId")
-	if excelInfoId <= 0 {
+	chartInfoId, _ := c.GetInt("ChartInfoId")
+	if excelInfoId <= 0 && chartInfoId <= 0 {
 		br.Msg = "请选择表格"
 		br.ErrMsg = "ExcelInfoId未传"
 		br.IsSendEmail = false
 		return
 	}
-	chartInfoId, _ := c.GetInt("ChartInfoId")
+
 	// todo 如果请求入参是chart_info_id,则需要获取excel_info_id
 	if chartInfoId > 0 && excelInfoId == 0 {
 		excelInfo, err := excel3.GetExcelInfoByChartInfoId(chartInfoId)

+ 14 - 23
services/data/chart_info_excel_balance.go

@@ -332,28 +332,19 @@ func EditBalanceExcelChart(excelInfo *excelModel.ExcelInfo, req request.AddBalan
 			delete(deleteMap, chartEdb.ExcelChartEdbId)
 		}
 		excelChartEdbId := chartEdb.ExcelChartEdbId
-		excelEdb, tmpErr := excelModel.GetExcelChartEdbById(excelChartEdbId)
-		if tmpErr != nil {
-			if tmpErr.Error() == utils.ErrNoRow() {
-				errMsg = "指标不存在!"
-				err = errors.New("指标不存在,edbInfoId:" + strconv.Itoa(excelChartEdbId))
-				return
-			} else {
-				errMsg = "获取指标信息失败!"
-				err = errors.New("获取图表的指标信息失败,Err:" + tmpErr.Error())
-				return
-			}
-		}
-
-		if excelEdb == nil {
-			errMsg = "指标已被删除,请重新选择!"
-			err = errors.New("指标不存在,ChartInfoId:" + strconv.Itoa(req.ChartInfoId))
-			return
-		} else {
-			if excelEdb.ExcelChartEdbId <= 0 {
-				errMsg = "指标已被删除,请重新选择!"
-				err = errors.New("指标不存在,ChartInfoId:" + strconv.Itoa(req.ChartInfoId))
-				return
+		excelEdb := new(excelModel.ExcelChartEdb)
+		if excelChartEdbId > 0 {
+			excelEdb, err = excelModel.GetExcelChartEdbById(excelChartEdbId)
+			if err != nil {
+				if err.Error() == utils.ErrNoRow() {
+					errMsg = "指标不存在!"
+					err = errors.New("指标不存在,edbInfoId:" + strconv.Itoa(excelChartEdbId))
+					return
+				} else {
+					errMsg = "获取指标信息失败!"
+					err = errors.New("获取图表的指标信息失败,Err:" + err.Error())
+					return
+				}
 			}
 		}
 		excelEdb.EdbName = chartEdb.EdbName
@@ -1680,7 +1671,7 @@ func TransferChartEdbToEdbMappingFormat(chartInfoId, chartType int, mappingListT
 		startDateStr, endDateStr, _, endVal, maxValue, minValue := getBalanceDataListStartDateAndValue(dataList)
 		mapping := &data_manage.ChartEdbInfoMapping{
 			EdbInfoId:         v.ExcelChartEdbId,
-			SourceName:        "",
+			SourceName:        "平衡表",
 			Source:            0,
 			SubSource:         0,
 			EdbCode:           v.EdbCode,

+ 24 - 19
services/data/excel/balance_table.go

@@ -376,14 +376,31 @@ func GetBalanceExcelChartSingle(chartInfoId, ChartEdbId int, lang string) (mappi
 		err = fmt.Errorf(" 获取图表,指标信息失败 Err:%s", err.Error())
 		return
 	}
-	dataListMap = make(map[int][]*data_manage.EdbDataList)
-	//查询库里是否有值
-	chartDataList, e := excelModel.GetExcelChartDataByChartInfoId(chartInfoId)
-	if e != nil {
-		err = fmt.Errorf(" 获取图表,指标信息失败 Err:%s", e.Error())
+	// 查询所有子表
+	excelInfoId := mappingListTmp[0].ExcelInfoId
+	excelInfo, err := excelModel.GetExcelInfoById(excelInfoId)
+	if err != nil {
+		if err.Error() == utils.ErrNoRow() {
+			errMsg = "表格不存在"
+			err = fmt.Errorf(errMsg)
+			return
+		}
+		errMsg = "查询子表失败"
+		err = fmt.Errorf(" 查询子表失败图表,指标信息失败 Err:%s", err.Error())
 		return
 	}
-	if len(chartDataList) > 0 {
+	dataListMap = make(map[int][]*data_manage.EdbDataList)
+	if excelInfo.BalanceType == 1 {
+		//查询库里是否有值
+		chartDataList, e := excelModel.GetExcelChartDataByChartInfoId(chartInfoId)
+		if e != nil {
+			err = fmt.Errorf(" 获取图表,指标信息失败 Err:%s", e.Error())
+			return
+		}
+		if len(chartDataList) == 0 {
+			err = fmt.Errorf(" 获取图表,指标数据不存在")
+			return
+		}
 		for _, v := range chartDataList {
 			tmp := &data_manage.EdbDataList{
 				EdbDataId:     v.ExcelChartDataId,
@@ -396,19 +413,7 @@ func GetBalanceExcelChartSingle(chartInfoId, ChartEdbId int, lang string) (mappi
 		}
 		return
 	}
-	excelInfoId := mappingListTmp[0].ExcelInfoId
-	// 查询所有子表
-	excelInfo, err := excelModel.GetExcelInfoById(excelInfoId)
-	if err != nil {
-		if err.Error() == utils.ErrNoRow() {
-			errMsg = "表格不存在"
-			err = fmt.Errorf(errMsg)
-			return
-		}
-		errMsg = "查询子表失败"
-		err = fmt.Errorf(" 查询子表失败图表,指标信息失败 Err:%s", err.Error())
-		return
-	}
+
 	// 获取图表详情
 	newExcelDataMap, excelAllRows, excelAllCols, err, errMsg := GetBalanceExcelData(excelInfo, lang)
 	if err != nil {