Parcourir la source

Merge branch 'feature/eta2.5.9_api_stat' into debug

xyxie il y a 2 semaines
Parent
commit
46597453fb

+ 29 - 3
controllers/data_stat/edb_source_stat.go

@@ -41,6 +41,7 @@ func (this *EdbSourceStatController) Column() {
 		br.Msg = "请选择表类型"
 		return
 	}
+	isApi, _ := this.GetInt("IsApi", 0)
 	tmpList, err := data_stat.GetStatColumn(columnType)
 	if err != nil {
 		br.Msg = "获取自定义列失败"
@@ -49,6 +50,9 @@ func (this *EdbSourceStatController) Column() {
 	}
 	var list []*data_stat.EdbInfoStatColumnListItem
 	for _, v := range tmpList {
+		if isApi == 1 && v.ColumnKey == "InitSourceName" {
+			continue
+		}
 		tmp := new(data_stat.EdbInfoStatColumnListItem)
 		tmp.ColumnKey = v.ColumnKey
 		tmp.IsShow = v.IsShow
@@ -491,7 +495,17 @@ func (this *EdbSourceStatController) EdbUpdateStat() {
 
 	pageSize, _ := this.GetInt("PageSize")
 	currentIndex, _ := this.GetInt("CurrentIndex")
+	isApi, _ := this.GetInt("IsApi", 0)
 
+	// 区分终端和API的统计
+	// 查询类型为API的终端编码
+	terminalCodeList, err := data_manage.GetTerminalCodeBySourceAndIsApi(source, isApi)
+	if err != nil {
+		br.Msg = "获取终端编码失败"
+		br.ErrMsg = "获取终端编码失败,Err:" + err.Error()
+		return
+	}
+	
 	var startSize int
 	if pageSize <= 0 {
 		pageSize = utils.PageSize20
@@ -502,9 +516,10 @@ func (this *EdbSourceStatController) EdbUpdateStat() {
 
 	startSize = paging.StartIndex(currentIndex, pageSize)
 
-	condition := " and source = ?"
+	condition := " and source = ? and terminal_code in (" + utils.GetOrmInReplace(len(terminalCodeList)) + ")"
 	var pars []interface{}
 	pars = append(pars, source)
+	pars = append(pars, terminalCodeList)
 	if createTime != "" {
 		startT, err := time.ParseInLocation(utils.FormatDate, createTime, time.Local)
 		if err != nil {
@@ -690,7 +705,7 @@ func (this *EdbSourceStatController) EdbSourceStat() {
 
 	pageSize, _ := this.GetInt("PageSize")
 	currentIndex, _ := this.GetInt("CurrentIndex")
-
+	isApi, _ := this.GetInt("IsApi", 0)
 	var startSize int
 	if pageSize <= 0 {
 		pageSize = utils.PageSize20
@@ -701,9 +716,20 @@ func (this *EdbSourceStatController) EdbSourceStat() {
 
 	startSize = paging.StartIndex(currentIndex, pageSize)
 
-	condition := " and source = ?"
+	// 区分终端和API的统计
+	// 查询类型为API的终端编码
+	terminalCodeList, err := data_manage.GetTerminalCodeBySourceAndIsApi(source, isApi)
+	if err != nil {
+		br.Msg = "获取终端编码失败"
+		br.ErrMsg = "获取终端编码失败,Err:" + err.Error()
+		return
+	}
+	
+
+	condition := " and source = ? and terminal_code in (" + utils.GetOrmInReplace(len(terminalCodeList)) + ")"
 	var pars []interface{}
 	pars = append(pars, source)
+	pars = append(pars, terminalCodeList)
 
 	if createTime != "" {
 		startT, err := time.ParseInLocation(utils.FormatDate, createTime, time.Local)

+ 3 - 2
controllers/data_stat/edb_terminal.go

@@ -133,7 +133,7 @@ func (this *EdbTerminalController) List() {
 	br.IsSendEmail = false
 	defer func() {
 		this.Data["json"] = br
-		this.ServeJSON()
+		this.ServeJSON()   
 	}()
 	sysUser := this.SysUser
 	if sysUser == nil {
@@ -221,7 +221,8 @@ func (this *EdbTerminalController) TerminalCodeList() {
 		return
 	}
 	source, _ := this.GetInt("Source", utils.DATA_SOURCE_MYSTEEL_CHEMICAL)
-	list, err := data_manage.GetEdbTerminalBySource(source)
+	isApi, _ := this.GetInt("IsApi", 0)
+	list, err := data_manage.GetEdbTerminalBySourceAndIsApi(source, isApi)
 	if err != nil {
 		br.Msg = "获取终端列表失败"
 		br.ErrMsg = "获取终端列表失败 ErrMsg:" + err.Error()

+ 11 - 3
models/data_manage/edb_terminal.go

@@ -133,10 +133,10 @@ func GetEdbTerminalList(source int) (item []*EdbTerminalItem, err error) {
 	
 }
 
-func GetEdbTerminalBySource(source int) (item []*EdbTerminalItem, err error) {
+func GetEdbTerminalBySourceAndIsApi(source int, isApi int) (item []*EdbTerminalItem, err error) {
 	o := global.DbMap[utils.DbNameIndex]
-	sql := ` SELECT * FROM edb_terminal where source=? ORDER BY terminal_id ASC`
-	err = o.Raw(sql, source).Find(&item).Error
+	sql := ` SELECT * FROM edb_terminal where source=? and is_api=? ORDER BY terminal_id ASC`
+	err = o.Raw(sql, source, isApi).Find(&item).Error
 	return
 }
 
@@ -236,3 +236,11 @@ func GetIndexNumBySource(source int, terminalCode string) (num int, list []*Inde
 	}
 	
 }
+
+// 根据source和is_api获取终端编码
+func GetTerminalCodeBySourceAndIsApi(source int, isApi int) (terminalCode []string, err error) {
+	o := global.DbMap[utils.DbNameIndex]
+	sql := `SELECT terminal_code FROM edb_terminal WHERE source = ? AND is_api = ?`
+	err = o.Raw(sql, source, isApi).Find(&terminalCode).Error
+	return
+}

+ 1 - 0
models/data_stat/edb_info_update_stat.go

@@ -50,6 +50,7 @@ func (e *EdbInfoUpdateStat) AfterFind(db *gorm.DB) (err error) {
 	e.LatestDate = utils.GormDateStrToDateStr(e.LatestDate)
 	e.StartDate = utils.GormDateStrToDateStr(e.StartDate)
 	e.EndDate = utils.GormDateStrToDateStr(e.EndDate)
+	e.UpdateTime = utils.GormDateStrToDateTimeStr(e.UpdateTime)
 	return
 }