Project

General

Profile

Bug #3691 » PRPTPAALLEMPLOYEE_202506301426.sql

Tri Rizqiaty, 06/30/2025 02:33 PM

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

3
    (
4

5
      @CompanyID VARCHAR(5) ,
6

7
      @EmployeeStatus VARCHAR(5) ,
8

9
      @EmployeeType VARCHAR(5) ,
10

11
      @EmployeeArea VARCHAR(5) ,
12

13
      @EmployeeOffice VARCHAR(5) ,
14

15
      @PayrollGroup VARCHAR(5) ,
16

17
      @Date VARCHAR(12) ,
18

19
      @UserID VARCHAR(12) ,
20

21
      @MenuID VARCHAR(10)
22

23
    )
24

25
AS 
26

27

28

29
--DECLARE @CompanyID VARCHAR(20) = '1000'
30

31
--DECLARE @EmployeeStatus VARCHAR(20) = '01'
32

33
--DECLARE @EmployeeType VARCHAR(20)= ''
34

35
--DECLARE @EmployeeArea VARCHAR(20)= ''
36

37
--DECLARE @EmployeeOffice VARCHAR(20) = ''
38

39
--DECLARE @PayrollGroup VARCHAR(20) = '2000'
40

41
--DECLARE @Date VARCHAR(12) = '20250630'
42

43
--DECLARE @UserID VARCHAR(10) = 'shofwan'
44

45
--DECLARE @MenuID VARCHAR(10) = 'PAR19'
46

47

48

49

50

51
------------------ // Get Otorisasi //---------------
52

53

54

55
DECLARE @TableResult TABLE ( EmployeeID VARCHAR(20) )
56

57
		
58

59
INSERT  INTO @TableResult
60

61
        EXEC dbo.GETEMPIDAUTHBYMENU @MenuID = @MenuID, -- varchar(max)
62

63
            @UserID = @UserID
64

65
 -- varchar(max)
66

67
    
68

69
------------------ // End Get Otorisasi //---------------
70

71

72

73

74

75
DECLARE @now VARCHAR(12) = dbo.fn_formatdatetime(GETDATE(), 'yyyymmdd')
76

77

78

79
DECLARE @PermanentDate VARCHAR(5)
80

81
SELECT  @PermanentDate = Value1
82

83
FROM    PCMEPGENPARAM
84

85
WHERE   Parameter = 'PRPTPAALLEMPLOYEE_PRMNTDATE'
86

87
DECLARE @PermanentDate2 VARCHAR(5)
88

89
SELECT  @PermanentDate2 = Value1
90

91
FROM    PCMEPGENPARAM
92

93
WHERE   Parameter = 'PRPTPAALLEMPLOYEE_DATETYP'
94

95
DECLARE @HiringDate VARCHAR(5)
96

97
SELECT  @HiringDate = Value1
98

99
FROM    PCMEPGENPARAM
100

101
WHERE   Parameter = 'PRPTPAALLEMPLOYEE_HIRINGDATE'
102

103
DECLARE @LastAssign VARCHAR(5)
104

105
SELECT  @LastAssign = Value1
106

107
FROM    PCMEPGENPARAM
108

109
WHERE   Parameter = 'PRPTPAALLEMPLOYEE_LASTASSGNMNT'
110

111
DECLARE @Resign VARCHAR(5)
112

113
SELECT  @Resign = Value1
114

115
FROM    PCMEPGENPARAM
116

117
WHERE   Parameter = 'PRPTPAALLEMPLOYEE_RESIGN'
118

119
DECLARE @Expired VARCHAR(5)
120

121
SELECT  @Expired = Value1
122

123
FROM    PCMEPGENPARAM
124

125
WHERE   Parameter = 'PRPTPAALLEMPLOYEE_DATESPEC'
126

127
DECLARE @joingroup VARCHAR(5)
128

129
SELECT  @joingroup = Value1
130

131
FROM    PCMEPGENPARAM
132

133
WHERE   Parameter = 'PRPTPAALLEMPLOYEE_DATETYP_JOINGROUP'
134

135
DECLARE @Resident VARCHAR(5)
136

137
SELECT  @Resident = Value1
138

139
FROM    PCMEPGENPARAM
140

141
WHERE   Parameter = 'PRPTPAALLEMPLOYEE_RESIDENT'
142

143
DECLARE @HP VARCHAR(5)
144

145
SELECT  @HP = Value1
146

147
FROM    PCMEPGENPARAM
148

149
WHERE   Parameter = 'PRPTPAALLEMPLOYEE_COMMTYPHP'
150

151
DECLARE @Email VARCHAR(5)
152

153
SELECT  @Email = Value1
154

155
FROM    PCMEPGENPARAM
156

157
WHERE   Parameter = 'PRPTPAALLEMPLOYEE_COMMTYPEMAIL'
158

159
DECLARE @IDKTP VARCHAR(5)
160

161
SELECT  @IDKTP = Value1
162

163
FROM    PCMEPGENPARAM
164

165
WHERE   Parameter = 'PRPTPAALLEMPLOYEE_IDKTP'
166

167
DECLARE @IDPassport VARCHAR(5)
168

169
SELECT  @IDPassport = Value1
170

171
FROM    PCMEPGENPARAM
172

173
WHERE   Parameter = 'PRPTPAALLEMPLOYEE_IDPSSPRT'
174

175
DECLARE @IDSIMA VARCHAR(5)
176

177
SELECT  @IDSIMA = Value1
178

179
FROM    PCMEPGENPARAM
180

181
WHERE   Parameter = 'PRPTPAALLEMPLOYEE_IDSIMA'
182

183
DECLARE @IDSIMB VARCHAR(5)
184

185
SELECT  @IDSIMB = Value1
186

187
FROM    PCMEPGENPARAM
188

189
WHERE   Parameter = 'PRPTPAALLEMPLOYEE_IDSIMB'
190

191
DECLARE @IDSIMC VARCHAR(5)
192

193
SELECT  @IDSIMC = Value1
194

195
FROM    PCMEPGENPARAM
196

197
WHERE   Parameter = 'PRPTPAALLEMPLOYEE_IDSIMC'
198

199
DECLARE @ResidentKTP VARCHAR(5)
200

201
SELECT  @ResidentKTP = Value1
202

203
FROM    PCMEPGENPARAM
204

205
WHERE   Parameter = 'PRPTPAALLEMPLOYEE_RESIDENTKTP'
206

207
DECLARE @ResidentKost VARCHAR(5)
208

209
SELECT  @ResidentKost = Value1
210

211
FROM    PCMEPGENPARAM
212

213
WHERE   Parameter = 'PRPTPAALLEMPLOYEE_RESIDENTKOST'
214

