Workflow database table design-ASP. NET, workflow -asp.net
The company is preparing to develop a workflow engine. It has no OA development experience before and is also the first time to design a workflow engine. I will share some of my ideas and hope to get some help or help some people.
Product Positioning:
1. Able to achieve frontend and backend Separation
2. Project isolation and use can be achieved through interfaces
3. Support for complex process logic, for example: Fill in the overtime form-"multi-person Review =" return = "fill in the creden =" designated person Review = "Pass
Or
And so on.
Design Philosophy
I. Through the decomposition of the approval process, we can get three actions, and then conduct a more detailed analysis of these three actions. The results are as follows:
1. Write a form
Form table: for example, overtime ticket
Form element table: the input box and drop-down box to be filled in the overtime ticket
Form storage table: the storage value submitted by clicking "overtime ticket"
Form event table: for example, verification component and event submission
2. Select the reviewer
Audit table: stores audit information for the last action
Audit User table: Required reviewer
Review organizational structure table: query the organizational structure required
3. Condition Determination
Determination table: the results of a complex workflow are determined. For example, if the number of days for leave exceeds N days, XXX actions are performed.
Starting from entering the form, you can either [judge] or [review] or continue entering the form. This forms a workflow.
Ii. Action generic table. added attachments, replies, and @ functions for good user experience.
Primary table: you can reply to the table.
Post from table: you can post replies
Attachment table: You can add multiple attachments to an action.
Iii. Action History Table
Action record: in a special case, your action is recalled to the previous action. In this case, you need to view a history record.