From ad6de666478bbabf54e40a3b9601fa724c7f59ce Mon Sep 17 00:00:00 2001 From: salmanoe Date: Tue, 27 Apr 2021 07:10:37 +0700 Subject: [PATCH] - perbaikan service simpan nilai jabatan ke data pegawai dan mapping jabatan di menu evaluasi jabatan mengikuti tgl hitung terakhir - pembuatan service validasi hapus kontrak kinerja jika sudah ada catatan kegiatan harian - perbaikan service penempatan remunerasi mengikuti perbaikan tanggal hitung nilai jabatan terakhir dan nilai jabatan tertinggi - perbaikan service dashboard kinerja untuk pegawai pkwt dan pegawai belum evaluasi jabatan - perbaikan service hitung sisa cuti jika lebih dari 24 hari --- .../medifirst2000/dao/EvaluasiJabatanDao.java | 11 +++---- .../dao/LogbookKinerjaDetailDao.java | 9 ++++-- .../dao/MapPegawaiJabatanToUnitKerjaDao.java | 2 +- .../dao/NilaiKelompokJabatanDao.java | 9 +++--- .../service/LogbookKinerjaDetailService.java | 2 ++ .../impl/EvaluasiJabatanServiceImpl.java | 28 ++++++---------- .../impl/LogbookKinerjaDetailServiceImpl.java | 7 ++++ .../impl/LogbookKinerjaServiceImpl.java | 22 ++++++++++--- ...pPegawaiJabatanToUnitKerjaServiceImpl.java | 32 ++++--------------- .../service/impl/PegawaiServiceImpl.java | 15 +++++++-- .../impl/PermohonanStatusPegawaiImpl.java | 3 ++ .../entities/LogbookKinerjaDetail.java | 10 +++--- .../vo/LogbookKinerjaDetailVO.java | 10 +++--- .../IkiDanRemunerasiController.java | 19 +++++++++++ 14 files changed, 104 insertions(+), 75 deletions(-) diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/EvaluasiJabatanDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/EvaluasiJabatanDao.java index 1f3b82c4..e5ecc0f6 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/EvaluasiJabatanDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/EvaluasiJabatanDao.java @@ -69,15 +69,12 @@ public interface EvaluasiJabatanDao extends PagingAndSortingRepository> findAllEvaluasiJabatan(); @Query("select distinct pg.id " + "from MapPegawaiJabatanToUnitKerja mj " + "inner join mj.pegawai pg " - + "where mj.statusEnabled is true " + "and pg.statusEnabled is true " + "and mj.jabatanId = :jabatanId " - + "and pg.kategoryPegawaiId in (:listKategoriId)") - List findAllPegawaiRemunByJabatan(@Param("jabatanId") Integer idJabatan, - @Param("listKategoriId") List idListKategori); + + "where mj.statusEnabled is true " + "and pg.statusEnabled is true " + "and mj.jabatanId = :jabatanId") + List findAllPegawaiRemunByJabatan(@Param("jabatanId") Integer idJabatan); @Query("select distinct mj.id " + "from MapPegawaiJabatanToUnitKerja mj " + "inner join mj.pegawai pg " - + "where mj.statusEnabled is true " + "and pg.statusEnabled is true " + "and mj.jabatanId = :jabatanId " - + "and pg.kategoryPegawaiId in (:listKategoriId)") - List findAllJabatanRemun(@Param("listKategoriId") List idListKategori); + + "where mj.statusEnabled is true " + "and pg.statusEnabled is true " + "and mj.jabatanId = :jabatanId") + List findAllMappingJabatanRemun(@Param("jabatanId") Integer idJabatan); @Query("select new Map(ej.gradeId as gradeId,ej.totalNilai as totalNilai) " + "from EvaluasiJabatan ej " + "where ej.statusEnabled is true " + "and ej.jabatanId = :jabatanId " + "order by ej.tglHitung desc") diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/LogbookKinerjaDetailDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/LogbookKinerjaDetailDao.java index 34274697..32eccbfb 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/LogbookKinerjaDetailDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/LogbookKinerjaDetailDao.java @@ -31,13 +31,18 @@ public interface LogbookKinerjaDetailDao extends PagingAndSortingRepository> findWorkingRecord(@Param("pegawaiId") Integer idPegawai, @Param("jabatanId") Integer idJabatan, @Param("bulan") String bulan); - @Query("select new Map(lkd.logbookIndikatorId as logbookId,avg(lkd.capaian) as avgCapaian,ikm.satuanIndikatorId as satuanId) " + @Query("select new Map(lkd.logbookKinerjaId as logbookId,avg(lkd.capaian) as avgCapaian,ikm.satuanIndikatorId as satuanId) " + "from LogbookKinerjaDetail lkd " + "inner join lkd.logbookKinerja lk " + "inner join lk.indikatorKinerja ikm " + "where lkd.statusEnabled is true " + "and lkd.statusVerifikasi is true " + "and lk.statusEnabled is true " + "and ikm.statusEnabled is true " + "and lk.noRec = :noRec " + "and ikm.satuanIndikatorId in (:listSatuanId) " - + "group by lkd.logbookIndikatorId, ikm.satuanIndikatorId") + + "group by lkd.logbookKinerjaId, ikm.satuanIndikatorId") List> findAvgCapaianByKontrak(@Param("noRec") String noRec, @Param("listSatuanId") List listIdSatuan); + @Query("select new Map(lkd.noRec as noRec,lkd.namaKegiatan as namaKegiatan) " + "from LogbookKinerjaDetail lkd " + + "where lkd.logbookKinerjaId = :logbookNoRec " + "and lkd.statusEnabled is true " + + "and lkd.statusVerifikasi is true") + List> findUsedWorkingRecordByKontrak(@Param("logbookNoRec") String logbookNoRec); + } 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 953f8ef6..d14a6130 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 @@ -394,7 +394,7 @@ public interface MapPegawaiJabatanToUnitKerjaDao extends CrudRepository> findEvaluasiJabatanByPegawai(@Param("pegawaiId") Integer idPegawai); @Query("select new Map(ej.tglHitung as tglHitung,ej.bulan as bulan,ej.tahun as tahun," 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 e0cb5e0a..a3d5857e 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 @@ -54,10 +54,11 @@ public interface NilaiKelompokJabatanDao extends PagingAndSortingRepository> findPenempatanEvaluasiJabatan( @Param("listKategoriId") List idListKategori); diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/LogbookKinerjaDetailService.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/LogbookKinerjaDetailService.java index 4e723c95..8b1e2c2c 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/LogbookKinerjaDetailService.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/LogbookKinerjaDetailService.java @@ -16,4 +16,6 @@ public interface LogbookKinerjaDetailService public List> findAksesPegawai(Integer idPegawai) throws JpaSystemException; + public List> findUsedWorkingRecordByKontrak(String logbookNoRec) throws JpaSystemException; + } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/EvaluasiJabatanServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/EvaluasiJabatanServiceImpl.java index db69d42b..fce2ae30 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/EvaluasiJabatanServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/EvaluasiJabatanServiceImpl.java @@ -178,19 +178,15 @@ public class EvaluasiJabatanServiceImpl extends BaseVoServiceImpl implements Eva /** * Update data pegawai */ - List listIdPegawai = evaluasiJabatanDao.findAllPegawaiRemunByJabatan( - model.getJabatan().getId(), Arrays.asList(Master.KategoryPegawai.REMUN)); + List listIdPegawai = evaluasiJabatanDao + .findAllPegawaiRemunByJabatan(model.getJabatan().getId()); List listPegawai = new ArrayList<>(); for (Integer idPegawai : listIdPegawai) { Pegawai pegawai = pegawaiDao.findOne(idPegawai); - if ((CommonUtil.isNotNullOrEmpty(pegawai.getNilaiJabatan()) - && pegawai.getNilaiJabatan() < model.getTotalNilai()) - || CommonUtil.isNullOrEmpty(pegawai.getNilaiJabatan())) { - pegawai.setNilaiJabatan(model.getTotalNilai()); - pegawai.setGrade(Double.valueOf(nilaiKelompokJabatan.getGradeDesc())); - pegawai.setDetailKelompokJabatan(nilaiKelompokJabatan); - listPegawai.add(pegawai); - } + pegawai.setNilaiJabatan(model.getTotalNilai()); + pegawai.setGrade(Double.valueOf(nilaiKelompokJabatan.getGradeDesc())); + pegawai.setDetailKelompokJabatan(nilaiKelompokJabatan); + listPegawai.add(pegawai); } if (CommonUtil.isNotNullOrEmpty(listPegawai)) { pegawaiDao.save(listPegawai); @@ -200,16 +196,12 @@ public class EvaluasiJabatanServiceImpl extends BaseVoServiceImpl implements Eva */ List listMapJabatan = new ArrayList<>(); List listIdMapJabatan = evaluasiJabatanDao - .findAllJabatanRemun(Arrays.asList(Master.KategoryPegawai.REMUN)); + .findAllMappingJabatanRemun(model.getJabatan().getId()); for (Integer id : listIdMapJabatan) { MapPegawaiJabatanToUnitKerja mj = mapPegawaiJabatanToUnitKerjaDao.findOne(id); - if ((CommonUtil.isNotNullOrEmpty(mj.getNilaiJabatan()) - && mj.getNilaiJabatan() < model.getTotalNilai()) - || CommonUtil.isNullOrEmpty(mj.getNilaiJabatan())) { - mj.setNilaiJabatan(model.getTotalNilai()); - mj.setGrade(nilaiKelompokJabatan); - listMapJabatan.add(mj); - } + mj.setNilaiJabatan(model.getTotalNilai()); + mj.setGrade(nilaiKelompokJabatan); + listMapJabatan.add(mj); } if (CommonUtil.isNotNullOrEmpty(listMapJabatan)) { mapPegawaiJabatanToUnitKerjaDao.save(listMapJabatan); diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/LogbookKinerjaDetailServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/LogbookKinerjaDetailServiceImpl.java index cc9b4028..b61abad8 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/LogbookKinerjaDetailServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/LogbookKinerjaDetailServiceImpl.java @@ -206,4 +206,11 @@ public class LogbookKinerjaDetailServiceImpl extends BaseVoServiceImpl implement return result; } + @Override + public List> findUsedWorkingRecordByKontrak(String logbookNoRec) throws JpaSystemException { + List> result = logbookKinerjaDetailDao.findUsedWorkingRecordByKontrak(logbookNoRec); + + return result; + } + } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/LogbookKinerjaServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/LogbookKinerjaServiceImpl.java index dc0fd9f6..7d221dcd 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/LogbookKinerjaServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/LogbookKinerjaServiceImpl.java @@ -322,7 +322,9 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb Map result = new HashMap<>(); List> data = anggaranRemunerasiDao.findTahunIniByPegawai(idPegawai, idJabatan); - result = data.get(0); + if (CommonUtil.isNotNullOrEmpty(data) && data.size() > 0) { + result = data.get(0); + } return result; } @@ -334,6 +336,10 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb List> listJenisIndikator = new ArrayList<>(); DateFormat df = new SimpleDateFormat("yyyy-MM"); double totAllPersen = 0.0; + double nilaiJabatan = 0.0; + double pir = 0.0; + double plafonGaji = 0.0; + double plafonInsentif = 0.0; DecimalFormatSymbols formatRp = new DecimalFormatSymbols(); formatRp.setCurrencySymbol("Rp"); @@ -347,8 +353,14 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb df.format(new Date(bulan))); Map anggaran = findAnggaranRemunerasi(idPegawai, idJabatan); - double nilaiJabatan = Double.valueOf(rs.get(0).get("nilaiJabatan").toString()); - double pir = Double.valueOf(anggaran.get("pir").toString()); + if (CommonUtil.isNotNullOrEmpty(rs) && rs.size() > 0) { + nilaiJabatan = Double.valueOf(rs.get(0).get("nilaiJabatan").toString()); + } + if (CommonUtil.isNotNullOrEmpty(anggaran)) { + pir = Double.valueOf(anggaran.get("pir").toString()); + plafonGaji = Double.valueOf(anggaran.get("plafonGaji").toString()); + plafonInsentif = Double.valueOf(anggaran.get("plafonInsentif").toString()); + } for (String ji : Arrays.asList(Master.JENIS_INDIKATOR)) { double hasil = 0.0; @@ -396,13 +408,13 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb result.put("rupiahCapaianP1Format", kursINA.format( totAllPersen / 100.0 * nilaiJabatan * Master.Remunerasi.IKI_STANDAR * pir * Master.Remunerasi.PERSEN_P1) .toString()); - result.put("plafonP1", kursINA.format(Double.valueOf(anggaran.get("plafonGaji").toString())).toString()); + result.put("plafonP1", kursINA.format(plafonGaji).toString()); result.put("rupiahCapaianP2", totAllPersen / 100.0 * nilaiJabatan * Master.Remunerasi.IKI_STANDAR * pir * Master.Remunerasi.PERSEN_P2); result.put("rupiahCapaianP2Format", kursINA.format( totAllPersen / 100.0 * nilaiJabatan * Master.Remunerasi.IKI_STANDAR * pir * Master.Remunerasi.PERSEN_P2) .toString()); - result.put("plafonP2", kursINA.format(Double.valueOf(anggaran.get("plafonInsentif").toString())).toString()); + result.put("plafonP2", kursINA.format(plafonInsentif).toString()); result.put("rupiahTargetP1", nilaiJabatan * Master.Remunerasi.IKI_STANDAR * pir * Master.Remunerasi.PERSEN_P1); result.put("rupiahTargetFormatP1", kursINA .format(nilaiJabatan * Master.Remunerasi.IKI_STANDAR * pir * Master.Remunerasi.PERSEN_P1).toString()); 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 c16c0b58..40decf79 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 @@ -171,10 +171,7 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata // Find nilai jabatan dan grade List> ej = evaluasiJabatanDao .findEvaluasiByJabatan(vo.getJabatan().getId()); - if (CommonUtil.isNotNullOrEmpty(ej) - && Arrays.asList(Master.KategoryPegawai.REMUN).contains(idKategoryPegawai) - && (CommonUtil.isNullOrEmpty(map.getNilaiJabatan()) || map.getNilaiJabatan() < Double - .valueOf(ej.get(0).get("totalNilai").toString()))) { + if (CommonUtil.isNotNullOrEmpty(ej)) { map.setNilaiJabatan(Double.valueOf(ej.get(0).get("totalNilai").toString())); NilaiKelompokJabatan nj = new NilaiKelompokJabatan(); nj.setId(Integer.valueOf(ej.get(0).get("gradeId").toString())); @@ -262,10 +259,7 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata // Find nilai jabatan dan grade List> ej = evaluasiJabatanDao .findEvaluasiByJabatan(vo.getJabatan().getId()); - if (CommonUtil.isNotNullOrEmpty(ej) - && Arrays.asList(Master.KategoryPegawai.REMUN).contains(idKategoryPegawai) - && (CommonUtil.isNullOrEmpty(map.getNilaiJabatan()) || map.getNilaiJabatan() < Double - .valueOf(ej.get(0).get("totalNilai").toString()))) { + if (CommonUtil.isNotNullOrEmpty(ej)) { map.setNilaiJabatan(Double.valueOf(ej.get(0).get("totalNilai").toString())); NilaiKelompokJabatan nj = new NilaiKelompokJabatan(); nj.setId(Integer.valueOf(ej.get(0).get("gradeId").toString())); @@ -439,10 +433,7 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata // Find nilai jabatan dan grade List> ej = evaluasiJabatanDao .findEvaluasiByJabatan(vo.getJabatan().getId()); - if (CommonUtil.isNotNullOrEmpty(ej) - && Arrays.asList(Master.KategoryPegawai.REMUN).contains(idKategoryPegawai) - && (CommonUtil.isNullOrEmpty(map.getNilaiJabatan()) || map.getNilaiJabatan() < Double - .valueOf(ej.get(0).get("totalNilai").toString()))) { + if (CommonUtil.isNotNullOrEmpty(ej)) { map.setNilaiJabatan(Double.valueOf(ej.get(0).get("totalNilai").toString())); NilaiKelompokJabatan nj = new NilaiKelompokJabatan(); nj.setId(Integer.valueOf(ej.get(0).get("gradeId").toString())); @@ -469,10 +460,7 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata // Find nilai jabatan dan grade List> ej = evaluasiJabatanDao.findEvaluasiByJabatan(vo.getJabatan().getId()); - if (CommonUtil.isNotNullOrEmpty(ej) - && Arrays.asList(Master.KategoryPegawai.REMUN).contains(idKategoryPegawai) - && (CommonUtil.isNullOrEmpty(map.getNilaiJabatan()) || map.getNilaiJabatan() < Double - .valueOf(ej.get(0).get("totalNilai").toString()))) { + if (CommonUtil.isNotNullOrEmpty(ej)) { map.setNilaiJabatan(Double.valueOf(ej.get(0).get("totalNilai").toString())); NilaiKelompokJabatan nj = new NilaiKelompokJabatan(); nj.setId(Integer.valueOf(ej.get(0).get("gradeId").toString())); @@ -684,10 +672,7 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata // Find nilai jabatan dan grade List> ej = evaluasiJabatanDao.findEvaluasiByJabatan(vo.getJabatan().getId()); - if (CommonUtil.isNotNullOrEmpty(ej) - && Arrays.asList(Master.KategoryPegawai.REMUN).contains(idKategoryPegawai) - && (CommonUtil.isNullOrEmpty(map.getNilaiJabatan()) || map.getNilaiJabatan() < Double - .valueOf(ej.get(0).get("totalNilai").toString()))) { + if (CommonUtil.isNotNullOrEmpty(ej)) { map.setNilaiJabatan(Double.valueOf(ej.get(0).get("totalNilai").toString())); NilaiKelompokJabatan nj = new NilaiKelompokJabatan(); nj.setId(Integer.valueOf(ej.get(0).get("gradeId").toString())); @@ -772,12 +757,7 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl implements MapPegawaiJabata if (CommonUtil.isNotNullOrEmpty(vo.getPegawai())) { Map evaluasiJabatan = this.getEvaluasiJabatanByPegawai(vo.getPegawai().getId()); pegawai.setId(vo.getPegawai().getId()); - if ((CommonUtil.isNotNullOrEmpty(evaluasiJabatan) - && CommonUtil.isNullOrEmpty(pegawai.getNilaiJabatan())) - || (CommonUtil.isNotNullOrEmpty(evaluasiJabatan) - && CommonUtil.isNotNullOrEmpty(pegawai.getNilaiJabatan()) - && pegawai.getNilaiJabatan() < Double - .valueOf(evaluasiJabatan.get("nilaiJabatan").toString()))) { + if (CommonUtil.isNotNullOrEmpty(evaluasiJabatan)) { pegawai.setNilaiJabatan(Double.valueOf(evaluasiJabatan.get("nilaiJabatan").toString())); pegawai.setGrade(Double.valueOf(evaluasiJabatan.get("grade").toString())); NilaiKelompokJabatan detailKelompokJabatan = new NilaiKelompokJabatan(); 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 5b57c3bb..b810867f 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 @@ -6,6 +6,7 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.Calendar; +import java.util.Comparator; import java.util.Date; import java.util.HashMap; import java.util.List; @@ -2383,10 +2384,20 @@ public class PegawaiServiceImpl extends BaseVoServiceImpl implements PegawaiServ @Override public Map getEvaluasiJabatanByPegawai(Integer idPegawai) { Map result = new HashMap<>(); + List listIdJabatan = new ArrayList<>(); + List> dataFilter = new ArrayList<>(); List> data = mapPegawaiJabatanToUnitKerjaDao.findEvaluasiJabatanByPegawai(idPegawai); - if (CommonUtil.isNotNullOrEmpty(data)) { - result = data.get(0); + for (Map map : data) { + if (!listIdJabatan.contains(map.get("idJabatan"))) { + listIdJabatan.add(Integer.valueOf(map.get("idJabatan").toString())); + dataFilter.add(map); + } + } + + if (CommonUtil.isNotNullOrEmpty(dataFilter)) { + dataFilter.sort(Comparator.comparing(m -> (Double) m.get("nilaiJabatan"))); + result = dataFilter.get(dataFilter.size() - 1); } return result; diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PermohonanStatusPegawaiImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PermohonanStatusPegawaiImpl.java index b9d514a2..f12a96c0 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PermohonanStatusPegawaiImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PermohonanStatusPegawaiImpl.java @@ -744,6 +744,9 @@ public class PermohonanStatusPegawaiImpl implements PermohonanStatusPegawaiServi } else if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2) + difCutiTerpakai(cutiTerpakaiN1, dataCutiB1) < 6 && dataCutiN2 <= 0) { sisaCutiN2 = 0; + } else if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2) + + difCutiTerpakai(cutiTerpakaiN1, dataCutiB1) > 6 && jCutiN1) { + sisaCutiN2 = 0; } else { sisaCutiN2 = dataCutiN2 - jatahCutiTerpakaiN2; } diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/LogbookKinerjaDetail.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/LogbookKinerjaDetail.java index cf5f94a8..bf689399 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/LogbookKinerjaDetail.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/LogbookKinerjaDetail.java @@ -46,7 +46,7 @@ public class LogbookKinerjaDetail extends BaseTransaction { private LogbookKinerja logbookKinerja; @Column(name = "objectlogbookkinerjafk", insertable = false, updatable = false, nullable = true) - private String logbookIndikatorId; + private String logbookKinerjaId; public String getNamaKegiatan() { return namaKegiatan; @@ -96,12 +96,12 @@ public class LogbookKinerjaDetail extends BaseTransaction { this.logbookKinerja = logbookKinerja; } - public String getLogbookIndikatorId() { - return logbookIndikatorId; + public String getLogbookKinerjaId() { + return logbookKinerjaId; } - public void setLogbookIndikatorId(String logbookIndikatorId) { - this.logbookIndikatorId = logbookIndikatorId; + public void setLogbookKinerjaId(String logbookKinerjaId) { + this.logbookKinerjaId = logbookKinerjaId; } } diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/LogbookKinerjaDetailVO.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/LogbookKinerjaDetailVO.java index 10193bbd..164286ec 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/LogbookKinerjaDetailVO.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/LogbookKinerjaDetailVO.java @@ -25,7 +25,7 @@ public class LogbookKinerjaDetailVO extends BaseTransactionVO { @Caption(value = "Logbook Kinerja") private LogbookKinerjaVO logbookKinerja; - private String logbookIndikatorId; + private String logbookKinerjaId; public String getNamaKegiatan() { return namaKegiatan; @@ -75,12 +75,12 @@ public class LogbookKinerjaDetailVO extends BaseTransactionVO { this.logbookKinerja = logbookKinerja; } - public String getLogbookIndikatorId() { - return logbookIndikatorId; + public String getLogbookKinerjaId() { + return logbookKinerjaId; } - public void setLogbookIndikatorId(String logbookIndikatorId) { - this.logbookIndikatorId = logbookIndikatorId; + public void setLogbookKinerjaId(String logbookKinerjaId) { + this.logbookKinerjaId = logbookKinerjaId; } } diff --git a/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/IkiDanRemunerasiController.java b/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/IkiDanRemunerasiController.java index 4975591f..2ebd2bd3 100644 --- a/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/IkiDanRemunerasiController.java +++ b/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/IkiDanRemunerasiController.java @@ -923,4 +923,23 @@ public class IkiDanRemunerasiController extends LocaleController>> getUsedWorkingRecordByKontrak(HttpServletRequest request, + @RequestParam(value = "logbookKinerjaId", required = true) String idLogbookKinerja) throws ParseException { + try { + List> result = logbookKinerjaDetailService.findUsedWorkingRecordByKontrak(idLogbookKinerja); + mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, + getMessage(MessageResource.LABEL_SUCCESS, request)); + return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage); + } catch (ServiceVOException sve) { + LOGGER.error("Got exception {} when get kontrak sudah dipakai di working record", sve.getMessage()); + addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, sve.getMessage()); + return RestUtil.getJsonHttptatus(HttpStatus.INTERNAL_SERVER_ERROR, mapHeaderMessage); + } catch (JpaSystemException jse) { + LOGGER.error("Got exception {} when get kontrak sudah dipakai di working record", jse.getMessage()); + addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage()); + return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage); + } + } + }