215

216

217
DECLARE @par_pension VARCHAR(10)
218

219
SELECT  @par_pension = Value1
220

221
FROM    dbo.PCMEPGENPARAM
222

223
WHERE   Parameter = 'MDREMINDERMAXAGEPENSION'
224

225

226

227

228

229
DECLARE @tbl_3 TABLE
230

231
    (
232

233
      emp_id VARCHAR(18) ,
234

235
      edu_level VARCHAR(180) ,
236

237
      major VARCHAR(600) ,
238

239
      gpa VARCHAR(180) ,
240

241
      edu_level_desc VARCHAR(200) ,
242

243
      edu_start VARCHAR(80) ,
244

245
      institution VARCHAR(200)
246

247
    )
248

249

250

251
	
252

253
    --INSERT  INTO @tbl_3
254

255
    --        SELECT  a.* ,
256

257
    --                edu_level.description
258

259
    --        FROM    ( SELECT    emp_id ,
260

261
    --                            MAX(edu_level) AS edu_level ,
262

263
    --                            major ,
264

265
    --                            institution ,
266

267
    --                            CONVERT(DECIMAL(18, 2), gpa) AS gpa,
268

269
    --                            MAX (start_date) AS edu_start
270

271
    --                  FROM      dbo.hr_md_emp_md0008 AS md08
272

273
    --                  GROUP BY  emp_id ,
274

275
    --                            major ,
276

277
    --                            institution ,
278

279
    --                            gpa
280

281
    --                ) AS a
282

283
--    --                LEFT JOIN base_cust_ref_edu_level AS edu_level ON a.edu_level = edu_level.code
284

285
--INSERT  INTO @tbl_3
286

287
--       -- SELECT  TOP(1)
288

289
--        SELECT  EmployeeID ,
290

291
--      -- start_date, 
292

293
--       --edu_type,
294

295
--                edu.EducationLevel ,
296

297
--                Major ,
298

299
--                --Institution ,
300

301
--                CASE WHEN inst.InstitutionDescription = 'OTHERS'
302

303
--                     THEN edu.OtherInstitution
304

305
--                     ELSE inst.InstitutionDescription
306

307
--                END AS Institution ,
308

309
--                GPA ,
310

311
--                edu_level.EducationLevelDescription ,
312

313
--                edu.StartDate
314

315
--        FROM    dbo.PHRPA0008 AS edu
316

317
--                LEFT JOIN PHRPAEDULVL AS edu_level ON edu.EducationLevel = edu_level.EducationLevel
318

319
--                LEFT JOIN PHRPAINST inst ON edu.Institution = inst.InstitutionType
320

321
--        WHERE   edu.EndDate = ( SELECT  MAX(EndDate)
322

323
--                                FROM    dbo.PHRPA0008 AS x
324

325
--                                WHERE   x.EmployeeID = edu.EmployeeID
326

327
--                                        AND x.EducationType = 'F'
328

329
--                              )
330

331
--                AND edu.StartDate <= @Date
332

333
--                AND edu.EndDate >= @Date
334

335
--                AND edu.LastEducation = '1'
336

337
--        ORDER BY edu.Sequence DESC
338

339
INSERT  INTO @tbl_3
340

341
        SELECT  EmployeeID ,
342

343
                edu.EducationLevel ,
344

345
                Major ,
346

347
                GPA ,
348

349
                edu_level.EducationLevelDescription ,
350

351
                edu.StartDate ,
352

353
                CASE WHEN inst.InstitutionDescription = 'OTHERS'
354

355
                     THEN edu.OtherInstitution
356

357
                     ELSE inst.InstitutionDescription
358

359
                END AS Institution
360

361
        FROM    dbo.PHRPA0008 AS edu
362

363
                LEFT JOIN PHRPAEDULVL AS edu_level ON edu.EducationLevel = edu_level.EducationLevel
364

365
                LEFT JOIN PHRPAINST inst ON edu.Institution = inst.InstitutionType
366

367
        WHERE   edu.LastEducation = '1'
368

369
        ORDER BY edu.Sequence DESC
370

371
DECLARE @tbl_1 TABLE
372

373
    (
374

375
      level1 VARCHAR(50) ,
376

377
      level1_desc VARCHAR(500) ,
378

379
      level2 VARCHAR(50) ,
380

381
      level2_desc VARCHAR(500) ,
382

383
      level3 VARCHAR(50) ,
384

385
      level3_desc VARCHAR(500) ,
386

387
      level4 VARCHAR(50) ,
388

389
      level4_desc VARCHAR(500) ,
390

391
      level5 VARCHAR(50) ,
392

393
      level5_desc VARCHAR(500) ,
394

395
      level6 VARCHAR(50) ,
396

397
      level6_desc VARCHAR(500) ,
398

399
      level7 VARCHAR(50) ,
400

401
      level7_desc VARCHAR(500) ,
402

403
      level8 VARCHAR(50) ,
404

405
      level8_desc VARCHAR(500) ,
406

407
      emp_id VARCHAR(50)
408

409
    )
410

411

412

413

414

415
    --INSERT  INTO @tbl_1
416

417
            --SELECT DISTINCT
418

419
            --        a.org_id_01 ,
420

421
            --        a.org_name_01 ,
422

423
            --        a.org_id_02 ,
424

425
            --        a.org_name_02 ,
426

427
            --        a.org_id_03 ,
428

429
            --        a.org_name_03 ,
430

431
            --        a.org_id_04 ,
432

433
            --        a.org_name_04 ,
434

435
            --        a.org_id_05 ,
436

437
            --        a.org_name_05 ,
438

439
            --        a.org_id_06 ,
440

441
            --        a.org_name_06 ,
442

443
            --        a.org_id_07 ,
444

445
            --        a.org_name_07 ,
446

447
            --        a.org_id_08 ,
448

449
            --        a.org_name_08 ,
450

451
            --        md2.EmployeeID
452

453
            --FROM    dbo.GetOrgInOrgWide('00000001', @Date) AS a
454

455
            --        INNER JOIN dbo.PHRPA0002 AS md2 ON a.org_id = md2.Organization
456

457
            --                                           AND md2.StartDate <= @Date
458

459
            --                                           AND md2.EndDate >= @Date                                                          	 
460

461
	
462

463
DECLARE @tbl_2 TABLE
464

465
    (
466

467
      emp_id VARCHAR(18) ,
468

469
      movement_type VARCHAR(12) ,
470

471
      jumlah DECIMAL(18, 0)
472

473
    )	
474

475

476

477
INSERT  INTO @tbl_2
478

479
        SELECT DISTINCT
480

