salmanoe c0b98bea07 - daftarkan master jenis indikator
- pembuatan service duplikat master indikator kinerja
- pembuatan service duplikat kontrak kinerja
- penambahan list generic untuk criteria in()
- pembuatan service pengajuan kontrak kinerja
- pembuatan service daftar kontrak kinerja
- penerapan blu, pns, cpns sebagai pegawai purna waktu
- pembuatan service detail dashboard sebagai tampilan awal entri working record
2021-03-02 20:14:15 +07:00

70 lines
4.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.LogbookKinerja;
@Repository("logbookKinerjaDao")
public interface LogbookKinerjaDao extends PagingAndSortingRepository<LogbookKinerja, String> {
@Query("select new Map(lk.noRec as noRec," + "pg.id as pegawaiId,pg.namaLengkap as namaPegawai,"
+ "jb.id as jabatanId,jb.namaJabatan as namaJabatan,"
+ "ik.id as indikatorId,ik.namaIndikator as namaIndikator,"
+ "si.id as satuanIndikatorId,si.satuanIndikator as satuanIndikator,"
+ "ik.jenisIndikator as jenisIndikatorId," + "(case when ik.jenisIndikator = 1 then 'Kuantitas' "
+ "when ik.jenisIndikator = 2 then 'Kualitas' "
+ "when ik.jenisIndikator = 3 then 'Perilaku' end) as jenisIndikator," + "lk.target as target,"
+ "lk.bobot as bobot," + "lk.bulan as bulan) " + "from LogbookKinerja lk "
+ "inner join lk.indikatorKinerja ik " + "inner join lk.pegawai pg " + "inner join lk.jabatan jb "
+ "inner join ik.satuanIndikator si " + "where lk.statusEnabled is true " + "and ik.statusEnabled is true "
+ "and pg.statusEnabled is true " + "and lk.statusVerifikasi is false "
+ "and ik.statusVerifikasi is false " + "and pg.id = :pegawaiId " + "and jb.id = :jabatanId")
List<Map<String, Object>> findPengajuanIndikatorByPegawaiJabatan(@Param("pegawaiId") Integer pegawaiId,
@Param("jabatanId") Integer jabatanId);
@Query("select new Map(lk.noRec as noRec,ik.namaIndikator as namaIndikator) " + "from LogbookKinerja lk "
+ "inner join lk.indikatorKinerja ik " + "where lk.statusEnabled is true and ik.statusEnabled is true "
+ "and lk.statusVerifikasi is true and ik.statusVerifikasi is true " + "and lk.pegawaiId = :pegawaiId "
+ "and lk.jabatanId = :jabatanId " + "and to_char(lk.bulan,'yyyy-MM') = :bulan "
+ "and ik.id = :indikatorId")
List<Map<String, Object>> findDupKontrakKinerja(@Param("pegawaiId") Integer idPegawai,
@Param("jabatanId") Integer idJabatan, @Param("bulan") String bulan,
@Param("indikatorId") Integer idIndikator);
@Query("select new Map(lk.noRec as noRec," + "pg.id as idPegawai,pg.namaLengkap as namaPegawai,"
+ "jb.id as idJabatan,jb.namaJabatan as namaJabatan,"
+ "ik.id as idIndikator,ik.namaIndikator as namaIndikator," + "ik.jenisIndikator as idJenisIndikator,"
+ "(case when ik.jenisIndikator = 1 then 'Kuantitas' " + "when ik.jenisIndikator = 2 then 'Kualitas' "
+ "when ik.jenisIndikator = 3 then 'Perilaku' end) as jenisIndikator," + "lk.target as target,"
+ "lk.bobot as bobot," + "lk.bulan as bulan," + "lk.statusVerifikasi as isStatusVerifikasi,"
+ "(case when lk.statusVerifikasi is false then 'Belum Terverifikasi' "
+ "when lk.statusVerifikasi is true then 'Terverifikasi' end) as statusVerifikasi) "
+ "from LogbookKinerja lk " + "inner join lk.indikatorKinerja ik " + "inner join lk.pegawai pg "
+ "inner join lk.jabatan jb " + "where lk.statusEnabled is true and ik.statusEnabled is true "
+ "and ik.statusVerifikasi is true " + "and lk.pegawaiId = :pegawaiId " + "and lk.jabatanId = :jabatanId "
+ "and to_char(lk.bulan,'yyyy-MM') = :bulan " + "order by ik.jenisIndikator, ik.namaIndikator")
List<Map<String, Object>> findKontrakKinerja(@Param("pegawaiId") Integer idPegawai,
@Param("jabatanId") Integer idJabatan, @Param("bulan") String bulan);
@Query("select new Map(lk.noRec as noRec," + "pg.id as idPegawai,pg.namaLengkap as namaPegawai,"
+ "jb.id as idJabatan,jb.namaJabatan as namaJabatan,"
+ "ik.id as idIndikator,ik.namaIndikator as namaIndikator,"
+ "ik.jenisIndikator as idJenisIndikator,(case when ik.jenisIndikator = 1 then 'Kuantitas' "
+ "when ik.jenisIndikator = 2 then 'Kualitas' "
+ "when ik.jenisIndikator = 3 then 'Perilaku' end) as jenisIndikator,"
+ "lk.capaian/lk.target*100 as persenCapaian) " + "from LogbookKinerja lk "
+ "inner join lk.indikatorKinerja ik " + "inner join lk.pegawai pg " + "inner join lk.jabatan jb "
+ "where lk.statusEnabled is true and ik.statusEnabled is true "
+ "and lk.statusVerifikasi is true and ik.statusVerifikasi is true " + "and lk.pegawaiId = :pegawaiId "
+ "and lk.jabatanId = :jabatanId " + "and to_char(lk.bulan,'yyyy-MM') = :bulan")
List<Map<String, Object>> findLogbookKinerja(@Param("pegawaiId") Integer idPegawai,
@Param("jabatanId") Integer idJabatan, @Param("bulan") String bulan);
}