Project

General

Profile

Feature #3647 » CRPTBKTELWU.sql

Tri Rizqiaty, 06/11/2025 10:06 AM

 
1
??ALTER PROCEDURE [dbo].[CRPTBKTELWU]
2

3
(
4

5
	@Period VARCHAR(20)
6

7
	,@Organization VARCHAR(20)
8

9
	,@EmployeeID VARCHAR(20)
10

11
)
12

13
AS
14

15

16

17
--DECLARE @Period VARCHAR(20) = '2024'
18

19
--DECLARE @Organization VARCHAR(20) = '00000002'
20

21
--DECLARE @EmployeeID VARCHAR(20) = ''
22

23

24

25
DECLARE @now VARCHAR(20) = FORMAT(GETDATE(), 'yyyyMMdd')
26

27
DECLARE @PeiodeEnDt VARCHAR(20) = @Period + '1231'
28

29

30

31
IF(@Organization = '')
32

33
BEGIN SET @Organization = '00000001' END
34

35

36

37
DECLARE @t_org TABLE(
38

39
	org_id VARCHAR(20)
40

41
	,org_name VARCHAR(500)
42

43
	,diV_id VARCHAR(20)
44

45
	,div_name VARCHAR(500)
46

47
)
48

49
INSERT INTO @t_org
50

51
select org_id, org_name, org_id_04, org_name_04 from dbo.GetOrgInOrgWide(@Organization, @now)
52

53

54

55
DECLARE @t_emp TABLE
56

57
(
58

59
	EmployeeID VARCHAR(20)
60

61
	,EmployeeName VARCHAR(500)
62

63
	,DivID VARCHAR(20)
64

65
	,DivDesc VARCHAR(500)
66

67
	,Organization VARCHAR(20)
68

69
	,OrgDesc VARCHAR(500)
70

71
	,Position VARCHAR(20)
72

73
	,PosDesc VARCHAR(500)
74

75
	,Job VARCHAR(20)
76

77
	,JobDesc VARCHAR(500)
78

79
)
80

81

82

83
INSERT INTO @t_emp
84

85
SELECT pa2.EmployeeID, pa1.FullName, torg.diV_id, torg.div_name, pa2.Organization, torg.org_name, pa2.Position, pos.ObjectDescription, pa2.Job, job.ObjectDescription
86

87
FROM PHRPA0002 as pa2
88

89
INNER JOIN @t_org AS torg
90

91
	ON pa2.Organization = torg.org_id
92

93
LEFT JOIN PHRPA0001 AS pa1
94

95
	ON pa2.EmployeeID = pa1.EmployeeID
96

97
	AND pa1.StartDate <= @now AND pa1.EndDate >= @now
98

99
LEFT JOIN PHROM0001 AS pos
100

101
	ON pa2.Position = pos.ObjectID
102

103
	AND pos.ObjectClass = 'P'
104

105
	AND pos.StartDate <= @now AND pos.EndDate >= @now
106

107
LEFT JOIN PHROM0001 AS job
108

109
	ON pa2.Job = job.ObjectID
110

111
	AND job.ObjectClass = 'J'
112

113
	AND job.StartDate <= @now AND job.EndDate >= @now
114

115
WHERE pa2.StartDate <= @now AND pa2.EndDate >= @now 
116

117
	AND (pa2.EmployeeID = @EmployeeID OR @EmployeeID = '')
118

119

120

121
DECLARE @t_wf TABLE
122

123
(
124

125
	RegID VARCHAR(20)
126

127
	,BizFlowID VARCHAR(250)
128

129
	,TaskRunID VARCHAR(250)
130

131
	,EmployeeID VARCHAR(20)
132

133
)
134

135
INSERT INTO @t_wf
136

137
SELECT RegID, BizFlowID, TaskIDRun, ExecuteEmployeeID
138

139
FROM PCMWFRUNTASK as runtask
140

141
INNER JOIN @t_emp as temp
142

143
	ON runtask.ExecuteEmployeeID = temp.EmployeeID
144

145
WHERE TaskIDRun = 'create'
146

147
	--AND BizFlowID = 'MD_Leave_SJ'
148

149
	AND LEFT(InboundDate,4) = @Period
150

151
ORDER BY RegID ASC
152

153

154

155
SELECT temp.*, runtask.RegID, runtask.BizFlowID, runtask.Sequence, TaskIDRun, runtask.TaskStatus, runtask.ExecuteEmployeeID, pa1.FullName AS ExecuteEmpName
156

157
FROM PCMWFRUNTASK as runtask
158

159
INNER JOIN @t_wf as twf
160

161
	ON runtask.RegID = twf.RegID
162

163
LEFT JOIN PHRPA0001 AS pa1
164

165
	ON runtask.ExecuteEmployeeID = pa1.EmployeeID
166

167
	AND pa1.StartDate <= @now AND pa1.EndDate >= @now
168

169
LEFT JOIN @t_emp AS temp
170

171
	ON twf.EmployeeID = temp.EmployeeID
172

173
where (TaskIDRun IN ('create ','apv_ds', 'apv_nha') OR WorkFlowStatus = 'F')
174

175
ORDER BY runtask.RegID, runtask.BizFlowID, runtask.Sequence ASC
176

177

178

179
--SELECT temp.*, runtask.RegID, runtask.BizFlowID, runtask.Sequence, TaskIDRun, runtask.TaskStatus, runtask.ExecuteEmployeeID, pa1.FullName AS ExecuteEmpName
180

181
--FROM @t_emp AS temp
182

183
--LEFT JOIN @t_wf as twf
184

185
--	ON temp.EmployeeID = twf.EmployeeID
186

187
--LEFT JOIN PCMWFRUNTASK AS runtask
188

189
--	ON runtask.RegID = twf.RegID
190

191
--LEFT JOIN PHRPA0001 AS pa1
192

193
--	ON runtask.ExecuteEmployeeID = pa1.EmployeeID
194

195
--	AND pa1.StartDate <= @now AND pa1.EndDate >= @now
196

197
--where (TaskIDRun IN ('create ','apv_ds', 'apv_nha') OR WorkFlowStatus = 'F')
198

199
--ORDER BY runtask.RegID, runtask.BizFlowID, runtask.Sequence ASC
200

201

202

203
--SELECT * FROM PCMWFRUNTASK 
204

205
--WHERE LEFT(InboundDate,4) = @Period AND BizFlowID = 'MD_Leave_SJ'
206

207
----where TaskIDRun IN ('create ','apv_ds', 'apv_nha', 'Complate')
208

209
--order by RegID desc
(2-2/16)