2024-11-14 17:02:41 +08:00
|
|
|
package flow_instance
|
|
|
|
|
|
|
|
import (
|
|
|
|
"approveflow/app/provider/flow_definition"
|
|
|
|
"approveflow/app/provider/flow_instance/model"
|
|
|
|
"context"
|
|
|
|
"github.com/Superdanda/hade/framework/gin"
|
|
|
|
)
|
|
|
|
|
|
|
|
const FlowInstanceKey = "flowInstance"
|
|
|
|
|
|
|
|
type Service interface {
|
|
|
|
// CreateInstance 功能:创建新的审批流程实例。
|
|
|
|
CreateInstance(ctx *gin.Context, approvalFlow *flow_definition.ApprovalFlow, data map[string]interface{}) (*model.ApprovalInstance, error)
|
|
|
|
// StartInstance 功能:启动新的审批流程实例。
|
|
|
|
StartInstance(ctx context.Context, instanceID int64) (*model.ApprovalInstance, error)
|
2024-11-19 17:03:12 +08:00
|
|
|
// StartInstanceRule 功能:启动新的审批流程实例规则。
|
|
|
|
StartInstanceRule(ctx context.Context, instanceID int64) (*model.ApprovalInstance, error)
|
2024-11-14 17:02:41 +08:00
|
|
|
// GetInstance 功能:获取指定流程实例的详细信息。
|
|
|
|
GetInstance(ctx context.Context, instanceID int64) (*model.ApprovalInstance, error)
|
|
|
|
// GetInstancePage 功能:分页查询流程实例的详细信息。
|
|
|
|
GetInstancePage(ctx context.Context, pageNum, pageSize int, instance *model.ApprovalInstance) ([]*model.ApprovalInstance, int64, error)
|
|
|
|
// CancelInstance 功能:取消正在进行的流程实例。
|
|
|
|
CancelInstance(ctx context.Context, instanceID int64) error
|
|
|
|
|
|
|
|
// ApproveStep 功能:审批人批准当前步骤
|
|
|
|
ApproveStep(ctx context.Context, instanceID int64, stepID int64, comments string) error
|
|
|
|
// RejectStep 功能:审批人驳回当前步骤。
|
|
|
|
RejectStep(ctx context.Context, instanceID int64, stepID int64, comments string) error
|
|
|
|
// GetCurrentStep 功能:获取流程实例的当前审批步骤。
|
|
|
|
GetCurrentStep(ctx context.Context, instanceID int64) ([]*model.InstanceStep, error)
|
|
|
|
|
|
|
|
// AddCustomStep 功能:在流程实例中添加自定义审批步骤。
|
|
|
|
AddCustomStep(ctx context.Context, instanceID int64, step *model.InstanceStep, fromStepKey, toStepKey string) (*model.ApprovalInstance, error)
|
|
|
|
// GetCustomSteps 功能:获取流程实例中的所有自定义审批步骤。
|
|
|
|
GetCustomSteps(ctx context.Context, instanceID int64) ([]*model.InstanceStep, error)
|
|
|
|
// RemoveCustomStep 功能:移除流程实例中的自定义审批步骤。
|
|
|
|
RemoveCustomStep(ctx context.Context, instanceID int64, stepID int64) error
|
|
|
|
|
|
|
|
// PerformReversal 功能:执行回溯操作,将流程回退到指定步骤。
|
|
|
|
PerformReversal(ctx context.Context, instanceID int64, stepID int64, reason string) error
|
|
|
|
// GetReversalInfo 功能:获取流程实例的回溯信息。
|
|
|
|
GetReversalInfo(instanceID int64) (model.ApprovalReversal, error)
|
|
|
|
|
|
|
|
// CreateBatchApprovalTask 功能:创建批量审批任务。
|
|
|
|
CreateBatchApprovalTask(ctx context.Context, approverKey string, stepIDs []int64) (*model.BatchApprovalTask, error)
|
|
|
|
|
|
|
|
// ExecuteBatchApprovalTask 功能:执行批量审批任务。
|
|
|
|
ExecuteBatchApprovalTask(ctx context.Context, taskID int64, approverKey string, comments string) error
|
|
|
|
|
|
|
|
// GetBatchApprovalTasks 功能:获取审批人的所有批量审批任务。
|
|
|
|
GetBatchApprovalTasks(ctx context.Context, approverKey string) ([]model.BatchApprovalTask, error)
|
|
|
|
|
|
|
|
// GetApprovalRecords 功能:获取流程实例的所有审批记录。
|
|
|
|
GetApprovalRecords(ctx context.Context, instanceID int64) ([]*model.ApprovalRecord, error)
|
|
|
|
}
|