From d540507db40b1f7af6169ee9079ef0ffd7a29c46 Mon Sep 17 00:00:00 2001 From: salmanoe Date: Wed, 3 Feb 2021 10:03:09 +0700 Subject: [PATCH] - perbaikan service get evaluasi jabatan pegawai baru - update kelompok jabatan, nilai jabatan, dan grade saat tambah edit mapping jabatan - penambahan kolom plafon pada master grade detail kelompok jabatan --- .../dao/MapPegawaiJabatanToUnitKerjaDao.java | 16 +- .../dao/NilaiKelompokJabatanDao.java | 33 ++-- .../MapPegawaiJabatanToUnitKerjaService.java | 2 + .../service/NilaiKelompokJabatanService.java | 17 +- ...pPegawaiJabatanToUnitKerjaServiceImpl.java | 148 ++++++------------ .../impl/NilaiKelompokJabatanServiceImpl.java | 87 ++++++---- .../service/impl/PegawaiServiceImpl.java | 8 +- .../entities/NilaiKelompokJabatan.java | 48 ++++++ .../vo/NilaiKelompokJabatanVO.java | 49 +++++- ...apPegawaiJabatanToUnitKerjaController.java | 11 +- .../controller/SdmController.java | 24 ++- 11 files changed, 271 insertions(+), 172 deletions(-) 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 912f7931..f4379983 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 @@ -377,20 +377,22 @@ public interface MapPegawaiJabatanToUnitKerjaDao extends CrudRepository> getPegawaiByUnitKerja(@Param("idUnitKerja") Integer idUnitKerja, @Param("idSubunitKerja") Integer idSubunitKerja); - String strQryEvaluasiJabatan = "select new Map(ej.tglHitung as tglHitung,ej.bulan as bulan,ej.tahun as tahun," + @Query("select new Map(ej.tglHitung as tglHitung,ej.bulan as bulan,ej.tahun as tahun," + "nj.id as idDetailKelompokJabatan,nj.grade as grade,nj.detailKelompokJabatan as detailKelompokJabatan," + "j.id as idJabatan,j.namaJabatan as namaJabatan," + "ej.totalNilai as nilaiJabatan) " + "from MapPegawaiJabatanToUnitKerja mj, EvaluasiJabatan ej " + "inner join mj.jabatan j " + "inner join ej.grade nj " + "where mj.jabatanId = ej.jabatanId " + "and ej.jabatanId = j.id " - + "and mj.statusEnabled is true " + "and ej.statusEnabled is true "; - - @Query(strQryEvaluasiJabatan + "and mj.pegawaiId = :pegawaiId " + "and j.kdJabatan = 'ANJAB' " - + "order by ej.totalNilai desc, ej.tglHitung desc") + + "and mj.statusEnabled is true " + "and ej.statusEnabled is true " + "and mj.pegawaiId = :pegawaiId " + + "and j.kdJabatan = 'ANJAB' " + "order by ej.totalNilai desc, ej.tglHitung desc") List> findEvaluasiJabatanByPegawai(@Param("pegawaiId") Integer idPegawai); - @Query(strQryEvaluasiJabatan + "and j.id in (:listJabatanId) " + "and j.kdJabatan = 'ANJAB' " + @Query("select new Map(ej.tglHitung as tglHitung,ej.bulan as bulan,ej.tahun as tahun," + + "nj.id as idDetailKelompokJabatan,nj.grade as grade,nj.detailKelompokJabatan as detailKelompokJabatan," + + "j.id as idJabatan,j.namaJabatan as namaJabatan,ej.totalNilai as nilaiJabatan) " + + "from EvaluasiJabatan ej " + "inner join ej.jabatan j " + "inner join ej.grade nj " + + "where ej.statusEnabled is true " + "and j.id in (:listJabatanId) " + "and j.kdJabatan = 'ANJAB' " + "order by ej.totalNilai desc, ej.tglHitung desc") - List> findEvaluasiJabatanByAllJabatanPegawai( + List> findEvaluasiJabatanByAllJabatanPegawaiBaru( @Param("listJabatanId") List listIdJabatan); } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/NilaiKelompokJabatanDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/NilaiKelompokJabatanDao.java index d56ae8df..09be24de 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/NilaiKelompokJabatanDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/NilaiKelompokJabatanDao.java @@ -17,15 +17,30 @@ import com.jasamedika.medifirst2000.entities.NilaiKelompokJabatan; */ @Repository("KelompokJabatanDao") public interface NilaiKelompokJabatanDao extends PagingAndSortingRepository { - + @Query("select model from NilaiKelompokJabatan model where model.id = :kelompokJabatanId") - public NilaiKelompokJabatan getNilaiKelompokJabatan(@Param("kelompokJabatanId")Integer kelompokJabatanId); - - @Query("select new map (model.id as id, model.detailKelompokJabatan as detailKelompokJabatan, model.grade as grade, model.kelompokJabatanId as kelompokJabatanId, model.nilaiTerendah as nilaiTerendah, model.nilaiTertinggi as nilaiTertinggi) "+ - " from NilaiKelompokJabatan model where model.statusEnabled is true") + public NilaiKelompokJabatan getNilaiKelompokJabatan(@Param("kelompokJabatanId") Integer kelompokJabatanId); + + @Query("select new map (model.id as id, model.detailKelompokJabatan as detailKelompokJabatan, " + + "model.grade as grade, model.kelompokJabatanId as kelompokJabatanId, " + + "model.nilaiTerendah as nilaiTerendah, model.nilaiTertinggi as nilaiTertinggi) " + + " from NilaiKelompokJabatan model where model.statusEnabled is true") public List> getAllByStatusEnabled(); - - @Query("select new Map(model.id as id, model.detailKelompokJabatan as detailKelompokJabatan) from NilaiKelompokJabatan model where model.id = :detailKelompokJabatanId and model.statusEnabled is true") - public Map getNilaiKelompokJabatanById(@Param("detailKelompokJabatanId")Integer detailKelompokJabatanId); - + + @Query("select new Map(model.id as id, model.detailKelompokJabatan as detailKelompokJabatan) " + + "from NilaiKelompokJabatan model " + + "where model.id = :detailKelompokJabatanId and model.statusEnabled is true") + public Map getNilaiKelompokJabatanById( + @Param("detailKelompokJabatanId") Integer detailKelompokJabatanId); + + @Query("select distinct new Map(cast(nj.grade as integer) as grade," + "nj.gajiHonorarium as gajiHonorarium," + + "nj.minInsentif as minInsentif,nj.maxInsentif as maxInsentif," + + "nj.maxTotalRemunerasi as maxTotalRemunerasi) " + "from NilaiKelompokJabatan nj " + + "where nj.statusEnabled is true " + "and cast(nj.grade as integer) > 0 " + + "order by cast(nj.grade as integer) desc") + public List> findPlafonRemunerasi(); + + @Query("select nj.id from NilaiKelompokJabatan nj where nj.grade = :grade") + public List findIdsByGrade(@Param("grade") String grade); + } 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 edf36169..6cddf909 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 @@ -58,4 +58,6 @@ public interface MapPegawaiJabatanToUnitKerjaService { Map getEvaluasiJabatanPegawaiBaru(List listIdJabatan); + Map getEvaluasiJabatanByPegawai(Integer idPegawai); + } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/NilaiKelompokJabatanService.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/NilaiKelompokJabatanService.java index 2d3c9ccf..bb81bd0d 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/NilaiKelompokJabatanService.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/NilaiKelompokJabatanService.java @@ -4,13 +4,18 @@ import java.util.List; import java.util.Map; import com.jasamedika.medifirst2000.vo.NilaiKelompokJabatanVO; +import com.jasamedika.medifirst2000.vo.PlafonRemunerasiKemenkeuVO; public interface NilaiKelompokJabatanService { - Map saveNilaiKelompokJabatan(NilaiKelompokJabatanVO vo); - - Map getNilaiKelompokJabatan(Integer id); - - List> getAllByStatusEnabled(); - + Map saveNilaiKelompokJabatan(NilaiKelompokJabatanVO vo); + + Map saveNilaiKelompokJabatan(PlafonRemunerasiKemenkeuVO vo); + + Map getNilaiKelompokJabatan(Integer id); + + List> getAllByStatusEnabled(); + + List> getPlafonRemunerasi(); + } 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 4ec05f62..81814ea6 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 @@ -29,6 +29,7 @@ import com.jasamedika.medifirst2000.entities.JenisJabatan; 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; @@ -113,17 +114,6 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata String perubahan = ""; Integer idKategoryPegawai = 0; - // Map mapPegawai = new HashMap(); - // if (CommonUtil.isNotNullOrEmpty(vo)) { - // try { - // mapPegawai = vo.ToMap(); - // } catch (IllegalArgumentException e) { - // e.printStackTrace(); - // } catch (IllegalAccessException e) { - // e.printStackTrace(); - // } - // } Map tmp = new HashMap<>(); MapPegawaiJabatanToUnitKerja map = new MapPegawaiJabatanToUnitKerja(); @@ -134,14 +124,6 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata Pegawai pegawai = pegawaiDao.findOne(map.getPegawaiId()); idKategoryPegawai = pegawai.getKategoryPegawaiId(); } - /* - * MapPegawaiJabatanToUnitKerja map = - * mapPegawaiJabatanToUnitKerjaDao - * .findOneByPegawaiIdAndUnitKerjaPegawaiIdAndSubUnitKerjaPegawaiIdAndJabatanId( - * vo.getPegawai().getId(), vo.getUnitKerjaPegawai().getId(), - * vo.getSubUnitKerjaPegawai().getId(), - * vo.getJabatan().getId()); - */ if (CommonUtil.isNotNullOrEmpty(map.getId())) { // update if (CommonUtil.isNotNullOrEmpty(vo.getIsCanCreateJadwal())) { @@ -207,9 +189,6 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata } else { // save map = new MapPegawaiJabatanToUnitKerja(); - - // BeanUtils.copyProperties(dto, map); - map.setKdProfile((short) 0); map.setKodeExternal(""); map.setNamaExternal(""); @@ -232,11 +211,6 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata if (CommonUtil.isNotNullOrEmpty(vo.getStatusEnabled())) { map.setStatusEnabled(vo.getStatusEnabled()); } - - /* - * Pegawai pgw = new Pegawai(); - * pgw.setId(vo.getPegawaiId()); - */ if (CommonUtil.isNotNullOrEmpty(vo.getPegawai())) { map.setPegawai(pegawaiConverter.transferVOToModel(vo.getPegawai(), new Pegawai())); } @@ -262,30 +236,15 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata map.setPejabatPenilaiDireksi(vo.getPejabatPenilaiDireksi()); perubahan += "pejabat penilai direksi, "; } - - /* - * Jabatan jbtn = new Jabatan(); - * jbtn.setId(vo.getJabatanId()); - */ if (CommonUtil.isNotNullOrEmpty(vo.getJabatan())) { map.setJabatan(jabatanConverter.transferVOToModel(vo.getJabatan(), new Jabatan())); perubahan += "jabatan, "; } - - /* - * UnitKerjaPegawai unitkerja = new UnitKerjaPegawai(); - * unitkerja.setId(vo.getUnitKerjaPegawaiId()); - */ if (CommonUtil.isNotNullOrEmpty(vo.getUnitKerjaPegawai())) { map.setUnitKerjaPegawai( unitKerjaConverter.transferVOToModel(vo.getUnitKerjaPegawai(), new UnitKerjaPegawai())); perubahan += "unit kerja, "; } - - /* - * SubUnitKerjaPegawai subUnit = new SubUnitKerjaPegawai(); - * subUnit.setId(vo.getSubUnitKerjaPegawaiId()); - */ if (CommonUtil.isNotNullOrEmpty(vo.getSubUnitKerjaPegawai())) { map.setSubUnitKerjaPegawai(subunitKerjaConverter.transferVOToModel(vo.getSubUnitKerjaPegawai(), new SubUnitKerjaPegawai())); @@ -296,9 +255,26 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata } tmp.put("id", map.getId()); listResult.add(tmp); + + // update_komponen_evaluasi_jabatan + if (CommonUtil.isNotNullOrEmpty(vo.getPegawai())) { + Map evaluasiJabatan = this.getEvaluasiJabatanByPegawai(vo.getPegawai().getId()); + Pegawai pegawai = new Pegawai(); + pegawai.setId(vo.getPegawai().getId()); + pegawai.setNilaiJabatan(Double.valueOf(evaluasiJabatan.get("nilaiJabatan").toString())); + pegawai.setGrade(Double.valueOf(evaluasiJabatan.get("grade").toString())); + NilaiKelompokJabatan detailKelompokJabatan = new NilaiKelompokJabatan(); + detailKelompokJabatan + .setId(Integer.valueOf(evaluasiJabatan.get("idDetailKelompokJabatan").toString())); + pegawai.setDetailKelompokJabatan(detailKelompokJabatan); + + Pegawai rs = pegawaiDao.save(pegawai); + if (CommonUtil.isNotNullOrEmpty(rs)) { + listResult.add(evaluasiJabatan); + } + } } } - // result.put("message", "Data Berhasil Disimpan"); result.put("data", listResult); return result; } @@ -398,12 +374,6 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata riwayatJabatanVo.setPegawai(vo.getPegawai()); riwayatJabatanVo.setStatusEnabled(Master.STATUS_ENABLE_TRUE); riwayatJabatanService.add(riwayatJabatanVo); - - // Map mappingChanged = - // this.autoMappingAtasan(vo.getPegawai().getId(), - // vo.getJabatan().getId(), - // vo.getUnitKerjaPegawai().getId(), - // vo.getSubUnitKerjaPegawai().getId()); } } else if (CommonUtil.isNullOrEmpty(map.getJabatanId()) && CommonUtil.isNotNullOrEmpty(vo.getJabatan())) { @@ -421,12 +391,6 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata riwayatJabatanVo.setPegawai(vo.getPegawai()); riwayatJabatanVo.setStatusEnabled(Master.STATUS_ENABLE_TRUE); riwayatJabatanService.add(riwayatJabatanVo); - - // Map mappingChanged = - // this.autoMappingAtasan(vo.getPegawai().getId(), - // vo.getJabatan().getId(), - // vo.getUnitKerjaPegawai().getId(), - // vo.getSubUnitKerjaPegawai().getId()); } else if (CommonUtil.isNotNullOrEmpty(map.getJabatanId()) && CommonUtil.isNullOrEmpty(vo.getJabatan())) { map.setJabatan(null); @@ -439,24 +403,12 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata map.setUnitKerjaPegawai( unitKerjaConverter.transferVOToModel(vo.getUnitKerjaPegawai(), new UnitKerjaPegawai())); perubahan += "ubah unit kerja, "; - - // Map mappingChanged = - // this.autoMappingAtasan(vo.getPegawai().getId(), - // vo.getJabatan().getId(), - // vo.getUnitKerjaPegawai().getId(), - // vo.getSubUnitKerjaPegawai().getId()); } } else if (CommonUtil.isNullOrEmpty(map.getUnitKerjaPegawaiId()) && CommonUtil.isNotNullOrEmpty(vo.getUnitKerjaPegawai())) { map.setUnitKerjaPegawai( unitKerjaConverter.transferVOToModel(vo.getUnitKerjaPegawai(), new UnitKerjaPegawai())); perubahan += "unit kerja, "; - - // Map mappingChanged = - // this.autoMappingAtasan(vo.getPegawai().getId(), - // vo.getJabatan().getId(), - // vo.getUnitKerjaPegawai().getId(), - // vo.getSubUnitKerjaPegawai().getId()); } else if (CommonUtil.isNotNullOrEmpty(map.getUnitKerjaPegawaiId()) && CommonUtil.isNullOrEmpty(vo.getUnitKerjaPegawai())) { map.setUnitKerjaPegawai(null); @@ -469,24 +421,12 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata map.setSubUnitKerjaPegawai(subunitKerjaConverter.transferVOToModel(vo.getSubUnitKerjaPegawai(), new SubUnitKerjaPegawai())); perubahan += "ubah subunit kerja, "; - - // Map mappingChanged = - // this.autoMappingAtasan(vo.getPegawai().getId(), - // vo.getJabatan().getId(), - // vo.getUnitKerjaPegawai().getId(), - // vo.getSubUnitKerjaPegawai().getId()); } } else if (CommonUtil.isNullOrEmpty(map.getSubUnitKerjaPegawaiId()) && CommonUtil.isNotNullOrEmpty(vo.getSubUnitKerjaPegawai())) { map.setSubUnitKerjaPegawai(subunitKerjaConverter.transferVOToModel(vo.getSubUnitKerjaPegawai(), new SubUnitKerjaPegawai())); perubahan += "subunit kerja, "; - - // Map mappingChanged = - // this.autoMappingAtasan(vo.getPegawai().getId(), - // vo.getJabatan().getId(), - // vo.getUnitKerjaPegawai().getId(), - // vo.getSubUnitKerjaPegawai().getId()); } else if (CommonUtil.isNotNullOrEmpty(map.getSubUnitKerjaPegawaiId()) && CommonUtil.isNullOrEmpty(vo.getSubUnitKerjaPegawai())) { map.setSubUnitKerjaPegawai(null); @@ -628,7 +568,6 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata map = mapPegawaiJabatanToUnitKerjaDao.save(map); this.saveHistoryPegawai(map, perubahan); - // this.saveHistory(map); } else { map.setKdProfile(Master.KODE_PROFILE); map.setStatusEnabled(Master.STATUS_ENABLE_TRUE); @@ -652,36 +591,18 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata riwayatJabatanVo.setPegawai(vo.getPegawai()); riwayatJabatanVo.setStatusEnabled(Master.STATUS_ENABLE_TRUE); riwayatJabatanService.add(riwayatJabatanVo); - - // Map mappingChanged = - // this.autoMappingAtasan(vo.getPegawai().getId(), - // vo.getJabatan().getId(), - // vo.getUnitKerjaPegawai().getId(), - // vo.getSubUnitKerjaPegawai().getId()); } if (CommonUtil.isNotNullOrEmpty(vo.getUnitKerjaPegawai())) { map.setUnitKerjaPegawai( unitKerjaConverter.transferVOToModel(vo.getUnitKerjaPegawai(), new UnitKerjaPegawai())); perubahan += "unit kerja, "; - - // Map mappingChanged = - // this.autoMappingAtasan(vo.getPegawai().getId(), - // vo.getJabatan().getId(), - // vo.getUnitKerjaPegawai().getId(), - // vo.getSubUnitKerjaPegawai().getId()); } if (CommonUtil.isNotNullOrEmpty(vo.getSubUnitKerjaPegawai())) { map.setSubUnitKerjaPegawai(subunitKerjaConverter.transferVOToModel(vo.getSubUnitKerjaPegawai(), new SubUnitKerjaPegawai())); perubahan += "subunit kerja, "; - - // Map mappingChanged = - // this.autoMappingAtasan(vo.getPegawai().getId(), - // vo.getJabatan().getId(), - // vo.getUnitKerjaPegawai().getId(), - // vo.getSubUnitKerjaPegawai().getId()); } if (CommonUtil.isNotNullOrEmpty(vo.getAtasanLangsung())) { @@ -739,11 +660,26 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata map = mapPegawaiJabatanToUnitKerjaDao.save(map); this.saveHistoryPegawai(map, perubahan); - // this.saveHistory(map); } tmp.put("id", map.getId()); listResult.add(tmp); + + // update_komponen_evaluasi_jabatan + if (CommonUtil.isNotNullOrEmpty(vo.getPegawai())) { + Map evaluasiJabatan = this.getEvaluasiJabatanByPegawai(vo.getPegawai().getId()); + pegawai.setId(vo.getPegawai().getId()); + pegawai.setNilaiJabatan(Double.valueOf(evaluasiJabatan.get("nilaiJabatan").toString())); + pegawai.setGrade(Double.valueOf(evaluasiJabatan.get("grade").toString())); + NilaiKelompokJabatan detailKelompokJabatan = new NilaiKelompokJabatan(); + detailKelompokJabatan.setId(Integer.valueOf(evaluasiJabatan.get("idDetailKelompokJabatan").toString())); + pegawai.setDetailKelompokJabatan(detailKelompokJabatan); + + Pegawai rs = pegawaiDao.save(pegawai); + if (CommonUtil.isNotNullOrEmpty(rs)) { + listResult.add(evaluasiJabatan); + } + } } result.put("data", listResult); @@ -1658,13 +1594,17 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata */ @Override public Map getEvaluasiJabatanPegawaiBaru(List listIdJabatan) { - Map result = new HashMap<>(); - List> data = mapPegawaiJabatanToUnitKerjaDao - .findEvaluasiJabatanByAllJabatanPegawai(listIdJabatan); - result.put("data", data.get(0)); + .findEvaluasiJabatanByAllJabatanPegawaiBaru(listIdJabatan); - return result; + return data.get(0); + } + + @Override + public Map getEvaluasiJabatanByPegawai(Integer idPegawai) { + List> data = mapPegawaiJabatanToUnitKerjaDao.findEvaluasiJabatanByPegawai(idPegawai); + + return data.get(0); } } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/NilaiKelompokJabatanServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/NilaiKelompokJabatanServiceImpl.java index 6bfbb543..d874562f 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/NilaiKelompokJabatanServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/NilaiKelompokJabatanServiceImpl.java @@ -1,29 +1,22 @@ package com.jasamedika.medifirst2000.service.impl; import java.util.ArrayList; -import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.UUID; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.orm.jpa.JpaSystemException; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - - - -import com.jasamedika.medifirst2000.exception.ServiceVOException; -import com.jasamedika.medifirst2000.service.NilaiKelompokJabatanService; -import com.jasamedika.medifirst2000.util.CommonUtil; -import com.jasamedika.medifirst2000.entities.KelompokJabatan; -import com.jasamedika.medifirst2000.entities.NilaiKelompokJabatan; -import com.jasamedika.medifirst2000.vo.KelompokJabatanVO; -import com.jasamedika.medifirst2000.vo.NilaiKelompokJabatanVO; import com.jasamedika.medifirst2000.converter.BaseConverterImpl; import com.jasamedika.medifirst2000.dao.NilaiKelompokJabatanDao; +import com.jasamedika.medifirst2000.entities.KelompokJabatan; +import com.jasamedika.medifirst2000.entities.NilaiKelompokJabatan; +import com.jasamedika.medifirst2000.service.NilaiKelompokJabatanService; +import com.jasamedika.medifirst2000.util.CommonUtil; +import com.jasamedika.medifirst2000.vo.KelompokJabatanVO; +import com.jasamedika.medifirst2000.vo.NilaiKelompokJabatanVO; +import com.jasamedika.medifirst2000.vo.PlafonRemunerasiKemenkeuVO; /** * Implement class for KelompokJabatanService @@ -32,27 +25,27 @@ import com.jasamedika.medifirst2000.dao.NilaiKelompokJabatanDao; * @param */ @Service("nilaiKelompokJabatanService") -public class NilaiKelompokJabatanServiceImpl extends BaseVoServiceImpl implements NilaiKelompokJabatanService -{ +public class NilaiKelompokJabatanServiceImpl extends BaseVoServiceImpl implements NilaiKelompokJabatanService { + @Autowired - private BaseConverterImplkelompokJabatanConverter; - + private BaseConverterImpl kelompokJabatanConverter; + @Autowired - private BaseConverterImplkelJabatanConverter; - + private BaseConverterImpl kelJabatanConverter; + @Autowired - private NilaiKelompokJabatanDao kelompokJabatanDao; - + private NilaiKelompokJabatanDao nilaiKelompokJabatanDao; + @Override public Map saveNilaiKelompokJabatan(NilaiKelompokJabatanVO vo) { Map result = new HashMap(); NilaiKelompokJabatan model = new NilaiKelompokJabatan(); - model = kelompokJabatanConverter.transferVOToModel(vo,model); - if(CommonUtil.isNotNullOrEmpty(vo.getKelompokJabatan())) - { - model.setKelompokJabatan(kelJabatanConverter.transferVOToModel(vo.getKelompokJabatan(), new KelompokJabatan())); - } - NilaiKelompokJabatan resultDomain = kelompokJabatanDao.save(model); + model = kelompokJabatanConverter.transferVOToModel(vo, model); + if (CommonUtil.isNotNullOrEmpty(vo.getKelompokJabatan())) { + model.setKelompokJabatan( + kelJabatanConverter.transferVOToModel(vo.getKelompokJabatan(), new KelompokJabatan())); + } + NilaiKelompokJabatan resultDomain = nilaiKelompokJabatanDao.save(model); if (CommonUtil.isNotNullOrEmpty(resultDomain)) { result.put("id", resultDomain.getId()); } @@ -63,7 +56,7 @@ public class NilaiKelompokJabatanServiceImpl extends BaseVoServiceImpl implement @Override public Map getNilaiKelompokJabatan(Integer id) { Map result = new HashMap(); - NilaiKelompokJabatan model = kelompokJabatanDao.getNilaiKelompokJabatan(id); + NilaiKelompokJabatan model = nilaiKelompokJabatanDao.getNilaiKelompokJabatan(id); try { result = model.ToMap(); } catch (IllegalArgumentException e) { @@ -71,12 +64,46 @@ public class NilaiKelompokJabatanServiceImpl extends BaseVoServiceImpl implement } catch (IllegalAccessException e) { e.printStackTrace(); } + return result; } @Override public List> getAllByStatusEnabled() { - List> result = kelompokJabatanDao.getAllByStatusEnabled(); + List> result = nilaiKelompokJabatanDao.getAllByStatusEnabled(); + return result; } + + @Override + public List> getPlafonRemunerasi() { + List> result = nilaiKelompokJabatanDao.findPlafonRemunerasi(); + + return result; + } + + @Override + public Map saveNilaiKelompokJabatan(PlafonRemunerasiKemenkeuVO vo) { + Map result = new HashMap<>(); + List listId = nilaiKelompokJabatanDao.findIdsByGrade(vo.getGrade()); + + List models = new ArrayList(); + for (Integer id : listId) { + NilaiKelompokJabatan model = new NilaiKelompokJabatan(); + model.setId(id); + model.setGajiHonorarium(vo.getGajiHonorarium()); + model.setMinInsentif(vo.getMinInsentif()); + model.setMaxInsentif(vo.getMaxInsentif()); + model.setMaxTotalRemunerasi(vo.getMaxTotalRemunerasi()); + models.add(model); + } + + Iterable rs = nilaiKelompokJabatanDao.save(models); + if (CommonUtil.isNotNullOrEmpty(rs)) { + result.put("data", listId); + } + + return result; + } + } \ No newline at end of file diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PegawaiServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PegawaiServiceImpl.java index 669d444f..06aaf6e3 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PegawaiServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PegawaiServiceImpl.java @@ -1814,8 +1814,7 @@ public class PegawaiServiceImpl extends BaseVoServiceImpl implements PegawaiServ @Override public Map findPegawaiDetailById(Integer idPegawai) { Map result = pegawaiDao.getPegawaiDetailById(idPegawai); - Map dataEvaluasiJabatan = (Map) this.getEvaluasiJabatanByPegawai(idPegawai) - .get("data"); + Map dataEvaluasiJabatan = (Map) this.getEvaluasiJabatanByPegawai(idPegawai); if (CommonUtil.isNotNullOrEmpty(result.get("agamaId"))) { Map agama = agamaDao.getAgamaById(Integer.parseInt(result.get("agamaId").toString())); @@ -2368,12 +2367,9 @@ public class PegawaiServiceImpl extends BaseVoServiceImpl implements PegawaiServ */ @Override public Map getEvaluasiJabatanByPegawai(Integer idPegawai) { - Map result = new HashMap<>(); - List> data = mapPegawaiJabatanToUnitKerjaDao.findEvaluasiJabatanByPegawai(idPegawai); - result.put("data", data.get(0)); - return result; + return data.get(0); } } diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/NilaiKelompokJabatan.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/NilaiKelompokJabatan.java index 448345f1..eeb329c2 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/NilaiKelompokJabatan.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/NilaiKelompokJabatan.java @@ -53,6 +53,22 @@ public class NilaiKelompokJabatan extends BaseMaster { @Column(name = "id") protected Integer id; + @Column(name = "GajiHonorarium", nullable = false) + @Caption(value = "Gaji Honorarium") + private Double gajiHonorarium; + + @Column(name = "MinInsentif", nullable = false) + @Caption(value = "Minimal Insentif") + private Double minInsentif; + + @Column(name = "maxInsentif", nullable = false) + @Caption(value = "Maksimal Insentif") + private Double maxInsentif; + + @Column(name = "maxTotalRemunerasi", nullable = false) + @Caption(value = "Maksimal Total Remunerasi") + private Double maxTotalRemunerasi; + public KelompokJabatan getKelompokJabatan() { return kelompokJabatan; } @@ -109,4 +125,36 @@ public class NilaiKelompokJabatan extends BaseMaster { this.id = id; } + public Double getGajiHonorarium() { + return gajiHonorarium; + } + + public Double getMinInsentif() { + return minInsentif; + } + + public Double getMaxInsentif() { + return maxInsentif; + } + + public Double getMaxTotalRemunerasi() { + return maxTotalRemunerasi; + } + + public void setGajiHonorarium(Double gajiHonorarium) { + this.gajiHonorarium = gajiHonorarium; + } + + public void setMinInsentif(Double minInsentif) { + this.minInsentif = minInsentif; + } + + public void setMaxInsentif(Double maxInsentif) { + this.maxInsentif = maxInsentif; + } + + public void setMaxTotalRemunerasi(Double maxTotalRemunerasi) { + this.maxTotalRemunerasi = maxTotalRemunerasi; + } + } \ No newline at end of file diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/NilaiKelompokJabatanVO.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/NilaiKelompokJabatanVO.java index 5f15585b..b5a5248e 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/NilaiKelompokJabatanVO.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/NilaiKelompokJabatanVO.java @@ -1,7 +1,5 @@ package com.jasamedika.medifirst2000.vo; -import javax.persistence.Column; - import com.jasamedika.medifirst2000.base.vo.BaseMasterVO; import com.jasamedika.medifirst2000.helper.Caption; @@ -12,7 +10,6 @@ import com.jasamedika.medifirst2000.helper.Caption; */ public class NilaiKelompokJabatanVO extends BaseMasterVO { - @Column(name = "KelompokJabatan", nullable = false, length = 100) @Caption(value = "KelompokJabatan") private KelompokJabatanVO kelompokJabatan; @@ -20,13 +17,23 @@ public class NilaiKelompokJabatanVO extends BaseMasterVO { private String grade; - @Column(name = "NilaiTerendah", nullable = false, length = 100) @Caption(value = "NilaiTerendah") private Integer nilaiTerendah; - @Column(name = "NilaiTertinggi", nullable = false, length = 100) @Caption(value = "NilaiTertinggi") private Integer nilaiTertinggi; + + @Caption(value = "Gaji Honorarium") + private Double gajiHonorarium; + + @Caption(value = "Minimal Insentif") + private Double minInsentif; + + @Caption(value = "Maksimal Insentif") + private Double maxInsentif; + + @Caption(value = "Maksimal Total Remunerasi") + private Double maxTotalRemunerasi; public KelompokJabatanVO getKelompokJabatan() { return kelompokJabatan; @@ -68,4 +75,36 @@ public class NilaiKelompokJabatanVO extends BaseMasterVO { this.nilaiTertinggi = nilaiTertinggi; } + public Double getGajiHonorarium() { + return gajiHonorarium; + } + + public Double getMinInsentif() { + return minInsentif; + } + + public Double getMaxInsentif() { + return maxInsentif; + } + + public Double getMaxTotalRemunerasi() { + return maxTotalRemunerasi; + } + + public void setGajiHonorarium(Double gajiHonorarium) { + this.gajiHonorarium = gajiHonorarium; + } + + public void setMinInsentif(Double minInsentif) { + this.minInsentif = minInsentif; + } + + public void setMaxInsentif(Double maxInsentif) { + this.maxInsentif = maxInsentif; + } + + public void setMaxTotalRemunerasi(Double maxTotalRemunerasi) { + this.maxTotalRemunerasi = maxTotalRemunerasi; + } + } \ No newline at end of file diff --git a/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/MapPegawaiJabatanToUnitKerjaController.java b/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/MapPegawaiJabatanToUnitKerjaController.java index a7d45c60..ac8059f8 100644 --- a/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/MapPegawaiJabatanToUnitKerjaController.java +++ b/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/MapPegawaiJabatanToUnitKerjaController.java @@ -57,11 +57,11 @@ public class MapPegawaiJabatanToUnitKerjaController extends LocaleController> getAllMap(HttpServletRequest request) { Map result = null; diff --git a/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/SdmController.java b/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/SdmController.java index 29760e25..e3bb68c1 100644 --- a/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/SdmController.java +++ b/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/SdmController.java @@ -408,6 +408,9 @@ public class SdmController extends LocaleController { @Autowired private ActivityPegawaiService activityPegawaiService; + @Autowired + private NilaiKelompokJabatanService nilaiKelompokJabatanService; + @RequestMapping(value = "/save-custom-uraian-kerja", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) public ResponseEntity> saveBerkasLamaran(@Valid @RequestBody CustomIndexKerjaVO vo, HttpServletRequest request) throws ParseException { @@ -5743,7 +5746,7 @@ public class SdmController extends LocaleController { return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage); } } - + @RequestMapping(value = "/get-histori-evaluasi-jabatan", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) public ResponseEntity>> getHistoriEvaluasiJabatan(HttpServletRequest request) { try { @@ -5763,4 +5766,23 @@ public class SdmController extends LocaleController { } } + @RequestMapping(value = "/get-plafon-kmk-remunerasi", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity>> getPlafonRemunerasi(HttpServletRequest request) { + try { + List> result = nilaiKelompokJabatanService.getPlafonRemunerasi(); + if (null != result) + mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, + getMessage(MessageResource.LABEL_SUCCESS, request)); + return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage); + } catch (ServiceVOException e) { + LOGGER.error("Got exception {} when get plafon kmk remunerasi", e.getMessage()); + addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, e.getMessage()); + return RestUtil.getJsonHttptatus(HttpStatus.INTERNAL_SERVER_ERROR, mapHeaderMessage); + } catch (JpaSystemException jse) { + LOGGER.error("Got exception {} when get plafon kmk remunerasi", jse.getMessage()); + addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage()); + return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage); + } + } + }