From 884073a12e196ba23eaad6795f0856513d9f67d7 Mon Sep 17 00:00:00 2001 From: salmanoe Date: Fri, 29 Jan 2021 14:24:53 +0700 Subject: [PATCH] menambahkan service dropdown unit kerja anjab di menu evaluasi jabatan --- .../medifirst2000/dao/JabatanDao.java | 18 ++++++---- .../medifirst2000/service/JabatanService.java | 6 ++-- .../service/impl/JabatanServiceImpl.java | 13 ++++++-- .../controller/JabatanController.java | 33 ++++++++++++++++--- 4 files changed, 55 insertions(+), 15 deletions(-) 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 0e67ef12..452b47d0 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 @@ -34,14 +34,14 @@ public interface JabatanDao extends PagingAndSortingRepository @Query("SELECT model from Jabatan model where model.jenisJabatanId = :jenisJabatanId ") List getJabatanStruktural(@Param("jenisJabatanId") Integer jenisJabatanId); - + String strQryJabatanByJenis = "SELECT new Map(model.id as idJabatan, model.namaJabatan as namaJabatan) from Jabatan model " + "where model.statusEnabled is true " + "and model.jenisJabatanId = :jenisJabatanId "; - + String kdJabatanAnjab = "and model.kdJabatan = :kdJabatan "; - + String kdJabatanNonanjab = "and model.kdJabatan <> 'ANJAB' "; - + String sortNamaJabatan = "order by namaJabatan"; @Query(strQryJabatanByJenis + kdJabatanAnjab + sortNamaJabatan) @@ -67,8 +67,12 @@ public interface JabatanDao extends PagingAndSortingRepository + "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(); + + "and nj.statusEnabled is true " + "and j.kdJabatan = 'ANJAB' " + "and j.namaExternal = :unitKerja " + + "group by j.id, j.namaJabatan " + "order by j.namaJabatan") + List> findJabatanAnjabByUnitKerja(@Param("unitKerja") String unitKerja); + + @Query("select distinct j.namaExternal from Jabatan j " + + "where j.statusEnabled is true and j.kdJabatan = 'ANJAB' order by j.namaExternal") + List findUnitKerjaAnjab(); } 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 a975522b..772b6c92 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,8 +16,6 @@ public interface JabatanService extends BaseVoService> getJabatanStruktural(); List> getListJabatanFungsionalStruktural(); - - List> getListJabatanAnjab(); List> getJabatanByJenisJabatan(Integer idJenisJabatan, String kdJabatan); @@ -28,5 +26,9 @@ public interface JabatanService extends BaseVoService validateNamaJabatan(String namaJabatan, Integer idJenisJabatan); + + List> getListJabatanAnjabByUnitKerja(String unitKerja); + + List getListUnitKerjaAnjab(); } 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 32f777a7..34256709 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 @@ -239,10 +239,19 @@ public class JabatanServiceImpl extends BaseVoServiceImpl implements JabatanServ } @Override - public List> getListJabatanAnjab() { + public List> getListJabatanAnjabByUnitKerja(String unitKerja) { List> result = new ArrayList<>(); - result = jabatanDao.listJabatanAnjab(); + result = jabatanDao.findJabatanAnjabByUnitKerja(unitKerja); + + return result; + } + + @Override + public List getListUnitKerjaAnjab() { + List result = new ArrayList<>(); + + result = jabatanDao.findUnitKerjaAnjab(); return result; } 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 0d1bce33..118ccf3c 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 @@ -2,6 +2,7 @@ package com.jasamedika.medifirst2000.controller; import java.util.ArrayList; import java.util.Collection; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -28,6 +29,7 @@ import com.jasamedika.medifirst2000.controller.base.LocaleController; import com.jasamedika.medifirst2000.core.web.WebConstants; import com.jasamedika.medifirst2000.exception.ServiceVOException; import com.jasamedika.medifirst2000.service.JabatanService; +import com.jasamedika.medifirst2000.util.CommonUtil; import com.jasamedika.medifirst2000.util.rest.RestUtil; import com.jasamedika.medifirst2000.vo.JabatanVO; @@ -176,7 +178,7 @@ public class JabatanController extends LocaleController implements IB List> result = new ArrayList>(); try { - result = jabatanService.getJabatanByJenisJabatan(idJenisJabatan,"NONANJAB"); + result = jabatanService.getJabatanByJenisJabatan(idJenisJabatan, "NONANJAB"); mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); @@ -210,12 +212,13 @@ 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) { + @RequestMapping(value = "/get-list-jabatan-anjab-by-unit-kerja", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity>> getAllJabatanAnjabByUnitKerja(HttpServletRequest request, + @RequestParam(value = "unitKerja", required = true) String unitKerja) { List> result = new ArrayList>(); try { - result = jabatanService.getListJabatanAnjab(); + result = jabatanService.getListJabatanAnjabByUnitKerja(unitKerja); mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request)); @@ -225,4 +228,26 @@ public class JabatanController extends LocaleController implements IB return RestUtil.getJsonResponse(result, HttpStatus.OK); } + @RequestMapping(value = "/get-list-unit-kerja-anjab", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity> validateNamaJabatan(HttpServletRequest request) { + try { + Map result = new HashMap(); + + List listUnitKerjaAnjab = jabatanService.getListUnitKerjaAnjab(); + if (CommonUtil.isNotNullOrEmpty(listUnitKerjaAnjab)) { + result.put("data", listUnitKerjaAnjab); + } + + return RestUtil.getJsonResponse(result, HttpStatus.OK); + } catch (ServiceVOException e) { + LOGGER.error("Got exception {} when get list unit kerja anjab", 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 list unit kerja anjab", jse.getMessage()); + addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage()); + return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage); + } + } + }