Эх сурвалжийг харах

fix:观点审批流兼容es

zqbao 2 сар өмнө
parent
commit
a831d2ef7f

+ 7 - 0
services/knowledge/es.go

@@ -32,6 +32,13 @@ func SearchKnowledgeResourceByEs(resourceType int, keywordStr string, showSysIds
 			"ResourceType": resourceType,
 		},
 	})
+	if resourceType == knowledge.KnowledgeResourceTypeOpinion {
+		mustMap = append(mustMap, map[string]interface{}{
+			"term": map[string]interface{}{
+				"State": knowledge.KnowledgeResourceStatePassed,
+			},
+		})
+	}
 
 	//指标来源
 	if len(showSysIds) > 0 {

+ 18 - 6
services/knowledge/resource.go

@@ -4,10 +4,10 @@ import (
 	"encoding/json"
 	"errors"
 	"eta_gn/eta_api/models/knowledge"
+	"eta_gn/eta_api/models/knowledge_approve"
 	"eta_gn/eta_api/models/system"
 	"eta_gn/eta_api/services"
 	"eta_gn/eta_api/services/alarm_msg"
-	"eta_gn/eta_api/services/knowledge_approve"
 	"eta_gn/eta_api/utils"
 	"fmt"
 	"html"
@@ -1085,13 +1085,25 @@ func SetKnowledgeResourcePublic(knowledgeId int) (errMsg string, err error) {
 		return
 	}
 
-	ok, err := knowledge_approve.CheckKnowledgeOpenApprove(obj.ClassifyId)
-	if err != nil {
-		errMsg = "分类校验失败"
-		err = fmt.Errorf("分类校验失败,Err:%v", err)
+	flowOb := new(knowledge_approve.KnowledgeResourceApproveFlow)
+	flowCond := fmt.Sprintf(` AND %s = ?`, knowledge_approve.KnowledgeResourceApproveFlowCols.ClassifyId)
+	flowPars := make([]interface{}, 0)
+	flowPars = append(flowPars, obj.ClassifyId)
+	flowItem, e := flowOb.GetItemByCondition(flowCond, flowPars, "")
+	var opening bool
+	if e != nil {
+		if utils.IsErrNoRow(e) {
+			opening = false
+			return
+		}
+		err = fmt.Errorf("ApproveFlow GetItemByCondition err: %s", e.Error())
 		return
 	}
-	if !ok {
+	if flowItem != nil && flowItem.KnowledgeResourceApproveFlowId > 0 {
+		opening = true
+	}
+
+	if !opening {
 		errMsg = "分类未开启审批流"
 		err = fmt.Errorf("分类未开启审批流")
 		return

+ 4 - 4
services/knowledge_approve/constant.go

@@ -2,10 +2,10 @@ package knowledge_approve
 
 // 看板状态
 const (
-	KnowledgeStateUnpublished = 1 // 未公开
-	KnowledgeStateWaitApprove = 4 // 待审批
-	KnowledgeStateRefused     = 5 // 已驳回
-	KnowledgeStatePass        = 6 // 已通过
+	KnowledgeStateUnpublished = 0 // 未公开
+	KnowledgeStateWaitApprove = 2 // 待审批
+	KnowledgeStateRefused     = 3 // 已驳回
+	KnowledgeStatePass        = 4 // 已通过
 )
 
 // 节点审批方式

+ 28 - 1
services/knowledge_approve/knowledge_approve.go

@@ -5,6 +5,7 @@ import (
 	"eta_gn/eta_api/models/knowledge"
 	"eta_gn/eta_api/models/knowledge_approve"
 	"eta_gn/eta_api/models/knowledge_approve/response"
+	knowledgeSrv "eta_gn/eta_api/services/knowledge"
 	"eta_gn/eta_api/utils"
 	"fmt"
 	"sort"
@@ -283,6 +284,19 @@ func PassKnowledgeResourceApprove(approveId int, adminId int) (msg string, err e
 			err = fmt.Errorf("更新报告审批状态失败, Err: %s", e.Error())
 			return
 		}
+		go func() {
+			obj := new(knowledge.KnowledgeResource)
+			KnowledgeItem, e := obj.GetById(approveItem.KnowledgeResourceId)
+			if e != nil && !utils.IsErrNoRow(e) {
+				utils.FileLog.Info(fmt.Sprintf("PassKnowledgeResourceApprove update knowledge resource state err: %s", e.Error()))
+				return
+			}
+			e = knowledgeSrv.EsAddOrEditKnowledgeResource(KnowledgeItem)
+			if e != nil {
+				utils.FileLog.Info(fmt.Sprintf("PassKnowledgeResourceApprove update es err: %s", e.Error()))
+				return
+			}
+		}()
 
 		go func() {
 			messageItem := new(knowledge_approve.KnowledgeResourceApproveMessage)
@@ -929,7 +943,20 @@ func cancelKnowledgeResourceApprove(knowledgeId, approveId, sysAdminId int, sysA
 		err = fmt.Errorf("更新报告审批撤回失败, Err: %s", e.Error())
 		return
 	}
-
+	// 推送到Es
+	go func() {
+		obj := new(knowledge.KnowledgeResource)
+		KnowledgeItem, e := obj.GetById(approveItem.KnowledgeResourceId)
+		if e != nil && !utils.IsErrNoRow(e) {
+			utils.FileLog.Info(fmt.Sprintf("PassKnowledgeResourceApprove update knowledge resource state err: %s", e.Error()))
+			return
+		}
+		e = knowledgeSrv.EsAddOrEditKnowledgeResource(KnowledgeItem)
+		if e != nil {
+			utils.FileLog.Info(fmt.Sprintf("PassKnowledgeResourceApprove update es err: %s", e.Error()))
+			return
+		}
+	}()
 	// 推送撤回消息
 	go func() {
 		recordOb := new(knowledge_approve.KnowledgeResourceApproveRecord)