Преглед изворни кода

更新钢联数据源指标统计

xyxie пре 1 година
родитељ
комит
06f5f75fbd

+ 8 - 4
controllers/base_from_mysteel_chemical.go

@@ -115,20 +115,24 @@ func (this *MySteelChemicalController) Refresh() {
 		br.ErrMsg = "刷新指标信息失败 RefreshEdbDataFromMysteel,Err:" + err.Error()
 		return
 	}
+
 	// 更新指标最大最小值
-	err, errMsg := models.UnifiedModifyEdbInfoMaxAndMinInfoDataUpdate(edbInfo, dataUpdateTime)
+	erDataUpdateDate, err, errMsg := models.UnifiedModifyEdbInfoMaxAndMinInfoDataUpdate(edbInfo, dataUpdateTime)
 	if err != nil {
 		br.Msg = errMsg
 		br.ErrMsg = err.Error()
 		return
 	}
+	// 添加指标刷新成功日志
+	if erDataUpdateDate != "" {
+		_ = services.AddEdbInfoUpdateLog(edbInfo.EdbInfoId, 1, "", 1, "", 0)
+	} else {
+		_ = services.AddEdbInfoUpdateLog(edbInfo.EdbInfoId, 1, "", 2, "未刷新到数据", 0)
+	}
 
 	// 更新ES
 	go logic.UpdateEs(edbInfo.EdbInfoId)
 
-	// 添加指标刷新成功日志
-	_ = services.AddEdbInfoUpdateLog(edbInfo.EdbInfoId, 1, "", 0, "", "")
-
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "获取成功"

+ 1 - 1
logic/base_edb_info.go

