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);
|
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,"
|
@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,"
|
+ "kj.id as idKelompokJabatan,kj.namaKelompokJabatan as kelompokJabatan,"
|
||||||
+ "dkj.id as idDetailKelompokJabatan,dkj.detailKelompokJabatan as detailKelompokJabatan) "
|
+ "dkj.id as idDetailKelompokJabatan,dkj.detailKelompokJabatan as detailKelompokJabatan) "
|
||||||
+ "from MapPegawaiJabatanToUnitKerja mj, EvaluasiJabatan ej " + "inner join mj.pegawai pg "
|
+ "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 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 j.statusEnabled is true " + "and uk.statusEnabled is true " + "and dkj.statusEnabled is true "
|
||||||
+ "and kj.statusEnabled is true " + "and pg.kategoryPegawaiId in (:listKategoriId) "
|
+ "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(
|
public List<Map<String, Object>> findPenempatanEvaluasiJabatan(
|
||||||
@Param("listKategoriId") List<Integer> idListKategori);
|
@Param("listKategoriId") List<Integer> idListKategori);
|
||||||
|
|
||||||
|
|||||||
@ -122,8 +122,37 @@ public class NilaiKelompokJabatanServiceImpl extends BaseVoServiceImpl implement
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Map<String, Object>> getPenempatanEvaluasiJabatan() {
|
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));
|
.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;
|
return result;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user