From c924fb8fd537005d3eb2fc054df0a033becf5aeb Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Mon, 3 Jan 2022 10:38:37 +0700 Subject: [PATCH] Update SdmController.java Pembuatan Rest API untuk simpan, update, dan delete MapJabatanProfesi, view Daftar Profesi berdasarkan id pegawai login --- .../controller/SdmController.java | 74 +++++++++++++++++++ 1 file changed, 74 insertions(+) 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 91705338..d1c4f0f1 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 @@ -105,6 +105,7 @@ import com.jasamedika.medifirst2000.service.PermohonanCutiPegawaiService; import com.jasamedika.medifirst2000.service.PermohonanStatusPegawaiService; import com.jasamedika.medifirst2000.service.PernelitianEksternalService; import com.jasamedika.medifirst2000.service.PosisiLamaranService; +import com.jasamedika.medifirst2000.service.ProfesiService; import com.jasamedika.medifirst2000.service.ProgramPendidikanService; import com.jasamedika.medifirst2000.service.ProgramPengajaranService; import com.jasamedika.medifirst2000.service.RangeKmkService; @@ -423,6 +424,9 @@ public class SdmController extends LocaleController { @Autowired private MapJabatanProfesiService mapJabatanProfesiService; + @Autowired + private ProfesiService profesiService; + @RequestMapping(value = "/save-custom-uraian-kerja", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) public ResponseEntity> saveBerkasLamaran(@Valid @RequestBody CustomIndexKerjaVO vo, HttpServletRequest request) throws ParseException { @@ -5936,6 +5940,55 @@ public class SdmController extends LocaleController { } } + @RequestMapping(value = "/save-map-jabatan-profesi", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity saveMapJabatanProfesi(HttpServletRequest request, + @Valid @RequestBody MapJabatanProfesiVO vo) { + try { + MapJabatanProfesiVO result = new MapJabatanProfesiVO(); + if (CommonUtil.isNotNullOrEmpty(vo.getId())) { + result = mapJabatanProfesiService.update(vo); + } else { + result = mapJabatanProfesiService.add(vo); + } + if (CommonUtil.isNotNullOrEmpty(result)) { + mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, + getMessage(MessageResource.LABEL_SUCCESS, request)); + return RestUtil.getJsonResponse(result, HttpStatus.CREATED, mapHeaderMessage); + } else { + mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_ERROR, + getMessage(MessageResource.LABEL_ERROR, request)); + return RestUtil.getJsonHttptatus(HttpStatus.BAD_REQUEST, mapHeaderMessage); + } + } catch (ServiceVOException sve) { + LOGGER.error("Got exception {} when add/update mapping jabatan ke profesi", 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 add/update mapping jabatan ke profesi", jse.getMessage()); + addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage()); + return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage); + } + } + + @RequestMapping(value = "/delete-map-jabatan-profesi", method = RequestMethod.POST) + public ResponseEntity deleteMapJabatanProfesi(HttpServletRequest request, + @RequestParam(value = "id", required = true) Integer id) { + try { + Boolean result = mapJabatanProfesiService.delete(id); + 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 delete mapping jabatan ke profesi", 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 delete mapping jabatan ke profesi", jse.getMessage()); + addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage()); + return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage); + } + } + @RequestMapping(value = "/get-all-mapping-jabatan-profesi", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) public ResponseEntity>> getAllMappingProfesiJabatan(HttpServletRequest request) { try { @@ -5955,4 +6008,25 @@ public class SdmController extends LocaleController { } } + @RequestMapping(value = "/get-daftar-profesi", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity>> getDaftarProfesi(HttpServletRequest request, + @RequestParam(value = "pegawaiId", required = true) Integer idPegawai, + @RequestParam(value = "jenisId", required = false) Short idJenis) { + try { + List> result = profesiService.findByStatus(idPegawai, idJenis); + 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 daftar profesi", 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 daftar profesi", jse.getMessage()); + addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage()); + return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage); + } + } + }