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 * @version 1.0.0 * @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); }