CNCEC_SUBQHSE_WUHUAN/DataBase/版本日志/已更新脚本/2021年度/SGGLDB_V2021-03-23-001.sql

204 lines
8.6 KiB
Transact-SQL

CREATE PROCEDURE [dbo].[Sp_GJSX_getlist]
-- Add the parameters for the stored procedure here
@ProjectId nvarchar(max),
@sql_where varchar(max)
AS
BEGIN
IF EXISTS(select * from tempdb..sysobjects where id=object_id('tempdb..#GJSX_List'))
BEGIN
DROP TABLE #GJSX_List
END
DECLARE @Sql NVARCHAR(200)
select * into #GJSX_List from(
select
a.GJSXID
,a.detail
,b.username
,a.createDate
,User_ReceiveID=STUFF(( SELECT ',' + p2.UserName FROM dbo.Sys_User as p2 where PATINDEX('%,' + RTRIM(p2.UserId) + ',%',',' +a.User_ReceiveID + ',') >0 FOR XML PATH('')), 1, 1,'')
, CNProfessionalId=STUFF(( SELECT ',' + Base_CNProfessional.ProfessionalName FROM dbo.Base_CNProfessional where PATINDEX('%,' + RTRIM(Base_CNProfessional.CNProfessionalId) + ',%',',' +a.CNProfessional_ID + ',') >0 FOR XML PATH('')), 1, 1,'')
,Base_Project.ProjectName
,Base_Unit.unitname
,a.CloseDate
,case a.state when 2 then 'ÕýÔÚ½øÐÐ' when 0 then '¹Ø±Õ' when 1 then '¿ª·Å' end as state
,QuestionTypeName=STUFF(( SELECT ',' + Base_QuestionType.QuestionTypeName FROM dbo.Base_QuestionType where PATINDEX('%,' + RTRIM(Base_QuestionType.QuestionTypeID) + ',%',',' +a.QuestionTypeID + ',') >0 FOR XML PATH('')), 1, 1,'')
,a.IsManypeople
,a.CompleteDate
,a.AttachUrl
,user_Acceptance =STUFF(( SELECT ',' + p2.UserName FROM dbo.Sys_User as p2 where PATINDEX('%,' + RTRIM(p2.UserId) + ',%',',' +a.user_Acceptance + ',') >0 FOR XML PATH('')), 1, 1,'')
from GJSX as a left join Sys_User as b on a.UserId=b.UserId
left join [dbo].[Base_Project] on a.ProjectId =Base_Project.ProjectId
left join [dbo].[Base_Unit] on a.UnitId=Base_Unit.UnitId
left join [dbo].[Base_QuestionType] on a.QuestionTypeID=Base_QuestionType.QuestionTypeID and a.ProjectId=@ProjectId ) as a
set @Sql ='select * from #GJSX_List where 1=1' +@sql_where
exec(@Sql)
END
GO
create PROCEDURE [dbo].[Sp_GJSXGetNewCode]
@tableName varchar(50),/*±íÃû*/
@columnName varchar(50),/*ÁÐÃû*/
@prefix varchar(50),/*Á÷Ë®ºÅ±àÂëǰ׺*/
@returnVal nvarchar(50) output
AS
/*»ñȡһ¸öеÄÁ÷Ë®ºÅ£¨ºóÎåλÉÏÔö¼Ó£©*/
declare
@sql nvarchar(500),
@old nvarchar(50),
@newid varchar(50),
@maxId nvarchar(50)/*ÒÑ·ÖÅäµÄ×î´óÖµ*/
select @sql=N'SELECT @maxId=MAX('+@columnName+') from '+@tableName+' where ' + @columnName+' like ' + '''' + @prefix + '%'''
EXEC sp_executesql @sql, N'@maxId nvarchar(50) OUTPUT', @maxId OUTPUT
set @old=@maxId
IF(@old is null)
BEGIN
set @newid=@prefix+'00001'
END
ELSE
BEGIN
set @newid = (select max(right(@old,5)))+1
set @newid = @prefix +right('00000'+@newid,5)
END
SET @returnVal=@newid
GO
CREATE PROCEDURE [dbo].[Sp_GJSXStatistic]
(
@UserID nvarchar(50)=null, --Ìá³öÈË
@unit nvarchar(50)=null, --ÔðÈε¥Î»
@projectId nvarchar(50) =null, --ËùÊôÏîÄ¿
@CNProfessional_ID nvarchar(500) =null, --רҵ
@questionType nvarchar(500)=null, --ÎÊÌâÀà±ð
@processMan nvarchar(50) =null, --½ÓÊÕÈË
@User_Acceptance nvarchar(50) =null --ÑéÊÕÈË
)
AS
select
count(*) as allcount,
(select count(*) from GJSX as z where z.state='0' and
(z.UserID=@UserID or @UserID is null) and
(UnitId = @unit or @unit is null) and
(ProjectId=@projectId or @projectId is null) and
(CNProfessional_ID like '%' + @CNProfessional_ID + '%' or @CNProfessional_ID is null) and
(QuestionTypeID like '%' + @questionType + '%' or @questionType is null) and
(z.User_Acceptance like '%' + @User_Acceptance + '%' or @User_Acceptance is null) and
(@processMan is null or (GJSXID in (select distinct GJSXID from GJSX_Process where UserId=@processMan)))) as closecount,
(select count(*) from GJSX as z where z.state='1' and
(z.UserID=@UserID or @UserID is null) and
(UnitId = @unit or @unit is null) and
(ProjectId=@projectId or @projectId is null) and
(CNProfessional_ID like '%' + @CNProfessional_ID + '%' or @CNProfessional_ID is null) and
(QuestionTypeID like '%' + @questionType + '%' or @questionType is null) and
(z.User_Acceptance like '%' + @User_Acceptance + '%' or @User_Acceptance is null) and
(@processMan is null or (GJSXID in (select distinct GJSXID from GJSX_Process where UserId=@processMan)))) as opencount,
(select count(*) from GJSX as z where z.state='2' and
(z.UserID=@UserID or @UserID is null) and
(UnitId = @unit or @unit is null) and
(ProjectId=@projectId or @projectId is null) and
(CNProfessional_ID like '%' + @CNProfessional_ID + '%' or @CNProfessional_ID is null) and
(QuestionTypeID like '%' + @questionType + '%' or @questionType is null) and
(z.User_Acceptance like '%' + @User_Acceptance + '%' or @User_Acceptance is null)and
(@processMan is null or (GJSXID in (select distinct GJSXID from GJSX_Process where UserId=@processMan)))) as proceingcount
from GJSX
where
(UserID=@UserID or @UserID is null) and
(UnitId = @unit or @unit is null) and
(GJSX.ProjectId=@projectId or @projectId is null) and
(GJSX.CNProfessional_ID like '%' + @CNProfessional_ID + '%' or @CNProfessional_ID is null) and
(GJSX.QuestionTypeID like '%' + @questionType + '%' or @questionType is null) and
(GJSX.User_Acceptance like '%' + @User_Acceptance + '%' or @User_Acceptance is null) and
(@processMan is null or (GJSXID in (select distinct GJSXID from GJSX_Process where UserId=@processMan)))
GO
CREATE TABLE [dbo].[Base_QuestionType](
[QuestionTypeID] [nvarchar](50) NOT NULL,
[QuestionTypeCode] [nvarchar](50) NOT NULL,
[QuestionTypeName] [nvarchar](50) NOT NULL,
[projectId] [nvarchar](50) NULL,
CONSTRAINT [PK_Base_QuestionType] PRIMARY KEY CLUSTERED
(
[QuestionTypeID] 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].[GJSX](
[GJSXID] [nvarchar](50) NOT NULL,
[Detail] [nvarchar](2000) NULL,
[UserID] [nvarchar](50) NULL,
[CreateDate] [datetime] NULL,
[User_ReceiveID] [varchar](8000) NULL,
[CNProfessional_ID] [varchar](8000) NULL,
[ProjectId] [nvarchar](50) NULL,
[UnitId] [nvarchar](50) NULL,
[CloseDate] [datetime] NULL,
[state] [char](2) NULL,
[QuestionTypeID] [varchar](8000) NULL,
[IsManypeople] [char](1) NULL,
[CompleteDate] [datetime] NULL,
[AttachUrl] [nvarchar](1000) NULL,
[User_Acceptance] [varchar](8000) NULL,
CONSTRAINT [PK_BO_GJSX] PRIMARY KEY CLUSTERED
(
[GJSXID] 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].[GJSX_detail](
[cuid] [nvarchar](50) NOT NULL,
[GJSXID] [nvarchar](50) NULL,
[Progress_user] [nvarchar](50) NULL,
[Progress_detail] [nvarchar](2000) NULL,
[Date] [datetime] NULL,
[sort] [int] NULL,
[FilePath] [nvarchar](500) NULL,
CONSTRAINT [PK_BO_GJSXMX] PRIMARY KEY CLUSTERED
(
[cuid] 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].[GJSX_Process](
[ProcessID] [nvarchar](50) NOT NULL,
[GJSXID] [nvarchar](50) NULL,
[UserId] [nvarchar](50) NULL,
CONSTRAINT [PK_GJSXProcess] PRIMARY KEY CLUSTERED
(
[ProcessID] 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].[Base_QuestionType] WITH CHECK ADD CONSTRAINT [FK_Base_QuestionType_l_AffiliationProjects] FOREIGN KEY([projectId])
REFERENCES [dbo].[Base_Project] ([ProjectId])
GO
ALTER TABLE [dbo].[Base_QuestionType] CHECK CONSTRAINT [FK_Base_QuestionType_l_AffiliationProjects]
GO
insert into Sys_Menu( MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType ,IsOffice,IsEnd,IsUsed )
values('3044D68E-5018-4B57-BFC4-FBE4BCCA8B8B','ÎÊÌâÀà±ð¶¨Òå','BaseInfo/QuestionType.aspx',160,'5196A6FD-4BF1-46B3-8D24-9A3CE5BB4760','Menu_SysSet',1,1,1)
insert into Sys_Menu( MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType ,IsOffice,IsEnd,IsUsed )
values('53F0B89E-A69F-4E7A-BE1C-0ADAC7F504DE','¹Ø¼üÊÂÏî','',110,0,'Menu_PZHGL',0,0,1)
insert into Sys_Menu( MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType ,IsOffice,IsEnd,IsUsed )
values('0BEA2126-7A48-40EB-8E21-99148E91A22B','¹Ø¼üÊÂÏî','PZHGL/GJSX/GJSXList.aspx',10,'53F0B89E-A69F-4E7A-BE1C-0ADAC7F504DE','Menu_PZHGL',0,1,1)
insert into Sys_Menu( MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType ,IsOffice,IsEnd,IsUsed )
values('5F3B18D6-9FBA-4EF5-A7E4-DC9F6A4EA680','¹Ø¼üÊÂÏî²éѯ','PZHGL/GJSX/GJSXFind.aspx',20,'53F0B89E-A69F-4E7A-BE1C-0ADAC7F504DE','Menu_PZHGL',0,1,1)
insert into Sys_Menu( MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType ,IsOffice,IsEnd,IsUsed )
values('CAA875A7-089B-4B79-87CE-742FDFD9DE43','¹Ø¼üÊÂÏîͳ¼Æ','PZHGL/GJSX/GJSXInfoCount.aspx',30,'53F0B89E-A69F-4E7A-BE1C-0ADAC7F504DE','Menu_PZHGL',0,1,1)