Versions in this module Expand all Collapse all v1 v1.0.1 Mar 5, 2026 Changes in this version + var CrmDB *gorm.DB + var DB *gorm.DB + var DBConnConfigurator = DataBaseConnConfigurator + var EventPool = make(map[string]method) + var IgnoreEventError bool + var ProcCache = make(map[int]ProcNodes) + var ScheduledTaskPool = make(map[string]*ScheduledTask) + func CreateTask(ProcessInstanceID int, NodeID string, PrevNodeID string, UserIDs []string) ([]int, error) + func DBConnect(cfg *config.Server) error + func DatabaseInitialize() error + func EndNodeHandle(ProcessInstanceID int, Status int) error + func ExecSQL(SQL string, Result interface{}, Params ...interface{}) (interface{}, error) + func ExpressionEvaluator(expression string) (bool, error) + func GateWayNodeHandle(ProcessInstanceID int, CurrentNode *Node, PrevTaskNode Node) error + func GetInstanceInfo(ProcessInstanceID int) (Instance, error) + func GetInstanceNode(ProcessInstanceID int, NodeID string) (Node, error) + func GetInstanceStartByUser(UserID string, ProcessName string, StartIndex int, MaxRows int) ([]Instance, error) + func GetInstanceTaskHistory(ProcessInstanceID int) ([]Task, error) + func GetProcessDefine(ProcessID int) (Process, error) + func GetProcessIDByInstanceID(ProcessInstanceID int) (int, error) + func GetProcessIDByProcessName(db *gorm.DB, ProcessName string, Source string) (int, int, error) + func GetProcessList(Source string) ([]database.ProcDef, error) + func GetProcessNameByInstanceID(ProcessInstanceID int) (string, error) + func GetScheduledTaskList() map[string]*ScheduledTask + func GetTaskFinishedList(UserID string, ProcessName string, IgnoreStartByMe bool, SortByASC bool, ...) ([]Task, error) + func GetTaskInfo(TaskID int) (Task, error) + func GetTaskToDoList(UserID string, ProcessName string, SortByASC bool, StartIndex int, MaxRows int) ([]Task, error) + func GormPgSql(cfg *config.Server) error + func InstanceNodeIsFinish(ProcessInstanceID int, NodeID string) (bool, error) + func InstanceRevoke(ProcessInstanceID int, Force bool, RevokeUserID string) error + func InstanceStart(ProcessID int, BusinessID string, Comment string, VariablesJson string) (int, error) + func InstanceVariablesSave(ProcessInstanceID int, VariablesJson string) error + func IsVariable(Key string) bool + func JSONMarshal(t interface{}, escapeHtml bool) ([]byte, error) + func Json2Struct(j string, s any) error + func MakeUnique(List ...[]string) []string + func ProcessNode(ProcessInstanceID int, CurrentNode *Node, PrevNode Node, other ...string) error + func ProcessParse(Resource string) (Process, error) + func ProcessSave(Resource string, CreateUserID string) (int, error) + func RegisterEvents(Struct any) + func RemoveAllElements(slice []string, value string) []string + func RemovePrefix(variable string) string + func ResolveVariables(ProcessInstanceID int, Variables []string) (map[string]string, error) + func RunNodeEvents(EventNames []string, ID int, CurrentNode *Node, PrevNode Node, other ...string) error + func RunProcEvents(EventNames []string, ProcessInstanceID int, RevokeUserID string) error + func ScheduleTask(TaskName string, StartAt time.Time, StopAt time.Time, IntervalSecond int64, ...) error + func SetVariable(ProcessInstanceID int, variable string) (string, bool, error) + func StartWorkFlow(cfg *config.Server, ignoreEventError bool, EventStructs ...any) + func TaskFreeRejectToUpstreamNode(TaskID int, NodeID string, Comment string, VariableJson string) error + func TaskNextNode(TaskID int) (Node, error) + func TaskNodeHandle(ProcessInstanceID int, CurrentNode *Node, PrevNode Node) ([]int, error) + func TaskNodeStatus(TaskID int) (int, int, int, error) + func TaskPass(TaskID int, Comment string, VariableJson string, DirectlyToWhoRejectedMe bool) (Node, int, error) + func TaskReject(TaskID int, Comment string, VariableJson string) (Node, int, error) + func TaskTransfer(TaskID int, Users []string) error + func TaskUpstreamNodeList(TaskID int) ([]Node, error) + func TypeIsError(Type reflect.Type) bool + func VerifyEvents(ProcessID int, Nodes ProcNodes) error + func WhatCanIDo(TaskID int) (TaskAction, error) + type DataBaseConnConfigurator struct + Colorful bool + ConnMaxLifetime int + DBConnectString string + IgnoreRecordNotFoundError bool + LogLevel int + MaxIdleConns int + MaxOpenConns int + SlowThreshold int64 + type ProcNodes map[string]Node + func GetProcCache(ProcessID int) (ProcNodes, error) + type ScheduledTask struct + Func func() error + IntervalSecond int64 + LastDuration time.Duration + LastResult string + LastRunTime time.Time + StartAt time.Time + StopAt time.Time