33,027
社区成员




CREATE FUNCTION dbo.IsList(@MessageId decimal, @UserName varchar(50))
returns char(1) as
begin
declare @ID decimal
declare @depart varchar(500)--部门
declare @actor varchar(500) --角色
declare @FlowID decimal --流程类别(低压与低压变更业务)
declare @GZDH varchar(50)
declare @RecordCount decimal
declare @GDDW varchar(50)
declare @IsUnion varchar(10) --是否审批,是就从YK_SPXX表中去取部门和角色,
--否则从MESSAGE表中去取角色,从YK_XPXX中去取部门
select @IsUnion=IsUnion, @GZDH=GZDH, @actor=actors, @FlowID=FlowID
from WF_MESSAGE WHERE ID=@MESSAGEID;
if @IsUnion='审批'
begin
if exists
(
select GY.id
from YK_SPXX YS join GY_BMXX GB1 on YS.spbm=GB1.BH
join GY_BMXX GB2 on YS.spjs=GB2.BH
join GY_YHJC GY on charindex(','+GY.JCMC+',', ','+GB2.mc+',')>0
where YS.MESSAGEID=@MESSAGEID
and GY.STATUS='启用'
and GY.ID in (select ID from GY_YHJC where MC=@USERNAME)
AND (GY.BMMC='-1' OR charindex(','+GB1.mc+',',','+GY.BMMC+',')> 0)
)
return '1'
end
else --@IsUnion<>'审批'
begin ---//2为新高,211高压杂项 新低的流程99为低压的变更 218为j居民集装业务流程,要验证权限
if @FlowID in (294, 99, 218, 2, 211)
begin
if @FlowID in (294, 99, 218)
select @DEPART = MC from GY_BMXX
where BH in (select gddw from YK_YHSQXX_GR WHERE GZDH=@GZDH)
else -- @FlowID=2 or @FlowID=211
select @DEPART = MC from GY_BMXX
where BH in (select gddw from YK_YHSQXX WHERE GZDH=@GZDH)
if exists
(
select GY.id
from GY_YHJC GY
where charindex(','+GY.JCMC+',', ','+@actor+',')>0
and GY.STATUS='启用'
and GY.ID in (select ID from GY_YHJC where MC=@USERNAME)
AND charindex(','+@depart+',',','+GY.BMMC+',')> 0
)
return '1'
end
else -- @FlowID not in (294, 99, 218, 2, 211)
begin
if exists
(
select GY.id
from GY_YHJC GY
where charindex(','+GY.JCMC+',', ','+@actor+',')>0
and GY.STATUS='启用'
and GY.ID in (select ID from GY_YHJC where MC=@USERNAME)
)
return '1'
end -- end of @FlowID not in (294, 99, 218, 2, 211)
end -- end of @IsUnion<>'审批'
return '0'
end