From df5ae6f11825e2836f492890f2b86d6e9aa6e848 Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Thu, 16 Jan 2025 15:29:05 +0700 Subject: [PATCH 1/3] Update service jatah cuti dan izin Perbaikan perhitungan cuti terpakai dua tahun sebelumnya --- .../service/impl/JatahCutiDanIzinServiceImpl.java | 7 ++++--- .../src/main/resources/jdbc.development.properties | 4 ++-- 2 files changed, 6 insertions(+), 5 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 73aa7f53..22593f02 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 @@ -287,7 +287,7 @@ public class JatahCutiDanIzinServiceImpl implements JatahCutiDanIzinService { if (dataCutiN2 > 0) { if (allCutiTerpakai >= dataCutiN2) { if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2) - + difCutiTerpakai(cutiTerpakaiN1, dataCutiB1) < 12) { + + difCutiTerpakai(cutiTerpakaiN1, dataCutiB1) < dataCutiN2) { jatahCutiTerpakaiN2 = difCutiTerpakai(cutiTerpakaiN2, dataCutiB2) + difCutiTerpakai(cutiTerpakaiN1, dataCutiB1); } else { @@ -295,14 +295,15 @@ public class JatahCutiDanIzinServiceImpl implements JatahCutiDanIzinService { } } else { if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2) - + difCutiTerpakai(cutiTerpakaiN1, dataCutiB1) < 12) { + + difCutiTerpakai(cutiTerpakaiN1, dataCutiB1) < dataCutiN2) { jatahCutiTerpakaiN2 = difCutiTerpakai(cutiTerpakaiN2, dataCutiB2) + difCutiTerpakai(cutiTerpakaiN1, dataCutiB1); } else { jatahCutiTerpakaiN2 = allCutiTerpakai; } } - if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2) + difCutiTerpakai(cutiTerpakaiN1, dataCutiB1) < 12) { + if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2) + + difCutiTerpakai(cutiTerpakaiN1, dataCutiB1) < dataCutiN2) { if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2) > 0) { sisaCutiN2 = 0; // hangus } else { diff --git a/jasamedika-config/src/main/resources/jdbc.development.properties b/jasamedika-config/src/main/resources/jdbc.development.properties index 5db229ff..57bb2f0b 100644 --- a/jasamedika-config/src/main/resources/jdbc.development.properties +++ b/jasamedika-config/src/main/resources/jdbc.development.properties @@ -8,11 +8,11 @@ hibernate.show_sql = true hikari.config.maximum.pool.size = 5 # DB Development -jdbc.url = jdbc:postgresql://192.168.12.3:5432/rsab_hk_24_08_20 +jdbc.url = jdbc:postgresql://192.168.12.3:5432/rsab_hk_25_01_14 jdbc.username = smart_user jdbc.password = 1miwhir3yr jdbc.serverName = 192.168.12.3 -jdbc.databaseName = rsab_hk_24_08_20 +jdbc.databaseName = rsab_hk_25_01_14 jdbc.portNumber = 5432 corePoolSizeAsyncConfigurer = 5 From aad140b2cadb8ae7f506f682cf42952251fe5811 Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Fri, 17 Jan 2025 10:47:33 +0700 Subject: [PATCH 2/3] Update ListTanggalCutiDao.java Penambahan validasi cuti belum disetujui hanya untuk pengajuan tahun sebelumnya --- .../com/jasamedika/medifirst2000/dao/ListTanggalCutiDao.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/ListTanggalCutiDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/ListTanggalCutiDao.java index 637de75f..ec07e90e 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/ListTanggalCutiDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/ListTanggalCutiDao.java @@ -56,7 +56,8 @@ public interface ListTanggalCutiDao extends PagingAndSortingRepository notApprovedByPermohonan(@Param("idPegawai") Integer idPegawai, @Param("idJenisPermohonan") Integer idJenisPermohonan, @Param("tglAwal") Date tglAwal, @Param("tglAkhir") Date tglAkhir); From 307b0d098828a1cec3b19f2b810dc7c8f5cefae8 Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Fri, 17 Jan 2025 16:56:42 +0700 Subject: [PATCH 3/3] 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()); }