Update LogbookKinerjaDetailService

Perbaikan service fungsi simpan total capaian saat verifikasi catatan kegiatan harian
This commit is contained in:
Salman Manoe 2022-04-03 11:13:33 +07:00
parent 536600138d
commit 57de829702

View File

@ -48,24 +48,34 @@ public class LogbookKinerjaDetailServiceImpl extends BaseVoServiceImpl implement
LogbookKinerjaDetail logbookKinerjaDetail = logbookKinerjaDetailConverter.transferVOToModel(vo,
new LogbookKinerjaDetail());
/**
* menghitung capaian indikator satuan yang harus dihitung secara
* akumulatif
*/
if (vo.getStatusEnabled() && vo.getStatusVerifikasi()) {
logbookKinerja.setCapaian(logbookKinerja.getCapaian() + vo.getCapaian());
}
logbookKinerjaDetail.setLogbookKinerja(logbookKinerja);
logbookKinerjaDetail.setTanggalKegiatan(new Date());
logbookKinerjaDao.save(logbookKinerja);
LogbookKinerjaDetail resultModel = logbookKinerjaDetailDao.save(logbookKinerjaDetail);
/**
* menghitung capaian indikator satuan yang harus dihitung secara
* rata-rata
*/
if (CommonUtil.isNotNullOrEmpty(resultModel)) {
/**
* menghitung capaian indikator satuan yang harus dihitung secara
* akumulatif
*/
List<Map<String, Object>> dataSatuanJumlah = logbookKinerjaDetailDao.findSumCapaianByKontrak(
vo.getLogbookKinerja().getNoRec(), Arrays.asList(Master.SatuanIndikator.PERCENTAGE));
if (CommonUtil.isNotNullOrEmpty(dataSatuanJumlah)) {
List<LogbookKinerja> models = new ArrayList<>();
for (Map<String, Object> map : dataSatuanJumlah) {
LogbookKinerja model = logbookKinerjaDao.findOne(map.get("logbookId").toString());
model.setCapaian(Double.valueOf(map.get("sumCapaian").toString()));
models.add(model);
}
logbookKinerjaDao.save(models);
}
/**
* menghitung capaian indikator satuan yang harus dihitung secara
* rata-rata
*/
List<Map<String, Object>> dataSatuanRatarata = logbookKinerjaDetailDao.findAvgCapaianByKontrak(
vo.getLogbookKinerja().getNoRec(), Arrays.asList(Master.SatuanIndikator.PERCENTAGE));
if (CommonUtil.isNotNullOrEmpty(dataSatuanRatarata)) {