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

258 lines
12 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.Pegawai;
import com.jasamedika.medifirst2000.entities.PlanningRekrutmenSeleksi;
import com.jasamedika.medifirst2000.entities.StrukPlanning;
@Repository("RekrutmenDao")
public interface RekrutmenDao extends PagingAndSortingRepository<Pegawai, Integer>{
@Query("select new Map (model.id as pelamarId,"
+ "model.namaLengkap as namaPelamar,"
+ "jabatanLamar.id as posisiLamarId,"
+"jabatanLamar.namaJabatan as posisiLamar,"
+ "jenisKelamin.id as jenisKelaminId,"
+ "jenisKelamin.jenisKelamin as jenisKelamin,"
+ "jenisPegawai.id as jenisPegawaiId,"
+ "model.email as email,"
+"jenisPegawai.jenisPegawai as jenisPegawai) "
+"from Pegawai model "
+"left join model.jabatanLamar jabatanLamar "
+"left join model.jenisPegawai jenisPegawai "
+ "left join model.jenisKelamin jenisKelamin "
+"where jenisPegawai.id=12")
List<Map<String,Object>> getDaftarPelamar();
@Query("select new Map ( "
+"pegawai.id as pelamarId, "
+"to_char(strukHistori.tglAwal,'yyyy-mm-dd') as tglAwal, "
+"pegawai.namaLengkap as namaLengkap, "
+ "pegawai.email as email,"
+ "pegawai.noHandphone as noHandphone,"
+"model.institusiPendidikan as institusiPendidikan, "
+"pendidikan.id as pendidikanId, "
+"pendidikan.namaPendidikan as namaPendidikan, "
+"model.kualifikasiJurusan as kualifikasiJurusan, "
+"model.ipkNilai as ipkNilai, "
+"jabatanLamar.id as posisiLamarId, "
+"jabatanLamar.namaJabatan as posisiLamar) "
+"from PegawaiHistoriPendidikan model "
+"left join model.pegawai pegawai "
+"left join pegawai.jabatanLamar jabatanLamar "
+"left join pegawai.jenisPegawai jenisPegawai "
+"left join pegawai.jenisKelamin jenisKelamin "
+"left join model.pendidikan pendidikan "
+"left join model.strukHistori strukHistori "
+"where jenisPegawai.id=12 and pegawai.id=:pegawaiId")
List<Map<String,Object>> getHistoriPendidikanPelamar(@Param("pegawaiId")Integer pegawaiId);
@Query("select new Map (pegawai.id as pelamarId, "
+"dokumen.id as dokumenId, "
+ "dokumen.namaJudulDokumen as namaDokumen,"
+ "dokumen.pathFile as pathFile) "
+"from PegawaiRekrutmenDokumen model "
+"left join model.dokumen dokumen "
+"left join model.pegawai pegawai "
+ "where pegawai.id=:pegawaiId")
List<Map<String,Object>> getDokumenPelamar(@Param("pegawaiId")Integer pegawaiId);
@Query("select new Map (model.id as id, "
+"model.kategoryPegawai as kategoryPegawai) "
+"from KategoryPegawai model where id in (1,10)")
List<Map<String,Object>> getPNSNonPNS();
@Query("select new Map(dokumen.id as dokumenId, "
+"dokumen.namaJudulDokumen as namaJudulDokumen) "
+"from ProfileHistoriLowonganD model "
+"left join model.kategoryPegawai kategoryPegawai "
+"left join model.jabatan jabatan "
+"left join model.dokumen dokumen "
+"where kategoryPegawai.id=:kategoryPegawaiId and jabatan.id=:jabatanId ")
List<Map<String,Object>> getBerkasLowongan(@Param("kategoryPegawaiId")Integer kategoryPegawaiId,
@Param("jabatanId")Integer jabatanId);
@Query("select new Map (model.id as id, model.namaProduk as namaProduk) "
+ "from Produk model "
+ "left join model.detailJenisProduk detailJenisProduk "
+ "where detailJenisProduk.id=1333")
List<Map<String,Object>> getProdukJenisTest();
@Query("select new Map (model.id as id, model.namaLengkap as namaLengkap) from Pegawai model")
List<Map<String,Object>> getPetugasSdm();
@Query("select model from StrukPlanning model "
+"where to_char(model.tglplanning,'mm-yyyy')=:tglPlanning")
List<StrukPlanning> getStrukPlanningByTglPlanning(@Param("tglPlanning")String tglPlanning);
@Query("select new Map (model.id as id, model.jenisKelamin as jenisKelamin) from JenisKelamin model")
List<Map<String,Object>> getJenisKelamin();
@Query("select new Map (model.id as id, model.agama as agama) from Agama model")
List<Map<String,Object>> getAgama();
@Query("select new Map (model.id as id, model.statusPerkawinan as statusPerkawinan) from StatusPerkawinan model")
List<Map<String,Object>> getStatusPerkawinan();
@Query("select new Map (model.id as id, model.namaJabatan as posisiLamar) from Jabatan model")
List<Map<String,Object>> getPosisiLamar();
@Query("select new Map (model.id as id, model.namaPendidikan as namaPendidikan) from Pendidikan model")
List<Map<String,Object>> getPendidikan();
@Query("select new Map (model.id as id, model.jenisOrganisasi as jenisOrganisasi) from JenisOrganisasi model")
List<Map<String,Object>> getjenisOrganisasi();
@Query("select new Map (model.id as pelamarId,"
+ "model.namaLengkap as namaPelamar,"
+ "jabatanLamar.id as posisiLamarId,"
+"jabatanLamar.namaJabatan as posisiLamar,"
+ "jenisKelamin.id as jenisKelaminId,"
+ "jenisKelamin.jenisKelamin as jenisKelamin,"
+ "jenisPegawai.id as jenisPegawaiId,"
+ "model.email as email,"
+"jenisPegawai.jenisPegawai as jenisPegawai) "
+"from Pegawai model "
+"left join model.jabatanLamar jabatanLamar "
+"left join model.jenisPegawai jenisPegawai "
+ "left join model.jenisKelamin jenisKelamin "
+"where jenisPegawai.id=12")
List<Map<String,Object>> getDaftarPelamarJadwalSeleksi();
@Query("select new Map (noPlanning.noRec as noRecStrukPlanning) "
+"from PlanningRekrutmenSeleksi model "
+"left join model.noPlanning noPlanning "
+"where to_char(model.tglPlanning,'mm-yyyy')=:tglPlanning")
List<Map<String,Object>> getStrukPlanningByTglPlanningRekrutmentSeleksi(@Param("tglPlanning")String tglPlanning);
@Query("select new Map (noPlanning.noRec as noRecStrukPlanning,"
+ "noPlanning.noplanning as noPlanning,"
+ "to_char(noPlanning.tglplanning,'yyyy-mm-dd') as tglPlanning,"
+ "to_char(noPlanning.tglpegajuan,'yyyy-mm-dd') as tglPengajuan,"
+ "to_char(noPlanning.tglplanning,'mm-yyyy') as periodeLowongan,"
+"jenisKelamin.id as jenisKelaminId,"
+ "jenisKelamin.jenisKelamin as jenisKelamin,"
+"pegawai.id as pelamarId,"
+ "pegawai.email as email,"
+ "pegawai.noHandphone as noHandphone,"
+ "pegawai.namaLengkap as namaPelamar,"
+"produkRs.id as produkRsId,"
+ "produkRs.namaProduk as namaProdukRs) "
+"from PlanningRekrutmenSeleksiD model "
+"left join model.noPlanning noPlanning "
+"left join model.produkRs produkRs "
+"left join model.pegawai pegawai "
+ "left join pegawai.jenisKelamin jenisKelamin "
+ "where noPlanning.noRec=:noRecStrukPlanning")
List<Map<String,Object>> getJadwalSeleksiByNoRecStrukPelayanan(@Param("noRecStrukPlanning")String noRecStrukPlanning);
@Query("select new Map(model.noRec as noRecRekrutmenSeleksi, "
+"noPlanning.noRec as noRecStrukPlanning, "
+"to_char(noPlanning.tglplanning,'yyyy-mm-dd') as tglPlanning, "
+"to_char(noPlanning.tglpegajuan,'yyyy-mm-dd') as tglPengajuan, "
+"ruangan.id as ruanganId, "
+"ruangan.namaRuangan as namaRuangan, "
+ "to_char(model.tglPlanning,'mm-yyyy') as periodeLowongan, "
+"model.qtyPeserta as qtyPeserta) "
+"from PlanningRekrutmenSeleksi model "
+"left join model.noPlanning noPlanning "
+"left join model.ruangan ruangan "
+ "where noPlanning.noRec =:noRecStrukPlanning")
List<Map<String, Object>> findRekrutmenSeleksi(@Param("noRecStrukPlanning")String noRecStrukPlanning);
@Query("select new Map (model.noRec as noRecRekrutmenSeleksiD,"
+"noPlanning.noRec as noRecStrukPlanning, "
+"to_char(noPlanning.tglplanning,'yyyy-mm-dd') as tglPlanning, "
+"to_char(noPlanning.tglpegajuan,'yyyy-mm-dd') as tglPengajuan, "
+"produkRs.id as produkRsId, "
+"produkRs.namaProduk as namaProdukRs, "
+"pegawai.id as pelamarId, "
+"pegawai.namaLengkap as namaPelamar, "
+"pegawai.email as email, "
+"pegawai.noHandphone as noHandphone, "
+"jabatanLamar.id as posisiLamarId, "
+"jabatanLamar.namaJabatan as posisiLamar, "
+ "to_char(model.tglPlanning,'mm-yyyy') as periodeLowongan) "
+"from PlanningRekrutmenSeleksiD model "
+"left join model.noPlanning noPlanning "
+"left join model.produkRs produkRs "
+"left join model.pegawai pegawai "
+"left join model.jabatanLamar jabatanLamar "
+"where noPlanning.noRec =:noRecStrukPlanning and produkRs.id =:jenisTestId")
List<Map<String, Object>> findRekrutmenSeleksiD(@Param("noRecStrukPlanning")String noRecStrukPlanning,
@Param("jenisTestId")Integer jenisTestId);
@Query("select new Map (model.noRec as noRecRekrutmenSeleksiD,"
+"noPlanning.noRec as noRecStrukPlanning, "
+"to_char(noPlanning.tglplanning,'yyyy-mm-dd') as tglPlanning, "
+"to_char(noPlanning.tglpegajuan,'yyyy-mm-dd') as tglPengajuan, "
+"produkRs.id as produkRsId, "
+"produkRs.namaProduk as namaProdukRs, "
+"pegawai.id as pelamarId, "
+"pegawai.namaLengkap as namaPelamar, "
+"pegawai.email as email, "
+"pegawai.noHandphone as noHandphone, "
+"jabatanLamar.id as posisiLamarId, "
+"jabatanLamar.namaJabatan as posisiLamar, "
+ "to_char(model.tglPlanning,'mm-yyyy') as periodeLowongan) "
+"from PlanningRekrutmenSeleksiD model "
+"left join model.noPlanning noPlanning "
+"left join model.produkRs produkRs "
+"left join model.pegawai pegawai "
+"left join model.jabatanLamar jabatanLamar "
+"where to_char(model.tglPlanning,'mm-yyyy') =:periode "
+ "and pegawai.id=:pegawaiId")
List<Map<String, Object>> findRekrutmenSeleksiD2(@Param("periode")String periode,
@Param("pegawaiId")Integer pegawaiId);
@Query("select model from StrukPlanning model "
+ "left join model.kdkelompoktransaksi kelompokTransaksi "
+ "where to_char(model.tglplanning,'yyyy-mm-dd')=:newAwalTgl "
+ "and kelompokTransaksi.id =:kelompokTransaksiId")
List<StrukPlanning> findStrukPlanningByPeriodeAndKelompokTransaksi(
@Param("newAwalTgl")String newAwalTgl, @Param("kelompokTransaksiId")Integer kelompokTransaksiId);
@Query("select model from PlanningRekrutmenSeleksi model "
+ "left join model.noPlanning noPlanning "
+ "where noPlanning.noRec=:noRecStrukPlanning")
List<PlanningRekrutmenSeleksi> findRekrutmenSeleksiByNoRecStrukPlanning(
@Param("noRecStrukPlanning")String noRecStrukPlanning);
@Query("select distinct new Map(to_char(model.tglPlanning,'yyyy-mm-dd') as tglPlanning,"
+"pegawai.id as pelamarId, "
+"pegawai.namaLengkap as namaPelamar, "
+"jenisKelamin.id as jenisKelaminId, "
+"jenisKelamin.jenisKelamin as jenisKelamin, "
+"pegawai.email as email, "
+"pegawai.noHandphone as noHandphone, "
+"jabatanLamar.id as posisiLamarId, "
+"jabatanLamar.namaJabatan as posisiLamar, "
+"model.nilaiScore as nilai, "
+"model.statusLulus as statusLulus) "
+"from PlanningRekrutmenSeleksiD model "
+"left join model.produkRs produkRs "
+"left join model.noPlanning noPlanning "
+"left join model.pegawai pegawai "
+"left join pegawai.jenisKelamin jenisKelamin "
+"left join pegawai.jabatanLamar jabatanLamar "
+"where produkRs.id = :jenisTestId and "
+ "to_char(model.tglPlanning,'mm-yyyy')=:periode and model.statusLulus=1")
List<Map<String,Object>> findDaftarPemalarByJenisTestId(@Param("jenisTestId")Integer jenisTestId,
@Param("periode")String periode);
@Query("select new Map ("
+"dokumen.id as dokumenId, "
+ "dokumen.namaJudulDokumen as namaDokumen,"
+ "dokumen.pathFile as pathFile) "
+"from Dokumen dokumen "
+ "where dokumen.id=:dokumenId")
Map<String,Object> getPelamarByDokumenId(@Param("dokumenId")Integer dokumenId);
}