Update service jatah cuti dan izin

Perbaikan hitung jatah cuti tahun lalu setelah dapat penangguhan cuti bersama
This commit is contained in:
Salman Manoe 2025-01-17 16:56:42 +07:00
parent aad140b2ca
commit 307b0d0988
2 changed files with 13 additions and 8 deletions

View File

@ -562,14 +562,16 @@ public class JatahCutiDanIzinServiceImpl implements JatahCutiDanIzinService {
.filter(PresensiHariLibur::getIsCutiBersamaDitangguhkan).collect(Collectors.toList());
if (listPresensiCutiBersamaBisaDitangguhkan.isEmpty())
return dto;
List<ListTanggalCuti> 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<ListTanggalCuti> 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;
}

View File

@ -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());
}