系统设计的简单流程控制方法

可以用数字或者字母来表示单据的审核状态
1表示提单,2表示填写数据之后再同意或者拒绝,3表示最终审核是否通过

以下是相关表:

CREATE TABLE [dbo].[SZ_L_BillHead](
    [BillID] [nvarchar](50) NOT NULL,
    [XMLX] [nvarchar](50) NULL,
    [Status] [nvarchar](50) NOT NULL,
    [UserID] [nvarchar](50) NOT NULL,
    [UserName] [nvarchar](50) NOT NULL,
    [Word] [nvarchar](500) NULL,
    [AddTime] [datetime2](7) NOT NULL,
    [Date1] [datetime2](7) NULL,
 CONSTRAINT [PK_SZ_L_BillHead] PRIMARY KEY CLUSTERED 
(
    [BillID] 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

ALTER TABLE [dbo].[SZ_L_BillHead] ADD  CONSTRAINT [DF_SZ_L_BillHead_AddTime]  DEFAULT (getdate()) FOR [AddTime]
GO

CREATE TABLE [dbo].[SZ_L_BillDetail](
    [BillID] [nvarchar](50) NOT NULL,
    [Tag] [nvarchar](50) NOT NULL,
    [Value] [nvarchar](max) NULL,
    [AddTime] [datetime2](7) NOT NULL,
 CONSTRAINT [PK_SZ_L_BillDetail] PRIMARY KEY CLUSTERED 
(
    [BillID] ASC,
    [Tag] 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

ALTER TABLE [dbo].[SZ_L_BillDetail] ADD  CONSTRAINT [DF_SZ_L_BillDetail_AddTime]  DEFAULT (getdate()) FOR [AddTime]
GO


CREATE TABLE [dbo].[SZ_L_Config](
    [Category] [nvarchar](100) NOT NULL,
    [Type] [nvarchar](200) NOT NULL,
    [Value] [nvarchar](max) NULL,
    [Memo] [nvarchar](50) NULL,
 CONSTRAINT [PK_SZ_L_Config] PRIMARY KEY CLUSTERED 
(
    [Category] ASC,
    [Type] 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

CREATE TABLE [dbo].[SZ_L_BillLog](
    [Idx] [int] IDENTITY(1,1) NOT NULL,
    [BillID] [nvarchar](50) NOT NULL,
    [UserID] [nvarchar](50) NULL,
    [UserName] [nvarchar](50) NULL,
    [Word] [nvarchar](500) NULL,
    [Action] [nvarchar](50) NULL,
    [AddTime] [datetime2](7) NOT NULL,
    [LastAddTime] [datetime2](7) NOT NULL,
    [Status] [nvarchar](50) NULL,
    [Memo] [nvarchar](50) NULL,
 CONSTRAINT [PK_SZ_L_BillLog] PRIMARY KEY CLUSTERED 
(
    [Idx] 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

ALTER TABLE [dbo].[SZ_L_BillLog] ADD  CONSTRAINT [DF_SZ_L_BillLog_AddTime]  DEFAULT (getdate()) FOR [AddTime]
GO

ALTER TABLE [dbo].[SZ_L_BillLog] ADD  CONSTRAINT [DF_SZ_L_BillLog_LastAddTime]  DEFAULT (getdate()) FOR [LastAddTime]
GO


CREATE TABLE [dbo].[SZ_L_BillSignSH](
    [BillID] [nvarchar](50) NOT NULL,
    [UserID] [nvarchar](50) NOT NULL,
    [UserName] [nvarchar](50) NOT NULL,
    [AddTime] [datetime2](7) NOT NULL,
 CONSTRAINT [PK_SZ_L_BillSignSH] PRIMARY KEY CLUSTERED 
(
    [BillID] 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

ALTER TABLE [dbo].[SZ_L_BillSignSH] ADD  CONSTRAINT [DF_SZ_L_BillSignSH_AddTime]  DEFAULT (getdate()) FOR [AddTime]


GO

以下是视图:

CREATE VIEW [dbo].[ViewL_Bill_SP1_SZ]
AS
SELECT     a.BillID, '1' 'Status', a.UserID
FROM         SZ_L_BillHead a
UNION
SELECT     a.BillID, '2' 'Status', d .UserID
FROM         SZ_L_BillHead a, SZ_L_Config b, SZ_UserGroupHead c, SZ_UserGroupDetail d
WHERE     b.Category = '测试分析室执行测试人员组' AND a.XMLX = b.Type AND b.Value = c.GroupID AND c.GroupID = d .GroupID AND
c.Enable = '1'
UNION
SELECT     a.BillID, '3' 'Status', d .UserID
FROM         SZ_L_BillHead a, SZ_L_Config b, SZ_UserGroupHead c, SZ_UserGroupDetail d
WHERE     b.Category = '测试分析室审核人员组' AND a.XMLX = b.Type AND b.Value = c.GroupID AND c.GroupID = d .GroupID AND c.Enable
= '1'


CREATE VIEW [dbo].[ViewL_Bill_SP2_SZ2]
AS
SELECT     a.BillID, a.Status, a.UserID, c.FPersonName AS UserName
FROM         dbo.ViewL_Bill_SP1_SZ2 AS a INNER JOIN
                      dbo.[User] AS b ON a.UserID = b.UserID INNER JOIN
                      dbo.Employee AS c ON b.UserID = c.FPersonNo
WHERE     (b.Enable = 'Y') AND (c.FPersonStatus = 'Y')

发布了30 篇原创文章 · 获赞 2 · 访问量 6598

猜你喜欢

转载自blog.csdn.net/tangliuqing/article/details/105249970