481
                EmployeeID ,
482

483
                MovementType ,
484

485
                COUNT(StartDate)
486

487
        FROM    dbo.PHRPA0002 WITH ( NOLOCK )
488

489
        --WHERE   MovementType = '60'
490

491
        GROUP BY EmployeeID ,
492

493
                MovementType
494

495

496

497
DECLARE @tbl_md2_last TABLE
498

499
    (
500

501
      --landscape VARCHAR(3) ,
502

503
      emp_id VARCHAR(18) ,
504

505
      start_date VARCHAR(8) ,
506

507
      end_date VARCHAR(8) ,
508

509
      movement_type VARCHAR(10) ,
510

511
      reason VARCHAR(20) ,
512

513
      company_id VARCHAR(4) ,
514

515
      costcenter VARCHAR(18) ,
516

517
      employee_area VARCHAR(50) ,
518

519
      employee_office VARCHAR(50) ,
520

521
      employee_status VARCHAR(50) ,
522

523
      employee_type VARCHAR(50) ,
524

525
      employee_subtype VARCHAR(50) ,
526

527
      tax_office VARCHAR(50) ,
528

529
      payroll_group VARCHAR(20) ,
530

531
      organization VARCHAR(50) ,
532

533
      position VARCHAR(50) ,
534

535
      job VARCHAR(50) ,
536

537
      remark VARCHAR(MAX),
538

539
	  divisioncode VARCHAR(10)
540

541
	  
542

543

544

545
          --additional_1 VARCHAR(8) ,
546

547
          --datedifff VARCHAR(MAX)
548

549
        
550

551
        
552

553
    )
554

555

556

557
INSERT  INTO @tbl_md2_last
558

559
        SELECT  tbl2.* --,
560

561
                    --DATEDIFF(DAY, tbl2.realDate, @Date) datedifff
562

563
        FROM    ( SELECT    EmployeeID ,
564

565
                            StartDate ,
566

567
                            EndDate ,
568

569
                            MovementType ,
570

571
                            MovementReason ,
572

573
                            CompanyID ,
574

575
                            CostCenter ,
576

577
                            EmployeeArea ,
578

579
                            EmployeeOffice ,
580

581
                            EmployeeStatus ,
582

583
                            EmployeeType ,
584

585
                            EmployeeSubType ,
586

587
                            TaxOffice ,
588

589
                            PayrollGroup ,
590

591
                            Organization ,
592

593
                            Position ,
594

595
                            Job ,
596

597
                            Notes ,
598

599
							DivisionCode
600

601
							
602

603

604

605
                                --CASE WHEN ISNULL(additional_1, '') = ''
606

607
                                --     THEN StartDate
608

609
                                --     ELSE additional_1
610

611
                                --END AS realDate
612

613
                  FROM      dbo.PHRPA0002 WITH ( NOLOCK )
614

615
                ) AS tbl2
616

617
                        
618

619
SELECT DISTINCT 
620

621
        md01.EmployeeID ,
622

623
        md01.FullName ,
624

625
        md01.ExternalID ,
626

627
		md01.NumberOfChildren,
628

629
        md02_last.company_id ,
630

631
        CONVERT(DATE, md02_hiring.StartDate) AS join_date ,
632

633
        CONVERT(DATE, md39_permanent.Date) AS permanent_date ,
634

635
        CONVERT(DATE, md39_joingroup.Date) AS join_group ,
636

637
        mov_type_last.MovementTypeDescription AS effective_type_status ,
638

639
        CONVERT(DATE, md02_last.start_date) AS effective_date ,
640

641
            --CONVERT(DATE, md02_last.additional_1) AS real_date ,
642

643
        md02_last.employee_status ,
644

645
        emp_status_last.EmployeeStatusDescription AS emp_status ,
646

647
        --CONVERT(DATE, md02_resign.StartDate) AS resign_date ,
648

649
        CONVERT(DATE,md02_resign.StartDate) AS resign_date ,
650

651
		CONVERT(DATE, md02_enddate.EndDate) AS end_date,
652

653
        emp_type_last.EmployeeTypeDescription AS employee_type ,
654

655
        CASE WHEN ( md39_contract.Date >= @Date )
656

657
             THEN CONVERT(DATE, md39_contract.Date)
658

659
             ELSE NULL
660

661
        END expired_status ,
662

663
        --tbl_2.jumlah AS contract_extent ,
664

665
        ws_type.WorkScheduleTypeDesc AS workschedule_type ,
666

667
        md03.TaxStatus ,
668

669
        md02_last.employee_area AS area_code ,
670

671
        emp_area_last.EmployeeAreaDescription AS area_desc ,
672

673
        md02_last.employee_office AS office_code ,
674

675
        emp_office_last.EmployeeOfficeDesc AS office_desc ,
676

677
        md02_last.payroll_group AS payroll_group_id ,
678

679
        payroll_group_last.PayrollGroupDescription AS payroll_group ,
680

681
        emp_sub_type_desc.EmployeeSubTypeDesc AS employee_subtype ,
682

683
        tbl_1.level1 ,
684

685
        tbl_1.level1_desc ,
686

687
        tbl_1.level2 ,
688

689
        tbl_1.level2_desc ,
690

691
        tbl_1.level3 ,
692

693
        tbl_1.level3_desc ,
694

695
        tbl_1.level4 ,
696

697
        tbl_1.level4_desc ,
698

699
        tbl_1.level5 ,
700

701
        tbl_1.level5_desc ,
702

703
        tbl_1.level6 ,
704

705
        tbl_1.level6_desc ,
706

707
        tbl_1.level7 ,
708

709
        tbl_1.level7_desc ,
710

711
        tbl_1.level8 ,
712

713
        tbl_1.level8_desc ,
714

715
            --md02_last.costcenter AS cc_code ,
716

717
            --cc.description AS cc_desc ,
718

719
            md02_last.position AS pos_code ,
720

721
			pos.ObjectDescription AS pos_desc,
722

723
            --p.description AS pos_desc ,
724

725
            --md02_last.job AS job_code ,
726

727
            --j.description AS job_desc ,
728

729
        pay_grade.PayrollGradeDescription AS pay_grade ,
730

731
        md01.NickName ,
732

733
        gender.GenderDescription AS gender ,
734

735
        md01.BirthPlace ,
736

737
        CONVERT (DATE, md01.BirthDate) AS birth_date ,
738

739
        FLOOR(DATEDIFF(DAY, md01.BirthDate, @Date) / 365.25) AS age ,
740

741
        dbo.GetDateDiffTahunBulanHari(md02_hiring.StartDate, @now) AS MasaKerja ,
742

