penyesuaian validasi duplikat nama jabatan
This commit is contained in:
parent
a5cdae75d6
commit
20480f0886
@ -57,17 +57,18 @@ public interface JabatanDao extends PagingAndSortingRepository<Jabatan, Integer>
|
|||||||
String strDuplikatJabatan = "select new Map(jb.id as id, jb.namaJabatan as namaJabatan) "
|
String strDuplikatJabatan = "select new Map(jb.id as id, jb.namaJabatan as namaJabatan) "
|
||||||
+ "from Jabatan jb where jb.statusEnabled is true "
|
+ "from Jabatan jb where jb.statusEnabled is true "
|
||||||
+ "and lower(regexp_replace(jb.namaJabatan,'[^0-9a-zA-Z]+', '', 'g')) = :namaJabatan "
|
+ "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";
|
String notJabatanId = " and jb.id <> :jabatanId";
|
||||||
|
|
||||||
@Query(strDuplikatJabatan)
|
@Query(strDuplikatJabatan)
|
||||||
List<Map<String, Object>> checkNamaJabatan(@Param("namaJabatan") String namaJabatan,
|
List<Map<String, Object>> checkNamaJabatan(@Param("namaJabatan") String namaJabatan,
|
||||||
@Param("jenisJabatanId") Integer jenisJabatanId);
|
@Param("jenisJabatanId") Integer jenisJabatanId, @Param("unitKerjaId") Integer unitKerjaId);
|
||||||
|
|
||||||
@Query(strDuplikatJabatan + notJabatanId)
|
@Query(strDuplikatJabatan + notJabatanId)
|
||||||
List<Map<String, Object>> checkNamaJabatan(@Param("jabatanId") Integer idJabatan,
|
List<Map<String, Object>> 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,"
|
String strJabatan = "select new Map(jb.id as id,jb.namaJabatan as namaJabatan,"
|
||||||
+ "jb.levelJabatan as levelJabatan,jb.subLevelJabatan as levelDireksi,"
|
+ "jb.levelJabatan as levelJabatan,jb.subLevelJabatan as levelDireksi,"
|
||||||
|
|||||||
@ -29,7 +29,8 @@ public interface JabatanService extends BaseVoService<Jabatan, JabatanVO, Intege
|
|||||||
|
|
||||||
JabatanVO deleteJabatan(JabatanVO vo);
|
JabatanVO deleteJabatan(JabatanVO vo);
|
||||||
|
|
||||||
Map<String, Object> validateNamaJabatan(Integer idJabatan, String namaJabatan, Integer idJenisJabatan);
|
Map<String, Object> validateNamaJabatan(Integer idJabatan, String namaJabatan, Integer idJenisJabatan,
|
||||||
|
Integer idUnitKerja) throws JpaSystemException;
|
||||||
|
|
||||||
List<Map<String, Object>> findJabatan(String namaJabatan, Integer idJenisJabatan, Integer idUnitKerja);
|
List<Map<String, Object>> findJabatan(String namaJabatan, Integer idJenisJabatan, Integer idUnitKerja);
|
||||||
|
|
||||||
|
|||||||
@ -301,16 +301,17 @@ public class JabatanServiceImpl extends BaseVoServiceImpl implements JabatanServ
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<String, Object> validateNamaJabatan(Integer idJabatan, String namaJabatan, Integer idJenisJabatan) {
|
public Map<String, Object> validateNamaJabatan(Integer idJabatan, String namaJabatan, Integer idJenisJabatan,
|
||||||
|
Integer idUnitKerja) throws JpaSystemException {
|
||||||
Map<String, Object> result = new HashMap<>();
|
Map<String, Object> result = new HashMap<>();
|
||||||
|
|
||||||
String patternText = settingDataFixedDao.getSettingDataFixed("patternTextDuplicate");
|
String patternText = settingDataFixedDao.getSettingDataFixed("patternTextDuplicate");
|
||||||
String replacedNamaJabatan = namaJabatan.replaceAll(patternText, "").toLowerCase();
|
String replacedNamaJabatan = namaJabatan.replaceAll(patternText, "").toLowerCase();
|
||||||
List<Map<String, Object>> listNamaJabatan = new ArrayList<>();
|
List<Map<String, Object>> listNamaJabatan = new ArrayList<>();
|
||||||
if (CommonUtil.isNotNullOrEmpty(idJabatan)) {
|
if (CommonUtil.isNotNullOrEmpty(idJabatan)) {
|
||||||
listNamaJabatan = jabatanDao.checkNamaJabatan(idJabatan, replacedNamaJabatan, idJenisJabatan);
|
listNamaJabatan = jabatanDao.checkNamaJabatan(idJabatan, replacedNamaJabatan, idJenisJabatan, idUnitKerja);
|
||||||
} else {
|
} else {
|
||||||
listNamaJabatan = jabatanDao.checkNamaJabatan(replacedNamaJabatan, idJenisJabatan);
|
listNamaJabatan = jabatanDao.checkNamaJabatan(replacedNamaJabatan, idJenisJabatan, idUnitKerja);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (CommonUtil.isNotNullOrEmpty(listNamaJabatan)) {
|
if (CommonUtil.isNotNullOrEmpty(listNamaJabatan)) {
|
||||||
|
|||||||
@ -218,9 +218,11 @@ public class JabatanController extends LocaleController<JabatanVO> {
|
|||||||
public ResponseEntity<Map<String, Object>> validateNamaJabatan(HttpServletRequest request,
|
public ResponseEntity<Map<String, Object>> validateNamaJabatan(HttpServletRequest request,
|
||||||
@RequestParam(value = "idJabatan", required = false) Integer idJabatan,
|
@RequestParam(value = "idJabatan", required = false) Integer idJabatan,
|
||||||
@RequestParam(value = "namaJabatan", required = true) String namaJabatan,
|
@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 {
|
try {
|
||||||
Map<String, Object> result = jabatanService.validateNamaJabatan(idJabatan, namaJabatan, idJenisJabatan);
|
Map<String, Object> result = jabatanService.validateNamaJabatan(idJabatan, namaJabatan, idJenisJabatan,
|
||||||
|
idUnitKerja);
|
||||||
|
|
||||||
return RestUtil.getJsonResponse(result, HttpStatus.OK);
|
return RestUtil.getJsonResponse(result, HttpStatus.OK);
|
||||||
} catch (ServiceVOException e) {
|
} catch (ServiceVOException e) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user