Salman Manoe 26898d4016 Update service kepegawaian
Penerapan golongan pppk untuk endpoints view terdampak
2025-02-25 08:29:21 +07:00

61 lines
3.8 KiB
Java

package com.jasamedika.medifirst2000.dao;
import com.jasamedika.medifirst2000.entities.PegawaiSKPajak;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.CrudRepository;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Map;
@Repository("PegawaiSKPajakDao")
public interface PegawaiSKPajakDao extends CrudRepository<PegawaiSKPajak, Integer> {
// Potongan Pajak (ID=42)
/*
* @Query("select new Map(pj.id AS ID, p.nipPns AS NIP, p.namaLengkap AS NamaLengkap, g.name AS Golongan, pdk.namaPendidikan AS Pendidikan, "
* +
* "EXTRACT(year FROM (current_date)) - EXTRACT(year FROM (p.tglMasuk)) AS MasaKerja, jf.namaJabatan AS Jabatan, 'PotonganPajak' AS KomponenHarga, pj.persenPajak AS Harga) "
* + "from PegawaiSKPajak pj " + "left join pj.pegawai p " +
* "left join p.detailKategoryPegawai dkp " + "left join p.Golongan g " +
* "left join p.pendidikan pdk " + "left join p.jabatanFungsional jf " +
* "where dkp.detailKategoryPegawai.id=:idDetailKategoriPegawai " +
* "and pj.golonganPegawai and p.golonganPegawai") List<Map<String, Object>>
* findPotonganPajak(@Param("idDetailKategoriPegawai") Integer
* idDetailKategoriPegawai);
*/
@Query("select new Map(model.id as pegawaiSkPajakId, " + "suratkeputusan.id as suratKeputusanId, "
+ "suratkeputusan.noSK as noSuratKeputusan, " + "suratkeputusan.namaSK as namaSuratKeputusan, "
+ "to_char(suratkeputusan.tglBerlakuAwal,'dd-mm-yyyy') as tglBerlakuAwal, "
+ "to_char(suratkeputusan.tglBerlakuAkhir,'dd-mm-yyyy') as tglBerlakuAkhir, " + "ruangan.id as ruanganId, "
+ "ruangan.namaRuangan as namaRuangan, " + "golonganpegawai.id as golonganPegawaiId, "
+ "golonganpegawai.golonganPegawai as golonganPegawai, " + "golonganPPPK.id as golonganPPPKId, "
+ "golonganPPPK.namaGolongan as golonganPPPK, " + "objekpajak.id as objekpajakId, "
+ "objekpajak.objekPajak as objekPajak, " + "model.persenPajak as persenPajak, "
+ "model.statusEnabled as statusEnabled " + ") from PegawaiSKPajak model "
+ "left join model.noSK suratkeputusan " + "left join suratkeputusan.ruangan ruangan "
+ "left join model.golonganPegawai golonganpegawai " + "left join model.golonganPPPK golonganPPPK "
+ "left join model.objekPajak objekpajak " + "left join model.range range "
+ "where model.id =:idPegawaiSkPajak")
Map<String, Object> get(@Param("idPegawaiSkPajak") Integer idPegawaiSkPajak);
@Query("select new Map(model.id as pegawaiSkPajakId, " + "suratkeputusan.id as suratKeputusanId, "
+ "suratkeputusan.noSK as noSuratKeputusan, " + "suratkeputusan.namaSK as namaSuratKeputusan, "
+ "to_char(suratkeputusan.tglBerlakuAwal,'dd-MM-yyyy') as tglBerlakuAwal, "
+ "to_char(suratkeputusan.tglBerlakuAkhir,'dd-MM-yyyy') as tglBerlakuAkhir, " + "ruangan.id as ruanganId, "
+ "ruangan.namaRuangan as namaRuangan, " + "golonganpegawai.id as golonganPegawaiId, "
+ "golonganpegawai.golonganPegawai as golonganPegawai, " + "golonganPPPK.id as golonganPPPKId, "
+ "golonganPPPK.namaGolongan as golonganPPPK, " + "objekpajak.id as objekpajakId, "
+ "objekpajak.objekPajak as objekPajak, " + "model.persenPajak as persenPajak,"
+ "model.statusEnabled as statusEnabled " + ") from PegawaiSKPajak model "
+ "left join model.noSK suratkeputusan " + "left join suratkeputusan.ruangan ruangan "
+ "left join model.golonganPegawai golonganpegawai " + "left join model.golonganPPPK golonganPPPK "
+ "left join model.objekPajak objekpajak " + "left join model.range range")
List<Map<String, Object>> getAll();
@Query("select model from PegawaiSKPajak model where model.golonganPegawaiId =:golonganId ")
PegawaiSKPajak findPersenPajakByGolongan(@Param("golonganId") Integer golonganId);
}