- perbaikan service grid daftar penempatan pegawai remunerasi

- pembuatan fitur daftar pegawai berdasarkan hak akses kontrak kinerja
- pembuatan fitur daftar pegawai berdasarkan hak akses verifikasi kinerja
This commit is contained in:
salmanoe 2021-04-16 15:01:20 +07:00
parent e2979df981
commit 69b48f7f6f
7 changed files with 122 additions and 10 deletions

View File

@ -48,7 +48,7 @@ public interface EvaluasiJabatanDao extends PagingAndSortingRepository<EvaluasiJ
@Query("select new Map(ej.tahun as tahun,ej.bulan as bulan,ej.tahun || '-' || ej.bulan as periodePerhitungan,"
+ "ej.tglHitung as tglHitung,to_char(ej.tglHitung, 'dd-MM-yyyy HH:mm:ss') as tglHitungFormatted,"
+ "j.namaExternal as unitKerja,j.id as idJabatan,j.namaJabatan as namaJabatan,"
+ "uk.name as unitKerja,j.id as idJabatan,j.namaJabatan as namaJabatan,"
+ "nj.gradeDesc as grade,nj.detailKelompokJabatan as kelompokJabatan,"
+ "f1.profile as f1,f2.profile as f2,f3.profile as f3,"
+ "f4.profile as f4,f5.profile as f5,f7.profile as f7,"
@ -56,15 +56,16 @@ public interface EvaluasiJabatanDao extends PagingAndSortingRepository<EvaluasiJ
+ "fa.profile as fa,fb.profile as fb,fc.profile as fc,fd.profile as fd,fe.profile as fe,ff.profile as ff,"
+ "fg.profile as fg,fh.profile as fh,fi.profile as fi,fj.profile as fj,fk.profile as fk,fl.profile as fl,"
+ "cast(ej.totalNilai as long) as nilaiJabatan) " + "from EvaluasiJabatan ej " + "left join ej.jabatan j "
+ "left join ej.grade nj " + "left join ej.faktor1 f1 " + "left join ej.faktor2 f2 "
+ "left join ej.faktor3 f3 " + "left join ej.faktor4 f4 " + "left join ej.faktor5 f5 "
+ "left join ej.faktor7 f7 " + "left join ej.faktor8 f8 " + "left join ej.faktor9 f9 "
+ "left join ej.faktor10 f10 " + "left join ej.faktorA fa " + "left join ej.faktorB fb "
+ "left join ej.faktorC fc " + "left join ej.faktorD fd " + "left join ej.faktorE fe "
+ "left join ej.faktorF ff " + "left join ej.faktorG fg " + "left join ej.faktorH fh "
+ "left join ej.faktorI fi " + "left join ej.faktorJ fj " + "left join ej.faktorK fk "
+ "left join ej.faktorL fl " + "where ej.statusEnabled is true "
+ "order by j.namaExternal, j.namaJabatan asc, ej.tglHitung desc")
+ "inner join j.unitKerja uk " + "left join ej.grade nj " + "left join ej.faktor1 f1 "
+ "left join ej.faktor2 f2 " + "left join ej.faktor3 f3 " + "left join ej.faktor4 f4 "
+ "left join ej.faktor5 f5 " + "left join ej.faktor7 f7 " + "left join ej.faktor8 f8 "
+ "left join ej.faktor9 f9 " + "left join ej.faktor10 f10 " + "left join ej.faktorA fa "
+ "left join ej.faktorB fb " + "left join ej.faktorC fc " + "left join ej.faktorD fd "
+ "left join ej.faktorE fe " + "left join ej.faktorF ff " + "left join ej.faktorG fg "
+ "left join ej.faktorH fh " + "left join ej.faktorI fi " + "left join ej.faktorJ fj "
+ "left join ej.faktorK fk " + "left join ej.faktorL fl "
+ "where ej.statusEnabled is true and uk.statusEnabled is true "
+ "order by uk.name asc, j.namaJabatan asc, ej.tglHitung desc")
List<Map<String, Object>> findAllEvaluasiJabatan();
@Query("select distinct pg.id " + "from MapPegawaiJabatanToUnitKerja mj " + "inner join mj.pegawai pg "

View File

@ -80,4 +80,26 @@ public interface LogbookKinerjaDao extends PagingAndSortingRepository<LogbookKin
List<Map<String, Object>> findLogbookKinerja(@Param("pegawaiId") Integer idPegawai,
@Param("jabatanId") Integer idJabatan, @Param("bulan") String bulan);
@Query("select distinct new Map(pg.id as id,pg.namaLengkap as namaLengkap) "
+ "from MapPegawaiJabatanToUnitKerja mj " + "inner join mj.pegawai pg " + "inner join mj.jabatan jb "
+ "where mj.statusEnabled is true " + "and pg.statusEnabled is true " + "and jb.statusEnabled is true "
+ "and pg.id = :pegawaiId")
List<Map<String, Object>> findAksesPegawaiByStaf(@Param("pegawaiId") Integer idPegawai);
@Query("select distinct new Map(pgb.id as id,pgb.namaLengkap as namaLengkap) "
+ "from MapPegawaiJabatanToUnitKerja mjp, MapPegawaiJabatanToUnitKerja mja " + "inner join mjp.pegawai pgb "
+ "inner join mjp.atasanLangsung pg " + "inner join mja.jabatan jb "
+ "where mjp.atasanLangsungId = mja.pegawaiId " + "and mja.pegawaiId = pg.id "
+ "and mjp.statusEnabled is true " + "and mja.statusEnabled is true " + "and pgb.statusEnabled is true "
+ "and pg.statusEnabled is true " + "and jb.statusEnabled is true " + "and pg.id = :pegawaiId")
List<Map<String, Object>> findAksesPegawaiByAtasan(@Param("pegawaiId") Integer idPegawai);
@Query("select distinct new Map(pgb.id as id,pgb.namaLengkap as namaLengkap) "
+ "from MapPegawaiJabatanToUnitKerja mjp, MapPegawaiJabatanToUnitKerja mjn " + "inner join mjp.pegawai pgb "
+ "inner join mjp.pejabatPenilai pg " + "inner join mjn.jabatan jb "
+ "where mjp.pejabatPenilaiId = mjn.pegawaiId " + "and mjn.pegawaiId = pg.id "
+ "and mjp.statusEnabled is true " + "and mjn.statusEnabled is true " + "and pgb.statusEnabled is true "
+ "and pg.statusEnabled is true " + "and jb.statusEnabled is true " + "and pg.id = :pegawaiId")
List<Map<String, Object>> findAksesPegawaiByPenilai(@Param("pegawaiId") Integer idPegawai);
}

