Browse Source

fix: 报告审批切换

hsun 1 year ago
parent
commit
c26ff754e9

+ 1 - 1
controllers/business_conf.go

@@ -174,7 +174,7 @@ func (this *BusinessConfController) Save() {
 			needReset = true
 		}
 		if openApprove == "true" && openApprove == confOpenApprove.ConfVal && confApproveType.ConfVal != approveType {
-			needReset = false
+			needReset = true
 			changeType = approveType
 		}
 		if needReset {

+ 21 - 9
controllers/english_report/report.go

@@ -197,15 +197,27 @@ func (this *EnglishReportController) Edit() {
 	}
 
 	var stage int
-	report, _ := models.GetEnglishReportById(int(req.ReportId))
-	if report != nil {
-		if report.ClassifyNameFirst != req.ClassifyNameFirst || report.ClassifyNameSecond != req.ClassifyNameSecond {
-			maxStage, _ := models.GetEnglishReportStageEdit(req.ClassifyIdFirst, req.ClassifyIdSecond, int(req.ReportId))
-			maxStage = maxStage + 1
-			stage = maxStage
-		} else {
-			stage = report.Stage
+	report, e := models.GetEnglishReportById(int(req.ReportId))
+	if e != nil {
+		if e.Error() == utils.ErrNoRow() {
+			br.Msg = "报告已被删除, 请刷新页面"
+			return
 		}
+		br.Msg = "操作失败"
+		br.ErrMsg = "获取报告失败, Err: " + e.Error()
+		return
+	}
+	if report.State == models.ReportStatePublished || report.State == models.ReportStatePass {
+		br.Msg = "该报告已发布,不允许编辑"
+		br.ErrMsg = "该报告已发布,不允许编辑"
+		return
+	}
+	if report.ClassifyNameFirst != req.ClassifyNameFirst || report.ClassifyNameSecond != req.ClassifyNameSecond {
+		maxStage, _ := models.GetEnglishReportStageEdit(req.ClassifyIdFirst, req.ClassifyIdSecond, int(req.ReportId))
+		maxStage = maxStage + 1
+		stage = maxStage
+	} else {
+		stage = report.Stage
 	}
 
 	item := new(models.EnglishReport)
@@ -217,7 +229,7 @@ func (this *EnglishReportController) Edit() {
 	item.Abstract = req.Abstract
 	item.Author = req.Author
 	item.Frequency = req.Frequency
-	item.State = req.State
+	//item.State = req.State
 	item.Stage = stage
 	item.Content = html.EscapeString(req.Content)
 	item.ContentSub = html.EscapeString(contentSub)

+ 15 - 15
controllers/report.go

@@ -682,24 +682,24 @@ func (this *ReportController) Edit() {
 			stage = report.Stage
 		}
 	}
-	if report.State == 2 {
+	if report.State == models.ReportStatePublished || report.State == models.ReportStatePass {
 		br.Msg = "该报告已发布,不允许编辑"
 		br.ErrMsg = "该报告已发布,不允许编辑"
 		return
 	}
-	if req.State != report.State {
-		recordItem := &models.ReportStateRecord{
-			ReportId:   int(req.ReportId),
-			ReportType: 1,
-			State:      req.State,
-			AdminId:    this.SysUser.AdminId,
-			AdminName:  this.SysUser.AdminName,
-			CreateTime: time.Now(),
-		}
-		go func() {
-			_, _ = models.AddReportStateRecord(recordItem)
-		}()
-	}
+	//if req.State != report.State {
+	//	recordItem := &models.ReportStateRecord{
+	//		ReportId:   int(req.ReportId),
+	//		ReportType: 1,
+	//		State:      req.State,
+	//		AdminId:    this.SysUser.AdminId,
+	//		AdminName:  this.SysUser.AdminName,
+	//		CreateTime: time.Now(),
+	//	}
+	//	go func() {
+	//		_, _ = models.AddReportStateRecord(recordItem)
+	//	}()
+	//}
 
 	item := new(models.Report)
 	item.ClassifyIdFirst = req.ClassifyIdFirst
@@ -710,7 +710,7 @@ func (this *ReportController) Edit() {
 	item.Abstract = req.Abstract
 	item.Author = req.Author
 	item.Frequency = req.Frequency
-	item.State = req.State
+	//item.State = req.State
 	item.Stage = stage
 	item.Content = html.EscapeString(req.Content)
 	item.ContentSub = html.EscapeString(contentSub)

+ 1 - 2
controllers/smart_report/smart_report.go

@@ -221,7 +221,7 @@ func (this *SmartReportController) Edit() {
 		br.ErrMsg = "获取研报失败, Err: " + e.Error()
 		return
 	}
-	if item.State == 2 {
+	if item.State == models.ReportStatePublished || item.State == models.ReportStatePass {
 		br.Msg = "报告已发布, 请取消发布后编辑"
 		return
 	}
@@ -252,7 +252,6 @@ func (this *SmartReportController) Edit() {
 	item.ContentStruct = req.ContentStruct
 	item.ModifyTime = time.Now().Local()
 	if contentModify {
-		//fmt.Println(contentModify)
 		item.LastModifyAdminId = sysUser.AdminId
 		item.LastModifyAdminName = sysUser.RealName
 		item.ContentModifyTime = time.Now().Local()

+ 1 - 1
models/english_report.go

@@ -869,7 +869,7 @@ func UpdateEnglishReportsStateByCond(classifyFirstId, classifySecondId, oldState
 	if classifySecondId > 0 {
 		cond += fmt.Sprintf(` AND classify_id_second = %d`, classifySecondId)
 	}
-	sql := fmt.Sprintf(`UPDATE english_report SET state = ? WHERE state = ? %s`, cond)
+	sql := fmt.Sprintf(`UPDATE english_report SET state = ?, pre_publish_time = NULL WHERE state = ? %s`, cond)
 	_, err = o.Raw(sql, newState, oldState).Exec()
 	return
 }

+ 1 - 1
models/report.go

@@ -1119,7 +1119,7 @@ func UpdateReportsStateByCond(classifyFirstId, classifySecondId, oldState, newSt
 	if classifySecondId > 0 {
 		cond += fmt.Sprintf(` AND classify_id_second = %d`, classifySecondId)
 	}
-	sql := fmt.Sprintf(`UPDATE report SET state = ? WHERE state = ? %s`, cond)
+	sql := fmt.Sprintf(`UPDATE report SET state = ?, pre_publish_time = NULL WHERE state = ? %s`, cond)
 	_, err = o.Raw(sql, newState, oldState).Exec()
 	return
 }

+ 1 - 1
models/smart_report/smart_report.go

@@ -359,7 +359,7 @@ func UpdateSmartReportsStateByCond(classifyFirstId, classifySecondId, oldState,
 	if classifySecondId > 0 {
 		cond += fmt.Sprintf(` AND classify_id_second = %d`, classifySecondId)
 	}
-	sql := fmt.Sprintf(`UPDATE smart_report SET state = ? WHERE state = ? %s`, cond)
+	sql := fmt.Sprintf(`UPDATE smart_report SET state = ?, pre_publish_time = NULL WHERE state = ? %s`, cond)
 	_, err = o.Raw(sql, newState, oldState).Exec()
 	return
 }

+ 1 - 1
services/english_report.go

@@ -509,7 +509,7 @@ func UpdateAllPublishedEnglishReportToEs() (err error) {
 	// 获取所有已发布的报告
 	var condition string
 	var pars []interface{}
-	condition = ` AND state = 2 `
+	condition = ` AND state IN (2, 6) `
 	reportList, err := models.GetEnglishReportByCondition(condition, pars)
 	count := 0
 	failCount := 0

+ 1 - 1
services/report.go

@@ -564,7 +564,7 @@ func UpdatePublishedReportToEs() (err error) {
 	// 获取所有已发布的报告
 	var condition string
 	var pars []interface{}
-	condition = ` AND state = 2 `
+	condition = ` AND state IN (2, 6) `
 	reportList, err := models.GetReportList(condition, pars, "ficc", 1, 5000)
 	count := 0
 	failCount := 0