From 502d68b47a5b63982ab173a09b3edcf9104858ce Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Thu, 7 Nov 2024 20:27:34 +0700 Subject: [PATCH] Update service log catatan kinerja Pembuatan parameter pencarian saat monitoring log verifikasi catatan kinerja --- .../dao/LogbookKinerjaDetailLogDao.java | 19 +++++++++++++++++++ .../LogbookKinerjaDetailLogService.java | 2 +- .../LogbookKinerjaDetailLogServiceImpl.java | 5 +++-- .../IkiDanRemunerasiController.java | 5 +++-- 4 files changed, 26 insertions(+), 5 deletions(-) diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/LogbookKinerjaDetailLogDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/LogbookKinerjaDetailLogDao.java index 881f78b6..254c35e0 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/LogbookKinerjaDetailLogDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/LogbookKinerjaDetailLogDao.java @@ -1,7 +1,11 @@ package com.jasamedika.medifirst2000.dao; import com.jasamedika.medifirst2000.entities.LogbookKinerjaDetailLog; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.query.Param; /** * @author salmanoe @@ -9,4 +13,19 @@ import org.springframework.data.jpa.repository.JpaRepository; * @since 31/10/2024 */ public interface LogbookKinerjaDetailLogDao extends JpaRepository { + + @Query("select log from LogbookKinerjaDetailLog log " + "inner join log.catatanKinerja lkd " + + "inner join lkd.logbookKinerja lk " + "inner join lk.indikatorKinerja ikm " + + "inner join lk.pegawai pg " + "inner join log.pegawai ats " + + "where lower(ikm.namaIndikator) like %:querySearch% " + "or lower(lkd.namaKegiatan) like %:querySearch% " + + "or to_char(lkd.tanggalKegiatan, 'yyyy') like %:querySearch% " + + "or to_char(lkd.tanggalKegiatan, 'MM/yyyy') like %:querySearch% " + + "or to_char(lkd.tanggalKegiatan, 'dd/MM/yyyy') like %:querySearch% " + + "or lower(pg.namaLengkap) like %:querySearch% " + "or lower(log.jenisLog) like %:querySearch% " + + "or to_char(log.tanggalDibuat, 'yyyy') like %:querySearch% " + + "or to_char(log.tanggalDibuat, 'MM/yyyy') like %:querySearch% " + + "or to_char(log.tanggalDibuat, 'dd/MM/yyyy') like %:querySearch% " + + "or lower(ats.nipPns) like %:querySearch% " + "or lower(ats.namaLengkap) like %:querySearch%") + Page findBySearchQuery(@Param("querySearch") String querySearch, Pageable pageable); + } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/LogbookKinerjaDetailLogService.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/LogbookKinerjaDetailLogService.java index 4c6be046..dc26bf32 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/LogbookKinerjaDetailLogService.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/LogbookKinerjaDetailLogService.java @@ -14,6 +14,6 @@ public interface LogbookKinerjaDetailLogService { void save(LogbookKinerjaDetailLogReqDto dto); - Page list(Pageable pageable); + Page list(String search, Pageable pageable); } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/LogbookKinerjaDetailLogServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/LogbookKinerjaDetailLogServiceImpl.java index 6b6fc14c..5f396e5c 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/LogbookKinerjaDetailLogServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/LogbookKinerjaDetailLogServiceImpl.java @@ -67,8 +67,9 @@ public class LogbookKinerjaDetailLogServiceImpl implements LogbookKinerjaDetailL } @Override - public Page list(Pageable pageable) { - Page logPage = logbookKinerjaDetailLogDao.findAll(pageable); + public Page list(String search, Pageable pageable) { + Page logPage = logbookKinerjaDetailLogDao.findBySearchQuery(search.toLowerCase(), + pageable); List dtoList = new ArrayList<>(); logPage.getContent().forEach(log -> { LogbookKinerjaDetailLogDto.LogbookKinerjaDetailLogDtoBuilder dtoBuilder = LogbookKinerjaDetailLogDto diff --git a/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/IkiDanRemunerasiController.java b/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/IkiDanRemunerasiController.java index d21cd852..3df0e2b6 100644 --- a/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/IkiDanRemunerasiController.java +++ b/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/IkiDanRemunerasiController.java @@ -2858,10 +2858,11 @@ public class IkiDanRemunerasiController extends LocaleController> logsKinerja(HttpServletRequest request, - @RequestParam(value = "page") int page, @RequestParam(value = "size") int size) { + @RequestParam(value = "search") String search, @RequestParam(value = "page") int page, + @RequestParam(value = "size") int size) { try { Pageable pageable = new PageRequest(page, size); - Page dtoPage = logbookLogService.list(pageable); + Page dtoPage = logbookLogService.list(search, pageable); mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); return RestUtil.getJsonResponse(dtoPage, HttpStatus.OK, mapHeaderMessage);