Update service monitoring absensi
Penambahan hak akses view ketua komite nakes lain untuk monitoring presensi pegawai
This commit is contained in:
parent
54a5900b54
commit
1897e9f18f
@ -18,9 +18,13 @@ import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.jasamedika.medifirst2000.constants.Master.KelompokJabatan.PENUNJANG_MEDIK;
|
||||
|
||||
@Service("MapPegawaiJabatanToUnitKerjaService")
|
||||
public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabatanToUnitKerjaService {
|
||||
public class MapPegawaiJabatanToUnitKerjaServiceImpl extends BaseVoServiceImpl
|
||||
implements MapPegawaiJabatanToUnitKerjaService {
|
||||
|
||||
@Autowired
|
||||
private MappingPegawaiToAtasanService mappingPegawaiToAtasanService;
|
||||
@ -1412,29 +1416,34 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata
|
||||
@Override
|
||||
public List<Map<String, Object>> getMapUnitKerjaByPegawai(Integer idPegawai) {
|
||||
boolean isDirektur = false;
|
||||
|
||||
int levelJabatan = 0;
|
||||
int sublevelJabatan = 0;
|
||||
List<Integer> listIdJabatanKetuaKomiteNakesLain = splitDataSettingDatafixed("idJabatanKetuaKomiteNakesLain");
|
||||
List<Map<String, Object>> mapLevel = mapPegawaiJabatanToUnitKerjaDao.getMappLevelByPegawai(idPegawai);
|
||||
for (Map<String, Object> map : mapLevel) {
|
||||
for (Map<String, Object> map : mapLevel)
|
||||
if (map.get("levelJabatan").equals(Master.Jabatan.LEVEL_DIREKTUR)) {
|
||||
isDirektur = true;
|
||||
levelJabatan = Integer.parseInt(map.get("levelJabatan").toString());
|
||||
sublevelJabatan = Integer.parseInt(map.get("subLevelJabatan").toString());
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
List<Map<String, Object>> result = mapPegawaiJabatanToUnitKerjaDao.getMapUnitKerjaByPegawai(idPegawai);
|
||||
if (isDirektur) {
|
||||
if (isDirektur)
|
||||
result.addAll(mapPegawaiJabatanToUnitKerjaDao.getMapUnitKerjaByLevelJabatan(levelJabatan, sublevelJabatan));
|
||||
if (mapPegawaiJabatanToUnitKerjaDao.existsByPegawaiIdAndJabatanIdIn(idPegawai,
|
||||
listIdJabatanKetuaKomiteNakesLain)) {
|
||||
List<Map<String, Object>> listUnitKerja = mapPegawaiJabatanToUnitKerjaDao
|
||||
.getMapUnitKerjaByKelompokJabatan(PENUNJANG_MEDIK);
|
||||
List<Integer> alreadyAdded = result.stream().map(rs -> Integer.parseInt(rs.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);
|
||||
}
|
||||
|
||||
if (CommonUtil.isNotNullOrEmpty(result)) {
|
||||
if (CommonUtil.isNotNullOrEmpty(result))
|
||||
return result;
|
||||
} else {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
return new ArrayList<>();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user