- perbaikan fungsi cek duplikat data master jabatan
- perbaikan fungsi simpan master jabatan jika hapus data eselon jabatan
This commit is contained in:
parent
0b81bd30e1
commit
82986ec743
@ -35,12 +35,12 @@ public interface JabatanDao extends PagingAndSortingRepository<Jabatan, Integer>
|
||||
@Query("SELECT model from Jabatan model where model.jenisJabatanId = :jenisJabatanId ")
|
||||
List<Jabatan> getJabatanStruktural(@Param("jenisJabatanId") Integer jenisJabatanId);
|
||||
|
||||
String strJabatanByJenis = "SELECT new Map(model.id as idJabatan, model.namaJabatan as namaJabatan) from Jabatan model "
|
||||
+ "where model.statusEnabled is true " + "and model.jenisJabatanId = :jenisJabatanId";
|
||||
String strJabatanByJenis = "SELECT new Map(jb.id as idJabatan, jb.namaJabatan as namaJabatan) from Jabatan jb "
|
||||
+ "where jb.statusEnabled is true " + "and jb.jenisJabatanId = :jenisJabatanId";
|
||||
|
||||
String byUnitKerja = " and model.unitKerjaId = :unitKerjaId";
|
||||
String byUnitKerja = " and jb.unitKerjaId = :unitKerjaId";
|
||||
|
||||
String sortNamaJabatan = " order by model.namaJabatan";
|
||||
String sortNamaJabatan = " order by jb.namaJabatan";
|
||||
|
||||
@Query(strJabatanByJenis + sortNamaJabatan)
|
||||
List<Map<String, Object>> getJabatanByJenisJabatan(@Param("jenisJabatanId") Integer jenisJabatanId);
|
||||
@ -54,13 +54,21 @@ public interface JabatanDao extends PagingAndSortingRepository<Jabatan, Integer>
|
||||
+ "and lower(jab.namaJabatan) not like ('plh%')")
|
||||
List<Map<String, Object>> getListJabatanFungsionalStruktural();
|
||||
|
||||
@Query("select new Map(jab.id as id, jab.namaJabatan as namaJabatan) "
|
||||
+ "from Jabatan jab where jab.statusEnabled is true "
|
||||
+ "and lower(regexp_replace(jab.namaJabatan,'[^0-9a-zA-Z]+', '', 'g')) = :namaJabatan "
|
||||
+ "and jab.jenisJabatanId = :jenisJabatanId")
|
||||
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";
|
||||
|
||||
String notJabatanId = " and jb.id <> :jabatanId";
|
||||
|
||||
@Query(strDuplikatJabatan)
|
||||
List<Map<String, Object>> checkNamaJabatan(@Param("namaJabatan") String namaJabatan,
|
||||
@Param("jenisJabatanId") Integer jenisJabatanId);
|
||||
|
||||
@Query(strDuplikatJabatan + notJabatanId)
|
||||
List<Map<String, Object>> checkNamaJabatan(@Param("jabatanId") Integer idJabatan,
|
||||
@Param("namaJabatan") String namaJabatan, @Param("jenisJabatanId") Integer idJenisJabatan);
|
||||
|
||||
String strJabatan = "select new Map(jb.id as id,jb.namaJabatan as namaJabatan,"
|
||||
+ "jb.levelJabatan as levelJabatan,jb.subLevelJabatan as levelDireksi,"
|
||||
+ "jj.id as jenisJabatanId,jj.jenisJabatan as jenisJabatan," + "uk.id as unitKerjaId,uk.name as unitKerja,"
|
||||
@ -74,31 +82,33 @@ public interface JabatanDao extends PagingAndSortingRepository<Jabatan, Integer>
|
||||
|
||||
String unitKerja = " and uk.id = :unitKerjaId";
|
||||
|
||||
@Query(strJabatan)
|
||||
String sortMasterJabatan = " order by jb.namaJabatan, uk.name, jj.jenisJabatan";
|
||||
|
||||
@Query(strJabatan + sortMasterJabatan)
|
||||
List<Map<String, Object>> findJabatan();
|
||||
|
||||
@Query(strJabatan + namaJabatan)
|
||||
@Query(strJabatan + namaJabatan + sortMasterJabatan)
|
||||
List<Map<String, Object>> findJabatanByNama(@Param("namaJabatan") String namaJabatan);
|
||||
|
||||
@Query(strJabatan + jenisJabatan)
|
||||
@Query(strJabatan + jenisJabatan + sortMasterJabatan)
|
||||
List<Map<String, Object>> findJabatanByJenis(@Param("jenisJabatanId") Integer idJenisJabatan);
|
||||
|
||||
@Query(strJabatan + unitKerja)
|
||||
@Query(strJabatan + unitKerja + sortMasterJabatan)
|
||||
List<Map<String, Object>> findJabatanByUnit(@Param("unitKerjaId") Integer idUnitKerja);
|
||||
|
||||
@Query(strJabatan + namaJabatan + jenisJabatan)
|
||||
@Query(strJabatan + namaJabatan + jenisJabatan + sortMasterJabatan)
|
||||
List<Map<String, Object>> findJabatanByNamaJenis(@Param("namaJabatan") String namaJabatan,
|
||||
@Param("jenisJabatanId") Integer idJenisJabatan);
|
||||
|
||||
@Query(strJabatan + namaJabatan + unitKerja)
|
||||
@Query(strJabatan + namaJabatan + unitKerja + sortMasterJabatan)
|
||||
List<Map<String, Object>> findJabatanByNamaUnit(@Param("namaJabatan") String namaJabatan,
|
||||
@Param("unitKerjaId") Integer idUnitKerja);
|
||||
|
||||
@Query(strJabatan + jenisJabatan + unitKerja)
|
||||
@Query(strJabatan + jenisJabatan + unitKerja + sortMasterJabatan)
|
||||
List<Map<String, Object>> findJabatanByJenisUnit(@Param("jenisJabatanId") Integer idJenisJabatan,
|
||||
@Param("unitKerjaId") Integer idUnitKerja);
|
||||
|
||||
@Query(strJabatan + namaJabatan + jenisJabatan + unitKerja)
|
||||
@Query(strJabatan + namaJabatan + jenisJabatan + unitKerja + sortMasterJabatan)
|
||||
List<Map<String, Object>> findJabatanByNamaJenisUnit(@Param("namaJabatan") String namaJabatan,
|
||||
@Param("jenisJabatanId") Integer idJenisJabatan, @Param("unitKerjaId") Integer idUnitKerja);
|
||||
|
||||
|
||||
@ -27,7 +27,7 @@ public interface JabatanService extends BaseVoService<Jabatan, JabatanVO, Intege
|
||||
|
||||
JabatanVO deleteJabatan(JabatanVO vo);
|
||||
|
||||
Map<String, Object> validateNamaJabatan(String namaJabatan, Integer idJenisJabatan);
|
||||
Map<String, Object> validateNamaJabatan(Integer idJabatan, String namaJabatan, Integer idJenisJabatan);
|
||||
|
||||
List<Map<String, Object>> findJabatan(String namaJabatan, Integer idJenisJabatan, Integer idUnitKerja);
|
||||
|
||||
|
||||
@ -115,6 +115,9 @@ public class JabatanServiceImpl extends BaseVoServiceImpl implements JabatanServ
|
||||
if (CommonUtil.isNotNullOrEmpty(vo.getEselon())) {
|
||||
Eselon eselon = eselonConverter.transferVOToModel(vo.getEselon(), new Eselon());
|
||||
jabatanBaru.setEselon(eselon);
|
||||
} else if (CommonUtil.isNullOrEmpty(vo.getEselon()) && CommonUtil.isNotNullOrEmpty(jabatanBaru.getEselon())) {
|
||||
// hapus eselon
|
||||
jabatanBaru.setEselon(null);
|
||||
}
|
||||
jabatanBaru.setUnitKerja(unitKerja);
|
||||
jabatanBaru.setJenisJabatan(jenisJabatan);
|
||||
@ -281,11 +284,17 @@ public class JabatanServiceImpl extends BaseVoServiceImpl implements JabatanServ
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> validateNamaJabatan(String namaJabatan, Integer idJenisJabatan) {
|
||||
public Map<String, Object> validateNamaJabatan(Integer idJabatan, String namaJabatan, Integer idJenisJabatan) {
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
|
||||
String replacedNamaJabatan = namaJabatan.replaceAll("[^0-9a-zA-Z]", "").toLowerCase();
|
||||
List<Map<String, Object>> listNamaJabatan = jabatanDao.checkNamaJabatan(replacedNamaJabatan, idJenisJabatan);
|
||||
List<Map<String, Object>> listNamaJabatan = new ArrayList<>();
|
||||
if (CommonUtil.isNotNullOrEmpty(idJabatan)) {
|
||||
listNamaJabatan = jabatanDao.checkNamaJabatan(idJabatan, replacedNamaJabatan, idJenisJabatan);
|
||||
} else {
|
||||
listNamaJabatan = jabatanDao.checkNamaJabatan(replacedNamaJabatan, idJenisJabatan);
|
||||
}
|
||||
|
||||
if (CommonUtil.isNotNullOrEmpty(listNamaJabatan)) {
|
||||
result.put("msg", "Jabatan " + namaJabatan + " sudah tersedia!");
|
||||
}
|
||||
|
||||
@ -217,10 +217,11 @@ public class JabatanController extends LocaleController<JabatanVO> {
|
||||
|
||||
@RequestMapping(value = "/validate-nama-jabatan/", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
public ResponseEntity<Map<String, Object>> validateNamaJabatan(HttpServletRequest request,
|
||||
@RequestParam(value = "idJabatan", required = false) Integer idJabatan,
|
||||
@RequestParam(value = "namaJabatan", required = true) String namaJabatan,
|
||||
@RequestParam(value = "idJenisJabatan", required = true) Integer idJenisJabatan) {
|
||||
try {
|
||||
Map<String, Object> result = jabatanService.validateNamaJabatan(namaJabatan, idJenisJabatan);
|
||||
Map<String, Object> result = jabatanService.validateNamaJabatan(idJabatan, namaJabatan, idJenisJabatan);
|
||||
|
||||
return RestUtil.getJsonResponse(result, HttpStatus.OK);
|
||||
} catch (ServiceVOException e) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user