Merge branch 'dev/auth/ketua-komite' into prod/base

This commit is contained in:
Salman Manoe 2024-08-23 14:44:06 +07:00
commit 9d054afeb5
5 changed files with 113 additions and 76 deletions

View File

@ -117,17 +117,17 @@ public interface LogbookKinerjaDao extends PagingAndSortingRepository<LogbookKin
+ "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 "
+ "and pg.kategoryPegawaiId in (:listKategoryPegawaiId) "
+ "and jb.kelompokJabatanId in (:listKelompokJabatabId)")
+ "and jb.kelompokJabatanId in (:listKelompokJabatanId)")
List<Map<String, Object>> findAksesPegawaiByStaf(@Param("pegawaiId") Integer idPegawai,
@Param("listKategoryPegawaiId") List<Integer> listIdKategoriPegawai,
@Param("listKelompokJabatabId") List<Integer> listIdKelompokJabatan);
@Param("listKelompokJabatanId") List<Integer> listIdKelompokJabatan);
@Query("select distinct new Map(pg.id as id,pg.namaLengkap as namaLengkap," + "pg.tglMasuk as tglMasuk,"
+ "pg.jenisPegawaiId as jenisPegawaiId) " + "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 jb.kelompokJabatanId in (:KelompokJabatabId)")
List<Map<String, Object>> findAksesPegawaiNakesLain(@Param("KelompokJabatabId") Integer IdKelompokJabatan);
+ "and jb.kelompokJabatanId in (:kelompokJabatanId)")
List<Map<String, Object>> findAksesPegawaiNakesLain(@Param("kelompokJabatanId") Integer IdKelompokJabatan);
@Query("select distinct new Map(pgb.id as id,pgb.namaLengkap as namaLengkap,pgb.tglMasuk as tglMasuk) "
+ "from MapPegawaiJabatanToUnitKerja mjp, MapPegawaiJabatanToUnitKerja mja " + "inner join mjp.pegawai pgb "
@ -147,10 +147,10 @@ public interface LogbookKinerjaDao extends PagingAndSortingRepository<LogbookKin
+ "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 "
+ "and pgb.kategoryPegawaiId in (:listKategoryPegawaiId) "
+ "and jb.kelompokJabatanId in (:listKelompokJabatabId)")
+ "and jb.kelompokJabatanId in (:listKelompokJabatanId)")
List<Map<String, Object>> findAksesPegawaiByAtasan(@Param("pegawaiId") Integer idPegawai,
@Param("listKategoryPegawaiId") List<Integer> listIdKategoriPegawai,
@Param("listKelompokJabatabId") List<Integer> listIdKelompokJabatan);
@Param("listKelompokJabatanId") List<Integer> listIdKelompokJabatan);
@Query("select distinct new Map(pgb.id as id,pgb.namaLengkap as namaLengkap,pgb.tglMasuk as tglMasuk) "
+ "from MapPegawaiJabatanToUnitKerja mjp, MapPegawaiJabatanToUnitKerja mjn " + "inner join mjp.pegawai pgb "
@ -170,10 +170,10 @@ public interface LogbookKinerjaDao extends PagingAndSortingRepository<LogbookKin
+ "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 "
+ "and pgb.kategoryPegawaiId in (:listKategoryPegawaiId) "
+ "and jb.kelompokJabatanId in (:listKelompokJabatabId)")
+ "and jb.kelompokJabatanId in (:listKelompokJabatanId)")
List<Map<String, Object>> findAksesPegawaiByPenilai(@Param("pegawaiId") Integer idPegawai,
@Param("listKategoryPegawaiId") List<Integer> listIdKategoriPegawai,
@Param("listKelompokJabatabId") List<Integer> listIdKelompokJabatan);
@Param("listKelompokJabatanId") List<Integer> listIdKelompokJabatan);
@Query("select new Map(lk.noRec as noRec,lk.pegawaiId as pegawaiId) "
+ "from LogbookKinerja lk where lk.indikatorKinerjaId = :indikatorId " + "and lk.jabatanId = :jabatanId "

View File

@ -246,8 +246,8 @@ public interface MapPegawaiJabatanToUnitKerjaDao extends JpaRepository<MapPegawa
@Query("select distinct new Map(uk.id as id,uk.name as name) " + "from MapPegawaiJabatanToUnitKerja mp "
+ "left join mp.jabatan jb with jb.statusEnabled is true "
+ "left join mp.unitKerjaPegawai uk with uk.statusEnabled is true " + "where mp.statusEnabled is true "
+ "and jb.kelompokJabatanId = :KelompokJabatabId " + "and uk.id is not null " + "order by uk.name")
List<Map<String, Object>> getMapUnitKerjaByKelompokJabatan(@Param("KelompokJabatabId") Integer IdKelompokJabatan);
+ "and jb.kelompokJabatanId = :kelompokJabatanId " + "and uk.id is not null " + "order by uk.name")
List<Map<String, Object>> getMapUnitKerjaByKelompokJabatan(@Param("kelompokJabatanId") Integer IdKelompokJabatan);
@Query("select distinct new Map(mapp.unitKerjaPegawaiId as idUnit, jab.levelJabatan as levelJabatan, jab.subLevelJabatan as subLevelJabatan) "
+ "from MapPegawaiJabatanToUnitKerja mapp " + "left join mapp.jabatan jab with jab.statusEnabled is true "
@ -261,6 +261,13 @@ public interface MapPegawaiJabatanToUnitKerjaDao extends JpaRepository<MapPegawa
List<Map<String, Object>> getMapSubunitKerjaMonitoringByUnitPegawai(@Param("idPegawai") Integer idPegawai,
@Param("idUnitKerja") Integer idUnitKerja);
@Query("select distinct new Map(subunit.id as id, subunit.name as name) " + "from MapPegawaiJabatanToUnitKerja map "
+ "left join map.jabatan jab " + "left join map.subUnitKerjaPegawai subunit " + "where map.statusEnabled is true "
+ "and map.unitKerjaPegawaiId = :idUnitKerja " + "and jab.kelompokJabatanId = :kelompokJabatanId "
+ "order by subunit.name")
List<Map<String, Object>> getMapSubunitKerjaMonitoringByKelompokJabatan(@Param("idUnitKerja") Integer idUnitKerja,
@Param("kelompokJabatanId") Integer IdKelompokJabatan);
@Query("select distinct mapp.pegawaiId from MapPegawaiJabatanToUnitKerja mapp "
+ "where mapp.statusEnabled is true and mapp.pegawaiId is not null and mapp.unitKerjaPegawaiId = :idUnitKerja")
List<Integer> getPegawaiByUnitKerja(@Param("idUnitKerja") Integer idUnitKerja);

View File

@ -17,7 +17,7 @@ public interface MonitoringAbsenDao extends PagingAndSortingRepository<Monitorin
@Query(" select monitoringAbsen.noRec" + " from MonitoringAbsen monitoringAbsen"
+ " left join monitoringAbsen.pegawai pegawai"
+ " where pegawai.id = :idPegawai and monitoringAbsen.tanggal = :date")
public String findByIdPegawaiAndTanggal(@Param("idPegawai") Integer idPegawai, @Param("date") String date);
String findByIdPegawaiAndTanggal(@Param("idPegawai") Integer idPegawai, @Param("date") String date);
@Query(" select new map(pegawai.nipPns as nip, pegawai.namaLengkap as nama,shift.kodeExternal as kodeShift, shift.namaShift as namaShift,"
+ " shift.jamMasuk as jamMasuk, shift.jamPulang as jamPulang, shift.waktuIstirahat as waktuIstirahat, "
@ -35,7 +35,7 @@ public interface MonitoringAbsenDao extends PagingAndSortingRepository<Monitorin
+ "and to_char(tanggal.tanggal,'yyyy-MM-dd') between :startDate and :endDate "
+ "and pegawai.idFinger = :idFinger " + "and pegawai.statusEnabled is not false "
+ "order by tanggal,pegawai.nama asc")
public List<Map<String, Object>> findJadwalPegawai(@Param("idFinger") String idFinger,
List<Map<String, Object>> findJadwalPegawai(@Param("idFinger") String idFinger,
@Param("startDate") String startDate, @Param("endDate") String endDate);
@Query("select new map(shift.kodeExternal as kodeShift, " + "shift.namaShift as namaShift, "
@ -47,7 +47,7 @@ public interface MonitoringAbsenDao extends PagingAndSortingRepository<Monitorin
+ "left join shift.kelompokShift kelompokShiftKerja "
+ "where to_char(tanggal.tanggal,'yyyy-MM-dd') = :tanggal " + "and pegawai.idFinger = :idFinger "
+ "and pegawai.statusEnabled is not false " + "order by tanggal.tanggal asc")
public Map<String, Object> findJadwalPegawai(@Param("idFinger") String idFinger, @Param("tanggal") String tanggal);
Map<String, Object> findJadwalPegawai(@Param("idFinger") String idFinger, @Param("tanggal") String tanggal);
@Query("select new map(shift.kodeExternal as kodeShift, " + "shift.namaShift as namaShift, "
+ "shift.jamMasuk as jamMasuk, " + "shift.jamPulang as jamPulang, "
@ -58,8 +58,7 @@ public interface MonitoringAbsenDao extends PagingAndSortingRepository<Monitorin
+ "left join shift.kelompokShift kelompokShiftKerja "
+ "where to_char(tanggal.tanggal,'yyyy-MM-dd') = :tanggal " + "and pegawai.idFinger = :idFinger "
+ "and pegawai.statusEnabled is not false " + "order by tanggal.tanggal asc")
public List<Map<String, Object>> getJadwalPegawai(@Param("idFinger") String idFinger,
@Param("tanggal") String tanggal);
List<Map<String, Object>> getJadwalPegawai(@Param("idFinger") String idFinger, @Param("tanggal") String tanggal);
@Query("select new map(shift.kodeExternal as kodeShift, " + "shift.namaShift as namaShift, "
+ "shift.jamMasuk as jamMasuk, " + "shift.jamPulang as jamPulang, "
@ -71,16 +70,15 @@ public interface MonitoringAbsenDao extends PagingAndSortingRepository<Monitorin
+ "where to_char(tanggal.tanggal,'yyyy-MM-dd') between :startDate and :endDate "
+ "and pegawai.idFinger = :idFinger " + "and pegawai.statusEnabled is not false "
+ "order by tanggal.tanggal asc")
public List<Map<String, Object>> getJadwalPegawai(@Param("idFinger") String idFinger,
@Param("startDate") String startDate, @Param("endDate") String endDate);
List<Map<String, Object>> getJadwalPegawai(@Param("idFinger") String idFinger, @Param("startDate") String startDate,
@Param("endDate") String endDate);
@Query("select new map(tanggal.namaHari as namaHari, " + "tanggal.hariKeDlmBulan as hari, "
+ "tanggal.namaBulan as bulan, " + "tanggal.tahunKalender as tahun, " + "tanggal.hariKeDlmBulan as tgl, "
+ "tanggal.tanggal as tanggal,to_char(tanggal.tanggal,'yyyy-MM-dd') as tanggal2) "
+ "from Kalender tanggal " + "where to_char(tanggal.tanggal,'yyyy-MM-dd') between :startDate and :endDate "
+ "order by tanggal.tanggal asc")
public List<Map<String, Object>> findKalender(@Param("startDate") String startDate,
@Param("endDate") String endDate);
List<Map<String, Object>> findKalender(@Param("startDate") String startDate, @Param("endDate") String endDate);
@Query("select new Map(pegawai.nipPns as nip," + "pegawai.namaLengkap as nama," + "pegawai.idFinger as idFinger,"
+ "pegawai.shiftKerjaId as idKelompokShiftKerja," + "jabatan.namaJabatan as jabatanInternal,"
@ -99,7 +97,7 @@ public interface MonitoringAbsenDao extends PagingAndSortingRepository<Monitorin
+ "and pegawai.id = :idPegawai "
+ "and to_char(kalender.tanggal,'yyyy-MM-dd') between :startDate and :endDate "
+ "order by kalender.tanggal asc")
public List<Map<String, Object>> getDataKomponenJadwal(@Param("idPegawai") Integer idPegawai,
List<Map<String, Object>> getDataKomponenJadwal(@Param("idPegawai") Integer idPegawai,
@Param("startDate") String startDate, @Param("endDate") String endDate);
@Query(" select new map(pegawai.nipPns as nip, pegawai.namaLengkap as nama,shift.kodeExternal as kodeShift, shift.namaShift as namaShift,"
@ -116,7 +114,7 @@ public interface MonitoringAbsenDao extends PagingAndSortingRepository<Monitorin
+ "and mapPegawai.isPrimary is true " + "and mapPegawai.statusEnabled is true "
+ "and to_char(tanggal.tanggal,'yyyy-MM-dd') = :date " + "and pegawai.idFinger = :idFinger "
+ "order by tanggal, pegawai.nama asc")
public Map<String, Object> findJadwalPegawaiToday(@Param("idFinger") String idFinger, @Param("date") String date);
Map<String, Object> findJadwalPegawaiToday(@Param("idFinger") String idFinger, @Param("date") String date);
@Query("select pegawai.id " + "from MapPegawaiJabatanToUnitKerja mapPegawai "
+ "left join mapPegawai.pegawai pegawai " + "left join pegawai.shiftKerja shiftKerja "
@ -124,7 +122,7 @@ public interface MonitoringAbsenDao extends PagingAndSortingRepository<Monitorin
+ "left join mapPegawai.unitKerjaPegawai unitKerja " + "where pegawai.statusEnabled is true "
+ "and subUnitKerja.id = :idUnitKerja " + "and mapPegawai.isPrimary is true "
+ "and mapPegawai.statusEnabled is true " + "order by pegawai.nama asc")
public List<Integer> findPegawaiaAktifDanKaryawanByRuangan(@Param("idUnitKerja") Integer idUnitKerja);
List<Integer> findPegawaiaAktifDanKaryawanByRuangan(@Param("idUnitKerja") Integer idUnitKerja);
@Query("select new Map(pegawai.id as idPegawai," + "pegawai.namaLengkap as nama," + "pegawai.nipPns as nipPns,"
+ "golongan.golonganPegawai as namaGolongan," + "jabatanInternal.namaJabatan as jabatanInternal,"
@ -137,8 +135,7 @@ public interface MonitoringAbsenDao extends PagingAndSortingRepository<Monitorin
+ "left join mapPegawai.unitKerjaPegawai unitKerja " + "where pegawai.statusEnabled is true "
+ "and mapPegawai.isPrimary is true " + "and mapPegawai.statusEnabled is true "
+ "and subUnitKerja.id = :idUnitKerja " + "order by pegawai.nama asc")
public List<Map<String, Object>> getDataPegawaiaAktifDanKaryawanByRuangan(
@Param("idUnitKerja") Integer idUnitKerja);
List<Map<String, Object>> getDataPegawaiaAktifDanKaryawanByRuangan(@Param("idUnitKerja") Integer idUnitKerja);
@Query("select new Map(pegawai.id as id, pegawai.idFinger as idFinger) "
+ "from MapPegawaiJabatanToUnitKerja mapPegawai " + "left join mapPegawai.pegawai pegawai "
@ -146,7 +143,7 @@ public interface MonitoringAbsenDao extends PagingAndSortingRepository<Monitorin
+ "left join mapPegawai.unitKerjaPegawai unitKerja " + "where pegawai.statusEnabled is true "
+ "and subUnitKerja.id = :idUnitKerja " + "and mapPegawai.isPrimary is true "
+ "and mapPegawai.statusEnabled is true " + "order by pegawai.nama asc")
public List<Map<String, Object>> findPegawaiDanIdFingeraAktifDanKaryawanByRuangan(
List<Map<String, Object>> findPegawaiDanIdFingeraAktifDanKaryawanByRuangan(
@Param("idUnitKerja") Integer idUnitKerja);
@Query("select new map(pegawai.id as pegawaiId," + "pegawai.nipPns as nip, " + "pegawai.namaLengkap as nama, "
@ -158,7 +155,7 @@ public interface MonitoringAbsenDao extends PagingAndSortingRepository<Monitorin
+ "where pegawai.id = mapPegawai.pegawaiId " + "and mapPegawai.isPrimary is true "
+ "and mapPegawai.statusEnabled is true " + "and pegawai.id = :pegawaiId "
+ "and pegawai.statusEnabled is true " + "order by pegawai.nama asc")
public List<Map<String, Object>> findPegawaiAktifDanKaryawan(@Param("pegawaiId") Integer idPegawai);
List<Map<String, Object>> findPegawaiAktifDanKaryawan(@Param("pegawaiId") Integer idPegawai);
@Query("select pegawai.id " + "from MapPegawaiJabatanToUnitKerja mapPegawai "
+ "left join mapPegawai.pegawai pegawai " + "left join pegawai.shiftKerja shiftKerja "
@ -166,7 +163,7 @@ public interface MonitoringAbsenDao extends PagingAndSortingRepository<Monitorin
+ "left join mapPegawai.unitKerjaPegawai unitKerja " + "where mapPegawai.statusEnabled is true "
+ "and unitKerja.id = :idUnitKerja " + "and pegawai.statusEnabled is not false "
+ "and pegawai.idFinger is not null " + "order by pegawai.nama asc")
public List<Integer> findPegawaiAktifDanKaryawanByUnitKerja(@Param("idUnitKerja") Integer idUnitKerja);
List<Integer> findPegawaiAktifDanKaryawanByUnitKerja(@Param("idUnitKerja") Integer idUnitKerja);
@Query("select pegawai.id " + "from MapPegawaiJabatanToUnitKerja mapPegawai "
+ "left join mapPegawai.pegawai pegawai " + "left join pegawai.shiftKerja shiftKerja "
@ -174,12 +171,12 @@ public interface MonitoringAbsenDao extends PagingAndSortingRepository<Monitorin
+ "left join mapPegawai.unitKerjaPegawai unitKerja " + "where unitKerja.id = :idUnitKerja "
+ "and subUnitKerja.id = :idSubUnitKerja " + "and mapPegawai.statusEnabled is true "
+ "and pegawai.idFinger is not null " + "and pegawai.statusEnabled is true " + "order by pegawai.nama asc")
public List<Integer> findPegawaiAktifDanKaryawanByUnitKerjaAndSubUnitKerja(
@Param("idUnitKerja") Integer idUnitKerja, @Param("idSubUnitKerja") Integer idSubUnitKerja);
List<Integer> findPegawaiAktifDanKaryawanByUnitKerjaAndSubUnitKerja(@Param("idUnitKerja") Integer idUnitKerja,
@Param("idSubUnitKerja") Integer idSubUnitKerja);
@Query(" select pegawai.id" + " from Pegawai pegawai" + " left join pegawai.ruangan ruangan"
+ " where ruangan.id = :ruanganId order by pegawai.nama asc ")
public List<Integer> findByIdPegawaiByRuangan(@Param("ruanganId") Integer ruanganId);
List<Integer> findByIdPegawaiByRuangan(@Param("ruanganId") Integer ruanganId);
@Query("select new map(shiftKerja.id as idShiftKerja, " + "shiftKerja.namaShift as namaShift, "
+ "komponenIndex.factorRate as factorRate, " + "komponenIndex.komponenIndex as namaKomponenIndex, "
@ -189,13 +186,13 @@ public interface MonitoringAbsenDao extends PagingAndSortingRepository<Monitorin
+ "kelompokShift.factorRate as headFactorRate, " + "komponenIndex.id as idKomponenIndex) "
+ "from ShiftKerja shiftKerja " + "left join shiftKerja.kelompokShift kelompokShift "
+ "left join shiftKerja.komponenIndex komponenIndex " + "where kelompokShift.id = :idKelompokShift")
public List<Map<String, Object>> findShiftpegawai(@Param("idKelompokShift") Integer idKelompokShift);
List<Map<String, Object>> findShiftpegawai(@Param("idKelompokShift") Integer idKelompokShift);
@Query("select new map(kelompokShift.id as idKelompokShift, " + "kelompokShift.name as nama, "
+ "kelompokShift.operatorFactorRate as headOperatorFactorRate, "
+ "kelompokShift.factorRate as headFactorRate) " + "from KelompokShift kelompokShift "
+ "where kelompokShift.id = :idKelompokShift")
public Map<String, Object> findKelompokShiftpegawai(@Param("idKelompokShift") Integer idKelompokShift);
Map<String, Object> findKelompokShiftpegawai(@Param("idKelompokShift") Integer idKelompokShift);
@Query("select new map(shiftKerja.id as idShiftKerja, " + "shiftKerja.namaShift as namaShift, "
+ "shiftKerja.factorRate as factorRate, " + "komponenIndex.komponenIndex as namaKomponenIndex, "
@ -206,7 +203,7 @@ public interface MonitoringAbsenDao extends PagingAndSortingRepository<Monitorin
+ "from ShiftKerja shiftKerja " + "left join shiftKerja.kelompokShift kelompokShift "
+ "left join shiftKerja.komponenIndex komponenIndex "
+ "where kelompokShift.id = :idKelompokShift and shiftKerja.id =:idShift")
public Map<String, Object> findShiftpegawaiDetail(@Param("idKelompokShift") Integer idKelompokShift,
Map<String, Object> findShiftpegawaiDetail(@Param("idKelompokShift") Integer idKelompokShift,
@Param("idShift") Integer idShift);
@Query("select new map(shiftKerja.jamMasuk as jamMasuk, " + "shiftKerja.jamPulang as jamPulang, "
@ -216,7 +213,7 @@ public interface MonitoringAbsenDao extends PagingAndSortingRepository<Monitorin
+ "from ShiftKerja shiftKerja " + "left join shiftKerja.kelompokShift kelompokShift "
+ "left join shiftKerja.komponenIndex komponenIndex " + "where kelompokShift.id = :idKelompokShift "
+ "and shiftKerja.namaShift = :namaShift " + "and shiftKerja.kodeExternal = :kodeExternal")
public Map<String, Object> findShiftPMDetail(@Param("idKelompokShift") Integer idKelompokShift,
Map<String, Object> findShiftPMDetail(@Param("idKelompokShift") Integer idKelompokShift,
@Param("namaShift") String namaShift, @Param("kodeExternal") String kodeExternal);
@Query("select distinct new map(pegawaiHistoriRekapIndex.nilaiIndex as nilaiIndex, "
@ -231,8 +228,8 @@ public interface MonitoringAbsenDao extends PagingAndSortingRepository<Monitorin
+ "where planning.noRec = pegawaiHistoriRekapIndex.noRecPlanningPerubahanStatus and "
+ "to_char(listTanggal.tgl, 'yyyy-MM-dd')between :tglAwal and :tglAkhir "
+ "and pegawai.id =:idPegawai and listTanggal.approvalStatus is true ")
public List<Map<String, Object>> findKomponenIndex(@Param("tglAwal") String tglAwal,
@Param("tglAkhir") String tglAkhir, @Param("idPegawai") Integer idPegawai);
List<Map<String, Object>> findKomponenIndex(@Param("tglAwal") String tglAwal, @Param("tglAkhir") String tglAkhir,
@Param("idPegawai") Integer idPegawai);
@Query("select distinct new map(count(listTanggal.tgl) as nilaiIndex, "
+ "pegawaiHistoriRekapIndex.nilaiIndex as nilaiIndexPembanding, "
@ -252,8 +249,8 @@ public interface MonitoringAbsenDao extends PagingAndSortingRepository<Monitorin
+ "group by pegawaiHistoriRekapIndex.nilaiIndex, pegawaiHistoriRekapIndex.nilaiIndexTotal, "
+ "komponenIndex.komponenIndex, komponenIndex.id, " + "komponenIndex.factorRate, strukHistory.tglHistori, "
+ "strukHistory.tglAhir, strukHistory.tglAwal, statusPegawai.statusPegawai")
public List<Map<String, Object>> countKomponenIndex(@Param("tglAwal") String tglAwal,
@Param("tglAkhir") String tglAkhir, @Param("idPegawai") Integer idPegawai);
List<Map<String, Object>> countKomponenIndex(@Param("tglAwal") String tglAwal, @Param("tglAkhir") String tglAkhir,
@Param("idPegawai") Integer idPegawai);
@Query("select new map(pegawaiHistoriRekapIndex.nilaiIndex as nilaiIndex, "
+ "pegawaiHistoriRekapIndex.nilaiIndexTotal as nilaiIndexTotal, "
@ -266,57 +263,56 @@ public interface MonitoringAbsenDao extends PagingAndSortingRepository<Monitorin
+ "left join pegawaiHistoriRekapIndex.pegawai pegawai "
+ "where to_char(strukHistory.tglAwal, 'yyyy') = :tahun "
+ "and pegawai.id =:idPegawai and komponenIndex.id =17")
public List<Map<String, Object>> findKomponenIndexIjin(@Param("idPegawai") Integer idPegawai,
List<Map<String, Object>> findKomponenIndexIjin(@Param("idPegawai") Integer idPegawai,
@Param("tahun") String tahun);
@Query("select distinct verifSDM.keteranganlainnya " + "from MonitoringAbsen monitoring "
+ "join monitoring.strukVerifikasiSdm verifSDM " + "left join monitoring.pegawai pegawai "
+ "where pegawai.id = :idPegawai and monitoring.tanggal = :tgl ")
public String findLemburVerifiedbySDM(@Param("idPegawai") Integer idPegawai, @Param("tgl") String tgl);
String findLemburVerifiedbySDM(@Param("idPegawai") Integer idPegawai, @Param("tgl") String tgl);
//
@Query("select new map(kelompokShift.name as name, " + "kelompokShift.id as id, "
+ "factoRateKelompokShift.noRec as noRec, " + "factoRateKelompokShift.factorRate as factorRate, "
+ "factoRateKelompokShift.hari as hari, " + "factoRateKelompokShift.periode as periode) "
+ "from FactoRateKelompokShift factoRateKelompokShift "
+ "left join factoRateKelompokShift.kelompokShift kelompokShift "
+ "where factoRateKelompokShift.factorRate is not null and factoRateKelompokShift.periode = :periode")
public List<Map<String, Object>> findFactorRateIndekkehadiran(@Param("periode") String periode);
List<Map<String, Object>> findFactorRateIndekkehadiran(@Param("periode") String periode);
@Query("select new map(komponenIndex.factorRate as factorRate, "
+ "komponenIndex.operatorFactorRate as operatorFactorRate) " + "from KomponenIndex komponenIndex "
+ "where komponenIndex.id=12")
public Map<String, Object> findFactorRateTerlambat();
Map<String, Object> findFactorRateTerlambat();
@Query(" select monitoringAbsen" + " from MonitoringAbsen monitoringAbsen"
+ " left join monitoringAbsen.pegawai pegawai"
+ " where pegawai.id = :idPegawai and monitoringAbsen.tanggal = :date")
public MonitoringAbsen findByIdPegawaiAndTanggalMonitoringAbsen(@Param("idPegawai") Integer idPegawai,
MonitoringAbsen findByIdPegawaiAndTanggalMonitoringAbsen(@Param("idPegawai") Integer idPegawai,
@Param("date") String date);
@Query(" SELECT distinct new Pegawai(pegawai.id,pegawai.namaLengkap) FROM " + " MonitoringAbsen monitoringAbsen"
+ " LEFT JOIN monitoringAbsen.pegawai pegawai "
+ " WHERE monitoringAbsen.verifikasiUnitKerjaFK IS NOT NULL "
+ " AND pegawai.statusPegawai.kdStatusPegawai=2")
public List<Pegawai> findPegawaiAktifAndVerifiedByUnitKerja();
List<Pegawai> findPegawaiAktifAndVerifiedByUnitKerja();
@Query(" SELECT new Map(count(monitoringAbsen.verifikasiUnitKerjaFK),monitoringAbsen.verifikasiSdmFK,monitoringAbsen.pegawaiId ) "
+ " FROM MonitoringAbsen monitoringAbsen " + " WHERE monitoringAbsen.tanggal like :bulan"
+ " GROUP BY monitoringAbsen.verifikasiSdmFK,monitoringAbsen.pegawaiId ")
public List<Map<String, Object>> findLemburByPeriodApprovedBySdm(@Param("bulan") String bulan);
List<Map<String, Object>> findLemburByPeriodApprovedBySdm(@Param("bulan") String bulan);
@Query("SELECT new map(min(model.tanggal) as tglAwal,max(model.tanggal) as tglAkhir) from Kalender model where model.tahunKalender=:tahun and model.namaBulan=:bulan")
public Map<String, Object> findPeriodeKalenderS(@Param("tahun") short tahun, @Param("bulan") String bulan);
Map<String, Object> findPeriodeKalenderS(@Param("tahun") short tahun, @Param("bulan") String bulan);
@Query("SELECT distinct model.bulanKeDlmTahun from Kalender model where model.tahunKalender=:tahun and model.namaBulan=:bulan")
public Integer findBulan(@Param("tahun") short tahun, @Param("bulan") String bulan);
Integer findBulan(@Param("tahun") short tahun, @Param("bulan") String bulan);
@Query("select new Map(mapPegawai.isMonitoring as isMonitoring, " + "mapPegawai.isPrimary as isPrimary) "
+ "from MapPegawaiJabatanToUnitKerja mapPegawai " + "left join mapPegawai.pegawai pegawai "
+ "where mapPegawai.statusEnabled is true " + "and mapPegawai.unitKerjaPegawaiId = :idUnitKerja "
+ "and mapPegawai.subUnitKerjaPegawaiId = :idSubUnitKerja " + "and mapPegawai.pegawaiId = :idPegawaiLogin "
+ "and pegawai.kedudukanId not in (:listException) " + "order by pegawai.namaLengkap")
public List<Map<String, Object>> checkAuthMonitoring(@Param("idUnitKerja") Integer idUnitKerja,
List<Map<String, Object>> checkAuthMonitoring(@Param("idUnitKerja") Integer idUnitKerja,
@Param("idSubUnitKerja") Integer idSubUnitKerja, @Param("idPegawaiLogin") Integer idPegawaiLogin,
@Param("listException") List<Integer> listException);
@ -326,7 +322,7 @@ public interface MonitoringAbsenDao extends PagingAndSortingRepository<Monitorin
+ "where mapPegawai.statusEnabled is true " + "and mapPegawai.unitKerjaPegawaiId = :idUnitKerja "
+ "and mapPegawai.pegawaiId = :idPegawaiLogin " + "and pegawai.kedudukanId not in (:listException) "
+ "order by pegawai.namaLengkap")
public List<Map<String, Object>> checkAuthMonitoring(@Param("idUnitKerja") Integer idUnitKerja,
List<Map<String, Object>> checkAuthMonitoring(@Param("idUnitKerja") Integer idUnitKerja,
@Param("idPegawaiLogin") Integer idPegawaiLogin, @Param("listException") List<Integer> listException);
@Query("select new Map(pegawai.id as id, " + "pegawai.namaLengkap as namaLengkap) "
@ -335,7 +331,7 @@ public interface MonitoringAbsenDao extends PagingAndSortingRepository<Monitorin
+ "and mapPegawai.unitKerjaPegawaiId = :idUnitKerja "
+ "and mapPegawai.subUnitKerjaPegawaiId = :idSubUnitKerja " + "and mapPegawai.pegawaiId = :idPegawaiLogin "
+ "and pegawai.kedudukanId not in (:listException) " + "order by pegawai.namaLengkap")
public List<Map<String, Object>> getDataPegawaiRev(@Param("idUnitKerja") Integer idUnitKerja,
List<Map<String, Object>> getDataPegawaiRev(@Param("idUnitKerja") Integer idUnitKerja,
@Param("idSubUnitKerja") Integer idSubUnitKerja, @Param("idPegawaiLogin") Integer idPegawaiLogin,
@Param("listException") List<Integer> listException);
@ -346,9 +342,20 @@ public interface MonitoringAbsenDao extends PagingAndSortingRepository<Monitorin
+ "and mapPegawai.subUnitKerjaPegawaiId = :idSubUnitKerja " +
// "and mapPegawai.isPrimary is true "+
"and pegawai.kedudukanId not in (:listException) " + "order by namaLengkap")
public List<Map<String, Object>> getDataPegawaiRev(@Param("idUnitKerja") Integer idUnitKerja,
List<Map<String, Object>> getDataPegawaiRev(@Param("idUnitKerja") Integer idUnitKerja,
@Param("idSubUnitKerja") Integer idSubUnitKerja, @Param("listException") List<Integer> listException);
@Query("select distinct new Map(pegawai.id as id, " + "pegawai.namaLengkap as namaLengkap) "
+ "from MapPegawaiJabatanToUnitKerja mapPegawai " + "inner join mapPegawai.jabatan jabatan "
+ "left join mapPegawai.pegawai pegawai " + "where mapPegawai.statusEnabled is true "
+ "and pegawai.statusEnabled is true " + "and mapPegawai.unitKerjaPegawaiId = :idUnitKerja "
+ "and mapPegawai.subUnitKerjaPegawaiId = :idSubUnitKerja "
+ "and jabatan.kelompokJabatanId = :kelompokJabatanId " + "and pegawai.kedudukanId not in (:listException) "
+ "order by namaLengkap")
List<Map<String, Object>> getDataPegawaiRevByKelompokJabatan(@Param("idUnitKerja") Integer idUnitKerja,
@Param("idSubUnitKerja") Integer idSubUnitKerja, @Param("kelompokJabatanId") Integer idKelompokJabatan,
@Param("listException") List<Integer> listException);
@Query("select distinct new Map(pegawai.id as id, " + "pegawai.namaLengkap as namaLengkap) "
+ "from MapPegawaiJabatanToUnitKerja mapPegawai " + "left join mapPegawai.pegawai pegawai "
+ "where mapPegawai.statusEnabled is true " + "and pegawai.statusEnabled is true "
@ -356,7 +363,7 @@ public interface MonitoringAbsenDao extends PagingAndSortingRepository<Monitorin
// "and mapPegawai.subUnitKerjaPegawaiId = :idSubUnitKerja "+
// "and mapPegawai.isPrimary is true "+
"and pegawai.kedudukanId not in (:listException) " + "order by namaLengkap")
public List<Map<String, Object>> getDataPegawaiRev(@Param("idUnitKerja") Integer idUnitKerja,
List<Map<String, Object>> getDataPegawaiRev(@Param("idUnitKerja") Integer idUnitKerja,
@Param("listException") List<Integer> listException);
@Query("select distinct new Map(pg.id as id,pg.namaLengkap as namaLengkap) "
@ -366,7 +373,7 @@ public interface MonitoringAbsenDao extends PagingAndSortingRepository<Monitorin
+ "and pg.kedudukanId not in (:listException) " + "and mp.unitKerjaPegawaiId = :idUnitKerja "
+ "and jb.levelJabatan = :levelJabatan+1 " // satu_level_dibawah_pegawai_login
+ "and jb.subLevelJabatan = :sublevelJabatan")
public List<Map<String, Object>> getDataPegawaiDirektur(@Param("idUnitKerja") Integer idUnitKerja,
List<Map<String, Object>> getDataPegawaiDirektur(@Param("idUnitKerja") Integer idUnitKerja,
@Param("levelJabatan") Integer levelJabatan, @Param("sublevelJabatan") Integer sublevelJabatan,
@Param("listException") List<Integer> listException);
@ -386,14 +393,14 @@ public interface MonitoringAbsenDao extends PagingAndSortingRepository<Monitorin
String sortJumPresDP = "order by pg.nama asc";
@Query(jumPresDP + jumPresDPUnitKerja + jumPresDPSubunitKerja + sortJumPresDP)
public List<Map<String, Object>> getDataPegawaiPresensiSubunitKerja(@Param("unitKerjaId") Integer idUnitKerja,
List<Map<String, Object>> getDataPegawaiPresensiSubunitKerja(@Param("unitKerjaId") Integer idUnitKerja,
@Param("subunitKerjaId") Integer idSubunitKerja);
@Query(jumPresDP + jumPresDPUnitKerja + sortJumPresDP)
public List<Map<String, Object>> getDataPegawaiPresensiUnitKerja(@Param("unitKerjaId") Integer idUnitKerja);
List<Map<String, Object>> getDataPegawaiPresensiUnitKerja(@Param("unitKerjaId") Integer idUnitKerja);
@Query(jumPresDP + jumPresDPPegawai + sortJumPresDP)
public List<Map<String, Object>> getDataPegawaiPresensiPegawai(@Param("pegawaiId") Integer idPegawai);
List<Map<String, Object>> getDataPegawaiPresensiPegawai(@Param("pegawaiId") Integer idPegawai);
String jumPresDJb = "select new Map(mj.unitKerjaPegawaiId as unitKerjaId,"
+ "mj.subUnitKerjaPegawaiId as subunitKerjaId," + "mj.pegawaiId as pegawaiId,"
@ -410,14 +417,14 @@ public interface MonitoringAbsenDao extends PagingAndSortingRepository<Monitorin
String sortJumPresDJb = "order by pg.nama asc";
@Query(jumPresDJb + jumPresDJbUnitKerja + jumPresDJbSubunitKerja + sortJumPresDJb)
public List<Map<String, Object>> getDataJabatanPresensiSubunitKerja(@Param("unitKerjaId") Integer idUnitKerja,
List<Map<String, Object>> getDataJabatanPresensiSubunitKerja(@Param("unitKerjaId") Integer idUnitKerja,
@Param("subunitKerjaId") Integer idSubunitKerja);
@Query(jumPresDJb + jumPresDJbUnitKerja + sortJumPresDJb)
public List<Map<String, Object>> getDataJabatanPresensiUnitKerja(@Param("unitKerjaId") Integer idUnitKerja);
List<Map<String, Object>> getDataJabatanPresensiUnitKerja(@Param("unitKerjaId") Integer idUnitKerja);
@Query(jumPresDJb + jumPresDJbPegawai + sortJumPresDJb)
public List<Map<String, Object>> getDataJabatanPresensiPegawai(@Param("pegawaiId") Integer idPegawai);
List<Map<String, Object>> getDataJabatanPresensiPegawai(@Param("pegawaiId") Integer idPegawai);
String jumPresDJd = "select new Map(kl.tanggal as date," + "mj.unitKerjaPegawaiId as unitKerjaId,"
+ "mj.subUnitKerjaPegawaiId as subunitKerjaId," + "mj.pegawaiId as pegawaiId," + "sk.id as shiftId,"
@ -437,25 +444,26 @@ public interface MonitoringAbsenDao extends PagingAndSortingRepository<Monitorin
String sortJumPresDJd = "order by pg.nama, kl.tanggal asc";
@Query(jumPresDJd + jumPresDJdUnitKerja + jumPresDJdSubunitKerja + sortJumPresDJd)
public List<Map<String, Object>> getDataJadwalPresensiSubunitKerja(@Param("startDate") String startDate,
List<Map<String, Object>> getDataJadwalPresensiSubunitKerja(@Param("startDate") String startDate,
@Param("endDate") String endDate, @Param("unitKerjaId") Integer idUnitKerja,
@Param("subunitKerjaId") Integer idSubunitKerja);
@Query(jumPresDJd + jumPresDJdUnitKerja + sortJumPresDJd)
public List<Map<String, Object>> getDataJadwalPresensiUnitKerja(@Param("startDate") String startDate,
List<Map<String, Object>> getDataJadwalPresensiUnitKerja(@Param("startDate") String startDate,
@Param("endDate") String endDate, @Param("unitKerjaId") Integer idUnitKerja);
@Query(jumPresDJd + jumPresDJdPegawai + sortJumPresDJd)
public List<Map<String, Object>> getDataJadwalPresensiPegawai(@Param("startDate") String startDate,
List<Map<String, Object>> getDataJadwalPresensiPegawai(@Param("startDate") String startDate,
@Param("endDate") String endDate, @Param("pegawaiId") Integer idPegawai);
String jumPresHab = "select new Map(kl.tanggal as date," + "mj.unitKerjaPegawaiId as unitKerjaId,"
+ "mj.subUnitKerjaPegawaiId as subunitKerjaId," + "mj.pegawaiId as pegawaiId," + "hab.tr_no as trNo,"
+ "hab.tr_time as trTime," + "hab.processtatus as procesStatus," + "hab.ip_addr as ipAddr," + "hab.clientIPAddress as client_ip_addr) "
+ "from MapPegawaiJabatanToUnitKerja mj, " + "Kalender kl, " + "Habsen hab " + "left join mj.pegawai pg "
+ "where kl.tanggal = hab.tr_date " + "and hab.empl_code = pg.idFinger " + "and mj.statusEnabled is true "
+ "and pg.statusEnabled is true " + "and pg.idFinger is not null " + "and hab.loc_code = '99999' "
+ "and hab.remoteno = '99' " + "and to_char(kl.tanggal,'yyyy-MM-dd') between :startDate and :endDate ";
+ "hab.tr_time as trTime," + "hab.processtatus as procesStatus," + "hab.ip_addr as ipAddr,"
+ "hab.clientIPAddress as client_ip_addr) " + "from MapPegawaiJabatanToUnitKerja mj, " + "Kalender kl, "
+ "Habsen hab " + "left join mj.pegawai pg " + "where kl.tanggal = hab.tr_date "
+ "and hab.empl_code = pg.idFinger " + "and mj.statusEnabled is true " + "and pg.statusEnabled is true "
+ "and pg.idFinger is not null " + "and hab.loc_code = '99999' " + "and hab.remoteno = '99' "
+ "and to_char(kl.tanggal,'yyyy-MM-dd') between :startDate and :endDate ";
String jumPresHabUnitKerja = "and mj.unitKerjaPegawaiId = :unitKerjaId ";
@ -466,16 +474,16 @@ public interface MonitoringAbsenDao extends PagingAndSortingRepository<Monitorin
String sortJumPresHab = "order by pg.nama, kl.tanggal, hab.tr_time asc";
@Query(jumPresHab + jumPresHabUnitKerja + jumPresHabSubunitKerja + sortJumPresHab)
public List<Map<String, Object>> getDataPresensiSubunitKerja(@Param("startDate") String startDate,
List<Map<String, Object>> getDataPresensiSubunitKerja(@Param("startDate") String startDate,
@Param("endDate") String endDate, @Param("unitKerjaId") Integer idUnitKerja,
@Param("subunitKerjaId") Integer idSubunitKerja);
@Query(jumPresHab + jumPresHabUnitKerja + sortJumPresHab)
public List<Map<String, Object>> getDataPresensiUnitKerja(@Param("startDate") String startDate,
List<Map<String, Object>> getDataPresensiUnitKerja(@Param("startDate") String startDate,
@Param("endDate") String endDate, @Param("unitKerjaId") Integer idUnitKerja);
@Query(jumPresHab + jumPresHabPegawai + sortJumPresHab)
public List<Map<String, Object>> getDataPresensiPegawai(@Param("startDate") String startDate,
List<Map<String, Object>> getDataPresensiPegawai(@Param("startDate") String startDate,
@Param("endDate") String endDate, @Param("pegawaiId") Integer idPegawai);
}

View File

@ -1447,10 +1447,11 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl extends BaseVoServiceImpl
}
@Override
public List<Map<String, Object>> getMapSubunitKerjaByUnitPegawai(Integer idPegawai, Integer idUnitKerja) {
public List<Map<String, Object>> getMapSubunitKerjaByUnitPegawai(Integer idPegawaiLogin, Integer idUnitKerja) {
int lvlJabatan = 0;
List<Integer> listIdJabatanKetuaKomiteNakesLain = splitDataSettingDatafixed("idJabatanKetuaKomiteNakesLain");
List<Map<String, Object>> listLevelJabatanAndMonitoring = mapPegawaiJabatanToUnitKerjaDao
.getMappLevelJabatanAndMonitoring(idPegawai, idUnitKerja);
.getMappLevelJabatanAndMonitoring(idPegawaiLogin, idUnitKerja);
if (CommonUtil.isNotNullOrEmpty(listLevelJabatanAndMonitoring)) {
for (Map<String, Object> mapLj : listLevelJabatanAndMonitoring) {
lvlJabatan = Integer.parseInt(mapLj.get("levelJabatan").toString());
@ -1464,7 +1465,20 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl extends BaseVoServiceImpl
if (lvlJabatan <= 3) {
result = subUnitKerjaDao.getSubUnitKerjaCustomByUnitKerja(idUnitKerja);
} else {
result = mapPegawaiJabatanToUnitKerjaDao.getMapSubunitKerjaMonitoringByUnitPegawai(idPegawai, idUnitKerja);
result = mapPegawaiJabatanToUnitKerjaDao.getMapSubunitKerjaMonitoringByUnitPegawai(idPegawaiLogin,
idUnitKerja);
}
if (mapPegawaiJabatanToUnitKerjaDao.existsByPegawaiIdAndJabatanIdIn(idPegawaiLogin,
listIdJabatanKetuaKomiteNakesLain)) {
List<Map<String, Object>> listSubUnitKerjaNakesLain = mapPegawaiJabatanToUnitKerjaDao
.getMapSubunitKerjaMonitoringByKelompokJabatan(idUnitKerja,
PENUNJANG_MEDIK);
List<Integer> alreadyAdded = result.stream().map(rs -> Integer.parseInt(rs.get("id").toString()))
.collect(Collectors.toList());
result.addAll(listSubUnitKerjaNakesLain.stream()
.filter(sk -> !alreadyAdded.contains(Integer.parseInt(sk.get("id").toString())))
.collect(Collectors.toList()));
}
return result;

View File

@ -23,6 +23,9 @@ import java.time.Month;
import java.time.ZoneId;
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import static com.jasamedika.medifirst2000.constants.Master.KelompokJabatan.PENUNJANG_MEDIK;
@Service("monitoringAbsenService")
public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements MonitoringAbsenService {
@ -4406,8 +4409,13 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
List<Integer> listIdJabatanKetuaKomiteNakesLain = splitDataSettingDatafixed("idJabatanKetuaKomiteNakesLain");
if (mapPegawaiJabatanToUnitKerjaDao.existsByPegawaiIdAndJabatanIdIn(idPegawaiLogin,
listIdJabatanKetuaKomiteNakesLain)) {
result.addAll(monitoringAbsenDao.getDataPegawaiRev(idUnitKerja, idSubUnitKerja,
splitDataSettingDatafixed("idMeninggalKeluarPindah")));
List<Integer> alreadyAdded = result.stream().map(rs -> Integer.parseInt(rs.get("id").toString()))
.collect(Collectors.toList());
List<Map<String, Object>> listPegawaiNakesLain = monitoringAbsenDao.getDataPegawaiRevByKelompokJabatan(
idUnitKerja, idSubUnitKerja, PENUNJANG_MEDIK, splitDataSettingDatafixed("idMeninggalKeluarPindah"));
result.addAll(listPegawaiNakesLain.stream()
.filter(pg -> !alreadyAdded.contains(Integer.parseInt(pg.get("id").toString())))
.collect(Collectors.toList()));
}
return result;