|
@@ -402,16 +402,26 @@ func moveReportByAddClassify(parentClassifyInfo, currClassifyInfo *models.Classi
|
|
|
}
|
|
|
|
|
|
// 报告的分类归属调整,转为下一级的分类
|
|
|
-
|
|
|
+ var classifyIdFirst, classifyIdSecond, classifyIdThird, originIdFirst, originIdSecond int
|
|
|
var condition, updateStr string
|
|
|
pars := make([]interface{}, 0)
|
|
|
switch currClassifyInfo.Level {
|
|
|
case 3: // 当前分类是3级分类
|
|
|
updateStr += ` classify_id_third = ?,classify_name_third = ?`
|
|
|
condition += ` AND classify_id_second = ? `
|
|
|
+ classifyIdFirst = parentClassifyInfo.ParentId
|
|
|
+ classifyIdSecond = parentClassifyInfo.Id
|
|
|
+ classifyIdThird = currClassifyInfo.Id
|
|
|
+ originIdFirst = classifyIdFirst
|
|
|
+ originIdSecond = classifyIdSecond
|
|
|
case 2: // 当前分类是2级分类
|
|
|
updateStr += ` classify_id_second = ?,classify_name_second = ?`
|
|
|
condition += ` AND classify_id_first = ? `
|
|
|
+ classifyIdFirst = parentClassifyInfo.Id
|
|
|
+ classifyIdSecond = currClassifyInfo.Id
|
|
|
+ classifyIdThird = 0
|
|
|
+ originIdFirst = classifyIdFirst
|
|
|
+ originIdSecond = 0
|
|
|
default:
|
|
|
err = errors.New("错误的分类层级")
|
|
|
return
|
|
@@ -436,6 +446,34 @@ func moveReportByAddClassify(parentClassifyInfo, currClassifyInfo *models.Classi
|
|
|
return
|
|
|
}
|
|
|
|
|
|
+ // 分类ID-NAME
|
|
|
+ classifyOb := new(models.Classify)
|
|
|
+ classifies, e := classifyOb.GetItemsByCondition(``, make([]interface{}, 0), []string{}, "")
|
|
|
+ if e != nil {
|
|
|
+ err = fmt.Errorf("获取分类列表失败, %v", e)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ classifyIdName := make(map[int]string)
|
|
|
+ for _, v := range classifies {
|
|
|
+ classifyIdName[v.Id] = v.ClassifyName
|
|
|
+ }
|
|
|
+
|
|
|
+ // 转移上级分类下的所有报告至该分类,区分研报和PPT
|
|
|
+ if currClassifyInfo.ClassifyType == utils.ReportTypeDefault {
|
|
|
+ if e := models.MoveReportClassify(classifyIdFirst, classifyIdSecond, classifyIdThird, classifyIdName[classifyIdFirst], classifyIdName[classifyIdSecond], classifyIdName[classifyIdThird], originIdFirst, originIdSecond); e != nil {
|
|
|
+ err = fmt.Errorf("转移研报分类失败, %v", e)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if currClassifyInfo.ClassifyType == utils.ReportTypePPT {
|
|
|
+ if e := models.MovePptReportClassify(currClassifyInfo.Id, parentClassifyInfo.Id); e != nil {
|
|
|
+ err = fmt.Errorf("转移PPT研报分类失败, %v", e)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 更新分类报告计数
|
|
|
+ go UpdateClassifyReportNum(currClassifyInfo.Id)
|
|
|
return
|
|
|
}
|
|
|
|