Bug Fixing Not Update Capaian When Data Not Present

This commit is contained in:
adesyawal 2026-02-02 13:51:09 +07:00
parent 90d511e928
commit 1a6f7fcd16

View File

@ -333,24 +333,25 @@ public class LogbookKinerjaDetailServiceImpl extends BaseVoServiceImpl implement
logbookKinerjaDetailDao.save(catatanKinerja); logbookKinerjaDetailDao.save(catatanKinerja);
} }
{ {
Optional<LogbookKinerja> byIdLogbook = logbookKinerjaDao Optional<LogbookKinerja> byIdLogbook = logbookKinerjaDao.findByNoRec(catatanKinerja.getLogbookKinerjaId());
.findByNoRec(catatanKinerja.getLogbookKinerjaId());
byIdLogbook.ifPresent(logbookKinerja -> { byIdLogbook.ifPresent(logbookKinerja -> {
if (Arrays.asList(PERCENTAGE) if (Arrays.asList(PERCENTAGE).contains(logbookKinerja.getIndikatorKinerja().getSatuanIndikatorId())) {
.contains(logbookKinerja.getIndikatorKinerja().getSatuanIndikatorId())) { List<Map<String, Object>> listCatatan = logbookKinerjaDetailDao.findAvgCapaianByKontrak(logbookKinerja.getNoRec(), Arrays.asList(PERCENTAGE));
List<Map<String, Object>> listCatatan = logbookKinerjaDetailDao Optional<Map<String, Object>> catatan = listCatatan.stream().filter(c -> logbookKinerja.getNoRec().equals(c.get("logbookId"))).findFirst();
.findAvgCapaianByKontrak(logbookKinerja.getNoRec(), Arrays.asList(PERCENTAGE)); if (catatan.isPresent()) {
Optional<Map<String, Object>> catatan = listCatatan.stream() logbookKinerja.setCapaian(Double.parseDouble(catatan.get().get("avgCapaian").toString()));
.filter(c -> logbookKinerja.getNoRec().equals(c.get("logbookId"))).findFirst(); } else {
catatan.ifPresent( logbookKinerja.setCapaian(0.0);
c -> logbookKinerja.setCapaian(Double.parseDouble(c.get("avgCapaian").toString()))); }
} else { } else {
List<Map<String, Object>> listCatatan = logbookKinerjaDetailDao List<Map<String, Object>> listCatatan = logbookKinerjaDetailDao.findSumCapaianByKontrak(logbookKinerja.getNoRec(), Arrays.asList(PERCENTAGE));
.findSumCapaianByKontrak(logbookKinerja.getNoRec(), Arrays.asList(PERCENTAGE)); Optional<Map<String, Object>> catatan = listCatatan.stream().filter(c -> logbookKinerja.getNoRec().equals(c.get("logbookId"))).findFirst();
Optional<Map<String, Object>> catatan = listCatatan.stream() if (catatan.isPresent()) {
.filter(c -> logbookKinerja.getNoRec().equals(c.get("logbookId"))).findFirst(); logbookKinerja.setCapaian(Double.parseDouble(catatan.get().get("sumCapaian").toString()));
catatan.ifPresent( } else {
c -> logbookKinerja.setCapaian(Double.parseDouble(c.get("sumCapaian").toString()))); logbookKinerja.setCapaian(0.0);
}
} }
logbookKinerjaDao.save(logbookKinerja); logbookKinerjaDao.save(logbookKinerja);
}); });