系列目录

工作流在实际应用中还是比较广泛,网络中存在很多工作流的图形化插件,可以做到拉拽的工作流设计,非常简便,再配合第三方编辑器,可以直接生成表单,我没有刻意的浏览很多工作流的实际设计,我认为工作流只要有动态可修改的流转,有时可按角色,部门,上级或者职位流转即是比较好的正常工作流!这里只带给一个思路的简单工作流...

工作流其实有几种,也可以设计得很简单:

1.固定的工作流,很小的公司,很固定的流程!

2.自定义表单和字段,有时候可以校验表单

3.自定义流转的人员,即按角色流转,用户每一次提交工作流都必须在步骤中添加要转的人员

4.直接设置职位和部门,然后根据人员所属的部门、职位或者上级进行流转

上面可以是一个交集,只有4点合起来才能做一个比较动态的工作流,否则可以直接用固定的工作流即可

这是本次要做的一般大众化工作流

当生成表单之后,用户将直接用此表单的模版,并提交公文到下一步,最后流程完成后,反馈给发起人

数据库的设计也有这巧妙之处

Flow_Form:表单模版

Flow_FormAttr:表单字段

Flow_Step:表单的流转步骤,如请假天数小于3天直接上级审批,大于3天需要进行第二步的老总审批

Flow_StepRule:根据字段决定流转的条件

Flow_StepState:正在进行的步骤状态,如第一步是否完成

Flow_Type:工作流种类,如行政管理

Flow_FormCentent:根据模版提交的内容

Flow_FormContentStepCheck:步骤总状态

Flow_FormContentStepCheckState:步骤的细分状态

