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 30b5e04e..e9410bc5 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 @@ -1,6 +1,7 @@ package com.jasamedika.medifirst2000.dao; import java.util.List; +import java.util.Map; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.PagingAndSortingRepository; @@ -18,25 +19,45 @@ import com.jasamedika.medifirst2000.entities.NilaiKelompokJabatan; @Repository("EvaluasiJabatanDao") public interface EvaluasiJabatanDao extends PagingAndSortingRepository { - - @Query("select model from EvaluasiJabatan model where model.tahun=:tahun and model.ruangan.id=:ruangan and model.bulan=:bulan ") - List findEvaluasi(@Param("bulan")String bulan, @Param("tahun")Integer tahun,@Param("ruangan") Integer ruangan); - - @Query("select nilaiKelompokJabatan " - + "from NilaiKelompokJabatan nilaiKelompokJabatan " + List findEvaluasi(@Param("bulan") String bulan, @Param("tahun") Integer tahun, + @Param("ruangan") Integer ruangan); + + @Query("select nilaiKelompokJabatan " + "from NilaiKelompokJabatan nilaiKelompokJabatan " + "left join nilaiKelompokJabatan.kelompokJabatan kelompokJabatan where kelompokJabatan.id " - + "in (Select kelompokJabatan.id " - + "from MappingKelompokToJabatan mapping left " + + "in (Select kelompokJabatan.id " + "from MappingKelompokToJabatan mapping left " + "join mapping.jabatan jabatan " + "left join mapping.kelompokJabatan kelompokJabatan where jabatan.id=:idJabatan) ") - List findGrade(@Param("idJabatan") Integer idJabatan); List findByTahun(Integer tahun); - - List findByTahunAndPegawaiId(Integer tahun,Integer pegawaiId); - - - + + List findByTahunAndPegawaiId(Integer tahun, Integer pegawaiId); + + @Query("select nj from Jabatan j, NilaiKelompokJabatan nj " + "left join nj.kelompokJabatan kj " + + "where j.kelompokJabatanId = kj.id " + "and j.statusEnabled is true " + "and kj.statusEnabled is true " + + "and nj.statusEnabled is true " + "and :totalNilai between nj.nilaiTerendah and nj.nilaiTertinggi " + + "and j.id = :idJabatan") + NilaiKelompokJabatan findDetailKelompokJabatan(@Param("idJabatan") Integer idJabatan, + @Param("totalNilai") Integer totalNilai); + + @Query("select new Map(ej.tahun || '-' || ej.bulan as periodePerhitungan," + + "j.namaJabatan as namaJabatan,nj.detailKelompokJabatan as kelompokJabatan," + + "f1.profile as f1,f2.profile as f2,f3.profile as f3," + + "f4.profile as f4,f5.profile as f5,f7.profile as f7," + + "f8.profile as f8,f9.profile as f9,f10.profile as f10," + + "fa.profile as fa,fb.profile as fb,fc.profile as fc,fd.profile as fd,fe.profile as fe,ff.profile as ff," + + "fg.profile as fg,fh.profile as fh,fi.profile as fi,fj.profile as fj,fk.profile as fk,fl.profile as fl," + + "cast(ej.totalNilai as long) as nilaiJabatan) " + "from EvaluasiJabatan ej " + "left join ej.jabatan j " + + "left join ej.grade nj " + "left join ej.faktor1 f1 " + "left join ej.faktor2 f2 " + + "left join ej.faktor3 f3 " + "left join ej.faktor4 f4 " + "left join ej.faktor5 f5 " + + "left join ej.faktor7 f7 " + "left join ej.faktor8 f8 " + "left join ej.faktor9 f9 " + + "left join ej.faktor10 f10 " + "left join ej.faktorA fa " + "left join ej.faktorB fb " + + "left join ej.faktorC fc " + "left join ej.faktorD fd " + "left join ej.faktorE fe " + + "left join ej.faktorF ff " + "left join ej.faktorG fg " + "left join ej.faktorH fh " + + "left join ej.faktorI fi " + "left join ej.faktorJ fj " + "left join ej.faktorK fk " + + "left join ej.faktorL fl " + "where ej.statusEnabled is true " + + "order by j.namaJabatan, ej.tahun || '-' || ej.bulan") + List> findAllEvaluasiJabatan(); + } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/JabatanDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/JabatanDao.java index 98b27aaf..9661cfba 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/JabatanDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/JabatanDao.java @@ -52,4 +52,12 @@ public interface JabatanDao extends PagingAndSortingRepository List> checkNamaJabatan(@Param("namaJabatan") String namaJabatan, @Param("jenisJabatanId") Integer jenisJabatanId); + @Query("select new Map(j.id as id,j.namaJabatan as namaJabatan," + + "min(nj.nilaiTerendah) as nilaiTerendah,max(nj.nilaiTertinggi) as nilaiTertinggi) " + + "from Jabatan j, NilaiKelompokJabatan nj " + "left join nj.kelompokJabatan kj " + + "where j.kelompokJabatanId = kj.id " + "and j.statusEnabled is true " + "and kj.statusEnabled is true " + + "and nj.statusEnabled is true " + "and j.kdJabatan = 'ANJAB' " + "group by j.id, j.namaJabatan " + + "order by j.namaJabatan") + List> listJabatanAnjab(); + } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/EvaluasiJabatanService.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/EvaluasiJabatanService.java index 91997980..3ee9cdd7 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/EvaluasiJabatanService.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/EvaluasiJabatanService.java @@ -20,6 +20,11 @@ public interface EvaluasiJabatanService { Map findPegawaiByTahun(Integer tahun, Integer idPegawai); Map hitungPoinEvaluasi(EvaluasiJabatanVO vo); + Map findEvaluasiJabatanTahunBulan(Integer tahun, String bulan); + Map findEvaluasiJabatanTahun(Integer tahun); + + List> findAllEvaluasiJabatan(); + } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/JabatanService.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/JabatanService.java index e7761e88..b9f30909 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/JabatanService.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/JabatanService.java @@ -16,6 +16,8 @@ public interface JabatanService extends BaseVoService> getJabatanStruktural(); List> getListJabatanFungsionalStruktural(); + + List> getListJabatanAnjab(); List> getJabatanByJenisJabatan(Integer idJenisJabatan); 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 bc365023..38063419 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 @@ -28,7 +28,6 @@ import com.jasamedika.medifirst2000.util.JsonUtil; import com.jasamedika.medifirst2000.vo.EvaluasiJabatanVO; import com.jasamedika.medifirst2000.vo.FaktorEvaluasiVO; import com.jasamedika.medifirst2000.vo.JabatanVO; -import com.jasamedika.medifirst2000.vo.NilaiKelompokJabatanVO; import com.jasamedika.medifirst2000.vo.PegawaiVO; import com.jasamedika.medifirst2000.vo.RuanganVO; @@ -56,9 +55,6 @@ public class EvaluasiJabatanServiceImpl extends BaseVoServiceImpl implements Eva @Autowired private BaseConverterImpl jabatanConverter; - @Autowired - private BaseConverterImpl nilaiKelompokJabatanConverter; - @Autowired private EvaluasiJabatanDao evaluasiJabatanDao; @@ -75,20 +71,23 @@ public class EvaluasiJabatanServiceImpl extends BaseVoServiceImpl implements Eva model.setBulan(vo.getBulan()); model.setTahun(vo.getTahun()); model.setTotalNilai(vo.getTotalNilai()); - + // SET DATA JABATAN model.setJabatan(jabatanConverter.transferVOToModel(vo.getJabatan(), new Jabatan())); - // SET GRADE - model.setGrade(nilaiKelompokJabatanConverter.transferVOToModel(vo.getGrade(), new NilaiKelompokJabatan())); - // SET DATA PEGAWAI if (CommonUtil.isNotNullOrEmpty(vo.getPegawai())) { model.setPegawai(pegawaiConverter.transferVOToModel(vo.getPegawai(), new Pegawai())); - // Ambil Cek nilai dari grade yang didapat - NilaiKelompokJabatan nilaiKelompokJabatan = getGrade(model.getJabatan().getId(), vo.getTotalNilai()); } - + + // Ambil Cek nilai dari grade yang didapat + // NilaiKelompokJabatan nilaiKelompokJabatan = getGrade(vo.getJabatan().getId(), vo.getTotalNilai()); + + // SET GRADE + NilaiKelompokJabatan nilaiKelompokJabatan = evaluasiJabatanDao + .findDetailKelompokJabatan(vo.getJabatan().getId(), vo.getTotalNilai().intValue()); + model.setGrade(nilaiKelompokJabatan); + // SET DATA RUANGAN if (CommonUtil.isNotNullOrEmpty(vo.getRuangan())) { model.setRuangan(ruanganConverter.transferVOToModel(vo.getRuangan(), new Ruangan())); @@ -525,4 +524,13 @@ public class EvaluasiJabatanServiceImpl extends BaseVoServiceImpl implements Eva return result; } + @Override + public List> findAllEvaluasiJabatan() { + List> result = new ArrayList<>(); + + result = evaluasiJabatanDao.findAllEvaluasiJabatan(); + + return result; + } + } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/JabatanServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/JabatanServiceImpl.java index 54cd61dd..811badce 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/JabatanServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/JabatanServiceImpl.java @@ -229,5 +229,14 @@ public class JabatanServiceImpl extends BaseVoServiceImpl implements JabatanServ return result; } + + @Override + public List> getListJabatanAnjab() { + List> result = new ArrayList<>(); + + result = jabatanDao.listJabatanAnjab(); + + return result; + } } \ No newline at end of file diff --git a/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/JabatanController.java b/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/JabatanController.java index 66d197ff..4c01c9a1 100644 --- a/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/JabatanController.java +++ b/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/JabatanController.java @@ -92,7 +92,7 @@ public class JabatanController extends LocaleController implements IB return RestUtil.getJsonHttptatus(HttpStatus.NOT_ACCEPTABLE); } - + @RequestMapping(value = "/update-jabatan-false/", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) public ResponseEntity editFalseVO(@Valid @RequestBody JabatanVO vo) { try { @@ -169,11 +169,12 @@ public class JabatanController extends LocaleController implements IB } return RestUtil.getJsonResponse(result, HttpStatus.OK); } - + @RequestMapping(value = "/get-list-jabatan", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) - public ResponseEntity>> getAllJabatanByJenisJabatan(@RequestParam(value = "idJenisJabatan", required = true) Integer idJenisJabatan, + public ResponseEntity>> getAllJabatanByJenisJabatan( + @RequestParam(value = "idJenisJabatan", required = true) Integer idJenisJabatan, HttpServletRequest request) { - List> result = new ArrayList>(); + List> result = new ArrayList>(); try { result = jabatanService.getJabatanByJenisJabatan(idJenisJabatan); @@ -190,12 +191,11 @@ public class JabatanController extends LocaleController implements IB public ResponseEntity deleteVO(Integer id) { return null; } - + @RequestMapping(value = "/validate-nama-jabatan/", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) public ResponseEntity> validateNamaJabatan(HttpServletRequest request, @RequestParam(value = "namaJabatan", required = true) String namaJabatan, - @RequestParam(value = "idJenisJabatan", required = true) Integer idJenisJabatan - ) { + @RequestParam(value = "idJenisJabatan", required = true) Integer idJenisJabatan) { try { Map result = jabatanService.validateNamaJabatan(namaJabatan, idJenisJabatan); @@ -211,4 +211,19 @@ public class JabatanController extends LocaleController implements IB } } + @RequestMapping(value = "/get-list-jabatan-anjab", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity>> getAllJabatanAnjab(HttpServletRequest request) { + List> result = new ArrayList>(); + try { + + result = jabatanService.getListJabatanAnjab(); + + mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, + getMessage(MessageResource.LABEL_SUCCESS, request)); + } catch (Exception e) { + e.printStackTrace(); + } + return RestUtil.getJsonResponse(result, HttpStatus.OK); + } + } 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 55562aeb..21c4d13f 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 @@ -376,7 +376,7 @@ public class SdmController extends LocaleController { private MasterEvaluasiJabatanService MasterEvaluasiJabatanService; @Autowired - private EvaluasiJabatanService EvaluasiJabatanService; + private EvaluasiJabatanService evaluasiJabatanService; @Autowired private SimulasiPendapatanService simulasiPendapatanService; @@ -2102,7 +2102,7 @@ public class SdmController extends LocaleController { public ResponseEntity> hitungGradeEvaluasiJabatan(@Valid @RequestBody EvaluasiJabatanVO vo, HttpServletRequest request) { try { - Map result = EvaluasiJabatanService.hitungPoinEvaluasi(vo); + Map result = evaluasiJabatanService.hitungPoinEvaluasi(vo); if (null != result) mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); @@ -2150,7 +2150,7 @@ public class SdmController extends LocaleController { public ResponseEntity> saveEvaluasiJabatan(@Valid @RequestBody EvaluasiJabatanVO vo, HttpServletRequest request) { try { - Map result = EvaluasiJabatanService.saveEvaluasiJabatan(vo); + Map result = evaluasiJabatanService.saveEvaluasiJabatan(vo); if (null != result) mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); @@ -2173,7 +2173,7 @@ public class SdmController extends LocaleController { HttpServletRequest request) throws ParseException { Map result = null; try { - result = EvaluasiJabatanService.findEvaluasiJabatan(tahun, bulan, ruangan); + result = evaluasiJabatanService.findEvaluasiJabatan(tahun, bulan, ruangan); mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); } catch (Exception e) { @@ -2187,7 +2187,7 @@ public class SdmController extends LocaleController { HttpServletRequest request) throws ParseException { Map result = null; try { - result = EvaluasiJabatanService.CountEvaluasi(tahun); + result = evaluasiJabatanService.CountEvaluasi(tahun); mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); } catch (Exception e) { @@ -2201,7 +2201,7 @@ public class SdmController extends LocaleController { HttpServletRequest request) throws ParseException { Map result = null; try { - result = EvaluasiJabatanService.findPegawaiByTahun(tahun); + result = evaluasiJabatanService.findPegawaiByTahun(tahun); mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); } catch (Exception e) { @@ -2216,7 +2216,7 @@ public class SdmController extends LocaleController { HttpServletRequest request) throws ParseException { Map result = null; try { - result = EvaluasiJabatanService.findPegawaiByTahun(tahun, idPegawai); + result = evaluasiJabatanService.findPegawaiByTahun(tahun, idPegawai); mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); } catch (Exception e) { @@ -4068,7 +4068,7 @@ public class SdmController extends LocaleController { @RequestParam(value = "bulan", required = false) String bulan, HttpServletRequest request) { Map result = null; try { - result = EvaluasiJabatanService.findEvaluasiJabatanTahun(tahun); + result = evaluasiJabatanService.findEvaluasiJabatanTahun(tahun); mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); } catch (Exception e) { @@ -5725,4 +5725,23 @@ public class SdmController extends LocaleController { } } + @RequestMapping(value = "/get-all-evaluasi-jabatan", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity>> getAllEvaluasiJabatan(HttpServletRequest request) { + try { + List> result = evaluasiJabatanService.findAllEvaluasiJabatan(); + 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 all evaluasi jabatan", 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 all evaluasi jabatan", jse.getMessage()); + addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage()); + return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage); + } + } + }