Merge branch 'dev/base' into dev/etl/pasien

This commit is contained in:
Salman Manoe 2024-07-03 11:51:07 +07:00
commit 8a734233a0
7 changed files with 169 additions and 169 deletions

View File

@ -1,9 +1,9 @@
package com.jasamedika.medifirst2000.dao;
import com.jasamedika.medifirst2000.entities.MapPegawaiJabatanToUnitKerja;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.CrudRepository;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
@ -18,7 +18,7 @@ import java.util.Set;
* @author Gunandi ft Salman
*/
@Repository("mapPegawaiJabatanToUnitKerjaDao")
public interface MapPegawaiJabatanToUnitKerjaDao extends CrudRepository<MapPegawaiJabatanToUnitKerja, Integer> {
public interface MapPegawaiJabatanToUnitKerjaDao extends JpaRepository<MapPegawaiJabatanToUnitKerja, Integer> {
@Modifying
@Query("update MapPegawaiJabatanToUnitKerja m set m.isPrimary=false where m.pegawaiId=:pegawaiId and m.id!=:id and m.statusEnabled is true")
@ -504,8 +504,7 @@ public interface MapPegawaiJabatanToUnitKerjaDao extends CrudRepository<MapPegaw
List<Integer> findPegawaiIdByUnitKerjaIdAndJabatanId(@Param("unitKerjaId") List<Integer> unitKerjaId,
@Param("jabatanId") List<Integer> jabatanId);
@Query("select mj.pegawaiId from MapPegawaiJabatanToUnitKerja mj " +
"where mj.statusEnabled is true " +
"and mj.subUnitKerjaPegawaiId in (:subUnitKerjaIdIn)")
@Query("select mj.pegawaiId from MapPegawaiJabatanToUnitKerja mj " + "where mj.statusEnabled is true "
+ "and mj.subUnitKerjaPegawaiId in (:subUnitKerjaIdIn)")
Set<Integer> findPegawaiIdBySubUnitKerjaIn(@Param("subUnitKerjaIdIn") List<Integer> subUnitKerjaIdIn);
}

View File

@ -11,6 +11,7 @@ import org.springframework.data.repository.query.Param;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Optional;
/**
* Repository class for Pegawai
@ -1002,4 +1003,7 @@ public interface PegawaiDao extends JpaRepository<Pegawai, Integer>, JpaSpecific
@Query("select peg.tglLahir from Pegawai peg where peg.id = :idPegawai")
Date findTglLahirById(@Param("idPegawai") Integer idPegawai);
@Query("select pg from Pegawai pg " + "where pg.statusEnabled is true "
+ "and (pg.email = :email or pg.emailAlternatif = :email)")
Optional<Pegawai> findByEmailOrEmailAlternatif(@Param("email") String email);
}

View File

@ -1,11 +1,13 @@
package com.jasamedika.medifirst2000.service;
import com.jasamedika.medifirst2000.dto.superapp.request.EmailDto;
import com.jasamedika.medifirst2000.dto.superapp.response.AuthorizationDto;
import com.jasamedika.medifirst2000.entities.MapPegawaiJabatanToUnitKerja;
import com.jasamedika.medifirst2000.vo.MapPegawaiJabatanToUnitKerjaVO;
import java.util.List;
import java.util.Map;
import com.jasamedika.medifirst2000.entities.MapPegawaiJabatanToUnitKerja;
import com.jasamedika.medifirst2000.vo.MapPegawaiJabatanToUnitKerjaVO;
public interface MapPegawaiJabatanToUnitKerjaService {
Map<String, Object> save(List<MapPegawaiJabatanToUnitKerjaVO> listVo);
@ -63,4 +65,6 @@ public interface MapPegawaiJabatanToUnitKerjaService {
List<Map<String, Object>> findPegawaiByUnitKerja(Integer idUnitKerja, Integer idSubunitKerja);
List<Map<String, Object>> getlistPegawaiByUnitKerja(Integer unitKerjaPegawaiId);
AuthorizationDto get(EmailDto dto);
}

View File

@ -1,51 +1,23 @@
package com.jasamedika.medifirst2000.service.impl;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.google.gson.Gson;
import com.jasamedika.medifirst2000.constants.Master;
import com.jasamedika.medifirst2000.converter.BaseConverterImpl;
import com.jasamedika.medifirst2000.dao.EvaluasiJabatanDao;
import com.jasamedika.medifirst2000.dao.HistoryDataPegawaiDao;
import com.jasamedika.medifirst2000.dao.JabatanDao;
import com.jasamedika.medifirst2000.dao.JenisJabatanDao;
import com.jasamedika.medifirst2000.dao.KategoryPegawaiDao;
import com.jasamedika.medifirst2000.dao.MapPegawaiJabatanToUnitKerjaDao;
import com.jasamedika.medifirst2000.dao.MapPegawaiJabatanToUnitKerjaHistoriDao;
import com.jasamedika.medifirst2000.dao.NilaiKelompokJabatanDao;
import com.jasamedika.medifirst2000.dao.PegawaiDao;
import com.jasamedika.medifirst2000.dao.SubUnitKerjaDao;
import com.jasamedika.medifirst2000.dao.UnitKerjaDao;
import com.jasamedika.medifirst2000.entities.HistoryDataPegawai;
import com.jasamedika.medifirst2000.entities.Jabatan;
import com.jasamedika.medifirst2000.entities.LoginUser;
import com.jasamedika.medifirst2000.entities.MapPegawaiJabatanToUnitKerja;
import com.jasamedika.medifirst2000.entities.MapPegawaiJabatanToUnitKerjaHistori;
import com.jasamedika.medifirst2000.entities.NilaiKelompokJabatan;
import com.jasamedika.medifirst2000.entities.Pegawai;
import com.jasamedika.medifirst2000.entities.SubUnitKerjaPegawai;
import com.jasamedika.medifirst2000.entities.UnitKerjaPegawai;
import com.jasamedika.medifirst2000.dao.*;
import com.jasamedika.medifirst2000.dto.superapp.request.EmailDto;
import com.jasamedika.medifirst2000.dto.superapp.response.AuthorizationDto;
import com.jasamedika.medifirst2000.entities.*;
import com.jasamedika.medifirst2000.service.LoginUserService;
import com.jasamedika.medifirst2000.service.MapPegawaiJabatanToUnitKerjaService;
import com.jasamedika.medifirst2000.service.MappingPegawaiToAtasanService;
import com.jasamedika.medifirst2000.service.RiwayatJabatanService;
import com.jasamedika.medifirst2000.util.CommonUtil;
import com.jasamedika.medifirst2000.vo.JabatanVO;
import com.jasamedika.medifirst2000.vo.MapPegawaiJabatanToUnitKerjaVO;
import com.jasamedika.medifirst2000.vo.MappingPegawaiToAtasanVO;
import com.jasamedika.medifirst2000.vo.PegawaiVO;
import com.jasamedika.medifirst2000.vo.RiwayatJabatanVO;
import com.jasamedika.medifirst2000.vo.SubUnitKerjaPegawaiVO;
import com.jasamedika.medifirst2000.vo.UnitKerjaPegawaiVO;
import com.jasamedika.medifirst2000.vo.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
@Service("MapPegawaiJabatanToUnitKerjaService")
public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabatanToUnitKerjaService {
@ -108,10 +80,10 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata
private BaseConverterImpl<MapPegawaiJabatanToUnitKerjaVO, MapPegawaiJabatanToUnitKerja> mapPegawaiJabatanToUnitKerjaConverter;
@Override
@Transactional(readOnly = false)
@Transactional
public Map<String, Object> save(List<MapPegawaiJabatanToUnitKerjaVO> listVo) {
Map<String, Object> result = new HashMap<>();
List<Map<String, Object>> listResult = new ArrayList<Map<String, Object>>();
List<Map<String, Object>> listResult = new ArrayList<>();
if (CommonUtil.isNotNullOrEmpty(listVo)) {
for (MapPegawaiJabatanToUnitKerjaVO vo : listVo) {
@ -199,8 +171,6 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata
map.setIsPrimary(vo.getIsPrimary());
perubahan += "akses jabatan utama, ";
}
map = mapPegawaiJabatanToUnitKerjaDao.save(map);
this.saveHistoryPegawai(map, perubahan);
} else {
// save
map = new MapPegawaiJabatanToUnitKerja();
@ -276,9 +246,9 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata
new SubUnitKerjaPegawai()));
perubahan += "subunit kerja, ";
}
map = mapPegawaiJabatanToUnitKerjaDao.save(map);
this.saveHistoryPegawai(map, perubahan);
}
map = mapPegawaiJabatanToUnitKerjaDao.save(map);
this.saveHistoryPegawai(map, perubahan);
tmp.put("id", map.getId());
listResult.add(tmp);
@ -291,7 +261,7 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata
|| (CommonUtil.isNotNullOrEmpty(evaluasiJabatan)
&& CommonUtil.isNotNullOrEmpty(pegawai.getNilaiJabatan())
&& pegawai.getNilaiJabatan() < Double
.valueOf(evaluasiJabatan.get("nilaiJabatan").toString()))) {
.parseDouble(evaluasiJabatan.get("nilaiJabatan").toString()))) {
pegawai.setNilaiJabatan(Double.valueOf(evaluasiJabatan.get("nilaiJabatan").toString()));
pegawai.setGrade(Double.valueOf(evaluasiJabatan.get("grade").toString()));
NilaiKelompokJabatan detailKelompokJabatan = new NilaiKelompokJabatan();
@ -315,7 +285,7 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata
List<Map<String, Object>> lnj = mapPegawaiJabatanToUnitKerjaDao
.findNilaiJabatanByPegawai(map.getPegawaiId());
if (lnj.size() > 1) {
if (!Boolean.valueOf(lnj.get(0).get("isPrimary").toString())) {
if (!Boolean.parseBoolean(lnj.get(0).get("isPrimary").toString())) {
mapPegawaiJabatanToUnitKerjaDao.changeIsNotPrimary(map.getPegawaiId(),
Integer.valueOf(lnj.get(0).get("id").toString()));
mapPegawaiJabatanToUnitKerjaDao.changeIsPrimary(map.getPegawaiId(),
@ -338,7 +308,7 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata
public Map<String, Object> saveRev(List<MapPegawaiJabatanToUnitKerjaVO> listVo) {
Map<String, Object> result = new HashMap<>();
List<Map<String, Object>> listResult = new ArrayList<Map<String, Object>>();
List<Map<String, Object>> listResult = new ArrayList<>();
String perubahan = "";
@ -648,13 +618,6 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata
map.setIsCanCreateJadwal(false);
}
if (CommonUtil.isNullOrEmpty(perubahan)) {
result.put("data", Master.TIDAK_ADA_PERUBAHAN_DATA);
return result;
}
map = mapPegawaiJabatanToUnitKerjaDao.save(map);
this.saveHistoryPegawai(map, perubahan);
} else {
map.setKdProfile(Master.KODE_PROFILE);
map.setStatusEnabled(Master.STATUS_ENABLE_TRUE);
@ -752,14 +715,13 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata
}
}
if (CommonUtil.isNullOrEmpty(perubahan)) {
result.put("data", Master.TIDAK_ADA_PERUBAHAN_DATA);
return result;
}
map = mapPegawaiJabatanToUnitKerjaDao.save(map);
this.saveHistoryPegawai(map, perubahan);
}
if (CommonUtil.isNullOrEmpty(perubahan)) {
result.put("data", Master.TIDAK_ADA_PERUBAHAN_DATA);
return result;
}
map = mapPegawaiJabatanToUnitKerjaDao.save(map);
this.saveHistoryPegawai(map, perubahan);
tmp.put("id", map.getId());
listResult.add(tmp);
@ -791,7 +753,7 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata
List<Map<String, Object>> lnj = mapPegawaiJabatanToUnitKerjaDao
.findNilaiJabatanByPegawai(vo.getPegawai().getId());
if (lnj.size() > 1) {
if (!Boolean.valueOf(lnj.get(0).get("isPrimary").toString())) {
if (!Boolean.parseBoolean(lnj.get(0).get("isPrimary").toString())) {
mapPegawaiJabatanToUnitKerjaDao.changeIsNotPrimary(vo.getPegawai().getId(),
Integer.valueOf(lnj.get(0).get("id").toString()));
mapPegawaiJabatanToUnitKerjaDao.changeIsPrimary(vo.getPegawai().getId(),
@ -813,7 +775,7 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata
@Transactional
public Map<String, Object> saveHistory(List<MapPegawaiJabatanToUnitKerjaVO> listVo) {
Map<String, Object> result = new HashMap<>();
List<Map<String, Object>> listResult = new ArrayList<Map<String, Object>>();
List<Map<String, Object>> listResult = new ArrayList<>();
LoginUser loginUser = loginUserService.getLoginUser();
@ -885,21 +847,6 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata
map.setPejabatPenilaiDireksi(vo.getPejabatPenilaiDireksi());
}
// if (CommonUtil.isNotNullOrEmpty(vo.getIsPrimary())) {
// map.setIsPrimary(vo.getIsPrimary());
// if (vo.getIsPrimary()) {
// disableIsprimary(vo.getPegawai().getId());
// }
// }
// if (CommonUtil.isNotNullOrEmpty(vo.getIsMonitoring())) {
// map.setIsMonitoring(vo.getIsMonitoring());
// }
// if (CommonUtil.isNotNullOrEmpty(vo.getIsCanCreateJadwal())) {
// map.setIsCanCreateJadwal(vo.getIsCanCreateJadwal());
// }
if (CommonUtil.isNotNullOrEmpty(loginUser.getPegawai())) {
map.setMappingId(vo.getId());
map.setPegawaiInput(loginUser.getPegawai());
@ -985,18 +932,6 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata
map.setPejabatPenilaiDireksi(mapp.getPejabatPenilaiDireksi());
}
// if (CommonUtil.isNotNullOrEmpty(mapp.getIsPrimary())) {
// map.setIsPrimary(mapp.getIsPrimary());
// }
// if (CommonUtil.isNotNullOrEmpty(mapp.getIsMonitoring())) {
// map.setIsMonitoring(mapp.getIsMonitoring());
// }
// if (CommonUtil.isNotNullOrEmpty(mapp.getIsCanCreateJadwal())) {
// map.setIsCanCreateJadwal(mapp.getIsCanCreateJadwal());
// }
if (CommonUtil.isNotNullOrEmpty(loginUser.getPegawai())) {
map.setMappingId(mapp.getId());
map.setPegawaiInput(loginUser.getPegawai());
@ -1009,12 +944,12 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata
return result;
}
@Transactional(readOnly = false)
@Transactional
public void disableIsprimary(Integer idPegawai, Integer id) {
mapPegawaiJabatanToUnitKerjaDao.changeIsNotPrimary(idPegawai, id);
}
@Transactional(readOnly = false)
@Transactional
public void disableIsprimary(Integer idPegawai) {
mapPegawaiJabatanToUnitKerjaDao.changeIsPrimary(idPegawai);
}
@ -1028,11 +963,11 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata
@Override
public List<Map<String, Object>> findAllDetailByPegawai(Integer idPegawai) {
List<Map<String, Object>> result = new ArrayList<Map<String, Object>>();
List<Map<String, Object>> result = new ArrayList<>();
List<Map<String, Object>> listMapp = mapPegawaiJabatanToUnitKerjaDao.findMappByPegawai(idPegawai);
for (Map<String, Object> map : listMapp) {
Map<String, Object> mapFilter = new HashMap<String, Object>();
Map<String, Object> mapFilter = new HashMap<>();
Map<String, Object> unitKerja = unitKerjaDao.getUnitKerjaById((Integer) map.get("unitKerjaPegawaiId"));
if (CommonUtil.isNullOrEmpty(unitKerja)) {
@ -1063,7 +998,7 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata
if (CommonUtil.isNullOrEmpty(pejabatPenilai)) {
pejabatPenilai = pegawaiDao.getPegawaiByIdCustom(Master.EMPTY_DATA);
}
Map<String, Object> kelompokJabatan = new HashMap<>();
Map<String, Object> kelompokJabatan;
if (CommonUtil.isNotNullOrEmpty(map.get("gradeId"))) {
kelompokJabatan = nilaiKelompokJabatanDao
.getDetailKelompokJabatanById(Integer.valueOf(map.get("gradeId").toString()));
@ -1113,7 +1048,7 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata
@Override
public List<Map<String, Object>> findAllDetailByLevelJabatan(Integer idPegawai) {
List<Map<String, Object>> result = new ArrayList<Map<String, Object>>();
List<Map<String, Object>> result = new ArrayList<>();
List<Map<String, Object>> listMapp = new ArrayList<>();
List<Map<String, Object>> dataUnitKerja = mapPegawaiJabatanToUnitKerjaDao.getMappLevelByPegawai(idPegawai);
@ -1138,7 +1073,7 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata
}
for (Map<String, Object> map : listMapp) {
Map<String, Object> mapFilter = new HashMap<String, Object>();
Map<String, Object> mapFilter = new HashMap<>();
Map<String, Object> unitKerja = unitKerjaDao.getUnitKerjaById((Integer) map.get("unitKerjaPegawaiId"));
if (CommonUtil.isNullOrEmpty(unitKerja)) {
@ -1197,12 +1132,12 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata
@Override
public List<Map<String, Object>> findAllUndefinedDetail() {
List<Map<String, Object>> result = new ArrayList<Map<String, Object>>();
List<Map<String, Object>> result = new ArrayList<>();
List<Map<String, Object>> listMapp = mapPegawaiJabatanToUnitKerjaDao.findUndefinedMapp(
Arrays.asList(Master.Pegawai.RESTRICTED_EMPLOYEE), Arrays.asList(Master.KategoryPegawai.NONSDM));
for (Map<String, Object> map : listMapp) {
Map<String, Object> mapFilter = new HashMap<String, Object>();
Map<String, Object> mapFilter = new HashMap<>();
Map<String, Object> unitKerja = unitKerjaDao.getUnitKerjaById((Integer) map.get("unitKerjaPegawaiId"));
if (CommonUtil.isNullOrEmpty(unitKerja)) {
@ -1291,7 +1226,7 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata
Pegawai pgw = pegawaiDao.findById(id);
List<Map<String, Object>> lis = mapPegawaiJabatanToUnitKerjaDao.findUnitByPgwId(id);
Map<String, Object> tmp = new HashMap<>();
Boolean valid = false;
boolean valid = false;
for (Map<String, Object> map : lis) {
if (map.get("unitKerjaPegawaiId").equals(pgw.getUnitKerja().getUnitKerja().getId())) {
valid = true;
@ -1314,7 +1249,7 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata
Pegawai pgw = pegawaiDao.findById(id);
List<Map<String, Object>> lis = mapPegawaiJabatanToUnitKerjaDao.findUnitByPgwId2(id);
Map<String, Object> tmp = new HashMap<>();
Boolean valid = false;
boolean valid = false;
for (Map<String, Object> map : lis) {
if (map.get("id").equals(pgw.getUnitKerja().getUnitKerja().getId())) {
valid = true;
@ -1332,19 +1267,19 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata
@Override
public List<Map<String, Object>> findSubUnitByUnitJadwal(Integer idPegawai, Integer idUnit) {
Integer lvlJabatan = 0;
int lvlJabatan = 0;
List<Map<String, Object>> listLevelJabatanAndMonitoring = mapPegawaiJabatanToUnitKerjaDao
.getMappLevelJabatanAndMonitoring(idPegawai, idUnit);
if (CommonUtil.isNotNullOrEmpty(listLevelJabatanAndMonitoring)) {
for (Map<String, Object> mapLj : listLevelJabatanAndMonitoring) {
lvlJabatan = Integer.valueOf(mapLj.get("levelJabatan").toString());
lvlJabatan = Integer.parseInt(mapLj.get("levelJabatan").toString());
if (lvlJabatan <= 3) {
break;
}
}
}
List<Map<String, Object>> lis = new ArrayList<>();
List<Map<String, Object>> lis;
if (lvlJabatan <= 3) {
lis = subUnitKerjaDao.getSubUnitKerjaCustomByUnitKerja(idUnit);
} else {
@ -1356,8 +1291,8 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata
@Override
public Map<String, Object> checkAtasan(MapPegawaiJabatanToUnitKerjaVO vo) {
Map<String, Object> result = new HashMap<String, Object>();
List<MapPegawaiJabatanToUnitKerjaVO> mappVos = new ArrayList<MapPegawaiJabatanToUnitKerjaVO>();
Map<String, Object> result = new HashMap<>();
List<MapPegawaiJabatanToUnitKerjaVO> mappVos = new ArrayList<>();
MapPegawaiJabatanToUnitKerjaVO mappVo = new MapPegawaiJabatanToUnitKerjaVO();
Map<String, Object> currentDataMappByDetail = mapPegawaiJabatanToUnitKerjaDao.getMappByDetail(
@ -1367,10 +1302,7 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata
// hanya jabatan yang memiliki bawahan
if (CommonUtil.isNotNullOrEmpty(currentDataMappByDetail)) {
// data mapping existing sudah ada
if (currentDataMappByDetail.get("id").equals(vo.getId())) {
// tidak ada perubahan jabatan, unit kerja, subunit kerja
} else if (!currentDataMappByDetail.get("id").equals(vo.getId())) {
if (!currentDataMappByDetail.get("id").equals(vo.getId())) {
// ubah atau buat baru jabatan untuk menggantikan pegawai
// dengan jabatan yang sama sebelumnya
@ -1387,34 +1319,37 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata
// set atasan di pegawai bawahan
for (Integer idPeg : listPegawai) {
List<MappingPegawaiToAtasanVO> vosMappAtasan = new ArrayList<MappingPegawaiToAtasanVO>();
MappingPegawaiToAtasanVO voMappAtasan = new MappingPegawaiToAtasanVO();
PegawaiVO voPegawai = new PegawaiVO();
PegawaiVO voAtasan = new PegawaiVO();
PegawaiVO voPenilai = new PegawaiVO();
voPegawai.setId(idPeg);
voAtasan.setId(vo.getPegawai().getId());
voPenilai.setId(vo.getPegawai().getId());
voMappAtasan.setPegawai(voPegawai);
voMappAtasan.setAtasanLangsung(voAtasan);
voMappAtasan.setAtasanPejabatPenilai(voPenilai);
vosMappAtasan.add(voMappAtasan);
List<MappingPegawaiToAtasanVO> vosMappAtasan = getMappingPegawaiToAtasanVo(vo, idPeg);
mappingPegawaiToAtasanService.saveMappingPegawaiToAtasan(vosMappAtasan);
}
}
} else { // simpan data mapping baru
}
}
return result;
}
private static List<MappingPegawaiToAtasanVO> getMappingPegawaiToAtasanVo(MapPegawaiJabatanToUnitKerjaVO vo,
Integer idPeg) {
List<MappingPegawaiToAtasanVO> vosMappAtasan = new ArrayList<>();
MappingPegawaiToAtasanVO voMappAtasan = new MappingPegawaiToAtasanVO();
PegawaiVO voPegawai = new PegawaiVO();
PegawaiVO voAtasan = new PegawaiVO();
PegawaiVO voPenilai = new PegawaiVO();
voPegawai.setId(idPeg);
voAtasan.setId(vo.getPegawai().getId());
voPenilai.setId(vo.getPegawai().getId());
voMappAtasan.setPegawai(voPegawai);
voMappAtasan.setAtasanLangsung(voAtasan);
voMappAtasan.setAtasanPejabatPenilai(voPenilai);
vosMappAtasan.add(voMappAtasan);
return vosMappAtasan;
}
@Override
public void saveHistoryPegawai(MapPegawaiJabatanToUnitKerja model, String perubahan) {
HistoryDataPegawai historyDataPegawai = new HistoryDataPegawai();
@ -1478,14 +1413,14 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata
public List<Map<String, Object>> getMapUnitKerjaByPegawai(Integer idPegawai) {
boolean isDirektur = false;
Integer levelJabatan = 0;
Integer sublevelJabatan = 0;
int levelJabatan = 0;
int sublevelJabatan = 0;
List<Map<String, Object>> mapLevel = mapPegawaiJabatanToUnitKerjaDao.getMappLevelByPegawai(idPegawai);
for (Map<String, Object> map : mapLevel) {
if (map.get("levelJabatan").equals(Master.Jabatan.LEVEL_DIREKTUR)) {
isDirektur = true;
levelJabatan = Integer.valueOf(map.get("levelJabatan").toString());
sublevelJabatan = Integer.valueOf(map.get("subLevelJabatan").toString());
levelJabatan = Integer.parseInt(map.get("levelJabatan").toString());
sublevelJabatan = Integer.parseInt(map.get("subLevelJabatan").toString());
break;
}
}
@ -1504,19 +1439,19 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata
@Override
public List<Map<String, Object>> getMapSubunitKerjaByUnitPegawai(Integer idPegawai, Integer idUnitKerja) {
Integer lvlJabatan = 0;
int lvlJabatan = 0;
List<Map<String, Object>> listLevelJabatanAndMonitoring = mapPegawaiJabatanToUnitKerjaDao
.getMappLevelJabatanAndMonitoring(idPegawai, idUnitKerja);
if (CommonUtil.isNotNullOrEmpty(listLevelJabatanAndMonitoring)) {
for (Map<String, Object> mapLj : listLevelJabatanAndMonitoring) {
lvlJabatan = Integer.valueOf(mapLj.get("levelJabatan").toString());
lvlJabatan = Integer.parseInt(mapLj.get("levelJabatan").toString());
if (lvlJabatan <= 3) {
break;
}
}
}
List<Map<String, Object>> result = new ArrayList<>();
List<Map<String, Object>> result;
if (lvlJabatan <= 3) {
result = subUnitKerjaDao.getSubUnitKerjaCustomByUnitKerja(idUnitKerja);
} else {
@ -1529,7 +1464,7 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata
@Override
public List<Map<String, Object>> findAtasanLangsungPegawai(Integer idPegawai) {
List<Map<String, Object>> result = new ArrayList<>();
Integer i = 0;
int i = 0;
List<Map<String, Object>> listMap = mapPegawaiJabatanToUnitKerjaDao.getAtasanLangsungByPegawai(idPegawai);
for (Map<String, Object> map : listMap) {
@ -1555,7 +1490,7 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata
@Override
public List<Map<String, Object>> findPejabatPenilaiPegawai(Integer idPegawai) {
List<Map<String, Object>> result = new ArrayList<>();
Integer i = 0;
int i = 0;
List<Map<String, Object>> listMap = mapPegawaiJabatanToUnitKerjaDao.getAtasanPejabatPenilaiByPegawai(idPegawai);
for (Map<String, Object> map : listMap) {
@ -1579,15 +1514,13 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata
@Override
public Map<String, Object> findAtasanDanUnitKerja(Integer idPegawai, Integer idJabatan) {
Map<String, Object> result = mapPegawaiJabatanToUnitKerjaDao.getAtasanDanUnitKerjaByPegawai(idPegawai,
idJabatan);
return result;
return mapPegawaiJabatanToUnitKerjaDao.getAtasanDanUnitKerjaByPegawai(idPegawai, idJabatan);
}
@Override
@Transactional
public Map<String, Object> findAllMap() {
Map<String, Object> result = new HashMap<>();
Map<String, Object> result;
List<MapPegawaiJabatanToUnitKerjaVO> allMappingVo = new ArrayList<>();
List<MapPegawaiJabatanToUnitKerja> allMapping = mapPegawaiJabatanToUnitKerjaDao.getAllMapping();
@ -1607,8 +1540,8 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata
public Map<String, Object> autoMappingAtasan(Integer idPegawai, Integer idJabatan, Integer idUnit, Integer idSub) {
Map<String, Object> result = new HashMap<>();
List<Integer> listPegawaiAtasanHistori = new ArrayList<>();
List<Integer> listPegawaiPenilaiHistori = new ArrayList<>();
List<Integer> listPegawaiAtasanHistori;
List<Integer> listPegawaiPenilaiHistori;
List<Integer> listAtasan = mapPegawaiJabatanToUnitKerjaDao.listAtasanLangsung();
List<Integer> listPenilai = mapPegawaiJabatanToUnitKerjaDao.listPejabatPenilai();
@ -1725,7 +1658,7 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata
@Override
public List<Map<String, Object>> getJabatanPegawai() {
List<Map<String, Object>> result = new ArrayList<>();
List<Map<String, Object>> result;
LoginUser loginUser = loginUserService.getLoginUser();
result = mapPegawaiJabatanToUnitKerjaDao.getJabatanPegawai(loginUser.getPegawai().getId());
@ -1782,9 +1715,13 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata
@Override
public List<Map<String, Object>> getlistPegawaiByUnitKerja(Integer unitKerjaPegawaiId) {
List<Map<String, Object>> listPegawai = mapPegawaiJabatanToUnitKerjaDao
.findPegawaiByUnitKerja(unitKerjaPegawaiId);
return listPegawai;
return mapPegawaiJabatanToUnitKerjaDao.findPegawaiByUnitKerja(unitKerjaPegawaiId);
}
@Override
public AuthorizationDto get(EmailDto dto) {
Optional<Pegawai> byEmailOrEmailAlternatif = pegawaiDao.findByEmailOrEmailAlternatif(dto.getEmail());
return byEmailOrEmailAlternatif.map(pegawai -> AuthorizationDto.builder().pegawaiId(pegawai.getId())
.email(pegawai.getEmail()).emailAlternatif(pegawai.getEmailAlternatif()).build()).orElse(null);
}
}

View File

@ -0,0 +1,23 @@
package com.jasamedika.medifirst2000.dto.superapp.request;
import lombok.*;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
/**
* @author salmanoe
* @version 1.0.0
* @since 03/07/2024
*/
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class EmailDto {
@NotNull(message = "Email tidak boleh kosong")
@Size(max = 100, message = "Email maksimal {max} karakter")
private String email;
}

View File

@ -0,0 +1,20 @@
package com.jasamedika.medifirst2000.dto.superapp.response;
import lombok.*;
/**
* @author salmanoe
* @version 1.0.0
* @since 03/07/2024
*/
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class AuthorizationDto {
private Integer pegawaiId;
private String email;
private String emailAlternatif;
}

View File

@ -1,29 +1,32 @@
package com.jasamedika.medifirst2000.controller;
import com.jasamedika.medifirst2000.constants.MessageResource;
import com.jasamedika.medifirst2000.controller.base.LocaleController;
import com.jasamedika.medifirst2000.dto.superapp.request.EmailDto;
import com.jasamedika.medifirst2000.dto.superapp.response.AuthorizationDto;
import com.jasamedika.medifirst2000.exception.ServiceVOException;
import com.jasamedika.medifirst2000.service.MapPegawaiJabatanToUnitKerjaService;
import com.jasamedika.medifirst2000.service.PelayananPasienService;
import com.jasamedika.medifirst2000.util.rest.RestUtil;
import com.jasamedika.medifirst2000.vo.LogbookKinerjaVO;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.orm.jpa.JpaSystemException;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;
import static com.jasamedika.medifirst2000.constants.Constants.MessageInfo.ERROR_MESSAGE;
import static com.jasamedika.medifirst2000.core.web.WebConstants.HttpHeaderInfo.LABEL_SUCCESS;
import static org.springframework.http.HttpStatus.CREATED;
import static org.springframework.http.HttpStatus.INTERNAL_SERVER_ERROR;
import static org.springframework.http.HttpStatus.OK;
import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE;
import static org.springframework.web.bind.annotation.RequestMethod.GET;
import static org.springframework.web.bind.annotation.RequestMethod.POST;
/**
* @author salmanoe
@ -39,17 +42,27 @@ public class RemunerasiController extends LocaleController<LogbookKinerjaVO> {
@Autowired
private PelayananPasienService pelayananPasienService;
@RequestMapping(value = "/logbook-tarif/{idPegawai}/{bulan}", method = RequestMethod.GET)
public ResponseEntity<List<Map<String, Object>>> recap(HttpServletRequest request,
@PathVariable("idPegawai") Integer idPegawai, @PathVariable("bulan") String bulan) {
@Autowired
private MapPegawaiJabatanToUnitKerjaService mapPegawaiJabatanToUnitKerjaService;
@RequestMapping(value = "/logbook-tarif/{idPegawai}/{bulan}", method = GET)
public ResponseEntity<Object> recap(HttpServletRequest request, @PathVariable("idPegawai") Integer idPegawai,
@PathVariable("bulan") String bulan) {
LOGGER.error("Superapp requesting logbook tarif data id pegawai {} bulan {}", idPegawai, bulan);
List<Map<String, Object>> result = pelayananPasienService.rekapLogbook(idPegawai, bulan);
return new ResponseEntity<>(result, HttpStatus.OK);
}
@RequestMapping(value = "/authorization", method = POST, produces = APPLICATION_JSON_VALUE, consumes = APPLICATION_JSON_VALUE)
public ResponseEntity<Object> authorize(HttpServletRequest request, @RequestBody EmailDto dto) {
try {
List<Map<String, Object>> result = pelayananPasienService.rekapLogbook(idPegawai, bulan);
mapHeaderMessage.put(LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request));
return RestUtil.getJsonResponse(result, OK, mapHeaderMessage);
AuthorizationDto result = mapPegawaiJabatanToUnitKerjaService.get(dto);
return new ResponseEntity<>(result, CREATED);
} catch (ServiceVOException | JpaSystemException e) {
LOGGER.error("Got ServiceVOException {} when get recap remun", e.getMessage());
addHeaderMessage(ERROR_MESSAGE, e.getMessage());
return RestUtil.getJsonHttptatus(INTERNAL_SERVER_ERROR, mapHeaderMessage);
LOGGER.error("Got exception {} when get authorization for superapp", e.getMessage());
return new ResponseEntity<>(null, INTERNAL_SERVER_ERROR);
}
}
}