USE [AppDB]
GO
/****** Object: Table [dbo].[Flow_Type] Script Date: 03/21/2015 22:36:52 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Flow_Type](
[Id] [varchar](50) NOT NULL,
[Name] [varchar](50) NOT NULL,
[Remark] [varchar](500) NULL,
[CreateTime] [datetime] NOT NULL,
[Sort] [int] NOT NULL,
CONSTRAINT [PK_Flow_Type] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'类别' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Flow_Type', @level2type=N'COLUMN',@level2name=N'Name'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'说明' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Flow_Type', @level2type=N'COLUMN',@level2name=N'Remark'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'创建时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Flow_Type', @level2type=N'COLUMN',@level2name=N'CreateTime'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'排序' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Flow_Type', @level2type=N'COLUMN',@level2name=N'Sort'
GO
/****** Object: Table [dbo].[Flow_Seal] Script Date: 03/21/2015 22:36:52 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Flow_Seal](
[Id] [varchar](50) NOT NULL,
[Path] [varchar](200) NULL,
[CreateTime] [datetime] NULL,
[Using] [varchar](4000) NULL,
CONSTRAINT [PK_Flow_Seal] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'使用者' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Flow_Seal', @level2type=N'COLUMN',@level2name=N'Using'
GO
/****** Object: Table [dbo].[Flow_FormAttr] Script Date: 03/21/2015 22:36:52 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Flow_FormAttr](
[Id] [varchar](50) NOT NULL,
[Title] [varchar](50) NOT NULL,
[Name] [varchar](50) NOT NULL,
[AttrType] [varchar](50) NOT NULL,
[CheckJS] [varchar](500) NULL,
[TypeId] [varchar](50) NOT NULL,
[CreateTime] [datetime] NULL,
[OptionList] [varchar](500) NULL,
[IsValid] [bit] NULL,
CONSTRAINT [PK_Flow_FormAttr] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Flow_FormAttr', @level2type=N'COLUMN',@level2name=N'Id'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'字段标题' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Flow_FormAttr', @level2type=N'COLUMN',@level2name=N'Title'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'字段英文名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Flow_FormAttr', @level2type=N'COLUMN',@level2name=N'Name'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'文本,日期,数字,多行文本' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Flow_FormAttr', @level2type=N'COLUMN',@level2name=N'AttrType'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'校验脚本' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Flow_FormAttr', @level2type=N'COLUMN',@level2name=N'CheckJS'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'所属类别' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Flow_FormAttr', @level2type=N'COLUMN',@level2name=N'TypeId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'下拉框的值' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Flow_FormAttr', @level2type=N'COLUMN',@level2name=N'OptionList'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否必填' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Flow_FormAttr', @level2type=N'COLUMN',@level2name=N'IsValid'
GO
/****** Object: Table [dbo].[Flow_Form] Script Date: 03/21/2015 22:36:52 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Flow_Form](
[Id] [varchar](50) NOT NULL,
[Name] [varchar](100) NOT NULL,
[Remark] [varchar](500) NULL,
[UsingDep] [varchar](2000) NULL,
[TypeId] [varchar](50) NOT NULL,
[State] [bit] NOT NULL,
[CreateTime] [datetime] NULL,
[HtmlForm] [text] NULL,
[AttrA] [varchar](50) NULL,
[AttrB] [varchar](50) NULL,
[AttrC] [varchar](50) NULL,
[AttrD] [varchar](50) NULL,
[AttrE] [varchar](50) NULL,
[AttrF] [varchar](50) NULL,
[AttrG] [varchar](50) NULL,
[AttrH] [varchar](50) NULL,
[AttrI] [varchar](50) NULL,
[AttrJ] [varchar](50) NULL,
[AttrK] [varchar](50) NULL,
[AttrL] [varchar](50) NULL,
[AttrM] [varchar](50) NULL,
[AttrN] [varchar](50) NULL,
[AttrO] [varchar](50) NULL,
[AttrP] [varchar](50) NULL,
[AttrQ] [varchar](50) NULL,
[AttrR] [varchar](50) NULL,
[AttrS] [varchar](50) NULL,
[AttrT] [varchar](50) NULL,
[AttrU] [varchar](50) NULL,
[AttrV] [varchar](50) NULL,
[AttrW] [varchar](50) NULL,
[AttrX] [varchar](50) NULL,
[AttrY] [varchar](50) NULL,
[AttrZ] [varchar](50) NULL,
CONSTRAINT [PK_Flow_Form] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否完成流程' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Flow_Form', @level2type=N'COLUMN',@level2name=N'State'
GO
/****** Object: Table [dbo].[Flow_Step] Script Date: 03/21/2015 22:36:52 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Flow_Step](
[Id] [varchar](50) NOT NULL,
[Name] [varchar](50) NOT NULL,
[Remark] [varchar](500) NULL,
[Sort] [int] NOT NULL,
[FormId] [varchar](50) NOT NULL,
[FlowRule] [varchar](50) NOT NULL,
[IsCustom] [bit] NOT NULL,
[IsAllCheck] [bit] NOT NULL,
[Execution] [varchar](4000) NULL,
[CompulsoryOver] [bit] NOT NULL,
[IsEditAttr] [bit] NOT NULL,
CONSTRAINT [PK_Flow_Step] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'步骤名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Flow_Step', @level2type=N'COLUMN',@level2name=N'Name'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'步骤说明' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Flow_Step', @level2type=N'COLUMN',@level2name=N'Remark'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'排序' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Flow_Step', @level2type=N'COLUMN',@level2name=N'Sort'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'所属表单' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Flow_Step', @level2type=N'COLUMN',@level2name=N'FormId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'流转规则' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Flow_Step', @level2type=N'COLUMN',@level2name=N'FlowRule'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'该流程的 发起人/创建者 是否可以 自行选择 该步骤的审批者' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Flow_Step', @level2type=N'COLUMN',@level2name=N'IsCustom'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'当规则或者角色被选择为多人时候,是否启用多人审核才通过' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Flow_Step', @level2type=N'COLUMN',@level2name=N'IsAllCheck'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'执行者与规则对应' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Flow_Step', @level2type=N'COLUMN',@level2name=N'Execution'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否可以强制完成整个流程' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Flow_Step', @level2type=N'COLUMN',@level2name=N'CompulsoryOver'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'审核者是否可以编辑发起者的附件' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Flow_Step', @level2type=N'COLUMN',@level2name=N'IsEditAttr'
GO
/****** Object: Table [dbo].[Flow_FormContent] Script Date: 03/21/2015 22:36:52 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Flow_FormContent](
[Id] [varchar](50) NOT NULL,
[Title] [varchar](200) NOT NULL,
[UserId] [varchar](50) NOT NULL,
[FormId] [varchar](50) NOT NULL,
[FormLevel] [varchar](50) NOT NULL,
[CreateTime] [datetime] NOT NULL,
[AttrA] [varchar](2048) NULL,
[AttrB] [varchar](2048) NULL,
[AttrC] [varchar](2048) NULL,
[AttrD] [varchar](2048) NULL,
[AttrE] [varchar](2048) NULL,
[AttrF] [varchar](2048) NULL,
[AttrG] [varchar](2048) NULL,
[AttrH] [varchar](2048) NULL,
[AttrI] [varchar](2048) NULL,
[AttrJ] [varchar](2048) NULL,
[AttrK] [varchar](2048) NULL,
[AttrL] [varchar](2048) NULL,
[AttrM] [varchar](2048) NULL,
[AttrN] [varchar](2048) NULL,
[AttrO] [varchar](2048) NULL,
[AttrP] [varchar](2048) NULL,
[AttrQ] [varchar](2048) NULL,
[AttrR] [varchar](2048) NULL,
[AttrS] [varchar](2048) NULL,
[AttrT] [varchar](2048) NULL,
[AttrU] [varchar](2048) NULL,
[AttrV] [varchar](2048) NULL,
[AttrW] [varchar](2048) NULL,
[AttrX] [varchar](2048) NULL,
[AttrY] [varchar](2048) NULL,
[AttrZ] [varchar](2048) NULL,
[CustomMember] [varchar](4000) NULL,
[TimeOut] [datetime] NOT NULL,
CONSTRAINT [PK_Flow_FormContent] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Flow_FormContent', @level2type=N'COLUMN',@level2name=N'Id'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'发起用户' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Flow_FormContent', @level2type=N'COLUMN',@level2name=N'UserId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'对应表单' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Flow_FormContent', @level2type=N'COLUMN',@level2name=N'FormId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'公文级别' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Flow_FormContent', @level2type=N'COLUMN',@level2name=N'FormLevel'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'创建时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Flow_FormContent', @level2type=N'COLUMN',@level2name=N'CreateTime'
GO
/****** Object: Table [dbo].[Flow_FormContentStepCheck] Script Date: 03/21/2015 22:36:52 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Flow_FormContentStepCheck](
[Id] [varchar](50) NOT NULL,
[ContentId] [varchar](50) NOT NULL,
[StepId] [varchar](50) NOT NULL,
[State] [int] NOT NULL,
[StateFlag] [bit] NOT NULL,
[CreateTime] [datetime] NOT NULL,
[IsEnd] [bit] NOT NULL,
CONSTRAINT [PK_Flow_StepState] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Flow_FormContentStepCheck', @level2type=N'COLUMN',@level2name=N'Id'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'所属公文' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Flow_FormContentStepCheck', @level2type=N'COLUMN',@level2name=N'ContentId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'0不通过1通过2审核中' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Flow_FormContentStepCheck', @level2type=N'COLUMN',@level2name=N'State'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'true此步骤审核完成' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Flow_FormContentStepCheck', @level2type=N'COLUMN',@level2name=N'StateFlag'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'创建时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Flow_FormContentStepCheck', @level2type=N'COLUMN',@level2name=N'CreateTime'
GO
/****** Object: Table [dbo].[Flow_StepRule] Script Date: 03/21/2015 22:36:52 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Flow_StepRule](
[Id] [varchar](50) NOT NULL,
[StepId] [varchar](50) NOT NULL,
[AttrId] [varchar](50) NOT NULL,
[Operator] [varchar](10) NOT NULL,
[Result] [varchar](50) NOT NULL,
[NextStep] [varchar](50) NULL,
CONSTRAINT [PK_Flow_StepRule] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Flow_FormContentStepCheckState] Script Date: 03/21/2015 22:36:52 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Flow_FormContentStepCheckState](
[Id] [varchar](50) NOT NULL,
[StepCheckId] [varchar](50) NOT NULL,
[UserId] [varchar](50) NOT NULL,
[CheckFlag] [int] NOT NULL,
[Reamrk] [varchar](2000) NULL,
[TheSeal] [varchar](50) NULL,
[CreateTime] [datetime] NOT NULL,
CONSTRAINT [PK_Flow_FormContentStepCheckState] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'1通过0不通过2审核中' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Flow_FormContentStepCheckState', @level2type=N'COLUMN',@level2name=N'CheckFlag'
GO
/****** Object: Default [DF_Flow_FormContent_DrafText_Time] Script Date: 03/21/2015 22:36:52 ******/
ALTER TABLE [dbo].[Flow_FormContent] ADD CONSTRAINT [DF_Flow_FormContent_DrafText_Time] DEFAULT (getdate()) FOR [CreateTime]
GO
/****** Object: ForeignKey [FK_Flow_Form_Flow_Type] Script Date: 03/21/2015 22:36:52 ******/
ALTER TABLE [dbo].[Flow_Form] WITH CHECK ADD CONSTRAINT [FK_Flow_Form_Flow_Type] FOREIGN KEY([TypeId])
REFERENCES [dbo].[Flow_Type] ([Id])
GO
ALTER TABLE [dbo].[Flow_Form] CHECK CONSTRAINT [FK_Flow_Form_Flow_Type]
GO
/****** Object: ForeignKey [FK_Flow_FormAttr_Flow_Type] Script Date: 03/21/2015 22:36:52 ******/
ALTER TABLE [dbo].[Flow_FormAttr] WITH CHECK ADD CONSTRAINT [FK_Flow_FormAttr_Flow_Type] FOREIGN KEY([TypeId])
REFERENCES [dbo].[Flow_Type] ([Id])
GO
ALTER TABLE [dbo].[Flow_FormAttr] CHECK CONSTRAINT [FK_Flow_FormAttr_Flow_Type]
GO
/****** Object: ForeignKey [FK_Flow_FormContent_Flow_Form] Script Date: 03/21/2015 22:36:52 ******/
ALTER TABLE [dbo].[Flow_FormContent] WITH CHECK ADD CONSTRAINT [FK_Flow_FormContent_Flow_Form] FOREIGN KEY([FormId])
REFERENCES [dbo].[Flow_Form] ([Id])
GO
ALTER TABLE [dbo].[Flow_FormContent] CHECK CONSTRAINT [FK_Flow_FormContent_Flow_Form]
GO
/****** Object: ForeignKey [FK_Flow_FormContent_SysUser] Script Date: 03/21/2015 22:36:52 ******/
ALTER TABLE [dbo].[Flow_FormContent] WITH CHECK ADD CONSTRAINT [FK_Flow_FormContent_SysUser] FOREIGN KEY([UserId])
REFERENCES [dbo].[SysUser] ([Id])
GO
ALTER TABLE [dbo].[Flow_FormContent] CHECK CONSTRAINT [FK_Flow_FormContent_SysUser]
GO
/****** Object: ForeignKey [FK_Flow_StepState_Flow_StepState] Script Date: 03/21/2015 22:36:52 ******/
ALTER TABLE [dbo].[Flow_FormContentStepCheck] WITH CHECK ADD CONSTRAINT [FK_Flow_StepState_Flow_StepState] FOREIGN KEY([ContentId])
REFERENCES [dbo].[Flow_FormContent] ([Id])
GO
ALTER TABLE [dbo].[Flow_FormContentStepCheck] CHECK CONSTRAINT [FK_Flow_StepState_Flow_StepState]
GO
/****** Object: ForeignKey [FK_Flow_FormContentStepCheckState_Flow_FormContentStepCheck] Script Date: 03/21/2015 22:36:52 ******/
ALTER TABLE [dbo].[Flow_FormContentStepCheckState] WITH CHECK ADD CONSTRAINT [FK_Flow_FormContentStepCheckState_Flow_FormContentStepCheck] FOREIGN KEY([StepCheckId])
REFERENCES [dbo].[Flow_FormContentStepCheck] ([Id])
GO
ALTER TABLE [dbo].[Flow_FormContentStepCheckState] CHECK CONSTRAINT [FK_Flow_FormContentStepCheckState_Flow_FormContentStepCheck]
GO
/****** Object: ForeignKey [FK_Flow_FormContentStepCheckState_SysUser] Script Date: 03/21/2015 22:36:52 ******/
ALTER TABLE [dbo].[Flow_FormContentStepCheckState] WITH CHECK ADD CONSTRAINT [FK_Flow_FormContentStepCheckState_SysUser] FOREIGN KEY([UserId])
REFERENCES [dbo].[SysUser] ([Id])
GO
ALTER TABLE [dbo].[Flow_FormContentStepCheckState] CHECK CONSTRAINT [FK_Flow_FormContentStepCheckState_SysUser]
GO
/****** Object: ForeignKey [FK_Flow_Step_Flow_Form] Script Date: 03/21/2015 22:36:52 ******/
ALTER TABLE [dbo].[Flow_Step] WITH CHECK ADD CONSTRAINT [FK_Flow_Step_Flow_Form] FOREIGN KEY([FormId])
REFERENCES [dbo].[Flow_Form] ([Id])
GO
ALTER TABLE [dbo].[Flow_Step] CHECK CONSTRAINT [FK_Flow_Step_Flow_Form]
GO
/****** Object: ForeignKey [FK_Flow_StepRule_Flow_Step] Script Date: 03/21/2015 22:36:52 ******/
ALTER TABLE [dbo].[Flow_StepRule] WITH CHECK ADD CONSTRAINT [FK_Flow_StepRule_Flow_Step] FOREIGN KEY([StepId])
REFERENCES [dbo].[Flow_Step] ([Id])
GO
ALTER TABLE [dbo].[Flow_StepRule] CHECK CONSTRAINT [FK_Flow_StepRule_Flow_Step]
GO

