Browse Source

fix:按照模块转移调整可以多选用户和模块

Roc 11 months ago
parent
commit
bd3cd5360e

+ 70 - 8
controllers/data_manage/edb_info.go

@@ -3888,7 +3888,8 @@ func (this *EdbInfoController) RelationEdbList() {
 // @Description 获取指标/图表创建人列表数据接口
 // @Param   PageSize   query   int  true       "每页数据条数"
 // @Param   CurrentIndex   query   int  true       "当前页页码,从1开始"
-// @Param   Source   query   int  false       "来源 :1:手工数据指标 2:钢联化工数据库 3:ETA指标库 4:ETA预测指标 5:图库"
+// @Param   Source   query   int  false       "来源 :1:手工数据指标 2:钢联化工数据库 3:ETA指标库 4:ETA预测指标 5:图库 6:ETA表格"
+// @Param   SubSource   query   int  false       "子来源 :目前作用于ETA表格,2024-3-26 14:12:09"
 // @Param   Keyword   query   string  false       "关键字,code或者名称"
 // @Param   Classify   query   string  false       "分类id"
 // @Param   UserId   query   int  false       "创建人id"
@@ -3909,12 +3910,20 @@ func (this *EdbInfoController) MoveEdbChartList() {
 	}
 
 	source, _ := this.GetInt("Source")
-	if source <= 0 || source > 5 {
+	if source <= 0 || source > 6 {
 		br.Msg = "错误的来源"
 		br.IsSendEmail = false
 		return
 	}
 
+	// 子来源(目前作用于ETA表格,2024-3-26 14:12:09)
+	subSource, _ := this.GetInt("SubSource")
+	if source == 6 && (subSource <= utils.EXCEL_DEFAULT || subSource > utils.CUSTOM_ANALYSIS_TABLE) {
+		br.Msg = "错误的子来源"
+		br.IsSendEmail = false
+		return
+	}
+
 	userId, _ := this.GetInt("UserId")
 	keyword := this.GetString("Keyword")
 	classify := this.GetString("Classify")
@@ -3944,7 +3953,7 @@ func (this *EdbInfoController) MoveEdbChartList() {
 		return
 	}
 
-	list, total, err := data.GetMoveEdbChartList(source, userId, keyword, classify, startSize, pageSize)
+	list, total, err := data.GetMoveEdbChartList(source, subSource, userId, keyword, classify, startSize, pageSize)
 	if err != nil {
 		//br.Success = true
 		br.Msg = "获取失败"
@@ -3992,12 +4001,19 @@ func (this *EdbInfoController) MoveEdbChartUser() {
 		return
 	}
 
-	if req.Source <= 0 || req.Source > 5 {
+	if req.Source <= 0 || req.Source > 6 {
 		br.Msg = "错误的来源"
 		br.IsSendEmail = false
 		return
 	}
 
+	// 子来源(目前作用于ETA表格,2024-3-26 14:12:09)
+	if req.Source == 6 && (req.SubSource <= utils.EXCEL_DEFAULT || req.SubSource > utils.CUSTOM_ANALYSIS_TABLE) {
+		br.Msg = "错误的子来源"
+		br.IsSendEmail = false
+		return
+	}
+
 	if !req.IsSelectAll && len(req.DataIdList) <= 0 {
 		br.Msg = "请勾选数据项"
 		br.IsSendEmail = false
@@ -4009,7 +4025,7 @@ func (this *EdbInfoController) MoveEdbChartUser() {
 		return
 	}
 
-	err, errMsg := data.MoveEdbChart(req.Source, req.UserId, req.NewUserId, req.IsSelectAll, req.DataIdList, req.Keyword, req.ClassifyId)
+	err, errMsg := data.MoveEdbChart(req.Source, req.SubSource, req.UserId, req.NewUserId, req.IsSelectAll, req.DataIdList, req.Keyword, req.ClassifyId)
 	if err != nil {
 		//br.Success = true
 		br.Msg = "移动失败"
@@ -6044,12 +6060,13 @@ func (this *EdbInfoController) MoveAllEdbChartUser() {
 		return
 	}
 
-	if req.Source <= 0 || req.Source > 5 {
-		br.Msg = "错误的来源"
+	if len(req.Source) < 0 {
+		br.Msg = "请选择来源"
 		br.IsSendEmail = false
 		return
 	}
-	if req.OldUserId <= 0 {
+
+	if len(req.OldUserId) <= 0 {
 		br.Msg = "请选择旧的创建人"
 		br.IsSendEmail = false
 		return
@@ -6075,3 +6092,48 @@ func (this *EdbInfoController) MoveAllEdbChartUser() {
 	br.Success = true
 	br.Msg = "移动成功"
 }
+
+// MoveEdbChartCount
+// @Title 获取指标/图表创建人汇总数据接口
+// @Description 获取指标/图表创建人汇总数据接口
+// @Param   Source   query   int  false       "来源 :1:手工数据指标 2:钢联化工数据库 3:ETA指标库 4:ETA预测指标 5:图库 6:ETA表格"
+// @Param   UserId   query   int  false       "创建人id"
+// @Success 200 {object} data_manage.ChartListResp
+// @router /edb_chart/count [get]
+func (this *EdbInfoController) MoveEdbChartCount() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	sysUser := this.SysUser
+	if sysUser == nil {
+		br.Msg = "请登录"
+		br.ErrMsg = "请登录,SysUser Is Empty"
+		br.Ret = 408
+		return
+	}
+
+	userId, _ := this.GetInt("UserId")
+
+	// 没有传入条件,那就默认自动返回
+	if userId <= 0 {
+		br.Ret = 200
+		br.Success = true
+		br.Msg = "获取成功"
+		//br.Data = resp
+		return
+	}
+
+	resp, err := data.GetMoveEdbChartCount(userId)
+	if err != nil {
+		//br.Success = true
+		br.Msg = "获取失败"
+		br.ErrMsg = "获取失败,Err:" + err.Error()
+		return
+	}
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "获取成功"
+	br.Data = resp
+}

+ 9 - 4
models/data_manage/chart_info.go

@@ -1566,7 +1566,7 @@ func GetChartInfoListGroupByUserId(edbIdList []string) (items []*ChartInfo, err
 		return
 	}
 	o := orm.NewOrmUsingDB("data")
-	sql := ` SELECT * FROM chart_info WHERE chart_info_id in (` + utils.GetOrmInReplace(num) + `) GROUP BY sys_user_id `
+	sql := ` SELECT * FROM chart_info WHERE chart_info_id in (` + utils.GetOrmInReplace(num) + `) ORDER BY chart_info_id desc `
 
 	_, err = o.Raw(sql, edbIdList).QueryRows(&items)
 	return
@@ -1592,10 +1592,15 @@ func ModifyChartInfoUserIdByCodeList(edbIdList []string, userId int, userName st
 // @param userId int
 // @param userName string
 // @return err error
-func ModifyChartInfoUserIdByOldUserId(oldUserId, userId int, userName string) (err error) {
+func ModifyChartInfoUserIdByOldUserId(oldUserIdList []int, userId int, userName string) (err error) {
+	num := len(oldUserIdList)
+	if num <= 0 {
+		return
+	}
 	o := orm.NewOrmUsingDB("data")
-	sql := `UPDATE chart_info SET sys_user_id=?,sys_user_real_name=? WHERE sys_user_id=? `
-	_, err = o.Raw(sql, userId, userName, oldUserId).Exec()
+	sql := `UPDATE chart_info SET sys_user_id=?,sys_user_real_name=? WHERE sys_user_id in (` + utils.GetOrmInReplace(num) + `) `
+	_, err = o.Raw(sql, userId, userName, oldUserIdList).Exec()
+
 	return
 }
 

+ 12 - 6
models/data_manage/edb_info.go

@@ -1578,10 +1578,15 @@ func ModifyEdbInfoUserIdByCodeList(edbIdList []string, userId int, userName stri
 // @param userId int
 // @param userName string
 // @return err error
-func ModifyEdbInfoUserIdByOldUserId(oldUserId, edbInfoType, userId int, userName string) (err error) {
+func ModifyEdbInfoUserIdByOldUserId(oldUserIdList []int, edbInfoType, userId int, userName string) (err error) {
+	num := len(oldUserIdList)
+	if num <= 0 {
+		return
+	}
 	o := orm.NewOrmUsingDB("data")
-	sql := `UPDATE edb_info SET sys_user_id=?,sys_user_real_name=? WHERE sys_user_id=? and edb_info_type = ?`
-	_, err = o.Raw(sql, userId, userName, oldUserId, edbInfoType).Exec()
+	sql := `UPDATE edb_info SET sys_user_id=?,sys_user_real_name=? WHERE sys_user_id in (` + utils.GetOrmInReplace(num) + `) and edb_info_type = ?`
+	_, err = o.Raw(sql, userId, userName, oldUserIdList, edbInfoType).Exec()
+
 	return
 }
 
@@ -1604,6 +1609,7 @@ type MoveEdbChartListResp struct {
 // MoveEdbChartReq 转移指标/图表的请求
 type MoveEdbChartReq struct {
 	Source      int      `description:"来源id"`
+	SubSource   int      `description:"子来源id"`
 	DataIdList  []string `description:"指标/图表唯一id列表"`
 	NewUserId   int      `description:"新的创建人id"`
 	IsSelectAll bool     `description:"是否选择所有指标"`
@@ -1614,9 +1620,9 @@ type MoveEdbChartReq struct {
 
 // MoveAllEdbChartReq 转移所有的指标/图表的请求
 type MoveAllEdbChartReq struct {
-	Source    int `description:"来源id"`
-	OldUserId int `description:"旧的创建人id"`
-	NewUserId int `description:"新的创建人id"`
+	Source    []int `description:"来源id"`
+	OldUserId []int `description:"旧的创建人id"`
+	NewUserId int   `description:"新的创建人id"`
 }
 
 type EdbChartClassifyResp struct {

+ 65 - 0
models/data_manage/excel/excel_info.go

@@ -1,6 +1,7 @@
 package excel
 
 import (
+	"eta/eta_api/utils"
 	"fmt"
 	"github.com/beego/beego/v2/client/orm"
 	"time"
@@ -187,6 +188,19 @@ func GetExcelInfoCountByCondition(condition string, pars []interface{}) (count i
 	return
 }
 
+func GetNoContentExcelInfoListByCondition(condition string, pars []interface{}, startSize, pageSize int) (items []*ExcelClassifyItems, err error) {
+	o := orm.NewOrmUsingDB("data")
+	sql := ` excel_info_id,excel_classify_id,excel_name AS excel_classify_name,
+             unique_code,sys_user_id,sys_user_real_name,sort FROM excel_info WHERE 1=1 `
+	if condition != "" {
+		sql += condition
+	}
+
+	sql += ` AND is_delete=0 ORDER BY excel_info_id DESC LIMIT ?,? `
+	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
+	return
+}
+
 func GetExcelInfoByCondition(condition string, pars []interface{}) (item *ExcelInfo, err error) {
 	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT * FROM excel_info WHERE 1=1 AND is_delete=0 `
@@ -525,3 +539,54 @@ func GetExcelMaxSortByClassifyId(classifyId int, source int) (sort int, err erro
 	err = o.Raw(sql, classifyId, source).QueryRow(&sort)
 	return
 }
+
+// GetNoContentExcelListGroupByUserId 根据表格id列表、用户分组获取指标信息
+func GetNoContentExcelListGroupByUserId(edbIdList []string) (items []*MyExcelInfoList, err error) {
+	num := len(edbIdList)
+	if num <= 0 {
+		return
+	}
+	o := orm.NewOrmUsingDB("data")
+	sql := ` SELECT * FROM excel_info WHERE excel_info_id in (` + utils.GetOrmInReplace(num) + `) order by excel_info_id DESC `
+
+	_, err = o.Raw(sql, edbIdList).QueryRows(&items)
+	return
+}
+
+// ModifyExcelInfoUserIdByCodeList
+// @Description: 根据编码列表修改表格信息
+// @author: Roc
+// @datetime 2024-03-26 14:16:30
+// @param excelIdList []string
+// @param userId int
+// @param userName string
+// @return err error
+func ModifyExcelInfoUserIdByCodeList(excelIdList []string, userId int, userName string) (err error) {
+	num := len(excelIdList)
+	if num <= 0 {
+		return
+	}
+	o := orm.NewOrmUsingDB("data")
+	sql := `UPDATE excel_info SET sys_user_id=?,sys_user_real_name=? WHERE excel_info_id in (` + utils.GetOrmInReplace(num) + `) `
+	_, err = o.Raw(sql, userId, userName, excelIdList).Exec()
+	return
+}
+
+// ModifyExcelInfoUserIdByOldUserId
+// @Description:  根据旧的用户id修改创建人
+// @author: Roc
+// @datetime 2024-03-25 19:14:59
+// @param oldUserId int
+// @param userId int
+// @param userName string
+// @return err error
+func ModifyExcelInfoUserIdByOldUserId(oldUserIdList []int, userId int, userName string) (err error) {
+	num := len(oldUserIdList)
+	if num <= 0 {
+		return
+	}
+	o := orm.NewOrmUsingDB("data")
+	sql := `UPDATE excel_info SET sys_user_id=?,sys_user_real_name=? WHERE is_delete=0 AND sys_user_id in (` + utils.GetOrmInReplace(num) + `) `
+	_, err = o.Raw(sql, userId, userName, oldUserIdList).Exec()
+	return
+}

+ 8 - 3
models/data_manage/mysteel_chemical_index.go

@@ -326,10 +326,15 @@ func ModifyMysteelChemicalIndexUserIdByCodeList(edbIdList []string, userId int,
 // @param userId int
 // @param userName string
 // @return err error
-func ModifyMysteelChemicalIndexUserIdByOldUserId(oldUserId, userId int, userName string) (err error) {
+func ModifyMysteelChemicalIndexUserIdByOldUserId(oldUserIdList []int, userId int, userName string) (err error) {
+	num := len(oldUserIdList)
+	if num <= 0 {
+		return
+	}
 	o := orm.NewOrmUsingDB("data")
-	sql := `UPDATE base_from_mysteel_chemical_index SET sys_user_id=?,sys_user_real_name=? WHERE sys_user_id=?  `
-	_, err = o.Raw(sql, userId, userName, oldUserId).Exec()
+	sql := `UPDATE base_from_mysteel_chemical_index SET sys_user_id=?,sys_user_real_name=? WHERE sys_user_id in (` + utils.GetOrmInReplace(num) + `)  `
+	_, err = o.Raw(sql, userId, userName, oldUserIdList).Exec()
+
 	return
 }
 

+ 8 - 3
models/target.go

@@ -1452,10 +1452,15 @@ func ModifyEdbinfoUserIdByCodeList(edbCodeList []string, userId int) (err error)
 // @param oldUserId int
 // @param userId int
 // @return err error
-func ModifyEdbinfoUserIdByOldUserId(oldUserId, userId int) (err error) {
+func ModifyEdbinfoUserIdByOldUserId(oldUserIdList []int, userId int) (err error) {
+	num := len(oldUserIdList)
+	if num <= 0 {
+		return
+	}
 	o := orm.NewOrmUsingDB("edb")
-	sql := `UPDATE edbinfo SET user_id=? WHERE user_id=? `
-	_, err = o.Raw(sql, userId, oldUserId).Exec()
+	sql := `UPDATE edbinfo SET user_id=? WHERE user_id in (` + utils.GetOrmInReplace(num) + `) `
+	_, err = o.Raw(sql, userId, oldUserIdList).Exec()
+
 	return
 }
 

+ 9 - 0
routers/commentsRouter.go

@@ -2842,6 +2842,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:EdbInfoController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:EdbInfoController"],
+        beego.ControllerComments{
+            Method: "MoveEdbChartCount",
+            Router: `/edb_chart/count`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:EdbInfoController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage:EdbInfoController"],
         beego.ControllerComments{
             Method: "MoveEdbChartList",

+ 250 - 43
services/data/edb_info.go

@@ -5,6 +5,7 @@ import (
 	"errors"
 	"eta/eta_api/models"
 	"eta/eta_api/models/data_manage"
+	"eta/eta_api/models/data_manage/excel"
 	"eta/eta_api/models/system"
 	"eta/eta_api/services/alarm_msg"
 	"eta/eta_api/services/elastic"
@@ -1719,8 +1720,8 @@ func getRefreshEdbInfoListByIds(edbInfoIdList []int) (newBaseEdbInfoArr, newBase
 }
 
 // GetMoveEdbChartList 获取待转移的指标/图表列表
-// @param source 来源 :1:手工数据指标 2:钢联化工数据库 3:ETA指标库 4:ETA预测指标 5:图库
-func GetMoveEdbChartList(source, userId int, keyword, classify string, startSize, pageSize int) (list []data_manage.MoveEdbChartList, total int, err error) {
+// @param source 来源 :1:手工数据指标 2:钢联化工数据库 3:ETA指标库 4:ETA预测指标 5:图库 6:ETA表格
+func GetMoveEdbChartList(source, subSource, userId int, keyword, classify string, startSize, pageSize int) (list []data_manage.MoveEdbChartList, total int, err error) {
 	var condition string
 	var pars []interface{}
 	switch source {
@@ -1905,6 +1906,65 @@ func GetMoveEdbChartList(source, userId int, keyword, classify string, startSize
 				CreateUserName: v.SysUserRealName,
 			})
 		}
+	case 6: //ETA表格
+		if keyword != `` {
+			condition += " AND (excel_name like ?  OR sys_user_real_name like ? ) "
+			pars = utils.GetLikeKeywordPars(pars, keyword, 2)
+		}
+		if userId > 0 {
+			condition += ` AND sys_user_id = ? `
+			pars = append(pars, userId)
+		}
+		if classify != "" {
+			condition += ` AND excel_classify_id IN (` + classify + `) `
+		}
+
+		condition += " AND source = ? "
+		pars = append(pars, subSource)
+
+		total, err = excel.GetExcelInfoCountByCondition(condition, pars)
+		if err != nil {
+			return
+		}
+		tmpList, tmpErr := excel.GetNoContentExcelInfoListByCondition(condition, pars, startSize, pageSize)
+		if tmpErr != nil {
+			err = tmpErr
+			return
+		}
+
+		// 获取所有的图表分类
+		firstClassifyList, tmpErr := excel.GetExcelClassifyByParentId(0, subSource)
+		if tmpErr != nil {
+			err = tmpErr
+			return
+		}
+		firstClassifyNameMap := make(map[int]string)
+		for _, v := range firstClassifyList {
+			firstClassifyNameMap[v.ExcelClassifyId] = v.ExcelClassifyName
+		}
+		secondClassList, tmpErr := excel.GetExcelClassifyBySource(subSource)
+		if tmpErr != nil {
+			err = tmpErr
+			return
+		}
+		secondClassifyNameMap := make(map[int]string)
+		for _, v := range secondClassList {
+			firstName := firstClassifyNameMap[v.ParentId]
+			if firstName != `` {
+				firstName = firstName + " / "
+			}
+			secondClassifyNameMap[v.ExcelClassifyId] = firstName + v.ExcelClassifyName
+		}
+
+		for _, v := range tmpList {
+			list = append(list, data_manage.MoveEdbChartList{
+				DataId:         strconv.Itoa(v.ExcelInfoId),
+				Name:           v.ExcelClassifyName,
+				ClassifyName:   secondClassifyNameMap[v.ExcelClassifyId],
+				CreateUserId:   v.SysUserId,
+				CreateUserName: v.SysUserRealName,
+			})
+		}
 	default:
 		return
 	}
@@ -1913,8 +1973,8 @@ func GetMoveEdbChartList(source, userId int, keyword, classify string, startSize
 }
 
 // MoveEdbChart 转移指标/图表创建人
-// @param source 来源 :1:手工数据指标 2:钢联化工数据库 3:ETA指标库 4:ETA预测指标 5:图库
-func MoveEdbChart(source, oldUserId, newUserId int, isSelectAll bool, dataId []string, keyword, classify string) (err error, errMsg string) {
+// @param source 来源 :1:手工数据指标 2:钢联化工数据库 3:ETA指标库 4:ETA预测指标 5:图库 6:ETA表格
+func MoveEdbChart(source, subSource, oldUserId, newUserId int, isSelectAll bool, dataId []string, keyword, classify string) (err error, errMsg string) {
 	adminInfo, err := system.GetSysAdminById(newUserId)
 	if err != nil {
 		return
@@ -1931,7 +1991,7 @@ func MoveEdbChart(source, oldUserId, newUserId int, isSelectAll bool, dataId []s
 		// 需要转义的指标/图表ID列表
 		dataId = make([]string, 0)
 		// 获取所有指标/图表
-		list, _, tmpErr := GetMoveEdbChartList(source, oldUserId, keyword, classify, 0, 100000)
+		list, _, tmpErr := GetMoveEdbChartList(source, subSource, oldUserId, keyword, classify, 0, 100000)
 		if tmpErr != nil {
 			err = tmpErr
 			return
@@ -2023,6 +2083,23 @@ func MoveEdbChart(source, oldUserId, newUserId int, isSelectAll bool, dataId []s
 			// 修改创建人
 			err = data_manage.ModifyChartInfoUserIdByCodeList(dataId, adminInfo.AdminId, adminInfo.RealName)
 		}
+	case 6: // ETA表格
+		tmpList, tmpErr := excel.GetNoContentExcelListGroupByUserId(dataId)
+		if tmpErr != nil {
+			err = tmpErr
+			return
+		}
+		if len(tmpList) > 0 {
+			for _, v := range tmpList {
+				if v.SysUserId == newUserId {
+					errMsg = "新创建人不可和原创建人一致"
+					err = errors.New(errMsg)
+					return
+				}
+			}
+			// 修改创建人
+			err = excel.ModifyExcelInfoUserIdByCodeList(dataId, adminInfo.AdminId, adminInfo.RealName)
+		}
 	default:
 		return
 	}
@@ -2834,7 +2911,7 @@ func getEdbRuleTitle(edbInfo, parentEdbInfo *data_manage.EdbInfo, childList []da
 }
 
 // GetEdbChartAdminList
-// @param source 来源 :1:手工数据指标 2:钢联化工数据库 3:ETA指标库 4:ETA预测指标 5:图库
+// @param source 来源 :1:手工数据指标 2:钢联化工数据库 3:ETA指标库 4:ETA预测指标 5:图库 6:ETA表格
 func GetEdbChartAdminList(source int) (list []int, err error) {
 	switch source {
 	case 1: //手工数据指标
@@ -3282,49 +3359,179 @@ func EdbInfoSmmApiAdd(item *data_manage.EdbInfo) (edbInfo *data_manage.EdbInfo,
 	return
 }
 
-// MoveAllEdbChart 通过原创建人转移指标/图表创建人
-// @param source 来源 :1:手工数据指标 2:钢联化工数据库 3:ETA指标库 4:ETA预测指标 5:图库
-func MoveAllEdbChart(source, oldUserId, userId int) (err error, errMsg string) {
+// MoveAllEdbChart
+// @Description: 通过原创建人转移指标/图表创建人
+// @author: Roc
+// @datetime 2024-03-26 15:11:12
+// @param sourceList []int 1:手工数据指标 2:钢联化工数据库 3:ETA指标库 4:ETA预测指标 5:图库 6:ETA表格
+// @param oldUserId []int
+// @param userId int
+// @return err error
+// @return errMsg string
+func MoveAllEdbChart(sourceList, oldUserIdList []int, userId int) (err error, errMsg string) {
 	adminInfo, err := system.GetSysAdminById(userId)
 	if err != nil {
 		return
 	}
 
-	switch source {
-	case 1: //手工数据指标
-		// 修改创建人
-		err = models.ModifyEdbinfoUserIdByOldUserId(oldUserId, userId)
+	for _, source := range sourceList {
+		switch source {
+		case 1: //手工数据指标
+			// 修改创建人
+			err = models.ModifyEdbinfoUserIdByOldUserId(oldUserIdList, userId)
+		case 2: //钢联化工数据库
+			// 修改创建人
+			err = data_manage.ModifyMysteelChemicalIndexUserIdByOldUserId(oldUserIdList, adminInfo.AdminId, adminInfo.RealName)
+		case 3: //ETA指标库
+			// 修改创建人
+			err = data_manage.ModifyEdbInfoUserIdByOldUserId(oldUserIdList, 0, adminInfo.AdminId, adminInfo.RealName)
+		case 4: //ETA预测指标
+			// 修改创建人
+			err = data_manage.ModifyEdbInfoUserIdByOldUserId(oldUserIdList, 1, adminInfo.AdminId, adminInfo.RealName)
+		case 5: //图库
+			// 修改创建人
+			err = data_manage.ModifyChartInfoUserIdByOldUserId(oldUserIdList, adminInfo.AdminId, adminInfo.RealName)
+		case 6: // ETA表格
+			// 修改创建人
+			err = excel.ModifyExcelInfoUserIdByOldUserId(oldUserIdList, adminInfo.AdminId, adminInfo.RealName)
+		default:
+		}
+	}
 
-	case 2: //钢联化工数据库
-		// 修改创建人
-		err = data_manage.ModifyMysteelChemicalIndexUserIdByOldUserId(oldUserId, adminInfo.AdminId, adminInfo.RealName)
-	case 3: //ETA指标库
-		// 修改创建人
-		err = data_manage.ModifyEdbInfoUserIdByOldUserId(oldUserId, 0, adminInfo.AdminId, adminInfo.RealName)
-		// 移除当前用户的不可操作权限
-		//{
-		//	obj := data_manage.EdbInfoNoPermissionAdmin{}
-		//	for _, v := range dataId {
-		//		edbInfoId, _ := strconv.Atoi(v)
-		//		go obj.DeleteByEdbInfoIdAndAdminId(edbInfoId, adminInfo.AdminId)
-		//	}
-		//}
-	case 4: //ETA预测指标
-		// 修改创建人
-		err = data_manage.ModifyEdbInfoUserIdByOldUserId(oldUserId, 1, adminInfo.AdminId, adminInfo.RealName)
-		// 移除当前用户的不可操作权限
-		//{
-		//	obj := data_manage.EdbInfoNoPermissionAdmin{}
-		//	for _, v := range dataId {
-		//		edbInfoId, _ := strconv.Atoi(v)
-		//		go obj.DeleteByEdbInfoIdAndAdminId(edbInfoId, adminInfo.AdminId)
-		//	}
-		//}
-	case 5: //图库
-		// 修改创建人
-		err = data_manage.ModifyChartInfoUserIdByOldUserId(oldUserId, adminInfo.AdminId, adminInfo.RealName)
-	default:
-		return
+	return
+}
+
+// GetMoveEdbChartCount 获取待转移的指标/图表列表
+// @param source 来源 :1:手工数据指标 2:钢联化工数据库 3:ETA指标库 4:ETA预测指标 5:图库 6:ETA表格
+func GetMoveEdbChartCount(userId int) (sourceMap map[int]int, err error) {
+	sourceMap = make(map[int]int)
+	{
+		// 手工数据指标
+		var condition string
+		var pars []interface{}
+
+		if userId > 0 {
+			condition += ` AND a.user_id = ? `
+			pars = append(pars, userId)
+		}
+
+		total, tmpErr := models.GetEdbinfoListCount(condition, pars, "", 0)
+		if tmpErr != nil {
+			err = tmpErr
+			return
+		}
+		sourceMap[1] = total
+	}
+
+	{
+		// 钢联化工数据库
+		var condition string
+		var pars []interface{}
+		if userId > 0 {
+			condition += ` AND sys_user_id = ? `
+			pars = append(pars, userId)
+		}
+
+		total, tmpErr := data_manage.GetMysteelChemicalIndexCount(condition, pars)
+		if tmpErr != nil {
+			err = tmpErr
+			return
+		}
+		sourceMap[2] = total
+	}
+
+	{
+		// 钢联化工数据库
+		var condition string
+		var pars []interface{}
+		if userId > 0 {
+			condition += ` AND sys_user_id = ? `
+			pars = append(pars, userId)
+		}
+
+		total, tmpErr := data_manage.GetMysteelChemicalIndexCount(condition, pars)
+		if tmpErr != nil {
+			err = tmpErr
+			return
+		}
+		sourceMap[2] = total
+	}
+
+	{
+		// ETA指标库
+		var condition string
+		var pars []interface{}
+		if userId > 0 {
+			condition += ` AND sys_user_id = ? `
+			pars = append(pars, userId)
+		}
+		//ETA指标库
+		condition += ` AND edb_info_type = ? `
+		pars = append(pars, 0)
+
+		total, tmpErr := data_manage.GetEdbInfoByConditionCount(condition, pars)
+		if tmpErr != nil {
+			err = tmpErr
+			return
+		}
+		sourceMap[3] = total
+	}
+
+	{
+		// ETA预测指标库
+		var condition string
+		var pars []interface{}
+		if userId > 0 {
+			condition += ` AND sys_user_id = ? `
+			pars = append(pars, userId)
+		}
+
+		//ETA预测指标
+		condition += ` AND edb_info_type = ? `
+		pars = append(pars, 1)
+
+		total, tmpErr := data_manage.GetEdbInfoByConditionCount(condition, pars)
+		if tmpErr != nil {
+			err = tmpErr
+			return
+		}
+		sourceMap[4] = total
+	}
+
+	{
+		// 图库
+		var condition string
+		var pars []interface{}
+
+		if userId > 0 {
+			condition += ` AND sys_user_id = ? `
+			pars = append(pars, userId)
+		}
+
+		total, tmpErr := data_manage.GetChartInfoCountByCondition(condition, pars)
+		if tmpErr != nil {
+			err = tmpErr
+			return
+		}
+		sourceMap[5] = total
+	}
+
+	{
+		// ETA表格
+		var condition string
+		var pars []interface{}
+
+		if userId > 0 {
+			condition += ` AND sys_user_id = ? `
+			pars = append(pars, userId)
+		}
+
+		total, tmpErr := excel.GetExcelInfoCountByCondition(condition, pars)
+		if tmpErr != nil {
+			err = tmpErr
+			return
+		}
+		sourceMap[6] = total
 	}
 
 	return