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 3c2509ef..f684e5c1 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 @@ -145,4 +145,9 @@ public interface JabatanDao extends PagingAndSortingRepository + "order by jb.namaJabatan") List> findJabatanByListId(@Param("listJabatanId") List listIdJabatan); + @Query("select distinct new Map(jb.id as id, jb.namaJabatan as jabatan, (jb.id || ' - ' || jb.namaJabatan) as namaJabatan) " + + "from Jabatan jb " + "where jb.statusEnabled is true " + "and jb.unitKerjaId = :unitKerjaId " + + "order by jb.namaJabatan, jb.id") + List> findByUnitKerja(@Param("unitKerjaId") Integer idUnitKerja); + } 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 9c507d51..9385cfe8 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 @@ -41,4 +41,6 @@ public interface JabatanService extends BaseVoService> findByUnitKerja(Integer idUnitKerja) throws JpaSystemException; + } 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 91c0c238..9078bd90 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 @@ -407,4 +407,11 @@ public class JabatanServiceImpl extends BaseVoServiceImpl implements JabatanServ return result; } + @Override + public List> findByUnitKerja(Integer idUnitKerja) throws JpaSystemException { + List> result = jabatanDao.findByUnitKerja(idUnitKerja); + + 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 e5cfe5eb..6ab6ff40 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 @@ -273,4 +273,23 @@ public class JabatanController extends LocaleController { } } + @RequestMapping(value = "/get-by-unit-kerja", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity>> getByUnitKerja(HttpServletRequest request, + @RequestParam(value = "unitKerjaId", required = true) Integer idUnitKerja) { + try { + List> result = jabatanService.findByUnitKerja(idUnitKerja); + 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 jabatan by unit kerja", e.getMessage()); + mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, e.getMessage()); + return RestUtil.getJsonResponse(HttpStatus.INTERNAL_SERVER_ERROR, mapHeaderMessage); + } catch (JpaSystemException jse) { + LOGGER.error("Got exception {} when get jabatan by unit kerja", jse.getMessage()); + mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, jse.getMessage()); + return RestUtil.getJsonResponse(HttpStatus.CONFLICT, mapHeaderMessage); + } + } + }