From 307b0d098828a1cec3b19f2b810dc7c8f5cefae8 Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Fri, 17 Jan 2025 16:56:42 +0700 Subject: [PATCH] Update service jatah cuti dan izin Perbaikan hitung jatah cuti tahun lalu setelah dapat penangguhan cuti bersama --- .../impl/JatahCutiDanIzinServiceImpl.java | 18 ++++++++++-------- .../impl/PermohonanStatusPegawaiImpl.java | 3 +++ 2 files changed, 13 insertions(+), 8 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 22593f02..8ce603e4 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 @@ -562,14 +562,16 @@ public class JatahCutiDanIzinServiceImpl implements JatahCutiDanIzinService { .filter(PresensiHariLibur::getIsCutiBersamaDitangguhkan).collect(Collectors.toList()); if (listPresensiCutiBersamaBisaDitangguhkan.isEmpty()) return dto; - List listCutiTahunLaluBelumDisetujui = tanggalCutiDao - .notApprovedByPermohonan(request.getPegawaiId(), CUTI_TAHUNAN, awalTahunLalu, akhirTahunLalu); - int presensiCutiBersama = listPresensiTahunLalu.size(); - int jatahDitangguhkan = listPresensiCutiBersamaBisaDitangguhkan.size(); - if (presensiCutiBersama - dto.getCutiTerpakaiB1() - - listCutiTahunLaluBelumDisetujui.size() >= jatahDitangguhkan) { - dto.setDataCutiB(dto.getDataCutiB() + jatahDitangguhkan); - dto.setSisaCutiB(dto.getDataCutiB() - dto.getCutiTerpakaiB()); + if (DateUtil.getYear(new Date()) == Integer.parseInt(request.getYear())) { + List listCutiTahunLaluBelumDisetujui = tanggalCutiDao + .notApprovedByPermohonan(request.getPegawaiId(), CUTI_TAHUNAN, awalTahunLalu, akhirTahunLalu); + int presensiCutiBersama = listPresensiTahunLalu.size(); + int jatahDitangguhkan = listPresensiCutiBersamaBisaDitangguhkan.size(); + if (presensiCutiBersama - dto.getCutiTerpakaiB1() + - listCutiTahunLaluBelumDisetujui.size() >= jatahDitangguhkan) { + dto.setDataCutiB(dto.getDataCutiB() + jatahDitangguhkan); + dto.setSisaCutiB(dto.getDataCutiB() - dto.getCutiTerpakaiB()); + } } return dto; } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PermohonanStatusPegawaiImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PermohonanStatusPegawaiImpl.java index dda2938a..b7ec02c0 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PermohonanStatusPegawaiImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PermohonanStatusPegawaiImpl.java @@ -2052,6 +2052,9 @@ public class PermohonanStatusPegawaiImpl implements PermohonanStatusPegawaiServi if (vo.getKomponenIndex().getId().equals(mapDataCuti.get("komponenIndex")) && vo.getTahun().equals(mapDataCuti.get("tahun").toString())) { jatahCutiDanIzin.setValue(vo.getValue()); + } else if (todaysYear == Integer.parseInt(vo.getTahun()) + && todaysYear1 == Integer.parseInt(mapDataCuti.get("tahun").toString())) { + jatahCutiDanIzin.setValue(cutiIzin.getDataCutiB1()); } else { jatahCutiDanIzin.setValue(currentData.getValue()); }