204 lines
		
	
	
		
			8.6 KiB
		
	
	
	
		
			Transact-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)
 | 
						|
 | 
						|
 | 
						|
     |