Update service jatah cuti

Penerapan validasi presensi dan cuti belum disetujui saat hitung jatah cuti bersama yang ditangguhkan
This commit is contained in:
Salman Manoe 2025-01-14 11:02:16 +07:00
parent e285b15682
commit 3384ae7fd3
9 changed files with 541 additions and 1466 deletions

View File

@ -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<ListTanggalCuti, String>{
public interface ListTanggalCutiDao extends PagingAndSortingRepository<ListTanggalCuti, String> {
@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<Map<String, Object>> getListTglCutiByNorec(@Param("listNorec") List<String> 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<Map<String, Object>> 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<Map<String, Object>> 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<String> getListTglCutiByNorecDetail(@Param("listNorec") List<String> 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<Date> 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<ListTanggalCuti> notApprovedByPermohonan(@Param("idPegawai") Integer idPegawai,
@Param("idJenisPermohonan") Integer idJenisPermohonan, @Param("tglAwal") Date tglAwal,
@Param("tglAkhir") Date tglAkhir);
}

View File

@ -39,19 +39,20 @@ public interface MapKalenderToHariLiburDao extends PagingAndSortingRepository<Ma
List<Map<String, Object>> 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<PresensiHariLibur> 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<PresensiHariLibur> 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<MapKalenderToHariLibur> 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<MapKalenderToHariLibur> getByTahun(@Param("idHariLibur") Integer idHariLibur, @Param("tglAwal") Date tglAwal,
@Param("tglAkhir") Date tglAkhir);
}

View File

@ -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<PlanningPegawaiStatus, String>{
@Query("select a.noPlanning "
+ "from PlanningPegawaiStatus a "
+ "where a.noPlanning LIKE %:kode% "
public interface PlanningPegawaiStatusDao extends JpaRepository<PlanningPegawaiStatus, String> {
@Query("select a.noPlanning " + "from PlanningPegawaiStatus a " + "where a.noPlanning LIKE %:kode% "
+ "order by a.noPlanning asc")
List<String> 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<Map<String, Object>> 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<Map<String, Object>> 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<Map<String, Object>> 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<String, Object> 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<String, Object> 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<String, Object> 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<String, Object> 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<String, Object> 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<Map<String, Object>> getListPermohonanStatus(
@Param("id") Integer id);
@Query("select NEW Map ("
+ "a.noRec as noRec,"
+ "a.noPlanning as noPlanning,"
+ "a.approvalStatus as approvalStatus,"
List<Map<String, Object>> 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<Map<String, Object>> 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<Map<String, Object>> 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<Map<String, Object>> getListPermohonanStatusByPegawai(@Param("id") Integer id);
@Query(planningStatusPegawai + "and " + "c.statusPegawai=:statusPegawai and "
+ "to_char(a.tglKeputusan,'yyyy')=to_char(current_timestamp,'yyyy') ")
List<Map<String, Object>> getListPermohonanStatusByPegawai(@Param("id") Integer id, @Param("statusPegawai") String statusPegawai);
@Query(planningStatusPegawai
+ "and "
+ "c.statusPegawai=:statusPegawai")
List<Map<String, Object>> getListPermohonanStatusByPegawaiAll(@Param("id") Integer id, @Param("statusPegawai") String statusPegawai);
@Query("select NEW Map ("
+ "a.noRec as noRec,"
+ "a.noPlanning as noPlanning,"
List<Map<String, Object>> getListPermohonanStatusByPegawai(@Param("id") Integer id,
@Param("statusPegawai") String statusPegawai);
@Query(planningStatusPegawai + "and " + "c.statusPegawai=:statusPegawai")
List<Map<String, Object>> 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<Map<String, Object>> 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<Map<String, Object>> getApprovalStatus();
@Query("select NEW Map ("
+ "b.id as id) "
+ "from Pegawai a "
+ "left join a.shiftKerja b "
+ "where a.id=:id")
Map<String, Object> 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<String, Object> getKomponenIndex(
@Param("id") Integer id);
@Query("select pegawai.id "+
"from PegawaiSisaCuti psc "+
"left join psc.pegawai pegawai "+
"where psc.sisaCuti=:sisaCuti")
List<Integer> 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<Integer> 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<Map<String,Object>> 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<Map<String,Object>> 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<Date> getListAllTanggalCutiApproved(@Param("listNorec") List<String> listNorec, @Param("listTgl") List<Date> 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<Date> getListAllTanggalCutiNotYetApprove(@Param("listNorec") List<String> listNorec, @Param("listTgl") List<Date> 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<Map<String, Object>> 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<String, Object> 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<String, Object> 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<String, Object> 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<String, Object> 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<Map<String, Object>> 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<Map<String, Object>> 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<Map<String, Object>> 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<String, Object> 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<String, Object> 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<Map<String, Object>> getApprovalStatus(@Param("idPegawai") Integer idPegawai, @Param("currentYear") String currentYear,
@Param("approvalStatusId1") Integer approvalStatusId1, @Param("approvalStatusId2") Integer approvalStatusId2,
List<Map<String, Object>> getApprovalStatus(@Param("idPegawai") Integer idPegawai,
@Param("currentYear") String currentYear, @Param("approvalStatusId1") Integer approvalStatusId1,
@Param("approvalStatusId2") Integer approvalStatusId2,
@Param("ketidakhadiranId") List<Integer> 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<Map<String, Object>> getApprovalStatus(@Param("currentYear") String currentYear, @Param("approvalStatusId1") Integer approvalStatusId1,
@Param("approvalStatusId2") Integer approvalStatusId2, @Param("ketidakhadiranId") List<Integer> ketidakhadiranId);
@Query("select NEW Map (a.noRec as noRec, "
+ "a.noPlanning as noPlanning, "
List<Map<String, Object>> getApprovalStatus(@Param("currentYear") String currentYear,
@Param("approvalStatusId1") Integer approvalStatusId1,
@Param("approvalStatusId2") Integer approvalStatusId2,
@Param("ketidakhadiranId") List<Integer> 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<Map<String, Object>> getApprovalStatusSdm(@Param("approvalStatusId") Integer approvalStatusId,
List<Map<String, Object>> getApprovalStatusSdm(@Param("approvalStatusId") Integer approvalStatusId,
@Param("ketidakhadiranId") List<Integer> 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<Map<String, Object>> 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<Map<String, Object>> getCetakCutiLuarNegeri(@Param("norec") String norec);
}

View File

@ -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<Date> 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<MapKalenderToHariLibur> listCBPrevYear = mapKalenderToHariLiburDao.getByTahun(LIBUR_CB, janFirstPrevYear,
decEndPrevYear);
int countCBPrevYear = listCBPrevYear.size();
List<MapKalenderToHariLibur> listCBPrevYearSuspended = listCBPrevYear.stream()
Date tahunLalu = DateUtil.getInstanceCalendar(-1);
Date awalTahunLalu = DateUtil.startYear(tahunLalu);
Date akhirTahunLalu = DateUtil.endYear(tahunLalu);
List<MapKalenderToHariLibur> listKalenderCutiBersama = mapKalenderToHariLiburDao.getByTahun(LIBUR_CB,
awalTahunLalu, akhirTahunLalu);
List<MapKalenderToHariLibur> listKalenderCutiBersamaBisaDitangguhkan = listKalenderCutiBersama.stream()
.filter(MapKalenderToHariLibur::getIsCutiBersamaDitangguhkan).collect(Collectors.toList());
int countCBAllocated = 0;
List<PresensiHariLibur> 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<ListTanggalCuti> listCutiTahunLaluBelumDisetujui = tanggalCutiDao
.notApprovedByPermohonan(request.getPegawaiId(), CUTI_TAHUNAN, awalTahunLalu, akhirTahunLalu);
List<PresensiHariLibur> 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<PresensiHariLibur> listPresensiDiCutiBersama,
List<MapKalenderToHariLibur> listKalenderCutiBersama) {
int result = 0;
for (PresensiHariLibur presensiDiCutiBersama : listPresensiDiCutiBersama) {
Optional<MapKalenderToHariLibur> any = listKalenderCutiBersama.stream()
.filter(k -> presensiDiCutiBersama.getTanggal().equals(k.getTanggal().getTanggal())).findAny();
if (any.isPresent())
result++;
}
return result;
}
}

View File

@ -24,4 +24,6 @@ public class PresensiHariLibur {
private Date tanggal;
private Boolean isCutiBersamaDitangguhkan;
}

View File

@ -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;
}
}

View File

@ -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<ListTanggalCuti> 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<ListTanggalCuti> getListTanggal() {
return listTanggal;
}
public void setListTanggal(Set<ListTanggalCuti> 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;
}
}

View File

@ -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;
}

View File

@ -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<ListTanggalCutiVO> listTanggal = new HashSet<ListTanggalCutiVO>();
@ManyToOne(fetch=FetchType.LAZY)
@Caption(value="Object Departemen")
private Set<ListTanggalCutiVO> 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<ListTanggalCutiVO> getListTanggal() {
return listTanggal;
}
public void setListTanggal(Set<ListTanggalCutiVO> 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;
}
}