Merge branch 'dev/pegawai/cuti' of ssh://172.16.55.31/volume1/git/SC-be-java into dev/pegawai/cuti

This commit is contained in:
Salman Manoe 2025-01-14 07:52:50 +07:00
commit e285b15682

View File

@ -551,15 +551,14 @@ public class JatahCutiDanIzinServiceImpl implements JatahCutiDanIzinService {
Date previousYear = DateUtil.getInstanceCalendar(-1);
Date janFirstPrevYear = DateUtil.startYear(previousYear);
Date decEndPrevYear = DateUtil.endYear(previousYear);
List<PresensiHariLibur> listPresensiPrevYear = mapKalenderToHariLiburDao.getPresensiByTahun(request.getPegawaiId(),
janFirstPrevYear, decEndPrevYear);
List<MapKalenderToHariLibur> listCBPrevYear = mapKalenderToHariLiburDao.getByTahun(LIBUR_CB, janFirstPrevYear, decEndPrevYear);
List<MapKalenderToHariLibur> listCBPrevYear = mapKalenderToHariLiburDao.getByTahun(LIBUR_CB, janFirstPrevYear,
decEndPrevYear);
int countCBPrevYear = listCBPrevYear.size();
List<MapKalenderToHariLibur> listCBPrevYearSuspended = listCBPrevYear.stream()
.filter(MapKalenderToHariLibur::getIsCutiBersamaDitangguhkan)
.collect(Collectors.toList());
int countCBSuspended = listCBPrevYearSuspended.size();
.filter(MapKalenderToHariLibur::getIsCutiBersamaDitangguhkan).collect(Collectors.toList());
int countCBAllocated = 0;
List<PresensiHariLibur> listPresensiPrevYear = mapKalenderToHariLiburDao
.getPresensiByTahun(request.getPegawaiId(), janFirstPrevYear, decEndPrevYear);
for (PresensiHariLibur presensiPrevYear : listPresensiPrevYear) {
for (MapKalenderToHariLibur cbPrevYearSuspended : listCBPrevYearSuspended) {
if (presensiPrevYear.getTanggal().equals(cbPrevYearSuspended.getTanggal().getTanggal())) {
@ -568,8 +567,12 @@ public class JatahCutiDanIzinServiceImpl implements JatahCutiDanIzinService {
}
}
}
if (dto.getCutiTerpakaiB1() < countCBPrevYear && countCBPrevYear - dto.getCutiTerpakaiB1() > countCBSuspended)
dto.setDataCutiB(countCBSuspended);
if (dto.getCutiTerpakaiB1() < countCBPrevYear) {
if (countCBPrevYear - dto.getCutiTerpakaiB1() > countCBAllocated) {
dto.setDataCutiB(dto.getDataCutiB() + countCBAllocated);
dto.setSisaCutiB(dto.getDataCutiB() - dto.getCutiTerpakaiB());
}
}
return dto;
}