743
        CASE WHEN ( FLOOR(DATEDIFF(DAY, md01.BirthDate, @Date) / 365.25) ) > @par_pension
744

745
             THEN 'YES'
746

747
             ELSE ''
748

749
        END AS Flag_Pension ,
750

751
        md06_resident.Address ,
752

753
        ( SELECT    ProvinceDescription
754

755
          FROM      PHRPAPROV
756

757
          WHERE     Province = md06_resident.Province
758

759
        ) AS province ,
760

761
            --md06_resident.location ,
762

763
        md06_resident.PostalCode ,
764

765
        md06_resident.TelephoneNumber ,
766

767
            --md12_hp.CommunicationDescription AS cellphone ,
768

769
        md12_email.CommunicationDescription AS email ,
770

771
        religion.ReligionDescription AS religion ,
772

773
        --marital_status.MaritalStatusDescription AS marital_status ,
774

775
		--tax_status.TaxStatusDescription AS marital_status,
776

777
		md03.TaxStatus AS marital_status,
778

779
        --md11.BloodType ,
780

781
        bld.BloodTypeDescription AS BloodType ,
782

783
        --md13_ktp.IDDescription AS id ,
784

785
		md01.IDCard AS id,
786

787
        CONVERT(DATE, md13_ktp.EndDate) AS ktp_expired ,
788

789
        md06_ktp.Address AS ktp_address ,
790

791
        ( SELECT    ProvinceDescription
792

793
          FROM      PHRPAPROV
794

795
          WHERE     Province = md06_ktp.Province
796

797
        ) AS ktp_province ,
798

799
        md06_ktp.PostalCode AS ktp_postalcode ,
800

801
            --( SELECT    description
802

803
            --  FROM      base_cust_ref_id_type
804

805
            --  WHERE     code = md13_a.id_type
806

807
            --) AS id_a ,
808

809
            --md13_a.id_description AS id_a_no ,
810

811
            --CONVERT(DATE, md13_a.end_date) AS id_a_expired ,
812

813
            --( SELECT    description
814

815
            --  FROM      base_cust_ref_id_type
816

817
            --  WHERE     code = md13_b.id_type
818

819
            --) AS id_b ,
820

821
            --md13_b.id_description AS id_b_no ,
822

823
            --CONVERT(DATE, md13_b.end_date) AS id_b_expired ,
824

825
            --( SELECT    description
826

827
            --  FROM      base_cust_ref_id_type
828

829
            --  WHERE     code = md13_c.id_type
830

831
            --) AS id_c ,
832

833
        md13_c.IDDescription AS id_c_no ,
834

835
        CONVERT(DATE, md13_c.EndDate) AS id_c_expired ,
836

837
        md13_passport.IDDescription AS id_password_no ,
838

839
        CONVERT(DATE, md13_passport.EndDate) AS id_password_expired ,
840

841
            --md06_cp.contact_person AS cp_name ,
842

843
        md06_cp.Address AS cp_address ,
844

845
        md12_hp.CommunicationDescription AS cp_tlp, --md06_cp.TelephoneNumber AS cp_tlp , -----// edit tri 20250610 redmine 3659
846

847
        md06_cp.CellphoneNumber AS cp_cell ,
848

849
        md03.NPWP ,
850

851
            --CASE WHEN md03.npwp_date = '' THEN ''
852

853
            --     ELSE dbo.fn_formatdatetime(md03.npwp_date, 'dd mmm yyyy')
854

855
            --END AS npwp_date ,
856

857
            --md03.BPJSTKType ,
858

859
            --jams_type.description AS jams_type ,
860

861
           -- md03.BPJSTKNumber ,
862

863
            --CASE WHEN md03.additional_1 = '' THEN ''
864

865
            --     ELSE dbo.fn_formatdatetime(md03.additional_1, 'dd mmm yyyy')
866

867
            --END AS additional_1 ,
868

869
            --pension_type.PensionTypeDescription AS pension_type ,
870

871
            --md03.PensionType ,
872

873
            --CASE WHEN md03.additional_2 = '' THEN ''
874

875
            --     ELSE dbo.fn_formatdatetime(md03.additional_2, 'dd mmm yyyy')
876

877
            --END AS additional_2 ,
878

879
        cust_bank_id.BankDescription AS bank_id ,
880

881
        md03.BankAccount ,
882

883
        md03.BankAccountName ,
884

885
        tbl_3.edu_level_desc ,
886

887
        tbl_3.major ,
888

889
        tbl_3.institution ,
890

891
        tbl_3.gpa ,
892

893
        md02_last.remark ,
894

895
		md02_last.reason,
896

897
		emp_mov_reason.MovementReasonDesc,
898

899
		emp_division.DivisionCodeDescription,
900

901
		emp_division.EstateCode,
902

903
		emp_class.PayrollGrade,
904

905
		emp_class.PayrollClass,
906

907
		pay_class.PayrollClassDescription,
908

909
		emp_office_last.CodeOffice,
910

911
		'00'+emp_office_last.CodeOffice AS Plant,
912

913
		emp_ethnic.EthnicDescription,
914

915
		md13a.BenefitNo AS BPJSKESEHATAN,
916

917
		md13.BenefitNo AS BPJSKETENAGAKERJAAN
918

919

920

921
		
922

923
		    --CASE WHEN ISNULL(gapok.amount, '') = '' THEN 0
924

925
            --     ELSE CONVERT(DECIMAL, dbo.GetPEN(@landscape, gapok.amount))
926

927
            --END amount_gapok ,
928

929
            --CASE WHEN ( SELECT  valuation
930

931
            --            FROM    hr_cu0300
932

933
            --            WHERE   code = makan.wage_type
934

935
            --          ) = 'I2'
936

937
            --     THEN ( SELECT  amount
938

939
            --            FROM    hr_cu0304
940

941
            --            WHERE   start_date <= @Date
942

943
            --                    AND end_date >= @Date
944

945
            --                    AND wage_type = makan.wage_type
946

947
            --                    AND ( pay_grade = md03.pay_grade
948

949
            --                          OR pay_grade = '*'
950

951
            --                        )
952

953
            --                    AND ( pay_class = md03.pay_class
954

955
            --                          OR pay_class = '*'
956

957
            --                        )
958

959
            --                    AND ( pay_area = md03.pay_area
960

961
            --                          OR pay_area = '*'
962

963
            --                        )
964

965
            --          )
966

967
            --     ELSE ( CASE WHEN ISNULL(makan.amount, '') = '' THEN 0
968

969
            --                 ELSE CONVERT(DECIMAL, dbo.GetPEN(makan.amount))
970

971
            --            END )
972

973
            --END amount_makan ,
974

