|
@@ -132,6 +132,7 @@ func (c *EdbInfoShareController) Save() {
|
|
|
br.IsSendEmail = false
|
|
|
return
|
|
|
}
|
|
|
+ obj := data_manage.EdbInfoShare{}
|
|
|
|
|
|
// 如果指标未公开,则判断是否被其他用户使用
|
|
|
if edbItem.PublicStatus != utils.DataPublicSuccess {
|
|
@@ -139,6 +140,19 @@ func (c *EdbInfoShareController) Save() {
|
|
|
if len(req.UserIdList) > 0 {
|
|
|
checkUserIdList = append(checkUserIdList, req.UserIdList...)
|
|
|
}
|
|
|
+
|
|
|
+ {
|
|
|
+ userIdList, err := obj.GetAllUserIdListByEdbInfoIdAndNoShareType(req.EdbInfoId, req.ShareType)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "设置失败!"
|
|
|
+ br.ErrMsg = "设置失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if len(userIdList) > 0 {
|
|
|
+ checkUserIdList = append(checkUserIdList, userIdList...)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
noReferenced, otherUserIdList, err, tips := data.CheckEdbReferencedByOthers(edbItem.EdbInfoType, []int{edbItem.EdbInfoId}, checkUserIdList)
|
|
|
if err != nil {
|
|
|
br.Msg = "保存失败"
|
|
@@ -165,7 +179,7 @@ func (c *EdbInfoShareController) Save() {
|
|
|
for _, userInfo := range userList {
|
|
|
userNameList = append(userNameList, userInfo.RealName)
|
|
|
}
|
|
|
- userNameStr = strings.Join(userNameList, ",")
|
|
|
+ userNameStr = strings.Join(userNameList, "、")
|
|
|
}
|
|
|
msg := `指标被其他用户使用,无法设置共享`
|
|
|
if userNameStr != "" {
|
|
@@ -181,7 +195,6 @@ func (c *EdbInfoShareController) Save() {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- obj := data_manage.EdbInfoShare{}
|
|
|
err = obj.SaveEdbInfoShare([]int{req.EdbInfoId}, req.UserIdList, req.ShareType)
|
|
|
if err != nil {
|
|
|
br.Msg = `保存失败`
|
|
@@ -670,119 +683,185 @@ func (c *EdbInfoShareController) BatchSave() {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- {
|
|
|
- checkBaseEdbInfoIdList := make([]int, 0)
|
|
|
- checkCalculateEdbInfoIdList := make([]int, 0)
|
|
|
+ obj := data_manage.EdbInfoShare{}
|
|
|
|
|
|
+ {
|
|
|
+ //checkBaseEdbInfoIdList := make([]int, 0)
|
|
|
+ //checkCalculateEdbInfoIdList := make([]int, 0)
|
|
|
+ //
|
|
|
+ //for _, edbItem := range edbInfoList {
|
|
|
+ // // 设置公开的可以忽略
|
|
|
+ // if edbItem.PublicStatus == utils.DataPublicSuccess {
|
|
|
+ // continue
|
|
|
+ // }
|
|
|
+ //
|
|
|
+ // if edbItem.EdbInfoType == utils.EDB_INFO_TYPE {
|
|
|
+ // checkBaseEdbInfoIdList = append(checkBaseEdbInfoIdList, edbItem.EdbInfoId)
|
|
|
+ // } else if edbItem.EdbInfoType == utils.PREDICT_EDB_INFO_TYPE {
|
|
|
+ // checkCalculateEdbInfoIdList = append(checkCalculateEdbInfoIdList, edbItem.EdbInfoId)
|
|
|
+ // }
|
|
|
+ //}
|
|
|
+ //
|
|
|
+ //checkUserIdList := []int{sysUser.AdminId}
|
|
|
+ //if len(req.UserIdList) > 0 {
|
|
|
+ // checkUserIdList = append(checkUserIdList, req.UserIdList...)
|
|
|
+ //}
|
|
|
+ //
|
|
|
+ //// 普通指标
|
|
|
+ //{
|
|
|
+ // noReferenced, otherUserIdList, err, tips := data.CheckEdbReferencedByOthers(utils.EDB_INFO_TYPE, checkBaseEdbInfoIdList, checkUserIdList)
|
|
|
+ // if err != nil {
|
|
|
+ // br.Msg = "保存失败"
|
|
|
+ // if tips != "" {
|
|
|
+ // br.Msg = tips
|
|
|
+ // }
|
|
|
+ // br.ErrMsg = "设置指标共享失败,查找指标的关联用户失败,Err:" + err.Error()
|
|
|
+ // return
|
|
|
+ // }
|
|
|
+ //
|
|
|
+ // if !noReferenced {
|
|
|
+ // userNameStr := ``
|
|
|
+ // if len(otherUserIdList) > 0 {
|
|
|
+ // userNameList := make([]string, 0)
|
|
|
+ // userList, err := system.GetAdminListByIdList(otherUserIdList)
|
|
|
+ // if err != nil {
|
|
|
+ // br.Msg = "保存失败"
|
|
|
+ // if tips != "" {
|
|
|
+ // br.Msg = tips
|
|
|
+ // }
|
|
|
+ // br.ErrMsg = "设置指标共享失败,查找用户信息失败,Err:" + err.Error()
|
|
|
+ // return
|
|
|
+ // }
|
|
|
+ // for _, userInfo := range userList {
|
|
|
+ // userNameList = append(userNameList, userInfo.RealName)
|
|
|
+ // }
|
|
|
+ // userNameStr = strings.Join(userNameList, "、")
|
|
|
+ // }
|
|
|
+ // msg := `指标被其他用户使用,无法设置共享`
|
|
|
+ // if userNameStr != "" {
|
|
|
+ // msg = fmt.Sprintf(`指标被用户%s使用,无法设置共享`, userNameStr)
|
|
|
+ // }
|
|
|
+ // if tips != "" {
|
|
|
+ // msg = fmt.Sprintf(`%s,用户为:%s,无法设置共享`, tips, userNameStr)
|
|
|
+ // }
|
|
|
+ // br.Msg = msg
|
|
|
+ // br.ErrMsg = "指标被其他用户共享,无法设置共享"
|
|
|
+ // br.IsSendEmail = false
|
|
|
+ // return
|
|
|
+ // }
|
|
|
+ //}
|
|
|
+ //
|
|
|
+ //// 预测指标
|
|
|
+ //{
|
|
|
+ // noReferenced, otherUserIdList, err, tips := data.CheckEdbReferencedByOthers(utils.PREDICT_EDB_INFO_TYPE, checkCalculateEdbInfoIdList, checkUserIdList)
|
|
|
+ // if err != nil {
|
|
|
+ // br.Msg = "保存失败"
|
|
|
+ // if tips != "" {
|
|
|
+ // br.Msg = tips
|
|
|
+ // }
|
|
|
+ // br.ErrMsg = "设置指标共享失败,查找指标的关联用户失败,Err:" + err.Error()
|
|
|
+ // return
|
|
|
+ // }
|
|
|
+ //
|
|
|
+ // if !noReferenced {
|
|
|
+ // userNameStr := ``
|
|
|
+ // if len(otherUserIdList) > 0 {
|
|
|
+ // userNameList := make([]string, 0)
|
|
|
+ // userList, err := system.GetAdminListByIdList(otherUserIdList)
|
|
|
+ // if err != nil {
|
|
|
+ // br.Msg = "保存失败"
|
|
|
+ // if tips != "" {
|
|
|
+ // br.Msg = tips
|
|
|
+ // }
|
|
|
+ // br.ErrMsg = "设置指标共享失败,查找用户信息失败,Err:" + err.Error()
|
|
|
+ // return
|
|
|
+ // }
|
|
|
+ // for _, userInfo := range userList {
|
|
|
+ // userNameList = append(userNameList, userInfo.RealName)
|
|
|
+ // }
|
|
|
+ // userNameStr = strings.Join(userNameList, "、")
|
|
|
+ // }
|
|
|
+ // msg := `指标被其他用户使用,无法设置共享`
|
|
|
+ // if userNameStr != "" {
|
|
|
+ // msg = fmt.Sprintf(`指标被用户%s使用,无法设置共享`, userNameStr)
|
|
|
+ // }
|
|
|
+ // if tips != "" {
|
|
|
+ // msg = fmt.Sprintf(`%s,用户为:%s,无法设置共享`, tips, userNameStr)
|
|
|
+ // }
|
|
|
+ // br.Msg = msg
|
|
|
+ // br.ErrMsg = "指标被其他用户共享,无法设置共享"
|
|
|
+ // br.IsSendEmail = false
|
|
|
+ // return
|
|
|
+ // }
|
|
|
+ //}
|
|
|
for _, edbItem := range edbInfoList {
|
|
|
- // 设置公开的可以忽略
|
|
|
+ // 如果指标已公开,则不判断是否被其他用户使用
|
|
|
if edbItem.PublicStatus == utils.DataPublicSuccess {
|
|
|
continue
|
|
|
}
|
|
|
-
|
|
|
- if edbItem.EdbInfoType == utils.EDB_INFO_TYPE {
|
|
|
- checkBaseEdbInfoIdList = append(checkBaseEdbInfoIdList, edbItem.EdbInfoId)
|
|
|
- } else if edbItem.EdbInfoType == utils.PREDICT_EDB_INFO_TYPE {
|
|
|
- checkCalculateEdbInfoIdList = append(checkCalculateEdbInfoIdList, edbItem.EdbInfoId)
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- checkUserIdList := []int{sysUser.AdminId}
|
|
|
- if len(req.UserIdList) > 0 {
|
|
|
- checkUserIdList = append(checkUserIdList, req.UserIdList...)
|
|
|
- }
|
|
|
-
|
|
|
- // 普通指标
|
|
|
- {
|
|
|
- noReferenced, otherUserIdList, err, tips := data.CheckEdbReferencedByOthers(utils.EDB_INFO_TYPE, checkBaseEdbInfoIdList, checkUserIdList)
|
|
|
- if err != nil {
|
|
|
- br.Msg = "保存失败"
|
|
|
- if tips != "" {
|
|
|
- br.Msg = tips
|
|
|
+ if edbItem.PublicStatus != utils.DataPublicSuccess {
|
|
|
+ checkUserIdList := []int{sysUser.AdminId}
|
|
|
+ if len(req.UserIdList) > 0 {
|
|
|
+ checkUserIdList = append(checkUserIdList, req.UserIdList...)
|
|
|
}
|
|
|
- br.ErrMsg = "设置指标共享失败,查找指标的关联用户失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
|
|
|
- if !noReferenced {
|
|
|
- userNameStr := ``
|
|
|
- if len(otherUserIdList) > 0 {
|
|
|
- userNameList := make([]string, 0)
|
|
|
- userList, err := system.GetAdminListByIdList(otherUserIdList)
|
|
|
+ {
|
|
|
+ userIdList, err := obj.GetAllUserIdListByEdbInfoIdAndNoShareType(edbItem.EdbInfoId, req.ShareType)
|
|
|
if err != nil {
|
|
|
- br.Msg = "保存失败"
|
|
|
- if tips != "" {
|
|
|
- br.Msg = tips
|
|
|
- }
|
|
|
- br.ErrMsg = "设置指标共享失败,查找用户信息失败,Err:" + err.Error()
|
|
|
+ br.Msg = "设置失败!"
|
|
|
+ br.ErrMsg = "设置失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
- for _, userInfo := range userList {
|
|
|
- userNameList = append(userNameList, userInfo.RealName)
|
|
|
+ if len(userIdList) > 0 {
|
|
|
+ checkUserIdList = append(checkUserIdList, userIdList...)
|
|
|
}
|
|
|
- userNameStr = strings.Join(userNameList, ",")
|
|
|
- }
|
|
|
- msg := `指标被其他用户使用,无法设置共享`
|
|
|
- if userNameStr != "" {
|
|
|
- msg = fmt.Sprintf(`指标被用户%s使用,无法设置共享`, userNameStr)
|
|
|
}
|
|
|
- if tips != "" {
|
|
|
- msg = fmt.Sprintf(`%s,用户为:%s,无法设置共享`, tips, userNameStr)
|
|
|
- }
|
|
|
- br.Msg = msg
|
|
|
- br.ErrMsg = "指标被其他用户共享,无法设置共享"
|
|
|
- br.IsSendEmail = false
|
|
|
- return
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
- // 预测指标
|
|
|
- {
|
|
|
- noReferenced, otherUserIdList, err, tips := data.CheckEdbReferencedByOthers(utils.PREDICT_EDB_INFO_TYPE, checkCalculateEdbInfoIdList, checkUserIdList)
|
|
|
- if err != nil {
|
|
|
- br.Msg = "保存失败"
|
|
|
- if tips != "" {
|
|
|
- br.Msg = tips
|
|
|
+ noReferenced, otherUserIdList, err, tips := data.CheckEdbReferencedByOthers(edbItem.EdbInfoType, []int{edbItem.EdbInfoId}, checkUserIdList)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "保存失败"
|
|
|
+ if tips != "" {
|
|
|
+ br.Msg = tips
|
|
|
+ }
|
|
|
+ br.ErrMsg = "设置指标共享失败,查找指标的关联用户失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
}
|
|
|
- br.ErrMsg = "设置指标共享失败,查找指标的关联用户失败,Err:" + err.Error()
|
|
|
- return
|
|
|
- }
|
|
|
|
|
|
- if !noReferenced {
|
|
|
- userNameStr := ``
|
|
|
- if len(otherUserIdList) > 0 {
|
|
|
- userNameList := make([]string, 0)
|
|
|
- userList, err := system.GetAdminListByIdList(otherUserIdList)
|
|
|
- if err != nil {
|
|
|
- br.Msg = "保存失败"
|
|
|
- if tips != "" {
|
|
|
- br.Msg = tips
|
|
|
+ if !noReferenced {
|
|
|
+ userNameStr := ``
|
|
|
+ if len(otherUserIdList) > 0 {
|
|
|
+ userNameList := make([]string, 0)
|
|
|
+ userList, err := system.GetAdminListByIdList(otherUserIdList)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "保存失败"
|
|
|
+ if tips != "" {
|
|
|
+ br.Msg = tips
|
|
|
+ }
|
|
|
+ br.ErrMsg = "设置指标共享失败,查找用户信息失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
}
|
|
|
- br.ErrMsg = "设置指标共享失败,查找用户信息失败,Err:" + err.Error()
|
|
|
- return
|
|
|
+ for _, userInfo := range userList {
|
|
|
+ userNameList = append(userNameList, userInfo.RealName)
|
|
|
+ }
|
|
|
+ userNameStr = strings.Join(userNameList, "、")
|
|
|
}
|
|
|
- for _, userInfo := range userList {
|
|
|
- userNameList = append(userNameList, userInfo.RealName)
|
|
|
+ msg := fmt.Sprintf(`指标《%s》被其他用户使用,无法设置共享`, edbItem.EdbName)
|
|
|
+ if userNameStr != "" {
|
|
|
+ msg = fmt.Sprintf(`指标《%s》被用户%s使用,无法设置共享`, edbItem.EdbName, userNameStr)
|
|
|
}
|
|
|
- userNameStr = strings.Join(userNameList, ",")
|
|
|
- }
|
|
|
- msg := `指标被其他用户使用,无法设置共享`
|
|
|
- if userNameStr != "" {
|
|
|
- msg = fmt.Sprintf(`指标被用户%s使用,无法设置共享`, userNameStr)
|
|
|
- }
|
|
|
- if tips != "" {
|
|
|
- msg = fmt.Sprintf(`%s,用户为:%s,无法设置共享`, tips, userNameStr)
|
|
|
+ if tips != "" {
|
|
|
+ msg = fmt.Sprintf(`%s,用户为:%s,无法设置共享`, tips, userNameStr)
|
|
|
+ }
|
|
|
+ br.Msg = msg
|
|
|
+ br.ErrMsg = "指标被其他用户共享,无法设置共享,EdbInfoId:" + strconv.Itoa(edbItem.EdbInfoId)
|
|
|
+ br.IsSendEmail = false
|
|
|
+ return
|
|
|
}
|
|
|
- br.Msg = msg
|
|
|
- br.ErrMsg = "指标被其他用户共享,无法设置共享"
|
|
|
- br.IsSendEmail = false
|
|
|
- return
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
// 设置
|
|
|
- obj := data_manage.EdbInfoShare{}
|
|
|
err = obj.SaveEdbInfoShare(selectEdbInfoIdList, req.UserIdList, req.ShareType)
|
|
|
if err != nil {
|
|
|
br.Msg = `保存失败`
|