Quellcode durchsuchen

Merge branch 'chart/11.1' into debug

Roc vor 2 Jahren
Ursprung
Commit
5037bd1baf

+ 15 - 133
controllers/base_from_calculate.go

@@ -194,43 +194,11 @@ func (this *CalculateController) Add() {
 
 	randStr := utils.GetRandDigit(4)
 	edbCode := `C` + time.Now().Format("060102") + randStr
-
 	timestamp := strconv.FormatInt(time.Now().UnixNano(), 10)
 	uniqueCode := utils.MD5(utils.DATA_PREFIX + "_" + timestamp)
-	edbInfo := &models.EdbInfo{
-		EdbInfoId:        0,
-		SourceName:       "指标运算",
-		Source:           utils.DATA_SOURCE_CALCULATE,
-		EdbCode:          edbCode,
-		EdbName:          req.EdbName,
-		EdbNameSource:    req.EdbName,
-		Frequency:        req.Frequency,
-		Unit:             req.Unit,
-		StartDate:        "",
-		EndDate:          "",
-		ClassifyId:       req.ClassifyId,
-		SysUserId:        req.AdminId,
-		SysUserRealName:  req.AdminName,
-		UniqueCode:       uniqueCode,
-		CreateTime:       time.Now(),
-		ModifyTime:       time.Now(),
-		MinValue:         0,
-		MaxValue:         0,
-		CalculateFormula: req.CalculateFormula,
-		EdbType:          2,
-		Sort:             0,
-		MoveType:         0,
-		MoveFrequency:    "",
-		NoUpdate:         0,
-		ServerUrl:        "",
-		EdbInfoType:      0,
-		EdbNameEn:        "",
-		UnitEn:           "",
-		LatestDate:       "",
-		LatestValue:      0,
-		ChartImage:       "",
-	}
-	edbInfoId, err := models.AddEdbInfo(edbInfo)
+
+	// 新增计算指标
+	edbInfo, err := models.AddCalculateInfo(req, calculateMappingList, edbInfoList, edbCode, uniqueCode, edbInfoIdBytes)
 	if err != nil {
 		br.Msg = "生成计算指标失败"
 		br.Msg = "生成计算指标失败,AddEdbInfo Err:" + err.Error()
@@ -257,26 +225,6 @@ func (this *CalculateController) Add() {
 		}
 	}
 
-	//关联关系表
-	{
-		//处理关联指标
-		for _, v := range calculateMappingList {
-			v.EdbCode = edbCode
-			v.EdbInfoId = int(edbInfoId)
-		}
-		if len(calculateMappingList) > 0 {
-			go models.AddEdbInfoCalculateMappingMulti(calculateMappingList)
-		}
-	}
-
-	// 指标数据入库
-	err = models.AddCalculate(edbInfoList, int(edbInfoId), edbCode, req.CalculateFormula, edbInfoIdBytes)
-	if err != nil {
-		br.Msg = "生成计算指标失败"
-		br.Msg = "生成计算指标失败,Calculate Err:" + err.Error()
-		return
-	}
-
 	// 更新指标最大最小值
 	err, errMsg := models.UnifiedModifyEdbInfoMaxAndMinInfo(edbInfo)
 	if err != nil {
@@ -285,7 +233,7 @@ func (this *CalculateController) Add() {
 		return
 	}
 	resp := models.AddEdbInfoResp{
-		EdbInfoId:  int(edbInfoId),
+		EdbInfoId:  edbInfo.EdbInfoId,
 		UniqueCode: uniqueCode,
 	}
 	br.Ret = 200
@@ -460,91 +408,25 @@ func (this *CalculateController) Edit() {
 			return
 		}
 	}
-	//重新计算
-	if needCalculate {
-		err = models.DeleteCalculateEdbInfo(req.EdbInfoId)
-		if err != nil {
-			br.Msg = "修改失败"
-			br.Msg = "修改失败,DeleteCalculateEdbInfo Err:" + err.Error()
-			return
-		}
-		//calculateList := make([]*data_manage.EdbInfoCalculate, 0)
-		edbInfoList := make([]*models.EdbInfo, 0)
-
-		calculateMappingList := make([]*models.EdbInfoCalculateMapping, 0)
-		for k, v := range req.EdbInfoIdArr {
-			fromEdbInfo, err := models.GetEdbInfoById(v.EdbInfoId)
-			if err != nil {
-				if err.Error() == utils.ErrNoRow() {
-					br.Msg = "生成计算指标失败"
-					br.Msg = "指标 " + strconv.Itoa(v.EdbInfoId) + " 不存在"
-					return
-				}
-				br.Msg = "生成计算指标失败"
-				br.Msg = "获取指标失败:Err:" + err.Error()
-				return
-			}
-			edbInfoList = append(edbInfoList, fromEdbInfo)
-
-			//关联关系表
-			{
-				calculateMappingItem := &models.EdbInfoCalculateMapping{
-					EdbInfoCalculateMappingId: 0,
-					EdbInfoId:                 req.EdbInfoId,
-					Source:                    edbInfoDetail.Source,
-					SourceName:                edbInfoDetail.SourceName,
-					EdbCode:                   edbInfoDetail.EdbCode,
-					FromEdbInfoId:             fromEdbInfo.EdbInfoId,
-					FromEdbCode:               fromEdbInfo.EdbCode,
-					FromEdbName:               fromEdbInfo.EdbName,
-					FromSource:                fromEdbInfo.Source,
-					FromSourceName:            fromEdbInfo.SourceName,
-					FromTag:                   v.FromTag,
-					Sort:                      k + 1,
-					CreateTime:                time.Now(),
-					ModifyTime:                time.Now(),
-				}
-				calculateMappingList = append(calculateMappingList, calculateMappingItem)
-			}
-		}
 
-		//预先计算,判断公式是否正常
-		ok, _ := models.CheckFormula2(edbInfoList, formulaMap, calculateFormula, edbInfoIdBytes)
-		if !ok {
-			br.Msg = "生成计算指标失败,请使用正确的计算公式"
-			return
-		}
-
-		//关联关系表
-		{
-			if len(calculateMappingList) > 0 {
-				go models.AddEdbInfoCalculateMappingMulti(calculateMappingList)
-			}
-		}
-
-		err = models.AddCalculate(edbInfoList, edbInfoDetail.EdbInfoId, edbInfoDetail.EdbCode, req.CalculateFormula, edbInfoIdBytes)
-		if err != nil {
-			br.Msg = "生成计算指标失败"
-			br.Msg = "生成计算指标失败,Calculate Err:" + err.Error()
-			return
-		}
-		// 更新指标最大最小值
-		err, errMsg := models.UnifiedModifyEdbInfoMaxAndMinInfo(edbInfoDetail)
-		if err != nil {
+	//重新计算
+	err, errMsg := models.EditCalculateInfo(edbInfoDetail, req, formulaMap, edbInfoIdBytes, needCalculate)
+	if err != nil {
+		br.Msg = "生成计算指标失败"
+		if errMsg != `` {
 			br.Msg = errMsg
-			br.ErrMsg = err.Error()
-			return
 		}
+		br.Msg = "生成计算指标失败,AddEdbInfo Err:" + err.Error()
+		return
 	}
 
-	// 修改指标信息
-	err = models.ModifyCalculateEdbInfo(req.EdbName, req.Frequency, req.Unit, req.CalculateFormula, req.ClassifyId, req.EdbInfoId)
+	// 更新指标最大最小值
+	err, errMsg = models.UnifiedModifyEdbInfoMaxAndMinInfo(edbInfoDetail)
 	if err != nil {
-		br.Msg = "修改失败"
-		br.Msg = "修改失败,ModifyEdbInfo Err:" + err.Error()
+		br.Msg = errMsg
+		br.ErrMsg = err.Error()
 		return
 	}
-
 	resp := models.AddEdbInfoResp{
 		EdbInfoId:  edbInfoDetail.EdbInfoId,
 		UniqueCode: edbInfoDetail.UniqueCode,

+ 190 - 4
models/base_from_calculate.go

@@ -124,6 +124,183 @@ func AddCalculate(edbInfoIdArr []*EdbInfo, edbInfoId int, edbCode, formulaStr st
 	return
 }
 
+// AddCalculateInfo 新增计算(运算)指标
+func AddCalculateInfo(req EdbInfoCalculateSaveReq, calculateMappingList []*EdbInfoCalculateMapping, edbInfoList []*EdbInfo, edbCode, uniqueCode string, edbInfoIdBytes []string) (edbInfo *EdbInfo, err error) {
+
+	o := orm.NewOrm()
+	to, err := o.Begin()
+	if err != nil {
+		return
+	}
+	defer func() {
+		if err != nil {
+			fmt.Println("AddCalculateHcz,Err:" + err.Error())
+			_ = to.Rollback()
+		} else {
+			_ = to.Commit()
+		}
+	}()
+
+	edbInfo = &EdbInfo{
+		EdbInfoId:        0,
+		SourceName:       "指标运算",
+		Source:           utils.DATA_SOURCE_CALCULATE,
+		EdbCode:          edbCode,
+		EdbName:          req.EdbName,
+		EdbNameSource:    req.EdbName,
+		Frequency:        req.Frequency,
+		Unit:             req.Unit,
+		StartDate:        "",
+		EndDate:          "",
+		ClassifyId:       req.ClassifyId,
+		SysUserId:        req.AdminId,
+		SysUserRealName:  req.AdminName,
+		UniqueCode:       uniqueCode,
+		CreateTime:       time.Now(),
+		ModifyTime:       time.Now(),
+		MinValue:         0,
+		MaxValue:         0,
+		CalculateFormula: req.CalculateFormula,
+		EdbType:          2,
+		Sort:             0,
+		MoveType:         0,
+		MoveFrequency:    "",
+		NoUpdate:         0,
+		ServerUrl:        "",
+		EdbInfoType:      0,
+		EdbNameEn:        "",
+		UnitEn:           "",
+		LatestDate:       "",
+		LatestValue:      0,
+		ChartImage:       "",
+	}
+	lastId, err := to.Insert(edbInfo)
+	if err != nil {
+		return
+	}
+	edbInfo.EdbInfoId = int(lastId)
+	//关联关系表
+	{
+		//处理关联指标
+		for _, v := range calculateMappingList {
+			v.EdbCode = edbCode
+			v.EdbInfoId = edbInfo.EdbInfoId
+		}
+		if len(calculateMappingList) > 0 {
+			_, err = to.InsertMulti(len(calculateMappingList), calculateMappingList)
+			if err != nil {
+				return
+			}
+		}
+	}
+
+	//计算数据
+	err = refreshAllCalculate(to, edbInfoList, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.EdbCode, edbInfo.CalculateFormula, "", "", edbInfoIdBytes)
+
+	return
+}
+
+// EditCalculateInfo 编辑计算(运算)指标
+func EditCalculateInfo(edbInfo *EdbInfo, req EdbInfoCalculateSaveReq, formulaMap map[string]string, edbInfoIdBytes []string, needCalculate bool) (err error, errMsg string) {
+	o := orm.NewOrm()
+	to, err := o.Begin()
+	if err != nil {
+		return
+	}
+	defer func() {
+		if err != nil {
+			fmt.Println("AddCalculateHcz,Err:" + err.Error())
+			_ = to.Rollback()
+		} else {
+			_ = to.Commit()
+		}
+	}()
+
+	// 修改指标信息
+	edbInfo.EdbName = req.EdbName
+	edbInfo.EdbNameSource = req.EdbName
+	edbInfo.Frequency = req.Frequency
+	edbInfo.Unit = req.Unit
+	edbInfo.ClassifyId = req.ClassifyId
+	edbInfo.CalculateFormula = req.CalculateFormula
+	edbInfo.ModifyTime = time.Now()
+	_, err = to.Update(edbInfo, "EdbName", "EdbNameSource", "Frequency", "Unit", "ClassifyId", "CalculateFormula", "ModifyTime")
+	if err != nil {
+		return
+	}
+
+	if needCalculate {
+		// 清除计算数据
+		sql := `DELETE FROM edb_data_calculate WHERE edb_info_id=?`
+		_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()
+		if err != nil {
+			return
+		}
+		// 清除关联关系表
+		sql = `DELETE FROM edb_info_calculate_mapping WHERE edb_info_id=?`
+		_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()
+		if err != nil {
+			return
+		}
+		edbInfoList := make([]*EdbInfo, 0)
+
+		calculateMappingList := make([]*EdbInfoCalculateMapping, 0)
+		for k, v := range req.EdbInfoIdArr {
+			fromEdbInfo, tmpErr := GetEdbInfoById(v.EdbInfoId)
+			if tmpErr != nil {
+				err = tmpErr
+				return
+			}
+			edbInfoList = append(edbInfoList, fromEdbInfo)
+
+			//关联关系表
+			{
+				calculateMappingItem := &EdbInfoCalculateMapping{
+					EdbInfoCalculateMappingId: 0,
+					EdbInfoId:                 req.EdbInfoId,
+					Source:                    edbInfo.Source,
+					SourceName:                edbInfo.SourceName,
+					EdbCode:                   edbInfo.EdbCode,
+					FromEdbInfoId:             fromEdbInfo.EdbInfoId,
+					FromEdbCode:               fromEdbInfo.EdbCode,
+					FromEdbName:               fromEdbInfo.EdbName,
+					FromSource:                fromEdbInfo.Source,
+					FromSourceName:            fromEdbInfo.SourceName,
+					FromTag:                   v.FromTag,
+					Sort:                      k + 1,
+					CreateTime:                time.Now(),
+					ModifyTime:                time.Now(),
+				}
+				calculateMappingList = append(calculateMappingList, calculateMappingItem)
+			}
+		}
+
+		//预先计算,判断公式是否正常
+		ok, _ := CheckFormula2(edbInfoList, formulaMap, req.CalculateFormula, edbInfoIdBytes)
+		if !ok {
+			errMsg = "生成计算指标失败,请使用正确的计算公式"
+			err = errors.New(errMsg)
+			return
+		}
+
+		//关联关系表
+		{
+			if len(calculateMappingList) > 0 {
+				_, err = to.InsertMulti(len(calculateMappingList), calculateMappingList)
+				if err != nil {
+					return
+				}
+			}
+		}
+
+		//计算数据
+		err = refreshAllCalculate(to, edbInfoList, edbInfo.EdbInfoId, edbInfo.Source, edbInfo.EdbCode, edbInfo.CalculateFormula, "", "", edbInfoIdBytes)
+
+	}
+
+	return
+}
+
 // GetCalculateEdbInfo 获取计算指标的关联指标id
 func GetCalculateEdbInfo(edbInfoId int) (from_edb_info_id string, err error) {
 	o := orm.NewOrm()
@@ -176,6 +353,15 @@ func RefreshAllCalculate(edbInfoIdArr []*EdbInfo, edbInfoId, source int, edbCode
 		}
 	}()
 	fmt.Println(startDate, endDate)
+
+	//计算数据
+	err = refreshAllCalculate(to, edbInfoIdArr, edbInfoId, source, edbCode, formulaStr, startDate, endDate, edbInfoIdBytes)
+
+	return
+}
+
+// refreshAllCalculate 刷新全部数据
+func refreshAllCalculate(to orm.TxOrmer, edbInfoIdArr []*EdbInfo, edbInfoId, source int, edbCode, formulaStr, startDate, endDate string, edbInfoIdBytes []string) (err error) {
 	saveDataMap := make(map[string]map[int]float64)
 	for _, v := range edbInfoIdArr {
 		var condition string
@@ -221,7 +407,7 @@ func RefreshAllCalculate(edbInfoIdArr []*EdbInfo, edbInfoId, source int, edbCode
 	dataTableName := GetEdbDataTableName(source)
 	sql := `SELECT * FROM %s WHERE edb_info_id=? `
 	sql = fmt.Sprintf(sql, dataTableName)
-	_, err = o.Raw(sql, edbInfoId).QueryRows(&dataList)
+	_, err = to.Raw(sql, edbInfoId).QueryRows(&dataList)
 	if err != nil {
 		return err
 	}
@@ -275,7 +461,7 @@ func RefreshAllCalculate(edbInfoIdArr []*EdbInfo, edbInfoId, source int, edbCode
 				if existStr != saveValue {
 					sql := ` UPDATE %s SET value=?,modify_time=NOW() WHERE edb_info_id=? AND data_time=? `
 					sql = fmt.Sprintf(sql, dataTableName)
-					_, err = o.Raw(sql, saveValue, edbInfoId, sk).Exec()
+					_, err = to.Raw(sql, saveValue, edbInfoId, sk).Exec()
 					if err != nil {
 						return err
 					}
@@ -290,7 +476,7 @@ func RefreshAllCalculate(edbInfoIdArr []*EdbInfo, edbInfoId, source int, edbCode
 
 	if isAdd {
 		addSql = strings.TrimRight(addSql, ",")
-		_, err = o.Raw(addSql).Exec()
+		_, err = to.Raw(addSql).Exec()
 		if err != nil {
 			fmt.Println("RefreshAllCalculate add Err", err.Error())
 			return
@@ -304,7 +490,7 @@ func RefreshAllCalculate(edbInfoIdArr []*EdbInfo, edbInfoId, source int, edbCode
 		tableName := GetEdbDataTableName(source)
 		sql := fmt.Sprintf(` DELETE FROM %s WHERE edb_info_id = ? and data_time in (%s) `, tableName, removeDateStr)
 
-		_, err = o.Raw(sql, edbInfoId).Exec()
+		_, err = to.Raw(sql, edbInfoId).Exec()
 		if err != nil {
 			err = fmt.Errorf("删除计算失败的计算指标数据失败,Err:" + err.Error())
 			return

+ 5 - 5
models/edb_data_calculate_bp.go

@@ -143,7 +143,7 @@ func EditCalculateBp(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fromEd
 	}
 	//清空原有数据
 	sql = ` DELETE FROM edb_data_calculate_bp WHERE edb_info_id = ? `
-	_, err = o.Raw(sql, edbInfo.EdbInfoId).Exec()
+	_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()
 	if err != nil {
 		return
 	}
@@ -231,7 +231,7 @@ func RefreshAllCalculateBpBak(edbInfoId, source int, fromEdbInfo *EdbInfo, edbCo
 	fmt.Println("dataTableName:", dataTableName)
 	sql := `SELECT * FROM %s WHERE edb_info_id=? `
 	sql = fmt.Sprintf(sql, dataTableName)
-	_, err = o.Raw(sql, edbInfoId).QueryRows(&existDataList)
+	_, err = to.Raw(sql, edbInfoId).QueryRows(&existDataList)
 	if err != nil {
 		return err
 	}
@@ -277,7 +277,7 @@ func RefreshAllCalculateBpBak(edbInfoId, source int, fromEdbInfo *EdbInfo, edbCo
 					if existVal != valStr {
 						sql := ` UPDATE %s SET value=?,modify_time=NOW() WHERE edb_info_id=? AND data_time=? `
 						sql = fmt.Sprintf(sql, dataTableName)
-						_, err = o.Raw(sql, valStr, edbInfoId, needDay).Exec()
+						_, err = to.Raw(sql, valStr, edbInfoId, needDay).Exec()
 						if err != nil {
 							return err
 						}
@@ -298,7 +298,7 @@ func RefreshAllCalculateBpBak(edbInfoId, source int, fromEdbInfo *EdbInfo, edbCo
 				if existVal != valStr {
 					sql := ` UPDATE %s SET value=?,modify_time=NOW() WHERE edb_info_id=? AND data_time=? `
 					sql = fmt.Sprintf(sql, dataTableName)
-					_, err = o.Raw(sql, valStr, edbInfoId, currentItem.DataTime).Exec()
+					_, err = to.Raw(sql, valStr, edbInfoId, currentItem.DataTime).Exec()
 					if err != nil {
 						return err
 					}
@@ -310,7 +310,7 @@ func RefreshAllCalculateBpBak(edbInfoId, source int, fromEdbInfo *EdbInfo, edbCo
 
 	if isAdd {
 		addSql = strings.TrimRight(addSql, ",")
-		_, err = o.Raw(addSql).Exec()
+		_, err = to.Raw(addSql).Exec()
 		if err != nil {
 			return err
 		}

+ 3 - 3
models/edb_data_calculate_cjjx.go

@@ -123,7 +123,7 @@ func EditCalculateCjjx(req *EdbInfoCalculateBatchEditReq, edbInfo, fromEdbInfo *
 	edbInfo.ClassifyId = req.ClassifyId
 	edbInfo.CalculateFormula = req.Formula
 	edbInfo.ModifyTime = time.Now()
-	_, err = o.Update(edbInfo, "EdbName", "EdbNameSource", "Frequency", "Unit", "ClassifyId", "CalculateFormula", "ModifyTime")
+	_, err = to.Update(edbInfo, "EdbName", "EdbNameSource", "Frequency", "Unit", "ClassifyId", "CalculateFormula", "ModifyTime")
 	if err != nil {
 		return
 	}
@@ -148,7 +148,7 @@ func EditCalculateCjjx(req *EdbInfoCalculateBatchEditReq, edbInfo, fromEdbInfo *
 	if count <= 0 {
 		// 需要删除原先的 计算指标关联的,基础指标的关联关系
 		sql := ` DELETE FROM edb_info_calculate_mapping WHERE edb_info_id = ? `
-		_, err = o.Raw(sql, edbInfo.EdbInfoId).Exec()
+		_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()
 		if err != nil {
 			return
 		}
@@ -171,7 +171,7 @@ func EditCalculateCjjx(req *EdbInfoCalculateBatchEditReq, edbInfo, fromEdbInfo *
 				CreateTime:                time.Now(),
 				ModifyTime:                time.Now(),
 			}
-			_, err = o.Insert(calculateMappingItem)
+			_, err = to.Insert(calculateMappingItem)
 			if err != nil {
 				return
 			}

+ 2 - 2
models/edb_data_calculate_hbz.go

@@ -43,7 +43,7 @@ func AddCalculateHbz(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, ed
 		edbInfo.UniqueCode = uniqueCode
 		edbInfo.CalculateFormula = req.Formula
 		edbInfo.EdbType = 2
-		newEdbInfoId, tmpErr := o.Insert(edbInfo)
+		newEdbInfoId, tmpErr := to.Insert(edbInfo)
 		if tmpErr != nil {
 			err = tmpErr
 			return
@@ -78,7 +78,7 @@ func AddCalculateHbz(req *EdbInfoCalculateBatchSaveReq, fromEdbInfo *EdbInfo, ed
 		dataTableName := GetEdbDataTableName(utils.DATA_SOURCE_CALCULATE_HBZ)
 		deleteSql := ` DELETE FROM %s WHERE edb_info_id=? `
 		deleteSql = fmt.Sprintf(deleteSql, dataTableName)
-		_, err = o.Raw(deleteSql, req.EdbInfoId).Exec()
+		_, err = to.Raw(deleteSql, req.EdbInfoId).Exec()
 		if err != nil {
 			return
 		}

+ 2 - 2
models/edb_data_calculate_hcz.go

@@ -138,7 +138,7 @@ func EditCalculateHcz(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fromE
 	//删除,计算指标关联的,基础指标的关联关系
 	if count <= 0 {
 		sql := ` DELETE FROM edb_info_calculate_mapping WHERE edb_info_id = ? `
-		_, err = o.Raw(sql, edbInfo.EdbInfoId).Exec()
+		_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()
 		if err != nil {
 			return
 		}
@@ -168,7 +168,7 @@ func EditCalculateHcz(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq, fromE
 	}
 	//清空原有数据
 	sql := ` DELETE FROM edb_data_calculate_hcz WHERE edb_info_id = ? `
-	_, err = o.Raw(sql, edbInfo.EdbInfoId).Exec()
+	_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()
 	if err != nil {
 		return
 	}

+ 3 - 3
models/edb_data_calculate_ljzzy.go

@@ -345,7 +345,7 @@ func refreshAllCalculateLjzzy(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo
 				//	if existVal != saveValue {
 				//		sql := ` UPDATE %s SET value=?,modify_time=NOW() WHERE edb_info_id=? AND data_time=? `
 				//		sql = fmt.Sprintf(sql, dataTableName)
-				//		_, err = o.Raw(sql, saveValue, edbInfoId, date).Exec()
+				//		_, err = to.Raw(sql, saveValue, edbInfoId, date).Exec()
 				//		if err != nil {
 				//			return err
 				//		}
@@ -373,7 +373,7 @@ func refreshAllCalculateLjzzy(to orm.TxOrmer, edbInfoId, source int, fromEdbInfo
 	return
 }
 
-func calculateLjzzy(edbInfoId int, date, edbInfoIdStr, edbCode, dataTableName, addSql string, val float64, dataMap, existDataMap map[string]string, o orm.TxOrmer) (newSql string, isAdd bool, err error) {
+func calculateLjzzy(edbInfoId int, date, edbInfoIdStr, edbCode, dataTableName, addSql string, val float64, dataMap, existDataMap map[string]string, to orm.TxOrmer) (newSql string, isAdd bool, err error) {
 	newSql = addSql
 	saveValue := utils.SubFloatToString(val, 4)
 	//判断数据是否存在
@@ -390,7 +390,7 @@ func calculateLjzzy(edbInfoId int, date, edbInfoIdStr, edbCode, dataTableName, a
 		if existVal != saveValue {
 			sql := ` UPDATE %s SET value=?,modify_time=NOW() WHERE edb_info_id=? AND data_time=? `
 			sql = fmt.Sprintf(sql, dataTableName)
-			_, err = o.Raw(sql, saveValue, edbInfoId, date).Exec()
+			_, err = to.Raw(sql, saveValue, edbInfoId, date).Exec()
 		}
 	}
 	return

+ 1 - 1
models/edb_data_calculate_nszydbpjjs.go

@@ -134,7 +134,7 @@ func EditCalculateNszydpjjs(edbInfo *EdbInfo, req *EdbInfoCalculateBatchEditReq,
 	if count <= 0 {
 		// 需要删除原先的 计算指标关联的,基础指标的关联关系
 		sql := ` DELETE FROM edb_info_calculate_mapping WHERE edb_info_id = ? `
-		_, err = o.Raw(sql, edbInfo.EdbInfoId).Exec()
+		_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()
 		if err != nil {
 			return
 		}

+ 4 - 2
models/edb_data_calculate_zjpj.go

@@ -304,7 +304,7 @@ func EditCalculateZjpj(req *EdbInfoCalculateBatchEditReq, edbInfo, firstEdbInfo,
 
 		tableName := GetEdbDataTableName(edbInfo.Source)
 		sql := fmt.Sprintf(` DELETE FROM %s WHERE edb_info_id = ? `, tableName)
-		_, err = o.Raw(sql, edbInfo.EdbInfoId).Exec()
+		_, err = to.Raw(sql, edbInfo.EdbInfoId).Exec()
 		if err != nil {
 			err = fmt.Errorf("删除历史数据失败,Err:" + err.Error())
 			return
@@ -369,7 +369,9 @@ func refreshAllCalculateZjpj(to orm.TxOrmer, edbInfo *EdbInfo, existItemA, exist
 	condition += " AND edb_info_id=? "
 	pars = append(pars, edbInfo.EdbInfoId)
 
-	dataList, err := GetAllEdbDataCalculateZjpjByEdbInfoId(edbInfo.EdbInfoId)
+	var dataList []*EdbDataCalculateZjpj
+	sql := ` SELECT * FROM edb_data_calculate_zjpj WHERE edb_info_id=? ORDER BY data_time DESC `
+	_, err = to.Raw(sql, edbInfo.EdbInfoId).QueryRows(&dataList)
 	if err != nil {
 		return err
 	}