From 20480f0886c242e9bc9ea792f02635e307d42ac9 Mon Sep 17 00:00:00 2001 From: salmanoe Date: Tue, 4 May 2021 08:04:44 +0700 Subject: [PATCH] penyesuaian validasi duplikat nama jabatan --- .../java/com/jasamedika/medifirst2000/dao/JabatanDao.java | 7 ++++--- .../jasamedika/medifirst2000/service/JabatanService.java | 3 ++- .../medifirst2000/service/impl/JabatanServiceImpl.java | 7 ++++--- .../medifirst2000/controller/JabatanController.java | 6 ++++-- 4 files changed, 14 insertions(+), 9 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 b5f7a33c..5781e34b 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 @@ -57,17 +57,18 @@ public interface JabatanDao extends PagingAndSortingRepository String strDuplikatJabatan = "select new Map(jb.id as id, jb.namaJabatan as namaJabatan) " + "from Jabatan jb where jb.statusEnabled is true " + "and lower(regexp_replace(jb.namaJabatan,'[^0-9a-zA-Z]+', '', 'g')) = :namaJabatan " - + "and jb.jenisJabatanId = :jenisJabatanId"; + + "and jb.jenisJabatanId = :jenisJabatanId " + "and jb.unitKerjaId = :unitKerjaId"; String notJabatanId = " and jb.id <> :jabatanId"; @Query(strDuplikatJabatan) List> checkNamaJabatan(@Param("namaJabatan") String namaJabatan, - @Param("jenisJabatanId") Integer jenisJabatanId); + @Param("jenisJabatanId") Integer jenisJabatanId, @Param("unitKerjaId") Integer unitKerjaId); @Query(strDuplikatJabatan + notJabatanId) List> checkNamaJabatan(@Param("jabatanId") Integer idJabatan, - @Param("namaJabatan") String namaJabatan, @Param("jenisJabatanId") Integer idJenisJabatan); + @Param("namaJabatan") String namaJabatan, @Param("jenisJabatanId") Integer idJenisJabatan, + @Param("unitKerjaId") Integer idUnitKerja); String strJabatan = "select new Map(jb.id as id,jb.namaJabatan as namaJabatan," + "jb.levelJabatan as levelJabatan,jb.subLevelJabatan as levelDireksi," 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 3bb1558f..2daaf368 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 @@ -29,7 +29,8 @@ public interface JabatanService extends BaseVoService validateNamaJabatan(Integer idJabatan, String namaJabatan, Integer idJenisJabatan); + Map validateNamaJabatan(Integer idJabatan, String namaJabatan, Integer idJenisJabatan, + Integer idUnitKerja) throws JpaSystemException; List> findJabatan(String namaJabatan, Integer idJenisJabatan, Integer idUnitKerja); 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 17c756de..3dafe476 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 @@ -301,16 +301,17 @@ public class JabatanServiceImpl extends BaseVoServiceImpl implements JabatanServ } @Override - public Map validateNamaJabatan(Integer idJabatan, String namaJabatan, Integer idJenisJabatan) { + public Map validateNamaJabatan(Integer idJabatan, String namaJabatan, Integer idJenisJabatan, + Integer idUnitKerja) throws JpaSystemException { Map result = new HashMap<>(); String patternText = settingDataFixedDao.getSettingDataFixed("patternTextDuplicate"); String replacedNamaJabatan = namaJabatan.replaceAll(patternText, "").toLowerCase(); List> listNamaJabatan = new ArrayList<>(); if (CommonUtil.isNotNullOrEmpty(idJabatan)) { - listNamaJabatan = jabatanDao.checkNamaJabatan(idJabatan, replacedNamaJabatan, idJenisJabatan); + listNamaJabatan = jabatanDao.checkNamaJabatan(idJabatan, replacedNamaJabatan, idJenisJabatan, idUnitKerja); } else { - listNamaJabatan = jabatanDao.checkNamaJabatan(replacedNamaJabatan, idJenisJabatan); + listNamaJabatan = jabatanDao.checkNamaJabatan(replacedNamaJabatan, idJenisJabatan, idUnitKerja); } if (CommonUtil.isNotNullOrEmpty(listNamaJabatan)) { 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 0ada3571..a644144a 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 @@ -218,9 +218,11 @@ public class JabatanController extends LocaleController { public ResponseEntity> validateNamaJabatan(HttpServletRequest request, @RequestParam(value = "idJabatan", required = false) Integer idJabatan, @RequestParam(value = "namaJabatan", required = true) String namaJabatan, - @RequestParam(value = "idJenisJabatan", required = true) Integer idJenisJabatan) { + @RequestParam(value = "idJenisJabatan", required = true) Integer idJenisJabatan, + @RequestParam(value = "idUnitKerja", required = true) Integer idUnitKerja) { try { - Map result = jabatanService.validateNamaJabatan(idJabatan, namaJabatan, idJenisJabatan); + Map result = jabatanService.validateNamaJabatan(idJabatan, namaJabatan, idJenisJabatan, + idUnitKerja); return RestUtil.getJsonResponse(result, HttpStatus.OK); } catch (ServiceVOException e) {