diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/MapPegawaiJabatanToUnitKerjaDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/MapPegawaiJabatanToUnitKerjaDao.java index 583836e7..08a2a08b 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/MapPegawaiJabatanToUnitKerjaDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/MapPegawaiJabatanToUnitKerjaDao.java @@ -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 { +public interface MapPegawaiJabatanToUnitKerjaDao extends JpaRepository { @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 findPegawaiIdByUnitKerjaIdAndJabatanId(@Param("unitKerjaId") List unitKerjaId, @Param("jabatanId") List 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 findPegawaiIdBySubUnitKerjaIn(@Param("subUnitKerjaIdIn") List subUnitKerjaIdIn); } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PegawaiDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PegawaiDao.java index f045af2a..bada3c53 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PegawaiDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PegawaiDao.java @@ -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, 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 findByEmailOrEmailAlternatif(@Param("email") String email); } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/MapPegawaiJabatanToUnitKerjaService.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/MapPegawaiJabatanToUnitKerjaService.java index fd1dd6f9..4095f462 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/MapPegawaiJabatanToUnitKerjaService.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/MapPegawaiJabatanToUnitKerjaService.java @@ -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 save(List listVo); @@ -63,4 +65,6 @@ public interface MapPegawaiJabatanToUnitKerjaService { List> findPegawaiByUnitKerja(Integer idUnitKerja, Integer idSubunitKerja); List> getlistPegawaiByUnitKerja(Integer unitKerjaPegawaiId); + + AuthorizationDto get(EmailDto dto); } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/MapPegawaiJabatanToUnitKerjaServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/MapPegawaiJabatanToUnitKerjaServiceImpl.java index 51ad4b39..b8ce72ec 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/MapPegawaiJabatanToUnitKerjaServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/MapPegawaiJabatanToUnitKerjaServiceImpl.java @@ -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 mapPegawaiJabatanToUnitKerjaConverter; @Override - @Transactional(readOnly = false) + @Transactional public Map save(List listVo) { Map result = new HashMap<>(); - List> listResult = new ArrayList>(); + List> 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> 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 saveRev(List listVo) { Map result = new HashMap<>(); - List> listResult = new ArrayList>(); + List> 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> 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 saveHistory(List listVo) { Map result = new HashMap<>(); - List> listResult = new ArrayList>(); + List> 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> findAllDetailByPegawai(Integer idPegawai) { - List> result = new ArrayList>(); + List> result = new ArrayList<>(); List> listMapp = mapPegawaiJabatanToUnitKerjaDao.findMappByPegawai(idPegawai); for (Map map : listMapp) { - Map mapFilter = new HashMap(); + Map mapFilter = new HashMap<>(); Map 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 kelompokJabatan = new HashMap<>(); + Map 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> findAllDetailByLevelJabatan(Integer idPegawai) { - List> result = new ArrayList>(); + List> result = new ArrayList<>(); List> listMapp = new ArrayList<>(); List> dataUnitKerja = mapPegawaiJabatanToUnitKerjaDao.getMappLevelByPegawai(idPegawai); @@ -1138,7 +1073,7 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata } for (Map map : listMapp) { - Map mapFilter = new HashMap(); + Map mapFilter = new HashMap<>(); Map unitKerja = unitKerjaDao.getUnitKerjaById((Integer) map.get("unitKerjaPegawaiId")); if (CommonUtil.isNullOrEmpty(unitKerja)) { @@ -1197,12 +1132,12 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata @Override public List> findAllUndefinedDetail() { - List> result = new ArrayList>(); + List> result = new ArrayList<>(); List> listMapp = mapPegawaiJabatanToUnitKerjaDao.findUndefinedMapp( Arrays.asList(Master.Pegawai.RESTRICTED_EMPLOYEE), Arrays.asList(Master.KategoryPegawai.NONSDM)); for (Map map : listMapp) { - Map mapFilter = new HashMap(); + Map mapFilter = new HashMap<>(); Map 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> lis = mapPegawaiJabatanToUnitKerjaDao.findUnitByPgwId(id); Map tmp = new HashMap<>(); - Boolean valid = false; + boolean valid = false; for (Map 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> lis = mapPegawaiJabatanToUnitKerjaDao.findUnitByPgwId2(id); Map tmp = new HashMap<>(); - Boolean valid = false; + boolean valid = false; for (Map 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> findSubUnitByUnitJadwal(Integer idPegawai, Integer idUnit) { - Integer lvlJabatan = 0; + int lvlJabatan = 0; List> listLevelJabatanAndMonitoring = mapPegawaiJabatanToUnitKerjaDao .getMappLevelJabatanAndMonitoring(idPegawai, idUnit); if (CommonUtil.isNotNullOrEmpty(listLevelJabatanAndMonitoring)) { for (Map mapLj : listLevelJabatanAndMonitoring) { - lvlJabatan = Integer.valueOf(mapLj.get("levelJabatan").toString()); + lvlJabatan = Integer.parseInt(mapLj.get("levelJabatan").toString()); if (lvlJabatan <= 3) { break; } } } - List> lis = new ArrayList<>(); + List> lis; if (lvlJabatan <= 3) { lis = subUnitKerjaDao.getSubUnitKerjaCustomByUnitKerja(idUnit); } else { @@ -1356,8 +1291,8 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata @Override public Map checkAtasan(MapPegawaiJabatanToUnitKerjaVO vo) { - Map result = new HashMap(); - List mappVos = new ArrayList(); + Map result = new HashMap<>(); + List mappVos = new ArrayList<>(); MapPegawaiJabatanToUnitKerjaVO mappVo = new MapPegawaiJabatanToUnitKerjaVO(); Map 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 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); + List vosMappAtasan = getMappingPegawaiToAtasanVo(vo, idPeg); mappingPegawaiToAtasanService.saveMappingPegawaiToAtasan(vosMappAtasan); } } - } else { // simpan data mapping baru - } - } return result; } + private static List getMappingPegawaiToAtasanVo(MapPegawaiJabatanToUnitKerjaVO vo, + Integer idPeg) { + List 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> getMapUnitKerjaByPegawai(Integer idPegawai) { boolean isDirektur = false; - Integer levelJabatan = 0; - Integer sublevelJabatan = 0; + int levelJabatan = 0; + int sublevelJabatan = 0; List> mapLevel = mapPegawaiJabatanToUnitKerjaDao.getMappLevelByPegawai(idPegawai); for (Map 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> getMapSubunitKerjaByUnitPegawai(Integer idPegawai, Integer idUnitKerja) { - Integer lvlJabatan = 0; + int lvlJabatan = 0; List> listLevelJabatanAndMonitoring = mapPegawaiJabatanToUnitKerjaDao .getMappLevelJabatanAndMonitoring(idPegawai, idUnitKerja); if (CommonUtil.isNotNullOrEmpty(listLevelJabatanAndMonitoring)) { for (Map mapLj : listLevelJabatanAndMonitoring) { - lvlJabatan = Integer.valueOf(mapLj.get("levelJabatan").toString()); + lvlJabatan = Integer.parseInt(mapLj.get("levelJabatan").toString()); if (lvlJabatan <= 3) { break; } } } - List> result = new ArrayList<>(); + List> result; if (lvlJabatan <= 3) { result = subUnitKerjaDao.getSubUnitKerjaCustomByUnitKerja(idUnitKerja); } else { @@ -1529,7 +1464,7 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata @Override public List> findAtasanLangsungPegawai(Integer idPegawai) { List> result = new ArrayList<>(); - Integer i = 0; + int i = 0; List> listMap = mapPegawaiJabatanToUnitKerjaDao.getAtasanLangsungByPegawai(idPegawai); for (Map map : listMap) { @@ -1555,7 +1490,7 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata @Override public List> findPejabatPenilaiPegawai(Integer idPegawai) { List> result = new ArrayList<>(); - Integer i = 0; + int i = 0; List> listMap = mapPegawaiJabatanToUnitKerjaDao.getAtasanPejabatPenilaiByPegawai(idPegawai); for (Map map : listMap) { @@ -1579,15 +1514,13 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata @Override public Map findAtasanDanUnitKerja(Integer idPegawai, Integer idJabatan) { - Map result = mapPegawaiJabatanToUnitKerjaDao.getAtasanDanUnitKerjaByPegawai(idPegawai, - idJabatan); - return result; + return mapPegawaiJabatanToUnitKerjaDao.getAtasanDanUnitKerjaByPegawai(idPegawai, idJabatan); } @Override @Transactional public Map findAllMap() { - Map result = new HashMap<>(); + Map result; List allMappingVo = new ArrayList<>(); List allMapping = mapPegawaiJabatanToUnitKerjaDao.getAllMapping(); @@ -1607,8 +1540,8 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata public Map autoMappingAtasan(Integer idPegawai, Integer idJabatan, Integer idUnit, Integer idSub) { Map result = new HashMap<>(); - List listPegawaiAtasanHistori = new ArrayList<>(); - List listPegawaiPenilaiHistori = new ArrayList<>(); + List listPegawaiAtasanHistori; + List listPegawaiPenilaiHistori; List listAtasan = mapPegawaiJabatanToUnitKerjaDao.listAtasanLangsung(); List listPenilai = mapPegawaiJabatanToUnitKerjaDao.listPejabatPenilai(); @@ -1725,7 +1658,7 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata @Override public List> getJabatanPegawai() { - List> result = new ArrayList<>(); + List> result; LoginUser loginUser = loginUserService.getLoginUser(); result = mapPegawaiJabatanToUnitKerjaDao.getJabatanPegawai(loginUser.getPegawai().getId()); @@ -1782,9 +1715,13 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata @Override public List> getlistPegawaiByUnitKerja(Integer unitKerjaPegawaiId) { - List> listPegawai = mapPegawaiJabatanToUnitKerjaDao - .findPegawaiByUnitKerja(unitKerjaPegawaiId); - return listPegawai; + return mapPegawaiJabatanToUnitKerjaDao.findPegawaiByUnitKerja(unitKerjaPegawaiId); } + @Override + public AuthorizationDto get(EmailDto dto) { + Optional byEmailOrEmailAlternatif = pegawaiDao.findByEmailOrEmailAlternatif(dto.getEmail()); + return byEmailOrEmailAlternatif.map(pegawai -> AuthorizationDto.builder().pegawaiId(pegawai.getId()) + .email(pegawai.getEmail()).emailAlternatif(pegawai.getEmailAlternatif()).build()).orElse(null); + } } diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/dto/superapp/request/EmailDto.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/dto/superapp/request/EmailDto.java new file mode 100644 index 00000000..842c5980 --- /dev/null +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/dto/superapp/request/EmailDto.java @@ -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; +} diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/dto/superapp/response/AuthorizationDto.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/dto/superapp/response/AuthorizationDto.java new file mode 100644 index 00000000..b76b936c --- /dev/null +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/dto/superapp/response/AuthorizationDto.java @@ -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; +} diff --git a/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/RemunerasiController.java b/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/RemunerasiController.java index e0cc7170..f48667de 100644 --- a/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/RemunerasiController.java +++ b/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/RemunerasiController.java @@ -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 { @Autowired private PelayananPasienService pelayananPasienService; - @RequestMapping(value = "/logbook-tarif/{idPegawai}/{bulan}", method = RequestMethod.GET) - public ResponseEntity>> 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 recap(HttpServletRequest request, @PathVariable("idPegawai") Integer idPegawai, + @PathVariable("bulan") String bulan) { + LOGGER.error("Superapp requesting logbook tarif data id pegawai {} bulan {}", idPegawai, bulan); + + List> 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 authorize(HttpServletRequest request, @RequestBody EmailDto dto) { try { - List> 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); } } }