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
|
|
|
|
|