975
            --CASE WHEN ( SELECT  valuation
976

977
            --            FROM    hr_cu0300
978

979
            --            WHERE   code = ttp.wage_type
980

981
            --          ) = 'I2'
982

983
            --     THEN ( SELECT  amount
984

985
            --            FROM    hr_cu0304
986

987
            --            WHERE   start_date <= @Date
988

989
            --                    AND end_date >= @Date
990

991
            --                    AND wage_type = ttp.wage_type
992

993
            --                    AND ( pay_grade = md03.pay_grade
994

995
            --                          OR pay_grade = '*'
996

997
            --                        )
998

999
            --                    AND ( pay_class = md03.pay_class
1000

1001
            --                          OR pay_class = '*'
1002

1003
            --                        )
1004

1005
            --                    AND ( pay_area = md03.pay_area
1006

1007
            --                          OR pay_area = '*'
1008

1009
            --                        )
1010

1011
            --          )
1012

1013
            --     ELSE ( CASE WHEN ISNULL(ttp.amount, '') = '' THEN 0
1014

1015
            --                 ELSE CONVERT(DECIMAL, dbo.GetPEN(@landscape,
1016

1017
            --                                                  ttp.amount))
1018

1019
            --            END )
1020

1021
            --END amount_transport ,
1022

1023
            --CASE WHEN ( SELECT  valuation
1024

1025
            --            FROM    hr_cu0300
1026

1027
            --            WHERE   code = hp.wage_type
1028

1029
            --          ) = 'I2'
1030

1031
            --     THEN ( SELECT  amount
1032

1033
            --            FROM    hr_cu0304
1034

1035
            --            WHERE   start_date <= @Date
1036

1037
            --                    AND end_date >= @Date
1038

1039
            --                    AND wage_type = hp.wage_type
1040

1041
            --                    AND ( pay_grade = md03.pay_grade
1042

1043
            --                          OR pay_grade = '*'
1044

1045
            --                        )
1046

1047
            --                    AND ( pay_class = md03.pay_class
1048

1049
            --                          OR pay_class = '*'
1050

1051
            --                        )
1052

1053
            --                    AND ( pay_area = md03.pay_area
1054

1055
            --                          OR pay_area = '*'
1056

1057
            --                        )
1058

1059
            --          )
1060

1061
            --     ELSE ( SELECT  amount
1062

1063
            --            FROM    hr_cu0303
1064

1065
            --            WHERE   start_date <= @Date
1066

1067
            --                    AND end_date >= @Date
1068

1069
            --                    AND wage_type = hp.wage_type
1070

1071
            --          )
1072

1073
            --END amount_hp ,
1074

1075
            --CASE WHEN ( SELECT  valuation
1076

1077
            --            FROM    hr_cu0300
1078

1079
            --            WHERE   code = tj.wage_type
1080

1081
            --          ) = 'I2'
1082

1083
            --     THEN ( SELECT  amount
1084

1085
            --            FROM    hr_cu0304
1086

1087
            --            WHERE   start_date <= @Date
1088

1089
            --                    AND end_date >= @Date
1090

1091
            --                    AND wage_type = tj.wage_type
1092

1093
            --                    AND ( pay_grade = md03.pay_grade
1094

1095
            --                          OR pay_grade = '*'
1096

1097
            --                        )
1098

1099
            --                    AND ( pay_class = md03.pay_class
1100

1101
            --                          OR pay_class = '*'
1102

1103
            --                        )
1104

1105
            --                    AND ( pay_area = md03.pay_area
1106

1107
            --                          OR pay_area = '*'
1108

1109
            --                        )
1110

1111
            --          )
1112

1113
            --     ELSE ( SELECT  amount
1114

1115
            --            FROM    hr_cu0303
1116

1117
            --            WHERE   start_date <= @Date
1118

1119
            --                    AND end_date >= @Date
1120

1121
            --                    AND wage_type = tj.wage_type	
1122

1123
            --          )
1124

1125
            --END amount_jabatan
1126

1127
FROM    dbo.PHRPA0001 md01 --@tbl_personal AS md01
1128

1129
        LEFT JOIN PHRPAGENDER AS gender ON md01.Gender = gender.Gender
1130

1131
        LEFT JOIN dbo.PHRPA0039 pa39 ON md01.EmployeeID = pa39.EmployeeID
1132

1133
                                        AND pa39.DateType = '0001'
1134

1135
        LEFT JOIN PHRPARELIGI AS religion ON md01.Religion = religion.Religion
1136

1137
		LEFT JOIN PHRPA0003 AS taxmd on  md01.EmployeeID=taxmd.EmployeeID and taxmd.EndDate='99991231'
1138

1139
		LEFT JOIN PHRPYTAXSTAT AS tax_status on taxmd.TaxStatus=tax_status.TaxStatus
1140

1141
        LEFT JOIN PHRPAMSTAT AS marital_status ON md01.MaritalStatus = marital_status.MaritalStatus
1142

1143
		and md01.EndDate='99991231'
1144

1145
        LEFT JOIN PHRPA0002 AS md02_hiring ON md01.EmployeeID = md02_hiring.EmployeeID -- Hiring Date
1146

1147
                                              AND md02_hiring.MovementType = @HiringDate
1148

1149
        --LEFT JOIN PHRPA0002 AS md02_permanent ON md01.EmployeeID = md02_permanent.EmployeeID -- Hiring Permanent
1150

1151
        --                                         --AND md02_permanent.MovementType = @PermanentDate
1152

1153
        --                                         --AND md02_permanent.employeetype = '01'
1154

1155
								--				   AND md02_permanent.StartDate <= @Date
1156

1157
                                             --AND md02_permanent.EndDate >= @Date
1158

1159
        LEFT JOIN @tbl_md2_last AS md02_last ON md01.EmployeeID = md02_last.emp_id
1160

1161
                                                AND md02_last.start_date <= @Date		-- Last Assignment dirubah
1162

1163
                                                AND md02_last.end_date >= @Date
1164

1165
                                                AND md02_last.payroll_group <> @LastAssign
1166

1167
		LEFT JOIN PHROM0001 AS pos ON  md02_last.position=pos.ObjectID
1168

1169
												AND pos.ObjectClass='P'
1170

1171
                                                    --AND md02_last.datedifff = ( SELECT
1172

1173
                                                              --MIN(tbl_last.datedifff)
1174

1175
                                                              --FROM
1176

1177
                                                              --@tbl_md2_last tbl_last
1178

1179
                                                              --WHERE
1180

1181
                                                              --tbl_last.start_date <= @Date  --dirubah
1182

1183
                                                              --AND tbl_last.end_date >= @Date
1184

1185
                                                              --AND tbl_last.payroll_group <> '99'
1186

1187
                                                              --AND md01.emp_id = tbl_last.emp_id
1188

1189
                                                              --)
