diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/LogbookKinerjaDetailServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/LogbookKinerjaDetailServiceImpl.java index 32fef4cc..1c59c7ff 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/LogbookKinerjaDetailServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/LogbookKinerjaDetailServiceImpl.java @@ -333,24 +333,25 @@ public class LogbookKinerjaDetailServiceImpl extends BaseVoServiceImpl implement logbookKinerjaDetailDao.save(catatanKinerja); } { - Optional byIdLogbook = logbookKinerjaDao - .findByNoRec(catatanKinerja.getLogbookKinerjaId()); + Optional byIdLogbook = logbookKinerjaDao.findByNoRec(catatanKinerja.getLogbookKinerjaId()); byIdLogbook.ifPresent(logbookKinerja -> { - if (Arrays.asList(PERCENTAGE) - .contains(logbookKinerja.getIndikatorKinerja().getSatuanIndikatorId())) { - List> listCatatan = logbookKinerjaDetailDao - .findAvgCapaianByKontrak(logbookKinerja.getNoRec(), Arrays.asList(PERCENTAGE)); - Optional> catatan = listCatatan.stream() - .filter(c -> logbookKinerja.getNoRec().equals(c.get("logbookId"))).findFirst(); - catatan.ifPresent( - c -> logbookKinerja.setCapaian(Double.parseDouble(c.get("avgCapaian").toString()))); + if (Arrays.asList(PERCENTAGE).contains(logbookKinerja.getIndikatorKinerja().getSatuanIndikatorId())) { + List> listCatatan = logbookKinerjaDetailDao.findAvgCapaianByKontrak(logbookKinerja.getNoRec(), Arrays.asList(PERCENTAGE)); + Optional> catatan = listCatatan.stream().filter(c -> logbookKinerja.getNoRec().equals(c.get("logbookId"))).findFirst(); + if (catatan.isPresent()) { + logbookKinerja.setCapaian(Double.parseDouble(catatan.get().get("avgCapaian").toString())); + } else { + logbookKinerja.setCapaian(0.0); + } + } else { - List> listCatatan = logbookKinerjaDetailDao - .findSumCapaianByKontrak(logbookKinerja.getNoRec(), Arrays.asList(PERCENTAGE)); - Optional> catatan = listCatatan.stream() - .filter(c -> logbookKinerja.getNoRec().equals(c.get("logbookId"))).findFirst(); - catatan.ifPresent( - c -> logbookKinerja.setCapaian(Double.parseDouble(c.get("sumCapaian").toString()))); + List> listCatatan = logbookKinerjaDetailDao.findSumCapaianByKontrak(logbookKinerja.getNoRec(), Arrays.asList(PERCENTAGE)); + Optional> catatan = listCatatan.stream().filter(c -> logbookKinerja.getNoRec().equals(c.get("logbookId"))).findFirst(); + if (catatan.isPresent()) { + logbookKinerja.setCapaian(Double.parseDouble(catatan.get().get("sumCapaian").toString())); + } else { + logbookKinerja.setCapaian(0.0); + } } logbookKinerjaDao.save(logbookKinerja); });