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); 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..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 @@ -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 { @@ -561,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()); }