Update NilaiKelompokJabatanService
Perbaikan service informasi total nilai jabatan tidak hanya melibatkan nilai jabatan terakhir yang dievaluasi untuk jabatan dan pegawai yang sama
This commit is contained in:
parent
1b8f2fcea2
commit
1fedc79d8f
@ -52,7 +52,8 @@ public interface NilaiKelompokJabatanDao extends PagingAndSortingRepository<Nila
|
||||
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.namaJabatan as namaJabatan," + "ej.totalNilai as nilaiJabatan," + "dkj.gradeDesc as grade,"
|
||||
+ "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 "
|
||||
@ -62,7 +63,7 @@ public interface NilaiKelompokJabatanDao extends PagingAndSortingRepository<Nila
|
||||
+ "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")
|
||||
+ "order by pg.namaLengkap,j.id,ej.tglHitung desc")
|
||||
public List<Map<String, Object>> findPenempatanEvaluasiJabatan(
|
||||
@Param("listKategoriId") List<Integer> idListKategori);
|
||||
|
||||
|
||||
@ -122,8 +122,37 @@ public class NilaiKelompokJabatanServiceImpl extends BaseVoServiceImpl implement
|
||||
|
||||
@Override
|
||||
public List<Map<String, Object>> getPenempatanEvaluasiJabatan() {
|
||||
List<Map<String, Object>> result = nilaiKelompokJabatanDao
|
||||
List<Map<String, Object>> result = new ArrayList<>();
|
||||
List<Map<String, Object>> filter = new ArrayList<>();
|
||||
|
||||
List<Map<String, Object>> data = nilaiKelompokJabatanDao
|
||||
.findPenempatanEvaluasiJabatan(Arrays.asList(Master.KategoryPegawai.REMUN));
|
||||
for (Map<String, Object> map : data) {
|
||||
boolean isContained = false;
|
||||
for (Map<String, Object> mapFilter : filter) {
|
||||
if (map.get("idPegawai").equals(mapFilter.get("idPegawai"))
|
||||
&& map.get("idJabatan").equals(mapFilter.get("idJabatan"))) {
|
||||
isContained = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!isContained) {
|
||||
Map<String, Object> mapFilter = new HashMap<>();
|
||||
mapFilter.put("idPegawai", map.get("idPegawai"));
|
||||
mapFilter.put("idJabatan", map.get("idJabatan"));
|
||||
filter.add(mapFilter);
|
||||
}
|
||||
}
|
||||
|
||||
for (Map<String, Object> mapFilter : filter) {
|
||||
for (Map<String, Object> map : data) {
|
||||
if (map.get("idPegawai").equals(mapFilter.get("idPegawai"))
|
||||
&& map.get("idJabatan").equals(mapFilter.get("idJabatan"))) {
|
||||
result.add(map);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user