Commit 2eb8c1ef authored by solho's avatar solho

feat:導入可視權限,取消深圳所 分類邏輯

parent 33826d7f
...@@ -4,7 +4,8 @@ Alter PROCEDURE [dbo].rpt_PointFinish_YM ( ...@@ -4,7 +4,8 @@ Alter PROCEDURE [dbo].rpt_PointFinish_YM (
@p_RptType varchar(10), -- 報表類別 byDS=依所別顯示, byItem=依部別顯示, byPeople=依承辦人顯示 @p_RptType varchar(10), -- 報表類別 byDS=依所別顯示, byItem=依部別顯示, byPeople=依承辦人顯示
@p_EmpID VARCHAR(80), -- 登入Wade ID @p_EmpID VARCHAR(80), -- 登入Wade ID
@p_QryEmpItem varchar(1), -- 查詢部別 (空白=全部, 1=一部, 2=二部, 3=三部, 4=四部, 5=五部, 6=日文部, 7=韓文部) @p_QryEmpItem varchar(1), -- 查詢部別 (空白=全部, 1=一部, 2=二部, 3=三部, 4=四部, 5=五部, 6=日文部, 7=韓文部)
@p_EmpShow nvarchar(10) -- 顯示內容(主管看向下成員, 工程師看個人) ( showAll:顯示全部, showEmp:顯示各人) @p_EmpShow nvarchar(10), -- 顯示內容(主管看向下成員, 工程師看個人) ( showAll:顯示全部, showEmp:顯示各人)
@furtherSql Nvarchar(max)
) )
AS AS
BEGIN BEGIN
...@@ -31,6 +32,12 @@ BEGIN ...@@ -31,6 +32,12 @@ BEGIN
set @p_YM_12=LEFT(Convert(varchar(7),DATEADD(month,11,@p_StartDate) ,126),7); set @p_YM_12=LEFT(Convert(varchar(7),DATEADD(month,11,@p_StartDate) ,126),7);
print('1:'+convert(varchar(20),getdate(),126)) print('1:'+convert(varchar(20),getdate(),126))
--可視權限帶入
IF OBJECT_ID('tempdb..#tempfurther', 'U') IS NOT NULL DROP TABLE #tempfurther
CREATE TABLE #tempfurther(user_id varchar(100));
Insert into #tempfurther
exec sp_executesql @furtherSql
--取得各部主管及特殊權限 (manager_ItemName manager_ItemNo manager_DeptName manager_wadeID) --取得各部主管及特殊權限 (manager_ItemName manager_ItemNo manager_DeptName manager_wadeID)
IF EXISTS(select manager_wadeID from evw_qResult_EmpItemLeader where manager_wadeID=@p_EmpID) IF EXISTS(select manager_wadeID from evw_qResult_EmpItemLeader where manager_wadeID=@p_EmpID)
BEGIN BEGIN
...@@ -46,29 +53,16 @@ BEGIN ...@@ -46,29 +53,16 @@ BEGIN
--, case when c.Emp_LeaveDate<>'' OR LEFT(CAST(ISNULL(a.hiredate,'') as char(30)),10)<>'' THEN 1 ELSE 0 END IsEmpLeave, --, case when c.Emp_LeaveDate<>'' OR LEFT(CAST(ISNULL(a.hiredate,'') as char(30)),10)<>'' THEN 1 ELSE 0 END IsEmpLeave,
-- ISNULL((select value from dbo.[ufn_split](EmpCompTypeList,',') a where a.ID=1),'') as FirstEmpCompType -- ISNULL((select value from dbo.[ufn_split](EmpCompTypeList,',') a where a.ID=1),'') as FirstEmpCompType
from [dbo].evw_Employee a from [dbo].evw_Employee a
where where exists(select user_id from #tempfurther tb where a.user_id=tb.user_id)
a.Emp_Item like '專利%'-- 取專利工程師
And
(
(
(@QryEmpItem<>'' AND @QryEmpDS='' AND a.Emp_item =@QryEmpItem) OR (@QryEmpItem='ALL' AND 1=1) OR
(@QryEmpItem='' AND @QryEmpDS<>'' AND a.Emp_DS=@QryEmpDS ) OR (@QryEmpDS='ALL' AND 1=1) OR
(@QryEmpItem<>'' AND @QryEmpDS<>'' AND a.Emp_item=@QryEmpItem AND a.Emp_DS=@QryEmpDS) OR
(@QryEmpItem<>'ALL' AND @QryEmpDS='ALL' AND a.Emp_item =@QryEmpItem) OR
(@QryEmpItem='ALL' AND @QryEmpDS<>'ALL' AND a.Emp_DS=@QryEmpDS) OR
(@QryEmpItem='' AND @QryEmpDS='' AND a.user_id=@p_EmpID)
) OR ( @p_EmpShow='showAll')--增加 ShowAll權限 07-31
)
AND a.USER_NAME NOT IN ('0','55','56','69') -- 55=TP程序, 56=SH程序, 69=等待, 0=SZ程序
) )
-- 取得 員工data (因員工有多個部別, 所以先抓 DISTINCT Emp_ID資料) -- 取得 員工data (因員工有多個部別, 所以先抓 DISTINCT Emp_ID資料)
SELECT Emp_ID, Emp_Name, Emp_DS, Emp_DSNum, CASE WHEN Emp_Item='' THEN '未設部別' ELSE Emp_Item END as Emp_Item SELECT Emp_ID, Emp_Name, Emp_DS, Emp_DSNum, Emp_Item
,cast( (CASE WHEN Emp_Item='' THEN 'N' ELSE Emp_ItemNum END) as varchar(2)) as Emp_ItemNum ,cast( (CASE WHEN Emp_Item='' THEN 'N' ELSE Emp_ItemNum END) as varchar(2)) as Emp_ItemNum
, Emp_Sort, IsEmpLeave, FirstEmpCompType,user_id , Emp_Sort, IsEmpLeave, FirstEmpCompType,user_id
INTO #tmpEmp INTO #tmpEmp
FROM ( FROM (
select DISTINCT a.* select DISTINCT a.*
, case when a.job_status in('已離職') THEN 1 ELSE 0 END IsEmpLeave, --2020/09/07 , case when a.job_status in ('離職','已離職') THEN 1 ELSE 0 END IsEmpLeave,
ISNULL((select value from dbo.[ufn_split](EmpCompTypeList,',') a where a.ID=1),'') as FirstEmpCompType ISNULL((select value from dbo.[ufn_split](EmpCompTypeList,',') a where a.ID=1),'') as FirstEmpCompType
from tmpemp0 a from tmpemp0 a
left join left join
...@@ -82,6 +76,8 @@ BEGIN ...@@ -82,6 +76,8 @@ BEGIN
) b on a.Emp_ID=b.LoginID ) b on a.Emp_ID=b.LoginID
--inner join [evw_qResult_Emp] c on a.user_id=c.Wade_user_ID --inner join [evw_qResult_Emp] c on a.user_id=c.Wade_user_ID
) a ; ) a ;
print('2:'+convert(varchar(20),getdate(),126)) print('2:'+convert(varchar(20),getdate(),126))
-- 設定深圳所, 分為翼勝、紫藤 -- 設定深圳所, 分為翼勝、紫藤
update #tmpEmp SET Emp_DS=(CASE WHEN FirstEmpCompType='' THEN Emp_DS+'-未設定'ELSE Emp_DS+'-'+FirstEmpCompType END ), update #tmpEmp SET Emp_DS=(CASE WHEN FirstEmpCompType='' THEN Emp_DS+'-未設定'ELSE Emp_DS+'-'+FirstEmpCompType END ),
...@@ -91,7 +87,7 @@ BEGIN ...@@ -91,7 +87,7 @@ BEGIN
print('3:'+convert(varchar(20),getdate(),126)) print('3:'+convert(varchar(20),getdate(),126))
SELECT a.FinishedDate, SELECT a.FinishedDate,
b.Emp_ID as AssignedTo,a.AssignedTo_userid, b.Emp_ID as AssignedTo,a.AssignedTo_userid,
a.caseNO AS CaseNo , cast(a.sn as varchar(10)) as flowKey ,case when isnull(a.PointsType,'POINT')<>'MP' then ISNULL(points,0) else 0 end as points,convert(varchar(7),a.FinishedDate,126) as FH_YM a.caseNO AS CaseNo , cast(a.sn as varchar(10)) as flowKey ,case when isnull(a.PointsType,'POINT')<>'MP' then a.points else 0 end as points,convert(varchar(7),a.FinishedDate,126) as FH_YM
into #tmpTodos into #tmpTodos
FROM evw_esn_todos a FROM evw_esn_todos a
inner join #tmpEmp b on a.AssignedTo_userid=b.user_id inner join #tmpEmp b on a.AssignedTo_userid=b.user_id
...@@ -105,13 +101,13 @@ BEGIN ...@@ -105,13 +101,13 @@ BEGIN
print('5:'+convert(varchar(20),getdate(),126)) print('5:'+convert(varchar(20),getdate(),126))
SELECT points,FH_YM,a.Emp_ID, a.Emp_Name, a.Emp_DS, a.Emp_DSNum, a.Emp_Item, a.Emp_ItemNum, a.Emp_Sort, SELECT points,FH_YM,a.Emp_ID, a.Emp_Name, a.Emp_DS, a.Emp_DSNum, a.Emp_Item, a.Emp_ItemNum, a.Emp_Sort,
CASE WHEN FH_YM = @p_YM_1 THEN 1 ELSE 0 END as r01, CASE WHEN FH_YM = @p_YM_1 THEN points ELSE 0 END as p01, CASE WHEN FH_YM = @p_YM_2 THEN 1 ELSE 0 END as r02, CASE WHEN FH_YM = @p_YM_2 THEN points ELSE 0 END as p02, CASE WHEN FH_YM = @p_YM_1 THEN 1 ELSE 0 END as r01, CASE WHEN FH_YM = @p_YM_1 THEN ISNULL(points,0) ELSE 0 END as p01, CASE WHEN FH_YM = @p_YM_2 THEN 1 ELSE 0 END as r02, CASE WHEN FH_YM = @p_YM_2 THEN ISNULL(points,0) ELSE 0 END as p02,
CASE WHEN FH_YM = @p_YM_3 THEN 1 ELSE 0 END as r03, CASE WHEN FH_YM = @p_YM_3 THEN points ELSE 0 END as p03, CASE WHEN FH_YM = @p_YM_4 THEN 1 ELSE 0 END as r04, CASE WHEN FH_YM = @p_YM_4 THEN points ELSE 0 END as p04, CASE WHEN FH_YM = @p_YM_3 THEN 1 ELSE 0 END as r03, CASE WHEN FH_YM = @p_YM_3 THEN ISNULL(points,0) ELSE 0 END as p03, CASE WHEN FH_YM = @p_YM_4 THEN 1 ELSE 0 END as r04, CASE WHEN FH_YM = @p_YM_4 THEN ISNULL(points,0) ELSE 0 END as p04,
CASE WHEN FH_YM = @p_YM_5 THEN 1 ELSE 0 END as r05, CASE WHEN FH_YM = @p_YM_5 THEN points ELSE 0 END as p05, CASE WHEN FH_YM = @p_YM_6 THEN 1 ELSE 0 END as r06, CASE WHEN FH_YM = @p_YM_6 THEN points ELSE 0 END as p06, CASE WHEN FH_YM = @p_YM_5 THEN 1 ELSE 0 END as r05, CASE WHEN FH_YM = @p_YM_5 THEN ISNULL(points,0) ELSE 0 END as p05, CASE WHEN FH_YM = @p_YM_6 THEN 1 ELSE 0 END as r06, CASE WHEN FH_YM = @p_YM_6 THEN ISNULL(points,0) ELSE 0 END as p06,
CASE WHEN FH_YM = @p_YM_7 THEN 1 ELSE 0 END as r07, CASE WHEN FH_YM = @p_YM_7 THEN points ELSE 0 END as p07, CASE WHEN FH_YM = @p_YM_8 THEN 1 ELSE 0 END as r08, CASE WHEN FH_YM = @p_YM_8 THEN points ELSE 0 END as p08, CASE WHEN FH_YM = @p_YM_7 THEN 1 ELSE 0 END as r07, CASE WHEN FH_YM = @p_YM_7 THEN ISNULL(points,0) ELSE 0 END as p07, CASE WHEN FH_YM = @p_YM_8 THEN 1 ELSE 0 END as r08, CASE WHEN FH_YM = @p_YM_8 THEN ISNULL(points,0) ELSE 0 END as p08,
CASE WHEN FH_YM = @p_YM_9 THEN 1 ELSE 0 END as r09, CASE WHEN FH_YM = @p_YM_9 THEN points ELSE 0 END as p09, CASE WHEN FH_YM = @p_YM_10 THEN 1 ELSE 0 END as r10, CASE WHEN FH_YM = @p_YM_10 THEN points ELSE 0 END as p10, CASE WHEN FH_YM = @p_YM_9 THEN 1 ELSE 0 END as r09, CASE WHEN FH_YM = @p_YM_9 THEN ISNULL(points,0) ELSE 0 END as p09, CASE WHEN FH_YM = @p_YM_10 THEN 1 ELSE 0 END as r10, CASE WHEN FH_YM = @p_YM_10 THEN ISNULL(points,0) ELSE 0 END as p10,
CASE WHEN FH_YM = @p_YM_11 THEN 1 ELSE 0 END as r11, CASE WHEN FH_YM = @p_YM_11 THEN points ELSE 0 END as p11, CASE WHEN FH_YM = @p_YM_12 THEN 1 ELSE 0 END as r12, CASE WHEN FH_YM = @p_YM_12 THEN points ELSE 0 END as p12, CASE WHEN FH_YM = @p_YM_11 THEN 1 ELSE 0 END as r11, CASE WHEN FH_YM = @p_YM_11 THEN ISNULL(points,0) ELSE 0 END as p11, CASE WHEN FH_YM = @p_YM_12 THEN 1 ELSE 0 END as r12, CASE WHEN FH_YM = @p_YM_12 THEN ISNULL(points,0) ELSE 0 END as p12,
CASE WHEN b.FlowKey IS NULL THEN 0 ELSE 1 END as rTot, points as pTot, ISNULL(FlowKey,'') FlowKey, ISNULL(CaseNo,'') CaseNo CASE WHEN b.FlowKey IS NULL THEN 0 ELSE 1 END as rTot, ISNULL(points,0) as pTot, ISNULL(FlowKey,'') FlowKey, ISNULL(CaseNo,'') CaseNo
into #tmpAG into #tmpAG
FROM #tmpEmp a FROM #tmpEmp a
Inner join #tmpTodos b ON a.user_id = b.AssignedTo_userid Inner join #tmpTodos b ON a.user_id = b.AssignedTo_userid
...@@ -212,7 +208,8 @@ EXEC @return_value = [dbo].[rpt_PointFinish_YM] ...@@ -212,7 +208,8 @@ EXEC @return_value = [dbo].[rpt_PointFinish_YM]
@p_RptType = N'bypeople', @p_RptType = N'bypeople',
@p_EmpID = N'cb76971e-22d1-4f81-ade1-03c280f68cce', @p_EmpID = N'cb76971e-22d1-4f81-ade1-03c280f68cce',
@p_QryEmpItem = N'', @p_QryEmpItem = N'',
@p_EmpShow = N'showall' @p_EmpShow = N'showall',
@furtherSql ='select eemp.user_id from [dbo].[evw_Employee] eemp left join [dbo].[evw_qResult_EmpDS] eqeds on eemp.Emp_DS_TargetID=eqeds.id left join [dbo].evw_qResult_EmpItem eqeit on eemp.Emp_Item_TargetID=eqeit.id left join evw_qResult_Dept eqd on eqd.targetID=eemp.Emp_DeptNum '
SELECT 'Return Value' = @return_value SELECT 'Return Value' = @return_value
GO GO
......
declare declare
@p_YM_F VARCHAR(50)= N'2020-10', -- 區期年月起值 @p_YM_F VARCHAR(50)= N'2021-10', -- 區期年月起值
@p_YM_T VARCHAR(50)= N'2020-10', -- 區期年月迄值 @p_YM_T VARCHAR(50)= N'2021-10', -- 區期年月迄值
@p_RptType VARCHAR(50)= N'bypeople', -- 報表類別 byDS=依所別顯示, byItem=依部別顯示, byPeople=依承辦人顯示 @p_RptType VARCHAR(50)= N'bypeople', -- 報表類別 byDS=依所別顯示, byItem=依部別顯示, byPeople=依承辦人顯示
@p_EmpID VARCHAR(50)= N'cb76971e-22d1-4f81-ade1-03c280f68cce', -- 登入Wade ID @p_EmpID VARCHAR(50)= N'05a68aac-6158-4c5b-98e8-60b735c20479', -- 登入Wade ID
@p_QryEmpItem VARCHAR(50)= N'', -- 查詢部別 (空白=全部, 1=一部, 2=二部, 3=三部, 4=四部, 5=五部, 6=日文部, 7=韓文部) @p_QryEmpItem VARCHAR(50)= N'', -- 查詢部別 (空白=全部, 1=一部, 2=二部, 3=三部, 4=四部, 5=五部, 6=日文部, 7=韓文部)
@p_EmpShow VARCHAR(50)= N'showall' -- 顯示內容(主管看向下成員, 工程師看個人) ( showAll:顯示全部, showEmp:顯示各人) @p_EmpShow VARCHAR(50)= N'showall', -- 顯示內容(主管看向下成員, 工程師看個人) ( showAll:顯示全部, showEmp:顯示各人)
@furtherSql Nvarchar(max) ='select eemp.user_id from [dbo].[evw_Employee] eemp left join [dbo].[evw_qResult_EmpDS] eqeds on eemp.Emp_DS_TargetID=eqeds.id left join [dbo].evw_qResult_EmpItem eqeit on eemp.Emp_Item_TargetID=eqeit.id left join evw_qResult_Dept eqd on eqd.targetID=eemp.Emp_DeptNum '
IF OBJECT_ID('tempdb..#tmpEmp', 'U') IS NOT NULL DROP TABLE #tmpEmp IF OBJECT_ID('tempdb..#tmpEmp', 'U') IS NOT NULL DROP TABLE #tmpEmp
IF OBJECT_ID('tempdb..#tmpTodos', 'U') IS NOT NULL DROP TABLE #tmpTodos IF OBJECT_ID('tempdb..#tmpTodos', 'U') IS NOT NULL DROP TABLE #tmpTodos
IF OBJECT_ID('tempdb..#tmpAG', 'U') IS NOT NULL DROP TABLE #tmpAG IF OBJECT_ID('tempdb..#tmpAG', 'U') IS NOT NULL DROP TABLE #tmpAG
IF OBJECT_ID('tempdb..#TmpResult', 'U') IS NOT NULL DROP TABLE #TmpResult IF OBJECT_ID('tempdb..#TmpResult', 'U') IS NOT NULL DROP TABLE #TmpResult
IF OBJECT_ID('tempdb..#tempfurther', 'U') IS NOT NULL DROP TABLE #tempfurther
-- 點數完成統計表 -- 點數完成統計表
Declare @p_EmpItem varchar(1),@Emp_ItemNo varchar(50),@p_StartDate datetime,@p_EndDate datetime,@p_Emp_ID_USERID VARCHAR(50)=''; Declare @p_EmpItem varchar(1),@Emp_ItemNo varchar(50),@p_StartDate datetime,@p_EndDate datetime,@p_Emp_ID_USERID VARCHAR(50)='';
...@@ -35,64 +37,43 @@ declare ...@@ -35,64 +37,43 @@ declare
set @p_YM_12=LEFT(Convert(varchar(7),DATEADD(month,11,@p_StartDate) ,126),7); set @p_YM_12=LEFT(Convert(varchar(7),DATEADD(month,11,@p_StartDate) ,126),7);
print('1:'+convert(varchar(20),getdate(),126)) print('1:'+convert(varchar(20),getdate(),126))
--可視權限帶入
IF OBJECT_ID('tempdb..#tempfurther', 'U') IS NOT NULL DROP TABLE #tempfurther
CREATE TABLE #tempfurther(user_id varchar(100));
Insert into #tempfurther
exec sp_executesql @furtherSql
--取得各部主管及特殊權限 (manager_ItemName manager_ItemNo manager_DeptName manager_wadeID) --取得各部主管及特殊權限 (manager_ItemName manager_ItemNo manager_DeptName manager_wadeID)
IF EXISTS(select manager_wadeID from evw_qResult_EmpItemLeader where manager_wadeID=@p_EmpID) IF EXISTS(select manager_wadeID from evw_qResult_EmpItemLeader where manager_wadeID=@p_EmpID)
BEGIN BEGIN
SELECT @QryEmpItem= manager_EmpItem, @QryEmpDS=manager_DeptName from evw_qResult_EmpItemLeader where manager_wadeID=@p_EmpID SELECT @QryEmpItem= manager_EmpItem, @QryEmpDS=manager_DeptName from evw_qResult_EmpItemLeader where manager_wadeID=@p_EmpID
END END
print('1-1:'+convert(varchar(20),getdate(),126)) print('1-1:'+convert(varchar(20),getdate(),126))
;With tmpemp0 as( select DISTINCT a.USER_NAME AS Emp_ID,a.user_id, a.cn_name as Emp_Name, a.Emp_DS, a.Emp_DSNum, a.Emp_Item
select DISTINCT a.USER_NAME AS Emp_ID,a.user_id --, a.Emp_ItemNum
--, CASE WHEN Emp_ID like '12%' THEN Emp_DS2 ELSE Emp_Name END as Emp_Name ,'' as Emp_Sort,job_status
, a.cn_name as Emp_Name ,cast( (CASE WHEN Emp_Item='' THEN 'N' ELSE Emp_ItemNum END) as varchar(2)) as Emp_ItemNum
, a.Emp_DS, a.Emp_DSNum, a.Emp_Item, a.Emp_ItemNum --,ISNULL((select value from dbo.[ufn_split](EmpCompTypeList,',') a where a.ID=1),'') as FirstEmpCompType
,'' as Emp_Sort,job_status --2020/09/07 , case when a.job_status in ('離職','已離職') THEN 1 ELSE 0 END IsEmpLeave
--, case when c.Emp_LeaveDate<>'' OR LEFT(CAST(ISNULL(a.hiredate,'') as char(30)),10)<>'' THEN 1 ELSE 0 END IsEmpLeave, into #tmpEmp
-- ISNULL((select value from dbo.[ufn_split](EmpCompTypeList,',') a where a.ID=1),'') as FirstEmpCompType
from [dbo].evw_Employee a from [dbo].evw_Employee a
where -- left join
a.Emp_Item like '專利%'-- 取專利工程師 --(
And -- select LoginID,
( -- (STUFF ((SELECT distinct ',' + a.EmpCompType from evw_qresult_EmpEMail a where a.LoginID=b.LoginID FOR XML PATH('')), 1, 1, N''))
( -- as EmpCompTypeList
(@QryEmpItem<>'' AND @QryEmpDS='' AND a.Emp_item =@QryEmpItem) OR (@QryEmpItem='ALL' AND 1=1) OR -- --STRING_AGG(EmpCompType, ',')
(@QryEmpItem='' AND @QryEmpDS<>'' AND a.Emp_DS=@QryEmpDS ) OR (@QryEmpDS='ALL' AND 1=1) OR -- from evw_qresult_EmpEMail b
(@QryEmpItem<>'' AND @QryEmpDS<>'' AND a.Emp_item=@QryEmpItem AND a.Emp_DS=@QryEmpDS) OR -- group by LoginID
(@QryEmpItem<>'ALL' AND @QryEmpDS='ALL' AND a.Emp_item =@QryEmpItem) OR -- ) b on a.USER_NAME=b.LoginID
(@QryEmpItem='ALL' AND @QryEmpDS<>'ALL' AND a.Emp_DS=@QryEmpDS) OR where exists(select user_id from #tempfurther tb where a.user_id=tb.user_id)
(@QryEmpItem='' AND @QryEmpDS='' AND a.user_id=@p_EmpID)
) OR ( @p_EmpShow='showAll')--增加 ShowAll權限 07-31
)
AND a.USER_NAME NOT IN ('0','55','56','69') -- 55=TP程序, 56=SH程序, 69=等待, 0=SZ程序
)
-- 取得 員工data (因員工有多個部別, 所以先抓 DISTINCT Emp_ID資料)
SELECT Emp_ID, Emp_Name, Emp_DS, Emp_DSNum, CASE WHEN Emp_Item='' THEN '未設部別' ELSE Emp_Item END as Emp_Item
,cast( (CASE WHEN Emp_Item='' THEN 'N' ELSE Emp_ItemNum END) as varchar(2)) as Emp_ItemNum
, Emp_Sort, IsEmpLeave, FirstEmpCompType,user_id
INTO #tmpEmp
FROM (
select DISTINCT a.*
, case when a.job_status in('已離職') THEN 1 ELSE 0 END IsEmpLeave, --2020/09/07
ISNULL((select value from dbo.[ufn_split](EmpCompTypeList,',') a where a.ID=1),'') as FirstEmpCompType
from tmpemp0 a
left join
(
select LoginID,
(STUFF ((SELECT distinct ',' + a.EmpCompType from evw_qresult_EmpEMail a where a.LoginID=b.LoginID FOR XML PATH('')), 1, 1, N''))
as EmpCompTypeList
--STRING_AGG(EmpCompType, ',')
from evw_qresult_EmpEMail b
group by LoginID
) b on a.Emp_ID=b.LoginID
--inner join [evw_qResult_Emp] c on a.user_id=c.Wade_user_ID
) a ;
print('2:'+convert(varchar(20),getdate(),126)) print('2:'+convert(varchar(20),getdate(),126))
--return
-- 設定深圳所, 分為翼勝、紫藤 -- 設定深圳所, 分為翼勝、紫藤
update #tmpEmp SET Emp_DS=(CASE WHEN FirstEmpCompType='' THEN Emp_DS+'-未設定'ELSE Emp_DS+'-'+FirstEmpCompType END ), --update #tmpEmp SET Emp_DS=(CASE WHEN FirstEmpCompType='' THEN Emp_DS+'-未設定'ELSE Emp_DS+'-'+FirstEmpCompType END ),
Emp_DSNum=Emp_DSNum+(CASE FirstEmpCompType WHEN '翼勝' THEN 1 WHEN '紫藤' THEN 2 ELSE 3 END) -- Emp_DSNum=Emp_DSNum+(CASE FirstEmpCompType WHEN '翼勝' THEN 1 WHEN '紫藤' THEN 2 ELSE 3 END)
where Emp_DS='深圳所'; --where Emp_DS='深圳所';
-- 取得 TODOS Data -- 取得 TODOS Data
print('3:'+convert(varchar(20),getdate(),126)) print('3:'+convert(varchar(20),getdate(),126))
SELECT a.FinishedDate, SELECT a.FinishedDate,
...@@ -102,9 +83,8 @@ declare ...@@ -102,9 +83,8 @@ declare
FROM evw_esn_todos a FROM evw_esn_todos a
inner join #tmpEmp b on a.AssignedTo_userid=b.user_id inner join #tmpEmp b on a.AssignedTo_userid=b.user_id
Inner join p_proc_info c on a.proc_id=c.proc_id Inner join p_proc_info c on a.proc_id=c.proc_id
WHERE a.FinishedDate between @p_StartDate and @p_EndDate WHERE a.FinishedDate between @p_StartDate and @p_EndDate
--AND ISNULL(b.Emp_ID ,'')<>'' AND b.Emp_ID NOT IN ('0','55','56','69') -- 55=TP程序, 56=SH程序, 69=等待, 0=SZ程序
--AND ((b.user_id = @p_EmpID AND @p_EmpShow='showEmp') OR ( @p_EmpShow='showAll'))
; ;
print('4:'+convert(varchar(20),getdate(),126)) print('4:'+convert(varchar(20),getdate(),126))
...@@ -124,8 +104,6 @@ declare ...@@ -124,8 +104,6 @@ declare
WHERE (NOT ((Emp_Item='未設部別' OR IsEmpLeave=1 ) -- and ISNULL(b.FlowKey,'')='' WHERE (NOT ((Emp_Item='未設部別' OR IsEmpLeave=1 ) -- and ISNULL(b.FlowKey,'')=''
) ) ) )
; ;
select * from #tmpAG
where flowkey='774008'
print('6:'+convert(varchar(20),getdate(),126)) print('6:'+convert(varchar(20),getdate(),126))
--結果 --結果
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment