TFS_ANTIGUO/PrendarioDavivienda/SCRIPT_BD/ESTRUCTURA_BPMOC.sql

170 lines
17 KiB
Transact-SQL
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

USE [BPMOC]
GO
IF EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_MEMBERS_GROUPS]') AND parent_object_id = OBJECT_ID(N'[dbo].[MEMBERS]'))
ALTER TABLE [dbo].[MEMBERS] DROP CONSTRAINT [FK_MEMBERS_GROUPS]
GO
/****** Object: View [dbo].[vwGROUPMEMBERS] Script Date: 16/02/2018 02:45:34 p.m. ******/
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[vwGROUPMEMBERS]'))
DROP VIEW [dbo].[vwGROUPMEMBERS]
GO
/****** Object: View [dbo].[vwDEPARTMENTMEMBERS] Script Date: 16/02/2018 02:45:34 p.m. ******/
IF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[vwDEPARTMENTMEMBERS]'))
DROP VIEW [dbo].[vwDEPARTMENTMEMBERS]
GO
/****** Object: Table [dbo].[ORGANIZATIONS] Script Date: 16/02/2018 02:45:34 p.m. ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[ORGANIZATIONS]') AND type in (N'U'))
DROP TABLE [dbo].[ORGANIZATIONS]
GO
/****** Object: Table [dbo].[MEMBERS] Script Date: 16/02/2018 02:45:34 p.m. ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[MEMBERS]') AND type in (N'U'))
DROP TABLE [dbo].[MEMBERS]
GO
/****** Object: Table [dbo].[LABELS] Script Date: 16/02/2018 02:45:34 p.m. ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[LABELS]') AND type in (N'U'))
DROP TABLE [dbo].[LABELS]
GO
/****** Object: Table [dbo].[JOBS] Script Date: 16/02/2018 02:45:34 p.m. ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[JOBS]') AND type in (N'U'))
DROP TABLE [dbo].[JOBS]
GO
/****** Object: Table [dbo].[GROUPS] Script Date: 16/02/2018 02:45:34 p.m. ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[GROUPS]') AND type in (N'U'))
DROP TABLE [dbo].[GROUPS]
GO
/****** Object: Table [dbo].[DEPARTMENTS] Script Date: 16/02/2018 02:45:34 p.m. ******/
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[DEPARTMENTS]') AND type in (N'U'))
DROP TABLE [dbo].[DEPARTMENTS]
GO
/****** Object: Table [dbo].[DEPARTMENTS] Script Date: 16/02/2018 02:45:34 p.m. ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[DEPARTMENTS]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[DEPARTMENTS](
[ID] [int] NULL,
[NAME] [nchar](48) NULL,
[PARENTDEPT] [int] NULL,
[ISINUSE] [int] NULL,
[PROFILE] [nchar](256) NULL,
[NEEDSSORTING] [int] NULL,
[MISCDATA] [image] NULL,
[ORGID] [int] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
END
GO
/****** Object: Table [dbo].[GROUPS] Script Date: 16/02/2018 02:45:34 p.m. ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[GROUPS]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[GROUPS](
[GID] [int] NOT NULL,
[NAME] [nchar](48) NOT NULL,
[INUSE] [int] NULL,
[ACCESSGRP] [nchar](128) NULL,
[ORGID] [int] NULL,
[ISWEIGHTED] [int] NULL,
CONSTRAINT [GROUPS_GID] PRIMARY KEY CLUSTERED
(
[GID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
END
GO
/****** Object: Table [dbo].[JOBS] Script Date: 16/02/2018 02:45:34 p.m. ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[JOBS]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[JOBS](
[ID] [int] NULL,
[JOBFUNCTION] [nchar](75) NULL,
[NAME] [nchar](256) NULL,
[DEPTID] [int] NULL,
[SUPERVISORID] [int] NULL,
[JOBTYPE] [int] NULL,
[ISPRIMARY] [int] NULL,
[MISCDATA] [image] NULL,
[RIGHTS] [nchar](256) NULL,
[FULLNAME] [nchar](256) NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
END
GO
/****** Object: Table [dbo].[LABELS] Script Date: 16/02/2018 02:45:34 p.m. ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[LABELS]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[LABELS](
[ID] [int] NULL,
[DEPTID] [int] NULL,
[BOXTEXT] [nchar](256) NULL,
[MISCDATA] [image] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
END
GO
/****** Object: Table [dbo].[MEMBERS] Script Date: 16/02/2018 02:45:34 p.m. ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[MEMBERS]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[MEMBERS](
[MEMBERID] [int] NOT NULL,
[MEMBERTYPE] [int] NOT NULL,
[NAME] [nchar](256) NOT NULL,
[FULLNAME] [nchar](256) NULL,
[GID] [int] NOT NULL,
[BUSINESSID] [int] NULL,
[WEIGHT] [int] NULL,
[SEQ] [int] NULL,
[MISCDATA] [image] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
END
GO
/****** Object: Table [dbo].[ORGANIZATIONS] Script Date: 16/02/2018 02:45:34 p.m. ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[ORGANIZATIONS]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[ORGANIZATIONS](
[ID] [int] NULL,
[NAME] [nchar](64) NULL,
[DESCRIPTION] [nchar](1024) NULL
) ON [PRIMARY]
END
GO
/****** Object: View [dbo].[vwDEPARTMENTMEMBERS] Script Date: 16/02/2018 02:45:34 p.m. ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[vwDEPARTMENTMEMBERS]'))
EXEC dbo.sp_executesql @statement = N'CREATE VIEW [dbo].[vwDEPARTMENTMEMBERS] AS SELECT TOP 100 PERCENT D.ID AS DEPTID, D.NAME AS DEPTNAME, J.ID AS MEMBERID, J.NAME AS MEMBERNAME, J.JOBTYPE AS MEMBERTYPE, J.FULLNAME, J.JOBFUNCTION, J.ISPRIMARY, J.SUPERVISORID, S.NAME AS SUPERVISORNAME, S.JOBFUNCTION AS SUPERVISORJF FROM JOBS AS J WITH (READPAST) INNER JOIN DEPARTMENTS AS D WITH (READPAST) ON J.DEPTID = D.ID INNER JOIN JOBS AS S WITH (READPAST) ON J.SUPERVISORID = S.ID ORDER BY DEPTNAME'
GO
/****** Object: View [dbo].[vwGROUPMEMBERS] Script Date: 16/02/2018 02:45:34 p.m. ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[vwGROUPMEMBERS]'))
EXEC dbo.sp_executesql @statement = N'CREATE VIEW [dbo].[vwGROUPMEMBERS] AS SELECT G.NAME ''GROUPNAME'', J.ID ''MEMBERID'', M.NAME ''MEMBERNAME'', M.MEMBERTYPE, J.FULLNAME, M.WEIGHT, M.SEQ FROM GROUPS G(READPAST), JOBS J(READPAST), MEMBERS M WHERE M.MEMBERID <> 0 AND J.NAME = M.NAME AND J.ISPRIMARY = 1 AND M.GID = G.GID UNION SELECT G.NAME, 0, M.NAME, M.MEMBERTYPE, '''', M.WEIGHT, M.SEQ FROM GROUPS G(READPAST), MEMBERS M WHERE (M.MEMBERID = 0 OR M.MEMBERTYPE < 4) AND M.MEMBERTYPE <> 3 AND (M.MEMBERTYPE <> 2 OR CHARINDEX(''*'', M.NAME) = 0) AND M.GID = G.GID UNION SELECT G.NAME, M.MEMBERID, M.NAME, M.MEMBERTYPE, M.FULLNAME, M.WEIGHT, M.SEQ FROM GROUPS G(READPAST), MEMBERS M WHERE (M.MEMBERID <> 0 AND (M.MEMBERTYPE = 4 OR M.MEMBERTYPE = 5) AND (SELECT COUNT(*) FROM JOBS J WHERE J.NAME = M.NAME) = 0) AND M.GID = G.GID UNION SELECT G.NAME, D .MEMBERID, D .MEMBERNAME, 3, D .FULLNAME, M.WEIGHT, M.SEQ FROM GROUPS G(READPAST), vwDEPARTMENTMEMBERS D (READPAST), MEMBERS M WHERE M.MEMBERTYPE = 2 AND CHARINDEX(''*'', M.NAME) <> 0 AND D .SUPERVISORJF = SUBSTRING(M.NAME, CHARINDEX(''*'', M.NAME) + 1,LEN(M.NAME) - CHARINDEX(''*'', M.NAME)) AND M.GID = G.GID UNION SELECT TOP 100 PERCENT G.NAME, D.MEMBERID, D.MEMBERNAME, M.MEMBERTYPE, D.FULLNAME, M.WEIGHT, M.SEQ FROM GROUPS G(READPAST), vwDEPARTMENTMEMBERS D(READPAST), MEMBERS M(READPAST) WHERE M.MEMBERTYPE = 3 AND D.JOBFUNCTION = SUBSTRING(M.NAME, CHARINDEX(''*'', M.NAME) + 1,LEN(M.NAME) - CHARINDEX(''*'', M.NAME)) AND D.DEPTNAME = SUBSTRING(M.NAME, 0, CHARINDEX(''*'', M.NAME)) AND M.GID = G.GID ORDER BY G.NAME, M.SEQ'
GO
IF NOT EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_MEMBERS_GROUPS]') AND parent_object_id = OBJECT_ID(N'[dbo].[MEMBERS]'))
ALTER TABLE [dbo].[MEMBERS] WITH CHECK ADD CONSTRAINT [FK_MEMBERS_GROUPS] FOREIGN KEY([GID])
REFERENCES [dbo].[GROUPS] ([GID])
GO
IF EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_MEMBERS_GROUPS]') AND parent_object_id = OBJECT_ID(N'[dbo].[MEMBERS]'))
ALTER TABLE [dbo].[MEMBERS] CHECK CONSTRAINT [FK_MEMBERS_GROUPS]
GO