From 7133e91552d04026f1a3261662f2adaeeb998604 Mon Sep 17 00:00:00 2001 From: "Mr. Lan" Date: Wed, 4 Nov 2020 00:48:04 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E4=BC=9A=E7=AD=BEbug?= =?UTF-8?q?=EF=BC=8Cfix=20#82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/service/handle.go | 37 ++++++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/pkg/service/handle.go b/pkg/service/handle.go index f1297c1..139d4ab 100644 --- a/pkg/service/handle.go +++ b/pkg/service/handle.go @@ -101,6 +101,17 @@ func (h *Handle) Countersign(c *gin.Context) (err error) { if err != nil { return } + + // 如果是跳转到结束节点,则需要修改节点状态 + if h.targetStateValue["clazz"] == "end" { + err = h.tx.Model(&process.WorkOrderInfo{}). + Where("id = ?", h.workOrderId). + Update("is_end", 1).Error + if err != nil { + h.tx.Rollback() + return + } + } } return } @@ -619,16 +630,8 @@ func (h *Handle) HandleWorkOrder( stateValue["processor"] = []int{} stateValue["process_method"] = "" h.updateValue["state"] = []map[string]interface{}{stateValue} - err = h.circulation() + err = h.commonProcessing(c) if err != nil { - h.tx.Rollback() - return - } - err = h.tx.Model(&process.WorkOrderInfo{}). - Where("id = ?", h.workOrderId). - Update("is_end", 1).Error - if err != nil { - h.tx.Rollback() return } } @@ -656,13 +659,17 @@ func (h *Handle) HandleWorkOrder( if writeTplId == t["tplId"] { // 可写 // 是否隐藏,隐藏的模版无法修改数据 if hideTplList, hideOK := h.stateValue["hideTpls"]; hideOK { - for _, hideTplId := range hideTplList.([]interface{}) { - if hideTplId == t["tplId"] { // 隐藏的 - updateStatus = false - break tplListTag - } else { - updateStatus = true + if hideTplList != nil && len(hideTplList.([]interface{})) > 0 { + for _, hideTplId := range hideTplList.([]interface{}) { + if hideTplId == t["tplId"] { // 隐藏的 + updateStatus = false + break tplListTag + } else { + updateStatus = true + } } + } else { + updateStatus = true } } else { updateStatus = true