From a4bf80d4117c7f1920c1295b79228c08367fc1e8 Mon Sep 17 00:00:00 2001 From: salmanoe Date: Sun, 31 Jan 2021 17:25:43 +0700 Subject: [PATCH] - perbaikan menu rekap evaluasi jabatan - membuat service histori evaluasi jabatan --- .../medifirst2000/dao/EvaluasiJabatanDao.java | 13 +++++++++--- .../service/EvaluasiJabatanService.java | 2 ++ .../impl/EvaluasiJabatanServiceImpl.java | 19 +++++++++++++++++ .../controller/SdmController.java | 21 ++++++++++++++++++- 4 files changed, 51 insertions(+), 4 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 7c6eb86a..c150b92d 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 @@ -41,8 +41,15 @@ public interface EvaluasiJabatanDao extends PagingAndSortingRepository> findDistinctEvaluasiJabatan(); + + @Query("select new Map(ej.tahun as tahun,ej.bulan as bulan,ej.tahun || '-' || ej.bulan as periodePerhitungan," + + "ej.tglHitung as tglHitung,to_char(ej.tglHitung, 'dd-MM-yyyy HH:mm:ss') as tglHitungFormatted," + + "j.namaExternal as unitKerja,j.id as idJabatan,j.namaJabatan as namaJabatan," + + "nj.grade as grade,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," @@ -57,7 +64,7 @@ public interface EvaluasiJabatanDao extends PagingAndSortingRepository> findAllEvaluasiJabatan(); } 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 3ee9cdd7..cca8cef6 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 @@ -25,6 +25,8 @@ public interface EvaluasiJabatanService { Map findEvaluasiJabatanTahun(Integer tahun); + List> findActiveEvaluasiJabatan(); + List> findAllEvaluasiJabatan(); } 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 6963e38e..e579eb1d 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 @@ -523,6 +523,25 @@ public class EvaluasiJabatanServiceImpl extends BaseVoServiceImpl implements Eva return result; } + @Override + public List> findActiveEvaluasiJabatan() { + List> result = new ArrayList<>(); + + List> distinctData = evaluasiJabatanDao.findDistinctEvaluasiJabatan(); + List> data = evaluasiJabatanDao.findAllEvaluasiJabatan(); + + for (Map param : distinctData) { + for (Map map : data) { + if (param.get("idJabatan").equals(map.get("idJabatan"))) { + result.add(map); + break; + } + } + } + + return result; + } + @Override public List> findAllEvaluasiJabatan() { List> result = new ArrayList<>(); 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 e5d78851..29760e25 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 @@ -5728,7 +5728,7 @@ 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(); + List> result = evaluasiJabatanService.findActiveEvaluasiJabatan(); if (null != result) mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); @@ -5743,5 +5743,24 @@ 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 { + 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 histori 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 histori evaluasi jabatan", jse.getMessage()); + addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage()); + return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage); + } + } }