Преглед на файлове

新增子分类 需要把父分类下的报告转移到子分类下

gmy преди 4 месеца
родител
ревизия
4be6ef4681
променени са 1 файла, в които са добавени 44 реда и са изтрити 35 реда
  1. 44 35
      services/classify.go

+ 44 - 35
services/classify.go

@@ -276,47 +276,56 @@ func AddReportClassify(classifyName string, parentId int, chartPermissionIdList
 		return
 	}
 
-	// 如果父级分类下有报告,修改报告到子级分类下
-	reports, err := models.GetReportListByClassifyId(parentId)
+	// 如果当前分类下,没有其他分类,则将当前分类下的所有报告放入新分类下
+	count, err := models.GetClassifySubCountByParentId(parentId)
 	if err != nil {
-		return err, "查询报告列表失败", false
-	}
-	if len(reports) > 0 {
-		for _, report := range reports {
-			if report.ClassifyIdFirst == 0 {
-				report.ClassifyIdFirst = classify.Id
-				report.ClassifyNameFirst = classifyName
-			} else if report.ClassifyIdSecond == 0 {
-				report.ClassifyIdSecond = classify.Id
-				report.ClassifyNameSecond = classifyName
-			} else {
-				report.ClassifyIdThird = classify.Id
-				report.ClassifyNameThird = classifyName
-			}
+		return err, "查询分类下所有的分类记录数失败", false
+	}
+
+	if count <= 0 {
+		// 如果父级分类下 无其他子分类 并且有报告,修改报告到子级分类下
+		reports, err := models.GetReportListByClassifyId(parentId)
+		if err != nil {
+			return err, "查询报告列表失败", false
+		}
+		if len(reports) > 0 {
+			for _, report := range reports {
+				if report.ClassifyIdFirst == 0 {
+					report.ClassifyIdFirst = classify.Id
+					report.ClassifyNameFirst = classifyName
+				} else if report.ClassifyIdSecond == 0 {
+					report.ClassifyIdSecond = classify.Id
+					report.ClassifyNameSecond = classifyName
+				} else {
+					report.ClassifyIdThird = classify.Id
+					report.ClassifyNameThird = classifyName
+				}
 
-			// beego orm 不支持批量修改,所以只能一个一个修改
-			err := models.UpdateReportInfo(report)
-			if err != nil {
-				return err, "修改报告分类失败", false
+				// beego orm 不支持批量修改,所以只能一个一个修改
+				err := models.UpdateReportInfo(report)
+				if err != nil {
+					return err, "修改报告分类失败", false
+				}
 			}
 		}
-	}
-	outsideReports, err := document_manage_model.GetOutsideReportListByClassifyId(parentId)
-	if err != nil {
-		return err, "查询外部报告列表失败", false
-	}
-	if len(outsideReports) > 0 {
-		for _, report := range outsideReports {
-			tempReport := report
-
-			tempReport.ClassifyId = classify.Id
-			tempReport.ClassifyName = classifyName
-			// 修改报告
-			err := document_manage_model.UpdateOutsideReport(&tempReport)
-			if err != nil {
-				return err, "修改外部报告分类失败", false
+		outsideReports, err := document_manage_model.GetOutsideReportListByClassifyId(parentId)
+		if err != nil {
+			return err, "查询外部报告列表失败", false
+		}
+		if len(outsideReports) > 0 {
+			for _, report := range outsideReports {
+				tempReport := report
+
+				tempReport.ClassifyId = classify.Id
+				tempReport.ClassifyName = classifyName
+				// 修改报告
+				err := document_manage_model.UpdateOutsideReport(&tempReport)
+				if err != nil {
+					return err, "修改外部报告分类失败", false
+				}
 			}
 		}
+
 	}
 
 	//获取报告分类权限列表