View File

@ -10,5 +10,7 @@ public interface LogbookKinerjaDetailService
extends BaseVoService<LogbookKinerjaDetail, LogbookKinerjaDetailVO, String> {
List<Map<String, Object>> findWorkingRecord(Integer idPegawai, Integer idJabatan, Long bulan);
List<Map<String, Object>> findAksesPegawai(Integer idPegawai);
}

View File

@ -26,5 +26,7 @@ public interface LogbookKinerjaService extends BaseVoService<LogbookKinerja, Log
List<Map<String, Object>> findKontrakKinerja(Integer idIndikator) throws JpaSystemException;
Map<String, Object> findLogbookKinerja(Integer idPegawai, Integer idJabatan, Long bulan) throws JpaSystemException;
List<Map<String, Object>> findAksesPegawai(Integer idPegawai);
}

View File

@ -3,6 +3,7 @@ package com.jasamedika.medifirst2000.service.impl;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@ -139,4 +140,15 @@ public class LogbookKinerjaDetailServiceImpl extends BaseVoServiceImpl implement
return result;
}
@Override
public List<Map<String, Object>> findAksesPegawai(Integer idPegawai) {
List<Map<String, Object>> result = logbookKinerjaDao.findAksesPegawaiByAtasan(idPegawai);
if (CommonUtil.isNotNullOrEmpty(result)) {
result.sort(Comparator.comparing(m -> (String) m.get("namaLengkap"), String.CASE_INSENSITIVE_ORDER));
}
return result;
}
}

