Update JabatanService

Pembuatan service daftar jabatan berdasarkan unit kerja disertai penamaan dengan id jabatan untuk pencegahan duplikat mapping jabatan - profesi
This commit is contained in:
Salman Manoe 2022-01-17 11:41:42 +07:00
parent d766e1ba0c
commit 080130d25e
4 changed files with 33 additions and 0 deletions

View File

@ -145,4 +145,9 @@ public interface JabatanDao extends PagingAndSortingRepository<Jabatan, Integer>
+ "order by jb.namaJabatan")
List<Map<String, Object>> findJabatanByListId(@Param("listJabatanId") List<Integer> listIdJabatan);
@Query("select distinct new Map(jb.id as id, jb.namaJabatan as jabatan, (jb.id || ' - ' || jb.namaJabatan) as namaJabatan) "
+ "from Jabatan jb " + "where jb.statusEnabled is true " + "and jb.unitKerjaId = :unitKerjaId "
+ "order by jb.namaJabatan, jb.id")
List<Map<String, Object>> findByUnitKerja(@Param("unitKerjaId") Integer idUnitKerja);
}

View File

@ -41,4 +41,6 @@ public interface JabatanService extends BaseVoService<Jabatan, JabatanVO, Intege
Integer findIdKelompokByLoginLogbookSkoring(Integer idPegawai) throws JpaSystemException;
List<Map<String, Object>> findByUnitKerja(Integer idUnitKerja) throws JpaSystemException;
}

View File

@ -407,4 +407,11 @@ public class JabatanServiceImpl extends BaseVoServiceImpl implements JabatanServ
return result;
}
@Override
public List<Map<String, Object>> findByUnitKerja(Integer idUnitKerja) throws JpaSystemException {
List<Map<String, Object>> result = jabatanDao.findByUnitKerja(idUnitKerja);
return result;
}
}

View File

@ -273,4 +273,23 @@ public class JabatanController extends LocaleController<JabatanVO> {
}
}
@RequestMapping(value = "/get-by-unit-kerja", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<List<Map<String, Object>>> getByUnitKerja(HttpServletRequest request,
@RequestParam(value = "unitKerjaId", required = true) Integer idUnitKerja) {
try {
List<Map<String, Object>> result = jabatanService.findByUnitKerja(idUnitKerja);
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 jabatan by unit kerja", e.getMessage());
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, e.getMessage());
return RestUtil.getJsonResponse(HttpStatus.INTERNAL_SERVER_ERROR, mapHeaderMessage);
} catch (JpaSystemException jse) {
LOGGER.error("Got exception {} when get jabatan by unit kerja", jse.getMessage());
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, jse.getMessage());
return RestUtil.getJsonResponse(HttpStatus.CONFLICT, mapHeaderMessage);
}
}
}