80 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
			
		
		
	
	
			80 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
| 
 | |
| 
 | |
| --关键事项
 | |
| 
 | |
| ALTER 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(max)
 | |
| 		select * into  #GJSX_List  
 | |
| 		from(
 | |
| 		select  
 | |
| 		a.GJSXID  
 | |
| 		,a.ProjectId 
 | |
| 		,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
 | |
| 		--,a.state
 | |
| 		--,case a.state when 2 then '正在进行' when 3 then '正在进行' when 0 then '已关闭'  when  1 then '编辑中' end  as stateStr 
 | |
| 		,case a.state when 2 then (case when GETDATE()>a.CompleteDate then 4 else a.state end) when 3 then (case when GETDATE()>a.CompleteDate then 4 else a.state end) when 0 then a.state  when  1 then a.state end  as state 
 | |
| 		,case a.state when 2 then (case when GETDATE()>a.CompleteDate then '已超期' else '正在进行' end) when 3 then (case when GETDATE()>a.CompleteDate then '已超期' else '正在进行' end) when 0 then '已关闭'  when  1 then '编辑中' end  as stateStr 
 | |
| 		,QuestionTypeName=STUFF(( SELECT ',' + Base_QuestionType.QuestionTypeName  FROM dbo.Base_QuestionType     where  PATINDEX('%,' + RTRIM(Base_QuestionType.QuestionTypeID) + ',%',',' +a.QuestionTypeID  + ',') >0  FOR XML PATH('')), 1, 1,'')
 | |
| 		,GJSXTypeName = STUFF((SELECT ',' + Base_GJSXType.GJSXTypeName FROM dbo.Base_GJSXType where PATINDEX('%,' + RTRIM(Base_GJSXType.GJSXTypeID) + ',%', ',' + a.GJSXTypeID + ',') > 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 
 | |
| 		--left join[dbo].[Base_GJSXType] on a.GJSXTypeID = Base_GJSXType.GJSXTypeID
 | |
| 		where a.ProjectId=@ProjectId   
 | |
| 		) as a
 | |
| 
 | |
| 		set @Sql ='select * from  #GJSX_List  where  1=1  ' +@sql_where  +' order by state desc,GJSXID asc'
 | |
| 
 | |
| 		exec(@Sql) 
 | |
| 
 | |
| 
 | |
| 		--select  
 | |
| 		--a.GJSXID  
 | |
| 		--,a.ProjectId 
 | |
| 		--,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  3 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,'')
 | |
| 		--,GJSXTypeName = STUFF((SELECT ',' + Base_GJSXType.GJSXTypeName FROM dbo.Base_GJSXType where PATINDEX('%,' + RTRIM(Base_GJSXType.GJSXTypeID) + ',%', ',' + a.GJSXTypeID + ',') > 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 
 | |
| 		----left join[dbo].[Base_GJSXType] on a.GJSXTypeID = Base_GJSXType.GJSXTypeID
 | |
| 		--where a.ProjectId=@ProjectId    
 | |
| END
 | |
| GO
 | |
| 
 | |
| 
 |