Perbaikan service informasi total nilai jabatan tidak hanya melibatkan nilai jabatan terakhir yang dievaluasi untuk jabatan dan pegawai yang sama
71 lines
4.0 KiB
Java
71 lines
4.0 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.NilaiKelompokJabatan;
|
|
|
|
/**
|
|
* Repository class for KelompokJabatan
|
|
*
|
|
* @author Generator
|
|
*/
|
|
@Repository("KelompokJabatanDao")
|
|
public interface NilaiKelompokJabatanDao extends PagingAndSortingRepository<NilaiKelompokJabatan, Integer> {
|
|
|
|
@Query("select new Map(nj.id as id,nj.detailKelompokJabatan as detailKelompokJabatan,nj.gradeDesc as grade) "
|
|
+ "from NilaiKelompokJabatan nj where nj.id = :id and nj.statusEnabled is true")
|
|
public Map<String, Object> getDetailKelompokJabatanById(@Param("id") Integer id);
|
|
|
|
@Query("select model from NilaiKelompokJabatan model where model.id = :kelompokJabatanId")
|
|
public NilaiKelompokJabatan getNilaiKelompokJabatan(@Param("kelompokJabatanId") Integer kelompokJabatanId);
|
|
|
|
@Query("select new map (model.id as id, model.detailKelompokJabatan as detailKelompokJabatan, "
|
|
+ "model.gradeDesc as grade, model.kelompokJabatanId as kelompokJabatanId, "
|
|
+ "model.nilaiTerendah as nilaiTerendah, model.nilaiTertinggi as nilaiTertinggi) "
|
|
+ " from NilaiKelompokJabatan model where model.statusEnabled is true")
|
|
public List<Map<String, Object>> getAllByStatusEnabled();
|
|
|
|
@Query("select new Map(model.id as id, model.detailKelompokJabatan as detailKelompokJabatan) "
|
|
+ "from NilaiKelompokJabatan model "
|
|
+ "where model.id = :detailKelompokJabatanId and model.statusEnabled is true")
|
|
public Map<String, Object> getNilaiKelompokJabatanById(
|
|
@Param("detailKelompokJabatanId") Integer detailKelompokJabatanId);
|
|
|
|
@Query("select distinct new Map(ar.noRec as noRec," + "cast(nj.gradeDesc as integer) as grade,"
|
|
+ "nj.nilaiTerendah as nilaiTerendah," + "nj.nilaiTertinggi as nilaiTertinggi,"
|
|
+ "nj.gajiHonorarium as gajiHonorarium," + "nj.minInsentif as minInsentif,"
|
|
+ "nj.maxInsentif as maxInsentif," + "nj.maxTotalRemunerasi as maxTotalRemunerasi,"
|
|
+ "ar.tanggalPembaharuanData) " + "from NilaiKelompokJabatan nj, " + "AnggaranRemunerasi ar "
|
|
+ "inner join nj.grade gr " + "where ar.gradeId = nj.grade " + "and ar.gradeId = gr.id "
|
|
+ "and nj.statusEnabled is true " + "and ar.statusEnabled is true " + "and gr.statusEnabled is true "
|
|
+ "and cast(nj.gradeDesc as integer) > 0 " + "order by cast(nj.gradeDesc as integer) desc, "
|
|
+ "ar.tanggalPembaharuanData desc")
|
|
public List<Map<String, Object>> findPlafonRemunerasi();
|
|
|
|
@Query("select nj.id from NilaiKelompokJabatan nj where nj.gradeDesc = :grade")
|
|
public List<Integer> findIdsByGrade(@Param("grade") String grade);
|
|
|
|
@Query("select distinct new Map(pg.id as idPegawai,pg.namaLengkap as namaPegawai," + "uk.name as unitKerja,"
|
|
+ "j.id as idJabatan,j.namaJabatan as namaJabatan,"
|
|
+ "ej.totalNilai as nilaiJabatan,ej.tglHitung as tglHitung," + "dkj.gradeDesc as grade,"
|
|
+ "kj.id as idKelompokJabatan,kj.namaKelompokJabatan as kelompokJabatan,"
|
|
+ "dkj.id as idDetailKelompokJabatan,dkj.detailKelompokJabatan as detailKelompokJabatan) "
|
|
+ "from MapPegawaiJabatanToUnitKerja mj, EvaluasiJabatan ej " + "inner join mj.pegawai pg "
|
|
+ "inner join mj.jabatan j " + "inner join j.unitKerja uk " + "inner join ej.grade dkj "
|
|
+ "inner join dkj.kelompokJabatan kj " + "where mj.jabatanId = ej.jabatanId and j.id = ej.jabatanId "
|
|
+ "and mj.jabatanId = j.id " + "and mj.unitKerjaPegawaiId = uk.id " + "and mj.gradeId = dkj.id "
|
|
+ "and mj.statusEnabled is true " + "and ej.statusEnabled is true " + "and pg.statusEnabled is true "
|
|
+ "and j.statusEnabled is true " + "and uk.statusEnabled is true " + "and dkj.statusEnabled is true "
|
|
+ "and kj.statusEnabled is true " + "and pg.kategoryPegawaiId in (:listKategoriId) "
|
|
+ "order by pg.namaLengkap,j.id,ej.tglHitung desc")
|
|
public List<Map<String, Object>> findPenempatanEvaluasiJabatan(
|
|
@Param("listKategoriId") List<Integer> idListKategori);
|
|
|
|
}
|