From a8047605bc650fe78e7702846e118f2e5c6d2c01 Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Tue, 12 Nov 2024 16:56:37 +0700 Subject: [PATCH] Update service log verif catatan kinerja Pembuatan fitur pencarian log catatan kinerja --- .../dao/LogbookKinerjaDetailLogDao.java | 124 ++++++++++++++++-- .../LogbookKinerjaDetailLogService.java | 3 +- .../LogbookKinerjaDetailLogServiceImpl.java | 61 ++++++++- .../service/impl/PegawaiServiceImpl.java | 14 +- .../IkiDanRemunerasiController.java | 16 ++- 5 files changed, 193 insertions(+), 25 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 254c35e0..fcd2ecd0 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 @@ -7,6 +7,8 @@ import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; +import java.util.Date; + /** * @author salmanoe * @version 1.0.0 @@ -15,17 +17,115 @@ import org.springframework.data.repository.query.Param; 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); + + "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 %:indikator% " + + "order by log.tanggalDibuat asc") + Page findBySearchIndikator(@Param("indikator") String indikator, Pageable pageable); + + @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(lkd.namaKegiatan) like %:kegiatan% " + + "order by log.tanggalDibuat asc") + Page findBySearchKegiatan(@Param("kegiatan") String kegiatan, Pageable pageable); + + @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 lkd.tanggalKegiatan between :startDate and :endDate " + + "order by log.tanggalDibuat asc") + Page findBySearchTanggal(@Param("startDate") Date startDate, + @Param("endDate") Date endDate, Pageable pageable); + + @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(pg.namaLengkap) like %:pegawai% " + + "order by log.tanggalDibuat asc") + Page findBySearchPegawai(@Param("pegawai") String pegawai, Pageable pageable); + + @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 %:indikator% " + + "and lower(lkd.namaKegiatan) like %:kegiatan% " + "order by log.tanggalDibuat asc") + Page findBySearchIndikatorKegiatan(@Param("indikator") String indikator, + @Param("kegiatan") String kegiatan, Pageable pageable); + + @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 %:indikator% " + + "and lkd.tanggalKegiatan between :startDate and :endDate " + "order by log.tanggalDibuat asc") + Page findBySearchIndikatorTanggal(@Param("indikator") String indikator, + @Param("startDate") Date startDate, @Param("endDate") Date endDate, Pageable pageable); + + @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 %:indikator% " + + "and lower(pg.namaLengkap) like %:pegawai% " + "order by log.tanggalDibuat asc") + Page findBySearchIndikatorPegawai(@Param("indikator") String indikator, + @Param("pegawai") String pegawai, Pageable pageable); + + @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(lkd.namaKegiatan) like %:kegiatan% " + + "and lkd.tanggalKegiatan between :startDate and :endDate " + "order by log.tanggalDibuat asc") + Page findBySearchKegiatanTanggal(@Param("kegiatan") String kegiatan, + @Param("startDate") Date startDate, @Param("endDate") Date endDate, Pageable pageable); + + @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(lkd.namaKegiatan) like %:kegiatan% " + + "and lower(pg.namaLengkap) like %:pegawai% " + "order by log.tanggalDibuat asc") + Page findBySearchKegiatanPegawai(@Param("kegiatan") String kegiatan, + @Param("pegawai") String pegawai, Pageable pageable); + + @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 lkd.tanggalKegiatan between :startDate and :endDate " + + "and lower(pg.namaLengkap) like %:pegawai% " + "order by log.tanggalDibuat asc") + Page findBySearchTanggalPegawai(@Param("startDate") Date startDate, + @Param("endDate") Date endDate, @Param("pegawai") String pegawai, Pageable pageable); + + @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 %:indikator% " + + "and lower(lkd.namaKegiatan) like %:kegiatan% " + + "and lkd.tanggalKegiatan between :startDate and :endDate " + "order by log.tanggalDibuat asc") + Page findBySearchIndikatorKegiatanTanggal(@Param("indikator") String indikator, + @Param("kegiatan") String kegiatan, @Param("startDate") Date startDate, @Param("endDate") Date endDate, + Pageable pageable); + + @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 %:indikator% " + + "and lkd.tanggalKegiatan between :startDate and :endDate " + "and lower(pg.namaLengkap) like %:pegawai% " + + "order by log.tanggalDibuat asc") + Page findBySearchIndikatorTanggalPegawai(@Param("indikator") String indikator, + @Param("startDate") Date startDate, @Param("endDate") Date endDate, @Param("pegawai") String pegawai, + Pageable pageable); + + @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 %:indikator% " + + "and lower(lkd.namaKegiatan) like %:kegiatan% " + "and lower(pg.namaLengkap) like %:pegawai% " + + "order by log.tanggalDibuat asc") + Page findBySearchIndikatorKegiatanPegawai(@Param("indikator") String indikator, + @Param("kegiatan") String kegiatan, @Param("pegawai") String pegawai, Pageable pageable); + + @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(lkd.namaKegiatan) like %:kegiatan% " + + "and lkd.tanggalKegiatan between :startDate and :endDate " + "and lower(pg.namaLengkap) like %:pegawai% " + + "order by log.tanggalDibuat asc") + Page findBySearchKegiatanTanggalPegawai(@Param("kegiatan") String kegiatan, + @Param("startDate") Date startDate, @Param("endDate") Date endDate, @Param("pegawai") String pegawai, + Pageable pageable); + + @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 %:indikator% " + + "and lower(lkd.namaKegiatan) like %:kegiatan% " + + "and lkd.tanggalKegiatan between :startDate and :endDate " + "and lower(pg.namaLengkap) like %:pegawai% " + + "order by log.tanggalDibuat asc") + Page findBySearchIndikatorKegiatanTanggalPegawai(@Param("indikator") String indikator, + @Param("kegiatan") String kegiatan, @Param("startDate") Date startDate, @Param("endDate") Date endDate, + @Param("pegawai") String pegawai, 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..a2f80cbb 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,7 @@ public interface LogbookKinerjaDetailLogService { void save(LogbookKinerjaDetailLogReqDto dto); - Page list(Pageable pageable); + Page search(String indikator, String kegiatan, Long tglAwalKegiatan, + Long tglAkhirKegiatan, String pegawai, 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..df05b468 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 @@ -10,6 +10,7 @@ import com.jasamedika.medifirst2000.entities.LogbookKinerjaDetailLog; import com.jasamedika.medifirst2000.entities.Pegawai; import com.jasamedika.medifirst2000.service.LogbookKinerjaDetailLogService; import com.jasamedika.medifirst2000.service.LoginUserService; +import com.jasamedika.medifirst2000.util.CommonUtil; import com.jasamedika.medifirst2000.vo.LogbookKinerjaDetailVO; import com.jasamedika.medifirst2000.vo.PegawaiVO; import org.springframework.beans.factory.annotation.Autowired; @@ -67,8 +68,64 @@ public class LogbookKinerjaDetailLogServiceImpl implements LogbookKinerjaDetailL } @Override - public Page list(Pageable pageable) { - Page logPage = logbookKinerjaDetailLogDao.findAll(pageable); + public Page search(String indikator, String kegiatan, Long tglAwalKegiatan, + Long tglAkhirKegiatan, String pegawai, Pageable pageable) { + Page logPage; + if (CommonUtil.isNotNullOrEmpty(indikator) && CommonUtil.isNotNullOrEmpty(kegiatan) + && CommonUtil.isNotNullOrEmpty(tglAwalKegiatan) && CommonUtil.isNotNullOrEmpty(tglAkhirKegiatan) + && CommonUtil.isNotNullOrEmpty(pegawai)) { + logPage = logbookKinerjaDetailLogDao.findBySearchIndikatorKegiatanTanggalPegawai(indikator.toLowerCase(), + kegiatan.toLowerCase(), new Date(tglAwalKegiatan), new Date(tglAkhirKegiatan), + pegawai.toLowerCase(), pageable); + } else if (CommonUtil.isNotNullOrEmpty(kegiatan) && CommonUtil.isNotNullOrEmpty(tglAwalKegiatan) + && CommonUtil.isNotNullOrEmpty(tglAkhirKegiatan) && CommonUtil.isNotNullOrEmpty(pegawai)) { + logPage = logbookKinerjaDetailLogDao.findBySearchKegiatanTanggalPegawai(kegiatan.toLowerCase(), + new Date(tglAwalKegiatan), new Date(tglAkhirKegiatan), pegawai.toLowerCase(), pageable); + } else if (CommonUtil.isNotNullOrEmpty(indikator) && CommonUtil.isNotNullOrEmpty(kegiatan) + && CommonUtil.isNotNullOrEmpty(pegawai)) { + logPage = logbookKinerjaDetailLogDao.findBySearchIndikatorKegiatanPegawai(indikator.toLowerCase(), + kegiatan.toLowerCase(), pegawai.toLowerCase(), pageable); + } else if (CommonUtil.isNotNullOrEmpty(indikator) && CommonUtil.isNotNullOrEmpty(tglAwalKegiatan) + && CommonUtil.isNotNullOrEmpty(tglAkhirKegiatan) && CommonUtil.isNotNullOrEmpty(pegawai)) { + logPage = logbookKinerjaDetailLogDao.findBySearchIndikatorTanggalPegawai(indikator.toLowerCase(), + new Date(tglAwalKegiatan), new Date(tglAkhirKegiatan), pegawai.toLowerCase(), pageable); + } else if (CommonUtil.isNotNullOrEmpty(indikator) && CommonUtil.isNotNullOrEmpty(kegiatan) + && CommonUtil.isNotNullOrEmpty(tglAwalKegiatan) && CommonUtil.isNotNullOrEmpty(tglAkhirKegiatan)) { + logPage = logbookKinerjaDetailLogDao.findBySearchIndikatorKegiatanTanggal(indikator.toLowerCase(), + kegiatan.toLowerCase(), new Date(tglAwalKegiatan), new Date(tglAkhirKegiatan), pageable); + } else if (CommonUtil.isNotNullOrEmpty(tglAwalKegiatan) && CommonUtil.isNotNullOrEmpty(tglAkhirKegiatan) + && CommonUtil.isNotNullOrEmpty(pegawai)) { + logPage = logbookKinerjaDetailLogDao.findBySearchTanggalPegawai(new Date(tglAwalKegiatan), + new Date(tglAkhirKegiatan), pegawai.toLowerCase(), pageable); + } else if (CommonUtil.isNotNullOrEmpty(kegiatan) && CommonUtil.isNotNullOrEmpty(pegawai)) { + logPage = logbookKinerjaDetailLogDao.findBySearchKegiatanPegawai(kegiatan.toLowerCase(), + pegawai.toLowerCase(), pageable); + } else if (CommonUtil.isNotNullOrEmpty(kegiatan) && CommonUtil.isNotNullOrEmpty(tglAwalKegiatan) + && CommonUtil.isNotNullOrEmpty(tglAkhirKegiatan)) { + logPage = logbookKinerjaDetailLogDao.findBySearchKegiatanTanggal(kegiatan.toLowerCase(), + new Date(tglAwalKegiatan), new Date(tglAkhirKegiatan), pageable); + } else if (CommonUtil.isNotNullOrEmpty(indikator) && CommonUtil.isNotNullOrEmpty(pegawai)) { + logPage = logbookKinerjaDetailLogDao.findBySearchIndikatorPegawai(indikator.toLowerCase(), + pegawai.toLowerCase(), pageable); + } else if (CommonUtil.isNotNullOrEmpty(indikator) && CommonUtil.isNotNullOrEmpty(tglAwalKegiatan) + && CommonUtil.isNotNullOrEmpty(tglAkhirKegiatan)) { + logPage = logbookKinerjaDetailLogDao.findBySearchIndikatorTanggal(indikator.toLowerCase(), + new Date(tglAwalKegiatan), new Date(tglAkhirKegiatan), pageable); + } else if (CommonUtil.isNotNullOrEmpty(indikator) && CommonUtil.isNotNullOrEmpty(kegiatan)) { + logPage = logbookKinerjaDetailLogDao.findBySearchIndikatorKegiatan(indikator.toLowerCase(), + kegiatan.toLowerCase(), pageable); + } else if (CommonUtil.isNotNullOrEmpty(pegawai)) { + logPage = logbookKinerjaDetailLogDao.findBySearchPegawai(pegawai.toLowerCase(), pageable); + } else if (CommonUtil.isNotNullOrEmpty(tglAwalKegiatan) && CommonUtil.isNotNullOrEmpty(tglAkhirKegiatan)) { + logPage = logbookKinerjaDetailLogDao.findBySearchTanggal(new Date(tglAwalKegiatan), + new Date(tglAkhirKegiatan), pageable); + } else if (CommonUtil.isNotNullOrEmpty(kegiatan)) { + logPage = logbookKinerjaDetailLogDao.findBySearchKegiatan(kegiatan.toLowerCase(), pageable); + } else if (CommonUtil.isNotNullOrEmpty(indikator)) { + logPage = logbookKinerjaDetailLogDao.findBySearchIndikator(indikator.toLowerCase(), pageable); + } else { + logPage = logbookKinerjaDetailLogDao.findAll(pageable); + } List dtoList = new ArrayList<>(); logPage.getContent().forEach(log -> { LogbookKinerjaDetailLogDto.LogbookKinerjaDetailLogDtoBuilder dtoBuilder = LogbookKinerjaDetailLogDto diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PegawaiServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PegawaiServiceImpl.java index ac40fd94..c01b72b8 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PegawaiServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PegawaiServiceImpl.java @@ -6,8 +6,8 @@ import com.jasamedika.medifirst2000.constants.Master; import com.jasamedika.medifirst2000.converter.PegawaiConverter; import com.jasamedika.medifirst2000.dao.*; import com.jasamedika.medifirst2000.dao.custom.PegawaiDaoCustom; -import com.jasamedika.medifirst2000.dto.compreface.request.FaceSubjectReq; import com.jasamedika.medifirst2000.dto.PegawaiDto; +import com.jasamedika.medifirst2000.dto.compreface.request.FaceSubjectReq; import com.jasamedika.medifirst2000.dto.compreface.response.FaceSubjectRes; import com.jasamedika.medifirst2000.entities.*; import com.jasamedika.medifirst2000.exception.ServiceVOException; @@ -36,7 +36,9 @@ import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort; -import org.springframework.http.*; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpHeaders; +import org.springframework.http.ResponseEntity; import org.springframework.orm.jpa.JpaSystemException; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; @@ -51,7 +53,6 @@ import java.util.*; import static org.springframework.http.HttpMethod.GET; import static org.springframework.http.HttpMethod.POST; -import static org.springframework.http.HttpStatus.CREATED; import static org.springframework.http.HttpStatus.OK; import static org.springframework.http.MediaType.APPLICATION_JSON; @@ -65,9 +66,6 @@ public class PegawaiServiceImpl extends BaseVoServiceImpl implements PegawaiServ private static final Logger log = LoggerFactory.getLogger(PegawaiServiceImpl.class); - @Autowired - private ObjectMapper objectMapper; - @Value("${systemDirectory}") String systemDirectory; @@ -2398,7 +2396,7 @@ public class PegawaiServiceImpl extends BaseVoServiceImpl implements PegawaiServ listLabelDokter.forEach(s -> { try { FaceSubjectReq dto = FaceSubjectReq.builder().subject(s).build(); - JSONObject jsonObject = new JSONObject(objectMapper.writeValueAsString(dto)); + JSONObject jsonObject = new JSONObject(new ObjectMapper().writeValueAsString(dto)); HttpEntity httpEntity = new HttpEntity<>(jsonObject.toString(), headers); ResponseEntity exchange = template.exchange(uri, POST, httpEntity, FaceSubjectReq.class); @@ -2427,7 +2425,7 @@ public class PegawaiServiceImpl extends BaseVoServiceImpl implements PegawaiServ ResponseEntity response = template.exchange(uri, GET, httpEntity, Object.class); if (CommonUtil.isNotNullOrEmpty(response.getBody())) { if (OK.equals(response.getStatusCode())) { - return objectMapper.convertValue(response.getBody(), FaceSubjectRes.class); + return new ObjectMapper().convertValue(response.getBody(), FaceSubjectRes.class); } else { log.error(response.getBody().toString()); return null; 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..5830ef9e 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,22 @@ public class IkiDanRemunerasiController extends LocaleController> logsKinerja(HttpServletRequest request, - @RequestParam(value = "page") int page, @RequestParam(value = "size") int size) { + @RequestParam(value = "indikator", required = false) String indikator, + @RequestParam(value = "kegiatan", required = false) String kegiatan, + @RequestParam(value = "tgl_awal_kegiatan", required = false) String tglAwalKegiatan, + @RequestParam(value = "tgl_akhir_kegiatan", required = false) String tglAkhirKegiatan, + @RequestParam(value = "pegawai", required = false) String pegawai, @RequestParam(value = "page") int page, + @RequestParam(value = "size") int size) { try { Pageable pageable = new PageRequest(page, size); - Page dtoPage = logbookLogService.list(pageable); + Long startDate = null; + Long endDate = null; + if (CommonUtil.isNotNullOrEmpty(tglAwalKegiatan) && CommonUtil.isNotNullOrEmpty(tglAkhirKegiatan)) { + startDate = Long.parseLong(tglAwalKegiatan); + endDate = Long.parseLong(tglAkhirKegiatan); + } + Page dtoPage = logbookLogService.search(indikator, kegiatan, startDate, + endDate, pegawai, pageable); mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); return RestUtil.getJsonResponse(dtoPage, HttpStatus.OK, mapHeaderMessage);