ASP.NET MVC5+EF6+EasyUI 后台管理系统(42)-工作流设计-表建立的更多相关文章

  1. ASP.NET MVC5+EF6+EasyUI 后台管理系统(1)-前言与目录(持续更新中...)

    开发工具:VS2015(2012以上)+SQL2008R2以上数据库  您可以有偿获取一份最新源码联系QQ:729994997 价格 666RMB  升级后界面效果如下: 任务调度系统界面 http: ...

  2. ASP.NET MVC5+EF6+EasyUI 后台管理系统(1)-前言与目录(转)

    开发工具:VS2015(2012以上)+SQL2008R2以上数据库 您可以有偿获取一份最新源码联系QQ:729994997 价格 666RMB 升级后界面效果如下: 日程管理   http://ww ...

  3. ASP.NET MVC5+EF6+EasyUI 后台管理系统(63)-Excel导入和导出-自定义表模导入

    系列目录 前言 上一节使用了LinqToExcel和CloseXML对Excel表进行导入和导出的简单操作,大家可以跳转到上一节查看: ASP.NET MVC5+EF6+EasyUI 后台管理系统(6 ...

  4. ASP.NET MVC5+EF6+EasyUI 后台管理系统-WebApi的用法与调试

    1:ASP.NET MVC5+EF6+EasyUI 后台管理系统(1)-WebApi与Unity注入 使用Unity是为了使用我们后台的BLL和DAL层 2:ASP.NET MVC5+EF6+Easy ...

  5. ASP.NET MVC5+EF6+EasyUI 后台管理系统(51)-系统升级

    系统很久没有更新内容了,期待已久的更新在今天发布了,最近花了2个月的时间每天一点点,从原有系统 MVC4+EF5+UNITY2.X+Quartz 2.0+easyui 1.3.4无缝接入 MVC5+E ...

  6. ASP.NET MVC5+EF6+EasyUI 后台管理系统(58)-DAL层重构

    系列目录 前言:这是对本文系统一次重要的革新,很久就想要重构数据访问层了,数据访问层重复代码太多.主要集中增删该查每个模块都有,所以本次是为封装相同接口方法 如果你想了解怎么重构普通的接口DAL层请查 ...

  7. ASP.NET MVC5+EF6+EasyUI 后台管理系统(34)-文章发布系统①-简要分析

    系列目录 最新比较闲,为了学习下Android的开发构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(1)-前言与,虽然有点没有目的的学习,但还是了解了Andro ...

  8. ASP.NET MVC5+EF6+EasyUI 后台管理系统(54)-工作流设计-所有流程监控

    系列目录 先补充一个平面化登陆页面代码,自己更换喜欢的颜色背景 @using Apps.Common; @{ Layout = null; } <!DOCTYPE html> <ht ...

  9. ASP.NET MVC5+EF6+EasyUI 后台管理系统(56)-插件---单文件上传与easyui使用fancybox

    系列目录 https://yunpan.cn/cZVeSJ33XSHKZ  访问密码 0fc2 今天整合lightbox插件Fancybox1.3.4,发现1.3.4版本太老了.而目前easyui 1 ...

  10. ASP.NET MVC5+EF6+EasyUI 后台管理系统(38)-Easyui-accordion+tree漂亮的菜单导航

    系列目录 本节主要知识点是easyui 的手风琴加树结构做菜单导航 有园友抱怨原来菜单非常难看,但是基于原有树形无限级别的设计,没有办法只能已树形展示 先来看原来的效果 改变后的效果,当然我已经做好了 ...

随机推荐

  1. 【疯狂造轮子-iOS】JSON转Model系列之二

    [疯狂造轮子-iOS]JSON转Model系列之二 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 上一篇<[疯狂造轮子-iOS]JSON转Model系列之一> ...

  2. Entity Framework教程(第二版)

    源起 很多年前刚毕业那阵写过一篇关于Entity Framework的文章,没发首页却得到100+的推荐.可能是当时Entity Framework刚刚发布介绍EF的文章比较少.一晃这么多年过去了,E ...

  3. Key/Value之王Memcached初探:二、Memcached在.Net中的基本操作

    一.Memcached ClientLib For .Net 首先,不得不说,许多语言都实现了连接Memcached的客户端,其中以Perl.PHP为主. 仅仅memcached网站上列出的语言就有: ...

  4. 如何远程关闭一个ASP.NET Core应用?

    在<历数依赖注入的N种玩法>演示系统自动注册服务的实例中,我们会发现输出的列表包含两个特殊的服务,它们的对应的服务接口分别是IApplicationLifetime和IHostingEnv ...

  5. 【原创分享·微信支付】 C# MVC 微信支付教程系列之公众号支付

    微信支付教程系列之公众号支付         今天,我们接着讲微信支付的系列教程,前面,我们讲了这个微信红包和扫码支付.现在,我们讲讲这个公众号支付.公众号支付的应用环境常见的用户通过公众号,然后再通 ...

  6. iOS逆向工程之Hopper+LLDB调试第三方App

    LLDB是Low Level Debugger的简称,在iOS开发的调试中LLDB是经常使用的,LLDB是Xcode内置的动态调试工具.使用LLDB可以动态的调试你的应用程序,如果你不做其他的额外处理 ...

  7. 重新认识了下Entity Framework

    什么是Entity Framework Entity Framework是一个对象关系映射O/RM框架. Entity Framework让开发者可以像操作领域对象(domain-specific o ...

  8. EF上下文对象线程内唯一性与优化

    在一次请求中,即一个线程内,若是用到EF数据上下文对象,就创建一个,这也加是很多人的代码中习惯在使用上下文对象时,习惯将对象建立在using中,也是为了尽早释放上下文对象, 但是如果有一个业务逻辑调用 ...

  9. [转载]SQL Server 2008 R2安装时选择的是windows身份验证,未选择混合身份验证的解决办法

    安装过程中,SQL Server 数据库引擎设置为 Windows 身份验证模式或 SQL Server 和 Windows 身份验证模式.本文介绍如何在安装后更改安全模式. 如果在安装过程中选择&q ...

  10. iOS开源项目周报1222

    由OpenDigg 出品的iOS开源项目周报第二期来啦.我们的iOS开源周报集合了OpenDigg一周来新收录的优质的iOS开发方面的开源项目,方便iOS开发人员便捷的找到自己需要的项目工具等. io ...