1190

1191
        LEFT JOIN PCMEPMOVTYP AS mov_type_last ON md02_last.movement_type = mov_type_last.MovementType
1192

1193
        LEFT JOIN PCMEPEMPTYP AS emp_type_last ON md02_last.employee_type = emp_type_last.EmployeeType
1194

1195
        LEFT JOIN PCMEPEMPAREA AS emp_area_last ON md02_last.employee_area = emp_area_last.EmployeeArea
1196

1197
        LEFT JOIN PCMEPEMPOFF AS emp_office_last ON md02_last.employee_office = emp_office_last.EmployeeOffice
1198

1199
        LEFT JOIN PHRPYPGRUP AS payroll_group_last ON md02_last.payroll_group = payroll_group_last.PayrollGroup
1200

1201
        LEFT JOIN PCMEPEMPSTAT AS emp_status_last ON md02_last.employee_status = emp_status_last.EmployeeStatus
1202

1203
        LEFT JOIN PCMEPEMPSTYP AS emp_sub_type_desc ON md02_last.employee_subtype = emp_sub_type_desc.EmployeeSubType
1204

1205
		LEFT JOIN PCMEPMOVR AS emp_mov_reason ON md02_last.reason = emp_mov_reason.MovementReason AND emp_mov_reason.MovementType='17'
1206

1207
		LEFT JOIN PCMEMPDVSCODE AS  emp_division ON md02_last.divisioncode = emp_division.DivisionCode
1208

1209
		LEFT JOIN PHRPA0003 AS  emp_class ON md02_last.emp_id = emp_class.EmployeeID and emp_class.EndDate='99991231'
1210

1211
		left join PHRPYPCLASS AS pay_class on emp_class.PayrollClass=pay_class.PayrollClass and pay_class.EndDate='99991231' and pay_class.PayrollArea=taxmd.PayrollArea
1212

1213
		--Update 23/11/2022 by Shofwan
1214

1215
		LEFT JOIN PHRPAETHNIC AS  emp_ethnic ON md01.Ethnic = emp_ethnic.Ethnic
1216

1217
		LEFT JOIN PHRPA0022 AS md13 ON md13.EmployeeID= md01.EmployeeID AND md13.BenefitType='B001' and md13.EndDate='99991231'
1218

1219
		LEFT JOIN PHRPA0022 AS md13a ON md13a.EmployeeID= md01.EmployeeID AND md13a.BenefitType='B002' and md13a.EndDate='99991231'
1220

1221
		
1222

1223

1224

1225

1226

1227

1228

1229
            --LEFT OUTER JOIN hr_md_orm_object cc ON cc.landscape = @landscape
1230

1231
            --                                       AND cc.start_date <= @Date
1232

1233
            --                                       AND cc.end_date >= @Date
1234

1235
            --                                       AND md02_last.costcenter = cc.object
1236

1237
            --                                       AND cc.class = 'CC'
1238

1239
            --LEFT OUTER JOIN hr_md_orm_object o ON o.landscape = @landscape
1240

1241
            --                                      AND o.start_date <= @Date
1242

1243
            --                                      AND o.end_date >= @Date
1244

1245
            --                                      AND md02_last.organization = o.object
1246

1247
            --                                      AND o.class = 'O'
1248

1249
            --LEFT OUTER JOIN hr_md_orm_object p ON p.landscape = @landscape
1250

1251
            --                                      AND p.start_date <= @Date
1252

1253
            --                                      AND p.end_date >= @Date
1254

1255
            --                                      AND md02_last.position = p.object
1256

1257
            --                         --AND md02_last.payroll_group <> '99'
1258

1259
            --                                      AND p.class = 'P'
1260

1261
            --LEFT OUTER JOIN hr_md_orm_object j ON j.landscape = @landscape
1262

1263
            --                                      AND j.start_date <= @Date
1264

1265
            --                                      AND j.end_date >= @Date
1266

1267
            --                                      AND md02_last.job = j.object
1268

1269
            --                                      AND j.class = 'J'
1270

1271
        --LEFT JOIN phrpa0039 AS md39_group ON md01.EmployeeID = md39_group.EmployeeID				-- Date Spesification, Join Date Group
1272

1273
        --                                     AND md39_group.DateType = '10'
1274

1275
        --                                     AND md39_group.StartDate <= @Date
1276

1277
        --                                     AND md39_group.EndDate >= @Date
1278

1279
        LEFT JOIN PHRPA0002 AS md02_resign ON md01.EmployeeID = md02_resign.EmployeeID			-- Resign
1280

1281
                                              AND md02_resign.MovementType = @Resign
1282

1283
		LEFT JOIN PHRPA0002 AS md02_enddate ON md01.EmployeeID=md02_enddate.EmployeeID
1284

1285
												AND md02_enddate.EndDate='99991231'
1286

1287
                                                    --AND md02_resign.end_date = '99991231'
1288

1289
        --LEFT JOIN phrpa0002 AS md02_contract ON md01.EmployeeID = md02_contract.EmployeeID
1290

1291
        --                                        AND md02_contract.MovementType = '19'
1292

1293
		LEFT JOIN PHRPA0039 AS md39_permanent ON md01.EmployeeID = md39_permanent.EmployeeID
1294

1295
			and md39_permanent.DateType='0004'
1296

1297

1298

1299
        LEFT JOIN PHRPA0039 AS md39_contract ON md01.EmployeeID = md39_contract.EmployeeID		-- Date Spesification, expired contract dengan code 02
1300

1301
                                                AND md39_contract.DateType = @Expired
1302

1303
                                                AND md39_contract.Sequence = ( SELECT
1304

1305
                                                              MAX(md39_contracte.Sequence)
1306

1307
                                                              FROM
1308

1309
                                                              PHRPA0039 md39_contracte
1310

1311
                                                              WHERE
1312

1313
                                                              md39_contracte.EmployeeID = md39_contract.EmployeeID
1314

1315
                                                              AND md39_contracte.DateType = @Expired
1316

1317
                                                              )
1318

1319
        LEFT JOIN PHRPA0039 AS md39_joingroup ON md01.EmployeeID = md39_joingroup.EmployeeID		-- Date Spesification, expired contract dengan code 02
1320

1321
                                                 AND md39_joingroup.DateType = @joingroup
1322

