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; package com.jasamedika.medifirst2000.dao;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -14,52 +13,52 @@ import org.springframework.stereotype.Repository;
import com.jasamedika.medifirst2000.entities.ListTanggalCuti; import com.jasamedika.medifirst2000.entities.ListTanggalCuti;
@Repository("ListTanggalCutiDao") @Repository("ListTanggalCutiDao")
public interface ListTanggalCutiDao extends PagingAndSortingRepository<ListTanggalCuti, String>{ public interface ListTanggalCutiDao extends PagingAndSortingRepository<ListTanggalCuti, String> {
@Modifying @Modifying
@Query("update ListTanggalCuti m set m.statusEnabled=false where m.planningPegawaiStatusId =:id") @Query("update ListTanggalCuti m set m.statusEnabled=false where m.planningPegawaiStatusId =:id")
void deleteDatas(@Param("id") String id); void deleteDatas(@Param("id") String id);
@Query("select distinct new Map(to_char(listTglCuti.tgl, 'yyyy') as tahun, "+ @Query("select distinct new Map(to_char(listTglCuti.tgl, 'yyyy') as tahun, "
"to_char(listTglCuti.tgl, 'MM') as bulan) "+ + "to_char(listTglCuti.tgl, 'MM') as bulan) " + "from ListTanggalCuti listTglCuti "
"from ListTanggalCuti listTglCuti "+ + "where listTglCuti.statusEnabled is true " + "and listTglCuti.noRec in (:listNorec)")
"where listTglCuti.statusEnabled is true "+
"and listTglCuti.noRec in (:listNorec)")
List<Map<String, Object>> getListTglCutiByNorec(@Param("listNorec") List<String> listNorec); List<Map<String, Object>> getListTglCutiByNorec(@Param("listNorec") List<String> listNorec);
@Query("select distinct new Map(to_char(kalender.tanggal, 'yyyy') as tahun,"+ @Query("select distinct new Map(to_char(kalender.tanggal, 'yyyy') as tahun,"
"to_char(kalender.tanggal, 'MM') as bulan) "+ + "to_char(kalender.tanggal, 'MM') as bulan) " + "from Kalender kalender "
"from Kalender kalender "+ + "where kalender.statusEnabled is true " + "and kalender.id between :idKalAwal and :idKalAkhir "
"where kalender.statusEnabled is true "+ + "order by to_char(kalender.tanggal, 'yyyy'), to_char(kalender.tanggal, 'MM')")
"and kalender.id between :idKalAwal and :idKalAkhir "+ List<Map<String, Object>> getListTglCutiByNorec(@Param("idKalAwal") Integer idKalAwal,
"order by to_char(kalender.tanggal, 'yyyy'), to_char(kalender.tanggal, 'MM')") @Param("idKalAkhir") Integer idKalAkhir);
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 "
@Query("select to_char(listTglCuti.tgl, 'yyyy-MM-dd') "+ + "where listTglCuti.statusEnabled is true " + "and listTglCuti.noRec in (:listNorec)")
"from ListTanggalCuti listTglCuti "+
"where listTglCuti.statusEnabled is true "+
"and listTglCuti.noRec in (:listNorec)")
List<String> getListTglCutiByNorecDetail(@Param("listNorec") List<String> 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); Integer getIdKalenderByTglCuti(@Param("tglCuti") String tglCuti);
@Query("select mapStatus.shiftKerjaId "+ @Query("select mapStatus.shiftKerjaId " + "from MapStatusPegawaiToShiftKerja mapStatus "
"from MapStatusPegawaiToShiftKerja mapStatus "+ + "where mapStatus.statusEnabled is true " + "and mapStatus.statusPegawaiId = :idStatusExec "
"where mapStatus.statusEnabled is true "+ + "and mapStatus.kelompokShiftId = :idKelShift")
"and mapStatus.statusPegawaiId = :idStatusExec "+
"and mapStatus.kelompokShiftId = :idKelShift")
Integer getMappingShiftKerja(@Param("idStatusExec") Integer idStatusExec, @Param("idKelShift") Integer 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); Integer getKelShift(@Param("idPegawai") Integer idPegawai);
@Query("select listTgl.tgl " @Query("select listTgl.tgl " + "from ListTanggalCuti listTgl " + "left join listTgl.planningPegawaiStatus planning "
+ "from ListTanggalCuti listTgl " + "where planning.noRec = :noRec " + "and planning.statusEnabled is true "
+ "left join listTgl.planningPegawaiStatus planning "
+ "where planning.noRec = :noRec "
+ "and planning.statusEnabled is true "
+ "and planning.approvalStatus <> 3") + "and planning.approvalStatus <> 3")
List<Date> getTglCuti(@Param("noRec") String noRec); 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); List<Map<String, Object>> getMappingHariLibur(@Param("tahun") String tahun);
@Query("select distinct new com.jasamedika.medifirst2000.dto.PresensiHariLibur(" @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 " + "from Pegawai pg, Habsen hab, MapKalenderToHariLibur mkl " + "inner join mkl.tanggal kld "
+ "where pg.id = :idPegawai " + + "where pg.id = :idPegawai " + "and pg.idFinger = hab.empl_code "
"and pg.idFinger = hab.empl_code " + "and cast(hab.tr_date as date) = kld.tanggal " + "and cast(hab.tr_date as date) = kld.tanggal " + "and mkl.hariLiburId = :idHariLibur "
+ "and mkl.isCutiBersamaDitangguhkan is true " + "and kld.tanggal between :tglAwal and :tglAkhir") + "and kld.tanggal between :tglAwal and :tglAkhir")
List<PresensiHariLibur> getPresensiByTahun(@Param("idPegawai") Integer idPegawai, @Param("tglAwal") Date tglAwal, @Param("tglAkhir") Date 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 " + @Query("select mkl from MapKalenderToHariLibur mkl " + "inner join mkl.tanggal kld "
"inner join mkl.tanggal kld " + + "where mkl.statusEnabled is true " + "and kld.tanggal between :tglAwal and :tglAkhir "
"where mkl.statusEnabled is true " + + "and mkl.hariLiburId = :idHariLibur")
"and kld.tanggal between :tglAwal and :tglAkhir " + List<MapKalenderToHariLibur> getByTahun(@Param("idHariLibur") Integer idHariLibur, @Param("tglAwal") Date tglAwal,
"and mkl.hariLiburId = :idHariLibur") @Param("tglAkhir") Date tglAkhir);
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; package com.jasamedika.medifirst2000.dao;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query; import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.repository.query.Param; import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import com.jasamedika.medifirst2000.entities.PlanningPegawaiStatus; import com.jasamedika.medifirst2000.entities.PlanningPegawaiStatus;
@Repository("PlanningPegawaiStatusDao") @Repository("PlanningPegawaiStatusDao")
public interface PlanningPegawaiStatusDao extends PagingAndSortingRepository<PlanningPegawaiStatus, String>{ public interface PlanningPegawaiStatusDao extends JpaRepository<PlanningPegawaiStatus, String> {
@Query("select a.noPlanning " @Query("select a.noPlanning " + "from PlanningPegawaiStatus a " + "where a.noPlanning LIKE %:kode% "
+ "from PlanningPegawaiStatus a "
+ "where a.noPlanning LIKE %:kode% "
+ "order by a.noPlanning asc") + "order by a.noPlanning asc")
List<String> noPlanning(@Param("kode") String kode); List<String> noPlanning(@Param("kode") String kode);
@Query("select count(a.noPlanning) " @Query("select NEW Map (" + "a.id as id, " + "a.namaLengkap as namaLengkap," + "c.id as kategoriPegawaiId) "
+ "from PlanningPegawaiStatus a " + "from MapPegawaiJabatanToUnitKerja m " + "left join m.pegawai a " + "left join m.subUnitKerjaPegawai b "
+ "where a.noPlanning LIKE %:kode% ") + "left join m.unitKerjaPegawai e " + "left join a.kategoryPegawai c " + "left join a.statusPegawai d "
Long countNoPlanning(@Param("kode") String kode) ; + "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") + "and d.id=2")
List<Map<String, Object>> getListPegawai( List<Map<String, Object>> getListPegawai(@Param("id") Integer id);
@Param("id") Integer id);
@Query("select NEW Map (" + "a.id as id," + "a.statusPegawai as statusPegawai) " + "from StatusPegawai a "
@Query("select NEW Map (" + "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 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") + "a.id=29")
List<Map<String, Object>> getListStatusPegawai(); List<Map<String, Object>> getListStatusPegawai();
@Query("select NEW Map (" @Query("select NEW Map (" + "a.nipPns as nip," + "a.id as idPegawai," + "b.id as jabatanId,"
+ "a.nipPns as nip," + "b.namaJabatan as jabatan," + "d.id as unitKerjaId," + "d.name as unitKerja," + "c.id as subUnitKerjaId,"
+ "a.id as idPegawai," + "c.name as subUnitKerja," + "a.tglMasuk as tglMasuk," + "a.alamat as alamat,"
+ "b.id as jabatanId," + "a.noHandphone as noHandphone," + "kategori.id as kategoriPegawaiId ) "
+ "b.namaJabatan as jabatan," + "from MapPegawaiJabatanToUnitKerja m " + "left join m.pegawai a " + "left join m.jabatan b "
+ "d.id as unitKerjaId," + "left join a.kategoryPegawai kategori " + "left join m.subUnitKerjaPegawai c "
+ "d.name as unitKerja," + "left join m.unitKerjaPegawai d " + "where m.isPrimary is true " + "and m.statusEnabled is true "
+ "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") + "and a.id=:id")
Map<String, Object> getDataPermohonanStatus( Map<String, Object> getDataPermohonanStatus(@Param("id") Integer id);
@Param("id") Integer id);
@Query("select NEW Map(a.nipPns as nip," + "a.id as idPegawai" + ",a.tglMasuk as tglMasuk" + ",a.alamat as alamat,"
@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) " + "a.noHandphone as noHandphone," + "b.id as kategoriPegawaiId) "
+ "from Pegawai a left join a.kategoryPegawai b where a.id=:id") + "from Pegawai a left join a.kategoryPegawai b where a.id=:id")
Map<String, Object> getDataMapPermohonanStatus(@Param("id") Integer id); Map<String, Object> getDataMapPermohonanStatus(@Param("id") Integer id);
//--------------------------CUTI TAHUNAN---------------------- @Query("select NEW Map (" + "a.id as id," + "a.kuotaTotalHari as kuotaTotalHari,"
@Query("select Count(a.id) " + "a.kuotaMinHariTake as kuotaMinHariTake," + "a.qtyMaxTake as qtyMaxTake,"
+ "from MapKalenderToHariLibur a " + "a.isAkumulasi as isAkumulasi) " + "from PegawaiSKCuti a " + "left join a.statusPegawai b "
+ "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 "
+ "where b.id=:statusPegawaiId") + "where b.id=:statusPegawaiId")
Map<String, Object> getJatahCutiMelahirkan( Map<String, Object> getJatahCutiMelahirkan(@Param("statusPegawaiId") Integer statusPegawaiId);
@Param("statusPegawaiId") Integer statusPegawaiId);
@Query("select NEW Map (" + "a.noRec as noRec," + "a.noPlanning as noPlanning,"
//---------------------APPROVAL--------------------------------- + "a.approvalStatus as approvalStatus," + "a.deskripsiStatusPegawaiPlan as deskripsiStatusPegawaiPlan,"
+ "a.keteranganLainyaPlan as keteranganLainyaPlan," + "a.tglPengajuan as tglPengajuan,"
@Query("select NEW Map (" + "b.id as pegwaiId," + "b.namaLengkap as namaPegawai," + "c.id as statusPegawaiId,"
+ "a.noRec as noRec," + "c.statusPegawai as statusPegawai," + "d.id as unitKerjaId," + "d.name as unitKerja,"
+ "a.noPlanning as noPlanning," + "d.id as unitKerjaId," + "f.namaJabatan as namaJabatan) "
+ "a.approvalStatus as approvalStatus," + "from PlanningPegawaiStatus a, MapPegawaiJabatanToUnitKerja m " + "left join a.pegawai b "
+ "a.deskripsiStatusPegawaiPlan as deskripsiStatusPegawaiPlan," + "left join a.statusPegawaiPlan c " + "left join m.subUnitKerjaPegawai g "
+ "a.keteranganLainyaPlan as keteranganLainyaPlan," + "left join m.unitKerjaPegawai d " + "left join a.noSk e " + "left join m.jabatan f "
+ "a.tglPengajuan as tglPengajuan," + "where m.pegawaiId = b.id " + "and m.isPrimary is true " + "and m.statusEnabled is true "
+ "b.id as pegwaiId," + "and e.noRec is null " + "and a.statusEnabled is true " + "and d.id=:id "
+ "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)") + "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( List<Map<String, Object>> getListPermohonanStatus(@Param("id") Integer id);
@Param("id") Integer id);
String planningStatusPegawai = "select NEW Map (" + "a.noRec as noRec," + "a.noPlanning as noPlanning,"
@Query("select NEW Map ("
+ "a.noRec as noRec,"
+ "a.noPlanning as noPlanning,"
+ "a.approvalStatus as approvalStatus,"
+ "a.deskripsiStatusPegawaiPlan as deskripsiStatusPegawaiPlan," + "a.deskripsiStatusPegawaiPlan as deskripsiStatusPegawaiPlan,"
+ "a.keteranganLainyaPlan as keteranganLainyaPlan," + "a.keteranganLainyaPlan as keteranganLainyaPlan," + "a.tglPengajuan as tglPengajuan,"
+ "a.tglPengajuan as tglPengajuan," + "b.id as pegwaiId," + "a.approvalStatus as approvalStatus, " + "b.namaLengkap as namaPegawai,"
+ "b.id as pegwaiId," + "c.id as statusPegawaiId," + "c.statusPegawai as statusPegawai," + "d.id as unitKerjaId,"
+ "b.namaLengkap as namaPegawai," + "d.name as unitKerja," + "g.id as subUnitKerjaId," + "g.name as subUnitKerja,"
+ "c.id as statusPegawaiId," + "f.namaJabatan as namaJabatan) " + "from PlanningPegawaiStatus a, MapPegawaiJabatanToUnitKerja m "
+ "c.statusPegawai as statusPegawai," + "left join a.pegawai b " + "left join a.statusPegawaiPlan c " + "left join m.subUnitKerjaPegawai g "
+ "d.id as unitKerjaId," + "left join m.unitKerjaPegawai d " + "left join a.noSk e " + "left join m.jabatan f "
+ "d.name as unitKerja," + "where m.pegawaiId = b.id " + "and m.isPrimary is true " + "and m.statusEnabled is true "
+ "f.namaJabatan as namaJabatan) " + "and e.noRec is null " + "and a.statusEnabled is true " + "and a.approvalStatus =1 " + "and b.id=:id ";
+ "from PlanningPegawaiStatus a, MapPegawaiJabatanToUnitKerja m "
+ "left join a.pegawai b " @Query(planningStatusPegawai + "and " + "(c.id=1 or " + "c.id=24 or " + "c.id=25 or " + "c.id=26 or "
+ "left join a.statusPegawaiPlan c " + "c.id=27 or " + "c.id=28 or " + "c.id=29)")
+ "left join m.subUnitKerjaPegawai g " List<Map<String, Object>> getListPermohonanStatusByPegawai(@Param("id") Integer id);
+ "left join m.unitKerjaPegawai d "
+ "left join a.noSk e " @Query(planningStatusPegawai + "and " + "c.statusPegawai=:statusPegawai and "
+ "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 "
+ "to_char(a.tglKeputusan,'yyyy')=to_char(current_timestamp,'yyyy') ") + "to_char(a.tglKeputusan,'yyyy')=to_char(current_timestamp,'yyyy') ")
List<Map<String, Object>> getListPermohonanStatusByPegawai(@Param("id") Integer id, @Param("statusPegawai") String statusPegawai); List<Map<String, Object>> getListPermohonanStatusByPegawai(@Param("id") Integer id,
@Param("statusPegawai") String statusPegawai);
@Query(planningStatusPegawai
+ "and " @Query(planningStatusPegawai + "and " + "c.statusPegawai=:statusPegawai")
+ "c.statusPegawai=:statusPegawai") List<Map<String, Object>> getListPermohonanStatusByPegawaiAll(@Param("id") Integer id,
List<Map<String, Object>> getListPermohonanStatusByPegawaiAll(@Param("id") Integer id, @Param("statusPegawai") String statusPegawai); @Param("statusPegawai") String statusPegawai);
@Query("select NEW Map (" @Query("select NEW Map (" + "a.noRec as noRec," + "a.noPlanning as noPlanning,"
+ "a.noRec as noRec,"
+ "a.noPlanning as noPlanning,"
+ "a.deskripsiStatusPegawaiPlan as deskripsiStatusPegawaiPlan," + "a.deskripsiStatusPegawaiPlan as deskripsiStatusPegawaiPlan,"
+ "a.keteranganLainyaPlan as keteranganLainyaPlan," + "a.keteranganLainyaPlan as keteranganLainyaPlan," + "a.tglPengajuan as tglPengajuan,"
+ "a.tglPengajuan as tglPengajuan," + "b.id as pegwaiId," + "a.approvalStatus as approvalStatus, " + "b.namaLengkap as namaPegawai,"
+ "b.id as pegwaiId," + "c.id as statusPegawaiId," + "c.statusPegawai as statusPegawai," + "d.id as unitKerjaId,"
+ "a.approvalStatus as approvalStatus, " + "d.name as unitKerja," + "g.id as subUnitKerjaId," + "g.name as subUnitKerja,"
+ "b.namaLengkap as namaPegawai," + "f.namaJabatan as namaJabatan) " + "from PlanningPegawaiStatus a, MapPegawaiJabatanToUnitKerja m "
+ "c.id as statusPegawaiId," + "left join a.pegawai b " + "left join a.statusPegawaiPlan c " + "left join a.noSk e "
+ "c.statusPegawai as statusPegawai," + "left join m.jabatan f " + "left join m.subUnitKerjaPegawai g " + "left join m.unitKerjaPegawai d "
+ "d.id as unitKerjaId," + "where m.pegawaiId = b.id " + "and m.isPrimary is true " + "and m.statusEnabled is true "
+ "d.name as unitKerja," + "and e.noRec is null " + "and a.statusEnabled is true " + "and a.approvalStatus =1 "
+ "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)") + "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(); List<Map<String, Object>> getListPermohonanStatusAll();
@Query("select NEW Map (" @Query("select NEW Map (" + "a.noRec as noRec," + "a.noPlanning as noPlanning,"
+ "a.noRec as noRec,"
+ "a.noPlanning as noPlanning,"
+ "a.deskripsiStatusPegawaiPlan as deskripsiStatusPegawaiPlan," + "a.deskripsiStatusPegawaiPlan as deskripsiStatusPegawaiPlan,"
+ "a.keteranganLainyaPlan as keteranganLainyaPlan," + "a.keteranganLainyaPlan as keteranganLainyaPlan,"
+ "a.deskripsiStatusPegawaiExec as deskripsiStatusPegawaiExec," + "a.deskripsiStatusPegawaiExec as deskripsiStatusPegawaiExec,"
+ "a.keteranganLainyaExec as keteranganLainyaExec," + "a.keteranganLainyaExec as keteranganLainyaExec," + "a.tglPengajuan as tglPengajuan,"
+ "a.tglPengajuan as tglPengajuan," + "a.tglKeputusan as tglKeputusan," + "a.approvalStatus as approvalStatus," + "b.id as pegwaiId,"
+ "a.tglKeputusan as tglKeputusan," + "b.namaLengkap as namaPegawai," + "b.nipPns as nip," + "c.id as statusPegawaiId,"
+ "a.approvalStatus as approvalStatus," + "c.statusPegawai as statusPegawai," + "d.id as unitKerjaId," + "d.name as unitKerja,"
+ "b.id as pegwaiId," + "f.namaJabatan as namaJabatan) " + "from PlanningPegawaiStatus a, MapPegawaiJabatanToUnitKerja m "
+ "b.namaLengkap as namaPegawai," + "left join a.pegawai b " + "left join a.statusPegawaiPlan c " + "left join m.subUnitKerjaPegawai g "
+ "b.nipPns as nip," + "left join m.unitKerjaPegawai d " + "left join a.noSk e " + "left join m.jabatan f "
+ "c.id as statusPegawaiId," + "where m.pegawaiId = b.id " + "and m.isPrimary is true " + "and m.statusEnabled is true "
+ "c.statusPegawai as statusPegawai," + "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)")
+ "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(); List<Map<String, Object>> getApprovalStatus();
@Query("select NEW Map (" @Query("select NEW Map (" + "b.id as id) " + "from Pegawai a " + "left join a.shiftKerja b " + "where a.id=:id")
+ "b.id as id) " Map<String, Object> getKelompokShift(@Param("id") Integer id);
+ "from Pegawai a "
+ "left join a.shiftKerja b " @Query("select NEW Map (" + "a.id as id," + "a.factorRate as factorRate,"
+ "where a.id=:id") + "a.operatorFactorRate as operatorFactorRate," + "a.komponenIndex as komponenIndex) "
Map<String, Object> getKelompokShift( + "from KomponenIndex a " + "where a.id=:id")
@Param("id") Integer id); Map<String, Object> getKomponenIndex(@Param("id") Integer id);
@Query("select NEW Map (" @Query("select new map (list.noRec as noRec, list.tgl as tgl) " + "from ListTanggalCuti list "
+ "a.id as id," + "where list.planningPegawaiStatusId = :noRec " + "and list.statusEnabled is true "
+ "a.factorRate as factorRate," + "order by list.tgl asc")
+ "a.operatorFactorRate as operatorFactorRate," List<Map<String, Object>> getListTanggalCuti(@Param("noRec") String noRec);
+ "a.komponenIndex as komponenIndex) "
+ "from KomponenIndex a " @Query("select new map (list.noRec as noRec, list.tgl as tgl) " + "from ListTanggalCuti list "
+ "where a.id=:id") + "where list.approvalStatus is true " + "and list.planningPegawaiStatusId = :noRec"
Map<String, Object> getKomponenIndex( + " and list.statusEnabled is true " + "order by list.tgl")
@Param("id") Integer id); List<Map<String, Object>> getListTanggalCutiApproved(@Param("noRec") String noRec);
@Query("select distinct new Map (tglCuti.tgl as tglCuti) "
@Query("select pegawai.id "+ + "from MapPegawaiJabatanToUnitKerja mapPegawaiPelimpah, " + "PlanningPegawaiStatus planningCuti "
"from PegawaiSisaCuti psc "+ + "left join mapPegawaiPelimpah.pegawai pegawaiPelimpah " + "left join planningCuti.listTanggal tglCuti "
"left join psc.pegawai pegawai "+ + "where mapPegawaiPelimpah.pegawaiId = planningCuti.pegawaiId "
"where psc.sisaCuti=:sisaCuti") + "and planningCuti.pegawaiId = pegawaiPelimpah.id " + "and planningCuti.noRec = :noRecPlanning "
List<Integer> getIdPegawai( + "and pegawaiPelimpah.id = :idPegawaiPelimpah " + "and mapPegawaiPelimpah.statusEnabled is true "
@Param("sisaCuti") Integer sisaCuti); + "and planningCuti.statusEnabled is true " + "and pegawaiPelimpah.statusEnabled is true "
+ "and tglCuti.statusEnabled is true " + "order by tglCuti.tgl asc")
@Query("select count(jadwalKerja.id) "+ List<Map<String, Object>> getListTglCutiPelimpah(@Param("noRecPlanning") String noRecPlanning,
"from PegawaiJadwalKerja jadwalKerja "+ @Param("idPegawaiPelimpah") Integer idPegawaiPelimpah);
"left join jadwalKerja.pegawai pegawai "+
"left join jadwalKerja.tanggal kalender "+ @Query("select new Map (pegawaiPelimpah.namaLengkap as namaPegawai, " + "pegawaiPelimpah.nipPns as nipPegawai, "
"left join jadwalKerja.shift shift "+ + "jabatanPelimpah.namaJabatan as jabatanPegawai, " + "atasanLangsung.namaLengkap as namaAtasanLangsung, "
"where to_char(kalender.tanggal,'yyyy-MM-dd') between :startDate and :endDate "+ + "atasanLangsung.nipPns as nipAtasanLangsung) " + "from MapPegawaiJabatanToUnitKerja mapPegawaiPelimpah "
"and shift.id not in (:listKomponenIndexId) "+ + "left join mapPegawaiPelimpah.pegawai pegawaiPelimpah "
"and pegawai.id = :pegawaiId") + "left join mapPegawaiPelimpah.jabatan jabatanPelimpah "
Integer getDayHadir(@Param("pegawaiId") Integer pegawaiId,@Param("listKomponenIndexId") List<Integer> listKomponenIndexId,@Param("startDate") String startDate,@Param("endDate") String endDate); + "left join mapPegawaiPelimpah.atasanLangsung atasanLangsung "
+ "where pegawaiPelimpah.id = :idPegawaiPelimpah "
@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") + "and mapPegawaiPelimpah.jabatanId = :idJabatanPelimpah " + "and mapPegawaiPelimpah.statusEnabled is true "
List<Map<String,Object>> getListTanggalCuti(@Param("noRec") String noRec); + "and pegawaiPelimpah.statusEnabled is true " + "and jabatanPelimpah.statusEnabled is true "
+ "and atasanLangsung.statusEnabled is true")
@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") Map<String, Object> getDataPelimpah(@Param("idPegawaiPelimpah") Integer idPegawaiPelimpah,
List<Map<String,Object>> getListTanggalCutiApproved(@Param("noRec") String noRec); @Param("idJabatanPelimpah") Integer idJabatanPelimpah);
@Query("select list.tgl as tgl " @Query("select new Map(pegawaiDilimpah.namaLengkap as namaPegawai, " + "pegawaiDilimpah.nipPns as nipPegawai, "
+ "from ListTanggalCuti list " + "coalesce(pangkatPegawaiDilimpah.namaPangkat, '-') as pangkatPegawai, "
+ "where list.planningPegawaiStatusId in (:listNorec) " + "coalesce(golonganPegawaiDilimpah.name, '-') as golonganPegawai, "
+ "and list.statusEnabled is true " + "jabatanPegawaiDilimpah.namaJabatan as jabatanPegawai) "
+ "and list.tgl in (:listTgl) " + "from MapPegawaiJabatanToUnitKerja mapPegawaiDilimpah "
+ "and list.approvalStatus is true " + "left join mapPegawaiDilimpah.pegawai pegawaiDilimpah "
+ "and list.planningPegawaiStatus.approvalStatus = 1") + "left join mapPegawaiDilimpah.jabatan jabatanPegawaiDilimpah "
List<Date> getListAllTanggalCutiApproved(@Param("listNorec") List<String> listNorec, @Param("listTgl") List<Date> listTgl); + "left join pegawaiDilimpah.pangkat pangkatPegawaiDilimpah "
+ "left join pegawaiDilimpah.Golongan golonganPegawaiDilimpah "
@Query("select list.tgl as tgl " + "where pegawaiDilimpah.id = :idPegawaiDilimpah " + "and mapPegawaiDilimpah.statusEnabled is true "
+ "from ListTanggalCuti list " + "and pegawaiDilimpah.statusEnabled is true " + "and jabatanPegawaiDilimpah.statusEnabled is true "
+ "where list.planningPegawaiStatusId in (:listNorec) " + "and mapPegawaiDilimpah.isPrimary is true")
+ "and list.statusEnabled is true " Map<String, Object> getDataDilimpah(@Param("idPegawaiDilimpah") Integer idPegawaiDilimpah);
+ "and list.tgl in (:listTgl) "
+ "and list.planningPegawaiStatus.approvalStatus = 0") @Query("select count(l.tgl) from PlanningPegawaiStatus p " + "left join p.listTanggal l "
List<Date> getListAllTanggalCutiNotYetApprove(@Param("listNorec") List<String> listNorec, @Param("listTgl") List<Date> listTgl); + "where p.statusEnabled is true " + "and l.statusEnabled is true "
@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 "
+ "and p.approvalStatus = 0 and l.approvalStatus is null " + "and p.approvalStatus = 0 and l.approvalStatus is null "
+ "and p.pegawaiId = :idPegawai and p.statusPegawaiPlanId = :idPlan") + "and p.pegawaiId = :idPegawai and p.statusPegawaiPlanId = :idPlan")
// + "and to_char(l.tgl,'yyyy') = to_char(current_date,'yyyy')") Integer getJumlahPengajuanDiprosesByPegawai(@Param("idPegawai") Integer idPegawai, @Param("idPlan") Integer idPlan);
public Integer getJumlahPengajuanDiprosesByPegawai(@Param("idPegawai") Integer idPegawai, @Param("idPlan") Integer idPlan);
@Query("select count(l.tgl) from PlanningPegawaiStatus p " + "left join p.listTanggal l "
@Query("select count(l.tgl) from PlanningPegawaiStatus p " + "where p.statusEnabled is true " + "and l.statusEnabled is true "
+ "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.approvalStatus = 0 and l.approvalStatus is null "
+ "and p.pegawaiId = :idPegawai and p.statusPegawaiPlanId = :idPlan " + "and p.pegawaiId = :idPegawai and p.statusPegawaiPlanId = :idPlan "
+ "and to_char(l.tgl,'yyyy') = to_char(current_date,'yyyy')") + "and to_char(l.tgl,'yyyy') = to_char(current_date,'yyyy')")
public Integer getJumlahPengajuanDiprosesTahunIniByPegawai(@Param("idPegawai") Integer idPegawai, @Param("idPlan") Integer idPlan); Integer getJumlahPengajuanDiprosesTahunIniByPegawai(@Param("idPegawai") Integer idPegawai,
@Param("idPlan") Integer idPlan);
@Query("select count(l.tgl) from PlanningPegawaiStatus p "
+ "left join p.listTanggal l " @Query("select count(l.tgl) from PlanningPegawaiStatus p " + "left join p.listTanggal l "
+ "where p.statusEnabled is true " + "where p.statusEnabled is true " + "and l.statusEnabled is true "
+ "and l.statusEnabled is true "
+ "and p.approvalStatus = 0 and l.approvalStatus is null " + "and p.approvalStatus = 0 and l.approvalStatus is null "
+ "and p.pegawaiId = :idPegawai and p.statusPegawaiPlanId = :idPlan " + "and p.pegawaiId = :idPegawai and p.statusPegawaiPlanId = :idPlan "
+ "and to_char(l.tgl,'yyyy') > to_char(current_date,'yyyy')") + "and to_char(l.tgl,'yyyy') > to_char(current_date,'yyyy')")
public Integer getJumlahPengajuanDiprosesTahunDepanByPegawai(@Param("idPegawai") Integer idPegawai, @Param("idPlan") Integer idPlan); Integer getJumlahPengajuanDiprosesTahunDepanByPegawai(@Param("idPegawai") Integer idPegawai,
@Param("idPlan") Integer idPlan);
@Query("select count(l.tgl) from PlanningPegawaiStatus p "
+ "left join p.listTanggal l " @Query("select count(l.tgl) from PlanningPegawaiStatus p " + "left join p.listTanggal l "
+ "where p.statusEnabled is true " + "where p.statusEnabled is true " + "and l.statusEnabled is true "
+ "and l.statusEnabled is true " + "and p.approvalStatus = 0 and l.approvalStatus is null " + "and p.pegawaiId = :idPegawai "
+ "and p.approvalStatus = 0 and l.approvalStatus is null " + "and p.noPlanning <> :noPlanning " + "and p.statusPegawaiPlanId = :idPlan")
+ "and p.pegawaiId = :idPegawai " Integer getJumlahPengajuanDiprosesByPegawai(@Param("idPegawai") Integer idPegawai, @Param("idPlan") Integer idPlan,
+ "and p.noPlanning <> :noPlanning " @Param("noPlanning") String noPlanning);
+ "and p.statusPegawaiPlanId = :idPlan")
// + "and to_char(l.tgl,'yyyy') = to_char(current_date,'yyyy')") @Query("select count(l.tgl) from PlanningPegawaiStatus p " + "left join p.listTanggal l "
public Integer getJumlahPengajuanDiprosesByPegawai(@Param("idPegawai") Integer idPegawai, @Param("idPlan") Integer idPlan, @Param("noPlanning") String noPlanning); + "where p.statusEnabled is true " + "and l.statusEnabled is true "
+ "and p.approvalStatus = 0 and l.approvalStatus is null " + "and p.pegawaiId = :idPegawai "
@Query("select count(l.tgl) from PlanningPegawaiStatus p " + "and p.noPlanning <> :noPlanning " + "and p.statusPegawaiPlanId = :idPlan "
+ "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')") + "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); 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 " @Query("select count(l.tgl) from PlanningPegawaiStatus p " + "left join p.listTanggal l "
+ "where p.statusEnabled is true " + "where p.statusEnabled is true " + "and l.statusEnabled is true "
+ "and l.statusEnabled is true " + "and p.approvalStatus = 0 and l.approvalStatus is null " + "and p.pegawaiId = :idPegawai "
+ "and p.approvalStatus = 0 and l.approvalStatus is null " + "and p.noPlanning <> :noPlanning " + "and p.statusPegawaiPlanId = :idPlan "
+ "and p.pegawaiId = :idPegawai "
+ "and p.noPlanning <> :noPlanning "
+ "and p.statusPegawaiPlanId = :idPlan "
+ "and to_char(l.tgl,'yyyy') > to_char(current_date,'yyyy')") + "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); 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, " @Query("select NEW Map (a.noRec as noRec, " + "a.statusEnabled as statusEnabled, " + "a.noPlanning as noPlanning, "
+ "a.noPlanning as noPlanning, "
+ "a.deskripsiStatusPegawaiPlan as deskripsiStatusPegawaiPlan, " + "a.deskripsiStatusPegawaiPlan as deskripsiStatusPegawaiPlan, "
+ "a.keteranganLainyaPlan as keteranganLainyaPlan, " + "a.keteranganLainyaPlan as keteranganLainyaPlan, "
+ "a.deskripsiStatusPegawaiExec as deskripsiStatusPegawaiExec, " + "a.deskripsiStatusPegawaiExec as deskripsiStatusPegawaiExec, "
+ "a.keteranganLainyaExec as keteranganLainyaExec, " + "a.keteranganLainyaExec as keteranganLainyaExec, " + "a.tglPengajuan as tglPengajuan, "
+ "a.tglPengajuan as tglPengajuan, " + "a.tglKeputusan as tglKeputusan, " + "a.approvalStatus as approvalStatus, "
+ "a.tglKeputusan as tglKeputusan, " + "a.alamatCuti as alamatCuti, " + "a.nomorTelepon as nomorTelepon, "
+ "a.approvalStatus as approvalStatus, " + "a.isCutiLuarNegeri as isCutiLuarNegeri, " + "a.isCutiLuarKota as isCutiLuarKota, "
+ "a.alamatCuti as alamatCuti, " + "a.noSuratTugas as noSuratTugas, " + "a.noNotaDinas as noNotaDinas, " + "a.tglNotaDinas as tglNotaDinas, "
+ "a.nomorTelepon as nomorTelepon, " + "a.alamatTugas as alamatTugas, " + "a.jenisPerawatan as sakit, "
+ "a.isCutiLuarNegeri as isCutiLuarNegeri, " + "a.jabatanIdPemberiNotaDinas as jabatanIdPemberiNotaDinas, " + "listTgl.noRec as norecTgl, "
+ "a.isCutiLuarKota as isCutiLuarKota, " + "listTgl.tgl as tgl, " + "listTgl.approvalStatus as approvalStatusTgl, "
+ "a.noSuratTugas as noSuratTugas, " + "fp.namaJabatan as jabatanPemberiNotaDinas, " + "subUnitKerja.id as idUnitKerja, "
+ "a.noNotaDinas as noNotaDinas, " + "subUnitKerja.name as unitKerja, " + "b.id as pegwaiId, " + "b.namaLengkap as namaPegawai, "
+ "a.tglNotaDinas as tglNotaDinas, " + "b.nipPns as nip, " + "b.eselonId as eselonId, " + "c.id as statusPegawaiId, "
+ "a.alamatTugas as alamatTugas, " + "c.statusPegawai as statusPegawai, " + "f.namaJabatan as namaJabatan) " + "from PlanningPegawaiStatus a, "
+ "a.jenisPerawatan as sakit, " + "MapPegawaiJabatanToUnitKerja mp " + "left join a.pegawai b " + "left join a.statusPegawaiPlan c "
+ "a.jabatanIdPemberiNotaDinas as jabatanIdPemberiNotaDinas, " + "left join a.noSk e " + "left join a.listTanggal listTgl " + "left join a.jabatanPemberiNotaDinas fp "
+ "listTgl.noRec as norecTgl, " + "left join mp.jabatan f " + "left join mp.subUnitKerjaPegawai subUnitKerja "
+ "listTgl.tgl as tgl, " + "where mp.pegawaiId = b.id " + "and a.pegawaiId = mp.pegawaiId " + "and a.statusEnabled is true "
+ "listTgl.approvalStatus as approvalStatusTgl, " + "and listTgl.statusEnabled is true " + "and mp.statusEnabled is true " + "and mp.isPrimary is true "
+ "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 e.noRec is null "
+ "and ((to_char(listTgl.tgl, 'yyyy') = :currentYear and a.approvalStatus <> :approvalStatusId1) " + "and ((to_char(listTgl.tgl, 'yyyy') = :currentYear and a.approvalStatus <> :approvalStatusId1) "
+ "or (to_char(listTgl.tgl, 'yyyy') <> :currentYear and a.approvalStatus = :approvalStatusId2)) " + "or (to_char(listTgl.tgl, 'yyyy') <> :currentYear and a.approvalStatus = :approvalStatusId2)) "
+ "and c.id in (:ketidakhadiranId) " + "and c.id in (:ketidakhadiranId) " + "and b.id = :idPegawai "
+ "and b.id = :idPegawai "
+ "order by a.tglPengajuan desc, listTgl.tgl asc") + "order by a.tglPengajuan desc, listTgl.tgl asc")
public List<Map<String, Object>> getApprovalStatus(@Param("idPegawai") Integer idPegawai, @Param("currentYear") String currentYear, List<Map<String, Object>> getApprovalStatus(@Param("idPegawai") Integer idPegawai,
@Param("approvalStatusId1") Integer approvalStatusId1, @Param("approvalStatusId2") Integer approvalStatusId2, @Param("currentYear") String currentYear, @Param("approvalStatusId1") Integer approvalStatusId1,
@Param("approvalStatusId2") Integer approvalStatusId2,
@Param("ketidakhadiranId") List<Integer> ketidakhadiranId); @Param("ketidakhadiranId") List<Integer> ketidakhadiranId);
@Query("select NEW Map (a.noRec as noRec, " @Query("select NEW Map (a.noRec as noRec, " + "a.statusEnabled as statusEnabled, " + "a.noPlanning as noPlanning, "
+ "a.statusEnabled as statusEnabled, "
+ "a.noPlanning as noPlanning, "
+ "a.deskripsiStatusPegawaiPlan as deskripsiStatusPegawaiPlan, " + "a.deskripsiStatusPegawaiPlan as deskripsiStatusPegawaiPlan, "
+ "a.keteranganLainyaPlan as keteranganLainyaPlan, " + "a.keteranganLainyaPlan as keteranganLainyaPlan, "
+ "a.deskripsiStatusPegawaiExec as deskripsiStatusPegawaiExec, " + "a.deskripsiStatusPegawaiExec as deskripsiStatusPegawaiExec, "
+ "a.keteranganLainyaExec as keteranganLainyaExec, " + "a.keteranganLainyaExec as keteranganLainyaExec, " + "a.tglPengajuan as tglPengajuan, "
+ "a.tglPengajuan as tglPengajuan, " + "a.tglKeputusan as tglKeputusan, " + "a.approvalStatus as approvalStatus, "
+ "a.tglKeputusan as tglKeputusan, " + "a.alamatCuti as alamatCuti, " + "a.nomorTelepon as nomorTelepon, "
+ "a.approvalStatus as approvalStatus, " + "a.isCutiLuarNegeri as isCutiLuarNegeri, " + "a.isCutiLuarKota as isCutiLuarKota, "
+ "a.alamatCuti as alamatCuti, " + "a.noSuratTugas as noSuratTugas, " + "a.noNotaDinas as noNotaDinas, " + "a.tglNotaDinas as tglNotaDinas, "
+ "a.nomorTelepon as nomorTelepon, " + "a.alamatTugas as alamatTugas, " + "a.jabatanIdPemberiNotaDinas as jabatanIdPemberiNotaDinas, "
+ "a.isCutiLuarNegeri as isCutiLuarNegeri, " + "listTgl.noRec as norecTgl, " + "listTgl.tgl as tgl, " + "listTgl.approvalStatus as approvalStatusTgl, "
+ "a.isCutiLuarKota as isCutiLuarKota, " + "fp.namaJabatan as jabatanPemberiNotaDinas, " + "subUnitKerja.id as idUnitKerja, "
+ "a.noSuratTugas as noSuratTugas, " + "subUnitKerja.name as unitKerja, " + "b.id as pegwaiId, " + "b.namaLengkap as namaPegawai, "
+ "a.noNotaDinas as noNotaDinas, " + "b.nipPns as nip, " + "b.eselonId as eselonId, " + "c.id as statusPegawaiId, "
+ "a.tglNotaDinas as tglNotaDinas, " + "c.statusPegawai as statusPegawai, " + "f.namaJabatan as namaJabatan) " + "from PlanningPegawaiStatus a, "
+ "a.alamatTugas as alamatTugas, " + "MapPegawaiJabatanToUnitKerja mp " + "left join a.pegawai b " + "left join a.statusPegawaiPlan c "
+ "a.jabatanIdPemberiNotaDinas as jabatanIdPemberiNotaDinas, " + "left join a.noSk e " + "left join a.listTanggal listTgl " + "left join a.jabatanPemberiNotaDinas fp "
+ "listTgl.noRec as norecTgl, " + "left join mp.jabatan f " + "left join mp.subUnitKerjaPegawai subUnitKerja "
+ "listTgl.tgl as tgl, " + "where mp.pegawaiId = b.id " + "and a.pegawaiId = mp.pegawaiId " + "and a.statusEnabled is true "
+ "listTgl.approvalStatus as approvalStatusTgl, " + "and listTgl.statusEnabled is true " + "and mp.statusEnabled is true " + "and mp.isPrimary is true "
+ "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) " + "and ((to_char(listTgl.tgl, 'yyyy') = :currentYear and a.approvalStatus <> :approvalStatusId1) "
+ "or (to_char(listTgl.tgl, 'yyyy') <> :currentYear and a.approvalStatus = :approvalStatusId2)) " + "or (to_char(listTgl.tgl, 'yyyy') <> :currentYear and a.approvalStatus = :approvalStatusId2)) "
+ "and e.noRec is null " + "and e.noRec is null " + "and c.id in (:ketidakhadiranId) "
+ "and c.id in (:ketidakhadiranId) "
+ "order by a.tglPengajuan desc, listTgl.tgl asc") + "order by a.tglPengajuan desc, listTgl.tgl asc")
public List<Map<String, Object>> getApprovalStatus(@Param("currentYear") String currentYear, @Param("approvalStatusId1") Integer approvalStatusId1, List<Map<String, Object>> getApprovalStatus(@Param("currentYear") String currentYear,
@Param("approvalStatusId2") Integer approvalStatusId2, @Param("ketidakhadiranId") List<Integer> ketidakhadiranId); @Param("approvalStatusId1") Integer approvalStatusId1,
@Param("approvalStatusId2") Integer approvalStatusId2,
@Query("select NEW Map (a.noRec as noRec, " @Param("ketidakhadiranId") List<Integer> ketidakhadiranId);
+ "a.noPlanning as noPlanning, "
@Query("select NEW Map (a.noRec as noRec, " + "a.noPlanning as noPlanning, "
+ "a.deskripsiStatusPegawaiPlan as deskripsiStatusPegawaiPlan, " + "a.deskripsiStatusPegawaiPlan as deskripsiStatusPegawaiPlan, "
+ "a.keteranganLainyaPlan as keteranganLainyaPlan, " + "a.keteranganLainyaPlan as keteranganLainyaPlan, "
+ "a.deskripsiStatusPegawaiExec as deskripsiStatusPegawaiExec, " + "a.deskripsiStatusPegawaiExec as deskripsiStatusPegawaiExec, "
+ "a.keteranganLainyaExec as keteranganLainyaExec, " + "a.keteranganLainyaExec as keteranganLainyaExec, " + "a.tglPengajuan as tglPengajuan, "
+ "a.tglPengajuan as tglPengajuan, " + "a.tglKeputusan as tglKeputusan, " + "a.approvalStatus as approvalStatus, "
+ "a.tglKeputusan as tglKeputusan, " + "a.alamatCuti as alamatCuti, " + "a.nomorTelepon as nomorTelepon, "
+ "a.approvalStatus as approvalStatus, " + "a.isCutiLuarNegeri as isCutiLuarNegeri, " + "a.isCutiLuarKota as isCutiLuarKota, "
+ "a.alamatCuti as alamatCuti, " + "a.noSuratTugas as noSuratTugas, " + "a.noNotaDinas as noNotaDinas, " + "a.tglNotaDinas as tglNotaDinas, "
+ "a.nomorTelepon as nomorTelepon, " + "a.alamatTugas as alamatTugas, " + "a.jenisPerawatan as sakit, "
+ "a.isCutiLuarNegeri as isCutiLuarNegeri, " + "a.jabatanIdPemberiNotaDinas as jabatanIdPemberiNotaDinas, " + "listTgl.noRec as norecTgl, "
+ "a.isCutiLuarKota as isCutiLuarKota, " + "listTgl.tgl as tgl, " + "listTgl.approvalStatus as approvalStatusTgl, "
+ "a.noSuratTugas as noSuratTugas, " + "fp.namaJabatan as jabatanPemberiNotaDinas, " + "subUnitKerja.id as idUnitKerja, "
+ "a.noNotaDinas as noNotaDinas, " + "subUnitKerja.name as unitKerja, " + "b.id as pegwaiId, " + "b.namaLengkap as namaPegawai, "
+ "a.tglNotaDinas as tglNotaDinas, " + "b.nipPns as nip, " + "c.id as statusPegawaiId, " + "c.statusPegawai as statusPegawai, "
+ "a.alamatTugas as alamatTugas, " + "f.namaJabatan as namaJabatan) " + "from PlanningPegawaiStatus a, " + "MapPegawaiJabatanToUnitKerja mp "
+ "a.jenisPerawatan as sakit, " + "left join a.pegawai b " + "left join a.statusPegawaiPlan c " + "left join a.noSk e "
+ "a.jabatanIdPemberiNotaDinas as jabatanIdPemberiNotaDinas, " + "left join a.jabatanPemberiNotaDinas fp " + "left join a.listTanggal listTgl " + "left join mp.jabatan f "
+ "listTgl.noRec as norecTgl, " + "left join mp.subUnitKerjaPegawai subUnitKerja " + "where mp.pegawaiId = b.id "
+ "listTgl.tgl as tgl, " + "and a.pegawaiId = mp.pegawaiId " + "and a.statusEnabled = true " + "and listTgl.statusEnabled = true "
+ "listTgl.approvalStatus as approvalStatusTgl, " + "and mp.statusEnabled is true " + "and mp.isPrimary is true "
+ "fp.namaJabatan as jabatanPemberiNotaDinas, " + "and a.approvalStatus = :approvalStatusId " + "and e.noRec is null " + "and c.id in (:ketidakhadiranId) "
+ "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") + "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); @Param("ketidakhadiranId") List<Integer> ketidakhadiranId);
@Query("select new Map(pegawai.namaLengkap as namaLengkap, " @Query("select new Map(pegawai.namaLengkap as namaLengkap, " + "coalesce(pegawai.nipPns, pegawai.nip) as nip, "
+ "coalesce(pegawai.nipPns, pegawai.nip) as nip, "
+ "pangkat.namaPangkat || ' / ' || golongan.golonganPegawai as pangkatGol, " + "pangkat.namaPangkat || ' / ' || golongan.golonganPegawai as pangkatGol, "
+ "jabatan.namaJabatan as namaJabatan, " + "jabatan.namaJabatan as namaJabatan, " + "transaksiCuti.statusPegawaiPlanId as idPlanning, "
+ "transaksiCuti.statusPegawaiPlanId as idPlanning, " + "statusPegawai.statusPegawai as statusPegawai, " + "tglCuti.tgl as tglCuti) "
+ "statusPegawai.statusPegawai as statusPegawai, "
+ "tglCuti.tgl as tglCuti) "
+ "from MapPegawaiJabatanToUnitKerja mappingJabatan, PlanningPegawaiStatus transaksiCuti " + "from MapPegawaiJabatanToUnitKerja mappingJabatan, PlanningPegawaiStatus transaksiCuti "
+ "left join mappingJabatan.pegawai pegawai " + "left join mappingJabatan.pegawai pegawai " + "left join mappingJabatan.jabatan jabatan "
+ "left join mappingJabatan.jabatan jabatan "
+ "left join transaksiCuti.listTanggal tglCuti " + "left join transaksiCuti.listTanggal tglCuti "
+ "left join transaksiCuti.statusPegawaiPlan statusPegawai " + "left join transaksiCuti.statusPegawaiPlan statusPegawai " + "left join pegawai.pangkat pangkat "
+ "left join pegawai.pangkat pangkat " + "left join pangkat.kdGolonganPegawai golongan " + "where transaksiCuti.pegawaiId = pegawai.id "
+ "left join pangkat.kdGolonganPegawai golongan " + "and mappingJabatan.pegawaiId = transaksiCuti.pegawaiId " + "and mappingJabatan.statusEnabled is true "
+ "where transaksiCuti.pegawaiId = pegawai.id " + "and pegawai.statusEnabled is true " + "and mappingJabatan.isPrimary is true "
+ "and mappingJabatan.pegawaiId = transaksiCuti.pegawaiId " + "and tglCuti.statusEnabled is true " + "and transaksiCuti.noRec = :norec")
+ "and mappingJabatan.statusEnabled is true " List<Map<String, Object>> getCetakCutiLuarNegeri(@Param("norec") String norec);
+ "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);
} }

View File

@ -5,6 +5,7 @@ import com.jasamedika.medifirst2000.dao.*;
import com.jasamedika.medifirst2000.dto.DataCutiDto; import com.jasamedika.medifirst2000.dto.DataCutiDto;
import com.jasamedika.medifirst2000.dto.JatahCutiRequest; import com.jasamedika.medifirst2000.dto.JatahCutiRequest;
import com.jasamedika.medifirst2000.dto.PresensiHariLibur; import com.jasamedika.medifirst2000.dto.PresensiHariLibur;
import com.jasamedika.medifirst2000.entities.ListTanggalCuti;
import com.jasamedika.medifirst2000.entities.MapKalenderToHariLibur; import com.jasamedika.medifirst2000.entities.MapKalenderToHariLibur;
import com.jasamedika.medifirst2000.service.JatahCutiDanIzinService; import com.jasamedika.medifirst2000.service.JatahCutiDanIzinService;
import com.jasamedika.medifirst2000.util.CommonUtil; import com.jasamedika.medifirst2000.util.CommonUtil;
@ -18,6 +19,7 @@ import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static com.jasamedika.medifirst2000.constants.Master.HariLibur.LIBUR_CB; import static com.jasamedika.medifirst2000.constants.Master.HariLibur.LIBUR_CB;
import static com.jasamedika.medifirst2000.constants.Master.StatusPegawai.CUTI_TAHUNAN;
/** /**
* @author Salman * @author Salman
@ -48,6 +50,9 @@ public class JatahCutiDanIzinServiceImpl implements JatahCutiDanIzinService {
@Autowired @Autowired
private HabsenDao habsenDao; private HabsenDao habsenDao;
@Autowired
private ListTanggalCutiDao tanggalCutiDao;
@Override @Override
public DataCutiDto getDataCuti(Integer pegawaiId, String year, Integer statusPegawaiId) { public DataCutiDto getDataCuti(Integer pegawaiId, String year, Integer statusPegawaiId) {
DataCutiDto dto = calculateCutiIzin(pegawaiId, year, statusPegawaiId); DataCutiDto dto = calculateCutiIzin(pegawaiId, year, statusPegawaiId);
@ -207,7 +212,7 @@ public class JatahCutiDanIzinServiceImpl implements JatahCutiDanIzinService {
} else { } else {
// cuti tahunan di tanggal cuti bersama // cuti tahunan di tanggal cuti bersama
List<Date> tglCutiTahunanDiTglCutiBersama = jatahCutiDanIzinDao List<Date> tglCutiTahunanDiTglCutiBersama = jatahCutiDanIzinDao
.getCutiTahunanDiTglCutiBersama(Master.StatusPegawai.CUTI_TAHUNAN, pegawaiId, tglStr); .getCutiTahunanDiTglCutiBersama(CUTI_TAHUNAN, pegawaiId, tglStr);
if (CommonUtil.isNotNullOrEmpty(tglCutiTahunanDiTglCutiBersama)) { if (CommonUtil.isNotNullOrEmpty(tglCutiTahunanDiTglCutiBersama)) {
if (listMap.size() == 2) { if (listMap.size() == 2) {
if (Arrays.asList(Master.ShiftKerja.TUJUH_BELAS_JAM_SHIFT) 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) { private DataCutiDto tangguhkanCutiBersama(DataCutiDto dto, JatahCutiRequest request) {
Date previousYear = DateUtil.getInstanceCalendar(-1); Date tahunLalu = DateUtil.getInstanceCalendar(-1);
Date janFirstPrevYear = DateUtil.startYear(previousYear); Date awalTahunLalu = DateUtil.startYear(tahunLalu);
Date decEndPrevYear = DateUtil.endYear(previousYear); Date akhirTahunLalu = DateUtil.endYear(tahunLalu);
List<MapKalenderToHariLibur> listCBPrevYear = mapKalenderToHariLiburDao.getByTahun(LIBUR_CB, janFirstPrevYear, List<MapKalenderToHariLibur> listKalenderCutiBersama = mapKalenderToHariLiburDao.getByTahun(LIBUR_CB,
decEndPrevYear); awalTahunLalu, akhirTahunLalu);
int countCBPrevYear = listCBPrevYear.size(); List<MapKalenderToHariLibur> listKalenderCutiBersamaBisaDitangguhkan = listKalenderCutiBersama.stream()
List<MapKalenderToHariLibur> listCBPrevYearSuspended = listCBPrevYear.stream()
.filter(MapKalenderToHariLibur::getIsCutiBersamaDitangguhkan).collect(Collectors.toList()); .filter(MapKalenderToHariLibur::getIsCutiBersamaDitangguhkan).collect(Collectors.toList());
int countCBAllocated = 0; List<ListTanggalCuti> listCutiTahunLaluBelumDisetujui = tanggalCutiDao
List<PresensiHariLibur> listPresensiPrevYear = mapKalenderToHariLiburDao .notApprovedByPermohonan(request.getPegawaiId(), CUTI_TAHUNAN, awalTahunLalu, akhirTahunLalu);
.getPresensiByTahun(request.getPegawaiId(), janFirstPrevYear, decEndPrevYear); List<PresensiHariLibur> listPresensiTahunLalu = mapKalenderToHariLiburDao
for (PresensiHariLibur presensiPrevYear : listPresensiPrevYear) { .getPresensiByTahun(request.getPegawaiId(), LIBUR_CB, awalTahunLalu, akhirTahunLalu);
for (MapKalenderToHariLibur cbPrevYearSuspended : listCBPrevYearSuspended) { int presensiCutiBersama = countValidPresensi(listPresensiTahunLalu, listKalenderCutiBersama);
if (presensiPrevYear.getTanggal().equals(cbPrevYearSuspended.getTanggal().getTanggal())) { int jatahDitangguhkan = countValidPresensi(listPresensiTahunLalu, listKalenderCutiBersamaBisaDitangguhkan);
countCBAllocated++; if (presensiCutiBersama - dto.getCutiTerpakaiB1()
break; + listCutiTahunLaluBelumDisetujui.size() > jatahDitangguhkan) {
} dto.setDataCutiB(dto.getDataCutiB() + jatahDitangguhkan);
} dto.setSisaCutiB(dto.getDataCutiB() - dto.getCutiTerpakaiB());
}
if (dto.getCutiTerpakaiB1() < countCBPrevYear) {
if (countCBPrevYear - dto.getCutiTerpakaiB1() > countCBAllocated) {
dto.setDataCutiB(dto.getDataCutiB() + countCBAllocated);
dto.setSisaCutiB(dto.getDataCutiB() - dto.getCutiTerpakaiB());
}
} }
return dto; 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 Date tanggal;
private Boolean isCutiBersamaDitangguhkan;
} }

View File

@ -12,59 +12,30 @@ import javax.persistence.Table;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.jasamedika.medifirst2000.base.BaseTransaction; import com.jasamedika.medifirst2000.base.BaseTransaction;
import com.jasamedika.medifirst2000.helper.Caption; import com.jasamedika.medifirst2000.helper.Caption;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
@Entity @Entity
@Table(name="ListTanggalCuti_T") @Table(name = "ListTanggalCuti_T")
@JsonIgnoreProperties({"hibernateLazyInitializer", "handler"}) @JsonIgnoreProperties({ "hibernateLazyInitializer", "handler" })
public class ListTanggalCuti extends BaseTransaction{ public class ListTanggalCuti extends BaseTransaction {
@Caption(value="tgl") @Caption(value = "tgl")
@Column(name="tgl", nullable=true) @Column(name = "tgl")
private Date tgl; private Date tgl;
@Caption(value="Approval Status") @Caption(value = "Approval Status")
@Column(name="ApprovalStatus", nullable=true) @Column(name = "ApprovalStatus")
private Boolean approvalStatus; private Boolean approvalStatus;
@ManyToOne(fetch=FetchType.LAZY) @ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name="ObjectPlanningPegawaiStatusFK") @JoinColumn(name = "ObjectPlanningPegawaiStatusFK")
@Caption(value="Object Planning Pegawai Status") @Caption(value = "Object Planning Pegawai Status")
private PlanningPegawaiStatus planningPegawaiStatus; private PlanningPegawaiStatus planningPegawaiStatus;
@Column(name="ObjectPlanningPegawaiStatusFK", insertable=false, updatable=false, nullable = true) @Column(name = "ObjectPlanningPegawaiStatusFK", insertable = false, updatable = false)
private String planningPegawaiStatusId; 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.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.jasamedika.medifirst2000.base.BaseTransaction; import com.jasamedika.medifirst2000.base.BaseTransaction;
import com.jasamedika.medifirst2000.helper.Caption; import com.jasamedika.medifirst2000.helper.Caption;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
@Entity @Entity
@Table(name="PlanningPegawaiStatus_T") @Table(name = "PlanningPegawaiStatus_T")
@JsonIgnoreProperties({ "hibernateLazyInitializer", "handler" }) @JsonIgnoreProperties({ "hibernateLazyInitializer", "handler" })
public class PlanningPegawaiStatus extends BaseTransaction{ public class PlanningPegawaiStatus extends BaseTransaction {
@Caption(value="No Planning") @Caption(value = "No Planning")
@Column(name="NoPlanning", length=15, nullable=true) @Column(name = "NoPlanning", length = 15)
private String noPlanning; private String noPlanning;
@ManyToOne(fetch=FetchType.LAZY) @ManyToOne(fetch = FetchType.LAZY)
@Caption(value="Object Pegawai") @Caption(value = "Object Pegawai")
@JoinColumn(name="ObjectPegawaiFk") @JoinColumn(name = "ObjectPegawaiFk")
private Pegawai pegawai; private Pegawai pegawai;
@Column(name="ObjectPegawaiFk", nullable=true, insertable=false, updatable=false) @Column(name = "ObjectPegawaiFk", insertable = false, updatable = false)
private Integer pegawaiId; private Integer pegawaiId;
@ManyToOne(fetch=FetchType.LAZY) @ManyToOne(fetch = FetchType.LAZY)
@Caption(value="Object Status Pegawai Plan") @Caption(value = "Object Status Pegawai Plan")
@JoinColumn(name="ObjectStatusPegawaiPlanFk") @JoinColumn(name = "ObjectStatusPegawaiPlanFk")
private StatusPegawai statusPegawaiPlan; private StatusPegawai statusPegawaiPlan;
@Column(name="ObjectStatusPegawaiPlanFk", nullable=true, insertable=false, updatable=false) @Column(name = "ObjectStatusPegawaiPlanFk", insertable = false, updatable = false)
private Integer statusPegawaiPlanId; private Integer statusPegawaiPlanId;
@JsonBackReference @JsonBackReference
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "planningPegawaiStatus", orphanRemoval = true) @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "planningPegawaiStatus", orphanRemoval = true)
private Set<ListTanggalCuti> listTanggal = new HashSet<>(); private Set<ListTanggalCuti> listTanggal = new HashSet<>();
@ManyToOne(fetch=FetchType.LAZY) @ManyToOne(fetch = FetchType.LAZY)
@Caption(value="Object Departemen") @Caption(value = "Object Departemen")
@JoinColumn(name="ObjectDepartemenFk") @JoinColumn(name = "ObjectDepartemenFk")
private Departemen departemen; private Departemen departemen;
@Column(name="ObjectDepartemenFk", nullable=true, insertable=false, updatable=false) @Column(name = "ObjectDepartemenFk", insertable = false, updatable = false)
private Integer departemenId; private Integer departemenId;
@Caption(value="Deskripsi Status Pegawai Plan") @Caption(value = "Deskripsi Status Pegawai Plan")
@Column(name="DeskripsiStatusPegawaiPlan", length=1000, nullable=true) @Column(name = "DeskripsiStatusPegawaiPlan", length = 1000)
private String deskripsiStatusPegawaiPlan; private String deskripsiStatusPegawaiPlan;
@Caption(value="Keterangan Lainya Plan") @Caption(value = "Keterangan Lainya Plan")
@Column(name="KeteranganLainyaPlan", length=1000, nullable=true) @Column(name = "KeteranganLainyaPlan", length = 1000)
private String keteranganLainyaPlan; private String keteranganLainyaPlan;
@ManyToOne(fetch=FetchType.LAZY) @ManyToOne(fetch = FetchType.LAZY)
@Caption(value="Object No SK") @Caption(value = "Object No SK")
@JoinColumn(name="ObjectNoSkFk") @JoinColumn(name = "ObjectNoSkFk")
private SuratKeputusan noSk; private SuratKeputusan noSk;
@Column(name="ObjectNoSkFk", nullable=true, insertable=false, updatable=false) @Column(name = "ObjectNoSkFk", insertable = false, updatable = false)
private Integer noSkId; private Integer noSkId;
@ManyToOne(fetch=FetchType.LAZY) @ManyToOne(fetch = FetchType.LAZY)
@Caption(value="Object Status Pegawai Exec") @Caption(value = "Object Status Pegawai Exec")
@JoinColumn(name="ObjectStatusPegawaiExecFk") @JoinColumn(name = "ObjectStatusPegawaiExecFk")
private StatusPegawai statusPegawaiExec; private StatusPegawai statusPegawaiExec;
@Column(name="ObjectStatusPegawaiExecFk", nullable=true, insertable=false, updatable=false) @Column(name = "ObjectStatusPegawaiExecFk", insertable = false, updatable = false)
private Integer statusPegawaiExecId; private Integer statusPegawaiExecId;
@Caption(value="Deskripsi Status Pegawai Exec") @Caption(value = "Deskripsi Status Pegawai Exec")
@Column(name="DeskripsiStatusPegawaiExec", length=1000, nullable=true) @Column(name = "DeskripsiStatusPegawaiExec", length = 1000)
private String deskripsiStatusPegawaiExec; private String deskripsiStatusPegawaiExec;
@Caption(value="Keterangan Lainya Exec") @Caption(value = "Keterangan Lainya Exec")
@Column(name="KeteranganLainyaExec", length=1000, nullable=true) @Column(name = "KeteranganLainyaExec", length = 1000)
private String keteranganLainyaExec; private String keteranganLainyaExec;
@Caption(value="Tgl Pengajuan") @Caption(value = "Tgl Pengajuan")
@Column(name="TglPengajuan", nullable=true) @Column(name = "TglPengajuan")
private Date tglPengajuan; private Date tglPengajuan;
@Caption(value="Tgl Keputusan") @Caption(value = "Tgl Keputusan")
@Column(name="TglKeputusan", nullable=true) @Column(name = "TglKeputusan")
private Date tglKeputusan; private Date tglKeputusan;
@Caption(value="Approval Status") @Caption(value = "Approval Status")
@Column(name="ApprovalStatus", nullable=true) @Column(name = "ApprovalStatus")
private Integer approvalStatus; private Integer approvalStatus;
@Caption(value="jumlahHari") @Caption(value = "jumlahHari")
@Column(name="jumlahHari", nullable=true) @Column(name = "jumlahHari")
private Integer jumlahHari; private Integer jumlahHari;
@Caption(value="keterangan") @Caption(value = "keterangan")
@Column(name="keterangan", nullable=true) @Column(name = "keterangan")
private String keterangan; private String keterangan;
@Caption(value="Jenis Perawatan") @Caption(value = "Jenis Perawatan")
@Column(name="jenisPerawatan", nullable=true) @Column(name = "jenisPerawatan")
private Integer jenisPerawatan; //Add field untuk permohonan perubahan kehadiran karena sakit private Integer jenisPerawatan;
@Caption(value="Alamat Selama Cuti") @Caption(value = "Alamat Selama Cuti")
@Column(name="alamatCuti", nullable=true) @Column(name = "alamatCuti")
private String alamatCuti; //Add field untuk input alamat selama cuti di menu pengajuan Cuti private String alamatCuti;
@Caption(value="Nomor Telepon") @Caption(value = "Nomor Telepon")
@Column(name="nomorTelepon", nullable=true) @Column(name = "nomorTelepon")
private String nomorTelepon; private String nomorTelepon;
@Caption(value="Nomor Surat Tugas") @Caption(value = "Nomor Surat Tugas")
@Column(name="noSuratTugas", nullable=true) @Column(name = "noSuratTugas")
private String noSuratTugas; private String noSuratTugas;
@Caption(value="Nomor Nota Dinas") @Caption(value = "Nomor Nota Dinas")
@Column(name="noNotaDinas", nullable=true) @Column(name = "noNotaDinas")
private String noNotaDinas; private String noNotaDinas;
@Caption(value="Tgl Nota Dinas") @Caption(value = "Tgl Nota Dinas")
@Column(name="TglNotaDinas", nullable=true) @Column(name = "TglNotaDinas")
private Date tglNotaDinas; private Date tglNotaDinas;
@Caption(value="Alamat Tugas Dinas") @Caption(value = "Alamat Tugas Dinas")
@Column(name="alamatTugas", nullable=true) @Column(name = "alamatTugas")
private String alamatTugas; private String alamatTugas;
@ManyToOne(optional=true,fetch=FetchType.LAZY) @ManyToOne(fetch = FetchType.LAZY)
@Caption(value="Object Jabatan Pemberi Nota Dinas") @Caption(value = "Object Jabatan Pemberi Nota Dinas")
@JoinColumn(name="ObjectJabatanPemberiNotaDinasFk", nullable=true) @JoinColumn(name = "ObjectJabatanPemberiNotaDinasFk")
private Jabatan jabatanPemberiNotaDinas; private Jabatan jabatanPemberiNotaDinas;
@Column(name="ObjectJabatanPemberiNotaDinasFk", nullable=true, insertable=false, updatable=false) @Column(name = "ObjectJabatanPemberiNotaDinasFk", insertable = false, updatable = false)
private Integer jabatanIdPemberiNotaDinas; private Integer jabatanIdPemberiNotaDinas;
@Caption(value="is Cuti Luar Negeri") @Caption(value = "is Cuti Luar Negeri")
@Column(name="isCutiLuarNegeri", nullable=true) @Column(name = "isCutiLuarNegeri")
private Boolean isCutiLuarNegeri; private Boolean isCutiLuarNegeri;
@Caption(value="is Cuti Luar Kota") @Caption(value = "is Cuti Luar Kota")
@Column(name="isCutiLuarKota", nullable=true) @Column(name = "isCutiLuarKota")
private Boolean 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 java.util.Date;
import com.jasamedika.medifirst2000.base.vo.BaseTransactionVO; import com.jasamedika.medifirst2000.base.vo.BaseTransactionVO;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class ListTanggalCutiVO extends BaseTransactionVO { public class ListTanggalCutiVO extends BaseTransactionVO {
private Date tgl; private Date tgl;
private Boolean approvalStatus; private Boolean approvalStatus;
private PlanningPegawaiStatusVO planningPegawaiStatus; private PlanningPegawaiStatusVO planningPegawaiStatus;
private Integer planningPegawaiStatusId;
public Date getTgl() { private String planningPegawaiStatusId;
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;
}
} }

View File

@ -4,374 +4,107 @@ import java.util.Date;
import java.util.HashSet; import java.util.HashSet;
import java.util.Set; 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.base.vo.BaseTransactionVO;
import com.jasamedika.medifirst2000.helper.Caption; import com.jasamedika.medifirst2000.helper.Caption;
import lombok.Getter;
import lombok.Setter;
public class PlanningPegawaiStatusVO extends BaseTransactionVO{ @Getter
@Setter
@Caption(value="No Planning") public class PlanningPegawaiStatusVO extends BaseTransactionVO {
@Caption(value = "No Planning")
private String noPlanning; private String noPlanning;
@ManyToOne(fetch=FetchType.LAZY) @Caption(value = "Object Pegawai")
@Caption(value="Object Pegawai")
private PegawaiVO pegawai; private PegawaiVO pegawai;
@ManyToOne(fetch=FetchType.LAZY) @Caption(value = "Object Status Pegawai Plan")
@Caption(value="Object Status Pegawai Plan")
private StatusPegawaiVO statusPegawaiPlan; private StatusPegawaiVO statusPegawaiPlan;
@OneToMany(cascade=CascadeType.ALL,fetch = FetchType.LAZY, mappedBy = "planningPegawaiStatus") private Set<ListTanggalCutiVO> listTanggal = new HashSet<>();
private Set<ListTanggalCutiVO> listTanggal = new HashSet<ListTanggalCutiVO>();
@Caption(value = "Object Departemen")
@ManyToOne(fetch=FetchType.LAZY)
@Caption(value="Object Departemen")
private DepartemenVO departemen; private DepartemenVO departemen;
@Caption(value="Deskripsi Status Pegawai Plan") @Caption(value = "Deskripsi Status Pegawai Plan")
private String deskripsiStatusPegawaiPlan; private String deskripsiStatusPegawaiPlan;
@Caption(value="Keterangan Lainya Plan") @Caption(value = "Keterangan Lainya Plan")
private String keteranganLainyaPlan; private String keteranganLainyaPlan;
private Integer jumlahHari; private Integer jumlahHari;
@ManyToOne(fetch=FetchType.LAZY) @Caption(value = "Object No SK")
@Caption(value="Object No SK")
private SuratKeputusanVO noSk; private SuratKeputusanVO noSk;
@ManyToOne(fetch=FetchType.LAZY) @Caption(value = "Object Status Pegawai Exec")
@Caption(value="Object Status Pegawai Exec")
private StatusPegawaiVO statusPegawaiExec; private StatusPegawaiVO statusPegawaiExec;
@Caption(value="Deskripsi Status Pegawai Exec") @Caption(value = "Deskripsi Status Pegawai Exec")
private String deskripsiStatusPegawaiExec; private String deskripsiStatusPegawaiExec;
@Caption(value="Keterangan Lainya Exec") @Caption(value = "Keterangan Lainya Exec")
private String keteranganLainyaExec; private String keteranganLainyaExec;
@Caption(value="Tgl Pengajuan") @Caption(value = "Tgl Pengajuan")
private Date tglPengajuan; private Date tglPengajuan;
@Caption(value="Approval Status") @Caption(value = "Approval Status")
private Integer approvalStatus; private Integer approvalStatus;
@Caption(value="Jenis Perawatan") @Caption(value = "Jenis Perawatan")
private Integer jenisPerawatan; //Add field untuk permohonan perubahan kehadiran karena sakit private Integer jenisPerawatan;
@Caption(value="Alamat Selama Cuti") @Caption(value = "Alamat Selama Cuti")
private String alamatCuti; //Add field untuk input di menu pengajuan cuti private String alamatCuti;
@Caption(value="Nomor Telepon") @Caption(value = "Nomor Telepon")
private String nomorTelepon; private String nomorTelepon;
@Caption(value="Nomor Surat Tugas") @Caption(value = "Nomor Surat Tugas")
private String noSuratTugas; private String noSuratTugas;
@Caption(value="Nomor Nota Dinas") @Caption(value = "Nomor Nota Dinas")
private String noNotaDinas; private String noNotaDinas;
@Caption(value="Tgl Nota Dinas") @Caption(value = "Tgl Nota Dinas")
private Date tglNotaDinas; private Date tglNotaDinas;
@Caption(value="Alamat Tugas Dinas") @Caption(value = "Alamat Tugas Dinas")
private String alamatTugas; private String alamatTugas;
@ManyToOne(fetch=FetchType.LAZY) @Caption(value = "Object Jabatan Pemberi Nota Dinas")
@Caption(value="Object Jabatan Pemberi Nota Dinas")
private JabatanVO jabatanPemberiNotaDinas; private JabatanVO jabatanPemberiNotaDinas;
@Caption(value="is Cuti Luar Negeri") @Caption(value = "is Cuti Luar Negeri")
private Boolean isCutiLuarNegeri; private Boolean isCutiLuarNegeri;
@Caption(value="is Cuti Luar Kota") @Caption(value = "is Cuti Luar Kota")
private Boolean isCutiLuarKota; private Boolean isCutiLuarKota;
//---------------------------------------- SURAT KEPUTUSAN ------------------------------------------
@ManyToOne(fetch = FetchType.LAZY)
@Caption(value = "Object Keputusan") @Caption(value = "Object Keputusan")
private JenisKeputusanVO jenisKeputusan; private JenisKeputusanVO jenisKeputusan;
@Caption(value="Tgl SK/SPMT") @Caption(value = "Tgl SK/SPMT")
private Date tglSkSpmt; private Date tglSkSpmt;
@Caption(value="No SK Temp") @Caption(value = "No SK Temp")
private String noSkTemp; private String noSkTemp;
@Caption(value="Uraian") @Caption(value = "Uraian")
private String uraian; private String uraian;
@Caption(value="SK Dari") @Caption(value = "SK Dari")
private String skDari; private String skDari;
@Caption(value="Tgl TMT/SPMT") @Caption(value = "Tgl TMT/SPMT")
private Date tglTmtSpmt; private Date tglTmtSpmt;
@Caption(value="Tgl Berlaku Akhir") @Caption(value = "Tgl Berlaku Akhir")
private Date tglBerlakuAkhir; private Date tglBerlakuAkhir;
@Caption(value="Tgl Keputusan") @Caption(value = "Tgl Keputusan")
private Date tglKeputusan; 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;
}
} }