@@ -39,7 +39,7 @@ func RefreshBaseEdbInfo(edbInfo *models.EdbInfo, startDate string) (isHandling b
 	// 更新指标最大最小值
 	if edbInfo.Source == utils.DATA_SOURCE_MYSTEEL_CHEMICAL {
 		dataUpdateTime := time.Now().Format(utils.FormatDateTime)
-		err, errMsg = models.UnifiedModifyEdbInfoMaxAndMinInfoDataUpdate(edbInfo, dataUpdateTime)
+		_, err, errMsg = models.UnifiedModifyEdbInfoMaxAndMinInfoDataUpdate(edbInfo, dataUpdateTime)
 		if err != nil {
 			return
 		}

+ 30 - 30
models/data_stat/edb_info_update_log.go

@@ -7,35 +7,35 @@ import (
 
 // EdbInfoUpdateLog 指标更新/刷新日志列表
 type EdbInfoUpdateLog struct {
-	Id                       uint64    `orm:"column(id);pk"`
-	EdbInfoId                int       `description:"指标ID"`
-	SourceName               string    `description:"来源名称"`
-	Source                   int       `description:"来源id"`
-	EdbCode                  string    `description:"指标编码"`
-	EdbName                  string    `description:"指标名称"`
-	EdbNameSource            string    `description:"指标名称来源"`
-	Frequency                string    `description:"频率"`
-	Unit                     string    `description:"单位"`
-	StartDate                string    `description:"起始日期"`
-	EndDate                  string    `description:"终止日期"`
-	SysUserId                int       `description:"创建人ID"`
-	SysUserRealName          string    `description:"创建人姓名"`
-	UniqueCode               string    `description:"指标唯一编码"`
-	EdbCreateTime            time.Time `description:"指标创建时间"`
-	EdbModifyTime            time.Time `description:"指标修改时间"`
-	CreateTime               time.Time `description:"创建时间"`
-	UpdateSysUserId          int       `description:"变更人ID"`
-	UpdateSysUserRealName    string    `description:"变更人姓名"`
-	LatestDate               string    `description:"数据最新日期"`
-	LatestValue              float64   `description:"数据最新值"`
-	TerminalCode             string    `description:"终端编码,用于配置在机器上"`
-	DataUpdateTime           string    `description:"最近一次数据发生变化的时间"`
-	ErDataUpdateDate         string    `description:"本次更新,数据发生变化的最早日期"`
-	UpdateResult             int       `description:"本次刷新结果:1成功,2失败"`
-	UpdateFailedReason       string    `description:"数据未正常刷新原因"`
-	SourceUpdateResult       int       `description:"从终端刷新到数据源的刷新结果:1成功,2失败"`
-	SourceUpdateFailedReason string    `description:"从终端刷新到数据源的数据未正常刷新原因"`
-	SourceUpdateTime         string    `description:"从终端刷新到数据源的 刷新时间"`
+	Id                     uint64    `orm:"column(id);pk"`
+	EdbInfoId              int       `description:"指标ID"`
+	SourceName             string    `description:"来源名称"`
+	Source                 int       `description:"来源id"`
+	EdbCode                string    `description:"指标编码"`
+	EdbName                string    `description:"指标名称"`
+	EdbNameSource          string    `description:"指标名称来源"`
+	Frequency              string    `description:"频率"`
+	Unit                   string    `description:"单位"`
+	StartDate              string    `description:"起始日期"`
+	EndDate                string    `description:"终止日期"`
+	SysUserId              int       `description:"创建人ID"`
+	SysUserRealName        string    `description:"创建人姓名"`
+	UniqueCode             string    `description:"指标唯一编码"`
+	EdbCreateTime          time.Time `description:"指标创建时间"`
+	EdbModifyTime          time.Time `description:"指标修改时间"`
+	CreateTime             time.Time `description:"创建时间"`
+	UpdateSysUserId        int       `description:"变更人ID"`
+	UpdateSysUserRealName  string    `description:"变更人姓名"`
+	LatestDate             string    `description:"数据最新日期"`
+	LatestValue            float64   `description:"数据最新值"`
+	TerminalCode           string    `description:"终端编码,用于配置在机器上"`
+	ErDataUpdateDate       string    `description:"本次更新,数据发生变化的最早日期"`
+	UpdateResult           int       `description:"本次刷新操作结果:1成功,2失败"`
+	UpdateFailedReason     string    `description:"刷新失败原因"`
+	DataUpdateResult       int       `description:"数据更新结果:1成功,2失败"`
+	DataUpdateFailedReason string    `description:"数据未正常更新原因"`
+	DataUpdateTime         string    `description:"数据更新时间"`
+	IsSourceRefresh        int       `description:"是否为终端刷新到数据源的刷新操作:0否,1是"`
 }
 
 func AddEdbUpdateLog(item *EdbInfoUpdateLog) (lastId int64, err error) {
@@ -58,7 +58,7 @@ func GetEdbUpdateLogByCondition(condition string, pars []interface{}) (item []*E
 // GetEdbUpdateSourceLogByCreateDate 获取指标终端更新记录
 func GetEdbUpdateSourceLogByCreateDate(source int, startDate, endDate string) (item []*EdbInfoUpdateLog, err error) {
 	o := orm.NewOrm()
-	sql := ` SELECT * FROM edb_info_update_log WHERE source = ? and create_time >= ? and create_time < ? and source_update_result !=0 order by id desc`
+	sql := ` SELECT * FROM edb_info_update_log WHERE source = ? and create_time >= ? and create_time < ? and is_source_refresh =1 order by data_update_result asc, id desc`
 	_, err = o.Raw(sql, source, startDate, endDate).QueryRows(&item)
 	return
 }

+ 36 - 34
models/data_stat/edb_info_update_stat.go

@@ -7,35 +7,36 @@ import (
 
 // EdbInfoUpdateStat 指标更新/刷新 汇总表(数据源明细表)
 type EdbInfoUpdateStat struct {
-	Id                       uint64    `orm:"column(id);pk"`
-	EdbInfoId                int       `description:"指标ID"`
-	SourceName               string    `description:"来源名称"`
-	Source                   int       `description:"来源id"`
-	EdbCode                  string    `description:"指标编码"`
-	EdbName                  string    `description:"指标名称"`
-	EdbNameSource            string    `description:"指标名称来源"`
-	Frequency                string    `description:"频率"`
-	Unit                     string    `description:"单位"`
-	StartDate                string    `description:"起始日期"`
-	EndDate                  string    `description:"终止日期"`
-	SysUserId                int       `description:"创建人ID"`
-	SysUserRealName          string    `description:"创建人姓名"`
-	UniqueCode               string    `description:"指标唯一编码"`
-	EdbCreateTime            time.Time `description:"指标创建时间"`
-	EdbModifyTime            time.Time `description:"指标修改时间"`
-	CreateTime               time.Time `description:"记录创建时间"`
-	LatestDate               string    `description:"数据最新日期"`
-	LatestValue              float64   `description:"数据最新值"`
-	TerminalCode             string    `description:"终端编码,用于配置在机器上"`
-	DataUpdateTime           string    `description:"最近一次数据发生变化的时间"`
-	ErDataUpdateDate         string    `description:"本次更新,数据发生变化的最早日期"`
-	SourceUpdateResult       int       `description:"从终端刷新到数据源的刷新结果:1成功,2失败"`
-	SourceUpdateFailedReason string    `description:"从终端刷新到数据源的数据未正常刷新原因"`
-	SourceUpdateTime         string    `description:"从终端刷新到数据源的 刷新时间"`
-	ModifyTime               time.Time `description:"修改时间"`
-	IsAdd                    int       `description:"是否是当日新增的指标:1是,2否"`
-	NeedRefresh              int       `description:"今日是否需要定时刷新,1需要,0不需要"`
-	HasRefresh               int       `description:"今日是否发起刷新服务,1是,0否"`
+	Id                     uint64    `orm:"column(id);pk"`
+	EdbInfoId              int       `description:"指标ID"`
+	SourceName             string    `description:"来源名称"`
+	Source                 int       `description:"来源id"`
+	EdbCode                string    `description:"指标编码"`
+	EdbName                string    `description:"指标名称"`
+	EdbNameSource          string    `description:"指标名称来源"`
+	Frequency              string    `description:"频率"`
+	Unit                   string    `description:"单位"`
+	StartDate              string    `description:"起始日期"`
+	EndDate                string    `description:"终止日期"`
+	SysUserId              int       `description:"创建人ID"`
+	SysUserRealName        string    `description:"创建人姓名"`
+	UniqueCode             string    `description:"指标唯一编码"`
+	EdbCreateTime          time.Time `description:"指标创建时间"`
+	EdbModifyTime          time.Time `description:"指标修改时间"`
+	CreateTime             time.Time `description:"记录创建时间"`
+	LatestDate             string    `description:"数据最新日期"`
+	LatestValue            float64   `description:"数据最新值"`
+	TerminalCode           string    `description:"终端编码,用于配置在机器上"`
+	ErDataUpdateDate       string    `description:"本次更新,数据发生变化的最早日期"`
+	DataUpdateResult       int       `description:"数据更新结果:1成功,2失败"`
+	DataUpdateFailedReason string    `description:"数据未正常更新原因"`
+	DataUpdateTime         string    `description:"数据更新时间"`
+	UpdateResult           int       `description:"本次刷新操作结果:1成功,2失败"`
+	UpdateFailedReason     string    `description:"刷新失败原因"`
+	ModifyTime             time.Time `description:"修改时间"`
+	IsAdd                  int       `description:"是否是当日新增的指标:1是,2否"`
+	NeedRefresh            int       `description:"今日是否需要定时刷新,1需要,0不需要"`
+	HasRefresh             int       `description:"今日是否发起刷新服务,1是,0否"`
 }
 
 // Add 新增
@@ -61,14 +62,15 @@ latest_date = ?,
 latest_value = ?,
 terminal_code = ?,
 modify_time = ?,
-data_update_time = ?,
 er_data_update_date = ?,
 is_add = ?,
 need_refresh = ?,
 has_refresh = ?,
-source_update_result = ?,
-source_update_failed_reason = ?,
-source_update_time = ? 
+data_update_result = ?,
+data_update_failed_reason = ?,
+data_update_time = ?, 
+update_result = ?,
+update_failed_reason = ?
 WHERE
 	id = ?`
 	p, err := o.Raw(sql).Prepare()
@@ -79,7 +81,7 @@ WHERE
 		_ = p.Close() // 别忘记关闭 statement
 	}()
 	for _, v := range list {
-		_, err = p.Exec(v.EdbName, v.EdbNameSource, v.Frequency, v.Unit, v.StartDate, v.EndDate, v.EdbModifyTime, v.LatestDate, v.LatestValue, v.TerminalCode, v.ModifyTime, v.DataUpdateTime, v.ErDataUpdateDate, v.IsAdd, v.NeedRefresh, v.HasRefresh, v.SourceUpdateResult, v.SourceUpdateFailedReason, v.SourceUpdateTime, v.Id)
+		_, err = p.Exec(v.EdbName, v.EdbNameSource, v.Frequency, v.Unit, v.StartDate, v.EndDate, v.EdbModifyTime, v.LatestDate, v.LatestValue, v.TerminalCode, v.ModifyTime, v.ErDataUpdateDate, v.IsAdd, v.NeedRefresh, v.HasRefresh, v.DataUpdateResult, v.DataUpdateFailedReason, v.DataUpdateTime, v.UpdateResult, v.UpdateFailedReason, v.Id)
 		if err != nil {
 			return
 		}

+ 19 - 15
models/data_stat/edb_source_stat.go

@@ -7,19 +7,21 @@ import (
 
 // EdbSourceStat 数据源统计表
 type EdbSourceStat struct {
-	Id               int       `orm:"column(id);pk"`
-	SourceName       string    `description:"来源名称"`
-	Source           int       `description:"来源id"`
-	TerminalCode     string    `description:"终端编码,用于配置在机器上"`
-	EdbNum           int       `description:"指标总数"`
-	EdbNewNum        int       `description:"今日新增指标数"`
-	EdbDelNum        int       `description:"今日删除指标数"`
-	NeedRefreshNum   int       `description:"今日需刷新指标"`
-	HasRefreshNum    int       `description:"今日发起刷新任务指标数"`
-	UpdateSuccessNum int       `description:"今日已刷新成功指标数"`
-	UpdateFailedNum  int       `description:"今日已刷新失败指标数"`
-	CreateTime       time.Time `description:"创建时间"`
-	ModifyTime       time.Time `description:"修改时间"`
+	Id                int       `orm:"column(id);pk"`
+	SourceName        string    `description:"来源名称"`
+	Source            int       `description:"来源id"`
+	TerminalCode      string    `description:"终端编码,用于配置在机器上"`
+	EdbNum            int       `description:"指标总数"`
+	EdbNewNum         int       `description:"今日新增指标数"`
+	EdbDelNum         int       `description:"今日删除指标数"`
+	NeedRefreshNum    int       `description:"今日需刷新指标"`
+	HasRefreshNum     int       `description:"今日发起刷新任务指标数"`
+	UpdateSuccessNum  int       `description:"今日已更新成功指标数"`
+	UpdateFailedNum   int       `description:"今日已更新失败指标数"`
+	RefreshSuccessNum int       `description:"今日已刷新成功指标数"`
+	RefreshFailedNum  int       `description:"今日已刷新失败指标数"`
+	CreateTime        time.Time `description:"创建时间"`
+	ModifyTime        time.Time `description:"修改时间"`
 }
 
 func GetEdbSourceStatByCondition(condition string, pars []interface{}) (item []*EdbSourceStat, err error) {
@@ -50,7 +52,9 @@ edb_del_num=?,
 need_refresh_num=?,                      
 has_refresh_num=?,                       
 update_success_num=?,                   
-update_failed_num=?,                                                         
+update_failed_num=?,          
+refresh_success_num=?,                   
+refresh_failed_num=?, 
 modify_time=?                           
 WHERE
 	id = ?`
@@ -62,7 +66,7 @@ WHERE
 		_ = p.Close() // 别忘记关闭 statement
 	}()
 	for _, v := range list {
-		_, err = p.Exec(v.EdbNum, v.EdbNewNum, v.EdbDelNum, v.NeedRefreshNum, v.HasRefreshNum, v.UpdateFailedNum, v.ModifyTime, v.Id)
+		_, err = p.Exec(v.EdbNum, v.EdbNewNum, v.EdbDelNum, v.NeedRefreshNum, v.HasRefreshNum, v.UpdateFailedNum, v.RefreshSuccessNum, v.RefreshFailedNum, v.ModifyTime, v.Id)
 		if err != nil {
 			return
 		}

+ 2 - 1
models/edb_info.go

@@ -444,7 +444,7 @@ func UnifiedModifyEdbInfoMaxAndMinInfo(edbInfo *EdbInfo) (err error, errMsg stri
 }
 
 // UnifiedModifyEdbInfoMaxAndMinInfoDataUpdate 统一修改指标的最大最小值以及数据更新时间点
-func UnifiedModifyEdbInfoMaxAndMinInfoDataUpdate(edbInfo *EdbInfo, dataUpdateTime string) (err error, errMsg string) {
+func UnifiedModifyEdbInfoMaxAndMinInfoDataUpdate(edbInfo *EdbInfo, dataUpdateTime string) (erDataUpdateDate string, err error, errMsg string) {
 	err, errMsg = UnifiedModifyEdbInfoMaxAndMinInfo(edbInfo)
 	if err != nil {
 		return
@@ -464,6 +464,7 @@ func UnifiedModifyEdbInfoMaxAndMinInfoDataUpdate(edbInfo *EdbInfo, dataUpdateTim
 			err = errors.New("修改指标数据更新的最早日期失败,err:" + tErr.Error())
 			return
 		}
+		erDataUpdateDate = erDataUpdateTime.MinDate
 	}
 	return
 }

+ 15 - 16
services/base_from_mysteel_chemical.go

@@ -33,13 +33,12 @@ func handleIndex(indexItem *models.HandleMysteelIndex) (err error) {
 	defer func() {
 		if err != nil {
 			// 添加刷新失败日志
-			sourceUpdateResult := 2
-			sourceUpdateFailedReason := err.Error()
-			sourceUpdateTime := time.Now().Format(utils.FormatDateTime)
+			dataUpdateResult := 2
+			dataUpdateFailedReason := "服务异常"
 			edbInfo, e := models.GetEdbInfoByEdbCode(utils.DATA_SOURCE_MYSTEEL_CHEMICAL, indexItem.IndexCode)
 			if e == nil {
 				//查询指标存在,才添加刷新日志
-				_ = AddEdbInfoUpdateLog(edbInfo.EdbInfoId, 2, err.Error(), sourceUpdateResult, sourceUpdateFailedReason, sourceUpdateTime)
+				_ = AddEdbInfoUpdateLog(edbInfo.EdbInfoId, 2, err.Error(), dataUpdateResult, dataUpdateFailedReason, 1)
 			}
 		}
 	}()
@@ -163,6 +162,7 @@ func handleIndex(indexItem *models.HandleMysteelIndex) (err error) {
 				dataItem.CreateTime = time.Now()
 				dataItem.ModifyTime = time.Now()
 				addDataList = append(addDataList, *dataItem)
+				hasUpdate = true
 			}
 		} else {
 			if findData != nil && findData.Value != value && !strings.Contains(value, "#N/A") { //修改数据
@@ -219,23 +219,22 @@ func handleIndex(indexItem *models.HandleMysteelIndex) (err error) {
 		}
 
 		if edbInfo != nil {
+			dataUpdateResult := 2
+			dataUpdateFailedReason := "服务异常"
 			_, logErrMsg, logErr := logic.RefreshBaseEdbInfo(edbInfo, ``)
-			sourceUpdateResult := 2
-			var sourceUpdateFailedReason string
-			if hasUpdate {
-				sourceUpdateResult = 1
-			} else {
-				sourceUpdateFailedReason = "未刷新到数据"
+			if logErr != nil {
+				lErr = AddEdbInfoUpdateLog(edbInfo.EdbInfoId, 2, logErrMsg+err.Error(), dataUpdateResult, dataUpdateFailedReason, 1)
+				return
 			}
-			sourceUpdateTime := time.Now().Format(utils.FormatDateTime)
 
-			if logErr != nil {
-				// 添加刷新失败日志
-				lErr = AddEdbInfoUpdateLog(edbInfo.EdbInfoId, 2, logErrMsg+err.Error(), sourceUpdateResult, sourceUpdateFailedReason, sourceUpdateTime)
+			if hasUpdate {
+				dataUpdateResult = 1
 			} else {
-				// 添加刷新成功日志
-				lErr = AddEdbInfoUpdateLog(edbInfo.EdbInfoId, 1, "", sourceUpdateResult, sourceUpdateFailedReason, sourceUpdateTime)
+				dataUpdateFailedReason = "未刷新到数据"
 			}
+
+			// 添加刷新成功日志
+			lErr = AddEdbInfoUpdateLog(edbInfo.EdbInfoId, 1, "", dataUpdateResult, dataUpdateFailedReason, 1)
 		}
 	}()
 

+ 26 - 28
services/edb_info_stat.go

@@ -10,7 +10,7 @@ import (
 )
 
 // AddEdbInfoUpdateLog 添加指标编辑/刷新日志
-func AddEdbInfoUpdateLog(edbInfoId int, updateResult int, updateFailedReason string, sourceUpdateResult int, sourceUpdateFailedReason string, sourceUpdateTime string) (err error) {
+func AddEdbInfoUpdateLog(edbInfoId int, updateResult int, updateFailedReason string, dataUpdateResult int, dataUpdateFailedReason string, isSourceRefresh int) (err error) {
 	var edbInfo *models.EdbInfo
 	if edbInfoId > 0 {
 		// 获取指标详情
@@ -43,9 +43,9 @@ func AddEdbInfoUpdateLog(edbInfoId int, updateResult int, updateFailedReason str
 		log.UpdateFailedReason = updateFailedReason
 		log.DataUpdateTime = edbInfo.DataUpdateTime
 		log.ErDataUpdateDate = edbInfo.ErDataUpdateDate
-		log.SourceUpdateResult = sourceUpdateResult
-		log.SourceUpdateTime = sourceUpdateTime
-		log.SourceUpdateFailedReason = sourceUpdateFailedReason
+		log.DataUpdateResult = dataUpdateResult
+		log.DataUpdateFailedReason = dataUpdateFailedReason
+		log.IsSourceRefresh = isSourceRefresh
 		_, err = data_stat.AddEdbUpdateLog(log)
 		if err != nil {
 			err = fmt.Errorf("新增指标更新日志失败,Err: %s", err)
@@ -93,7 +93,7 @@ func SetMysteelChemicalEdbInfoUpdateStat() (err error) {
 	statCond := "  and source = ? and create_time >= ? and create_time < ?"
 	var statPars []interface{}
 	statPars = append(statPars, utils.DATA_SOURCE_MYSTEEL_CHEMICAL, today, nextDay)
-	//查询当日钢联所有的统计数据
+	//查询当日钢联所有的刷新记录
 	updateStatList, err := data_stat.GetEdbUpdateStatByCondition(statCond, statPars)
 	if err != nil {
 		err = fmt.Errorf("查询钢联化工数据源明细记录统计报错,err: %s", err)
@@ -127,19 +127,10 @@ func SetMysteelChemicalEdbInfoUpdateStat() (err error) {
 				UniqueCode:      v.UniqueCode,
 				EdbCreateTime:   v.CreateTime,
 				EdbModifyTime:   v.ModifyTime,
-				//CreateTime:               v.CreateTime,
-				LatestDate:       v.LatestDate,
-				LatestValue:      v.LatestValue,
-				TerminalCode:     v.TerminalCode,
-				DataUpdateTime:   v.DataUpdateTime,
-				ErDataUpdateDate: v.ErDataUpdateDate,
-				/*SourceUpdateResult:       v.SourceUpdateResult,
-				SourceUpdateFailedReason: v.SourceUpdateFailedReason,
-				SourceUpdateTime:         v.SourceUpdateTime,*/
-				ModifyTime: nowTime,
-				//IsAdd:                    v.IsAdd,
-				//NeedRefresh:              v.NeedRefresh,
-				//HasRefresh:               v.HasRefresh,
+				LatestDate:      v.LatestDate,
+				LatestValue:     v.LatestValue,
+				TerminalCode:    v.TerminalCode,
+				ModifyTime:      nowTime,
 			}
 			needRefresh, _ := checkMySteelEdbInfoNeedRefresh(v.Frequency)
 			tmp.NeedRefresh = needRefresh
@@ -151,17 +142,17 @@ func SetMysteelChemicalEdbInfoUpdateStat() (err error) {
 				tmp.IsAdd = 2
 			}
 			if up, ok := updateLogMap[v.EdbInfoId]; ok {
-				tmp.SourceUpdateTime = up.SourceUpdateTime
-				tmp.SourceUpdateResult = up.SourceUpdateResult
-				tmp.SourceUpdateFailedReason = up.SourceUpdateFailedReason
-				if up.SourceUpdateFailedReason != "" && up.SourceUpdateFailedReason != "未刷新到数据" {
-					tmp.SourceUpdateFailedReason = "服务异常"
-				}
+				tmp.DataUpdateTime = up.DataUpdateTime
+				tmp.ErDataUpdateDate = up.ErDataUpdateDate
+				tmp.DataUpdateResult = up.DataUpdateResult
+				tmp.DataUpdateFailedReason = up.DataUpdateFailedReason
 				tmp.HasRefresh = 1
+				tmp.UpdateResult = up.UpdateResult
+				tmp.UpdateFailedReason = up.UpdateFailedReason
 			} else if needRefresh == 1 {
 				tmp.HasRefresh = 0
-				tmp.SourceUpdateResult = 2
-				tmp.SourceUpdateFailedReason = "服务异常"
+				tmp.DataUpdateResult = 2
+				tmp.DataUpdateFailedReason = "服务异常"
 			}
 
 			// 判断是否需要新增还是更新
@@ -295,11 +286,18 @@ func SetEdbSourceStat() (err error) {
 				tmp.HasRefreshNum = tmp.HasRefreshNum + 1
 			}
 
-			if v.SourceUpdateResult == 1 {
+			// 区分刷新成功和更新成功
+			if v.DataUpdateResult == 1 { //处理更新结果
 				tmp.UpdateSuccessNum = tmp.UpdateSuccessNum + 1
-			} else {
+			} else if v.NeedRefresh == 1 {
 				tmp.UpdateFailedNum = tmp.UpdateFailedNum + 1
 			}
+
+			if v.UpdateResult == 1 { //刷新结果
+				tmp.RefreshSuccessNum = tmp.RefreshSuccessNum + 1
+			} else if v.NeedRefresh == 1 {
+				tmp.RefreshFailedNum = tmp.RefreshFailedNum + 1
+			}
 		}
 		// 处理今天删除的指标数量
 		if dn, ok := delMap[terminalCode]; ok {