ALTER PROCEDURE [dbo].[KM004_Select]
@ProjectName nvarchar(50), --项目名称 like
@ProjectScopeFrom nvarchar(10), --项目规模From
@ProjectScopeTo nvarchar(10), --项目规模To
@ClientName nvarchar(50), --客户名称 like
@ProjectState char(2), --状态
@KeyPersonName nvarchar(50), --相关联系人 like
@ProjectAppraise char(2), --质量评价
@BeginFrom nvarchar(10), --开始日From
@BeginTo nvarchar(10), --开始日To
@OutParam nvarchar(1) OUT
AS
declare @E_SUCCESS varchar(1) set @E_SUCCESS='0' --0:正常结束
declare @E_NODATA varchar(1) set @E_NODATA='1' --1:对象数据不存在,检索不到数据
declare @E_ERROR2 varchar(1) set @E_ERROR2='6' --6:主键重复
declare @E_ERROR3 varchar(1) set @E_ERROR3='7' --7:逻辑排他
declare @E_ERROR4 varchar(1) set @E_ERROR4='8' --8:业务排他
declare @E_ERROR5 varchar(1) set @E_ERROR5='9' --9:异常终止
declare @sql varchar(3000)
--存储过程开始
BEGIN try
--设置默认返回值
set @OutParam=@E_SUCCESS
set @sql='select distinct ProjectID, ActorName,ClientName,ClientID,ProjectName,
case when ProjectState=01 then ''意向性''
when ProjectState=02 then ''商谈中''
when ProjectState=03 then ''发注中''
when ProjectState=04 then ''开发中''
when ProjectState=05 then ''验收中''
when ProjectState=06 then ''后期对应''
when ProjectState=07 then ''完成''
end AS ProjectState ,
SecretLevel,
ProjectScope,
convert(varchar(10), BeginDate,111) AS BeginDate,UpdateUserName,
convert(varchar(10), UpdatedDate,111) AS UpdatedDate
from View_KM005Project Where DeleteFlg = 0'
if @ProjectName<>''-- is not null
set @sql=@sql+' and ProjectName like ''%'+@ProjectName+'%'''
if @ClientName<>''-- is not null
set @sql=@sql+' and ClientName like ''%'+@ClientName+'%'''
if @KeyPersonName<>''--is not null
set @sql=@sql+' and KeyPersonName like ''%'+@KeyPersonName+'%'''
--过滤项目规模条件
if @ProjectScopeTo <>''--is not null
set @sql=@sql+' And ProjectScope <= '+@ProjectScopeTo
if @ProjectScopeFrom <>''--is not null
set @sql=@sql+' And ProjectScope >= '+@ProjectScopeFrom
--过滤状态条件
if @ProjectState<>''-- is not null
set @sql=@sql+' And ProjectState = '+@ProjectState
--过滤质量评价条件
if @ProjectAppraise<>''-- is not null
set @sql=@sql+' And ProjectState = '+@ProjectAppraise
--过滤开始日条件
if @BeginTo<>''-- is not null
set @sql=@sql+' And BeginDate <= '''+@BeginTo+''''
if @BeginFrom<>''-- is not null
set @sql=@sql+' And BeginDate >='''+@BeginFrom+''''
set @sql=@sql+' Order By ProjectID DESC'
print(@sql)
EXEC(@sql)
if @@rowcount=0 set @OutParam=@E_NODATA
if @@error<>0 set @OutParam=@E_ERROR5
--存储过程结束
END try
--捕获异常
BEGIN catch
print(@sql)
--设置异常
set @OutParam =@E_ERROR5
END catch
发表于 @ 2008年01月17日 17:19:00 | 评论( loading... ) | 举报| 收藏