代码拉取完成,页面将自动刷新
package workflow
import (
"errors"
"github.com/segmentio/ksuid"
)
//新建一个流程模板
func AddFlow(flowname string) (*Flow, error) {
wf := Flow{}
wf.Id = ksuid.New().String()
wf.Name = flowname
err := addFlow(&wf)
if err != nil {
return nil, err
}
return &wf, err
}
//用ID查询一个流程模板
func FlowOne(flowid string) (*Flow, error) {
return selectFlow(flowid)
}
//修改一个流程模板的名字
func (wf *Flow) UpdateFlow(flowname string) error {
wf.Name = flowname
return updateFlow(wf)
}
//给流程模板里添加一个节点
func (wf *Flow) AddNode(nodename, acttype string, approvers []string) (*Node, error) {
nd := &Node{}
nd.Id = ksuid.New().String()
nd.Name = nodename
nd.ActType = acttype
nd.FlowId = wf.Id
nd.Approvers = approvers
nd.Operations = []int{0, 1, 2, 3, 4}
err := addNode(nd)
return nd, err
}
//根据id查询一个节点
func NodeOne(ndid string) (*Node, error) {
return selectNode(ndid)
}
//更新一个节点(节点名称,操作类型:{or and},审批人[]string)
func (nd *Node) UpdateNode(nodename, acttype string, approvers []string) (*Node, error) {
nd.Name = nodename
nd.ActType = acttype
nd.Approvers = approvers
err := updateNode(nd)
if err != nil {
return nil, err
}
return nd, err
}
//删除一个节点
func (nd *Node) RemoveNode() error {
return deleteNode(nd.Id)
}
//添加一个节点连接---线(名称,向后的一个节点)
func (nd *Node) AddFlowLink(name, afterNodeid string) (*Nodelink, error) {
_, err := taskNodelink(afterNodeid, nd.Id)
if err == nil {
return nil, errors.New("loop back")
}
_, err = taskNodelink(nd.Id, afterNodeid)
if err == nil {
return nil, errors.New("nodelink is exist")
}
nl := &Nodelink{}
nl.BeforeNode = nd.Id
nl.FlowId = nd.FlowId
nl.AfterNode = afterNodeid
nl.Name = name
nl.Id = ksuid.New().String()
err = addNodelink(nl)
if err != nil {
return nil, err
}
return nl, err
}
//更新一个线的名称
func (nl *Nodelink) UpdateFlowLink(name string) (*Nodelink, error) {
nl.Name = name
err := addNodelink(nl)
if err != nil {
return nil, err
}
return nl, err
}
//删除一个线
func (nl *Nodelink) RemoveFlowLink() error {
return deleteNodelink(nl.Id)
}
//根据id查询一个线
func NodeLinkOne(nlid string) (*Nodelink, error) {
return selectNodelink(nlid)
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。