소스 검색

fix:继承报告时,报告列表按照倒序排序

Roc 8 달 전
부모
커밋
65fcd19614
4개의 변경된 파일41개의 추가작업 그리고 4개의 파일을 삭제
  1. 12 0
      controllers/report.go
  2. 10 3
      controllers/report_v2.go
  3. 18 0
      models/classify.go
  4. 1 1
      models/report_v2.go

+ 12 - 0
controllers/report.go

@@ -2275,6 +2275,18 @@ func (this *ReportController) SubmitApprove() {
 		return
 	}
 
+	chapterList, err := models.GetChapterListByReportId(reportId)
+	if err != nil {
+		return
+	}
+	for _, chapter := range chapterList {
+		if chapter.PublishState == 1 {
+			br.Msg = "还存在未发布的章节"
+			br.ErrMsg = "还存在未发布的章节"
+			return
+		}
+	}
+
 	// 校验当前审批配置, 返回下一个状态
 	state, e := services.CheckReportCurrState(report_approve.FlowReportTypeChinese, reportItem.ClassifyIdFirst, reportItem.ClassifyIdSecond, reportItem.ClassifyIdThird, models.ReportOperateSubmitApprove)
 	if e != nil {

+ 10 - 3
controllers/report_v2.go

@@ -383,13 +383,20 @@ func (this *ReportController) Add() {
 		req.IsPublicPublish = 1
 	}
 
+	// TODO 分类名称
+	classifyItemList, err := models.GetClassifyListByIdList([]int{req.ClassifyIdFirst, req.ClassifyIdSecond, req.ClassifyIdThird})
+	classifyMap := make(map[int]string)
+	for _, v := range classifyItemList {
+		classifyMap[v.Id] = v.ClassifyName
+	}
+
 	item := new(models.Report)
 	item.AddType = req.AddType
 	item.ReportVersion = 2
 	item.ClassifyIdFirst = req.ClassifyIdFirst
-	item.ClassifyNameFirst = req.ClassifyNameFirst
+	item.ClassifyNameFirst = classifyMap[req.ClassifyIdFirst]
 	item.ClassifyIdSecond = req.ClassifyIdSecond
-	item.ClassifyNameSecond = req.ClassifyNameSecond
+	item.ClassifyNameSecond = classifyMap[req.ClassifyIdSecond]
 	item.Title = req.Title
 	item.Abstract = req.Abstract
 	item.Author = req.Author
@@ -405,7 +412,7 @@ func (this *ReportController) Add() {
 	item.AdminRealName = sysUser.RealName
 
 	item.ClassifyIdThird = req.ClassifyIdThird
-	item.ClassifyNameThird = req.ClassifyNameThird
+	item.ClassifyNameThird = classifyMap[req.ClassifyIdThird]
 
 	// 产品要求,如果是多人协作,那么就是章节类型的报告
 	if req.CollaborateType == 2 {

+ 18 - 0
models/classify.go

@@ -554,3 +554,21 @@ func GetClassifyListByParentIdList(parentClassifyIdList []int) (items []*Classif
 	_, err = o.Raw(sql, parentClassifyIdList).QueryRows(&items)
 	return
 }
+
+// GetClassifyListByIdList
+// @Description: 根据指标ID列表,获取分类列表
+// @author: Roc
+// @datetime 2024-06-27 15:23:57
+// @param classifyIdList []int
+// @return items []*Classify
+// @return err error
+func GetClassifyListByIdList(classifyIdList []int) (items []*Classify, err error) {
+	num := len(classifyIdList)
+	if num <= 0 {
+		return
+	}
+	sql := `SELECT * FROM classify WHERE id IN (` + utils.GetOrmInReplace(num) + `) `
+	o := orm.NewOrmUsingDB("rddp")
+	_, err = o.Raw(sql, classifyIdList).QueryRows(&items)
+	return
+}

+ 1 - 1
models/report_v2.go

@@ -366,7 +366,7 @@ func GetReportListByAuthorized(condition string, pars []interface{}, startSize,
 		sql += condition
 	}
 	// 排序:1:未发布;2:已发布;3-待提交;4-待审批;5-已驳回;6-已通过
-	sql += ` GROUP BY a.id ORDER BY FIELD(state,3,1,4,5,6,2), modify_time DESC LIMIT ?,?`
+	sql += ` GROUP BY a.id ORDER BY  report_create_time DESC LIMIT ?,?`
 	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
 	return
 }