15 changed files with 2335 additions and 27 deletions
File diff suppressed because it is too large
@ -0,0 +1,151 @@ |
|||||
|
package workflowengine |
||||
|
|
||||
|
import ( |
||||
|
"key_performance_indicators/overall/publicmethod" |
||||
|
|
||||
|
"github.com/gin-gonic/gin" |
||||
|
) |
||||
|
|
||||
|
/* |
||||
|
* |
||||
|
@ 作者: 秦东 |
||||
|
@ 时间: 2023-03-06 13:35:25 |
||||
|
@ 功能: 判断是否显示(指定审批节点自选)选项及可选节点 |
||||
|
@ 参数 |
||||
|
|
||||
|
# |
||||
|
|
||||
|
@ 返回值 |
||||
|
|
||||
|
# |
||||
|
|
||||
|
@ 方法原型 |
||||
|
|
||||
|
# |
||||
|
*/ |
||||
|
func (a *ApiMethod) JudgeOptionalNode(c *gin.Context) { |
||||
|
var receivedValue PublicChildNode |
||||
|
c.ShouldBindJSON(&receivedValue) |
||||
|
var alc outAllNodeCont |
||||
|
alc.sendAllNode(receivedValue) |
||||
|
publicmethod.Result(0, alc, c) |
||||
|
} |
||||
|
|
||||
|
// 递归输出所有节点
|
||||
|
func (o *outAllNodeCont) sendAllNode(val PublicChildNode) { |
||||
|
var cont NodePublicStruct |
||||
|
cont.NodeName = val.NodeName |
||||
|
cont.NodeNumber = val.NodeNumber |
||||
|
cont.Type = val.Type |
||||
|
cont.FromNode = val.FromNode |
||||
|
cont.GotoNode = val.GotoNode |
||||
|
if publicmethod.IsInTrue[string](val.NodeNumber, o.AllNumber) == false { |
||||
|
o.AllCont = append(o.AllCont, cont) |
||||
|
o.AllNumber = append(o.AllNumber, val.NodeNumber) |
||||
|
} |
||||
|
if val.ChildNode != nil { |
||||
|
o.sendAllNode(*val.ChildNode) |
||||
|
} |
||||
|
if val.ConditionNodes != nil && len(*val.ConditionNodes) > 0 { |
||||
|
for _, v := range *val.ConditionNodes { |
||||
|
o.sendAllNode(v) |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
/* |
||||
|
* |
||||
|
@ 作者: 秦东 |
||||
|
@ 时间: 2023-03-06 14:53:49 |
||||
|
@ 功能: 获取所有父级审批节点 |
||||
|
@ 参数 |
||||
|
|
||||
|
# |
||||
|
|
||||
|
@ 返回值 |
||||
|
|
||||
|
# |
||||
|
|
||||
|
@ 方法原型 |
||||
|
|
||||
|
# |
||||
|
*/ |
||||
|
func (a *ApiMethod) GetAllParentNode(c *gin.Context) { |
||||
|
var receivedValue JudgePrintNode |
||||
|
err := c.ShouldBindJSON(&receivedValue) |
||||
|
if err != nil { |
||||
|
publicmethod.Result(100, err, c) |
||||
|
return |
||||
|
} |
||||
|
if receivedValue.Id == "" { |
||||
|
publicmethod.Result(101, err, c) |
||||
|
return |
||||
|
} |
||||
|
var sendCont OutputPrintNode |
||||
|
if len(receivedValue.AllCont) < 1 { |
||||
|
sendCont.Total = 0 |
||||
|
publicmethod.Result(0, sendCont, c) |
||||
|
return |
||||
|
} |
||||
|
var outCont outAllNodeCont |
||||
|
outCont.SeekFromNodeCont(receivedValue.Id, receivedValue.AllCont) |
||||
|
sendCont.AllCont = outCont.AllCont |
||||
|
sendCont.Total = len(outCont.AllCont) |
||||
|
publicmethod.Result(0, sendCont, c) |
||||
|
} |
||||
|
|
||||
|
/* |
||||
|
* |
||||
|
@ 作者: 秦东 |
||||
|
@ 时间: 2023-03-07 08:35:59 |
||||
|
@ 功能: 递归查找所有上级审批点 |
||||
|
@ 参数 |
||||
|
|
||||
|
#parentNumber 来源节点编号 |
||||
|
#allListCont 所有可操作节点 |
||||
|
|
||||
|
@ 返回值 |
||||
|
|
||||
|
#outAllNodeCont 结果集 |
||||
|
|
||||
|
@ 方法原型 |
||||
|
|
||||
|
#func (o *outAllNodeCont) SeekFromNodeCont(parentNumber string, allListCont []NodePublicStruct) |
||||
|
*/ |
||||
|
func (o *outAllNodeCont) SeekFromNodeCont(parentNumber string, allListCont []NodePublicStruct) { |
||||
|
for _, v := range allListCont { |
||||
|
if v.NodeNumber == parentNumber { |
||||
|
if v.Type == 1 { |
||||
|
if publicmethod.IsInTrue[string](v.NodeNumber, o.AllNumber) == false { |
||||
|
o.AllCont = append(o.AllCont, v) |
||||
|
o.AllNumber = append(o.AllNumber, v.NodeNumber) |
||||
|
} |
||||
|
} |
||||
|
if v.FromNode != "" { |
||||
|
o.SeekFromNodeCont(v.FromNode, allListCont) |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
/* |
||||
|
* |
||||
|
@ 作者: 秦东 |
||||
|
@ 时间: 2023-03-08 16:00:58 |
||||
|
@ 功能: 判断条件 |
||||
|
@ 参数 |
||||
|
|
||||
|
# |
||||
|
|
||||
|
@ 返回值 |
||||
|
|
||||
|
# |
||||
|
|
||||
|
@ 方法原型 |
||||
|
|
||||
|
# |
||||
|
*/ |
||||
|
func (a *ApiMethod) JudgingCondition(c *gin.Context) { |
||||
|
var sendListCont []BranchingCondition |
||||
|
publicmethod.Result(0, sendListCont, c) |
||||
|
} |
||||
Loading…
Reference in new issue