diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/KelompokJabatanDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/KelompokJabatanDao.java index 7767f8f4..972319bd 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/KelompokJabatanDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/KelompokJabatanDao.java @@ -5,15 +5,20 @@ 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.KelompokJabatan; @Repository -public interface KelompokJabatanDao extends PagingAndSortingRepository{ - +public interface KelompokJabatanDao extends PagingAndSortingRepository { + @Query("select new map (model.id as id, model.namaKelompokJabatan as namaKelompokJabatan) from KelompokJabatan model where model.statusEnabled is true") public List> getAllByStatusEnabled(); + @Query("select jb.kelompokJabatanId " + "from MapPegawaiJabatanToUnitKerja mj " + "inner join mj.jabatan jb " + + "where mj.statusEnabled is true " + "and mj.pegawaiId = :pegawaiId " + + "and jb.kelompokJabatanId in (3,4,5,6) " + "order by jb.kelompokJabatanId") + public List findIdByLoginLogbookSkor(@Param("pegawaiId") Integer idPegawai); } 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 2daaf368..9c507d51 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 @@ -39,4 +39,6 @@ public interface JabatanService extends BaseVoService> findJabatanDanBatasNilai(Integer idJenisJabatan, Integer idUnitKerja) throws JpaSystemException; + Integer findIdKelompokByLoginLogbookSkoring(Integer idPegawai) 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 c7ebec43..91c0c238 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 @@ -39,6 +39,7 @@ import com.jasamedika.medifirst2000.vo.UnitKerjaPegawaiVO; */ @Service("jabatanService") public class JabatanServiceImpl extends BaseVoServiceImpl implements JabatanService { + @Autowired private BaseConverterImpl jabatanConverter; @@ -394,4 +395,16 @@ public class JabatanServiceImpl extends BaseVoServiceImpl implements JabatanServ return result; } + @Override + public Integer findIdKelompokByLoginLogbookSkoring(Integer idPegawai) throws JpaSystemException { + Integer result = null; + + List data = kelompokJabatanDao.findIdByLoginLogbookSkor(idPegawai); + if (CommonUtil.isNotNullOrEmpty(data)) { + result = data.get(0); + } + + return result; + } + } \ No newline at end of file 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 d1c4f0f1..c96637c3 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 @@ -6029,4 +6029,24 @@ public class SdmController extends LocaleController { } } + @RequestMapping(value = "/get-kelompok-jabatan-logbook-skor", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity getKelompokJabatanLogbookSkor(HttpServletRequest request, + @RequestParam(value = "pegawaiId", required = true) Integer idPegawai) { + try { + Integer result = jabatanService.findIdKelompokByLoginLogbookSkoring(idPegawai); + 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 kelompok jabatan logbook skor", 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 kelompok jabatan logbook skor", jse.getMessage()); + addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage()); + return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage); + } + } + }