- perbaikan fitur validasi duplikat nama jabatan berdasarkan jenis jabatan dan unit kerja
This commit is contained in:
parent
20480f0886
commit
77c8af98b9
@ -57,15 +57,25 @@ public interface JabatanDao extends PagingAndSortingRepository<Jabatan, Integer>
|
||||
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.unitKerjaId = :unitKerjaId";
|
||||
+ "and jb.jenisJabatanId = :jenisJabatanId";
|
||||
|
||||
String unitKerjaId = " and jb.unitKerjaId = :unitKerjaId";
|
||||
|
||||
String notJabatanId = " and jb.id <> :jabatanId";
|
||||
|
||||
@Query(strDuplikatJabatan)
|
||||
List<Map<String, Object>> checkNamaJabatan(@Param("namaJabatan") String namaJabatan,
|
||||
@Param("jenisJabatanId") Integer jenisJabatanId, @Param("unitKerjaId") Integer unitKerjaId);
|
||||
@Param("jenisJabatanId") Integer jenisJabatanId);
|
||||
|
||||
@Query(strDuplikatJabatan + notJabatanId)
|
||||
List<Map<String, Object>> checkNamaJabatan(@Param("jabatanId") Integer idJabatan,
|
||||
@Param("namaJabatan") String namaJabatan, @Param("jenisJabatanId") Integer idJenisJabatan);
|
||||
|
||||
@Query(strDuplikatJabatan + unitKerjaId)
|
||||
List<Map<String, Object>> checkNamaJabatan(@Param("namaJabatan") String namaJabatan,
|
||||
@Param("jenisJabatanId") Integer idJenisJabatan, @Param("unitKerjaId") Integer idUnitKerja);
|
||||
|
||||
@Query(strDuplikatJabatan + notJabatanId + unitKerjaId)
|
||||
List<Map<String, Object>> checkNamaJabatan(@Param("jabatanId") Integer idJabatan,
|
||||
@Param("namaJabatan") String namaJabatan, @Param("jenisJabatanId") Integer idJenisJabatan,
|
||||
@Param("unitKerjaId") Integer idUnitKerja);
|
||||
|
||||
@ -308,10 +308,14 @@ public class JabatanServiceImpl extends BaseVoServiceImpl implements JabatanServ
|
||||
String patternText = settingDataFixedDao.getSettingDataFixed("patternTextDuplicate");
|
||||
String replacedNamaJabatan = namaJabatan.replaceAll(patternText, "").toLowerCase();
|
||||
List<Map<String, Object>> listNamaJabatan = new ArrayList<>();
|
||||
if (CommonUtil.isNotNullOrEmpty(idJabatan)) {
|
||||
if (CommonUtil.isNotNullOrEmpty(idJabatan) && CommonUtil.isNotNullOrEmpty(idUnitKerja)) {
|
||||
listNamaJabatan = jabatanDao.checkNamaJabatan(idJabatan, replacedNamaJabatan, idJenisJabatan, idUnitKerja);
|
||||
} else {
|
||||
} else if (CommonUtil.isNotNullOrEmpty(idJabatan) && CommonUtil.isNullOrEmpty(idUnitKerja)) {
|
||||
listNamaJabatan = jabatanDao.checkNamaJabatan(idJabatan, replacedNamaJabatan, idJenisJabatan);
|
||||
} else if (CommonUtil.isNullOrEmpty(idJabatan) && CommonUtil.isNotNullOrEmpty(idUnitKerja)) {
|
||||
listNamaJabatan = jabatanDao.checkNamaJabatan(replacedNamaJabatan, idJenisJabatan, idUnitKerja);
|
||||
} else if (CommonUtil.isNullOrEmpty(idJabatan) && CommonUtil.isNullOrEmpty(idUnitKerja)) {
|
||||
listNamaJabatan = jabatanDao.checkNamaJabatan(replacedNamaJabatan, idJenisJabatan);
|
||||
}
|
||||
|
||||
if (CommonUtil.isNotNullOrEmpty(listNamaJabatan)) {
|
||||
|
||||
@ -92,8 +92,7 @@ public class Jabatan extends BaseMaster {
|
||||
private Integer qJabatan;
|
||||
|
||||
@ManyToOne
|
||||
@JoinColumn(name = "objectunitkerjafk", nullable = false)
|
||||
@NotNull(message = "Unit kerja tidak boleh kosong")
|
||||
@JoinColumn(name = "objectunitkerjafk", nullable = true)
|
||||
@Caption(value = "Unit Kerja")
|
||||
private UnitKerjaPegawai unitKerja;
|
||||
|
||||
|
||||
@ -219,7 +219,7 @@ public class JabatanController extends LocaleController<JabatanVO> {
|
||||
@RequestParam(value = "idJabatan", required = false) Integer idJabatan,
|
||||
@RequestParam(value = "namaJabatan", required = true) String namaJabatan,
|
||||
@RequestParam(value = "idJenisJabatan", required = true) Integer idJenisJabatan,
|
||||
@RequestParam(value = "idUnitKerja", required = true) Integer idUnitKerja) {
|
||||
@RequestParam(value = "idUnitKerja", required = false) Integer idUnitKerja) {
|
||||
try {
|
||||
Map<String, Object> result = jabatanService.validateNamaJabatan(idJabatan, namaJabatan, idJenisJabatan,
|
||||
idUnitKerja);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user