View File

@ -8,6 +8,7 @@ import java.text.DecimalFormatSymbols;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@ -389,4 +390,38 @@ public class LogbookKinerjaServiceImpl extends BaseVoServiceImpl implements Logb
return result;
}
@Override
public List<Map<String, Object>> findAksesPegawai(Integer idPegawai) {
List<Map<String, Object>> result = new ArrayList<>();
List<Map<String, Object>> aksesByStaf = logbookKinerjaDao.findAksesPegawaiByStaf(idPegawai);
List<Map<String, Object>> aksesByAtasan = logbookKinerjaDao.findAksesPegawaiByAtasan(idPegawai);
List<Map<String, Object>> aksesByPenilai = logbookKinerjaDao.findAksesPegawaiByPenilai(idPegawai);
if (CommonUtil.isNotNullOrEmpty(aksesByStaf)) {
for (Map<String, Object> map : aksesByStaf) {
map.put("isModifAkses", false);
}
result.addAll(aksesByStaf);
}
if (CommonUtil.isNotNullOrEmpty(aksesByAtasan)) {
for (Map<String, Object> map : aksesByAtasan) {
map.put("isModifAkses", true);
}
result.addAll(aksesByAtasan);
}
if (CommonUtil.isNotNullOrEmpty(aksesByPenilai)) {
for (Map<String, Object> map : aksesByPenilai) {
map.put("isModifAkses", false);
}
result.addAll(aksesByPenilai);
}
if (CommonUtil.isNotNullOrEmpty(result)) {
result.sort(Comparator.comparing(m -> (String) m.get("namaLengkap"), String.CASE_INSENSITIVE_ORDER));
}
return result;
}
}

View File

@ -721,6 +721,25 @@ public class IkiDanRemunerasiController extends LocaleController<IkiDanRemuneras
}
}
@RequestMapping(value = "/get-akses-pegawai-kontrak-kinerja", method = RequestMethod.GET)
public ResponseEntity<List<Map<String, Object>>> getAksesPegawaiKontrakKinerja(HttpServletRequest request,
@RequestParam(value = "pegawaiId", required = true) Integer idPegawai) throws ParseException {
try {
List<Map<String, Object>> result = logbookKinerjaService.findAksesPegawai(idPegawai);
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
getMessage(MessageResource.LABEL_SUCCESS, request));
return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage);
} catch (ServiceVOException sve) {
LOGGER.error("Got exception {} when get akses pegawai kontrak kinerja", sve.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, sve.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.INTERNAL_SERVER_ERROR, mapHeaderMessage);
} catch (JpaSystemException jse) {
LOGGER.error("Got exception {} when get akses pegawai kontrak kinerja", jse.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
}
}
@RequestMapping(value = "/save-pengajuan-kontrak-kinerja", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<LogbookKinerjaVO> savePengajuanKontrakKinerja(HttpServletRequest request,
@Valid @RequestBody LogbookKinerjaVO vo) {
@ -863,4 +882,23 @@ public class IkiDanRemunerasiController extends LocaleController<IkiDanRemuneras
}
}
@RequestMapping(value = "/get-akses-pegawai-verifikasi-kinerja", method = RequestMethod.GET)
public ResponseEntity<List<Map<String, Object>>> getAksesPegawaiVerifikasiKinerja(HttpServletRequest request,
@RequestParam(value = "pegawaiId", required = true) Integer idPegawai) throws ParseException {
try {
List<Map<String, Object>> result = logbookKinerjaDetailService.findAksesPegawai(idPegawai);
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
getMessage(MessageResource.LABEL_SUCCESS, request));
return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage);
} catch (ServiceVOException sve) {
LOGGER.error("Got exception {} when get akses pegawai verifikasi kinerja", sve.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, sve.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.INTERNAL_SERVER_ERROR, mapHeaderMessage);
} catch (JpaSystemException jse) {
LOGGER.error("Got exception {} when get akses pegawai verifikasi kinerja", jse.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
}
}
}