1323
                                                 AND md39_joingroup.Sequence = ( SELECT
1324

1325
                                                              MAX(md39_joingroupe.Sequence)
1326

1327
                                                              FROM
1328

1329
                                                              PHRPA0039 md39_joingroupe
1330

1331
                                                              WHERE
1332

1333
                                                              md39_joingroupe.EmployeeID = md39_joingroup.EmployeeID
1334

1335
                                                              AND md39_joingroupe.DateType = @joingroup
1336

1337
                                                              )                                                     
1338

1339
        --LEFT JOIN hr_md_emp_md0002 AS md02_appointment ON md01.emp_id = md02_appointment.emp_id		-- Appointment
1340

1341
        --                                                  AND md02_appointment.movement_type = '20'
1342

1343
        LEFT JOIN PHRPA0025 AS md25 ON md01.EmployeeID = md25.EmployeeID							-- Working Schedule
1344

1345
                                       AND md25.StartDate <= @Date
1346

1347
                                       AND md25.EndDate >= @Date
1348

1349
        LEFT JOIN PHRTMWSTYP AS ws_type ON md25.WorkScheduleType = ws_type.WorkScheduleType
1350

1351
        LEFT JOIN PHRPA0003 AS md03 ON md01.EmployeeID = md03.EmployeeID						--Payroll Basic
1352

1353
                                       AND md03.StartDate <= @Date
1354

1355
                                       AND md03.EndDate >= @Date
1356

1357
            --LEFT JOIN PHRPYPENSTYP AS pension_type ON md03.PensionType = pension_type.PensionType
1358

1359
        LEFT JOIN PHRPYBANKTYP AS cust_bank_id ON md03.BankType = cust_bank_id.BankType
1360

1361
        LEFT JOIN PHRPYPGRAD AS pay_grade ON md03.PayrollGrade = pay_grade.PayrollGrade and md03.PayrollClass=pay_grade.PayrollClass
1362

1363
        LEFT JOIN PHRPA0006 AS md06_resident ON md01.EmployeeID = md06_resident.EmployeeID
1364

1365
                                                AND md06_resident.AddressType = @Resident
1366

1367
                                                       --AND md06_resident.end_date = '99991231'
1368

1369
                                                AND md06_resident.StartDate <= @Date
1370

1371
                                                AND md06_resident.EndDate >= @Date
1372

1373
                                                AND md06_resident.Sequence = ( SELECT
1374

1375
                                                              MAX(md06_st.Sequence)
1376

1377
                                                              FROM
1378

1379
                                                              PHRPA0006 md06_st
1380

1381
                                                              WHERE
1382

1383
                                                              md06_st.AddressType = @Resident
1384

1385
                                                              AND md06_st.EmployeeID = md06_resident.EmployeeID
1386

1387
                                                              )
1388

1389
        LEFT JOIN PHRPA0012 AS md12_hp ON md01.EmployeeID = md12_hp.EmployeeID
1390

1391
                                          AND md12_hp.CommunicationType = @HP
1392

1393
                                          AND md12_hp.Sequence = ( SELECT
1394

1395
                                                              MAX(md12_st.Sequence)
1396

1397
                                                              FROM
1398

1399
                                                              PHRPA0012 md12_st
1400

1401
                                                              WHERE
1402

1403
                                                              md12_st.EmployeeID = md12_hp.EmployeeID
1404

1405
                                                              AND md12_st.CommunicationType = @HP
1406

1407
                                                              )
1408

1409
        LEFT JOIN PHRPA0012 AS md12_email ON md01.EmployeeID = md12_email.EmployeeID
1410

1411
                                             AND md12_email.CommunicationType = @Email
1412

1413
                                             AND md12_email.Sequence = ( SELECT
1414

1415
                                                              MAX(md12e_st.Sequence)
1416

1417
                                                              FROM
1418

1419
                                                              PHRPA0012 md12e_st
1420

1421
                                                              WHERE
1422

1423
                                                              md12e_st.EmployeeID = md12_email.EmployeeID
1424

1425
                                                              AND md12e_st.CommunicationType = @Email
1426

1427
                                                              )
1428

1429
        LEFT JOIN PHRPA0011 AS md11 ON md01.EmployeeID = md11.EmployeeID
1430

1431
        LEFT JOIN PHRPABLODTYP AS bld ON md11.BloodType = bld.BloodType
1432

1433
        LEFT JOIN PHRPA0013 AS md13_ktp ON md01.EmployeeID = md13_ktp.EmployeeID
1434

1435
                                           AND md13_ktp.IDType = @IDKTP
1436

1437
                                           AND md13_ktp.Sequence = ( SELECT
1438

1439
                                                              MAX(md13_ktpe.Sequence)
1440

1441
                                                              FROM
1442

1443
                                                              PHRPA0013 md13_ktpe
1444

1445
                                                              WHERE
1446

1447
                                                              md13_ktpe.EmployeeID = md13_ktp.EmployeeID
1448

1449
                                                              AND md13_ktpe.IDType = @IDKTP
1450

1451
                                                              )
1452

1453
        LEFT JOIN PHRPA0013 AS md13_a ON md01.EmployeeID = md13_a.EmployeeID
1454

1455
                                         AND md13_a.IDType = @IDSIMA
1456

1457
        LEFT JOIN PHRPA0013 AS md13_b ON md01.EmployeeID = md13_b.EmployeeID
1458

1459
                                         AND md13_b.IDType = @IDSIMB
1460

1461
        LEFT JOIN PHRPA0013 AS md13_c ON md01.EmployeeID = md13_c.EmployeeID
1462

1463
                                         AND md13_c.IDType = @IDSIMC
1464

1465
        LEFT JOIN PHRPA0013 AS md13_passport ON md01.EmployeeID = md13_passport.EmployeeID
1466

1467
                                                AND md13_passport.IDType = @IDPassport
1468

1469
        LEFT JOIN PHRPA0006 AS md06_ktp ON md01.EmployeeID = md06_ktp.EmployeeID
1470

1471
                                           AND md06_ktp.AddressType = @ResidentKTP
1472

1473
                                           AND md06_ktp.StartDate <= @Date
1474

1475
                                           AND md06_ktp.EndDate >= @Date
1476

1477
                                                  --AND md06_ktp.end_date = '99991231'
1478

1479
                                           AND md06_ktp.Sequence = ( SELECT
1480

1481
                                                              MAX(md6_st.Sequence)
1482

1483
                                                              FROM
1484

1485
                                                              PHRPA0006 md6_st
1486

1487
                                                              WHERE
1488

1489
                                                              md6_st.AddressType = @ResidentKTP
1490

1491
                                                              AND md6_st.EmployeeID = md06_ktp.EmployeeID
1492

1493
                                                              )
1494

1495
        LEFT JOIN PHRPA0006 AS md06_cp ON md01.EmployeeID = md06_cp.EmployeeID
1496

1497
                                          AND md06_cp.AddressType = @ResidentKost
1498

1499
                                          AND md06_cp.StartDate <= @Date
1500

1501
                                          AND md06_cp.EndDate >= @Date
1502

1503
                                          AND md06_cp.Sequence = ( SELECT
1504

1505
                                                              MAX(md6_st.Sequence)
1506

1507
                                                              FROM
1508

1509
                                                              PHRPA0006 md6_st
1510

1511
                                                              WHERE
1512

1513
                                                              md6_st.AddressType = @ResidentKost
1514

1515
                                                              AND md6_st.EmployeeID = md06_cp.EmployeeID
1516

1517
                                                              )
1518

1519
        INNER JOIN PHRPA0015 AS md15 ON md01.EmployeeID = md15.EmployeeID
1520

1521
        LEFT JOIN @tbl_1 AS tbl_1 ON md01.EmployeeID = tbl_1.emp_id
1522

1523
        INNER JOIN @TableResult AS tr ON tr.EmployeeID = md01.EmployeeID
1524

1525
        LEFT JOIN @tbl_2 AS tbl_2 ON md01.EmployeeID = tbl_2.emp_id
1526

1527
        LEFT JOIN @tbl_3 AS tbl_3 ON md01.EmployeeID = tbl_3.emp_id
1528

1529
            --LEFT JOIN dbo.phrpa0004 gapok ON md02_last.emp_id = gapok.emp_id -- GAPOK
1530

1531
            --                                        AND gapok.start_date <= @Date
1532

1533
            --                                        AND gapok.end_date >= @Date
1534

1535
            --                                        AND gapok.wage_type = '1000'
1536

1537
            --LEFT JOIN dbo.phrpa0004 makan ON md02_last.emp_id = makan.emp_id -- MAKAN
1538

1539
            --                                        AND makan.start_date <= @Date
1540

1541
            --                                        AND makan.end_date >= @Date
1542

1543
            --                                        AND ( makan.wage_type IN (
1544

1545
            --                                              '1200', '1201' )
1546

1547
            --                                              OR makan.wage_type IN (
1548

1549
            --                                              SELECT
1550

1551
            --                                                  val1
1552

1553
            --                                              FROM
1554

1555
            --                                                  base_cust_parameter
1556

1557
            --                                              WHERE
1558

1559
            --                                                  param = 'IMFI_WAGE_TYPE_MK'
1560

1561
            --                                                  AND start_date <= @Date
1562

1563
            --                                                  AND end_date >= @Date )
1564

1565
            --                                            )
1566

1567
            --LEFT JOIN dbo.phrpa0004 ttp ON md02_last.emp_id = ttp.emp_id -- TRANSPORT
1568

1569
            --                                      AND ttp.start_date <= @Date
1570

1571
            --                                      AND ttp.end_date >= @Date
1572

1573
            --                                      AND ( ttp.wage_type IN (
1574

1575
            --                                            '1203', '1210', '1212' )
1576

1577
            --                                            OR ttp.wage_type IN (
1578

1579
            --                                            SELECT
1580

1581
            --                                                  val1
1582

1583
            --                                            FROM  base_cust_parameter
1584

1585
            --                                            WHERE param = 'IMFI_WAGE_TYPE_TP'
1586

1587
            --                                                  AND start_date <= @Date
1588

1589
            --                                                  AND end_date >= @Date )
1590

1591
            --                                          )
1592

1593
            --LEFT JOIN dbo.phrpa0004 hp ON md02_last.emp_id = hp.emp_id -- HP
1594

1595
            --                                     AND hp.start_date <= @Date
1596

1597
            --                                     AND hp.end_date >= @Date
1598

1599
            --                                     AND ( hp.wage_type = '1205'
1600

1601
            --                                           OR ( hp.wage_type >= '1231'
1602

1603
            --                                                AND hp.wage_type <= '1235'
1604

1605
            --                                              )
1606

1607
            --                                           OR hp.wage_type IN (
1608

1609
            --                                           SELECT val1
1610

1611
            --                                           FROM   base_cust_parameter
1612

1613
            --                                           WHERE  param = 'IMFI_WAGE_TYPE_HP'
1614

1615
            --                                                  AND start_date <= @Date
1616

1617
            --                                                  AND end_date >= @Date )
1618

1619
            --                                         )
1620

1621
            --LEFT JOIN dbo.phrpa0004 tj ON md02_last.EmployeeID = tj.EmployeeID -- JABATAN
1622

1623
            --                                     AND tj.StartDate <= @Date
1624

1625
            --                                     AND tj.EndDate >= @Date
1626

1627
            --                                     AND ( tj.WageType = '1202'
1628

1629
            --                                           OR ( tj.WageType >= '1221'
1630

1631
            --                                                AND tj.WageType <= '1229'
1632

1633
            --                                              )
1634

1635
            --                                           OR tj.WageType IN (
1636

1637
            --                                           SELECT val1
1638

1639
            --                                           FROM   base_cust_parameter
1640

1641
            --                                           WHERE  param = 'IMFI_WAGE_TYPE_TJ'
1642

1643
            --                                                  AND start_date <= @Date
1644

1645
            --                                                  AND end_date >= @Date )
1646

1647
            --                                         )
1648

1649
WHERE   ( md02_last.company_id = @CompanyID
1650

1651
          OR @CompanyID = ''
1652

1653
        )
1654

1655
        AND md01.StartDate <= @Date
1656

1657
        AND md01.EndDate >= @Date
1658

1659
        AND ( md02_last.payroll_group = @PayrollGroup
1660

1661
              OR @PayrollGroup = ''
1662

1663
            )
1664

1665
        AND ( md02_last.employee_status = @EmployeeStatus
1666

1667
              OR @EmployeeStatus = ''
1668

1669
            )
1670

1671
        AND ( md02_last.employee_area = @EmployeeArea
1672

1673
              OR @EmployeeArea = ''
1674

1675
            )
1676

1677
        AND ( md02_last.employee_office = @EmployeeOffice
1678

1679
              OR @EmployeeOffice = ''
1680

1681
            )
1682

1683
        AND ( md02_last.employee_type = @EmployeeType
1684

1685
              OR @EmployeeType = ''
1686

1687
            )
1688

1689
        AND ( md02_last.company_id = @CompanyID
1690

1691
              OR @CompanyID = ''
1692

1693
            )
1694

1695
		--AND md02_last.emp_id = '20050767'
1696

1697
		--AND md01.EmployeeID ='11010018'
1698

1699
ORDER BY md02_last.employee_office ,
1700

1701
        md01.EmployeeID
1702

1703

(2-2/4)