using Hotline.FlowEngine.Definitions;
using Hotline.FlowEngine.Workflows;
using Hotline.Share.Dtos.FlowEngine;
using MediatR;
namespace Hotline.FlowEngine.Notifications;
public record WorkflowNotify(Workflow Workflow, BasicWorkflowDto Dto) : INotification;
public record StartWorkflowNotify(Workflow Workflow, BasicWorkflowDto Dto, bool IsCountersignStart, FlowAssignMode FlowAssignMode) : WorkflowNotify(Workflow, Dto);
public record NextStepNotify(Workflow Workflow, BasicWorkflowDto Dto, bool IsCountersignStart, bool IsCountersignEnd, FlowAssignMode FlowAssignMode) : WorkflowNotify(Workflow, Dto);
public record AcceptWorkflowNotify(Workflow Workflow) : INotification;
public record CountersignEndAssigned(Workflow Workflow) : INotification;
public record CountersignStartAssigned(Workflow Workflow) : INotification;
public record PreviousNotify(Workflow Workflow, PreviousWorkflowDto Dto) : INotification;
public record RecallNotify(Workflow Workflow, NextWorkflowDto Dto) : INotification;
public record JumpNotify(Workflow Workflow, NextWorkflowDto Dto, FlowAssignMode FlowAssignMode) : INotification;
public record EndWorkflowNotify(Workflow Workflow) : INotification;
public record TerminalWorkflowNotify(Workflow Workflow) : INotification;
///
/// 工单最终办理通知(工单的实际办理部门办理完成时发出)
///
public record OrderFinalManageNotify(Workflow Workflow) : INotification;
///
/// 工单撤销最终办理通知
///
public record OrderRecallFinalManageNotify(Workflow Workflow) : INotification;