Update service log catatan kinerja

Pembuatan parameter pencarian saat monitoring log verifikasi catatan kinerja
This commit is contained in:
Salman Manoe 2024-11-07 20:27:34 +07:00
parent 471164c649
commit 502d68b47a
4 changed files with 26 additions and 5 deletions

View File

@ -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<LogbookKinerjaDetailLog, String> {
@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<LogbookKinerjaDetailLog> findBySearchQuery(@Param("querySearch") String querySearch, Pageable pageable);
}

View File

@ -14,6 +14,6 @@ public interface LogbookKinerjaDetailLogService {
void save(LogbookKinerjaDetailLogReqDto dto);
Page<LogbookKinerjaDetailLogDto> list(Pageable pageable);
Page<LogbookKinerjaDetailLogDto> list(String search, Pageable pageable);
}

View File

@ -67,8 +67,9 @@ public class LogbookKinerjaDetailLogServiceImpl implements LogbookKinerjaDetailL
}
@Override
public Page<LogbookKinerjaDetailLogDto> list(Pageable pageable) {
Page<LogbookKinerjaDetailLog> logPage = logbookKinerjaDetailLogDao.findAll(pageable);
public Page<LogbookKinerjaDetailLogDto> list(String search, Pageable pageable) {
Page<LogbookKinerjaDetailLog> logPage = logbookKinerjaDetailLogDao.findBySearchQuery(search.toLowerCase(),
pageable);
List<LogbookKinerjaDetailLogDto> dtoList = new ArrayList<>();
logPage.getContent().forEach(log -> {
LogbookKinerjaDetailLogDto.LogbookKinerjaDetailLogDtoBuilder dtoBuilder = LogbookKinerjaDetailLogDto

View File

@ -2858,10 +2858,11 @@ public class IkiDanRemunerasiController extends LocaleController<IkiDanRemuneras
@RequestMapping(value = "/catatan-kinerja/logs", method = GET)
public ResponseEntity<Page<LogbookKinerjaDetailLogDto>> 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<LogbookKinerjaDetailLogDto> dtoPage = logbookLogService.list(pageable);
Page<LogbookKinerjaDetailLogDto> dtoPage = logbookLogService.list(search, pageable);
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
getMessage(MessageResource.LABEL_SUCCESS, request));
return RestUtil.getJsonResponse(dtoPage, HttpStatus.OK, mapHeaderMessage);