1
|
USE [MinovaHR_ESS_Indomobil_Production]
|
2
|
GO
|
3
|
/****** Object: StoredProcedure [dbo].[Rpt_IMFI_HR_PA_ALL_EMPLOYEE] Script Date: 01/20/2021 11:15:18 ******/
|
4
|
SET ANSI_NULLS ON
|
5
|
GO
|
6
|
SET QUOTED_IDENTIFIER ON
|
7
|
GO
|
8
|
-- Batch submitted through debugger: SQLQuery3.sql|0|0|C:\Users\Administrator.IMFI\AppData\Local\Temp\2\~vsB54F.sql
|
9
|
--USE [MinovaHR_ESS_Indomobil_Production]
|
10
|
--GO
|
11
|
--/****** Object: StoredProcedure [dbo].[Rpt_IMFI_HR_PA_ALL_EMPLOYEE] Script Date: 28-11-2018 10:24:45 ******/
|
12
|
--SET ANSI_NULLS ON
|
13
|
--GO
|
14
|
--SET QUOTED_IDENTIFIER ON
|
15
|
--GO
|
16
|
ALTER PROCEDURE [dbo].[Rpt_IMFI_HR_PA_ALL_EMPLOYEE]
|
17
|
(
|
18
|
@landscape VARCHAR(3) ,
|
19
|
@companycode VARCHAR(5) ,
|
20
|
@emp_status VARCHAR(5) ,
|
21
|
@emp_type VARCHAR(5) ,
|
22
|
@emp_area VARCHAR(5) ,
|
23
|
@emp_office VARCHAR(5) ,
|
24
|
@pay_group VARCHAR(2)
|
25
|
)
|
26
|
AS
|
27
|
|
28
|
--DECLARE @landscape VARCHAR(3) = '100'
|
29
|
--DECLARE @companycode VARCHAR(5) = '1000'
|
30
|
--DECLARE @emp_status VARCHAR(5) = ''
|
31
|
--DECLARE @emp_type VARCHAR(5)= ''
|
32
|
--DECLARE @emp_area VARCHAR(5)= ''
|
33
|
--DECLARE @emp_office VARCHAR(5) = ''
|
34
|
--DECLARE @pay_group VARCHAR(2) = ''
|
35
|
|
36
|
|
37
|
DECLARE @now VARCHAR(12) = dbo.fn_formatdatetime(GETDATE(), 'yyyymmdd')
|
38
|
--DECLARE @now VARCHAR(12) = '20150901'
|
39
|
|
40
|
DECLARE @tbl_3 TABLE
|
41
|
(
|
42
|
emp_id VARCHAR(8) ,
|
43
|
edu_level VARCHAR(8) ,
|
44
|
major VARCHAR(60) ,
|
45
|
institution VARCHAR(200) ,
|
46
|
gpa VARCHAR(8) ,
|
47
|
edu_level_desc VARCHAR(200) ,
|
48
|
edu_start VARCHAR(8)
|
49
|
)
|
50
|
|
51
|
--INSERT INTO @tbl_3
|
52
|
-- SELECT a.* ,
|
53
|
-- edu_level.description
|
54
|
-- FROM ( SELECT emp_id ,
|
55
|
-- MAX(edu_level) AS edu_level ,
|
56
|
-- major ,
|
57
|
-- institution ,
|
58
|
-- CONVERT(DECIMAL(18, 2), gpa) AS gpa,
|
59
|
-- MAX (start_date) AS edu_start
|
60
|
-- FROM dbo.hr_md_emp_md0008 AS md08
|
61
|
-- GROUP BY emp_id ,
|
62
|
-- major ,
|
63
|
-- institution ,
|
64
|
-- gpa
|
65
|
-- ) AS a
|
66
|
-- LEFT JOIN base_cust_ref_edu_level AS edu_level ON a.edu_level = edu_level.code
|
67
|
INSERT INTO @tbl_3
|
68
|
-- SELECT TOP(1)
|
69
|
select emp_id ,
|
70
|
-- start_date,
|
71
|
--edu_type,
|
72
|
edu_level ,
|
73
|
major ,
|
74
|
institution ,
|
75
|
gpa ,
|
76
|
edu_level.description ,
|
77
|
start_date
|
78
|
FROM dbo.hr_md_emp_md0008 AS edu
|
79
|
LEFT JOIN base_cust_ref_edu_level AS edu_level ON edu.edu_level = edu_level.code
|
80
|
WHERE end_date = ( SELECT MAX(end_date)
|
81
|
FROM dbo.hr_md_emp_md0008 AS x
|
82
|
WHERE x.emp_id = edu.emp_id AND x.edu_type='F'
|
83
|
)
|
84
|
|
85
|
|
86
|
--AND edu.emp_id = '20110003'
|
87
|
ORDER BY edu.seq DESC
|
88
|
|
89
|
|
90
|
DECLARE @tbl_1 TABLE
|
91
|
(
|
92
|
level1 VARCHAR(8) ,
|
93
|
level1_desc VARCHAR(200) ,
|
94
|
level2 VARCHAR(8) ,
|
95
|
level2_desc VARCHAR(200) ,
|
96
|
level3 VARCHAR(8) ,
|
97
|
level3_desc VARCHAR(200) ,
|
98
|
level4 VARCHAR(8) ,
|
99
|
level4_desc VARCHAR(200) ,
|
100
|
level5 VARCHAR(8) ,
|
101
|
level5_desc VARCHAR(200) ,
|
102
|
level6 VARCHAR(8) ,
|
103
|
level6_desc VARCHAR(200) ,
|
104
|
level7 VARCHAR(8) ,
|
105
|
level7_desc VARCHAR(200) ,
|
106
|
level8 VARCHAR(8) ,
|
107
|
level8_desc VARCHAR(200) ,
|
108
|
emp_id VARCHAR(8)
|
109
|
)
|
110
|
|
111
|
|
112
|
INSERT INTO @tbl_1
|
113
|
SELECT DISTINCT
|
114
|
a.org_id_01 ,
|
115
|
a.org_name_01 ,
|
116
|
a.org_id_02 ,
|
117
|
a.org_name_02 ,
|
118
|
a.org_id_03 ,
|
119
|
a.org_name_03 ,
|
120
|
a.org_id_04 ,
|
121
|
a.org_name_04 ,
|
122
|
a.org_id_05 ,
|
123
|
a.org_name_05 ,
|
124
|
a.org_id_06 ,
|
125
|
a.org_name_06 ,
|
126
|
a.org_id_07 ,
|
127
|
a.org_name_07 ,
|
128
|
a.org_id_08 ,
|
129
|
a.org_name_08 ,
|
130
|
md2.emp_id
|
131
|
FROM dbo.GetOrgInOrgWide('00000001', @now, @landscape) AS a
|
132
|
INNER JOIN dbo.hr_md_emp_md0002 AS md2 ON a.org_id = md2.organization
|
133
|
AND md2.start_date <= @now
|
134
|
AND md2.end_date >= @now
|
135
|
|
136
|
DECLARE @tbl_2 TABLE
|
137
|
(
|
138
|
emp_id VARCHAR(8) ,
|
139
|
movement_type VARCHAR(2) ,
|
140
|
jumlah DECIMAL(18, 0)
|
141
|
)
|
142
|
|
143
|
INSERT INTO @tbl_2
|
144
|
SELECT DISTINCT
|
145
|
emp_id ,
|
146
|
movement_type ,
|
147
|
COUNT(start_date)
|
148
|
FROM dbo.hr_md_emp_md0002 WITH ( NOLOCK )
|
149
|
WHERE movement_type = '60'
|
150
|
GROUP BY emp_id ,
|
151
|
movement_type
|
152
|
|
153
|
DECLARE @tbl_md2_last TABLE
|
154
|
(
|
155
|
landscape VARCHAR(3) ,
|
156
|
emp_id VARCHAR(8) ,
|
157
|
start_date VARCHAR(8) ,
|
158
|
end_date VARCHAR(8) ,
|
159
|
movement_type VARCHAR(8) ,
|
160
|
reason VARCHAR(2) ,
|
161
|
company_id VARCHAR(4) ,
|
162
|
costcenter VARCHAR(8) ,
|
163
|
employee_area VARCHAR(20) ,
|
164
|
employee_office VARCHAR(4) ,
|
165
|
employee_status VARCHAR(2) ,
|
166
|
employee_type VARCHAR(20) ,
|
167
|
employee_subtype VARCHAR(20) ,
|
168
|
tax_office VARCHAR(5) ,
|
169
|
payroll_group VARCHAR(2) ,
|
170
|
organization VARCHAR(8) ,
|
171
|
position VARCHAR(8) ,
|
172
|
job VARCHAR(8) ,
|
173
|
remark VARCHAR(MAX) ,
|
174
|
additional_1 VARCHAR(8) ,
|
175
|
datedifff VARCHAR(MAX)
|
176
|
)
|
177
|
|
178
|
INSERT INTO @tbl_md2_last
|
179
|
SELECT tbl2.* ,
|
180
|
'' as datedifff
|
181
|
FROM ( SELECT landscape ,
|
182
|
emp_id ,
|
183
|
start_date ,
|
184
|
end_date ,
|
185
|
movement_type ,
|
186
|
reason ,
|
187
|
company_id ,
|
188
|
costcenter ,
|
189
|
employee_area ,
|
190
|
employee_office ,
|
191
|
employee_status ,
|
192
|
employee_type ,
|
193
|
employee_subtype ,
|
194
|
tax_office ,
|
195
|
payroll_group ,
|
196
|
organization ,
|
197
|
position ,
|
198
|
job ,
|
199
|
remark ,
|
200
|
CASE WHEN ISNULL(additional_1, '') = ''
|
201
|
THEN start_date
|
202
|
ELSE additional_1
|
203
|
END AS realDate
|
204
|
FROM dbo.hr_md_emp_md0002 WITH ( NOLOCK )
|
205
|
) AS tbl2
|
206
|
|
207
|
SELECT DISTINCT
|
208
|
md01.emp_id ,
|
209
|
md01.full_name ,
|
210
|
md02_last.company_id ,
|
211
|
CONVERT(DATE, md02_hiring.start_date) AS join_date ,
|
212
|
CASE WHEN md02_last.movement_type = '20' THEN
|
213
|
--CONVERT(DATE, md02_appointment.start_date) --AS permanent_date ,
|
214
|
CONVERT(DATE, md02_last.start_date)
|
215
|
ELSE ( SELECT CONVERT(DATE, date)
|
216
|
FROM hr_md_emp_md0039
|
217
|
WHERE date_type = '04'
|
218
|
AND emp_id = md02_last.emp_id
|
219
|
)
|
220
|
END permanent_date ,
|
221
|
CONVERT(DATE, md39_group.date) AS join_group ,
|
222
|
mov_type_last.description AS effective_type_status ,
|
223
|
CONVERT(DATE, md02_last.start_date) AS effective_date ,
|
224
|
CONVERT(DATE, md02_last.additional_1) AS real_date ,
|
225
|
md02_last.employee_status ,
|
226
|
emp_status_last.description AS emp_status ,
|
227
|
CONVERT(DATE, md02_resign.start_date) AS resign_date ,
|
228
|
emp_type_last.description AS employee_type ,
|
229
|
CASE WHEN ( md39_contract.date >= @now )
|
230
|
THEN CONVERT(DATE, md39_contract.date)
|
231
|
ELSE NULL
|
232
|
END expired_status ,
|
233
|
tbl_2.jumlah AS contract_extent ,
|
234
|
ws_type.description AS workschedule_type ,
|
235
|
md03.tax_status ,
|
236
|
md02_last.employee_area AS area_code ,
|
237
|
emp_area_last.description AS area_desc ,
|
238
|
md02_last.employee_office AS office_code ,
|
239
|
emp_office_last.emp_subarea_description AS office_desc ,
|
240
|
md02_last.payroll_group AS payroll_group_id ,
|
241
|
payroll_group_last.description AS payroll_group ,
|
242
|
emp_sub_type_desc.description AS employee_subtype ,
|
243
|
tbl_1.level1 ,
|
244
|
tbl_1.level1_desc ,
|
245
|
tbl_1.level2 ,
|
246
|
tbl_1.level2_desc ,
|
247
|
--tbl_1.level3 ,
|
248
|
--tbl_1.level3_desc ,
|
249
|
tbl_1.level4 ,
|
250
|
tbl_1.level4_desc ,
|
251
|
tbl_1.level5 ,
|
252
|
tbl_1.level5_desc ,
|
253
|
--tbl_1.level6 ,
|
254
|
--tbl_1.level6_desc ,
|
255
|
--tbl_1.level7 ,
|
256
|
--tbl_1.level7_desc ,
|
257
|
tbl_1.level8 ,
|
258
|
tbl_1.level8_desc ,
|
259
|
md02_last.costcenter AS cc_code ,
|
260
|
cc.description AS cc_desc ,
|
261
|
md02_last.position AS pos_code ,
|
262
|
p.description AS pos_desc ,
|
263
|
--md02_last.job AS job_code ,
|
264
|
--j.description AS job_desc ,
|
265
|
pay_grade.description AS pay_grade ,
|
266
|
md01.nick_name ,
|
267
|
gender.description AS gender ,
|
268
|
md01.birth_place ,
|
269
|
CONVERT (DATE, md01.birth_date) AS birth_date ,
|
270
|
md06_resident.street ,
|
271
|
( SELECT description
|
272
|
FROM base_cust_ref_province
|
273
|
WHERE code = md06_resident.province
|
274
|
) AS province ,
|
275
|
md06_resident.location ,
|
276
|
md06_resident.postalcode ,
|
277
|
md06_resident.telp_num ,
|
278
|
md12_hp.comm_description AS cellphone ,
|
279
|
md12_email.comm_description AS email ,
|
280
|
religion.description AS religion ,
|
281
|
marital_status.description AS marital_status ,
|
282
|
md11.blood_type ,
|
283
|
md13_ktp.id_description AS id ,
|
284
|
CONVERT(DATE, md13_ktp.end_date) AS ktp_expired ,
|
285
|
md06_ktp.street AS ktp_address ,
|
286
|
( SELECT description
|
287
|
FROM base_cust_ref_province
|
288
|
WHERE code = md06_ktp.province
|
289
|
) AS ktp_province ,
|
290
|
md06_ktp.postalcode AS ktp_postalcode ,
|
291
|
( SELECT description
|
292
|
FROM base_cust_ref_id_type
|
293
|
WHERE code = md13_a.id_type
|
294
|
) AS id_a ,
|
295
|
md13_a.id_description AS id_a_no ,
|
296
|
CONVERT(DATE, md13_a.end_date) AS id_a_expired ,
|
297
|
( SELECT description
|
298
|
FROM base_cust_ref_id_type
|
299
|
WHERE code = md13_b.id_type
|
300
|
) AS id_b ,
|
301
|
md13_b.id_description AS id_b_no ,
|
302
|
CONVERT(DATE, md13_b.end_date) AS id_b_expired ,
|
303
|
( SELECT description
|
304
|
FROM base_cust_ref_id_type
|
305
|
WHERE code = md13_c.id_type
|
306
|
) AS id_c ,
|
307
|
md13_c.id_description AS id_c_no ,
|
308
|
CONVERT(DATE, md13_c.end_date) AS id_c_expired ,
|
309
|
md13_passport.id_description AS id_password_no ,
|
310
|
CONVERT(DATE, md13_passport.end_date) AS id_password_expired ,
|
311
|
md06_cp.contact_person AS cp_name ,
|
312
|
md06_cp.street AS cp_address ,
|
313
|
md06_cp.telp_num AS cp_tlp ,
|
314
|
md06_cp.cellphone_num AS cp_cell ,
|
315
|
md03.npwp ,
|
316
|
CASE WHEN md03.npwp_date = '' THEN ''
|
317
|
ELSE dbo.fn_formatdatetime(md03.npwp_date, 'dd mmm yyyy')
|
318
|
END AS npwp_date ,
|
319
|
md03.jamsostek_type ,
|
320
|
jams_type.description AS jams_type ,
|
321
|
md03.jamsostek ,
|
322
|
CASE WHEN md03.additional_1 = '' THEN ''
|
323
|
ELSE dbo.fn_formatdatetime(md03.additional_1, 'dd mmm yyyy')
|
324
|
END AS additional_1 ,
|
325
|
pension_type.description AS pension_type ,
|
326
|
md03.pension_id ,
|
327
|
CASE WHEN md03.additional_2 = '' THEN ''
|
328
|
ELSE dbo.fn_formatdatetime(md03.additional_2, 'dd mmm yyyy')
|
329
|
END AS additional_2 ,
|
330
|
cust_bank_id.description AS bank_id ,
|
331
|
md03.bank_account ,
|
332
|
md03.bank_account_name ,
|
333
|
tbl_3.edu_level_desc ,
|
334
|
tbl_3.major ,
|
335
|
tbl_3.institution ,
|
336
|
tbl_3.gpa ,
|
337
|
md02_last.remark
|
338
|
/* ---------------------------Tidak ditampilkan direport(#Data jadi double)--------------------------
|
339
|
CASE WHEN ISNULL(gapok.amount, '') = '' THEN 0
|
340
|
ELSE CONVERT(DECIMAL, dbo.GetPEN(@landscape, gapok.amount))
|
341
|
END amount_gapok ,
|
342
|
CASE WHEN ( SELECT valuation
|
343
|
FROM hr_cu0300
|
344
|
WHERE code = makan.wage_type
|
345
|
) = 'I2' THEN ( SELECT amount
|
346
|
FROM hr_cu0304
|
347
|
WHERE start_date <= @now
|
348
|
AND end_date >= @now
|
349
|
AND wage_type = makan.wage_type
|
350
|
AND ( pay_grade = md03.pay_grade
|
351
|
OR pay_grade = '*'
|
352
|
)
|
353
|
AND ( pay_class = md03.pay_class
|
354
|
OR pay_class = '*'
|
355
|
)
|
356
|
AND ( pay_area = md03.pay_area
|
357
|
OR pay_area = '*'
|
358
|
)
|
359
|
)
|
360
|
ELSE ( CASE WHEN ISNULL(makan.amount, '') = '' THEN 0
|
361
|
ELSE CONVERT(DECIMAL, dbo.GetPEN(@landscape,
|
362
|
makan.amount))
|
363
|
END )
|
364
|
END amount_makan ,
|
365
|
CASE WHEN ( SELECT valuation
|
366
|
FROM hr_cu0300
|
367
|
WHERE code = ttp.wage_type
|
368
|
) = 'I2' THEN ( SELECT amount
|
369
|
FROM hr_cu0304
|
370
|
WHERE start_date <= @now
|
371
|
AND end_date >= @now
|
372
|
AND wage_type = ttp.wage_type
|
373
|
AND ( pay_grade = md03.pay_grade
|
374
|
OR pay_grade = '*'
|
375
|
)
|
376
|
AND ( pay_class = md03.pay_class
|
377
|
OR pay_class = '*'
|
378
|
)
|
379
|
AND ( pay_area = md03.pay_area
|
380
|
OR pay_area = '*'
|
381
|
)
|
382
|
)
|
383
|
ELSE ( CASE WHEN ISNULL(ttp.amount, '') = '' THEN 0
|
384
|
ELSE CONVERT(DECIMAL, dbo.GetPEN(@landscape,
|
385
|
ttp.amount))
|
386
|
END )
|
387
|
END amount_transport ,
|
388
|
CASE WHEN ( SELECT valuation
|
389
|
FROM hr_cu0300
|
390
|
WHERE code = hp.wage_type
|
391
|
) = 'I2' THEN ( SELECT amount
|
392
|
FROM hr_cu0304
|
393
|
WHERE start_date <= @now
|
394
|
AND end_date >= @now
|
395
|
AND wage_type = hp.wage_type
|
396
|
AND ( pay_grade = md03.pay_grade
|
397
|
OR pay_grade = '*'
|
398
|
)
|
399
|
AND ( pay_class = md03.pay_class
|
400
|
OR pay_class = '*'
|
401
|
)
|
402
|
AND ( pay_area = md03.pay_area
|
403
|
OR pay_area = '*'
|
404
|
)
|
405
|
)
|
406
|
ELSE ( SELECT amount
|
407
|
FROM hr_cu0303
|
408
|
WHERE start_date <= @now
|
409
|
AND end_date >= @now
|
410
|
AND wage_type = hp.wage_type
|
411
|
)
|
412
|
END amount_hp,
|
413
|
CASE WHEN ( SELECT valuation
|
414
|
FROM hr_cu0300
|
415
|
WHERE code = tj.wage_type
|
416
|
) = 'I2' THEN ( SELECT amount
|
417
|
FROM hr_cu0304
|
418
|
WHERE start_date <= @now
|
419
|
AND end_date >= @now
|
420
|
AND wage_type = tj.wage_type
|
421
|
AND ( pay_grade = md03.pay_grade
|
422
|
OR pay_grade = '*'
|
423
|
)
|
424
|
AND ( pay_class = md03.pay_class
|
425
|
OR pay_class = '*'
|
426
|
)
|
427
|
AND ( pay_area = md03.pay_area
|
428
|
OR pay_area = '*'
|
429
|
)
|
430
|
)
|
431
|
ELSE ( SELECT amount
|
432
|
FROM hr_cu0303
|
433
|
WHERE start_date <= @now
|
434
|
AND end_date >= @now
|
435
|
AND wage_type = tj.wage_type
|
436
|
)
|
437
|
END amount_jabatan
|
438
|
*/ ------------------- Hamidi 20170209 ---------------------------------
|
439
|
FROM dbo.hr_md_emp_md0001 md01 --@tbl_personal AS md01
|
440
|
LEFT JOIN base_cust_ref_gender AS gender ON md01.gender = gender.code
|
441
|
LEFT JOIN base_cust_ref_religion AS religion ON md01.religion = religion.code
|
442
|
LEFT JOIN base_cust_ref_marital_status AS marital_status ON md01.marital_status = marital_status.code
|
443
|
LEFT JOIN hr_md_emp_md0002 AS md02_hiring ON md01.emp_id = md02_hiring.emp_id -- Hiring Date
|
444
|
AND md02_hiring.movement_type = '10'
|
445
|
LEFT JOIN @tbl_md2_last AS md02_last ON md01.emp_id = md02_last.emp_id
|
446
|
AND md02_last.start_date <= @now -- Last Assignment dirubah
|
447
|
AND md02_last.end_date >= @now
|
448
|
AND md02_last.payroll_group <> '99'
|
449
|
AND md02_last.datedifff = ( SELECT
|
450
|
MIN(tbl_last.datedifff)
|
451
|
FROM
|
452
|
@tbl_md2_last tbl_last
|
453
|
WHERE
|
454
|
tbl_last.start_date <= @now --dirubah
|
455
|
AND tbl_last.end_date >= @now
|
456
|
AND tbl_last.payroll_group <> '99'
|
457
|
AND md01.emp_id = tbl_last.emp_id
|
458
|
)
|
459
|
LEFT JOIN base_cust_ref_mov_type AS mov_type_last ON md02_last.movement_type = mov_type_last.code
|
460
|
LEFT JOIN base_cust_ref_emp_type AS emp_type_last ON md02_last.employee_type = emp_type_last.emp_type
|
461
|
LEFT JOIN base_cust_ref_emp_area AS emp_area_last ON md02_last.employee_area = emp_area_last.emp_area
|
462
|
LEFT JOIN base_cust_ref_emp_office AS emp_office_last ON md02_last.employee_office = emp_office_last.emp_subarea
|
463
|
LEFT JOIN base_cust_ref_payroll_group AS payroll_group_last ON md02_last.payroll_group = payroll_group_last.payroll_group
|
464
|
LEFT JOIN base_cust_ref_emp_status AS emp_status_last ON md02_last.employee_status = emp_status_last.emp_status
|
465
|
LEFT JOIN base_cust_ref_emp_subtype AS emp_sub_type_desc ON md02_last.employee_subtype = emp_sub_type_desc.emp_subtype
|
466
|
LEFT OUTER JOIN hr_md_orm_object cc ON cc.landscape = @landscape
|
467
|
AND cc.start_date <= @now
|
468
|
AND cc.end_date >= @now
|
469
|
AND md02_last.costcenter = cc.object
|
470
|
AND cc.class = 'CC'
|
471
|
LEFT OUTER JOIN hr_md_orm_object o ON o.landscape = @landscape
|
472
|
AND o.start_date <= @now
|
473
|
AND o.end_date >= @now
|
474
|
AND md02_last.organization = o.object
|
475
|
AND o.class = 'O'
|
476
|
LEFT OUTER JOIN hr_md_orm_object p ON p.landscape = @landscape
|
477
|
AND p.start_date <= @now
|
478
|
AND p.end_date >= @now
|
479
|
AND md02_last.position = p.object
|
480
|
--AND md02_last.payroll_group <> '99'
|
481
|
AND p.class = 'P'
|
482
|
LEFT OUTER JOIN hr_md_orm_object j ON j.landscape = @landscape
|
483
|
AND j.start_date <= @now
|
484
|
AND j.end_date >= @now
|
485
|
AND md02_last.job = j.object
|
486
|
AND j.class = 'J'
|
487
|
LEFT JOIN hr_md_emp_md0039 AS md39_group ON md01.emp_id = md39_group.emp_id -- Date Spesification, Join Date Group
|
488
|
AND md39_group.date_type = '10'
|
489
|
AND md39_group.start_date <= @now
|
490
|
AND md39_group.end_date >= @now
|
491
|
LEFT JOIN hr_md_emp_md0002 AS md02_resign ON md01.emp_id = md02_resign.emp_id -- Resign
|
492
|
AND md02_resign.movement_type = '80'
|
493
|
--AND md02_resign.end_date = '99991231'
|
494
|
LEFT JOIN hr_md_emp_md0002 AS md02_contract ON md01.emp_id = md02_contract.emp_id
|
495
|
AND md02_contract.movement_type = '60'
|
496
|
LEFT JOIN hr_md_emp_md0039 AS md39_contract ON md01.emp_id = md39_contract.emp_id -- Date Spesification, expired contract dengan code 02
|
497
|
AND md39_contract.date_type = '02'
|
498
|
AND md39_contract.seq = ( SELECT
|
499
|
MAX(md39_contracte.seq)
|
500
|
FROM
|
501
|
hr_md_emp_md0039 md39_contracte
|
502
|
WHERE
|
503
|
md39_contracte.emp_id = md39_contract.emp_id
|
504
|
AND md39_contracte.date_type = '02'
|
505
|
)
|
506
|
--LEFT JOIN hr_md_emp_md0002 AS md02_appointment ON md01.emp_id = md02_appointment.emp_id -- Appointment
|
507
|
-- AND md02_appointment.movement_type = '20'
|
508
|
LEFT JOIN hr_md_emp_md0025 AS md25 ON md01.emp_id = md25.emp_id -- Working Schedule
|
509
|
AND md25.start_date <= @now
|
510
|
AND md25.end_date >= @now
|
511
|
LEFT JOIN hr_tm_workschedule_type AS ws_type ON md25.ws_type = ws_type.workschedule_type
|
512
|
LEFT JOIN hr_md_emp_md0003 AS md03 ON md01.emp_id = md03.emp_id --Payroll Basic
|
513
|
AND md03.start_date <= @now
|
514
|
AND md03.end_date >= @now
|
515
|
LEFT JOIN base_cust_ref_jamsostek_type AS jams_type ON md03.jamsostek_type = jams_type.code
|
516
|
LEFT JOIN base_cust_ref_pension_type AS pension_type ON md03.pension_type = pension_type.code
|
517
|
LEFT JOIN base_cust_ref_bankid AS cust_bank_id ON md03.bank_id = cust_bank_id.code
|
518
|
LEFT JOIN base_cust_ref_pay_grade AS pay_grade ON md03.pay_grade = pay_grade.pay_grade
|
519
|
LEFT JOIN hr_md_emp_md0006 AS md06_resident ON md01.emp_id = md06_resident.emp_id
|
520
|
AND md06_resident.address_type = '02'
|
521
|
--AND md06_resident.end_date = '99991231'
|
522
|
AND md06_resident.start_date <= @now
|
523
|
AND md06_resident.end_date >= @now
|
524
|
AND md06_resident.seq = ( SELECT
|
525
|
MAX(md06_st.seq)
|
526
|
FROM
|
527
|
hr_md_emp_md0006 md06_st
|
528
|
WHERE
|
529
|
md06_st.address_type = '02'
|
530
|
AND md06_st.emp_id = md06_resident.emp_id
|
531
|
)
|
532
|
LEFT JOIN hr_md_emp_md0012 AS md12_hp ON md01.emp_id = md12_hp.emp_id
|
533
|
AND md12_hp.comm_type = '02'
|
534
|
AND md12_hp.seq = ( SELECT
|
535
|
MAX(md12_st.seq)
|
536
|
FROM
|
537
|
hr_md_emp_md0012 md12_st
|
538
|
WHERE
|
539
|
md12_st.emp_id = md12_hp.emp_id
|
540
|
AND md12_st.comm_type = '02'
|
541
|
)
|
542
|
LEFT JOIN hr_md_emp_md0012 AS md12_email ON md01.emp_id = md12_email.emp_id
|
543
|
AND md12_email.comm_type = '04'
|
544
|
AND md12_email.seq = ( SELECT
|
545
|
MAX(md12e_st.seq)
|
546
|
FROM
|
547
|
hr_md_emp_md0012 md12e_st
|
548
|
WHERE
|
549
|
md12e_st.emp_id = md12_email.emp_id
|
550
|
AND md12e_st.comm_type = '04'
|
551
|
)
|
552
|
LEFT JOIN hr_md_emp_md0011 AS md11 ON md01.emp_id = md11.emp_id
|
553
|
LEFT JOIN hr_md_emp_md0013 AS md13_ktp ON md01.emp_id = md13_ktp.emp_id
|
554
|
AND md13_ktp.id_type = '01'
|
555
|
AND md13_ktp.seq = ( SELECT
|
556
|
MAX(md13_ktpe.seq)
|
557
|
FROM
|
558
|
hr_md_emp_md0013 md13_ktpe
|
559
|
WHERE
|
560
|
md13_ktpe.emp_id = md13_ktp.emp_id
|
561
|
AND md13_ktpe.id_type = '01'
|
562
|
)
|
563
|
LEFT JOIN hr_md_emp_md0013 AS md13_a ON md01.emp_id = md13_a.emp_id
|
564
|
AND md13_a.id_type = '03'
|
565
|
LEFT JOIN hr_md_emp_md0013 AS md13_b ON md01.emp_id = md13_b.emp_id
|
566
|
AND md13_b.id_type = '04'
|
567
|
LEFT JOIN hr_md_emp_md0013 AS md13_c ON md01.emp_id = md13_c.emp_id
|
568
|
AND md13_c.id_type = '05'
|
569
|
LEFT JOIN hr_md_emp_md0013 AS md13_passport ON md01.emp_id = md13_passport.emp_id
|
570
|
AND md13_passport.id_type = '02'
|
571
|
LEFT JOIN hr_md_emp_md0006 AS md06_ktp ON md01.emp_id = md06_ktp.emp_id
|
572
|
AND md06_ktp.address_type = '01'
|
573
|
AND md06_ktp.start_date <= @now
|
574
|
AND md06_ktp.end_date >= @now
|
575
|
--AND md06_ktp.end_date = '99991231'
|
576
|
--AND md06_ktp.seq = ( SELECT
|
577
|
-- MAX(md6_st.seq)
|
578
|
-- FROM
|
579
|
-- hr_md_emp_md0006 md6_st
|
580
|
-- WHERE
|
581
|
-- md6_st.address_type = '01'
|
582
|
-- AND md6_st.emp_id = md06_ktp.emp_id
|
583
|
-- )
|
584
|
LEFT JOIN hr_md_emp_md0006 AS md06_cp ON md01.emp_id = md06_cp.emp_id
|
585
|
AND md06_cp.address_type = '04'
|
586
|
AND md06_cp.start_date <= @now
|
587
|
AND md06_cp.end_date >= @now
|
588
|
AND md06_cp.seq = ( SELECT
|
589
|
MAX(md6_st.seq)
|
590
|
FROM
|
591
|
hr_md_emp_md0006 md6_st
|
592
|
WHERE
|
593
|
md6_st.address_type = '04'
|
594
|
AND md6_st.emp_id = md06_cp.emp_id
|
595
|
)
|
596
|
INNER JOIN hr_md_emp_md0015 AS md15 ON md01.emp_id = md15.emp_id
|
597
|
LEFT JOIN @tbl_1 AS tbl_1 ON md01.emp_id = tbl_1.emp_id
|
598
|
LEFT JOIN @tbl_2 AS tbl_2 ON md01.emp_id = tbl_2.emp_id
|
599
|
LEFT JOIN @tbl_3 AS tbl_3 ON md01.emp_id = tbl_3.emp_id
|
600
|
/* ---------------------------Tidak ditampilkan direport(#Data jadi double)--------------------------
|
601
|
LEFT JOIN dbo.hr_md_emp_md0004 gapok ON md02_last.emp_id = gapok.emp_id -- GAPOK
|
602
|
AND gapok.start_date <= @now
|
603
|
AND gapok.end_date >= @now
|
604
|
AND gapok.wage_type = '1000'
|
605
|
LEFT JOIN dbo.hr_md_emp_md0004 makan ON md02_last.emp_id = makan.emp_id -- MAKAN
|
606
|
AND makan.start_date <= @now
|
607
|
AND makan.end_date >= @now
|
608
|
AND ( makan.wage_type IN (
|
609
|
'1200', '1201' )
|
610
|
OR makan.wage_type IN (
|
611
|
SELECT val1
|
612
|
FROM base_cust_parameter
|
613
|
WHERE param = 'IMFI_WAGE_TYPE_MK'
|
614
|
AND start_date <= @now
|
615
|
AND end_date >= @now )
|
616
|
)
|
617
|
LEFT JOIN dbo.hr_md_emp_md0004 ttp ON md02_last.emp_id = ttp.emp_id -- TRANSPORT
|
618
|
AND ttp.start_date <= @now
|
619
|
AND ttp.end_date >= @now
|
620
|
AND ( ttp.wage_type IN ( '1203',
|
621
|
'1210', '1212' )
|
622
|
OR ttp.wage_type IN (
|
623
|
SELECT val1
|
624
|
FROM base_cust_parameter
|
625
|
WHERE param = 'IMFI_WAGE_TYPE_TP'
|
626
|
AND start_date <= @now
|
627
|
AND end_date >= @now )
|
628
|
)
|
629
|
LEFT JOIN dbo.hr_md_emp_md0004 hp ON md02_last.emp_id = hp.emp_id -- HP
|
630
|
AND hp.start_date <= @now
|
631
|
AND hp.end_date >= @now
|
632
|
AND ( hp.wage_type = '1205'
|
633
|
OR ( hp.wage_type >= '1231'
|
634
|
AND hp.wage_type <= '1235'
|
635
|
)
|
636
|
OR hp.wage_type IN (
|
637
|
SELECT val1
|
638
|
FROM base_cust_parameter
|
639
|
WHERE param = 'IMFI_WAGE_TYPE_HP'
|
640
|
AND start_date <= @now
|
641
|
AND end_date >= @now )
|
642
|
)
|
643
|
LEFT JOIN dbo.hr_md_emp_md0004 tj ON md02_last.emp_id = tj.emp_id -- JABATAN
|
644
|
AND tj.start_date <= @now
|
645
|
AND tj.end_date >= @now
|
646
|
AND ( tj.wage_type = '1202'
|
647
|
OR ( tj.wage_type >= '1221'
|
648
|
AND tj.wage_type <= '1229'
|
649
|
)
|
650
|
OR tj.wage_type IN (
|
651
|
SELECT val1
|
652
|
FROM base_cust_parameter
|
653
|
WHERE param = 'IMFI_WAGE_TYPE_TJ'
|
654
|
AND start_date <= @now
|
655
|
AND end_date >= @now )
|
656
|
)
|
657
|
*/ --------------------------- Hamidi 20170209 --------------------------
|
658
|
WHERE md02_last.company_id = @companycode
|
659
|
AND md01.start_date <= @now
|
660
|
AND md01.end_date >= @now
|
661
|
AND ( md02_last.payroll_group = @pay_group
|
662
|
OR @pay_group = ''
|
663
|
)
|
664
|
AND ( md02_last.employee_status = @emp_status
|
665
|
OR @emp_status = ''
|
666
|
)
|
667
|
AND ( md02_last.employee_area = @emp_area
|
668
|
OR @emp_area = ''
|
669
|
)
|
670
|
AND ( md02_last.employee_office = @emp_office
|
671
|
OR @emp_office = ''
|
672
|
)
|
673
|
AND ( md02_last.employee_type = @emp_type
|
674
|
OR @emp_type = ''
|
675
|
)
|
676
|
--AND md02_last.emp_id = '20050767'
|
677
|
ORDER BY md02_last.employee_office ,
|
678
|
md01.emp_id
|