From 824baf5c7a324a805bb94a6463480a392f2862d9 Mon Sep 17 00:00:00 2001 From: salmanoe Date: Mon, 11 Jan 2021 16:23:56 +0700 Subject: [PATCH] perbaikan hitung sisa cuti dua tahun lalu jika belum memakai jatah cuti dua tahun berturut-turut --- .../impl/PermohonanStatusPegawaiImpl.java | 34 ++++++++++++++----- 1 file changed, 26 insertions(+), 8 deletions(-) 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 82e397aa..9c3bf717 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 @@ -531,12 +531,18 @@ public class PermohonanStatusPegawaiImpl implements PermohonanStatusPegawaiServi // menghitung sisa cuti terlebih dahulu if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2) + difCutiTerpakai(cutiTerpakaiN1, dataCutiB1) < 12) { - if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2) >= 0 && jCutiN1) { + if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2) > 0) { sisaCutiN2 = 0; // hangus } else { if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2) + difCutiTerpakai(cutiTerpakaiN1, dataCutiB1) < 6 && dataCutiN2 > 0) { - sisaCutiN2 = 6 - jatahCutiTerpakaiN2; + if (jatahCutiTerpakaiN2 == 0) { + sisaCutiN2 = 6; + } else if (!jCutiN2 && !jCutiN1) { + sisaCutiN2 = 6 - jatahCutiTerpakaiN2; + } else { + sisaCutiN2 = 0; + } } else if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2) + difCutiTerpakai(cutiTerpakaiN1, dataCutiB1) < 6 && dataCutiN2 <= 0) { sisaCutiN2 = 0; @@ -587,12 +593,18 @@ public class PermohonanStatusPegawaiImpl implements PermohonanStatusPegawaiServi // menghitung sisa cuti terlebih dahulu if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2) + difCutiTerpakai(cutiTerpakaiN1, dataCutiB1) < 12) { - if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2) >= 0 && jCutiN1) { + if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2) > 0) { sisaCutiN2 = 0; // hangus } else { if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2) + difCutiTerpakai(cutiTerpakaiN1, dataCutiB1) < 6 && dataCutiN2 > 0) { - sisaCutiN2 = 6 - jatahCutiTerpakaiN2; + if (jatahCutiTerpakaiN2 == 0) { + sisaCutiN2 = 6; + } else if (!jCutiN2 && !jCutiN1) { + sisaCutiN2 = 6 - jatahCutiTerpakaiN2; + } else { + sisaCutiN2 = 0; + } } else if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2) + difCutiTerpakai(cutiTerpakaiN1, dataCutiB1) < 6 && dataCutiN2 <= 0) { sisaCutiN2 = 0; @@ -710,12 +722,18 @@ public class PermohonanStatusPegawaiImpl implements PermohonanStatusPegawaiServi // menghitung sisa cuti if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2) + difCutiTerpakai(cutiTerpakaiN1, dataCutiB1) < 12) { - if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2) >= 0 && jCutiN1) { + if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2) > 0) { sisaCutiN2 = 0; // hangus } else { if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2) + difCutiTerpakai(cutiTerpakaiN1, dataCutiB1) < 6 && dataCutiN2 > 0) { - sisaCutiN2 = 6 - jatahCutiTerpakaiN2; + if (jatahCutiTerpakaiN2 == 0) { + sisaCutiN2 = 6; + } else if (!jCutiN2 && !jCutiN1) { + sisaCutiN2 = 6 - jatahCutiTerpakaiN2; + } else { + sisaCutiN2 = 0; + } } else if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2) + difCutiTerpakai(cutiTerpakaiN1, dataCutiB1) < 6 && dataCutiN2 <= 0) { sisaCutiN2 = 0; @@ -733,11 +751,11 @@ public class PermohonanStatusPegawaiImpl implements PermohonanStatusPegawaiServi if (dataCutiN1 - jatahCutiTerpakaiN1 >= 6 && !jCutiN1) { jumlahTglByPengajuan -= (dataHistoriCutiTerpakai + jatahCutiTerpakaiN2 + cutiTerpakaiB + cutiTerpakaiB1 + cutiTerpakaiB2); - + if (jumlahTglByPengajuan < 0) { jumlahTglByPengajuan = 0; } - + if (jumlahTglByPengajuan > jatahCutiTerpakaiN1) { sisaCutiN1 = 6; } else {