From 3384ae7fd339bd04839438b041a1908a03222193 Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Tue, 14 Jan 2025 11:02:16 +0700 Subject: [PATCH] Update service jatah cuti Penerapan validasi presensi dan cuti belum disetujui saat hitung jatah cuti bersama yang ditangguhkan --- .../medifirst2000/dao/ListTanggalCutiDao.java | 75 +- .../dao/MapKalenderToHariLiburDao.java | 25 +- .../dao/PlanningPegawaiStatusDao.java | 863 ++++++------------ .../impl/JatahCutiDanIzinServiceImpl.java | 58 +- .../medifirst2000/dto/PresensiHariLibur.java | 2 + .../entities/ListTanggalCuti.java | 67 +- .../entities/PlanningPegawaiStatus.java | 465 +++------- .../medifirst2000/vo/ListTanggalCutiVO.java | 45 +- .../vo/PlanningPegawaiStatusVO.java | 407 ++------- 9 files changed, 541 insertions(+), 1466 deletions(-) diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/ListTanggalCutiDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/ListTanggalCutiDao.java index b534f13e..637de75f 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/ListTanggalCutiDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/ListTanggalCutiDao.java @@ -1,6 +1,5 @@ package com.jasamedika.medifirst2000.dao; - import java.util.Date; import java.util.List; import java.util.Map; @@ -14,52 +13,52 @@ import org.springframework.stereotype.Repository; import com.jasamedika.medifirst2000.entities.ListTanggalCuti; @Repository("ListTanggalCutiDao") -public interface ListTanggalCutiDao extends PagingAndSortingRepository{ +public interface ListTanggalCutiDao extends PagingAndSortingRepository { @Modifying @Query("update ListTanggalCuti m set m.statusEnabled=false where m.planningPegawaiStatusId =:id") void deleteDatas(@Param("id") String id); - - @Query("select distinct new Map(to_char(listTglCuti.tgl, 'yyyy') as tahun, "+ - "to_char(listTglCuti.tgl, 'MM') as bulan) "+ - "from ListTanggalCuti listTglCuti "+ - "where listTglCuti.statusEnabled is true "+ - "and listTglCuti.noRec in (:listNorec)") + + @Query("select distinct new Map(to_char(listTglCuti.tgl, 'yyyy') as tahun, " + + "to_char(listTglCuti.tgl, 'MM') as bulan) " + "from ListTanggalCuti listTglCuti " + + "where listTglCuti.statusEnabled is true " + "and listTglCuti.noRec in (:listNorec)") List> getListTglCutiByNorec(@Param("listNorec") List listNorec); - - @Query("select distinct new Map(to_char(kalender.tanggal, 'yyyy') as tahun,"+ - "to_char(kalender.tanggal, 'MM') as bulan) "+ - "from Kalender kalender "+ - "where kalender.statusEnabled is true "+ - "and kalender.id between :idKalAwal and :idKalAkhir "+ - "order by to_char(kalender.tanggal, 'yyyy'), to_char(kalender.tanggal, 'MM')") - List> getListTglCutiByNorec(@Param("idKalAwal") Integer idKalAwal, @Param("idKalAkhir") Integer idKalAkhir); - - @Query("select to_char(listTglCuti.tgl, 'yyyy-MM-dd') "+ - "from ListTanggalCuti listTglCuti "+ - "where listTglCuti.statusEnabled is true "+ - "and listTglCuti.noRec in (:listNorec)") + + @Query("select distinct new Map(to_char(kalender.tanggal, 'yyyy') as tahun," + + "to_char(kalender.tanggal, 'MM') as bulan) " + "from Kalender kalender " + + "where kalender.statusEnabled is true " + "and kalender.id between :idKalAwal and :idKalAkhir " + + "order by to_char(kalender.tanggal, 'yyyy'), to_char(kalender.tanggal, 'MM')") + List> getListTglCutiByNorec(@Param("idKalAwal") Integer idKalAwal, + @Param("idKalAkhir") Integer idKalAkhir); + + @Query("select to_char(listTglCuti.tgl, 'yyyy-MM-dd') " + "from ListTanggalCuti listTglCuti " + + "where listTglCuti.statusEnabled is true " + "and listTglCuti.noRec in (:listNorec)") List getListTglCutiByNorecDetail(@Param("listNorec") List listNorec); - - @Query("select kalender.id from Kalender kalender where kalender.statusEnabled is true and to_char(kalender.tanggal, 'yyyy-MM-dd') = :tglCuti") + + @Query("select kalender.id " + "from Kalender kalender " + "where kalender.statusEnabled is true " + + "and to_char(kalender.tanggal, 'yyyy-MM-dd') = :tglCuti") Integer getIdKalenderByTglCuti(@Param("tglCuti") String tglCuti); - - @Query("select mapStatus.shiftKerjaId "+ - "from MapStatusPegawaiToShiftKerja mapStatus "+ - "where mapStatus.statusEnabled is true "+ - "and mapStatus.statusPegawaiId = :idStatusExec "+ - "and mapStatus.kelompokShiftId = :idKelShift") + + @Query("select mapStatus.shiftKerjaId " + "from MapStatusPegawaiToShiftKerja mapStatus " + + "where mapStatus.statusEnabled is true " + "and mapStatus.statusPegawaiId = :idStatusExec " + + "and mapStatus.kelompokShiftId = :idKelShift") Integer getMappingShiftKerja(@Param("idStatusExec") Integer idStatusExec, @Param("idKelShift") Integer idKelShift); - - @Query("select pegawai.shiftKerjaId from Pegawai pegawai where pegawai.statusEnabled is true and pegawai.id = :idPegawai") + + @Query("select pegawai.shiftKerjaId " + "from Pegawai pegawai " + "where pegawai.statusEnabled is true " + + "and pegawai.id = :idPegawai") Integer getKelShift(@Param("idPegawai") Integer idPegawai); - - @Query("select listTgl.tgl " - + "from ListTanggalCuti listTgl " - + "left join listTgl.planningPegawaiStatus planning " - + "where planning.noRec = :noRec " - + "and planning.statusEnabled is true " + + @Query("select listTgl.tgl " + "from ListTanggalCuti listTgl " + "left join listTgl.planningPegawaiStatus planning " + + "where planning.noRec = :noRec " + "and planning.statusEnabled is true " + "and planning.approvalStatus <> 3") List getTglCuti(@Param("noRec") String noRec); - + + @Query("select tc from ListTanggalCuti tc " + "inner join tc.planningPegawaiStatus ps " + + "where tc.statusEnabled is true " + "and ps.statusEnabled is true " + "and ps.noSkId is null " + + "and ps.approvalStatus not in (1, 3) " + "and ps.pegawaiId = :idPegawai " + + "and ps.statusPegawaiPlanId = :idJenisPermohonan " + "and tc.tgl between :tglAwal and :tglAkhir") + List notApprovedByPermohonan(@Param("idPegawai") Integer idPegawai, + @Param("idJenisPermohonan") Integer idJenisPermohonan, @Param("tglAwal") Date tglAwal, + @Param("tglAkhir") Date tglAkhir); + } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/MapKalenderToHariLiburDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/MapKalenderToHariLiburDao.java index b8031150..acd2859d 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/MapKalenderToHariLiburDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/MapKalenderToHariLiburDao.java @@ -39,19 +39,20 @@ public interface MapKalenderToHariLiburDao extends PagingAndSortingRepository> getMappingHariLibur(@Param("tahun") String tahun); @Query("select distinct new com.jasamedika.medifirst2000.dto.PresensiHariLibur(" - + "pg.id as idPegawai, pg.namaLengkap as namaLengkap, kld.tanggal as tanggal) " + + "pg.id as idPegawai, pg.namaLengkap as namaLengkap, " + "kld.tanggal as tanggal, " + + "mkl.isCutiBersamaDitangguhkan as isCBDitangguhkan) " + "from Pegawai pg, Habsen hab, MapKalenderToHariLibur mkl " + "inner join mkl.tanggal kld " - + "where pg.id = :idPegawai " + - "and pg.idFinger = hab.empl_code " + "and cast(hab.tr_date as date) = kld.tanggal " - + "and mkl.isCutiBersamaDitangguhkan is true " + "and kld.tanggal between :tglAwal and :tglAkhir") - List getPresensiByTahun(@Param("idPegawai") Integer idPegawai, @Param("tglAwal") Date tglAwal, @Param("tglAkhir") Date tglAkhir); + + "where pg.id = :idPegawai " + "and pg.idFinger = hab.empl_code " + + "and cast(hab.tr_date as date) = kld.tanggal " + "and mkl.hariLiburId = :idHariLibur " + + "and kld.tanggal between :tglAwal and :tglAkhir") + List getPresensiByTahun(@Param("idPegawai") Integer idPegawai, + @Param("idHariLibur") Integer idHariLibur, @Param("tglAwal") Date tglAwal, + @Param("tglAkhir") Date tglAkhir); - @Query("select mkl from MapKalenderToHariLibur mkl " + - "inner join mkl.tanggal kld " + - "where mkl.statusEnabled is true " + - "and kld.tanggal between :tglAwal and :tglAkhir " + - "and mkl.hariLiburId = :idHariLibur") - List getByTahun(@Param("idHariLibur") Integer idHariLibur, - @Param("tglAwal") Date tglAwal, @Param("tglAkhir") Date tglAkhir); + @Query("select mkl from MapKalenderToHariLibur mkl " + "inner join mkl.tanggal kld " + + "where mkl.statusEnabled is true " + "and kld.tanggal between :tglAwal and :tglAkhir " + + "and mkl.hariLiburId = :idHariLibur") + List getByTahun(@Param("idHariLibur") Integer idHariLibur, @Param("tglAwal") Date tglAwal, + @Param("tglAkhir") Date tglAkhir); } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PlanningPegawaiStatusDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PlanningPegawaiStatusDao.java index 3955c7c7..258c3128 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PlanningPegawaiStatusDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PlanningPegawaiStatusDao.java @@ -1,673 +1,322 @@ package com.jasamedika.medifirst2000.dao; -import java.util.Date; import java.util.List; import java.util.Map; +import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; -import org.springframework.data.repository.PagingAndSortingRepository; import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; import com.jasamedika.medifirst2000.entities.PlanningPegawaiStatus; @Repository("PlanningPegawaiStatusDao") -public interface PlanningPegawaiStatusDao extends PagingAndSortingRepository{ - - @Query("select a.noPlanning " - + "from PlanningPegawaiStatus a " - + "where a.noPlanning LIKE %:kode% " +public interface PlanningPegawaiStatusDao extends JpaRepository { + + @Query("select a.noPlanning " + "from PlanningPegawaiStatus a " + "where a.noPlanning LIKE %:kode% " + "order by a.noPlanning asc") List noPlanning(@Param("kode") String kode); - @Query("select count(a.noPlanning) " - + "from PlanningPegawaiStatus a " - + "where a.noPlanning LIKE %:kode% ") - Long countNoPlanning(@Param("kode") String kode) ; - - @Query("select NEW Map (" - + "a.id as id, " - + "a.namaLengkap as namaLengkap," - + "c.id as kategoriPegawaiId) " - + "from MapPegawaiJabatanToUnitKerja m " - + "left join m.pegawai a " - + "left join m.subUnitKerjaPegawai b " - + "left join m.unitKerjaPegawai e " - + "left join a.kategoryPegawai c " - + "left join a.statusPegawai d " - + "where m.isPrimary is true " - + "and m.statusEnabled is true " - + "and e.id=:id " - + "and c.id!=11 " + @Query("select NEW Map (" + "a.id as id, " + "a.namaLengkap as namaLengkap," + "c.id as kategoriPegawaiId) " + + "from MapPegawaiJabatanToUnitKerja m " + "left join m.pegawai a " + "left join m.subUnitKerjaPegawai b " + + "left join m.unitKerjaPegawai e " + "left join a.kategoryPegawai c " + "left join a.statusPegawai d " + + "where m.isPrimary is true " + "and m.statusEnabled is true " + "and e.id=:id " + "and c.id!=11 " + "and d.id=2") - List> getListPegawai( - @Param("id") Integer id); - - @Query("select NEW Map (" - + "a.id as id," - + "a.statusPegawai as statusPegawai) " - + "from StatusPegawai a " - + "where a.id=1 or " - + "a.id=24 or " - + "a.id=25 or " - + "a.id=26 or " - + "a.id=27 or " - + "a.id=28 or " + List> getListPegawai(@Param("id") Integer id); + + @Query("select NEW Map (" + "a.id as id," + "a.statusPegawai as statusPegawai) " + "from StatusPegawai a " + + "where a.id=1 or " + "a.id=24 or " + "a.id=25 or " + "a.id=26 or " + "a.id=27 or " + "a.id=28 or " + "a.id=29") List> getListStatusPegawai(); - - @Query("select NEW Map (" - + "a.nipPns as nip," - + "a.id as idPegawai," - + "b.id as jabatanId," - + "b.namaJabatan as jabatan," - + "d.id as unitKerjaId," - + "d.name as unitKerja," - + "c.id as subUnitKerjaId," - + "c.name as subUnitKerja," - + "a.tglMasuk as tglMasuk," - + "a.alamat as alamat," - + "a.noHandphone as noHandphone," - + "kategori.id as kategoriPegawaiId ) " - + "from MapPegawaiJabatanToUnitKerja m " - + "left join m.pegawai a " - + "left join m.jabatan b " - + "left join a.kategoryPegawai kategori " - + "left join m.subUnitKerjaPegawai c " - + "left join m.unitKerjaPegawai d " - + "where m.isPrimary is true " - + "and m.statusEnabled is true " + + @Query("select NEW Map (" + "a.nipPns as nip," + "a.id as idPegawai," + "b.id as jabatanId," + + "b.namaJabatan as jabatan," + "d.id as unitKerjaId," + "d.name as unitKerja," + "c.id as subUnitKerjaId," + + "c.name as subUnitKerja," + "a.tglMasuk as tglMasuk," + "a.alamat as alamat," + + "a.noHandphone as noHandphone," + "kategori.id as kategoriPegawaiId ) " + + "from MapPegawaiJabatanToUnitKerja m " + "left join m.pegawai a " + "left join m.jabatan b " + + "left join a.kategoryPegawai kategori " + "left join m.subUnitKerjaPegawai c " + + "left join m.unitKerjaPegawai d " + "where m.isPrimary is true " + "and m.statusEnabled is true " + "and a.id=:id") - Map getDataPermohonanStatus( - @Param("id") Integer id); - - @Query("select NEW Map(a.nipPns as nip,a.id as idPegawai,a.tglMasuk as tglMasuk,a.alamat as alamat,a.noHandphone as noHandphone,b.id as kategoriPegawaiId) " + Map getDataPermohonanStatus(@Param("id") Integer id); + + @Query("select NEW Map(a.nipPns as nip," + "a.id as idPegawai" + ",a.tglMasuk as tglMasuk" + ",a.alamat as alamat," + + "a.noHandphone as noHandphone," + "b.id as kategoriPegawaiId) " + "from Pegawai a left join a.kategoryPegawai b where a.id=:id") Map getDataMapPermohonanStatus(@Param("id") Integer id); - //--------------------------CUTI TAHUNAN---------------------- - @Query("select Count(a.id) " - + "from MapKalenderToHariLibur a " - + "left join a.hariLibur b " - + "left join a.tanggal c " - + "where b.id=:id and year(c.tanggal)=:thisYear") - Long getCutiBersama( - @Param("id") Integer id, - @Param("thisYear") Integer thisYear); - - //--------------------------CUTI MELAHIRKAN----------------------// - - @Query("select NEW Map (" - + "a.id as id," - + "a.kuotaTotalHari as kuotaTotalHari," - + "a.kuotaMinHariTake as kuotaMinHariTake," - + "a.qtyMaxTake as qtyMaxTake," - + "a.isAkumulasi as isAkumulasi) " - + "from PegawaiSKCuti a " - + "left join a.statusPegawai b " + @Query("select NEW Map (" + "a.id as id," + "a.kuotaTotalHari as kuotaTotalHari," + + "a.kuotaMinHariTake as kuotaMinHariTake," + "a.qtyMaxTake as qtyMaxTake," + + "a.isAkumulasi as isAkumulasi) " + "from PegawaiSKCuti a " + "left join a.statusPegawai b " + "where b.id=:statusPegawaiId") - Map getJatahCutiMelahirkan( - @Param("statusPegawaiId") Integer statusPegawaiId); - - //---------------------APPROVAL--------------------------------- - - @Query("select NEW Map (" - + "a.noRec as noRec," - + "a.noPlanning as noPlanning," - + "a.approvalStatus as approvalStatus," - + "a.deskripsiStatusPegawaiPlan as deskripsiStatusPegawaiPlan," - + "a.keteranganLainyaPlan as keteranganLainyaPlan," - + "a.tglPengajuan as tglPengajuan," - + "b.id as pegwaiId," - + "b.namaLengkap as namaPegawai," - + "c.id as statusPegawaiId," - + "c.statusPegawai as statusPegawai," - + "d.id as unitKerjaId," - + "d.name as unitKerja," - + "d.id as unitKerjaId," - + "f.namaJabatan as namaJabatan) " - + "from PlanningPegawaiStatus a, MapPegawaiJabatanToUnitKerja m " - + "left join a.pegawai b " - + "left join a.statusPegawaiPlan c " - + "left join m.subUnitKerjaPegawai g " - + "left join m.unitKerjaPegawai d " - + "left join a.noSk e " - + "left join m.jabatan f " - + "where m.pegawaiId = b.id " - + "and m.isPrimary is true " - + "and m.statusEnabled is true " - + "and e.noRec is null " - + "and a.statusEnabled is true " - + "and d.id=:id " + Map getJatahCutiMelahirkan(@Param("statusPegawaiId") Integer statusPegawaiId); + + @Query("select NEW Map (" + "a.noRec as noRec," + "a.noPlanning as noPlanning," + + "a.approvalStatus as approvalStatus," + "a.deskripsiStatusPegawaiPlan as deskripsiStatusPegawaiPlan," + + "a.keteranganLainyaPlan as keteranganLainyaPlan," + "a.tglPengajuan as tglPengajuan," + + "b.id as pegwaiId," + "b.namaLengkap as namaPegawai," + "c.id as statusPegawaiId," + + "c.statusPegawai as statusPegawai," + "d.id as unitKerjaId," + "d.name as unitKerja," + + "d.id as unitKerjaId," + "f.namaJabatan as namaJabatan) " + + "from PlanningPegawaiStatus a, MapPegawaiJabatanToUnitKerja m " + "left join a.pegawai b " + + "left join a.statusPegawaiPlan c " + "left join m.subUnitKerjaPegawai g " + + "left join m.unitKerjaPegawai d " + "left join a.noSk e " + "left join m.jabatan f " + + "where m.pegawaiId = b.id " + "and m.isPrimary is true " + "and m.statusEnabled is true " + + "and e.noRec is null " + "and a.statusEnabled is true " + "and d.id=:id " + "and (c.id=1 or c.id=24 or c.id=25 or c.id=26 or c.id=27 or c.id=28 or c.id=29)") - List> getListPermohonanStatus( - @Param("id") Integer id); - - @Query("select NEW Map (" - + "a.noRec as noRec," - + "a.noPlanning as noPlanning," - + "a.approvalStatus as approvalStatus," + List> getListPermohonanStatus(@Param("id") Integer id); + + String planningStatusPegawai = "select NEW Map (" + "a.noRec as noRec," + "a.noPlanning as noPlanning," + "a.deskripsiStatusPegawaiPlan as deskripsiStatusPegawaiPlan," - + "a.keteranganLainyaPlan as keteranganLainyaPlan," - + "a.tglPengajuan as tglPengajuan," - + "b.id as pegwaiId," - + "b.namaLengkap as namaPegawai," - + "c.id as statusPegawaiId," - + "c.statusPegawai as statusPegawai," - + "d.id as unitKerjaId," - + "d.name as unitKerja," - + "f.namaJabatan as namaJabatan) " - + "from PlanningPegawaiStatus a, MapPegawaiJabatanToUnitKerja m " - + "left join a.pegawai b " - + "left join a.statusPegawaiPlan c " - + "left join m.subUnitKerjaPegawai g " - + "left join m.unitKerjaPegawai d " - + "left join a.noSk e " - + "left join m.jabatan f " - + "where m.pegawaiId = b.id " - + "and m.isPrimary is true " - + "and m.statusEnabled is true " - + "and e.noRec is null " - + "and a.statusEnabled is true " - + "and b.id=:id ") - List> getListPermohonanStatusByPegawai2( - @Param("id") Integer id); - - String planningStatusPegawai = "select NEW Map (" - + "a.noRec as noRec," - + "a.noPlanning as noPlanning," - + "a.deskripsiStatusPegawaiPlan as deskripsiStatusPegawaiPlan," - + "a.keteranganLainyaPlan as keteranganLainyaPlan," - + "a.tglPengajuan as tglPengajuan," - + "b.id as pegwaiId," - + "a.approvalStatus as approvalStatus, " - + "b.namaLengkap as namaPegawai," - + "c.id as statusPegawaiId," - + "c.statusPegawai as statusPegawai," - + "d.id as unitKerjaId," - + "d.name as unitKerja," - + "g.id as subUnitKerjaId," - + "g.name as subUnitKerja," - + "f.namaJabatan as namaJabatan) " - + "from PlanningPegawaiStatus a, MapPegawaiJabatanToUnitKerja m " - + "left join a.pegawai b " - + "left join a.statusPegawaiPlan c " - + "left join m.subUnitKerjaPegawai g " - + "left join m.unitKerjaPegawai d " - + "left join a.noSk e " - + "left join m.jabatan f " - + "where m.pegawaiId = b.id " - + "and m.isPrimary is true " - + "and m.statusEnabled is true " - + "and e.noRec is null " - + "and a.statusEnabled is true " - + "and a.approvalStatus =1 " - + "and b.id=:id "; - - @Query( planningStatusPegawai - + "and " - + "(c.id=1 or " - + "c.id=24 or " - + "c.id=25 or " - + "c.id=26 or " - + "c.id=27 or " - + "c.id=28 or " - + "c.id=29)") - List> getListPermohonanStatusByPegawai( - @Param("id") Integer id); - - @Query(planningStatusPegawai - + "and " - + "c.statusPegawai=:statusPegawai and " + + "a.keteranganLainyaPlan as keteranganLainyaPlan," + "a.tglPengajuan as tglPengajuan," + + "b.id as pegwaiId," + "a.approvalStatus as approvalStatus, " + "b.namaLengkap as namaPegawai," + + "c.id as statusPegawaiId," + "c.statusPegawai as statusPegawai," + "d.id as unitKerjaId," + + "d.name as unitKerja," + "g.id as subUnitKerjaId," + "g.name as subUnitKerja," + + "f.namaJabatan as namaJabatan) " + "from PlanningPegawaiStatus a, MapPegawaiJabatanToUnitKerja m " + + "left join a.pegawai b " + "left join a.statusPegawaiPlan c " + "left join m.subUnitKerjaPegawai g " + + "left join m.unitKerjaPegawai d " + "left join a.noSk e " + "left join m.jabatan f " + + "where m.pegawaiId = b.id " + "and m.isPrimary is true " + "and m.statusEnabled is true " + + "and e.noRec is null " + "and a.statusEnabled is true " + "and a.approvalStatus =1 " + "and b.id=:id "; + + @Query(planningStatusPegawai + "and " + "(c.id=1 or " + "c.id=24 or " + "c.id=25 or " + "c.id=26 or " + + "c.id=27 or " + "c.id=28 or " + "c.id=29)") + List> getListPermohonanStatusByPegawai(@Param("id") Integer id); + + @Query(planningStatusPegawai + "and " + "c.statusPegawai=:statusPegawai and " + "to_char(a.tglKeputusan,'yyyy')=to_char(current_timestamp,'yyyy') ") - List> getListPermohonanStatusByPegawai(@Param("id") Integer id, @Param("statusPegawai") String statusPegawai); - - @Query(planningStatusPegawai - + "and " - + "c.statusPegawai=:statusPegawai") - List> getListPermohonanStatusByPegawaiAll(@Param("id") Integer id, @Param("statusPegawai") String statusPegawai); - - @Query("select NEW Map (" - + "a.noRec as noRec," - + "a.noPlanning as noPlanning," + List> getListPermohonanStatusByPegawai(@Param("id") Integer id, + @Param("statusPegawai") String statusPegawai); + + @Query(planningStatusPegawai + "and " + "c.statusPegawai=:statusPegawai") + List> getListPermohonanStatusByPegawaiAll(@Param("id") Integer id, + @Param("statusPegawai") String statusPegawai); + + @Query("select NEW Map (" + "a.noRec as noRec," + "a.noPlanning as noPlanning," + "a.deskripsiStatusPegawaiPlan as deskripsiStatusPegawaiPlan," - + "a.keteranganLainyaPlan as keteranganLainyaPlan," - + "a.tglPengajuan as tglPengajuan," - + "b.id as pegwaiId," - + "a.approvalStatus as approvalStatus, " - + "b.namaLengkap as namaPegawai," - + "c.id as statusPegawaiId," - + "c.statusPegawai as statusPegawai," - + "d.id as unitKerjaId," - + "d.name as unitKerja," - + "g.id as subUnitKerjaId," - + "g.name as subUnitKerja," - + "f.namaJabatan as namaJabatan) " - + "from PlanningPegawaiStatus a, MapPegawaiJabatanToUnitKerja m " - + "left join a.pegawai b " - + "left join a.statusPegawaiPlan c " - + "left join a.noSk e " - + "left join m.jabatan f " - + "left join m.subUnitKerjaPegawai g " - + "left join m.unitKerjaPegawai d " - + "where m.pegawaiId = b.id " - + "and m.isPrimary is true " - + "and m.statusEnabled is true " - + "and e.noRec is null " - + "and a.statusEnabled is true " - + "and a.approvalStatus =1 " + + "a.keteranganLainyaPlan as keteranganLainyaPlan," + "a.tglPengajuan as tglPengajuan," + + "b.id as pegwaiId," + "a.approvalStatus as approvalStatus, " + "b.namaLengkap as namaPegawai," + + "c.id as statusPegawaiId," + "c.statusPegawai as statusPegawai," + "d.id as unitKerjaId," + + "d.name as unitKerja," + "g.id as subUnitKerjaId," + "g.name as subUnitKerja," + + "f.namaJabatan as namaJabatan) " + "from PlanningPegawaiStatus a, MapPegawaiJabatanToUnitKerja m " + + "left join a.pegawai b " + "left join a.statusPegawaiPlan c " + "left join a.noSk e " + + "left join m.jabatan f " + "left join m.subUnitKerjaPegawai g " + "left join m.unitKerjaPegawai d " + + "where m.pegawaiId = b.id " + "and m.isPrimary is true " + "and m.statusEnabled is true " + + "and e.noRec is null " + "and a.statusEnabled is true " + "and a.approvalStatus =1 " + "and (c.id=1 or c.id=24 or c.id=25 or c.id=26 or c.id=27 or c.id=28 or c.id=29)") List> getListPermohonanStatusAll(); - - @Query("select NEW Map (" - + "a.noRec as noRec," - + "a.noPlanning as noPlanning," + + @Query("select NEW Map (" + "a.noRec as noRec," + "a.noPlanning as noPlanning," + "a.deskripsiStatusPegawaiPlan as deskripsiStatusPegawaiPlan," + "a.keteranganLainyaPlan as keteranganLainyaPlan," + "a.deskripsiStatusPegawaiExec as deskripsiStatusPegawaiExec," - + "a.keteranganLainyaExec as keteranganLainyaExec," - + "a.tglPengajuan as tglPengajuan," - + "a.tglKeputusan as tglKeputusan," - + "a.approvalStatus as approvalStatus," - + "b.id as pegwaiId," - + "b.namaLengkap as namaPegawai," - + "b.nipPns as nip," - + "c.id as statusPegawaiId," - + "c.statusPegawai as statusPegawai," - + "d.id as unitKerjaId," - + "d.name as unitKerja," - + "f.namaJabatan as namaJabatan) " - + "from PlanningPegawaiStatus a, MapPegawaiJabatanToUnitKerja m " - + "left join a.pegawai b " - + "left join a.statusPegawaiPlan c " - + "left join m.subUnitKerjaPegawai g " - + "left join m.unitKerjaPegawai d " - + "left join a.noSk e " - + "left join m.jabatan f " - + "where m.pegawaiId = b.id " - + "and m.isPrimary is true " - + "and m.statusEnabled is true " - + "and e.noRec is null " - + "and (c.id=1 or c.id=24 or c.id=25 or c.id=26 or c.id=27 or c.id=28 or c.id=29)") + + "a.keteranganLainyaExec as keteranganLainyaExec," + "a.tglPengajuan as tglPengajuan," + + "a.tglKeputusan as tglKeputusan," + "a.approvalStatus as approvalStatus," + "b.id as pegwaiId," + + "b.namaLengkap as namaPegawai," + "b.nipPns as nip," + "c.id as statusPegawaiId," + + "c.statusPegawai as statusPegawai," + "d.id as unitKerjaId," + "d.name as unitKerja," + + "f.namaJabatan as namaJabatan) " + "from PlanningPegawaiStatus a, MapPegawaiJabatanToUnitKerja m " + + "left join a.pegawai b " + "left join a.statusPegawaiPlan c " + "left join m.subUnitKerjaPegawai g " + + "left join m.unitKerjaPegawai d " + "left join a.noSk e " + "left join m.jabatan f " + + "where m.pegawaiId = b.id " + "and m.isPrimary is true " + "and m.statusEnabled is true " + + "and e.noRec is null " + "and (c.id=1 or c.id=24 or c.id=25 or c.id=26 or c.id=27 or c.id=28 or c.id=29)") List> getApprovalStatus(); - - @Query("select NEW Map (" - + "b.id as id) " - + "from Pegawai a " - + "left join a.shiftKerja b " - + "where a.id=:id") - Map getKelompokShift( - @Param("id") Integer id); - - @Query("select NEW Map (" - + "a.id as id," - + "a.factorRate as factorRate," - + "a.operatorFactorRate as operatorFactorRate," - + "a.komponenIndex as komponenIndex) " - + "from KomponenIndex a " - + "where a.id=:id") - Map getKomponenIndex( - @Param("id") Integer id); - - - @Query("select pegawai.id "+ - "from PegawaiSisaCuti psc "+ - "left join psc.pegawai pegawai "+ - "where psc.sisaCuti=:sisaCuti") - List getIdPegawai( - @Param("sisaCuti") Integer sisaCuti); - - @Query("select count(jadwalKerja.id) "+ - "from PegawaiJadwalKerja jadwalKerja "+ - "left join jadwalKerja.pegawai pegawai "+ - "left join jadwalKerja.tanggal kalender "+ - "left join jadwalKerja.shift shift "+ - "where to_char(kalender.tanggal,'yyyy-MM-dd') between :startDate and :endDate "+ - "and shift.id not in (:listKomponenIndexId) "+ - "and pegawai.id = :pegawaiId") - Integer getDayHadir(@Param("pegawaiId") Integer pegawaiId,@Param("listKomponenIndexId") List listKomponenIndexId,@Param("startDate") String startDate,@Param("endDate") String endDate); - - @Query("select new map (list.noRec as noRec, list.tgl as tgl) from ListTanggalCuti list where list.planningPegawaiStatusId = :noRec and list.statusEnabled is true order by list.tgl asc") - List> getListTanggalCuti(@Param("noRec") String noRec); - - @Query("select new map (list.noRec as noRec, list.tgl as tgl) from ListTanggalCuti list where list.approvalStatus is true and list.planningPegawaiStatusId = :noRec and list.statusEnabled is true order by list.tgl") - List> getListTanggalCutiApproved(@Param("noRec") String noRec); - - @Query("select list.tgl as tgl " - + "from ListTanggalCuti list " - + "where list.planningPegawaiStatusId in (:listNorec) " - + "and list.statusEnabled is true " - + "and list.tgl in (:listTgl) " - + "and list.approvalStatus is true " - + "and list.planningPegawaiStatus.approvalStatus = 1") - List getListAllTanggalCutiApproved(@Param("listNorec") List listNorec, @Param("listTgl") List listTgl); - - @Query("select list.tgl as tgl " - + "from ListTanggalCuti list " - + "where list.planningPegawaiStatusId in (:listNorec) " - + "and list.statusEnabled is true " - + "and list.tgl in (:listTgl) " - + "and list.planningPegawaiStatus.approvalStatus = 0") - List getListAllTanggalCutiNotYetApprove(@Param("listNorec") List listNorec, @Param("listTgl") List listTgl); - - @Query("select distinct new Map (tglCuti.tgl as tglCuti) "+ - "from MapPegawaiJabatanToUnitKerja mapPegawaiPelimpah, "+ - "PlanningPegawaiStatus planningCuti "+ - "left join mapPegawaiPelimpah.pegawai pegawaiPelimpah "+ - "left join planningCuti.listTanggal tglCuti "+ - "where mapPegawaiPelimpah.pegawaiId = planningCuti.pegawaiId "+ - "and planningCuti.pegawaiId = pegawaiPelimpah.id "+ - "and planningCuti.noRec = :noRecPlanning "+ - "and pegawaiPelimpah.id = :idPegawaiPelimpah "+ - "and mapPegawaiPelimpah.statusEnabled is true "+ - "and planningCuti.statusEnabled is true "+ - "and pegawaiPelimpah.statusEnabled is true "+ - "and tglCuti.statusEnabled is true "+ - "order by tglCuti.tgl asc") - public List> getListTglCutiPelimpah(@Param("noRecPlanning") String noRecPlanning, @Param("idPegawaiPelimpah") Integer idPegawaiPelimpah); - -// @Query("select new Map (pegawaiPelimpah.namaLengkap as namaPegawai, "+ -// "pegawaiPelimpah.nipPns as nipPegawai, "+ -// "jabatanPelimpah.namaJabatan as jabatanPegawai, "+ -// "atasanLangsung.namaLengkap as namaAtasanLangsung, "+ -// "atasanLangsung.nipPns as nipAtasanLangsung) "+ -// "from MapPegawaiJabatanToUnitKerja mapPegawaiPelimpah, "+ -// "MappingPegawaiToAtasan mapAtasan "+ -// "left join mapPegawaiPelimpah.pegawai pegawaiPelimpah "+ -// "left join mapPegawaiPelimpah.jabatan jabatanPelimpah "+ -// "left join mapAtasan.atasanLangsung atasanLangsung "+ -// "where mapAtasan.pegawai = pegawaiPelimpah "+ -// "and mapPegawaiPelimpah.pegawai = mapAtasan.pegawai "+ -// "and pegawaiPelimpah.id = :idPegawaiPelimpah "+ -// "and mapPegawaiPelimpah.jabatanId = :idJabatanPelimpah "+ -// "and mapPegawaiPelimpah.statusEnabled is true "+ -// "and mapAtasan.statusEnabled is true "+ -// "and pegawaiPelimpah.statusEnabled is true "+ -// "and jabatanPelimpah.statusEnabled is true "+ -// "and atasanLangsung.statusEnabled is true") - @Query("select new Map (pegawaiPelimpah.namaLengkap as namaPegawai, "+ - "pegawaiPelimpah.nipPns as nipPegawai, "+ - "jabatanPelimpah.namaJabatan as jabatanPegawai, "+ - "atasanLangsung.namaLengkap as namaAtasanLangsung, "+ - "atasanLangsung.nipPns as nipAtasanLangsung) "+ - "from MapPegawaiJabatanToUnitKerja mapPegawaiPelimpah "+ - "left join mapPegawaiPelimpah.pegawai pegawaiPelimpah "+ - "left join mapPegawaiPelimpah.jabatan jabatanPelimpah "+ - "left join mapPegawaiPelimpah.atasanLangsung atasanLangsung "+ - "where pegawaiPelimpah.id = :idPegawaiPelimpah "+ - "and mapPegawaiPelimpah.jabatanId = :idJabatanPelimpah "+ - "and mapPegawaiPelimpah.statusEnabled is true "+ - "and pegawaiPelimpah.statusEnabled is true "+ - "and jabatanPelimpah.statusEnabled is true "+ - "and atasanLangsung.statusEnabled is true") - public Map getDataPelimpah(@Param("idPegawaiPelimpah") Integer idPegawaiPelimpah, @Param("idJabatanPelimpah") Integer idJabatanPelimpah); - - @Query("select new Map(pegawaiDilimpah.namaLengkap as namaPegawai, "+ - "pegawaiDilimpah.nipPns as nipPegawai, "+ - "coalesce(pangkatPegawaiDilimpah.namaPangkat, '-') as pangkatPegawai, "+ - "coalesce(golonganPegawaiDilimpah.name, '-') as golonganPegawai, "+ - "jabatanPegawaiDilimpah.namaJabatan as jabatanPegawai) "+ - "from MapPegawaiJabatanToUnitKerja mapPegawaiDilimpah "+ - "left join mapPegawaiDilimpah.pegawai pegawaiDilimpah "+ - "left join mapPegawaiDilimpah.jabatan jabatanPegawaiDilimpah "+ - "left join pegawaiDilimpah.pangkat pangkatPegawaiDilimpah "+ - "left join pegawaiDilimpah.Golongan golonganPegawaiDilimpah "+ - "where pegawaiDilimpah.id = :idPegawaiDilimpah "+ - "and mapPegawaiDilimpah.statusEnabled is true "+ - "and pegawaiDilimpah.statusEnabled is true "+ - "and jabatanPegawaiDilimpah.statusEnabled is true "+ -// "and pangkatPegawaiDilimpah.statusEnabled is true "+ -// "and golonganPegawaiDilimpah.statusEnabled is true "+ - "and mapPegawaiDilimpah.isPrimary is true") - public Map getDataDilimpah(@Param("idPegawaiDilimpah") Integer idPegawaiDilimpah); - - @Query("select count(l.tgl) from PlanningPegawaiStatus p " - + "left join p.listTanggal l " - + "where p.statusEnabled is true " - + "and l.statusEnabled is true " + + @Query("select NEW Map (" + "b.id as id) " + "from Pegawai a " + "left join a.shiftKerja b " + "where a.id=:id") + Map getKelompokShift(@Param("id") Integer id); + + @Query("select NEW Map (" + "a.id as id," + "a.factorRate as factorRate," + + "a.operatorFactorRate as operatorFactorRate," + "a.komponenIndex as komponenIndex) " + + "from KomponenIndex a " + "where a.id=:id") + Map getKomponenIndex(@Param("id") Integer id); + + @Query("select new map (list.noRec as noRec, list.tgl as tgl) " + "from ListTanggalCuti list " + + "where list.planningPegawaiStatusId = :noRec " + "and list.statusEnabled is true " + + "order by list.tgl asc") + List> getListTanggalCuti(@Param("noRec") String noRec); + + @Query("select new map (list.noRec as noRec, list.tgl as tgl) " + "from ListTanggalCuti list " + + "where list.approvalStatus is true " + "and list.planningPegawaiStatusId = :noRec" + + " and list.statusEnabled is true " + "order by list.tgl") + List> getListTanggalCutiApproved(@Param("noRec") String noRec); + + @Query("select distinct new Map (tglCuti.tgl as tglCuti) " + + "from MapPegawaiJabatanToUnitKerja mapPegawaiPelimpah, " + "PlanningPegawaiStatus planningCuti " + + "left join mapPegawaiPelimpah.pegawai pegawaiPelimpah " + "left join planningCuti.listTanggal tglCuti " + + "where mapPegawaiPelimpah.pegawaiId = planningCuti.pegawaiId " + + "and planningCuti.pegawaiId = pegawaiPelimpah.id " + "and planningCuti.noRec = :noRecPlanning " + + "and pegawaiPelimpah.id = :idPegawaiPelimpah " + "and mapPegawaiPelimpah.statusEnabled is true " + + "and planningCuti.statusEnabled is true " + "and pegawaiPelimpah.statusEnabled is true " + + "and tglCuti.statusEnabled is true " + "order by tglCuti.tgl asc") + List> getListTglCutiPelimpah(@Param("noRecPlanning") String noRecPlanning, + @Param("idPegawaiPelimpah") Integer idPegawaiPelimpah); + + @Query("select new Map (pegawaiPelimpah.namaLengkap as namaPegawai, " + "pegawaiPelimpah.nipPns as nipPegawai, " + + "jabatanPelimpah.namaJabatan as jabatanPegawai, " + "atasanLangsung.namaLengkap as namaAtasanLangsung, " + + "atasanLangsung.nipPns as nipAtasanLangsung) " + "from MapPegawaiJabatanToUnitKerja mapPegawaiPelimpah " + + "left join mapPegawaiPelimpah.pegawai pegawaiPelimpah " + + "left join mapPegawaiPelimpah.jabatan jabatanPelimpah " + + "left join mapPegawaiPelimpah.atasanLangsung atasanLangsung " + + "where pegawaiPelimpah.id = :idPegawaiPelimpah " + + "and mapPegawaiPelimpah.jabatanId = :idJabatanPelimpah " + "and mapPegawaiPelimpah.statusEnabled is true " + + "and pegawaiPelimpah.statusEnabled is true " + "and jabatanPelimpah.statusEnabled is true " + + "and atasanLangsung.statusEnabled is true") + Map getDataPelimpah(@Param("idPegawaiPelimpah") Integer idPegawaiPelimpah, + @Param("idJabatanPelimpah") Integer idJabatanPelimpah); + + @Query("select new Map(pegawaiDilimpah.namaLengkap as namaPegawai, " + "pegawaiDilimpah.nipPns as nipPegawai, " + + "coalesce(pangkatPegawaiDilimpah.namaPangkat, '-') as pangkatPegawai, " + + "coalesce(golonganPegawaiDilimpah.name, '-') as golonganPegawai, " + + "jabatanPegawaiDilimpah.namaJabatan as jabatanPegawai) " + + "from MapPegawaiJabatanToUnitKerja mapPegawaiDilimpah " + + "left join mapPegawaiDilimpah.pegawai pegawaiDilimpah " + + "left join mapPegawaiDilimpah.jabatan jabatanPegawaiDilimpah " + + "left join pegawaiDilimpah.pangkat pangkatPegawaiDilimpah " + + "left join pegawaiDilimpah.Golongan golonganPegawaiDilimpah " + + "where pegawaiDilimpah.id = :idPegawaiDilimpah " + "and mapPegawaiDilimpah.statusEnabled is true " + + "and pegawaiDilimpah.statusEnabled is true " + "and jabatanPegawaiDilimpah.statusEnabled is true " + + "and mapPegawaiDilimpah.isPrimary is true") + Map getDataDilimpah(@Param("idPegawaiDilimpah") Integer idPegawaiDilimpah); + + @Query("select count(l.tgl) from PlanningPegawaiStatus p " + "left join p.listTanggal l " + + "where p.statusEnabled is true " + "and l.statusEnabled is true " + "and p.approvalStatus = 0 and l.approvalStatus is null " + "and p.pegawaiId = :idPegawai and p.statusPegawaiPlanId = :idPlan") -// + "and to_char(l.tgl,'yyyy') = to_char(current_date,'yyyy')") - public Integer getJumlahPengajuanDiprosesByPegawai(@Param("idPegawai") Integer idPegawai, @Param("idPlan") Integer idPlan); - - @Query("select count(l.tgl) from PlanningPegawaiStatus p " - + "left join p.listTanggal l " - + "where p.statusEnabled is true " - + "and l.statusEnabled is true " + Integer getJumlahPengajuanDiprosesByPegawai(@Param("idPegawai") Integer idPegawai, @Param("idPlan") Integer idPlan); + + @Query("select count(l.tgl) from PlanningPegawaiStatus p " + "left join p.listTanggal l " + + "where p.statusEnabled is true " + "and l.statusEnabled is true " + "and p.approvalStatus = 0 and l.approvalStatus is null " + "and p.pegawaiId = :idPegawai and p.statusPegawaiPlanId = :idPlan " + "and to_char(l.tgl,'yyyy') = to_char(current_date,'yyyy')") - public Integer getJumlahPengajuanDiprosesTahunIniByPegawai(@Param("idPegawai") Integer idPegawai, @Param("idPlan") Integer idPlan); - - @Query("select count(l.tgl) from PlanningPegawaiStatus p " - + "left join p.listTanggal l " - + "where p.statusEnabled is true " - + "and l.statusEnabled is true " + Integer getJumlahPengajuanDiprosesTahunIniByPegawai(@Param("idPegawai") Integer idPegawai, + @Param("idPlan") Integer idPlan); + + @Query("select count(l.tgl) from PlanningPegawaiStatus p " + "left join p.listTanggal l " + + "where p.statusEnabled is true " + "and l.statusEnabled is true " + "and p.approvalStatus = 0 and l.approvalStatus is null " + "and p.pegawaiId = :idPegawai and p.statusPegawaiPlanId = :idPlan " + "and to_char(l.tgl,'yyyy') > to_char(current_date,'yyyy')") - public Integer getJumlahPengajuanDiprosesTahunDepanByPegawai(@Param("idPegawai") Integer idPegawai, @Param("idPlan") Integer idPlan); - - @Query("select count(l.tgl) from PlanningPegawaiStatus p " - + "left join p.listTanggal l " - + "where p.statusEnabled is true " - + "and l.statusEnabled is true " - + "and p.approvalStatus = 0 and l.approvalStatus is null " - + "and p.pegawaiId = :idPegawai " - + "and p.noPlanning <> :noPlanning " - + "and p.statusPegawaiPlanId = :idPlan") -// + "and to_char(l.tgl,'yyyy') = to_char(current_date,'yyyy')") - public Integer getJumlahPengajuanDiprosesByPegawai(@Param("idPegawai") Integer idPegawai, @Param("idPlan") Integer idPlan, @Param("noPlanning") String noPlanning); - - @Query("select count(l.tgl) from PlanningPegawaiStatus p " - + "left join p.listTanggal l " - + "where p.statusEnabled is true " - + "and l.statusEnabled is true " - + "and p.approvalStatus = 0 and l.approvalStatus is null " - + "and p.pegawaiId = :idPegawai " - + "and p.noPlanning <> :noPlanning " - + "and p.statusPegawaiPlanId = :idPlan " + Integer getJumlahPengajuanDiprosesTahunDepanByPegawai(@Param("idPegawai") Integer idPegawai, + @Param("idPlan") Integer idPlan); + + @Query("select count(l.tgl) from PlanningPegawaiStatus p " + "left join p.listTanggal l " + + "where p.statusEnabled is true " + "and l.statusEnabled is true " + + "and p.approvalStatus = 0 and l.approvalStatus is null " + "and p.pegawaiId = :idPegawai " + + "and p.noPlanning <> :noPlanning " + "and p.statusPegawaiPlanId = :idPlan") + Integer getJumlahPengajuanDiprosesByPegawai(@Param("idPegawai") Integer idPegawai, @Param("idPlan") Integer idPlan, + @Param("noPlanning") String noPlanning); + + @Query("select count(l.tgl) from PlanningPegawaiStatus p " + "left join p.listTanggal l " + + "where p.statusEnabled is true " + "and l.statusEnabled is true " + + "and p.approvalStatus = 0 and l.approvalStatus is null " + "and p.pegawaiId = :idPegawai " + + "and p.noPlanning <> :noPlanning " + "and p.statusPegawaiPlanId = :idPlan " + "and to_char(l.tgl,'yyyy') = to_char(current_date,'yyyy')") - public Integer getJumlahPengajuanDiprosesTahunIniByPegawai(@Param("idPegawai") Integer idPegawai, @Param("idPlan") Integer idPlan, @Param("noPlanning") String noPlanning); - - @Query("select count(l.tgl) from PlanningPegawaiStatus p " - + "left join p.listTanggal l " - + "where p.statusEnabled is true " - + "and l.statusEnabled is true " - + "and p.approvalStatus = 0 and l.approvalStatus is null " - + "and p.pegawaiId = :idPegawai " - + "and p.noPlanning <> :noPlanning " - + "and p.statusPegawaiPlanId = :idPlan " + Integer getJumlahPengajuanDiprosesTahunIniByPegawai(@Param("idPegawai") Integer idPegawai, + @Param("idPlan") Integer idPlan, @Param("noPlanning") String noPlanning); + + @Query("select count(l.tgl) from PlanningPegawaiStatus p " + "left join p.listTanggal l " + + "where p.statusEnabled is true " + "and l.statusEnabled is true " + + "and p.approvalStatus = 0 and l.approvalStatus is null " + "and p.pegawaiId = :idPegawai " + + "and p.noPlanning <> :noPlanning " + "and p.statusPegawaiPlanId = :idPlan " + "and to_char(l.tgl,'yyyy') > to_char(current_date,'yyyy')") - public Integer getJumlahPengajuanDiprosesTahunDepanByPegawai(@Param("idPegawai") Integer idPegawai, @Param("idPlan") Integer idPlan, @Param("noPlanning") String noPlanning); - - @Query("select NEW Map (a.noRec as noRec, " - + "a.statusEnabled as statusEnabled, " - + "a.noPlanning as noPlanning, " + Integer getJumlahPengajuanDiprosesTahunDepanByPegawai(@Param("idPegawai") Integer idPegawai, + @Param("idPlan") Integer idPlan, @Param("noPlanning") String noPlanning); + + @Query("select NEW Map (a.noRec as noRec, " + "a.statusEnabled as statusEnabled, " + "a.noPlanning as noPlanning, " + "a.deskripsiStatusPegawaiPlan as deskripsiStatusPegawaiPlan, " + "a.keteranganLainyaPlan as keteranganLainyaPlan, " + "a.deskripsiStatusPegawaiExec as deskripsiStatusPegawaiExec, " - + "a.keteranganLainyaExec as keteranganLainyaExec, " - + "a.tglPengajuan as tglPengajuan, " - + "a.tglKeputusan as tglKeputusan, " - + "a.approvalStatus as approvalStatus, " - + "a.alamatCuti as alamatCuti, " - + "a.nomorTelepon as nomorTelepon, " - + "a.isCutiLuarNegeri as isCutiLuarNegeri, " - + "a.isCutiLuarKota as isCutiLuarKota, " - + "a.noSuratTugas as noSuratTugas, " - + "a.noNotaDinas as noNotaDinas, " - + "a.tglNotaDinas as tglNotaDinas, " - + "a.alamatTugas as alamatTugas, " - + "a.jenisPerawatan as sakit, " - + "a.jabatanIdPemberiNotaDinas as jabatanIdPemberiNotaDinas, " - + "listTgl.noRec as norecTgl, " - + "listTgl.tgl as tgl, " - + "listTgl.approvalStatus as approvalStatusTgl, " - + "fp.namaJabatan as jabatanPemberiNotaDinas, " - + "subUnitKerja.id as idUnitKerja, " - + "subUnitKerja.name as unitKerja, " - + "b.id as pegwaiId, " - + "b.namaLengkap as namaPegawai, " - + "b.nipPns as nip, " - + "b.eselonId as eselonId, " - + "c.id as statusPegawaiId, " - + "c.statusPegawai as statusPegawai, " - + "f.namaJabatan as namaJabatan) " - + "from PlanningPegawaiStatus a, " - + "MapPegawaiJabatanToUnitKerja mp " - + "left join a.pegawai b " - + "left join a.statusPegawaiPlan c " - + "left join a.noSk e " - + "left join a.listTanggal listTgl " - + "left join a.jabatanPemberiNotaDinas fp " - + "left join mp.jabatan f " - + "left join mp.subUnitKerjaPegawai subUnitKerja " - + "where mp.pegawaiId = b.id " - + "and a.pegawaiId = mp.pegawaiId " - + "and a.statusEnabled is true " - + "and listTgl.statusEnabled is true " - + "and mp.statusEnabled is true " - + "and mp.isPrimary is true " + + "a.keteranganLainyaExec as keteranganLainyaExec, " + "a.tglPengajuan as tglPengajuan, " + + "a.tglKeputusan as tglKeputusan, " + "a.approvalStatus as approvalStatus, " + + "a.alamatCuti as alamatCuti, " + "a.nomorTelepon as nomorTelepon, " + + "a.isCutiLuarNegeri as isCutiLuarNegeri, " + "a.isCutiLuarKota as isCutiLuarKota, " + + "a.noSuratTugas as noSuratTugas, " + "a.noNotaDinas as noNotaDinas, " + "a.tglNotaDinas as tglNotaDinas, " + + "a.alamatTugas as alamatTugas, " + "a.jenisPerawatan as sakit, " + + "a.jabatanIdPemberiNotaDinas as jabatanIdPemberiNotaDinas, " + "listTgl.noRec as norecTgl, " + + "listTgl.tgl as tgl, " + "listTgl.approvalStatus as approvalStatusTgl, " + + "fp.namaJabatan as jabatanPemberiNotaDinas, " + "subUnitKerja.id as idUnitKerja, " + + "subUnitKerja.name as unitKerja, " + "b.id as pegwaiId, " + "b.namaLengkap as namaPegawai, " + + "b.nipPns as nip, " + "b.eselonId as eselonId, " + "c.id as statusPegawaiId, " + + "c.statusPegawai as statusPegawai, " + "f.namaJabatan as namaJabatan) " + "from PlanningPegawaiStatus a, " + + "MapPegawaiJabatanToUnitKerja mp " + "left join a.pegawai b " + "left join a.statusPegawaiPlan c " + + "left join a.noSk e " + "left join a.listTanggal listTgl " + "left join a.jabatanPemberiNotaDinas fp " + + "left join mp.jabatan f " + "left join mp.subUnitKerjaPegawai subUnitKerja " + + "where mp.pegawaiId = b.id " + "and a.pegawaiId = mp.pegawaiId " + "and a.statusEnabled is true " + + "and listTgl.statusEnabled is true " + "and mp.statusEnabled is true " + "and mp.isPrimary is true " + "and e.noRec is null " + "and ((to_char(listTgl.tgl, 'yyyy') = :currentYear and a.approvalStatus <> :approvalStatusId1) " + "or (to_char(listTgl.tgl, 'yyyy') <> :currentYear and a.approvalStatus = :approvalStatusId2)) " - + "and c.id in (:ketidakhadiranId) " - + "and b.id = :idPegawai " + + "and c.id in (:ketidakhadiranId) " + "and b.id = :idPegawai " + "order by a.tglPengajuan desc, listTgl.tgl asc") - public List> getApprovalStatus(@Param("idPegawai") Integer idPegawai, @Param("currentYear") String currentYear, - @Param("approvalStatusId1") Integer approvalStatusId1, @Param("approvalStatusId2") Integer approvalStatusId2, + List> getApprovalStatus(@Param("idPegawai") Integer idPegawai, + @Param("currentYear") String currentYear, @Param("approvalStatusId1") Integer approvalStatusId1, + @Param("approvalStatusId2") Integer approvalStatusId2, @Param("ketidakhadiranId") List ketidakhadiranId); - - @Query("select NEW Map (a.noRec as noRec, " - + "a.statusEnabled as statusEnabled, " - + "a.noPlanning as noPlanning, " + + @Query("select NEW Map (a.noRec as noRec, " + "a.statusEnabled as statusEnabled, " + "a.noPlanning as noPlanning, " + "a.deskripsiStatusPegawaiPlan as deskripsiStatusPegawaiPlan, " + "a.keteranganLainyaPlan as keteranganLainyaPlan, " + "a.deskripsiStatusPegawaiExec as deskripsiStatusPegawaiExec, " - + "a.keteranganLainyaExec as keteranganLainyaExec, " - + "a.tglPengajuan as tglPengajuan, " - + "a.tglKeputusan as tglKeputusan, " - + "a.approvalStatus as approvalStatus, " - + "a.alamatCuti as alamatCuti, " - + "a.nomorTelepon as nomorTelepon, " - + "a.isCutiLuarNegeri as isCutiLuarNegeri, " - + "a.isCutiLuarKota as isCutiLuarKota, " - + "a.noSuratTugas as noSuratTugas, " - + "a.noNotaDinas as noNotaDinas, " - + "a.tglNotaDinas as tglNotaDinas, " - + "a.alamatTugas as alamatTugas, " - + "a.jabatanIdPemberiNotaDinas as jabatanIdPemberiNotaDinas, " - + "listTgl.noRec as norecTgl, " - + "listTgl.tgl as tgl, " - + "listTgl.approvalStatus as approvalStatusTgl, " - + "fp.namaJabatan as jabatanPemberiNotaDinas, " - + "subUnitKerja.id as idUnitKerja, " - + "subUnitKerja.name as unitKerja, " - + "b.id as pegwaiId, " - + "b.namaLengkap as namaPegawai, " - + "b.nipPns as nip, " - + "b.eselonId as eselonId, " - + "c.id as statusPegawaiId, " - + "c.statusPegawai as statusPegawai, " - + "f.namaJabatan as namaJabatan) " - + "from PlanningPegawaiStatus a, " - + "MapPegawaiJabatanToUnitKerja mp " - + "left join a.pegawai b " - + "left join a.statusPegawaiPlan c " - + "left join a.noSk e " - + "left join a.listTanggal listTgl " - + "left join a.jabatanPemberiNotaDinas fp " - + "left join mp.jabatan f " - + "left join mp.subUnitKerjaPegawai subUnitKerja " - + "where mp.pegawaiId = b.id " - + "and a.pegawaiId = mp.pegawaiId " - + "and a.statusEnabled is true " - + "and listTgl.statusEnabled is true " - + "and mp.statusEnabled is true " - + "and mp.isPrimary is true " + + "a.keteranganLainyaExec as keteranganLainyaExec, " + "a.tglPengajuan as tglPengajuan, " + + "a.tglKeputusan as tglKeputusan, " + "a.approvalStatus as approvalStatus, " + + "a.alamatCuti as alamatCuti, " + "a.nomorTelepon as nomorTelepon, " + + "a.isCutiLuarNegeri as isCutiLuarNegeri, " + "a.isCutiLuarKota as isCutiLuarKota, " + + "a.noSuratTugas as noSuratTugas, " + "a.noNotaDinas as noNotaDinas, " + "a.tglNotaDinas as tglNotaDinas, " + + "a.alamatTugas as alamatTugas, " + "a.jabatanIdPemberiNotaDinas as jabatanIdPemberiNotaDinas, " + + "listTgl.noRec as norecTgl, " + "listTgl.tgl as tgl, " + "listTgl.approvalStatus as approvalStatusTgl, " + + "fp.namaJabatan as jabatanPemberiNotaDinas, " + "subUnitKerja.id as idUnitKerja, " + + "subUnitKerja.name as unitKerja, " + "b.id as pegwaiId, " + "b.namaLengkap as namaPegawai, " + + "b.nipPns as nip, " + "b.eselonId as eselonId, " + "c.id as statusPegawaiId, " + + "c.statusPegawai as statusPegawai, " + "f.namaJabatan as namaJabatan) " + "from PlanningPegawaiStatus a, " + + "MapPegawaiJabatanToUnitKerja mp " + "left join a.pegawai b " + "left join a.statusPegawaiPlan c " + + "left join a.noSk e " + "left join a.listTanggal listTgl " + "left join a.jabatanPemberiNotaDinas fp " + + "left join mp.jabatan f " + "left join mp.subUnitKerjaPegawai subUnitKerja " + + "where mp.pegawaiId = b.id " + "and a.pegawaiId = mp.pegawaiId " + "and a.statusEnabled is true " + + "and listTgl.statusEnabled is true " + "and mp.statusEnabled is true " + "and mp.isPrimary is true " + "and ((to_char(listTgl.tgl, 'yyyy') = :currentYear and a.approvalStatus <> :approvalStatusId1) " + "or (to_char(listTgl.tgl, 'yyyy') <> :currentYear and a.approvalStatus = :approvalStatusId2)) " - + "and e.noRec is null " - + "and c.id in (:ketidakhadiranId) " + + "and e.noRec is null " + "and c.id in (:ketidakhadiranId) " + "order by a.tglPengajuan desc, listTgl.tgl asc") - public List> getApprovalStatus(@Param("currentYear") String currentYear, @Param("approvalStatusId1") Integer approvalStatusId1, - @Param("approvalStatusId2") Integer approvalStatusId2, @Param("ketidakhadiranId") List ketidakhadiranId); - - @Query("select NEW Map (a.noRec as noRec, " - + "a.noPlanning as noPlanning, " + List> getApprovalStatus(@Param("currentYear") String currentYear, + @Param("approvalStatusId1") Integer approvalStatusId1, + @Param("approvalStatusId2") Integer approvalStatusId2, + @Param("ketidakhadiranId") List ketidakhadiranId); + + @Query("select NEW Map (a.noRec as noRec, " + "a.noPlanning as noPlanning, " + "a.deskripsiStatusPegawaiPlan as deskripsiStatusPegawaiPlan, " + "a.keteranganLainyaPlan as keteranganLainyaPlan, " + "a.deskripsiStatusPegawaiExec as deskripsiStatusPegawaiExec, " - + "a.keteranganLainyaExec as keteranganLainyaExec, " - + "a.tglPengajuan as tglPengajuan, " - + "a.tglKeputusan as tglKeputusan, " - + "a.approvalStatus as approvalStatus, " - + "a.alamatCuti as alamatCuti, " - + "a.nomorTelepon as nomorTelepon, " - + "a.isCutiLuarNegeri as isCutiLuarNegeri, " - + "a.isCutiLuarKota as isCutiLuarKota, " - + "a.noSuratTugas as noSuratTugas, " - + "a.noNotaDinas as noNotaDinas, " - + "a.tglNotaDinas as tglNotaDinas, " - + "a.alamatTugas as alamatTugas, " - + "a.jenisPerawatan as sakit, " - + "a.jabatanIdPemberiNotaDinas as jabatanIdPemberiNotaDinas, " - + "listTgl.noRec as norecTgl, " - + "listTgl.tgl as tgl, " - + "listTgl.approvalStatus as approvalStatusTgl, " - + "fp.namaJabatan as jabatanPemberiNotaDinas, " - + "subUnitKerja.id as idUnitKerja, " - + "subUnitKerja.name as unitKerja, " - + "b.id as pegwaiId, " - + "b.namaLengkap as namaPegawai, " - + "b.nipPns as nip, " - + "c.id as statusPegawaiId, " - + "c.statusPegawai as statusPegawai, " - + "f.namaJabatan as namaJabatan) " - + "from PlanningPegawaiStatus a, " - + "MapPegawaiJabatanToUnitKerja mp " - + "left join a.pegawai b " - + "left join a.statusPegawaiPlan c " - + "left join a.noSk e " - + "left join a.jabatanPemberiNotaDinas fp " - + "left join a.listTanggal listTgl " - + "left join mp.jabatan f " - + "left join mp.subUnitKerjaPegawai subUnitKerja " - + "where mp.pegawaiId = b.id " - + "and a.pegawaiId = mp.pegawaiId " - + "and a.statusEnabled = true " - + "and listTgl.statusEnabled = true " - + "and mp.statusEnabled is true " - + "and mp.isPrimary is true " - + "and a.approvalStatus = :approvalStatusId " - + "and e.noRec is null " - + "and c.id in (:ketidakhadiranId) " + + "a.keteranganLainyaExec as keteranganLainyaExec, " + "a.tglPengajuan as tglPengajuan, " + + "a.tglKeputusan as tglKeputusan, " + "a.approvalStatus as approvalStatus, " + + "a.alamatCuti as alamatCuti, " + "a.nomorTelepon as nomorTelepon, " + + "a.isCutiLuarNegeri as isCutiLuarNegeri, " + "a.isCutiLuarKota as isCutiLuarKota, " + + "a.noSuratTugas as noSuratTugas, " + "a.noNotaDinas as noNotaDinas, " + "a.tglNotaDinas as tglNotaDinas, " + + "a.alamatTugas as alamatTugas, " + "a.jenisPerawatan as sakit, " + + "a.jabatanIdPemberiNotaDinas as jabatanIdPemberiNotaDinas, " + "listTgl.noRec as norecTgl, " + + "listTgl.tgl as tgl, " + "listTgl.approvalStatus as approvalStatusTgl, " + + "fp.namaJabatan as jabatanPemberiNotaDinas, " + "subUnitKerja.id as idUnitKerja, " + + "subUnitKerja.name as unitKerja, " + "b.id as pegwaiId, " + "b.namaLengkap as namaPegawai, " + + "b.nipPns as nip, " + "c.id as statusPegawaiId, " + "c.statusPegawai as statusPegawai, " + + "f.namaJabatan as namaJabatan) " + "from PlanningPegawaiStatus a, " + "MapPegawaiJabatanToUnitKerja mp " + + "left join a.pegawai b " + "left join a.statusPegawaiPlan c " + "left join a.noSk e " + + "left join a.jabatanPemberiNotaDinas fp " + "left join a.listTanggal listTgl " + "left join mp.jabatan f " + + "left join mp.subUnitKerjaPegawai subUnitKerja " + "where mp.pegawaiId = b.id " + + "and a.pegawaiId = mp.pegawaiId " + "and a.statusEnabled = true " + "and listTgl.statusEnabled = true " + + "and mp.statusEnabled is true " + "and mp.isPrimary is true " + + "and a.approvalStatus = :approvalStatusId " + "and e.noRec is null " + "and c.id in (:ketidakhadiranId) " + "order by a.tglPengajuan desc, listTgl.tgl asc") - public List> getApprovalStatusSdm(@Param("approvalStatusId") Integer approvalStatusId, + List> getApprovalStatusSdm(@Param("approvalStatusId") Integer approvalStatusId, @Param("ketidakhadiranId") List ketidakhadiranId); - - @Query("select new Map(pegawai.namaLengkap as namaLengkap, " - + "coalesce(pegawai.nipPns, pegawai.nip) as nip, " + + @Query("select new Map(pegawai.namaLengkap as namaLengkap, " + "coalesce(pegawai.nipPns, pegawai.nip) as nip, " + "pangkat.namaPangkat || ' / ' || golongan.golonganPegawai as pangkatGol, " - + "jabatan.namaJabatan as namaJabatan, " - + "transaksiCuti.statusPegawaiPlanId as idPlanning, " - + "statusPegawai.statusPegawai as statusPegawai, " - + "tglCuti.tgl as tglCuti) " + + "jabatan.namaJabatan as namaJabatan, " + "transaksiCuti.statusPegawaiPlanId as idPlanning, " + + "statusPegawai.statusPegawai as statusPegawai, " + "tglCuti.tgl as tglCuti) " + "from MapPegawaiJabatanToUnitKerja mappingJabatan, PlanningPegawaiStatus transaksiCuti " - + "left join mappingJabatan.pegawai pegawai " - + "left join mappingJabatan.jabatan jabatan " + + "left join mappingJabatan.pegawai pegawai " + "left join mappingJabatan.jabatan jabatan " + "left join transaksiCuti.listTanggal tglCuti " - + "left join transaksiCuti.statusPegawaiPlan statusPegawai " - + "left join pegawai.pangkat pangkat " - + "left join pangkat.kdGolonganPegawai golongan " - + "where transaksiCuti.pegawaiId = pegawai.id " - + "and mappingJabatan.pegawaiId = transaksiCuti.pegawaiId " - + "and mappingJabatan.statusEnabled is true " - + "and pegawai.statusEnabled is true " - + "and mappingJabatan.isPrimary is true " - + "and tglCuti.statusEnabled is true " - + "and transaksiCuti.noRec = :norec") - public List> getCetakCutiLuarNegeri(@Param("norec") String norec); - + + "left join transaksiCuti.statusPegawaiPlan statusPegawai " + "left join pegawai.pangkat pangkat " + + "left join pangkat.kdGolonganPegawai golongan " + "where transaksiCuti.pegawaiId = pegawai.id " + + "and mappingJabatan.pegawaiId = transaksiCuti.pegawaiId " + "and mappingJabatan.statusEnabled is true " + + "and pegawai.statusEnabled is true " + "and mappingJabatan.isPrimary is true " + + "and tglCuti.statusEnabled is true " + "and transaksiCuti.noRec = :norec") + List> getCetakCutiLuarNegeri(@Param("norec") String norec); + } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/JatahCutiDanIzinServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/JatahCutiDanIzinServiceImpl.java index 0bca5cf3..06e6a9f6 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/JatahCutiDanIzinServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/JatahCutiDanIzinServiceImpl.java @@ -5,6 +5,7 @@ import com.jasamedika.medifirst2000.dao.*; import com.jasamedika.medifirst2000.dto.DataCutiDto; import com.jasamedika.medifirst2000.dto.JatahCutiRequest; import com.jasamedika.medifirst2000.dto.PresensiHariLibur; +import com.jasamedika.medifirst2000.entities.ListTanggalCuti; import com.jasamedika.medifirst2000.entities.MapKalenderToHariLibur; import com.jasamedika.medifirst2000.service.JatahCutiDanIzinService; import com.jasamedika.medifirst2000.util.CommonUtil; @@ -18,6 +19,7 @@ import java.util.*; import java.util.stream.Collectors; import static com.jasamedika.medifirst2000.constants.Master.HariLibur.LIBUR_CB; +import static com.jasamedika.medifirst2000.constants.Master.StatusPegawai.CUTI_TAHUNAN; /** * @author Salman @@ -48,6 +50,9 @@ public class JatahCutiDanIzinServiceImpl implements JatahCutiDanIzinService { @Autowired private HabsenDao habsenDao; + @Autowired + private ListTanggalCutiDao tanggalCutiDao; + @Override public DataCutiDto getDataCuti(Integer pegawaiId, String year, Integer statusPegawaiId) { DataCutiDto dto = calculateCutiIzin(pegawaiId, year, statusPegawaiId); @@ -207,7 +212,7 @@ public class JatahCutiDanIzinServiceImpl implements JatahCutiDanIzinService { } else { // cuti tahunan di tanggal cuti bersama List tglCutiTahunanDiTglCutiBersama = jatahCutiDanIzinDao - .getCutiTahunanDiTglCutiBersama(Master.StatusPegawai.CUTI_TAHUNAN, pegawaiId, tglStr); + .getCutiTahunanDiTglCutiBersama(CUTI_TAHUNAN, pegawaiId, tglStr); if (CommonUtil.isNotNullOrEmpty(tglCutiTahunanDiTglCutiBersama)) { if (listMap.size() == 2) { if (Arrays.asList(Master.ShiftKerja.TUJUH_BELAS_JAM_SHIFT) @@ -548,32 +553,37 @@ public class JatahCutiDanIzinServiceImpl implements JatahCutiDanIzinService { } private DataCutiDto tangguhkanCutiBersama(DataCutiDto dto, JatahCutiRequest request) { - Date previousYear = DateUtil.getInstanceCalendar(-1); - Date janFirstPrevYear = DateUtil.startYear(previousYear); - Date decEndPrevYear = DateUtil.endYear(previousYear); - List listCBPrevYear = mapKalenderToHariLiburDao.getByTahun(LIBUR_CB, janFirstPrevYear, - decEndPrevYear); - int countCBPrevYear = listCBPrevYear.size(); - List listCBPrevYearSuspended = listCBPrevYear.stream() + Date tahunLalu = DateUtil.getInstanceCalendar(-1); + Date awalTahunLalu = DateUtil.startYear(tahunLalu); + Date akhirTahunLalu = DateUtil.endYear(tahunLalu); + List listKalenderCutiBersama = mapKalenderToHariLiburDao.getByTahun(LIBUR_CB, + awalTahunLalu, akhirTahunLalu); + List listKalenderCutiBersamaBisaDitangguhkan = listKalenderCutiBersama.stream() .filter(MapKalenderToHariLibur::getIsCutiBersamaDitangguhkan).collect(Collectors.toList()); - int countCBAllocated = 0; - List listPresensiPrevYear = mapKalenderToHariLiburDao - .getPresensiByTahun(request.getPegawaiId(), janFirstPrevYear, decEndPrevYear); - for (PresensiHariLibur presensiPrevYear : listPresensiPrevYear) { - for (MapKalenderToHariLibur cbPrevYearSuspended : listCBPrevYearSuspended) { - if (presensiPrevYear.getTanggal().equals(cbPrevYearSuspended.getTanggal().getTanggal())) { - countCBAllocated++; - break; - } - } - } - if (dto.getCutiTerpakaiB1() < countCBPrevYear) { - if (countCBPrevYear - dto.getCutiTerpakaiB1() > countCBAllocated) { - dto.setDataCutiB(dto.getDataCutiB() + countCBAllocated); - dto.setSisaCutiB(dto.getDataCutiB() - dto.getCutiTerpakaiB()); - } + List listCutiTahunLaluBelumDisetujui = tanggalCutiDao + .notApprovedByPermohonan(request.getPegawaiId(), CUTI_TAHUNAN, awalTahunLalu, akhirTahunLalu); + List listPresensiTahunLalu = mapKalenderToHariLiburDao + .getPresensiByTahun(request.getPegawaiId(), LIBUR_CB, awalTahunLalu, akhirTahunLalu); + int presensiCutiBersama = countValidPresensi(listPresensiTahunLalu, listKalenderCutiBersama); + int jatahDitangguhkan = countValidPresensi(listPresensiTahunLalu, listKalenderCutiBersamaBisaDitangguhkan); + if (presensiCutiBersama - dto.getCutiTerpakaiB1() + + listCutiTahunLaluBelumDisetujui.size() > jatahDitangguhkan) { + dto.setDataCutiB(dto.getDataCutiB() + jatahDitangguhkan); + dto.setSisaCutiB(dto.getDataCutiB() - dto.getCutiTerpakaiB()); } return dto; } + private int countValidPresensi(List listPresensiDiCutiBersama, + List listKalenderCutiBersama) { + int result = 0; + for (PresensiHariLibur presensiDiCutiBersama : listPresensiDiCutiBersama) { + Optional any = listKalenderCutiBersama.stream() + .filter(k -> presensiDiCutiBersama.getTanggal().equals(k.getTanggal().getTanggal())).findAny(); + if (any.isPresent()) + result++; + } + return result; + } + } diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/dto/PresensiHariLibur.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/dto/PresensiHariLibur.java index f3b5f6cb..83de45f3 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/dto/PresensiHariLibur.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/dto/PresensiHariLibur.java @@ -24,4 +24,6 @@ public class PresensiHariLibur { private Date tanggal; + private Boolean isCutiBersamaDitangguhkan; + } diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/ListTanggalCuti.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/ListTanggalCuti.java index fd307233..a99bd462 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/ListTanggalCuti.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/ListTanggalCuti.java @@ -12,59 +12,30 @@ import javax.persistence.Table; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.jasamedika.medifirst2000.base.BaseTransaction; import com.jasamedika.medifirst2000.helper.Caption; +import lombok.Getter; +import lombok.Setter; +@Getter +@Setter @Entity -@Table(name="ListTanggalCuti_T") -@JsonIgnoreProperties({"hibernateLazyInitializer", "handler"}) -public class ListTanggalCuti extends BaseTransaction{ - - @Caption(value="tgl") - @Column(name="tgl", nullable=true) +@Table(name = "ListTanggalCuti_T") +@JsonIgnoreProperties({ "hibernateLazyInitializer", "handler" }) +public class ListTanggalCuti extends BaseTransaction { + + @Caption(value = "tgl") + @Column(name = "tgl") private Date tgl; - - @Caption(value="Approval Status") - @Column(name="ApprovalStatus", nullable=true) + + @Caption(value = "Approval Status") + @Column(name = "ApprovalStatus") private Boolean approvalStatus; - - @ManyToOne(fetch=FetchType.LAZY) - @JoinColumn(name="ObjectPlanningPegawaiStatusFK") - @Caption(value="Object Planning Pegawai Status") + + @ManyToOne(fetch = FetchType.LAZY) + @JoinColumn(name = "ObjectPlanningPegawaiStatusFK") + @Caption(value = "Object Planning Pegawai Status") private PlanningPegawaiStatus planningPegawaiStatus; - - @Column(name="ObjectPlanningPegawaiStatusFK", insertable=false, updatable=false, nullable = true) + + @Column(name = "ObjectPlanningPegawaiStatusFK", insertable = false, updatable = false) private String planningPegawaiStatusId; - public Date getTgl() { - return tgl; - } - - public void setTgl(Date tgl) { - this.tgl = tgl; - } - - public Boolean getApprovalStatus() { - return approvalStatus; - } - - public void setApprovalStatus(Boolean approvalStatus) { - this.approvalStatus = approvalStatus; - } - - public PlanningPegawaiStatus getPlanningPegawaiStatus() { - return planningPegawaiStatus; - } - - public void setPlanningPegawaiStatus(PlanningPegawaiStatus planningPegawaiStatus) { - this.planningPegawaiStatus = planningPegawaiStatus; - } - - public String getPlanningPegawaiStatusId() { - return planningPegawaiStatusId; - } - - public void setPlanningPegawaiStatusId(String planningPegawaiStatusId) { - this.planningPegawaiStatusId = planningPegawaiStatusId; - } - - } diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/PlanningPegawaiStatus.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/PlanningPegawaiStatus.java index bfcd9f12..0daf867f 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/PlanningPegawaiStatus.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/PlanningPegawaiStatus.java @@ -17,403 +17,142 @@ import com.fasterxml.jackson.annotation.JsonBackReference; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.jasamedika.medifirst2000.base.BaseTransaction; import com.jasamedika.medifirst2000.helper.Caption; +import lombok.Getter; +import lombok.Setter; +@Getter +@Setter @Entity -@Table(name="PlanningPegawaiStatus_T") +@Table(name = "PlanningPegawaiStatus_T") @JsonIgnoreProperties({ "hibernateLazyInitializer", "handler" }) -public class PlanningPegawaiStatus extends BaseTransaction{ +public class PlanningPegawaiStatus extends BaseTransaction { - @Caption(value="No Planning") - @Column(name="NoPlanning", length=15, nullable=true) + @Caption(value = "No Planning") + @Column(name = "NoPlanning", length = 15) private String noPlanning; - - @ManyToOne(fetch=FetchType.LAZY) - @Caption(value="Object Pegawai") - @JoinColumn(name="ObjectPegawaiFk") + + @ManyToOne(fetch = FetchType.LAZY) + @Caption(value = "Object Pegawai") + @JoinColumn(name = "ObjectPegawaiFk") private Pegawai pegawai; - - @Column(name="ObjectPegawaiFk", nullable=true, insertable=false, updatable=false) + + @Column(name = "ObjectPegawaiFk", insertable = false, updatable = false) private Integer pegawaiId; - - @ManyToOne(fetch=FetchType.LAZY) - @Caption(value="Object Status Pegawai Plan") - @JoinColumn(name="ObjectStatusPegawaiPlanFk") + + @ManyToOne(fetch = FetchType.LAZY) + @Caption(value = "Object Status Pegawai Plan") + @JoinColumn(name = "ObjectStatusPegawaiPlanFk") private StatusPegawai statusPegawaiPlan; - - @Column(name="ObjectStatusPegawaiPlanFk", nullable=true, insertable=false, updatable=false) + + @Column(name = "ObjectStatusPegawaiPlanFk", insertable = false, updatable = false) private Integer statusPegawaiPlanId; - + @JsonBackReference @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "planningPegawaiStatus", orphanRemoval = true) private Set listTanggal = new HashSet<>(); - - @ManyToOne(fetch=FetchType.LAZY) - @Caption(value="Object Departemen") - @JoinColumn(name="ObjectDepartemenFk") + + @ManyToOne(fetch = FetchType.LAZY) + @Caption(value = "Object Departemen") + @JoinColumn(name = "ObjectDepartemenFk") private Departemen departemen; - - @Column(name="ObjectDepartemenFk", nullable=true, insertable=false, updatable=false) + + @Column(name = "ObjectDepartemenFk", insertable = false, updatable = false) private Integer departemenId; - - @Caption(value="Deskripsi Status Pegawai Plan") - @Column(name="DeskripsiStatusPegawaiPlan", length=1000, nullable=true) + + @Caption(value = "Deskripsi Status Pegawai Plan") + @Column(name = "DeskripsiStatusPegawaiPlan", length = 1000) private String deskripsiStatusPegawaiPlan; - - @Caption(value="Keterangan Lainya Plan") - @Column(name="KeteranganLainyaPlan", length=1000, nullable=true) + + @Caption(value = "Keterangan Lainya Plan") + @Column(name = "KeteranganLainyaPlan", length = 1000) private String keteranganLainyaPlan; - - @ManyToOne(fetch=FetchType.LAZY) - @Caption(value="Object No SK") - @JoinColumn(name="ObjectNoSkFk") + + @ManyToOne(fetch = FetchType.LAZY) + @Caption(value = "Object No SK") + @JoinColumn(name = "ObjectNoSkFk") private SuratKeputusan noSk; - - @Column(name="ObjectNoSkFk", nullable=true, insertable=false, updatable=false) + + @Column(name = "ObjectNoSkFk", insertable = false, updatable = false) private Integer noSkId; - - @ManyToOne(fetch=FetchType.LAZY) - @Caption(value="Object Status Pegawai Exec") - @JoinColumn(name="ObjectStatusPegawaiExecFk") + + @ManyToOne(fetch = FetchType.LAZY) + @Caption(value = "Object Status Pegawai Exec") + @JoinColumn(name = "ObjectStatusPegawaiExecFk") private StatusPegawai statusPegawaiExec; - - @Column(name="ObjectStatusPegawaiExecFk", nullable=true, insertable=false, updatable=false) - private Integer statusPegawaiExecId; - - @Caption(value="Deskripsi Status Pegawai Exec") - @Column(name="DeskripsiStatusPegawaiExec", length=1000, nullable=true) + + @Column(name = "ObjectStatusPegawaiExecFk", insertable = false, updatable = false) + private Integer statusPegawaiExecId; + + @Caption(value = "Deskripsi Status Pegawai Exec") + @Column(name = "DeskripsiStatusPegawaiExec", length = 1000) private String deskripsiStatusPegawaiExec; - - @Caption(value="Keterangan Lainya Exec") - @Column(name="KeteranganLainyaExec", length=1000, nullable=true) + + @Caption(value = "Keterangan Lainya Exec") + @Column(name = "KeteranganLainyaExec", length = 1000) private String keteranganLainyaExec; - @Caption(value="Tgl Pengajuan") - @Column(name="TglPengajuan", nullable=true) + @Caption(value = "Tgl Pengajuan") + @Column(name = "TglPengajuan") private Date tglPengajuan; - - @Caption(value="Tgl Keputusan") - @Column(name="TglKeputusan", nullable=true) + + @Caption(value = "Tgl Keputusan") + @Column(name = "TglKeputusan") private Date tglKeputusan; - - @Caption(value="Approval Status") - @Column(name="ApprovalStatus", nullable=true) + + @Caption(value = "Approval Status") + @Column(name = "ApprovalStatus") private Integer approvalStatus; - - @Caption(value="jumlahHari") - @Column(name="jumlahHari", nullable=true) + + @Caption(value = "jumlahHari") + @Column(name = "jumlahHari") private Integer jumlahHari; - - @Caption(value="keterangan") - @Column(name="keterangan", nullable=true) + + @Caption(value = "keterangan") + @Column(name = "keterangan") private String keterangan; - - @Caption(value="Jenis Perawatan") - @Column(name="jenisPerawatan", nullable=true) - private Integer jenisPerawatan; //Add field untuk permohonan perubahan kehadiran karena sakit - - @Caption(value="Alamat Selama Cuti") - @Column(name="alamatCuti", nullable=true) - private String alamatCuti; //Add field untuk input alamat selama cuti di menu pengajuan Cuti - - @Caption(value="Nomor Telepon") - @Column(name="nomorTelepon", nullable=true) + + @Caption(value = "Jenis Perawatan") + @Column(name = "jenisPerawatan") + private Integer jenisPerawatan; + + @Caption(value = "Alamat Selama Cuti") + @Column(name = "alamatCuti") + private String alamatCuti; + + @Caption(value = "Nomor Telepon") + @Column(name = "nomorTelepon") private String nomorTelepon; - - @Caption(value="Nomor Surat Tugas") - @Column(name="noSuratTugas", nullable=true) + + @Caption(value = "Nomor Surat Tugas") + @Column(name = "noSuratTugas") private String noSuratTugas; - - @Caption(value="Nomor Nota Dinas") - @Column(name="noNotaDinas", nullable=true) + + @Caption(value = "Nomor Nota Dinas") + @Column(name = "noNotaDinas") private String noNotaDinas; - - @Caption(value="Tgl Nota Dinas") - @Column(name="TglNotaDinas", nullable=true) + + @Caption(value = "Tgl Nota Dinas") + @Column(name = "TglNotaDinas") private Date tglNotaDinas; - - @Caption(value="Alamat Tugas Dinas") - @Column(name="alamatTugas", nullable=true) - private String alamatTugas; - - @ManyToOne(optional=true,fetch=FetchType.LAZY) - @Caption(value="Object Jabatan Pemberi Nota Dinas") - @JoinColumn(name="ObjectJabatanPemberiNotaDinasFk", nullable=true) + + @Caption(value = "Alamat Tugas Dinas") + @Column(name = "alamatTugas") + private String alamatTugas; + + @ManyToOne(fetch = FetchType.LAZY) + @Caption(value = "Object Jabatan Pemberi Nota Dinas") + @JoinColumn(name = "ObjectJabatanPemberiNotaDinasFk") private Jabatan jabatanPemberiNotaDinas; - - @Column(name="ObjectJabatanPemberiNotaDinasFk", nullable=true, insertable=false, updatable=false) + + @Column(name = "ObjectJabatanPemberiNotaDinasFk", insertable = false, updatable = false) private Integer jabatanIdPemberiNotaDinas; - - @Caption(value="is Cuti Luar Negeri") - @Column(name="isCutiLuarNegeri", nullable=true) + + @Caption(value = "is Cuti Luar Negeri") + @Column(name = "isCutiLuarNegeri") private Boolean isCutiLuarNegeri; - - @Caption(value="is Cuti Luar Kota") - @Column(name="isCutiLuarKota", nullable=true) + + @Caption(value = "is Cuti Luar Kota") + @Column(name = "isCutiLuarKota") private Boolean isCutiLuarKota; - - public String getNoPlanning() { - return noPlanning; - } - public void setNoPlanning(String noPlanning) { - this.noPlanning = noPlanning; - } - - public Pegawai getPegawai() { - return pegawai; - } - - public void setPegawai(Pegawai pegawai) { - this.pegawai = pegawai; - } - - public Integer getPegawaiId() { - return pegawaiId; - } - - public void setPegawaiId(Integer pegawaiId) { - this.pegawaiId = pegawaiId; - } - - public StatusPegawai getStatusPegawaiPlan() { - return statusPegawaiPlan; - } - - public void setStatusPegawaiPlan(StatusPegawai statusPegawaiPlan) { - this.statusPegawaiPlan = statusPegawaiPlan; - } - - public Integer getStatusPegawaiPlanId() { - return statusPegawaiPlanId; - } - - public void setStatusPegawaiPlanId(Integer statusPegawaiPlanId) { - this.statusPegawaiPlanId = statusPegawaiPlanId; - } - - public Departemen getDepartemen() { - return departemen; - } - - public void setDepartemen(Departemen departemen) { - this.departemen = departemen; - } - - public Integer getDepartemenId() { - return departemenId; - } - - public void setDepartemenId(Integer departemenId) { - this.departemenId = departemenId; - } - - public String getDeskripsiStatusPegawaiPlan() { - return deskripsiStatusPegawaiPlan; - } - - public void setDeskripsiStatusPegawaiPlan(String deskripsiStatusPegawaiPlan) { - this.deskripsiStatusPegawaiPlan = deskripsiStatusPegawaiPlan; - } - - public String getKeteranganLainyaPlan() { - return keteranganLainyaPlan; - } - - public void setKeteranganLainyaPlan(String keteranganLainyaPlan) { - this.keteranganLainyaPlan = keteranganLainyaPlan; - } - - public SuratKeputusan getNoSk() { - return noSk; - } - - public void setNoSk(SuratKeputusan noSk) { - this.noSk = noSk; - } - - public Integer getNoSkId() { - return noSkId; - } - - public void setNoSkId(Integer noSkId) { - this.noSkId = noSkId; - } - - public StatusPegawai getStatusPegawaiExec() { - return statusPegawaiExec; - } - - public void setStatusPegawaiExec(StatusPegawai statusPegawaiExec) { - this.statusPegawaiExec = statusPegawaiExec; - } - - public Integer getStatusPegawaiExecId() { - return statusPegawaiExecId; - } - - public void setStatusPegawaiExecId(Integer statusPegawaiExecId) { - this.statusPegawaiExecId = statusPegawaiExecId; - } - public String getDeskripsiStatusPegawaiExec() { - return deskripsiStatusPegawaiExec; - } - - public void setDeskripsiStatusPegawaiExec(String deskripsiStatusPegawaiExec) { - this.deskripsiStatusPegawaiExec = deskripsiStatusPegawaiExec; - } - - public String getKeteranganLainyaExec() { - return keteranganLainyaExec; - } - - public void setKeteranganLainyaExec(String keteranganLainyaExec) { - this.keteranganLainyaExec = keteranganLainyaExec; - } - - public Date getTglPengajuan() { - return tglPengajuan; - } - - public void setTglPengajuan(Date tglPengajuan) { - this.tglPengajuan = tglPengajuan; - } - - public Date getTglKeputusan() { - return tglKeputusan; - } - - public void setTglKeputusan(Date tglKeputusan) { - this.tglKeputusan = tglKeputusan; - } - - public Integer getApprovalStatus() { - return approvalStatus; - } - - public void setApprovalStatus(Integer approvalStatus) { - this.approvalStatus = approvalStatus; - } - - public Integer getJumlahHari() { - return jumlahHari; - } - - public void setJumlahHari(Integer jumlahHari) { - this.jumlahHari = jumlahHari; - } - - public Set getListTanggal() { - return listTanggal; - } - - public void setListTanggal(Set listTanggal) { - this.listTanggal = listTanggal; - } - - public String getKeterangan() { - return keterangan; - } - - public void setKeterangan(String keterangan) { - this.keterangan = keterangan; - } - - public Integer getJenisPerawatan() { - return jenisPerawatan; - } - - public void setJenisPerawatan(Integer jenisPerawatan) { - this.jenisPerawatan = jenisPerawatan; - } - - public String getAlamatCuti() { - return alamatCuti; - } - - public void setAlamatCuti(String alamatCuti) { - this.alamatCuti = alamatCuti; - } - - public String getNomorTelepon() { - return nomorTelepon; - } - - public void setNomorTelepon(String nomorTelepon) { - this.nomorTelepon = nomorTelepon; - } - - public String getNoSuratTugas() { - return noSuratTugas; - } - - public void setNoSuratTugas(String noSuratTugas) { - this.noSuratTugas = noSuratTugas; - } - - public String getNoNotaDinas() { - return noNotaDinas; - } - - public void setNoNotaDinas(String noNotaDinas) { - this.noNotaDinas = noNotaDinas; - } - - public Date getTglNotaDinas() { - return tglNotaDinas; - } - - public void setTglNotaDinas(Date tglNotaDinas) { - this.tglNotaDinas = tglNotaDinas; - } - - public String getAlamatTugas() { - return alamatTugas; - } - - public void setAlamatTugas(String alamatTugas) { - this.alamatTugas = alamatTugas; - } - - public Jabatan getJabatanPemberiNotaDinas() { - return jabatanPemberiNotaDinas; - } - - public void setJabatanPemberiNotaDinas(Jabatan jabatanPemberiNotaDinas) { - this.jabatanPemberiNotaDinas = jabatanPemberiNotaDinas; - } - - public Integer getJabatanIdPemberiNotaDinas() { - return jabatanIdPemberiNotaDinas; - } - - public void setJabatanIdPemberiNotaDinas(Integer jabatanIdPemberiNotaDinas) { - this.jabatanIdPemberiNotaDinas = jabatanIdPemberiNotaDinas; - } - - public Boolean getIsCutiLuarNegeri() { - return isCutiLuarNegeri; - } - - public void setIsCutiLuarNegeri(Boolean isCutiLuarNegeri) { - this.isCutiLuarNegeri = isCutiLuarNegeri; - } - - public void addListTanggal(ListTanggalCuti listTgl) { - listTanggal.add(listTgl); - listTgl.setPlanningPegawaiStatus(this); - } - - public void removeListTanggal(ListTanggalCuti listTgl) { - listTanggal.remove(listTgl); - listTgl.setPlanningPegawaiStatus(null); - } - - public Boolean getIsCutiLuarKota() { - return isCutiLuarKota; - } - - public void setIsCutiLuarKota(Boolean isCutiLuarKota) { - this.isCutiLuarKota = isCutiLuarKota; - } - } diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/ListTanggalCutiVO.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/ListTanggalCutiVO.java index 22c2d87d..7cdebaf7 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/ListTanggalCutiVO.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/ListTanggalCutiVO.java @@ -2,49 +2,20 @@ package com.jasamedika.medifirst2000.vo; import java.util.Date; - import com.jasamedika.medifirst2000.base.vo.BaseTransactionVO; +import lombok.Getter; +import lombok.Setter; +@Getter +@Setter public class ListTanggalCutiVO extends BaseTransactionVO { - + private Date tgl; - + private Boolean approvalStatus; - + private PlanningPegawaiStatusVO planningPegawaiStatus; - - private Integer planningPegawaiStatusId; - public Date getTgl() { - return tgl; - } - - public void setTgl(Date tgl) { - this.tgl = tgl; - } - - public Boolean getApprovalStatus() { - return approvalStatus; - } - - public void setApprovalStatus(Boolean approvalStatus) { - this.approvalStatus = approvalStatus; - } - - public PlanningPegawaiStatusVO getPlanningPegawaiStatus() { - return planningPegawaiStatus; - } - - public void setPlanningPegawaiStatus(PlanningPegawaiStatusVO planningPegawaiStatus) { - this.planningPegawaiStatus = planningPegawaiStatus; - } - - public Integer getPlanningPegawaiStatusId() { - return planningPegawaiStatusId; - } - - public void setPlanningPegawaiStatusId(Integer planningPegawaiStatusId) { - this.planningPegawaiStatusId = planningPegawaiStatusId; - } + private String planningPegawaiStatusId; } diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/PlanningPegawaiStatusVO.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/PlanningPegawaiStatusVO.java index 96930c1a..c64fa087 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/PlanningPegawaiStatusVO.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/PlanningPegawaiStatusVO.java @@ -4,374 +4,107 @@ import java.util.Date; import java.util.HashSet; import java.util.Set; -import javax.persistence.CascadeType; -import javax.persistence.FetchType; -import javax.persistence.ManyToOne; -import javax.persistence.OneToMany; - import com.jasamedika.medifirst2000.base.vo.BaseTransactionVO; import com.jasamedika.medifirst2000.helper.Caption; +import lombok.Getter; +import lombok.Setter; -public class PlanningPegawaiStatusVO extends BaseTransactionVO{ - - @Caption(value="No Planning") +@Getter +@Setter +public class PlanningPegawaiStatusVO extends BaseTransactionVO { + + @Caption(value = "No Planning") private String noPlanning; - - @ManyToOne(fetch=FetchType.LAZY) - @Caption(value="Object Pegawai") + + @Caption(value = "Object Pegawai") private PegawaiVO pegawai; - - @ManyToOne(fetch=FetchType.LAZY) - @Caption(value="Object Status Pegawai Plan") + + @Caption(value = "Object Status Pegawai Plan") private StatusPegawaiVO statusPegawaiPlan; - - @OneToMany(cascade=CascadeType.ALL,fetch = FetchType.LAZY, mappedBy = "planningPegawaiStatus") - private Set listTanggal = new HashSet(); - - @ManyToOne(fetch=FetchType.LAZY) - @Caption(value="Object Departemen") + + private Set listTanggal = new HashSet<>(); + + @Caption(value = "Object Departemen") private DepartemenVO departemen; - - @Caption(value="Deskripsi Status Pegawai Plan") + + @Caption(value = "Deskripsi Status Pegawai Plan") private String deskripsiStatusPegawaiPlan; - - @Caption(value="Keterangan Lainya Plan") + + @Caption(value = "Keterangan Lainya Plan") private String keteranganLainyaPlan; - + private Integer jumlahHari; - - @ManyToOne(fetch=FetchType.LAZY) - @Caption(value="Object No SK") + + @Caption(value = "Object No SK") private SuratKeputusanVO noSk; - - @ManyToOne(fetch=FetchType.LAZY) - @Caption(value="Object Status Pegawai Exec") + + @Caption(value = "Object Status Pegawai Exec") private StatusPegawaiVO statusPegawaiExec; - - @Caption(value="Deskripsi Status Pegawai Exec") + + @Caption(value = "Deskripsi Status Pegawai Exec") private String deskripsiStatusPegawaiExec; - - @Caption(value="Keterangan Lainya Exec") + + @Caption(value = "Keterangan Lainya Exec") private String keteranganLainyaExec; - - @Caption(value="Tgl Pengajuan") + + @Caption(value = "Tgl Pengajuan") private Date tglPengajuan; - - @Caption(value="Approval Status") + + @Caption(value = "Approval Status") private Integer approvalStatus; - - @Caption(value="Jenis Perawatan") - private Integer jenisPerawatan; //Add field untuk permohonan perubahan kehadiran karena sakit - - @Caption(value="Alamat Selama Cuti") - private String alamatCuti; //Add field untuk input di menu pengajuan cuti - - @Caption(value="Nomor Telepon") + + @Caption(value = "Jenis Perawatan") + private Integer jenisPerawatan; + + @Caption(value = "Alamat Selama Cuti") + private String alamatCuti; + + @Caption(value = "Nomor Telepon") private String nomorTelepon; - - @Caption(value="Nomor Surat Tugas") + + @Caption(value = "Nomor Surat Tugas") private String noSuratTugas; - - @Caption(value="Nomor Nota Dinas") + + @Caption(value = "Nomor Nota Dinas") private String noNotaDinas; - - @Caption(value="Tgl Nota Dinas") + + @Caption(value = "Tgl Nota Dinas") private Date tglNotaDinas; - - @Caption(value="Alamat Tugas Dinas") - private String alamatTugas; - - @ManyToOne(fetch=FetchType.LAZY) - @Caption(value="Object Jabatan Pemberi Nota Dinas") + + @Caption(value = "Alamat Tugas Dinas") + private String alamatTugas; + + @Caption(value = "Object Jabatan Pemberi Nota Dinas") private JabatanVO jabatanPemberiNotaDinas; - - @Caption(value="is Cuti Luar Negeri") + + @Caption(value = "is Cuti Luar Negeri") private Boolean isCutiLuarNegeri; - - @Caption(value="is Cuti Luar Kota") + + @Caption(value = "is Cuti Luar Kota") private Boolean isCutiLuarKota; - - //---------------------------------------- SURAT KEPUTUSAN ------------------------------------------ - - @ManyToOne(fetch = FetchType.LAZY) + @Caption(value = "Object Keputusan") private JenisKeputusanVO jenisKeputusan; - - @Caption(value="Tgl SK/SPMT") + + @Caption(value = "Tgl SK/SPMT") private Date tglSkSpmt; - - @Caption(value="No SK Temp") + + @Caption(value = "No SK Temp") private String noSkTemp; - - @Caption(value="Uraian") + + @Caption(value = "Uraian") private String uraian; - - @Caption(value="SK Dari") + + @Caption(value = "SK Dari") private String skDari; - - @Caption(value="Tgl TMT/SPMT") + + @Caption(value = "Tgl TMT/SPMT") private Date tglTmtSpmt; - - @Caption(value="Tgl Berlaku Akhir") + + @Caption(value = "Tgl Berlaku Akhir") private Date tglBerlakuAkhir; - - @Caption(value="Tgl Keputusan") + + @Caption(value = "Tgl Keputusan") private Date tglKeputusan; - - public Integer getJumlahHari() { - return jumlahHari; - } - - public void setJumlahHari(Integer jumlahHari) { - this.jumlahHari = jumlahHari; - } - - public String getNoPlanning() { - return noPlanning; - } - - public void setNoPlanning(String noPlanning) { - this.noPlanning = noPlanning; - } - - public PegawaiVO getPegawai() { - return pegawai; - } - - public void setPegawai(PegawaiVO pegawai) { - this.pegawai = pegawai; - } - - public StatusPegawaiVO getStatusPegawaiPlan() { - return statusPegawaiPlan; - } - - public void setStatusPegawaiPlan(StatusPegawaiVO statusPegawaiPlan) { - this.statusPegawaiPlan = statusPegawaiPlan; - } - - public DepartemenVO getDepartemen() { - return departemen; - } - - public void setDepartemen(DepartemenVO departemen) { - this.departemen = departemen; - } - - public String getDeskripsiStatusPegawaiPlan() { - return deskripsiStatusPegawaiPlan; - } - - public void setDeskripsiStatusPegawaiPlan(String deskripsiStatusPegawaiPlan) { - this.deskripsiStatusPegawaiPlan = deskripsiStatusPegawaiPlan; - } - - public String getKeteranganLainyaPlan() { - return keteranganLainyaPlan; - } - - public void setKeteranganLainyaPlan(String keteranganLainyaPlan) { - this.keteranganLainyaPlan = keteranganLainyaPlan; - } - - public SuratKeputusanVO getNoSk() { - return noSk; - } - - public void setNoSk(SuratKeputusanVO noSk) { - this.noSk = noSk; - } - - public StatusPegawaiVO getStatusPegawaiExec() { - return statusPegawaiExec; - } - - public void setStatusPegawaiExec(StatusPegawaiVO statusPegawaiExec) { - this.statusPegawaiExec = statusPegawaiExec; - } - - public String getDeskripsiStatusPegawaiExec() { - return deskripsiStatusPegawaiExec; - } - - public void setDeskripsiStatusPegawaiExec(String deskripsiStatusPegawaiExec) { - this.deskripsiStatusPegawaiExec = deskripsiStatusPegawaiExec; - } - - public String getKeteranganLainyaExec() { - return keteranganLainyaExec; - } - - public void setKeteranganLainyaExec(String keteranganLainyaExec) { - this.keteranganLainyaExec = keteranganLainyaExec; - } - - public JenisKeputusanVO getJenisKeputusan() { - return jenisKeputusan; - } - - public void setJenisKeputusan(JenisKeputusanVO jenisKeputusan) { - this.jenisKeputusan = jenisKeputusan; - } - - public Date getTglSkSpmt() { - return tglSkSpmt; - } - - public void setTglSkSpmt(Date tglSkSpmt) { - this.tglSkSpmt = tglSkSpmt; - } - - public String getNoSkTemp() { - return noSkTemp; - } - - public void setNoSkTemp(String noSkTemp) { - this.noSkTemp = noSkTemp; - } - - public String getUraian() { - return uraian; - } - - public void setUraian(String uraian) { - this.uraian = uraian; - } - - public String getSkDari() { - return skDari; - } - - public void setSkDari(String skDari) { - this.skDari = skDari; - } - - public Date getTglTmtSpmt() { - return tglTmtSpmt; - } - - public void setTglTmtSpmt(Date tglTmtSpmt) { - this.tglTmtSpmt = tglTmtSpmt; - } - - public Date getTglBerlakuAkhir() { - return tglBerlakuAkhir; - } - - public void setTglBerlakuAkhir(Date tglBerlakuAkhir) { - this.tglBerlakuAkhir = tglBerlakuAkhir; - } - - public Date getTglKeputusan() { - return tglKeputusan; - } - - public void setTglKeputusan(Date tglKeputusan) { - this.tglKeputusan = tglKeputusan; - } - - public Date getTglPengajuan() { - return tglPengajuan; - } - - public void setTglPengajuan(Date tglPengajuan) { - this.tglPengajuan = tglPengajuan; - } - - public Integer getApprovalStatus() { - return approvalStatus; - } - - public void setApprovalStatus(Integer approvalStatus) { - this.approvalStatus = approvalStatus; - } - - public Set getListTanggal() { - return listTanggal; - } - - public void setListTanggal(Set listTanggal) { - this.listTanggal = listTanggal; - } - - public Integer getJenisPerawatan() { - return jenisPerawatan; - } - - public void setJenisPerawatan(Integer jenisPerawatan) { - this.jenisPerawatan = jenisPerawatan; - } - - public String getAlamatCuti() { - return alamatCuti; - } - - public void setAlamatCuti(String alamatCuti) { - this.alamatCuti = alamatCuti; - } - - public String getNomorTelepon() { - return nomorTelepon; - } - - public void setNomorTelepon(String nomorTelepon) { - this.nomorTelepon = nomorTelepon; - } - - public String getNoSuratTugas() { - return noSuratTugas; - } - - public void setNoSuratTugas(String noSuratTugas) { - this.noSuratTugas = noSuratTugas; - } - - public String getNoNotaDinas() { - return noNotaDinas; - } - - public void setNoNotaDinas(String noNotaDinas) { - this.noNotaDinas = noNotaDinas; - } - - public Date getTglNotaDinas() { - return tglNotaDinas; - } - - public void setTglNotaDinas(Date tglNotaDinas) { - this.tglNotaDinas = tglNotaDinas; - } - - public String getAlamatTugas() { - return alamatTugas; - } - - public void setAlamatTugas(String alamatTugas) { - this.alamatTugas = alamatTugas; - } - - public JabatanVO getJabatanPemberiNotaDinas() { - return jabatanPemberiNotaDinas; - } - - public void setJabatanPemberiNotaDinas(JabatanVO jabatanPemberiNotaDinas) { - this.jabatanPemberiNotaDinas = jabatanPemberiNotaDinas; - } - - public Boolean getIsCutiLuarNegeri() { - return isCutiLuarNegeri; - } - - public void setIsCutiLuarNegeri(Boolean isCutiLuarNegeri) { - this.isCutiLuarNegeri = isCutiLuarNegeri; - } - - public Boolean getIsCutiLuarKota() { - return isCutiLuarKota; - } - - public void setIsCutiLuarKota(Boolean isCutiLuarKota) { - this.isCutiLuarKota = isCutiLuarKota; - } }