diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/constants/Master.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/constants/Master.java index 36dba0ce..21f6cb5c 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/constants/Master.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/constants/Master.java @@ -239,6 +239,10 @@ public class Master { public static final Integer KONSULTASI_DOKTER_JAGA = 400; } + public static final class Remunerasi { + public static final Integer[] JENIS_INDIKATOR = { 1, 2, 3 }; + } + public static final class Ruangan { public static final Integer[] NONRANAP = { 45, 75, 76, 328, 463, 464 }; public static final Integer[] NONIKI_NONFFS = { 535 }; diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/IndikatorKinerjaJabatanDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/IndikatorKinerjaJabatanDao.java index 250e3dea..ccb7cb56 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/IndikatorKinerjaJabatanDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/IndikatorKinerjaJabatanDao.java @@ -1,6 +1,11 @@ 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; +import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; import com.jasamedika.medifirst2000.entities.IndikatorKinerjaJabatan; @@ -8,4 +13,17 @@ import com.jasamedika.medifirst2000.entities.IndikatorKinerjaJabatan; @Repository("indikatorKinerjaJabatanDao") public interface IndikatorKinerjaJabatanDao extends PagingAndSortingRepository { + @Query("select new Map(ikt.noRec as noRec," + + "ikt.tanggalMulaiBerlaku as tglBerlaku,to_char(ikt.tanggalMulaiBerlaku,'dd-MM-yyyy') as tglBerlakuFormatted," + + "ikm.jenisIndikator as jenisIndikator,ikm.id as indikatorId,ikm.namaIndikator as namaIndikator," + + "si.id as satuanId,si.satuanIndikator as satuanIndikator," + + "ikt.tanggalPembaharuanData as tglPembaharuanData) " + "from IndikatorKinerjaJabatan ikt " + + "inner join ikt.indikatorKinerja ikm " + "inner join ikm.satuanIndikator si " + + "where ikt.statusEnabled is true " + "and ikm.statusEnabled is true and ikm.statusVerifikasi is true " + + "and ikt.jabatanId = :jabatanId " + + "and to_char(ikt.tanggalMulaiBerlaku,'yyyy-MM') <= to_char(now(),'yyyy-MM') " + + "order by ikm.jenisIndikator asc,ikm.namaIndikator asc," + + "ikt.tanggalMulaiBerlaku desc,ikt.tanggalPembaharuanData desc") + List> findAllByJabatan(@Param("jabatanId") Integer idJabatan); + } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/IndikatorKinerjaJabatanService.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/IndikatorKinerjaJabatanService.java index 01b7b051..a11de56c 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/IndikatorKinerjaJabatanService.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/IndikatorKinerjaJabatanService.java @@ -1,8 +1,15 @@ package com.jasamedika.medifirst2000.service; +import java.util.Map; + +import org.springframework.orm.jpa.JpaSystemException; + import com.jasamedika.medifirst2000.entities.IndikatorKinerjaJabatan; import com.jasamedika.medifirst2000.vo.IndikatorKinerjaJabatanVO; -public interface IndikatorKinerjaJabatanService extends BaseVoService { +public interface IndikatorKinerjaJabatanService + extends BaseVoService { + + Map findAllByJabatan(Integer idJabatan) throws JpaSystemException; } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/IndikatorKinerjaJabatanServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/IndikatorKinerjaJabatanServiceImpl.java index ab471ab8..26fb7eb3 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/IndikatorKinerjaJabatanServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/IndikatorKinerjaJabatanServiceImpl.java @@ -1,54 +1,180 @@ package com.jasamedika.medifirst2000.service.impl; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.HashMap; import java.util.List; import java.util.Map; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.orm.jpa.JpaSystemException; import org.springframework.stereotype.Service; +import com.jasamedika.medifirst2000.constants.Master; +import com.jasamedika.medifirst2000.converter.BaseConverterImpl; +import com.jasamedika.medifirst2000.dao.IndikatorKinerjaJabatanDao; +import com.jasamedika.medifirst2000.dao.LoggingUserDao; +import com.jasamedika.medifirst2000.entities.IndikatorKinerja; +import com.jasamedika.medifirst2000.entities.IndikatorKinerjaJabatan; +import com.jasamedika.medifirst2000.entities.Jabatan; +import com.jasamedika.medifirst2000.entities.LoggingUser; +import com.jasamedika.medifirst2000.entities.LoginUser; import com.jasamedika.medifirst2000.exception.ServiceVOException; import com.jasamedika.medifirst2000.service.IndikatorKinerjaJabatanService; +import com.jasamedika.medifirst2000.util.CommonUtil; import com.jasamedika.medifirst2000.vo.IndikatorKinerjaJabatanVO; +import com.jasamedika.medifirst2000.vo.IndikatorKinerjaVO; +import com.jasamedika.medifirst2000.vo.JabatanVO; @Service("IndikatorKinerjaJabatanService") public class IndikatorKinerjaJabatanServiceImpl extends BaseVoServiceImpl implements IndikatorKinerjaJabatanService { + @Autowired + private BaseConverterImpl indikatorJabatanConverter; + + @Autowired + private BaseConverterImpl indikatorConverter; + + @Autowired + private BaseConverterImpl jabatanConverter; + + @Autowired + private IndikatorKinerjaJabatanDao indikatorKinerjaJabatanDao; + + @Autowired + private LoggingUserDao loggingUserDao; + + public void addLoggingUser(Integer idLoginUser, String idReferensi, String keterangan) { + LoggingUser loggingUser = new LoggingUser(); + LoginUser loginUser = new LoginUser(); + + loggingUser.setKdProfile((short) 0); + loggingUser.setStatusEnabled(true); + loggingUser.setTanggal(new Date()); + loginUser.setId(idLoginUser); + loggingUser.setLoginUser(loginUser); + loggingUser.setJenisLog("Mapping Indikator Kinerja - Jabatan"); + loggingUser.setReferensiId(idReferensi); + loggingUser.setReferensi("sdm_indikatorkinerja_t"); + loggingUser.setKeterangan(keterangan); + + loggingUserDao.save(loggingUser); + } + @Override public IndikatorKinerjaJabatanVO add(IndikatorKinerjaJabatanVO vo) throws JpaSystemException, ServiceVOException { - // TODO Auto-generated method stub - return null; + Jabatan jabatan = jabatanConverter.transferVOToModel(vo.getJabatan(), new Jabatan()); + IndikatorKinerja indikator = indikatorConverter.transferVOToModel(vo.getIndikatorKinerja(), + new IndikatorKinerja()); + IndikatorKinerjaJabatan indikatorJabatan = indikatorJabatanConverter.transferVOToModel(vo, + new IndikatorKinerjaJabatan()); + + indikatorJabatan.setJabatan(jabatan); + indikatorJabatan.setIndikatorKinerja(indikator); + indikatorJabatan.setTanggalPembaharuanData(new Date()); + IndikatorKinerjaJabatan resultModel = indikatorKinerjaJabatanDao.save(indikatorJabatan); + + addLoggingUser(vo.getLoginUserId(), resultModel.getNoRec(), "Buat data"); + + IndikatorKinerjaJabatanVO resultVO = new IndikatorKinerjaJabatanVO(); + resultVO = indikatorJabatanConverter.transferModelToVO(resultModel, resultVO); + + return resultVO; } @Override public IndikatorKinerjaJabatanVO update(IndikatorKinerjaJabatanVO vo) throws JpaSystemException, ServiceVOException { - // TODO Auto-generated method stub - return null; + IndikatorKinerjaJabatan indikatorJabatanLama = indikatorKinerjaJabatanDao.findOne(vo.getNoRec()); + + Jabatan jabatan = jabatanConverter.transferVOToModel(vo.getJabatan(), new Jabatan()); + IndikatorKinerja indikator = indikatorConverter.transferVOToModel(vo.getIndikatorKinerja(), + new IndikatorKinerja()); + IndikatorKinerjaJabatan indikatorJabatanBaru = indikatorJabatanConverter.transferVOToModel(vo, + indikatorJabatanLama); + + indikatorJabatanBaru.setJabatan(jabatan); + indikatorJabatanBaru.setIndikatorKinerja(indikator); + indikatorJabatanBaru.setTanggalPembaharuanData(new Date()); + IndikatorKinerjaJabatan resultModel = indikatorKinerjaJabatanDao.save(indikatorJabatanBaru); + + addLoggingUser(vo.getLoginUserId(), resultModel.getNoRec(), "Edit data"); + + IndikatorKinerjaJabatanVO resultVO = new IndikatorKinerjaJabatanVO(); + resultVO = indikatorJabatanConverter.transferModelToVO(resultModel, resultVO); + + return resultVO; } @Override public Boolean delete(String key) throws JpaSystemException { - // TODO Auto-generated method stub - return null; + indikatorKinerjaJabatanDao.delete(key); + + return true; } @Override public IndikatorKinerjaJabatanVO findById(String key) throws JpaSystemException { - // TODO Auto-generated method stub - return null; + IndikatorKinerjaJabatanVO result = new IndikatorKinerjaJabatanVO(); + + IndikatorKinerjaJabatan indikatorJabatan = indikatorKinerjaJabatanDao.findOne(key); + if (CommonUtil.isNotNullOrEmpty(indikatorJabatan)) { + result = indikatorJabatanConverter.transferModelToVO(indikatorJabatan, result); + } + + return result; } @Override public List findAll() throws JpaSystemException { - // TODO Auto-generated method stub - return null; + List result = new ArrayList(); + + Iterable models = indikatorKinerjaJabatanDao.findAll(); + if (CommonUtil.isNotNullOrEmpty(models)) { + for (IndikatorKinerjaJabatan model : models) { + IndikatorKinerjaJabatanVO vo = new IndikatorKinerjaJabatanVO(); + vo = indikatorJabatanConverter.transferModelToVO(model, vo); + result.add(vo); + } + } + + return result; } @Override public Map findAllWithPageAndLimitAndSortByAndDirectionParameter(Integer page, Integer limit, String sort, String dir) { - // TODO Auto-generated method stub + return null; } + @Override + public Map findAllByJabatan(Integer idJabatan) throws JpaSystemException { + Map result = new HashMap(); + + List> data = indikatorKinerjaJabatanDao.findAllByJabatan(idJabatan); + for (Integer idJenisIndikator : Arrays.asList(Master.Remunerasi.JENIS_INDIKATOR)) { + List> dataByJenisIndikator = new ArrayList<>(); + List listIdIndikator = new ArrayList<>(); + for (Map map : data) { + if (map.get("jenisIndikator").equals(idJenisIndikator) + && !listIdIndikator.contains(map.get("indikatorId"))) { + listIdIndikator.add(Integer.valueOf(map.get("indikatorId").toString())); + dataByJenisIndikator.add(map); + } + } + + if (idJenisIndikator.equals(1)) { + result.put("Kuantitas", dataByJenisIndikator); + } else if (idJenisIndikator.equals(2)) { + result.put("Kualitas", dataByJenisIndikator); + } else if (idJenisIndikator.equals(3)) { + result.put("Perilaku", dataByJenisIndikator); + } + } + + return result; + } + } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/IndikatorKinerjaServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/IndikatorKinerjaServiceImpl.java index 6c827a4f..377b29d9 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/IndikatorKinerjaServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/IndikatorKinerjaServiceImpl.java @@ -69,6 +69,7 @@ public class IndikatorKinerjaServiceImpl extends BaseVoServiceImpl implements In @Override public Boolean delete(Integer key) throws JpaSystemException { indikatorKinerjaDao.delete(key); + return true; } @@ -96,12 +97,14 @@ public class IndikatorKinerjaServiceImpl extends BaseVoServiceImpl implements In result.add(vo); } } + return result; } @Override public Map findAllWithPageAndLimitAndSortByAndDirectionParameter(Integer page, Integer limit, String sort, String dir) { + return null; } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/LogbookKinerjaDetailServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/LogbookKinerjaDetailServiceImpl.java index e23ee60e..c6e27c73 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/LogbookKinerjaDetailServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/LogbookKinerjaDetailServiceImpl.java @@ -79,6 +79,7 @@ public class LogbookKinerjaDetailServiceImpl extends BaseVoServiceImpl implement @Override public Boolean delete(String key) throws JpaSystemException { logbookKinerjaDetailDao.delete(key); + return true; } @@ -113,6 +114,7 @@ public class LogbookKinerjaDetailServiceImpl extends BaseVoServiceImpl implement @Override public Map findAllWithPageAndLimitAndSortByAndDirectionParameter(Integer page, Integer limit, String sort, String dir) { + return null; } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/LogbookKinerjaServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/LogbookKinerjaServiceImpl.java index 1d589dda..68b75b67 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/LogbookKinerjaServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/LogbookKinerjaServiceImpl.java @@ -99,6 +99,7 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb @Override public Boolean delete(String key) throws JpaSystemException { logbookKinerjaDao.delete(key); + return true; } @@ -133,6 +134,7 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb @Override public Map findAllWithPageAndLimitAndSortByAndDirectionParameter(Integer page, Integer limit, String sort, String dir) { + return null; } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/SkoringTindakanMedisServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/SkoringTindakanMedisServiceImpl.java index 70927888..b2e682d7 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/SkoringTindakanMedisServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/SkoringTindakanMedisServiceImpl.java @@ -129,6 +129,7 @@ public class SkoringTindakanMedisServiceImpl extends BaseVoServiceImpl implement @Override public Boolean delete(String key) throws JpaSystemException { skoringTindakanMedisDao.delete(key); + return true; } @@ -160,6 +161,7 @@ public class SkoringTindakanMedisServiceImpl extends BaseVoServiceImpl implement @Override public Map findAllWithPageAndLimitAndSortByAndDirectionParameter(Integer page, Integer limit, String sort, String dir) { + return null; } diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/IndikatorKinerjaJabatan.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/IndikatorKinerjaJabatan.java index 4b0bea30..9cb5ea97 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/IndikatorKinerjaJabatan.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/IndikatorKinerjaJabatan.java @@ -7,6 +7,8 @@ import javax.persistence.Entity; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.Table; +import javax.persistence.Temporal; +import javax.persistence.TemporalType; import javax.validation.constraints.NotNull; import com.jasamedika.medifirst2000.base.BaseTransaction; @@ -33,8 +35,15 @@ public class IndikatorKinerjaJabatan extends BaseTransaction { @Column(name = "objectjabatanfk", insertable = false, updatable = false, nullable = true) private Integer jabatanId; - + + @Caption(value = "Tanggal Mulai Berlaku") + @Column(name = "tanggalmulaiberlaku", nullable = false) + @Temporal(TemporalType.DATE) + private Date tanggalMulaiBerlaku; + @Caption(value = "Tanggal Pembaharuan Data") + @Column(name = "tanggalpembaharuandata", nullable = false) + @Temporal(TemporalType.TIMESTAMP) private Date tanggalPembaharuanData; public IndikatorKinerja getIndikatorKinerja() { @@ -69,6 +78,14 @@ public class IndikatorKinerjaJabatan extends BaseTransaction { this.jabatanId = jabatanId; } + public Date getTanggalMulaiBerlaku() { + return tanggalMulaiBerlaku; + } + + public void setTanggalMulaiBerlaku(Date tanggalMulaiBerlaku) { + this.tanggalMulaiBerlaku = tanggalMulaiBerlaku; + } + public Date getTanggalPembaharuanData() { return tanggalPembaharuanData; } diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/IndikatorKinerjaJabatanVO.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/IndikatorKinerjaJabatanVO.java index 5cacc3d7..2c23b327 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/IndikatorKinerjaJabatanVO.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/IndikatorKinerjaJabatanVO.java @@ -2,10 +2,6 @@ package com.jasamedika.medifirst2000.vo; import java.util.Date; -import javax.persistence.Column; -import javax.persistence.Temporal; -import javax.persistence.TemporalType; - import com.jasamedika.medifirst2000.base.vo.BaseTransactionVO; import com.jasamedika.medifirst2000.helper.Caption; @@ -20,12 +16,15 @@ public class IndikatorKinerjaJabatanVO extends BaseTransactionVO { private JabatanVO jabatan; private Integer jabatanId; - + + @Caption(value = "Tanggal Mulai Berlaku") + private Date tanggalMulaiBerlaku; + @Caption(value = "Tanggal Pembaharuan Data") - @Column(name = "tanggalpembaharuandata", nullable = false) - @Temporal(TemporalType.TIMESTAMP) private Date tanggalPembaharuanData; + private Integer loginUserId; + public IndikatorKinerjaVO getIndikatorKinerja() { return indikatorKinerja; } @@ -58,6 +57,14 @@ public class IndikatorKinerjaJabatanVO extends BaseTransactionVO { this.jabatanId = jabatanId; } + public Date getTanggalMulaiBerlaku() { + return tanggalMulaiBerlaku; + } + + public void setTanggalMulaiBerlaku(Date tanggalMulaiBerlaku) { + this.tanggalMulaiBerlaku = tanggalMulaiBerlaku; + } + public Date getTanggalPembaharuanData() { return tanggalPembaharuanData; } @@ -66,4 +73,12 @@ public class IndikatorKinerjaJabatanVO extends BaseTransactionVO { this.tanggalPembaharuanData = tanggalPembaharuanData; } + public Integer getLoginUserId() { + return loginUserId; + } + + public void setLoginUserId(Integer loginUserId) { + this.loginUserId = loginUserId; + } + } diff --git a/jasamedika-domain/src/main/resources/hibernate.cfg.xml b/jasamedika-domain/src/main/resources/hibernate.cfg.xml index d87ca555..14bb5de1 100644 --- a/jasamedika-domain/src/main/resources/hibernate.cfg.xml +++ b/jasamedika-domain/src/main/resources/hibernate.cfg.xml @@ -682,5 +682,6 @@ + diff --git a/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/IkiDanRemunerasiController.java b/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/IkiDanRemunerasiController.java index 759de6d4..9e20d712 100644 --- a/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/IkiDanRemunerasiController.java +++ b/jasamedika-sdm/src/main/java/com/jasamedika/medifirst2000/controller/IkiDanRemunerasiController.java @@ -27,6 +27,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.IkiDanRemunerasiService; +import com.jasamedika.medifirst2000.service.IndikatorKinerjaJabatanService; import com.jasamedika.medifirst2000.service.IndikatorKinerjaService; import com.jasamedika.medifirst2000.service.LogbookKinerjaDetailService; import com.jasamedika.medifirst2000.service.LogbookKinerjaService; @@ -34,6 +35,7 @@ import com.jasamedika.medifirst2000.service.SkoringTindakanMedisService; import com.jasamedika.medifirst2000.util.CommonUtil; import com.jasamedika.medifirst2000.util.rest.RestUtil; import com.jasamedika.medifirst2000.vo.IkiDanRemunerasiVO; +import com.jasamedika.medifirst2000.vo.IndikatorKinerjaJabatanVO; import com.jasamedika.medifirst2000.vo.IndikatorKinerjaVO; import com.jasamedika.medifirst2000.vo.LogbookKinerjaDetailVO; import com.jasamedika.medifirst2000.vo.LogbookKinerjaVO; @@ -53,6 +55,9 @@ public class IkiDanRemunerasiController extends LocaleController saveMappingIndikatorJabatan(HttpServletRequest request, + @Valid @RequestBody IndikatorKinerjaJabatanVO vo) { + try { + IndikatorKinerjaJabatanVO result = new IndikatorKinerjaJabatanVO(); + if (CommonUtil.isNotNullOrEmpty(vo.getNoRec())) { + result = indikatorKinerjaJabatanService.update(vo); + } else { + result = indikatorKinerjaJabatanService.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 { + return RestUtil.getJsonHttptatus(HttpStatus.NOT_ACCEPTABLE); + } + } catch (ServiceVOException sve) { + LOGGER.error("Got exception {} when add/update mapping indikator kinerja", 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 indikator kinerja", jse.getMessage()); + addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage()); + return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage); + } + } + + @RequestMapping(value = "/get-mapping-indikator-jabatan", method = RequestMethod.GET) + public ResponseEntity> getMappingIndikatorJabatan(HttpServletRequest request, + @RequestParam(value = "jabatanId", required = true) Integer idJabatan) throws ParseException { + try { + Map result = indikatorKinerjaJabatanService.findAllByJabatan(idJabatan); + 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 get mapping indikator jabatan", 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 get mapping indikator jabatan", jse.getMessage()); + addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage()); + return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage); + } + } + @RequestMapping(value = "/save-skoring-tindakan-medis", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) public ResponseEntity saveSkoringTindakanMedis(HttpServletRequest request, @Valid @RequestBody SkoringTindakanMedisVO vo) {