Merge branch 'dev/auth/ketua-komite' into dev/no-cron

This commit is contained in:
Salman Manoe 2024-08-23 09:54:42 +07:00
commit 9300f5d5d0
2 changed files with 25 additions and 3 deletions

View File

@ -261,6 +261,14 @@ public interface MapPegawaiJabatanToUnitKerjaDao extends JpaRepository<MapPegawa
List<Map<String, Object>> getMapSubunitKerjaMonitoringByUnitPegawai(@Param("idPegawai") Integer idPegawai,
@Param("idUnitKerja") Integer idUnitKerja);
@Query("select distinct new Map(subunit.id as id, subunit.name as name) " + "from MapPegawaiJabatanToUnitKerja map "
+ "left join map.jabatan jab " + "left join map.subUnitKerjaPegawai subunit " + "where map.statusEnabled is true "
+ "and map.pegawaiId = :idPegawai " + "and map.unitKerjaPegawaiId = :idUnitKerja " + "and jb.kelompokJabatanId = :kelompokJabatanId "
+ "order by subunit.name")
List<Map<String, Object>> getMapSubunitKerjaMonitoringByUnitPegawaiAndKelompokJabatan(@Param("idPegawai") Integer idPegawai,
@Param("idUnitKerja") Integer idUnitKerja,
@Param("kelompokJabatanId") Integer IdKelompokJabatan);
@Query("select distinct mapp.pegawaiId from MapPegawaiJabatanToUnitKerja mapp "
+ "where mapp.statusEnabled is true and mapp.pegawaiId is not null and mapp.unitKerjaPegawaiId = :idUnitKerja")
List<Integer> getPegawaiByUnitKerja(@Param("idUnitKerja") Integer idUnitKerja);

View File

@ -1447,10 +1447,11 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl extends BaseVoServiceImpl
}
@Override
public List<Map<String, Object>> getMapSubunitKerjaByUnitPegawai(Integer idPegawai, Integer idUnitKerja) {
public List<Map<String, Object>> getMapSubunitKerjaByUnitPegawai(Integer idPegawaiLogin, Integer idUnitKerja) {
int lvlJabatan = 0;
List<Integer> listIdJabatanKetuaKomiteNakesLain = splitDataSettingDatafixed("idJabatanKetuaKomiteNakesLain");
List<Map<String, Object>> listLevelJabatanAndMonitoring = mapPegawaiJabatanToUnitKerjaDao
.getMappLevelJabatanAndMonitoring(idPegawai, idUnitKerja);
.getMappLevelJabatanAndMonitoring(idPegawaiLogin, idUnitKerja);
if (CommonUtil.isNotNullOrEmpty(listLevelJabatanAndMonitoring)) {
for (Map<String, Object> mapLj : listLevelJabatanAndMonitoring) {
lvlJabatan = Integer.parseInt(mapLj.get("levelJabatan").toString());
@ -1464,7 +1465,20 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl extends BaseVoServiceImpl
if (lvlJabatan <= 3) {
result = subUnitKerjaDao.getSubUnitKerjaCustomByUnitKerja(idUnitKerja);
} else {
result = mapPegawaiJabatanToUnitKerjaDao.getMapSubunitKerjaMonitoringByUnitPegawai(idPegawai, idUnitKerja);
result = mapPegawaiJabatanToUnitKerjaDao.getMapSubunitKerjaMonitoringByUnitPegawai(idPegawaiLogin,
idUnitKerja);
}
if (mapPegawaiJabatanToUnitKerjaDao.existsByPegawaiIdAndJabatanIdIn(idPegawaiLogin,
listIdJabatanKetuaKomiteNakesLain)) {
List<Map<String, Object>> listSubUnitKerjaNakesLain = mapPegawaiJabatanToUnitKerjaDao
.getMapSubunitKerjaMonitoringByUnitPegawaiAndKelompokJabatan(idPegawaiLogin, idUnitKerja,
PENUNJANG_MEDIK);
List<Integer> alreadyAdded = result.stream().map(rs -> Integer.parseInt(rs.get("id").toString()))
.collect(Collectors.toList());
result.addAll(listSubUnitKerjaNakesLain.stream()
.filter(sk -> !alreadyAdded.contains(Integer.parseInt(sk.get("id").toString())))
.collect(Collectors.toList()));
}
return result;