Update JatahCutiDanIzinServiceImpl.java
Perbaikan urutan hitung jatab cuti bersama ditangguhkan dipakai dalam pengajuan cuti
This commit is contained in:
parent
02c5f250f3
commit
b64bb1d054
@ -54,9 +54,7 @@ public class JatahCutiDanIzinServiceImpl implements JatahCutiDanIzinService {
|
||||
|
||||
@Override
|
||||
public DataCutiDto getDataCuti(Integer pegawaiId, String year, Integer statusPegawaiId) {
|
||||
DataCutiDto dto = calculateCutiIzin(pegawaiId, year, statusPegawaiId);
|
||||
JatahCutiRequest jatahCutiRequest = transform(pegawaiId, year, statusPegawaiId);
|
||||
return tangguhkanCutiBersama(dto, jatahCutiRequest);
|
||||
return calculateCutiIzin(pegawaiId, year, statusPegawaiId);
|
||||
}
|
||||
|
||||
private DataCutiDto calculateCutiIzin(Integer pegawaiId, String year, Integer statusPegawaiId) {
|
||||
@ -231,7 +229,6 @@ public class JatahCutiDanIzinServiceImpl implements JatahCutiDanIzinService {
|
||||
}
|
||||
}
|
||||
dataCutiB = countDataHabsen;
|
||||
cutiIzinBuilder.dataCutiB(dataCutiB);
|
||||
// kondisikan cuti bersama yg sudah berlalu
|
||||
if (cutiTerpakaiN2 > dataCutiB2) {
|
||||
cutiTerpakaiB2 = dataCutiB2;
|
||||
@ -243,6 +240,10 @@ public class JatahCutiDanIzinServiceImpl implements JatahCutiDanIzinService {
|
||||
} else {
|
||||
cutiTerpakaiB1 = cutiTerpakaiN1;
|
||||
}
|
||||
JatahCutiRequest jatahCutiRequest = transform(pegawaiId, year, statusPegawaiId);
|
||||
int jatahCutiBersamaDitangguhkan = tangguhkanCutiBersama(cutiTerpakaiB1, jatahCutiRequest);
|
||||
dataCutiB += jatahCutiBersamaDitangguhkan;
|
||||
cutiIzinBuilder.dataCutiB(dataCutiB);
|
||||
// Mendapatkan kondisi penangguhan saat ini
|
||||
cutiIzinBuilder.isTangguhkanB2(false);
|
||||
cutiIzinBuilder.isTangguhkanB1(false);
|
||||
@ -552,7 +553,7 @@ public class JatahCutiDanIzinServiceImpl implements JatahCutiDanIzinService {
|
||||
return JatahCutiRequest.builder().pegawaiId(pegawaiId).year(year).statusPegawaiId(statusPegawaiId).build();
|
||||
}
|
||||
|
||||
private DataCutiDto tangguhkanCutiBersama(DataCutiDto dto, JatahCutiRequest request) {
|
||||
private int tangguhkanCutiBersama(Integer cutiBersamaTerpakaiTahunLalu, JatahCutiRequest request) {
|
||||
if (CommonUtil.isNullOrEmpty(request.getYear()))
|
||||
request.setYear(String.valueOf(DateUtil.getYear(new Date())));
|
||||
Date tahunLalu = DateUtil.getInstanceCalendar(-1);
|
||||
@ -563,7 +564,7 @@ public class JatahCutiDanIzinServiceImpl implements JatahCutiDanIzinService {
|
||||
List<HariLiburTerpakai> listPresensiCutiBersamaBisaDitangguhkan = listPresensiTahunLalu.stream()
|
||||
.filter(HariLiburTerpakai::getIsCutiBersamaDitangguhkan).collect(Collectors.toList());
|
||||
if (listPresensiCutiBersamaBisaDitangguhkan.isEmpty())
|
||||
return dto;
|
||||
return 0;
|
||||
List<HariLiburTerpakai> listCutiDiCutiBersamaTahunLalu = tanggalCutiDao.getCutiByTahun(request.getPegawaiId(),
|
||||
LIBUR_CB, awalTahunLalu, akhirTahunLalu);
|
||||
if (DateUtil.getYear(new Date()) == Integer.parseInt(request.getYear())) {
|
||||
@ -571,17 +572,16 @@ public class JatahCutiDanIzinServiceImpl implements JatahCutiDanIzinService {
|
||||
.notApprovedByPermohonan(request.getPegawaiId(), CUTI_TAHUNAN, awalTahunLalu, akhirTahunLalu);
|
||||
int presensiCutiBersama = listPresensiTahunLalu.size();
|
||||
int cutiDiCutiBersama = listCutiDiCutiBersamaTahunLalu.size();
|
||||
int sisaJatah = presensiCutiBersama + cutiDiCutiBersama - dto.getCutiTerpakaiB1();
|
||||
int sisaJatah = presensiCutiBersama + cutiDiCutiBersama - cutiBersamaTerpakaiTahunLalu;
|
||||
int jatahDitangguhkan = listPresensiCutiBersamaBisaDitangguhkan.size()
|
||||
- listCutiTahunLaluBelumDisetujui.size();
|
||||
if (jatahDitangguhkan >= sisaJatah) {
|
||||
if (jatahDitangguhkan < 0)
|
||||
jatahDitangguhkan = 0;
|
||||
dto.setDataCutiB(dto.getDataCutiB() + jatahDitangguhkan);
|
||||
dto.setSisaCutiB(dto.getDataCutiB() - dto.getCutiTerpakaiB());
|
||||
return jatahDitangguhkan;
|
||||
}
|
||||
}
|
||||
return dto;
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user