salmanoe 98d51dda0f - perbaikan service get data kontrak kinerja dari usulan baru
- penambahan kondisi verifikasi pada service perhitungan rata-rata indikator persentase
- perbaikan service hak akses kontrak kinerja dan verifikasi catatan kegiatan harian
- perbaikan service get data rekapitulasi pendapatan ruangan periodik
- penambahan informasi target p1 dan p2
2021-04-23 20:58:55 +07:00

44 lines
2.5 KiB
Java

package com.jasamedika.medifirst2000.dao;
import java.util.List;
import java.util.Map;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
import com.jasamedika.medifirst2000.entities.LogbookKinerjaDetail;
@Repository("logbookKinerjaDetailDao")
public interface LogbookKinerjaDetailDao extends PagingAndSortingRepository<LogbookKinerjaDetail, String> {
@Query("select new Map(lkh.noRec as logbookNoRec," + "lkd.noRec as noRec,"
+ "ikm.id as indikatorId,ikm.namaIndikator as namaIndikator,"
+ "lkd.namaKegiatan as namaKegiatan,lkd.capaian as hasil,"
+ "si.id as satuanId,si.satuanIndikator as satuanIndikator," + "lkd.catatan as catatan,"
+ "lkd.tanggalKegiatan as tglKegiatan,"
+ "to_char(lkd.tanggalKegiatan,'dd-MM-yyyy HH24:MI:SS') as tglKegiatanFormat,"
+ "lkd.statusVerifikasi as isStatusVerifikasi,"
+ "(case when lkd.statusVerifikasi is true then 'Terverifikasi' "
+ "else 'Belum Terverifikasi' end) as statusVerifikasi) " + "from LogbookKinerjaDetail lkd "
+ "inner join lkd.logbookKinerja lkh " + "inner join lkh.indikatorKinerja ikm "
+ "inner join ikm.satuanIndikator si " + "where lkh.statusEnabled is true and lkh.statusVerifikasi is true "
+ "and lkd.statusEnabled is true " + "and ikm.statusEnabled is true and ikm.statusVerifikasi is true "
+ "and si.statusEnabled is true " + "and lkh.pegawaiId = :pegawaiId " + "and lkh.jabatanId = :jabatanId "
+ "and to_char(lkd.tanggalKegiatan,'yyyy-MM') = :bulan "
+ "order by lkd.statusVerifikasi, lkd.tanggalKegiatan")
List<Map<String, Object>> findWorkingRecord(@Param("pegawaiId") Integer idPegawai,
@Param("jabatanId") Integer idJabatan, @Param("bulan") String bulan);
@Query("select new Map(lkd.logbookIndikatorId as logbookId,avg(lkd.capaian) as avgCapaian,ikm.satuanIndikatorId as satuanId) "
+ "from LogbookKinerjaDetail lkd " + "inner join lkd.logbookKinerja lk "
+ "inner join lk.indikatorKinerja ikm " + "where lkd.statusEnabled is true "
+ "and lkd.statusVerifikasi is true " + "and lk.statusEnabled is true " + "and ikm.statusEnabled is true "
+ "and lk.noRec = :noRec " + "and ikm.satuanIndikatorId in (:listSatuanId) "
+ "group by lkd.logbookIndikatorId, ikm.satuanIndikatorId")
List<Map<String, Object>> findAvgCapaianByKontrak(@Param("noRec") String noRec,
@Param("listSatuanId") List<Integer> listIdSatuan);
}