2021-01-07 11:34:56 +07:00

286 lines
8.6 KiB
Java

package com.jasamedika.medifirst2000.dao;
import java.util.Date;
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.PlanningPegawaiMuSaRe;
@Repository("PlanningPegawaiMuSaReDao")
public interface PlanningPegawaiMuSaReDao extends PagingAndSortingRepository<PlanningPegawaiMuSaRe, String>{
@Query("select "
+ "a.noPlanning "
+ "from PlanningPegawaiMuSaRe a "
+ "where a.noPlanning LIKE %:kode% ")
List<String> noUsulan(@Param("kode") String kode);
@Query("select count(a.noPlanning) "
+ "from PlanningPegawaiMuSaRe a "
+ "where a.noPlanning LIKE %:kode% ")
Long countNoUsulan(@Param("kode") String kode);
@Query("select count(a.noplanning) "
+ "from StrukPlanning a ")
Long countNoStruk();
@Query("select NEW Map ("
+ "a.id as id, "
+ "a.namaLengkap as namaLengkap) "
+ "from Pegawai a "
+ "left join a.ruangan b "
+ "left join a.kategoryPegawai c "
+ "left join a.statusPegawai d "
+ "where b.id=:id and c.id!=11 and d.id=2")
List<Map<String, Object>> getListPegawai(
@Param("id") Integer id);
@Query("select NEW Map ("
+ "a.id as id, "
+ "a.namaLengkap as namaLengkap) "
+ "from Pegawai a "
+ "left join a.ruangan b ")
List<Map<String, Object>> getListPegawai();
@Query("select NEW Map ("
+ "a.namaLengkap as namaLengkap) "
+ "from Pegawai a where a.id=:id")
Map<String, Object> getPegawai(
@Param("id") Integer id);
@Query("select NEW Map ("
+ "a.id as id, "
+ "a.namaJabatan as namaJabatan) "
+ "from Jabatan a "
+ "left join a.jenisJabatan b "
+ "where b.id=:id")
List<Map<String, Object>> getListJabatanByJenis(
@Param("id") Integer id);
@Query("select NEW Map ("
+ "a.id as id, "
+ "a.namaRuangan as namaRuangan) "
+ "from Ruangan a")
List<Map<String, Object>> getListRuanganMutasi();
@Query("select NEW Map ("
+ "a.id as id, "
+ "a.eselon as eselon) "
+ "from Eselon a")
List<Map<String, Object>> getListEselon();
@Query("select NEW Map ("
+ "a.id as id, "
+ "a.golonganPegawai as namaPangkat) "
+ "from GolonganPegawai a")
List<Map<String, Object>> getListGolongan();
@Query("select NEW Map ("
+ "b.id as jabatanFungsionalId, "
+ "b.namaJabatan as jabatanFungsional, "
+ "c.id as jabatanInternalId, "
+ "c.namaJabatan as jabatanInternal, "
+ "d.id as ruanganId, "
+ "d.namaRuangan as namaRuangan, "
+ "e.id as eselonId, "
+ "e.eselon as eselon, "
+ "f.id as pangkatId, "
+ "f.golonganPegawai as namaPangkat) "
+ "from MapPegawaiJabatanToUnitKerja m "
+ "left join m.pegawai a "
+ "left join a.jabatanFungsional b "
+ "left join m.jabatan c "
+ "left join a.ruangan d "
+ "left join a.eselon e "
+ "left join a.golonganPegawai f "
+ "where m.isPrimary is true "
+ "and m.statusEnabled is true "
+ "and a.id=:id")
Map<String, Object> getDataMuSaReByPegawai(
@Param("id") Integer id);
@Query("select NEW Map ("
+ "a.id as id, "
+ "a.jenisHukuman as jenisHukuman) "
+ "from JenisHukuman a")
List<Map<String, Object>> getJenisHukuman();
@Query("select NEW Map ("
+ "a.id as id, "
+ "a.name as suratKeputusan) "
+ "from JenisSuratKeputusan a ")
List<Map<String, Object>> listJenisSuratKeputusan();
@Query("select NEW Map ("
+ "a.id as id, "
+ "a.statusPegawai as statusPegawai) "
+ "from StatusPegawai a")
List<Map<String, Object>> getListStatusPegawai();
@Query("select NEW Map ("
+ "a.id as kedudukan,"
+ "a.name as namaKedudukan) "
+ "from Kedudukan a")
List<Map<String, Object>> getListKedudukan();
@Query("select NEW Map ("
+ "a.id as id, "
+ "a.name as name) "
+ "from StatusKawin a")
List<Map<String, Object>> getListStatusKawin();
//------------------------------------------------------------------------------------
@Query("select NEW Map ("
+ "a.pensiun as pensiun, "
+ "b.namaJabatan as jabatanFungsional, "
+ "b.id as jabatanFungsionalId, "
+ "c.namaJabatan as jabatanInternal, "
+ "c.id as jabatanInternalId, "
+ "d.namaJabatan as jabatanStruktural, "
+ "d.id as jabatanStrukturalId, "
+ "e.namaRuangan as namaRuangan, "
+ "e.id as namaRuanganId, "
+ "f.eselon as eselon, "
+ "f.id as eselonId, "
+ "g.golonganPegawai as namaGolongan, "
+ "g.id as golonganId, "
+ "h.statusPegawai as statusPegawai, "
+ "h.id as statusPegawaiId, "
+ "i.statusPerkawinan as statusKawin, "
+ "i.id as statusKawinId, "
+ "j.name as kedudukan, "
+ "j.id as kedudukanId) "
+ "from MapPegawaiJabatanToUnitKerja m "
+ "left join m.pegawai a "
+ "left join a.jabatanFungsional b "
+ "left join m.jabatan c "
+ "left join a.jabatanStruktural d "
+ "left join a.ruangan e "
+ "left join a.eselon f "
+ "left join a.golonganPegawai g "
+ "left join a.statusPegawai h "
+ "left join a.statusKawin i "
+ "left join a.kedudukan j "
+ "where m.isPrimary is true "
+ "and m.statusEnabled is true "
+ "and a.id=:id")
Map<String, Object> getDataPegawaiMuSaRe(
@Param("id") Integer id);
@Query("select NEW Map ("
+ "b.id as id, "
+ "b.reportDisplay as grade) "
+ "from EvaluasiJabatan a "
+ "left join a.grade b "
+ "left join a.pegawai c "
+ "where c.id=:id and a.tahun=:tahun")
Map<String, Object> getGradeByPegawai(
@Param("id") Integer id,
@Param("tahun") Integer tahun);
@Query("select NEW Map ("
+ "a.id as id, "
+ "a.jenisKeputusan as jenisKeputusan) "
+ "from JenisKeputusan a "
+ "where a.statusEnabled is true "
+ "order by a.id")
List<Map<String, Object>> getListJenisKeputusan();
@Query("select NEW Map ("
+ "a.noRec as noRec,"
+ "a.statusMusare as statusMusare,"
+ "b.id as pegawaiId,"
+ "c.id as ruanganId,"
+ "d.id as jabatanStrukturalId,"
+ "e.id as jabatanFungsionalId,"
+ "f.id as jabatanInternalId,"
+ "g.id as eselonId,"
+ "h.id as pangkatId) "
+ "from PlanningPegawaiMuSaRe a "
+ "left join a.pegawai b "
+ "left join a.ruanganExec c "
+ "left join a.jabatanStrukturalExec d "
+ "left join a.jabatanFungsionalExec e "
+ "left join a.jabatanInternalExec f "
+ "left join a.eselonExec g "
+ "left join a.pangkatExec h "
+ "where a.approvalStatus=1 and "
+ "date(a.tglPlanning)=date(:date) "
+ "and a.statusEnabled is null")
List<Map<String, Object>> getDataPlanningByDate(
@Param("date") Date date);
@Query("select NEW Map ("
+ "a.nipPns as nip,"
+ "a.namaLengkap as namaPegawai,"
+ "b.namaJabatan as jabatan) "
+ "from MapPegawaiJabatanToUnitKerja m "
+ "left join m.pegawai a "
+ "left join m.jabatan b "
+ "where m.isPrimary is true "
+ "and m.statusEnabled is true "
+ "and a.id=:id")
Map<String, Object> getHeaderHistory(
@Param("id") Integer id);
@Query("select NEW Map ("
+ "a.noRec as noRec,"
+ "c.jenisHukuman as jenisHukuman,"
+ "d.noSK as noSK,"
+ "d.tglTTSK as tglSk,"
+ "d.tglBerlakuAwal as tglMulai,"
+ "d.tglBerlakuAkhir as tglSelesai,"
+ "a.deskripsiMutasiSanksiResignExec as keterangan) "
+ "from PlanningPegawaiMuSaRe a "
+ "left join a.pegawai b "
+ "left join a.jenisHukumanExec c "
+ "left join a.noSk d "
+ "where b.id=:id and "
+ "a.statusMusare=2 and "
+ "a.approvalStatus=1")
List<Map<String, Object>> getHistoryExecSanksi(
@Param("id") Integer id);
@Query("select NEW Map ("
+ "a.noRec as noRec,"
+ "c.noSK as noSK,"
+ "c.tglTTSK as tglSk,"
+ "c.tglBerlakuAwal as tglMulai,"
+ "a.deskripsiMutasiSanksiResignExec as keterangan,"
+ "d.name as pangkatGolongan) "
+ "from PlanningPegawaiMuSaRe a "
+ "left join a.pegawai b "
+ "left join a.noSk c "
+ "left join a.pangkatExec d "
+ "where b.id=:id and "
+ "a.statusMusare=1 and "
+ "a.approvalStatus=1")
List<Map<String, Object>> getHistoryExecPangkat(
@Param("id") Integer id);
@Query("select NEW Map ("
+ "a.noRec as noRec,"
+ "c.noSK as noSK,"
+ "c.tglTTSK as tglSk,"
+ "c.tglBerlakuAwal as tglMulaiBerlaku,"
+ "a.deskripsiMutasiSanksiResignExec as keterangan,"
+ "d.namaRuangan as satuanKerja,"
+ "e.namaJabatan as jabatan,"
+ "f.eselon as eselon) "
+ "from PlanningPegawaiMuSaRe a "
+ "left join a.pegawai b "
+ "left join a.noSk c "
+ "left join a.ruanganExec d "
+ "left join a.jabatanInternalExec e "
+ "left join a.eselonExec f "
+ "where b.id=:id and "
+ "a.statusMusare=1 and "
+ "a.approvalStatus=1")
List<Map<String, Object>> getHistoryExecJabatan(
@Param("id") Integer id);
}