|
@@ -528,6 +528,8 @@ func EditEdbClassify(classifyId int, classifyName, lang string, sysUser *system.
|
|
|
|
|
|
// DeleteCheck 删除检测
|
|
|
func DeleteCheck(classifyId, edbInfoId int, sysUser *system.Admin) (deleteStatus int, tipsMsg string, tableList []*data_manage.ExcelBaseInfo, err error, errMsg string) {
|
|
|
+ // 自己以及子级的分类id列表
|
|
|
+ selfAndSelfClassifyIdList := make([]int, 0)
|
|
|
//删除分类
|
|
|
if classifyId > 0 && edbInfoId == 0 {
|
|
|
// 查找分类
|
|
@@ -567,8 +569,18 @@ func DeleteCheck(classifyId, edbInfoId int, sysUser *system.Admin) (deleteStatus
|
|
|
|
|
|
}
|
|
|
|
|
|
+ // 获取所有的分类(自己+所有子分类)
|
|
|
+ allChildClassifyItemList, tmpErr, _ := GetAllChildClassifyByParentId(classifyId)
|
|
|
+ if tmpErr != nil {
|
|
|
+ err = tmpErr
|
|
|
+ return
|
|
|
+ }
|
|
|
+ selfAndSelfClassifyIdList = append(selfAndSelfClassifyIdList, classifyId)
|
|
|
+ for _, v := range allChildClassifyItemList {
|
|
|
+ selfAndSelfClassifyIdList = append(selfAndSelfClassifyIdList, v.ClassifyId)
|
|
|
+ }
|
|
|
//判断分类下,是否含有指标
|
|
|
- count, tmpErr := data_manage.GetEdbInfoCountByClassifyId(classifyId)
|
|
|
+ count, tmpErr := data_manage.GetEdbInfoCountByClassifyIdList(selfAndSelfClassifyIdList)
|
|
|
if tmpErr != nil {
|
|
|
errMsg = "删除失败"
|
|
|
err = errors.New("分类下是否含有指标失败,Err:" + tmpErr.Error())
|
|
@@ -765,6 +777,8 @@ func DeleteCheck(classifyId, edbInfoId int, sysUser *system.Admin) (deleteStatus
|
|
|
|
|
|
// Delete 删除分类/指标
|
|
|
func Delete(classifyId, edbInfoId int, sysUser *system.Admin, requestBody, requestUrl string) (nextItem *data_manage.EdbInfo, tableList []*data_manage.ExcelBaseInfo, err error, errMsg string) {
|
|
|
+ // 自己以及子级的分类id列表
|
|
|
+ selfAndSelfClassifyIdList := make([]int, 0)
|
|
|
//删除分类
|
|
|
if classifyId > 0 && edbInfoId == 0 {
|
|
|
// 查找分类
|
|
@@ -801,11 +815,19 @@ func Delete(classifyId, edbInfoId int, sysUser *system.Admin, requestBody, reque
|
|
|
return
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
-
|
|
|
- //判断是否含有指标
|
|
|
- count, tmpErr := data_manage.GetEdbInfoCountByClassifyId(classifyId)
|
|
|
+ // 获取所有的分类(自己+所有子分类)
|
|
|
+ allChildClassifyItemList, tmpErr, _ := GetAllChildClassifyByParentId(classifyId)
|
|
|
+ if tmpErr != nil {
|
|
|
+ err = tmpErr
|
|
|
+ return
|
|
|
+ }
|
|
|
+ selfAndSelfClassifyIdList = append(selfAndSelfClassifyIdList, classifyId)
|
|
|
+ for _, v := range allChildClassifyItemList {
|
|
|
+ selfAndSelfClassifyIdList = append(selfAndSelfClassifyIdList, v.ClassifyId)
|
|
|
+ }
|
|
|
+ //判断分类下,是否含有指标
|
|
|
+ count, tmpErr := data_manage.GetEdbInfoCountByClassifyIdList(selfAndSelfClassifyIdList)
|
|
|
if tmpErr != nil && !utils.IsErrNoRow(tmpErr) {
|
|
|
errMsg = "删除失败"
|
|
|
err = errors.New("分类下是否含有指标失败,Err:" + tmpErr.Error())
|