Compare commits

..

No commits in common. "fbec23b80f3d640f1a8a2ec22eb52119b647f704" and "8e21f0b7cf982858dcd68da1eb909fc1c3e9e042" have entirely different histories.

4 changed files with 26 additions and 18 deletions

View File

@ -371,7 +371,7 @@ public interface MonitoringAbsenDao extends PagingAndSortingRepository<Monitorin
+ "left join mp.jabatan jb with jb.statusEnabled is true " + "left join mp.jabatan jb with jb.statusEnabled is true "
+ "where mp.statusEnabled is true and pg.statusEnabled is true " + "where mp.statusEnabled is true and pg.statusEnabled is true "
+ "and pg.kedudukanId not in (:listException) " + "and mp.unitKerjaPegawaiId = :idUnitKerja " + "and pg.kedudukanId not in (:listException) " + "and mp.unitKerjaPegawaiId = :idUnitKerja "
+ "and (jb.levelJabatan = :levelJabatan+1 or jb.levelJabatan = :levelJabatan+2) " // dua_level_dibawah_pegawai_login + "and jb.levelJabatan = :levelJabatan+1 " // satu_level_dibawah_pegawai_login
+ "and jb.subLevelJabatan = :sublevelJabatan") + "and jb.subLevelJabatan = :sublevelJabatan")
List<Map<String, Object>> getDataPegawaiDirektur(@Param("idUnitKerja") Integer idUnitKerja, List<Map<String, Object>> getDataPegawaiDirektur(@Param("idUnitKerja") Integer idUnitKerja,
@Param("levelJabatan") Integer levelJabatan, @Param("sublevelJabatan") Integer sublevelJabatan, @Param("levelJabatan") Integer levelJabatan, @Param("sublevelJabatan") Integer sublevelJabatan,

View File

@ -1278,25 +1278,29 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl extends BaseVoServiceImpl
int sublevelJabatan = 0; int sublevelJabatan = 0;
List<Integer> listIdJabatanKetuaKomiteNakesLain = splitDataSettingDatafixed("idJabatanKetuaKomiteNakesLain"); List<Integer> listIdJabatanKetuaKomiteNakesLain = splitDataSettingDatafixed("idJabatanKetuaKomiteNakesLain");
List<Map<String, Object>> mapLevel = mapPegawaiJabatanToUnitKerjaDao.getMappLevelByPegawai(idPegawai); List<Map<String, Object>> mapLevel = mapPegawaiJabatanToUnitKerjaDao.getMappLevelByPegawai(idPegawai);
List<Map<String, Object>> result = mapPegawaiJabatanToUnitKerjaDao.getMapUnitKerjaByPegawai(idPegawai); for (Map<String, Object> map : mapLevel)
for (Map<String, Object> map : mapLevel){
if (map.get("levelJabatan").equals(Master.Jabatan.LEVEL_DIREKTUR)) { if (map.get("levelJabatan").equals(Master.Jabatan.LEVEL_DIREKTUR)) {
isDirektur = true; isDirektur = true;
levelJabatan = Integer.parseInt(map.get("levelJabatan").toString()); levelJabatan = Integer.parseInt(map.get("levelJabatan").toString());
sublevelJabatan = Integer.parseInt(map.get("subLevelJabatan").toString()); sublevelJabatan = Integer.parseInt(map.get("subLevelJabatan").toString());
break;
}
List<Map<String, Object>> result = mapPegawaiJabatanToUnitKerjaDao.getMapUnitKerjaByPegawai(idPegawai);
if (isDirektur)
result.addAll(mapPegawaiJabatanToUnitKerjaDao.getMapUnitKerjaByLevelJabatan(levelJabatan, sublevelJabatan)); result.addAll(mapPegawaiJabatanToUnitKerjaDao.getMapUnitKerjaByLevelJabatan(levelJabatan, sublevelJabatan));
} if (mapPegawaiJabatanToUnitKerjaDao.existsByPegawaiIdAndJabatanIdIn(idPegawai,
} listIdJabatanKetuaKomiteNakesLain)) {
List<Map<String, Object>> listUnitKerja = mapPegawaiJabatanToUnitKerjaDao
if (mapPegawaiJabatanToUnitKerjaDao.existsByPegawaiIdAndJabatanIdIn(idPegawai, listIdJabatanKetuaKomiteNakesLain)) { .getMapUnitKerjaByKelompokJabatan(PENUNJANG_MEDIK);
List<Map<String, Object>> listUnitKerja = mapPegawaiJabatanToUnitKerjaDao.getMapUnitKerjaByKelompokJabatan(PENUNJANG_MEDIK); List<Integer> alreadyAdded = result.stream().map(rs -> Integer.parseInt(rs.get("id").toString()))
List<Integer> alreadyAdded = result.stream().map(rs -> Integer.parseInt(rs.get("id").toString())).collect(Collectors.toList()); .collect(Collectors.toList());
List<Map<String, Object>> unitKerjaNakesLain = listUnitKerja.stream().filter(unitKerja -> !alreadyAdded.contains(Integer.parseInt(unitKerja.get("id").toString()))).collect(Collectors.toList()); List<Map<String, Object>> unitKerjaNakesLain = listUnitKerja.stream()
.filter(unitKerja -> !alreadyAdded.contains(Integer.parseInt(unitKerja.get("id").toString())))
.collect(Collectors.toList());
result.addAll(unitKerjaNakesLain); result.addAll(unitKerjaNakesLain);
} }
if (CommonUtil.isNotNullOrEmpty(result)){ if (CommonUtil.isNotNullOrEmpty(result))
return result; return result;
}
return new ArrayList<>(); return new ArrayList<>();
} }

View File

@ -4474,13 +4474,17 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
isDirektur = true; isDirektur = true;
levelJabatan = Integer.parseInt(map.get("levelJabatan").toString()); levelJabatan = Integer.parseInt(map.get("levelJabatan").toString());
sublevelJabatan = Integer.parseInt(map.get("subLevelJabatan").toString()); sublevelJabatan = Integer.parseInt(map.get("subLevelJabatan").toString());
break;
System.out.println("skenario 3 = " + levelJabatan + " | " + sublevelJabatan);
result.addAll(monitoringAbsenDao.getDataPegawaiDirektur(idUnitKerja, levelJabatan, sublevelJabatan, splitDataSettingDatafixed("idMeninggalKeluarPindah")));
} else if (listPegawaiSDM.contains(idPegawaiLogin)) {
result.addAll(monitoringAbsenDao.getDataPegawaiRev(idUnitKerja, idSubUnitKerja, splitDataSettingDatafixed("idMeninggalKeluarPindah")));
} }
} }
if (isDirektur) {
result = monitoringAbsenDao.getDataPegawaiDirektur(idUnitKerja, levelJabatan, sublevelJabatan,
splitDataSettingDatafixed("idMeninggalKeluarPindah"));
} else if (listPegawaiSDM.contains(idPegawaiLogin)) {
result = monitoringAbsenDao.getDataPegawaiRev(idUnitKerja, idSubUnitKerja,
splitDataSettingDatafixed("idMeninggalKeluarPindah"));
}
} }
List<Integer> listIdJabatanKetuaKomiteNakesLain = splitDataSettingDatafixed("idJabatanKetuaKomiteNakesLain"); List<Integer> listIdJabatanKetuaKomiteNakesLain = splitDataSettingDatafixed("idJabatanKetuaKomiteNakesLain");