简体   繁体   中英

User Task-Workflow Manaegement in .NET

Need to implement a workflow system in .NET for user task management, where tasks can be assigned in serial or paraller oder to different users. Need a reference to design approach that can be used. thanks in advance

We used the following approach:

  1. The client-server architecture (WinForms + MSSQL)
  2. Built-in process editor ( Rehosting the Workflow Designer ) for process templates
  3. Start templates for execution with the ability to call other templates assigned to other users
  4. Working with tasks constructed similarly as work with other documents (internal business-objects)

Sample template table:

CREATE TABLE [dbo].[WorkFlowTemplate] (
[IDWorkFlowTemplate] INT              NOT NULL, -- UniqueID
[IDDepart]           INT              NULL,     -- Reference to user depart
[Name]               VARCHAR (MAX)    NULL,     -- Name of template
[Data]               VARCHAR (MAX)    NULL,     -- Body (xml data)
[deleted]            DATETIME         NULL,
[GUID]               UNIQUEIDENTIFIER NULL,
[IsValid]            BIT              NULL,     -- Flag no errors 
[IsInvokable]        BIT              NULL,     -- Flag this process must be invocable from other template
[ValidationErrors]   VARCHAR (256)    NULL,     -- Info for errors in template
[IsExecuting]        BIT              NULL,     -- Flag this template allow running
[Description]        VARCHAR (MAX)    NULL,
[GroupName]          VARCHAR (256)    NULL,
[Image]              VARBINARY (MAX)  NULL,     -- Pictures for template 
[AutoStart]          BIT              NULL      -- Flag: running on start client

task table:

CREATE TABLE [dbo].[WorkFlowInstance] (
[IDWorkFlowInstance]       INT           NOT NULL, -- UniqueId
[IDWorkFlowTemplate]       INT           NOT NULL, -- ref to template table
[Data]                     VARCHAR (MAX) NULL, -- Incoming parameters (xml)
[StartDate]                DATETIME      NULL, -- Start running datetime
[EndDate]                  DATETIME      NULL, -- End running datetime
[Status]                   INT           NULL, -- Status (0 = Created, 1 = Executing, 2 = Complited)
[CreateDate]               DATETIME      NULL, -- Created datetime
[deleted]                  DATETIME      NULL,
[IDDepartFrom]             INT           NULL, -- Source depart 
[IDDepartTo]               INT           NULL, -- Destination depart
[IDUserFrom]               INT           NULL, -- Source user 
[IDUserTo]                 INT           NULL, -- Destination user
[IDParentWorkFlowInstance] INT           NULL, -- Parent task 
[Comment]                  VARCHAR (MAX) NULL, -- Other comments...
[Color]                    INT           NULL,
[Comment1]                 VARCHAR (256) NULL,
[Comment2]                 VARCHAR (256) NULL,

Sample interface

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM