From 532e1fe0ab0fed672364654bcfabda6629e5e6f3 Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Wed, 22 Jan 2025 13:18:33 +0700 Subject: [PATCH] Update JatahCutiDanIzinServiceImpl.java Penerapan TMT SK cuti 2024 menghapus jatah cuti bersama untuk cuti tahunan di tanggal cuti bersama --- .../impl/JatahCutiDanIzinServiceImpl.java | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/JatahCutiDanIzinServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/JatahCutiDanIzinServiceImpl.java index 3aa9f92b..8dc875f8 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/JatahCutiDanIzinServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/JatahCutiDanIzinServiceImpl.java @@ -12,6 +12,7 @@ import com.jasamedika.medifirst2000.util.DateUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.text.ParseException; import java.text.SimpleDateFormat; import java.time.LocalDate; import java.util.*; @@ -173,7 +174,14 @@ public class JatahCutiDanIzinServiceImpl implements JatahCutiDanIzinService { // Hitung Absen di tanggal cuti bersama List listTglCutiBersama = mapKalenderToHariLiburDao.getTglCutiBersama(year); int countDataHabsen = 0; + Date awal2024 = new Date(1704042000000L); for (String tglStr : listTglCutiBersama) { + Date tglCheck; + try { + tglCheck = sdf.parse(tglStr); + } catch (ParseException e) { + tglCheck = new Date(); + } List dataHabsen = new ArrayList<>(); // cek shift malam String tglPrev = sdf.format(java.sql.Date.valueOf(LocalDate.parse(tglStr).minusDays(1))); @@ -206,7 +214,7 @@ public class JatahCutiDanIzinServiceImpl implements JatahCutiDanIzinService { } else { countDataHabsen += 1; } - } else { + } else if (tglCheck.before(awal2024)) { // cuti tahunan di tanggal cuti bersama List tglCutiTahunanDiTglCutiBersama = jatahCutiDanIzinDao .getCutiTahunanDiTglCutiBersama(CUTI_TAHUNAN, pegawaiId, tglStr); @@ -554,6 +562,7 @@ public class JatahCutiDanIzinServiceImpl implements JatahCutiDanIzinService { } private int tangguhkanCutiBersama(Integer cutiBersamaTerpakaiTahunLalu, JatahCutiRequest request) { + Date awal2024 = new Date(1704042000000L); if (CommonUtil.isNullOrEmpty(request.getYear())) request.setYear(String.valueOf(DateUtil.getYear(new Date()))); Date tahunLalu = DateUtil.getInstanceCalendar(-1); @@ -565,13 +574,16 @@ public class JatahCutiDanIzinServiceImpl implements JatahCutiDanIzinService { .filter(HariLiburTerpakai::getIsCutiBersamaDitangguhkan).collect(Collectors.toList()); if (listPresensiCutiBersamaBisaDitangguhkan.isEmpty()) return 0; - List listCutiDiCutiBersamaTahunLalu = tanggalCutiDao.getCutiByTahun(request.getPegawaiId(), - LIBUR_CB, awalTahunLalu, akhirTahunLalu); + int cutiDiCutiBersama = 0; + if (tahunLalu.before(awal2024)) { + List listCutiDiCutiBersamaTahunLalu = tanggalCutiDao + .getCutiByTahun(request.getPegawaiId(), LIBUR_CB, awalTahunLalu, akhirTahunLalu); + cutiDiCutiBersama = listCutiDiCutiBersamaTahunLalu.size(); + } if (DateUtil.getYear(new Date()) == Integer.parseInt(request.getYear())) { List listCutiTahunLaluBelumDisetujui = tanggalCutiDao .notApprovedByPermohonan(request.getPegawaiId(), CUTI_TAHUNAN, awalTahunLalu, akhirTahunLalu); int presensiCutiBersama = listPresensiTahunLalu.size(); - int cutiDiCutiBersama = listCutiDiCutiBersamaTahunLalu.size(); int sisaJatah = presensiCutiBersama + cutiDiCutiBersama - cutiBersamaTerpakaiTahunLalu; int jatahDitangguhkan = listPresensiCutiBersamaBisaDitangguhkan.size() - listCutiTahunLaluBelumDisetujui.size();