Merge branch 'dev/base' into dev/integrasi/minio

This commit is contained in:
Salman Manoe 2025-02-03 09:51:34 +07:00
commit 736d8bad72
42 changed files with 1801 additions and 2623 deletions

View File

@ -58,6 +58,10 @@ public final class Master {
public static final Integer VISIT = 29; public static final Integer VISIT = 29;
} }
public static final class HariLibur {
public static final Integer LIBUR_CB = 8;
}
public static final class IndikatorKinerja { public static final class IndikatorKinerja {
public static final Integer KEPATUHAN_PELAYANAN_MEDIS = 674; public static final Integer KEPATUHAN_PELAYANAN_MEDIS = 674;
public static final Integer KETEPATAN_KEHADIRAN = 357; public static final Integer KETEPATAN_KEHADIRAN = 357;
@ -146,9 +150,8 @@ public final class Master {
public static final Integer[] DOKTER_LUAR = { 12, 13, 19 }; public static final Integer[] DOKTER_LUAR = { 12, 13, 19 };
public static final Integer DOKTER_TAMU = 19; public static final Integer DOKTER_TAMU = 19;
public static final Integer MITRA = 16; public static final Integer MITRA = 16;
public static final Integer[] NONSDM = { 13, 16, 17 }; // peserta_didik,_mitra public static final Integer[] NONSDM = { 13, 16, 17 }; // peserta_didik,mitra_bank
public static final Integer[] PARUH_WAKTU = { 12, 19 }; public static final Integer[] PARUH_WAKTU = { 12, 19 };
public static final Integer PESERTA_DIDIK = 17;
public static final Integer PNS = 1; public static final Integer PNS = 1;
public static final Integer[] REMUN = { 1, 10, 14, 21 }; public static final Integer[] REMUN = { 1, 10, 14, 21 };
} }
@ -241,6 +244,7 @@ public final class Master {
public static final Integer[] JASA_MEDIS = { 21, 22, 35 }; public static final Integer[] JASA_MEDIS = { 21, 22, 35 };
public static final Integer[] JASA_PARAMEDIS = { 25, 26, 27 }; public static final Integer[] JASA_PARAMEDIS = { 25, 26, 27 };
public static final Integer[] JASA_SARANA = { 6, 38 }; public static final Integer[] JASA_SARANA = { 6, 38 };
public static final Integer JASA_TERAPIS = 25;
public static final Integer SPOG_ASISTEN = 206; public static final Integer SPOG_ASISTEN = 206;
public static final Integer SPOG_OPERATOR = 201; public static final Integer SPOG_OPERATOR = 201;
public static final Integer TOTAL_TARIF = 210; public static final Integer TOTAL_TARIF = 210;
@ -271,6 +275,12 @@ public final class Master {
public static final Long BATAS_TERLAMBAT = 15L; // 15_Menit public static final Long BATAS_TERLAMBAT = 15L; // 15_Menit
} }
public static final class NilaiKelompokJabatan {
public static final Integer[] MEDIK = { 3, 4, 5, 6, 10, 11, 12 };
public static final Integer[] PENUNJANG_MEDIK = { 22, 23, 24, 25, 26 };
public static final Integer[] NURSE = { 17, 18, 19, 20, 21 };
}
public static final class Pegawai { public static final class Pegawai {
public static final Integer[] ADMINISTRATOR = { 0, 320272 }; public static final Integer[] ADMINISTRATOR = { 0, 320272 };
public static final Integer[] LOGIN_ADMIN = { 320263, 320264 }; public static final Integer[] LOGIN_ADMIN = { 320263, 320264 };

View File

@ -1,41 +1,41 @@
package com.jasamedika.medifirst2000.dao; package com.jasamedika.medifirst2000.dao;
import com.jasamedika.medifirst2000.entities.JatahCutiDanIzin;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
import java.util.Date; 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.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
import com.jasamedika.medifirst2000.entities.JatahCutiDanIzin;
@Repository("JatahCutiDanIzinDao") @Repository("JatahCutiDanIzinDao")
public interface JatahCutiDanIzinDao extends PagingAndSortingRepository<JatahCutiDanIzin, String> { public interface JatahCutiDanIzinDao extends JpaRepository<JatahCutiDanIzin, String> {
@Query("select jatahCuti " + "from JatahCutiDanIzin jatahCuti " + "left join jatahCuti.pegawai pegawai " @Query("select jatahCuti " + "from JatahCutiDanIzin jatahCuti " + "left join jatahCuti.pegawai pegawai "
+ "left join jatahCuti.komponenIndex komponenIndex " + "left join jatahCuti.komponenIndex komponenIndex "
+ "where jatahCuti.tahun = :tahun and pegawai.id = :idPegawai " + "and komponenIndex.id = :komponenIndexId") + "where jatahCuti.tahun = :tahun and pegawai.id = :idPegawai " + "and komponenIndex.id = :komponenIndexId")
public JatahCutiDanIzin getJatahCuti(@Param("tahun") String tahun, @Param("idPegawai") Integer idPegawai, JatahCutiDanIzin getJatahCuti(@Param("tahun") String tahun, @Param("idPegawai") Integer idPegawai,
@Param("komponenIndexId") Integer komponenIndexId); @Param("komponenIndexId") Integer komponenIndexId);
@Query("select jatahCuti " + "from JatahCutiDanIzin jatahCuti " + "left join jatahCuti.pegawai pegawai " @Query("select jatahCuti " + "from JatahCutiDanIzin jatahCuti " + "left join jatahCuti.pegawai pegawai "
+ "left join jatahCuti.komponenIndex komponenIndex " + "left join jatahCuti.komponenIndex komponenIndex "
+ "where jatahCuti.tahun = :tahun and pegawai.id = :idPegawai " + "where jatahCuti.tahun = :tahun and pegawai.id = :idPegawai "
+ "and komponenIndex.id in (:komponenIndexId)") + "and komponenIndex.id in (:komponenIndexId)")
public JatahCutiDanIzin getJatahCuti(@Param("tahun") String tahun, @Param("idPegawai") Integer idPegawai, JatahCutiDanIzin getJatahCuti(@Param("tahun") String tahun, @Param("idPegawai") Integer idPegawai,
@Param("komponenIndexId") List<Integer> komponenIndexId); @Param("komponenIndexId") List<Integer> komponenIndexId);
@Query("select coalesce(jatahCuti.value,0) " + "from JatahCutiDanIzin jatahCuti " @Query("select coalesce(jatahCuti.value,0) " + "from JatahCutiDanIzin jatahCuti "
+ "left join jatahCuti.pegawai pegawai " + "left join jatahCuti.komponenIndex komponenIndex " + "left join jatahCuti.pegawai pegawai " + "left join jatahCuti.komponenIndex komponenIndex "
+ "where jatahCuti.tahun = :tahun and pegawai.id = :idPegawai " + "and komponenIndex.id = :komponenIndexId") + "where jatahCuti.tahun = :tahun and pegawai.id = :idPegawai " + "and komponenIndex.id = :komponenIndexId")
public Integer getDataCuti(@Param("tahun") String tahun, @Param("idPegawai") Integer idPegawai, Integer getDataCuti(@Param("tahun") String tahun, @Param("idPegawai") Integer idPegawai,
@Param("komponenIndexId") Integer komponenIndexId); @Param("komponenIndexId") Integer komponenIndexId);
@Query("select jatahCuti.isTangguhkan " + "from JatahCutiDanIzin jatahCuti " @Query("select jatahCuti.isTangguhkan " + "from JatahCutiDanIzin jatahCuti "
+ "left join jatahCuti.pegawai pegawai " + "left join jatahCuti.komponenIndex komponenIndex " + "left join jatahCuti.pegawai pegawai " + "left join jatahCuti.komponenIndex komponenIndex "
+ "where jatahCuti.tahun = :tahun and pegawai.id = :idPegawai " + "and komponenIndex.id = :komponenIndexId") + "where jatahCuti.tahun = :tahun and pegawai.id = :idPegawai " + "and komponenIndex.id = :komponenIndexId")
public Boolean getPenangguhanSisaCuti(@Param("tahun") String tahun, @Param("idPegawai") Integer idPegawai, Boolean getPenangguhanSisaCuti(@Param("tahun") String tahun, @Param("idPegawai") Integer idPegawai,
@Param("komponenIndexId") Integer komponenIndexId); @Param("komponenIndexId") Integer komponenIndexId);
@Query("select new map(" + "jatahCuti.value as value, " + "jatahCuti.sisaCuti as sisaCuti, " @Query("select new map(" + "jatahCuti.value as value, " + "jatahCuti.sisaCuti as sisaCuti, "
@ -49,22 +49,7 @@ public interface JatahCutiDanIzinDao extends PagingAndSortingRepository<JatahCut
+ "left join mapPegawai.unitKerjaPegawai unitKerja " + "where mapPegawai.pegawaiId = pegawai.id " + "left join mapPegawai.unitKerjaPegawai unitKerja " + "where mapPegawai.pegawaiId = pegawai.id "
+ "and mapPegawai.isPrimary is true " + "and mapPegawai.statusEnabled is true " + "and mapPegawai.isPrimary is true " + "and mapPegawai.statusEnabled is true "
+ "and komponenIndex.id = :komponenIndexId " + "order by pegawai.id, jatahCuti.tahun") + "and komponenIndex.id = :komponenIndexId " + "order by pegawai.id, jatahCuti.tahun")
public List<Map<String, Object>> getAllJatahCuti(@Param("komponenIndexId") Integer komponenIndexId); List<Map<String, Object>> getAllJatahCuti(@Param("komponenIndexId") Integer komponenIndexId);
@Query("select new map(" + "jatahCuti.noRec as noRec, " + "jatahCuti.komponenIndexId as komponenIndexId, "
+ "jatahCuti.tahun as tahun, " + "jatahCuti.value as value, " + "jatahCuti.sisaCuti as sisaCuti, "
+ "jatahCuti.cutiTerpakai as cutiTerpakai, " + "jatahCuti.isTangguhkan as isTangguhkan, "
+ "pegawai.id as idPegawai, " + "pegawai.namaLengkap as namaPegawai, " + "pegawai.nipPns as nipPegawai, "
+ "unitKerja.name as unitKerja," + "subUnitKerja.name as subUnitKerja) "
+ "from JatahCutiDanIzin jatahCuti, MapPegawaiJabatanToUnitKerja mapPegawai "
+ "left join jatahCuti.pegawai pegawai " + "left join jatahCuti.komponenIndex komponenIndex "
+ "left join mapPegawai.subUnitKerjaPegawai subUnitKerja "
+ "left join mapPegawai.unitKerjaPegawai unitKerja " + "where mapPegawai.pegawaiId = pegawai.id "
+ "and mapPegawai.isPrimary is true " + "and mapPegawai.statusEnabled is true "
+ "and pegawai.id = :pegawaiId " + "and komponenIndex.id = :komponenIndexId "
+ "order by pegawai.id, jatahCuti.tahun")
public List<Map<String, Object>> getAllJatahCuti(@Param("komponenIndexId") Integer komponenIndexId,
@Param("pegawaiId") Integer pegawaiId);
@Query("select new map(" + "jatahCuti.noRec as noRec, " + "jatahCuti.komponenIndexId as komponenIndexId, " @Query("select new map(" + "jatahCuti.noRec as noRec, " + "jatahCuti.komponenIndexId as komponenIndexId, "
+ "komponenIndex.komponenIndex as komponenIndex, " + "jatahCuti.tahun as tahun, " + "komponenIndex.komponenIndex as komponenIndex, " + "jatahCuti.tahun as tahun, "
@ -80,18 +65,18 @@ public interface JatahCutiDanIzinDao extends PagingAndSortingRepository<JatahCut
+ "and cast(jatahCuti.tahun as int) >= cast(to_char(current_date,'yyyy') as int)-2 " + "and cast(jatahCuti.tahun as int) >= cast(to_char(current_date,'yyyy') as int)-2 "
+ "and pegawai.id = :pegawaiId " + "and komponenIndex.id in (:komponenIndexId) " + "and pegawai.id = :pegawaiId " + "and komponenIndex.id in (:komponenIndexId) "
+ "order by jatahCuti.tahun, komponenIndex.komponenIndex") + "order by jatahCuti.tahun, komponenIndex.komponenIndex")
public List<Map<String, Object>> getAllJatahCuti(@Param("komponenIndexId") List<Integer> komponenIndexId, List<Map<String, Object>> getAllJatahCuti(@Param("komponenIndexId") List<Integer> komponenIndexId,
@Param("pegawaiId") Integer pegawaiId); @Param("pegawaiId") Integer pegawaiId);
@Query("select l.tgl " + "from PlanningPegawaiStatus p " + "left join p.listTanggal l " @Query("select l.tgl " + "from PlanningPegawaiStatus p " + "left join p.listTanggal l "
+ "where p.statusEnabled is true and l.statusEnabled is true " + "where p.statusEnabled is true and l.statusEnabled is true "
+ "and p.approvalStatus = 1 and l.approvalStatus is true " + "and p.statusPegawaiPlanId = :idStatusPlan " + "and p.approvalStatus = 1 and l.approvalStatus is true " + "and p.statusPegawaiPlanId = :idStatusPlan "
+ "and p.pegawaiId = :idPegawai " + "and to_char(l.tgl, 'yyyy-MM-dd') = :tglCuti " + "order by l.tgl") + "and p.pegawaiId = :idPegawai " + "and to_char(l.tgl, 'yyyy-MM-dd') = :tglCuti " + "order by l.tgl")
public List<Date> getCutiTahunanDiTglCutiBersama(@Param("idStatusPlan") Integer idStatusPlan, List<Date> getCutiTahunanDiTglCutiBersama(@Param("idStatusPlan") Integer idStatusPlan,
@Param("idPegawai") Integer idPegawai, @Param("tglCuti") String tglCuti); @Param("idPegawai") Integer idPegawai, @Param("tglCuti") String tglCuti);
@Query("select sum(jc.cutiTerpakai) from JatahCutiDanIzin jc " @Query("select sum(jc.cutiTerpakai) from JatahCutiDanIzin jc "
+ "where jc.pegawaiId = :pegawaiId and jc.tahun < :tahun") + "where jc.pegawaiId = :pegawaiId and jc.tahun < :tahun")
public Integer getHistoriCutiTerpakai(@Param("pegawaiId") Integer idPegawai, @Param("tahun") String tahun); Integer getHistoriCutiTerpakai(@Param("pegawaiId") Integer idPegawai, @Param("tahun") String tahun);
} }

View File

@ -1,65 +1,78 @@
package com.jasamedika.medifirst2000.dao; package com.jasamedika.medifirst2000.dao;
import com.jasamedika.medifirst2000.dto.HariLiburTerpakai;
import java.util.Date; import com.jasamedika.medifirst2000.entities.ListTanggalCuti;
import java.util.List;
import java.util.Map;
import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Modifying;
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.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.ListTanggalCuti; import java.util.Date;
import java.util.List;
import java.util.Map;
@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 "
+ "and ps.tglPengajuan between :tglAwal and :tglAkhir")
List<ListTanggalCuti> notApprovedByPermohonan(@Param("idPegawai") Integer idPegawai,
@Param("idJenisPermohonan") Integer idJenisPermohonan, @Param("tglAwal") Date tglAwal,
@Param("tglAkhir") Date tglAkhir);
@Query("select distinct new com.jasamedika.medifirst2000.dto.HariLiburTerpakai("
+ "pg.id as idPegawai, pg.namaLengkap as namaLengkap, " + "kl.tanggal as tanggal, "
+ "khl.isCutiBersamaDitangguhkan as isCBDitangguhkan) "
+ "from ListTanggalCuti ltc, Kalender kl, MapKalenderToHariLibur khl "
+ "inner join ltc.planningPegawaiStatus pps inner join pps.pegawai pg "
+ "where cast(ltc.tgl as date) = cast(kl.tanggal as date) " + "and kl.id = khl.tanggalId "
+ "and ltc.statusEnabled is true " + "and pps.statusEnabled is true " + "and pps.noSkId is not null "
+ "and pps.statusPegawaiPlanId = 1 " + "and pg.id = :idPegawai " + "and khl.hariLiburId = :idHariLibur "
+ "and ltc.tgl between :tglAwal and :tglAkhir")
List<HariLiburTerpakai> getCutiByTahun(@Param("idPegawai") Integer idPegawai,
@Param("idHariLibur") Integer idHariLibur, @Param("tglAwal") Date tglAwal,
@Param("tglAkhir") Date tglAkhir);
} }

View File

@ -1,43 +1,52 @@
package com.jasamedika.medifirst2000.dao; package com.jasamedika.medifirst2000.dao;
import java.util.List; import com.jasamedika.medifirst2000.dto.HariLiburTerpakai;
import java.util.Map; import com.jasamedika.medifirst2000.entities.Kalender;
import com.jasamedika.medifirst2000.entities.MapKalenderToHariLibur;
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.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.Kalender; import java.util.Date;
import com.jasamedika.medifirst2000.entities.MapKalenderToHariLibur; import java.util.List;
import java.util.Map;
@Repository @Repository
public interface MapKalenderToHariLiburDao extends PagingAndSortingRepository<MapKalenderToHariLibur, Integer> { public interface MapKalenderToHariLiburDao extends PagingAndSortingRepository<MapKalenderToHariLibur, Integer> {
@Query("select new map (model.id as id, model.namaExternal as name, model.tanggal.tanggal as tanggal) from MapKalenderToHariLibur model where model.statusEnabled is true") @Query("select new map (model.id as id, model.namaExternal as name, model.tanggal.tanggal as tanggal) "
public List<Map<String, Object>> getAllByStatusEnabled(); + "from MapKalenderToHariLibur model where model.statusEnabled is true")
List<Map<String, Object>> getAllByStatusEnabled();
@Query("select model from Kalender model where model.statusEnabled is true and to_char(tanggal,'yyyy-MM-dd') = :tanggal")
public Kalender getKalender(@Param("tanggal") String tgl); @Query("select model from Kalender model "
+ "where model.statusEnabled is true and to_char(tanggal,'yyyy-MM-dd') = :tanggal")
@Query("select to_char(kalender.tanggal,'yyyy-MM-dd') "+ Kalender getKalender(@Param("tanggal") String tgl);
"from MapKalenderToHariLibur mapLibur "+
"inner join mapLibur.tanggal kalender "+ @Query("select to_char(kalender.tanggal,'yyyy-MM-dd') " + "from MapKalenderToHariLibur mapLibur "
"inner join mapLibur.hariLibur hariLibur "+ + "inner join mapLibur.tanggal kalender " + "inner join mapLibur.hariLibur hariLibur "
"where hariLibur.id in (8,17) "+ + "where hariLibur.id in (8,17) " + "and to_char(kalender.tanggal,'yyyy')=:tahun "
"and to_char(kalender.tanggal,'yyyy')=:tahun "+ + "and mapLibur.statusEnabled is true")
"and mapLibur.statusEnabled is true") List<String> getTglCutiBersama(@Param("tahun") String tahun);
public List<String> getTglCutiBersama(@Param("tahun") String tahun);
@Query("select new Map(model.statusEnabled as statusEnabled,model.namaExternal as namaExternal," @Query("select new Map(model.statusEnabled as statusEnabled,model.namaExternal as namaExternal,"
+ "to_char(kalender.tanggal,'dd-MM-yyyy') as tanggal,to_char(kalender.tanggal,'yyyy-MM-dd') as tanggalId," + "to_char(kalender.tanggal,'dd-MM-yyyy') as tanggal,to_char(kalender.tanggal,'yyyy-MM-dd') as tanggalId,"
+ "model.reportDisplay as reportDisplay,model.id as id,model.kodeExternal as kodeExternal," + "model.reportDisplay as reportDisplay,model.id as id,model.kodeExternal as kodeExternal,"
+ "hariLibur.id as hariLiburId,hariLibur.namaHariLibur as hariLiburName," + "hariLibur.id as hariLiburId,hariLibur.namaHariLibur as hariLiburName," + "model.noRec as noRec) "
+ "model.noRec as noRec) " + "from MapKalenderToHariLibur model " + "inner join model.tanggal kalender "
+ "from MapKalenderToHariLibur model " + "inner join model.hariLibur hariLibur " + "where model.statusEnabled is true "
+ "inner join model.tanggal kalender "
+ "inner join model.hariLibur hariLibur "
+ "where model.statusEnabled is true "
+ "and to_char(kalender.tanggal,'yyyy')>=:tahun") + "and to_char(kalender.tanggal,'yyyy')>=:tahun")
public 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.HariLiburTerpakai("
+ "pg.id as idPegawai, pg.namaLengkap as namaLengkap, " + "kld.tanggal as tanggal, "
+ "mkl.isCutiBersamaDitangguhkan as isCBDitangguhkan) "
+ "from Pegawai pg, Habsen hab, MapKalenderToHariLibur mkl " + "inner join mkl.tanggal kld "
+ "where pg.id = :idPegawai " + "and pg.idFinger = hab.empl_code "
+ "and cast(hab.tr_date as date) = kld.tanggal " + "and mkl.hariLiburId = :idHariLibur "
+ "and kld.tanggal between :tglAwal and :tglAkhir")
List<HariLiburTerpakai> getPresensiByTahun(@Param("idPegawai") Integer idPegawai,
@Param("idHariLibur") Integer idHariLibur, @Param("tglAwal") Date tglAwal,
@Param("tglAkhir") Date tglAkhir);
} }

View File

@ -262,11 +262,11 @@ public interface MapPegawaiJabatanToUnitKerjaDao extends JpaRepository<MapPegawa
@Param("idUnitKerja") Integer idUnitKerja); @Param("idUnitKerja") Integer idUnitKerja);
@Query("select distinct new Map(subunit.id as id, subunit.name as name) " + "from MapPegawaiJabatanToUnitKerja map " @Query("select distinct new Map(subunit.id as id, subunit.name as name) " + "from MapPegawaiJabatanToUnitKerja map "
+ "left join map.jabatan jab " + "left join map.subUnitKerjaPegawai subunit " + "where map.statusEnabled is true " + "left join map.jabatan jab " + "left join map.subUnitKerjaPegawai subunit "
+ "and map.unitKerjaPegawaiId = :idUnitKerja " + "and jab.kelompokJabatanId = :kelompokJabatanId " + "where map.statusEnabled is true " + "and map.unitKerjaPegawaiId = :idUnitKerja "
+ "order by subunit.name") + "and jab.kelompokJabatanId = :kelompokJabatanId " + "order by subunit.name")
List<Map<String, Object>> getMapSubunitKerjaMonitoringByKelompokJabatan(@Param("idUnitKerja") Integer idUnitKerja, List<Map<String, Object>> getMapSubunitKerjaMonitoringByKelompokJabatan(@Param("idUnitKerja") Integer idUnitKerja,
@Param("kelompokJabatanId") Integer IdKelompokJabatan); @Param("kelompokJabatanId") Integer IdKelompokJabatan);
@Query("select distinct mapp.pegawaiId from MapPegawaiJabatanToUnitKerja mapp " @Query("select distinct mapp.pegawaiId from MapPegawaiJabatanToUnitKerja mapp "
+ "where mapp.statusEnabled is true and mapp.pegawaiId is not null and mapp.unitKerjaPegawaiId = :idUnitKerja") + "where mapp.statusEnabled is true and mapp.pegawaiId is not null and mapp.unitKerjaPegawaiId = :idUnitKerja")
@ -517,13 +517,14 @@ public interface MapPegawaiJabatanToUnitKerjaDao extends JpaRepository<MapPegawa
List<Integer> findPegawaiIdByUnitKerjaIdAndJabatanId(@Param("unitKerjaId") List<Integer> unitKerjaId, List<Integer> findPegawaiIdByUnitKerjaIdAndJabatanId(@Param("unitKerjaId") List<Integer> unitKerjaId,
@Param("jabatanId") List<Integer> jabatanId); @Param("jabatanId") List<Integer> jabatanId);
@Query("select mj.pegawaiId from MapPegawaiJabatanToUnitKerja mj " + "where mj.statusEnabled is true "
+ "and mj.subUnitKerjaPegawaiId in (:subUnitKerjaIdIn)")
Set<Integer> findPegawaiIdBySubUnitKerjaIn(@Param("subUnitKerjaIdIn") List<Integer> subUnitKerjaIdIn);
@Query(value = "select exists(select 1 from mappegawaijabatantounitkerja_m mj " @Query(value = "select exists(select 1 from mappegawaijabatantounitkerja_m mj "
+ "where mj.statusenabled is true and mj.objectpegawaifk = :pegawaiId " + "where mj.statusenabled is true and mj.objectpegawaifk = :pegawaiId "
+ "and mj.objectjabatanfk in (:listJabatanId))", nativeQuery = true) + "and mj.objectjabatanfk in (:listJabatanId))", nativeQuery = true)
boolean existsByPegawaiIdAndJabatanIdIn(@Param("pegawaiId") Integer idPegawai, boolean existsByPegawaiIdAndJabatanIdIn(@Param("pegawaiId") Integer idPegawai,
@Param("listJabatanId") List<Integer> idJabatanList); @Param("listJabatanId") List<Integer> idJabatanList);
@Query("select mj.pegawaiId from MapPegawaiJabatanToUnitKerja mj " + "inner join mj.pegawai pg "
+ "where mj.statusEnabled is true " + "and pg.statusEnabled is true "
+ "and mj.unitKerjaPegawaiId in (:listUnitKerjaId) " + "and pg.jenisPegawaiId = 1")
Set<Integer> findDokterByUnitKerja(@Param("listUnitKerjaId") List<Integer> listIdUnitKerja);
} }

View File

@ -374,12 +374,13 @@ public interface PegawaiDao extends JpaRepository<Pegawai, Integer>, JpaSpecific
+ "pegawai.totalNilaiScore as totalNilaiScore," + "pegawai.tunjanganFungsional as tunjanganFungsional," + "pegawai.totalNilaiScore as totalNilaiScore," + "pegawai.tunjanganFungsional as tunjanganFungsional,"
+ "pegawai.tunjanganPapua as tunjanganPapua," + "pegawai.tunjanganUmum as tunjanganUmum," + "pegawai.tunjanganPapua as tunjanganPapua," + "pegawai.tunjanganUmum as tunjanganUmum,"
+ "pegawai.noIdentitas as noIdentitas," + "pegawai.nipPns as nipPns," + "pegawai.nip as nip," + "pegawai.noIdentitas as noIdentitas," + "pegawai.nipPns as nipPns," + "pegawai.nip as nip,"
+ "pegawai.nikIntern as nikIntern," + "pegawai.tanggalMeninggal as tanggalMeninggal," + "pegawai.nikIntern as nikIntern," + "pegawai.nim as nim,"
+ "pegawai.pensiun as usiaPensiun," + "pegawai.tglPensiun as tglPensiun," + "pegawai.idFinger as idFinger," + "pegawai.tanggalMeninggal as tanggalMeninggal," + "pegawai.pensiun as usiaPensiun,"
+ "ruangan.id as idRuangan," + "ruangan.namaRuangan as namaRuangan," + "rekanan.id as idRuangan," + "pegawai.tglPensiun as tglPensiun," + "pegawai.idFinger as idFinger," + "ruangan.id as idRuangan,"
+ "rekanan.namaRekanan as namaRekanan," + "satuanKerja.satuanKerja as satuanKerja," + "ruangan.namaRuangan as namaRuangan," + "rekanan.id as idRuangan," + "rekanan.namaRekanan as namaRekanan,"
+ "shiftKerja.name as shiftKerja," + "shiftKerja.id as idKelompokShiftKerja," + "satuanKerja.satuanKerja as satuanKerja," + "shiftKerja.name as shiftKerja,"
+ "statusKawin.statusPerkawinan as statusKawin," + "statusPegawai.statusPegawai as statusPegawai," + "shiftKerja.id as idKelompokShiftKerja," + "statusKawin.statusPerkawinan as statusKawin,"
+ "statusPegawai.statusPegawai as statusPegawai,"
+ "statusPerkawinanPegawai.statusPerkawinan as statusPerkawinanPegawai," + "suku.suku as suku," + "statusPerkawinanPegawai.statusPerkawinan as statusPerkawinanPegawai," + "suku.suku as suku,"
+ "typePegawai.typePegawai as typePegawai," + "pegawai.statusEnabled as statusEnabled)" + "typePegawai.typePegawai as typePegawai," + "pegawai.statusEnabled as statusEnabled)"
+ "from Pegawai pegawai " + "left join pegawai.detailKategoryPegawai detailKategoryPegawai " + "from Pegawai pegawai " + "left join pegawai.detailKategoryPegawai detailKategoryPegawai "
@ -400,10 +401,10 @@ public interface PegawaiDao extends JpaRepository<Pegawai, Integer>, JpaSpecific
+ "left join pegawai.statusKawin statusKawin " + "left join pegawai.statusPegawai statusPegawai " + "left join pegawai.statusKawin statusKawin " + "left join pegawai.statusPegawai statusPegawai "
+ "left join pegawai.statusPerkawinanPegawai statusPerkawinanPegawai " + "left join pegawai.suku suku " + "left join pegawai.statusPerkawinanPegawai statusPerkawinanPegawai " + "left join pegawai.suku suku "
+ "left join pegawai.typePegawai typePegawai " + "where pegawai.statusEnabled is true " + "left join pegawai.typePegawai typePegawai " + "where pegawai.statusEnabled is true "
+ "and pegawai.kategoryPegawaiId = :idKategoryPegawai " + // PNS + "and pegawai.kategoryPegawaiId in (:listIdKategoryPegawai) " + // PNS
"and kedudukan.id not in :listKedudukan " + "order by pegawai.nama") "and kedudukan.id not in :listKedudukan " + "order by pegawai.nama")
List<Map<String, Object>> findAllPegawaiByKategory(@Param("listKedudukan") List<Integer> listKedudukan, List<Map<String, Object>> findAllPegawaiByKategory(@Param("listKedudukan") List<Integer> listKedudukan,
@Param("idKategoryPegawai") Integer idKategoryPegawai); @Param("listIdKategoryPegawai") List<Integer> listIdKategoryPegawai);
@Query("select new map (jabatanInternal.namaJabatan as jabatanInternal, " @Query("select new map (jabatanInternal.namaJabatan as jabatanInternal, "
+ "jabatanInternal.id as idJabatanInternal, " + "unitKerja.id as idUnitKerja, " + "jabatanInternal.id as idJabatanInternal, " + "unitKerja.id as idUnitKerja, "
@ -892,7 +893,7 @@ public interface PegawaiDao extends JpaRepository<Pegawai, Integer>, JpaSpecific
+ "pegawai.kategoryPegawaiId as kategoryPegawaiId, " + "pegawai.kedudukanId as kedudukanId, " + "pegawai.kategoryPegawaiId as kategoryPegawaiId, " + "pegawai.kedudukanId as kedudukanId, "
+ "pegawai.kualifikasiJurusanId as kualifikasiJurusanId, " + "pegawai.nama as nama, " + "pegawai.kualifikasiJurusanId as kualifikasiJurusanId, " + "pegawai.nama as nama, "
+ "pegawai.namaLengkap as namaLengkap, " + "pegawai.nikIntern as nikIntern, " + "pegawai.nip as nip, " + "pegawai.namaLengkap as namaLengkap, " + "pegawai.nikIntern as nikIntern, " + "pegawai.nip as nip, "
+ "pegawai.nipPns as nipPns, " + "pegawai.noHandphone as noHandphone, " + "pegawai.nipPns as nipPns, " + "pegawai.nim as nim, " + "pegawai.noHandphone as noHandphone, "
+ "pegawai.noIdentitas as noIdentitas, " + "pegawai.noSip as noSip, " + "pegawai.noStr as noStr, " + "pegawai.noIdentitas as noIdentitas, " + "pegawai.noSip as noSip, " + "pegawai.noStr as noStr, "
+ "pegawai.noTlp as noTlp, " + "pegawai.negaraId as negaraId, " + "pegawai.noTlp as noTlp, " + "pegawai.negaraId as negaraId, "
+ "pegawai.pegawaiPembimbingId as pegawaiPembimbingId, " + "pegawai.pendidikanId as pendidikanId, " + "pegawai.pegawaiPembimbingId as pegawaiPembimbingId, " + "pegawai.pendidikanId as pendidikanId, "

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

@ -1,12 +1,12 @@
package com.jasamedika.medifirst2000.dao.custom; package com.jasamedika.medifirst2000.dao.custom;
import java.util.List;
import java.util.Map;
import com.jasamedika.medifirst2000.dao.custom.base.CoreDao; import com.jasamedika.medifirst2000.dao.custom.base.CoreDao;
import com.jasamedika.medifirst2000.entities.Pegawai; import com.jasamedika.medifirst2000.entities.Pegawai;
import com.jasamedika.medifirst2000.entities.PegawaiJadwalKerja; import com.jasamedika.medifirst2000.entities.PegawaiJadwalKerja;
import java.util.List;
import java.util.Map;
/** /**
* *
* @author Roberto * @author Roberto
@ -25,9 +25,7 @@ public interface PegawaiDaoCustom extends CoreDao<Pegawai> {
List<Integer> listStatusPegawaiId, String periode, List<Integer> listKedudukanException); List<Integer> listStatusPegawaiId, String periode, List<Integer> listKedudukanException);
List<Map<String, Object>> findPegawaiCustomByKategori(String nama, Integer idUnitKerja, Integer idKedudukan, List<Map<String, Object>> findPegawaiCustomByKategori(String nama, Integer idUnitKerja, Integer idKedudukan,
String periode, List<Integer> listKedudukanException, Integer idKategori); String periode, List<Integer> listKedudukanException, List<Integer> listIdKategori);
List<Map<String, Object>> findPegawaiByNamePesertaDidik(String namaPegawai);
List<Map<String, Object>> findAllPegawaiByJenisPegawaiPengajar(); List<Map<String, Object>> findAllPegawaiByJenisPegawaiPengajar();

View File

@ -114,34 +114,6 @@ public class PegawaiDaoCustomImpl extends CoreDaoImpl<Pegawai> implements Pegawa
return list; return list;
} }
@Override
public List<Map<String, Object>> findPegawaiByNamePesertaDidik(String namaPegawai) {
StringBuffer buffer = new StringBuffer();
buffer.append(" select ");
buffer.append(" new map");
buffer.append(" ( ");
buffer.append(" p.nipPns , p.namaLengkap ,p.tglLahir , " + "p.tempatLahir , p.noHandphone," + "p.alamat , "
+ "jabatanInternal.kdJabatan,jabatanInternal.namaJabatan, " + "golongan.id,golongan.golonganPegawai, "
+ " statusKawin.statusPerkawinan, statusKawin.id, " + "agama.agama, agama.kdAgama, "
+ " satuanKerja.kdSatuanKerja,satuanKerja.satuanKerja , "
+ " jabatanStruktural.kdJabatan ,jabatanStruktural.namaJabatan, "
+ " jenisKelamin.jenisKelamin,jenisKelamin.id,"
+ " jabatanFungsional.kdJabatan ,jabatanFungsional.namaJabatan");
buffer.append(" ) ");
buffer.append("from Pegawai p " + " left join p.jabatanInternal jabatanInternal"
+ " left join p.golonganPegawai golongan " + " left join p.statusKawin statusKawin "
+ " left join p.agama agama " + " left join p.satuanKerja satuanKerja "
+ " left join p.jabatanStruktural jabatanStruktural "
+ " left join p.jabatanFungsional jabatanFungsional " + " left join p.jenisKelamin jenisKelamin "
+ " where lower (p.namaLengkap) like lower ('%" + namaPegawai + "%') " + " order by p.namaLengkap ");
Query query = em.createQuery(buffer.toString());
List<Map<String, Object>> list = query.getResultList();
return list;
}
@Override @Override
public List<Map<String, Object>> findAllPegawaiByJenisPegawaiPengajar() { public List<Map<String, Object>> findAllPegawaiByJenisPegawaiPengajar() {
StringBuffer buffer = new StringBuffer(); StringBuffer buffer = new StringBuffer();
@ -452,7 +424,7 @@ public class PegawaiDaoCustomImpl extends CoreDaoImpl<Pegawai> implements Pegawa
@Override @Override
public List<Map<String, Object>> findPegawaiCustomByKategori(String nama, Integer idUnitKerja, Integer idKedudukan, public List<Map<String, Object>> findPegawaiCustomByKategori(String nama, Integer idUnitKerja, Integer idKedudukan,
String periode, List<Integer> listKedudukanException, Integer idKategori) { String periode, List<Integer> listKedudukanException, List<Integer> listIdKategori) {
StringBuffer buffer = new StringBuffer(); StringBuffer buffer = new StringBuffer();
buffer.append("select new map (pegawai.id as idPegawai," + "pegawai.nama as nama," buffer.append("select new map (pegawai.id as idPegawai," + "pegawai.nama as nama,"
@ -487,13 +459,13 @@ public class PegawaiDaoCustomImpl extends CoreDaoImpl<Pegawai> implements Pegawa
+ "pegawai.totalNilaiScore as totalNilaiScore," + "pegawai.tunjanganFungsional as tunjanganFungsional," + "pegawai.totalNilaiScore as totalNilaiScore," + "pegawai.tunjanganFungsional as tunjanganFungsional,"
+ "pegawai.tunjanganPapua as tunjanganPapua," + "pegawai.tunjanganUmum as tunjanganUmum," + "pegawai.tunjanganPapua as tunjanganPapua," + "pegawai.tunjanganUmum as tunjanganUmum,"
+ "pegawai.noIdentitas as noIdentitas," + "pegawai.nipPns as nipPns," + "pegawai.nip as nip," + "pegawai.noIdentitas as noIdentitas," + "pegawai.nipPns as nipPns," + "pegawai.nip as nip,"
+ "pegawai.nikIntern as nikIntern," + "pegawai.tanggalMeninggal as tanggalMeninggal," + "pegawai.nikIntern as nikIntern," + "pegawai.nim as nim,"
+ "pegawai.pensiun as usiaPensiun," + "pegawai.tglPensiun as tglPensiun," + "pegawai.tanggalMeninggal as tanggalMeninggal," + "pegawai.pensiun as usiaPensiun,"
+ "pegawai.idFinger as idFinger," + "ruangan.id as idRuangan," + "ruangan.namaRuangan as namaRuangan," + "pegawai.tglPensiun as tglPensiun," + "pegawai.idFinger as idFinger," + "ruangan.id as idRuangan,"
+ "rekanan.id as idRuangan," + "rekanan.namaRekanan as namaRekanan," + "ruangan.namaRuangan as namaRuangan," + "rekanan.id as idRuangan,"
+ "satuanKerja.satuanKerja as satuanKerja," + "shiftKerja.name as shiftKerja," + "rekanan.namaRekanan as namaRekanan," + "satuanKerja.satuanKerja as satuanKerja,"
+ "shiftKerja.id as idKelompokShiftKerja," + "statusPegawai.statusPegawai as statusPegawai," + "shiftKerja.name as shiftKerja," + "shiftKerja.id as idKelompokShiftKerja,"
+ "statusKawin.statusPerkawinan as statusKawin," + "statusPegawai.statusPegawai as statusPegawai," + "statusKawin.statusPerkawinan as statusKawin,"
+ "statusPerkawinanPegawai.statusPerkawinan as statusPerkawinanPegawai," + "suku.suku as suku," + "statusPerkawinanPegawai.statusPerkawinan as statusPerkawinanPegawai," + "suku.suku as suku,"
+ "typePegawai.typePegawai as typePegawai," + "pegawai.statusEnabled as statusEnabled)" + "typePegawai.typePegawai as typePegawai," + "pegawai.statusEnabled as statusEnabled)"
+ "from Pegawai pegawai " + "left join pegawai.detailKategoryPegawai detailKategoryPegawai " + "from Pegawai pegawai " + "left join pegawai.detailKategoryPegawai detailKategoryPegawai "
@ -516,7 +488,7 @@ public class PegawaiDaoCustomImpl extends CoreDaoImpl<Pegawai> implements Pegawa
+ "left join pegawai.statusPegawai statusPegawai " + "left join pegawai.statusKawin statusKawin " + "left join pegawai.statusPegawai statusPegawai " + "left join pegawai.statusKawin statusKawin "
+ "left join pegawai.statusPerkawinanPegawai statusPerkawinanPegawai " + "left join pegawai.suku suku " + "left join pegawai.statusPerkawinanPegawai statusPerkawinanPegawai " + "left join pegawai.suku suku "
+ "left join pegawai.typePegawai typePegawai " + "where pegawai.statusEnabled is true " + "left join pegawai.typePegawai typePegawai " + "where pegawai.statusEnabled is true "
+ "and kategoriPegawai.id = :idKategori "); + "and kategoriPegawai.id in (:listIdKategori) ");
if (CommonUtil.isNotNullOrEmpty(nama)) { if (CommonUtil.isNotNullOrEmpty(nama)) {
buffer.append("and lower(pegawai.nama) like lower ('%" + nama + "%') "); buffer.append("and lower(pegawai.nama) like lower ('%" + nama + "%') ");
@ -538,7 +510,7 @@ public class PegawaiDaoCustomImpl extends CoreDaoImpl<Pegawai> implements Pegawa
Query query = em.createQuery(buffer.toString()); Query query = em.createQuery(buffer.toString());
query.setParameter("idKategori", idKategori); query.setParameter("listIdKategori", listIdKategori);
if (CommonUtil.isNotNullOrEmpty(idUnitKerja)) { if (CommonUtil.isNotNullOrEmpty(idUnitKerja)) {
List<Integer> listPegawaiByUnitKerja = pegawaiDao.getPegawaiByIdUnitKerja(idUnitKerja); List<Integer> listPegawaiByUnitKerja = pegawaiDao.getPegawaiByIdUnitKerja(idUnitKerja);

View File

@ -1,12 +1,11 @@
package com.jasamedika.medifirst2000.service; package com.jasamedika.medifirst2000.service;
import com.jasamedika.medifirst2000.exception.ServiceVOException;
import org.springframework.orm.jpa.JpaSystemException;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import org.springframework.orm.jpa.JpaSystemException;
import com.jasamedika.medifirst2000.exception.ServiceVOException;
/** /**
* View Object service * View Object service
* *
@ -19,53 +18,39 @@ import com.jasamedika.medifirst2000.exception.ServiceVOException;
* @author Roberto * @author Roberto
*/ */
public interface BaseVoService<T, V, K> { public interface BaseVoService<T, V, K> {
/** /**
* Add model from VO * Add model from VO
*
* @param vo
* @return
*/ */
public V add(V vo) throws JpaSystemException, ServiceVOException; V add(V vo) throws JpaSystemException, ServiceVOException;
/** /**
* Update model from vo * Update model from vo
*
* @param vo
* @return
*/ */
public V update(V vo) throws JpaSystemException, ServiceVOException; V update(V vo) throws JpaSystemException, ServiceVOException;
/** /**
* Delete model by primary key * Delete model by primary key
*
* @param key
* @return
*/ */
public Boolean delete(K key) throws JpaSystemException; Boolean delete(K key) throws JpaSystemException;
/** /**
* Find by Id * Find by ID
* *
* @param key * @param key
* primary key * primary key
* @return
*/ */
public V findById(K key) throws JpaSystemException; V findById(K key) throws JpaSystemException;
/** /**
* Find all model to vo * Find all model to vo
*
* @return
*/ */
public List<V> findAll() throws JpaSystemException; List<V> findAll() throws JpaSystemException;
/** /**
* Find all model to vo by page and limit and sort and dir parameter * Find all model to vo by page and limit and sort and dir parameter
*
* @return
*/ */
public Map<String, Object> findAllWithPageAndLimitAndSortByAndDirectionParameter( Map<String, Object> findAllWithPageAndLimitAndSortByAndDirectionParameter(Integer page, Integer limit,
Integer page, Integer limit, String sort, String dir); String sort, String dir);
} }

View File

@ -0,0 +1,14 @@
package com.jasamedika.medifirst2000.service;
import com.jasamedika.medifirst2000.dto.DataCutiDto;
/**
* @author Salman
* @version 1.0.0
* @since 09/01/2025
*/
public interface JatahCutiDanIzinService {
DataCutiDto getDataCuti(Integer pegawaiId, String year, Integer statusPegawaiId);
}

View File

@ -67,4 +67,6 @@ public interface MapPegawaiJabatanToUnitKerjaService {
List<Map<String, Object>> getlistPegawaiByUnitKerja(Integer unitKerjaPegawaiId); List<Map<String, Object>> getlistPegawaiByUnitKerja(Integer unitKerjaPegawaiId);
AuthorizationDto get(EmailDto dto); AuthorizationDto get(EmailDto dto);
String getJenisLogbook(Integer idPegawai);
} }

View File

@ -1,5 +1,6 @@
package com.jasamedika.medifirst2000.service; package com.jasamedika.medifirst2000.service;
import com.jasamedika.medifirst2000.dto.DataCutiDto;
import com.jasamedika.medifirst2000.entities.PegawaiHistoriRekapIndex; import com.jasamedika.medifirst2000.entities.PegawaiHistoriRekapIndex;
import com.jasamedika.medifirst2000.vo.JatahCutiDanIzinVO; import com.jasamedika.medifirst2000.vo.JatahCutiDanIzinVO;
import com.jasamedika.medifirst2000.vo.KelompokShiftKerjaCustomVO; import com.jasamedika.medifirst2000.vo.KelompokShiftKerjaCustomVO;
@ -27,7 +28,7 @@ public interface PermohonanStatusPegawaiService {
Map<String, Object> savePlanningPegawaiStatus(PlanningPegawaiStatusVO vo); Map<String, Object> savePlanningPegawaiStatus(PlanningPegawaiStatusVO vo);
Map<String, Object> perbaruiDataCuti(Integer idPegawai, Integer idStatusPegawai); DataCutiDto perbaruiDataCuti(Integer idPegawai, Integer idStatusPegawai);
boolean validateTanggalPermohonanRev(Integer statusPegawaiPlanId, Set<ListTanggalCutiVO> listTanggalCutiVO, boolean validateTanggalPermohonanRev(Integer statusPegawaiPlanId, Set<ListTanggalCutiVO> listTanggalCutiVO,
Integer idPegawai); Integer idPegawai);
@ -89,8 +90,6 @@ public interface PermohonanStatusPegawaiService {
JatahCutiDanIzinVO setJatahCutiDanIzinVo(Integer idPegawai, Integer idStatusPegawai); JatahCutiDanIzinVO setJatahCutiDanIzinVo(Integer idPegawai, Integer idStatusPegawai);
Integer difCutiTerpakai(Integer cutiTerpakai, Integer dataCuti);
Integer countJumlahPengajuanDiprosesByPegawai(Integer idPegawai, Integer idPlan); Integer countJumlahPengajuanDiprosesByPegawai(Integer idPegawai, Integer idPlan);
Integer countJumlahPengajuanDiprosesByPegawai(Integer idPegawai, Integer idPlan, String noPlanning); Integer countJumlahPengajuanDiprosesByPegawai(Integer idPegawai, Integer idPlan, String noPlanning);

View File

@ -1564,7 +1564,7 @@ public class IndekKinerjaServiceImpl extends BaseVoServiceImpl implements IndekK
if (CommonUtil.isNotNullOrEmpty(vo.getTanggal())) { if (CommonUtil.isNotNullOrEmpty(vo.getTanggal())) {
Kalender kalender = mapKalenderToHariLiburDao Kalender kalender = mapKalenderToHariLiburDao
.getKalender(new SimpleDateFormat("yyyy-MM-dd").format(vo.getTanggal().getTanggal())); .getKalender(new SimpleDateFormat("yyyy-MM-dd").format(vo.getTanggal().getTanggal()));
mapKalenderToHariLibur.setTgl(kalender); mapKalenderToHariLibur.setTanggal(kalender);
} }
if (CommonUtil.isNotNullOrEmpty(mapKalenderToHariLibur)) { if (CommonUtil.isNotNullOrEmpty(mapKalenderToHariLibur)) {
MapKalenderToHariLibur model = mapKalenderToHariLiburDao.save(mapKalenderToHariLibur); MapKalenderToHariLibur model = mapKalenderToHariLiburDao.save(mapKalenderToHariLibur);

View File

@ -0,0 +1,596 @@
package com.jasamedika.medifirst2000.service.impl;
import com.jasamedika.medifirst2000.constants.Master;
import com.jasamedika.medifirst2000.dao.*;
import com.jasamedika.medifirst2000.dto.DataCutiDto;
import com.jasamedika.medifirst2000.dto.JatahCutiRequest;
import com.jasamedika.medifirst2000.dto.HariLiburTerpakai;
import com.jasamedika.medifirst2000.entities.ListTanggalCuti;
import com.jasamedika.medifirst2000.service.JatahCutiDanIzinService;
import com.jasamedika.medifirst2000.util.CommonUtil;
import com.jasamedika.medifirst2000.util.DateUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.util.*;
import java.util.stream.Collectors;
import static com.jasamedika.medifirst2000.constants.Master.HariLibur.LIBUR_CB;
import static com.jasamedika.medifirst2000.constants.Master.StatusPegawai.CUTI_TAHUNAN;
/**
* @author Salman
* @version 1.0.0
* @since 09/01/2025
*/
@Service
public class JatahCutiDanIzinServiceImpl implements JatahCutiDanIzinService {
@Autowired
private PlanningPegawaiStatusDao planningPegawaiStatusDao;
@Autowired
private JatahCutiDanIzinDao jatahCutiDanIzinDao;
@Autowired
private PegawaiDao pegawaiDao;
@Autowired
private PegawaiHistoriRekapIndexDao pegawaiHistoriRekapIndexDao;
@Autowired
private PegawaiJadwalKerjaDao pegawaiJadwalKerjaDao;
@Autowired
private MapKalenderToHariLiburDao mapKalenderToHariLiburDao;
@Autowired
private HabsenDao habsenDao;
@Autowired
private ListTanggalCutiDao tanggalCutiDao;
@Override
public DataCutiDto getDataCuti(Integer pegawaiId, String year, Integer statusPegawaiId) {
return calculateCutiIzin(pegawaiId, year, statusPegawaiId);
}
private DataCutiDto calculateCutiIzin(Integer pegawaiId, String year, Integer statusPegawaiId) {
DataCutiDto.DataCutiDtoBuilder cutiIzinBuilder = DataCutiDto.builder();
List<Integer> listKomponenIndex = new ArrayList<>();
int sisaCuti;
Integer sisaCutiB2 = 0;
Integer sisaCutiB1 = 0;
int sisaCutiB;
int sisaCutiN2;
int sisaCutiN1;
int sisaCutiN;
Integer jatahCuti = 0;
int sisaJatahRawatJalan = 0;
int sisaJatahRawatInap = 0;
int sisaIzin;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat formatter = new SimpleDateFormat("yyyy");
if (CommonUtil.isNullOrEmpty(year))
year = formatter.format(DateUtil.now());
int yearn1 = Integer.parseInt(year) - 1;
int yearn2 = Integer.parseInt(year) - 2;
int yearn3 = Integer.parseInt(year) + 1;
String yearN1 = Integer.toString(yearn1);
String yearN2 = Integer.toString(yearn2);
String yearN3 = Integer.toString(yearn3);
if (statusPegawaiId == 5 || statusPegawaiId == 1 || statusPegawaiId == 21) {
String komponen = Master.KomponenIndex.CUTI_NONSHIFT.toString();
String komponenIndeksCutiShift = Master.KomponenIndex.CUTI_SHIFT.toString();
String komponenIndeksCutiBersama = Master.KomponenIndex.CUTI_BERSAMA.toString();
listKomponenIndex.add(Integer.valueOf(komponen));
listKomponenIndex.add(Integer.valueOf(komponenIndeksCutiShift));
// Initiate cuti bersama
Integer cutiTerpakaiB2;
Integer cutiTerpakaiB1;
Integer cutiTerpakaiB;
// Menghitung cuti terpakai tahun n-2
Integer cutiTerpakaiN2 = pegawaiHistoriRekapIndexDao.getCutiTerpakai(yearN2, pegawaiId, listKomponenIndex);
if (CommonUtil.isNullOrEmpty(cutiTerpakaiN2))
cutiTerpakaiN2 = 0;
// Menghitung cuti terpakai tahun n-1
Integer cutiTerpakaiN1 = pegawaiHistoriRekapIndexDao.getCutiTerpakai(yearN1, pegawaiId, listKomponenIndex);
if (CommonUtil.isNullOrEmpty(cutiTerpakaiN1))
cutiTerpakaiN1 = 0;
// Menghitung cuti terpakai tahun n
Integer cutiTerpakaiN = pegawaiHistoriRekapIndexDao.getCutiTerpakai(year, pegawaiId, listKomponenIndex);
if (CommonUtil.isNullOrEmpty(cutiTerpakaiN))
cutiTerpakaiN = 0;
// Menghitung cuti terpakai by histori pengajuan
Integer jumlahTglByPengajuan = pegawaiHistoriRekapIndexDao.getHistoriCutiTerpakaiByTahunPengajuan(year,
pegawaiId, listKomponenIndex);
if (CommonUtil.isNullOrEmpty(jumlahTglByPengajuan))
jumlahTglByPengajuan = 0;
Integer rekapHistoriCutiTerpakai = pegawaiHistoriRekapIndexDao.getHistoriCutiTerpakai(yearN2, pegawaiId,
listKomponenIndex);
if (CommonUtil.isNullOrEmpty(rekapHistoriCutiTerpakai))
rekapHistoriCutiTerpakai = 0;
Integer dataHistoriCutiTerpakai = jatahCutiDanIzinDao.getHistoriCutiTerpakai(pegawaiId, yearN2);
if (CommonUtil.isNullOrEmpty(dataHistoriCutiTerpakai))
dataHistoriCutiTerpakai = 0;
Integer diffHistori = dataHistoriCutiTerpakai - rekapHistoriCutiTerpakai;
if (rekapHistoriCutiTerpakai < dataHistoriCutiTerpakai) {
if (cutiTerpakaiN2 > diffHistori) {
cutiTerpakaiN2 -= diffHistori;
} else {
diffHistori -= cutiTerpakaiN2;
cutiTerpakaiN2 = 0;
if (cutiTerpakaiN1 > diffHistori) {
cutiTerpakaiN1 -= diffHistori;
} else {
diffHistori -= cutiTerpakaiN1;
cutiTerpakaiN1 = 0;
if (cutiTerpakaiN > diffHistori) {
cutiTerpakaiN -= diffHistori;
} else {
cutiTerpakaiN = 0;
}
}
}
}
// Mendapatkan seluruh data jatah cuti untuk pegawai tertentu
Integer dataCutiB2 = jatahCutiDanIzinDao.getDataCuti(yearN2, pegawaiId,
Integer.valueOf(komponenIndeksCutiBersama)); // dataCutiBersama_di_n-2
Integer dataCutiB1 = jatahCutiDanIzinDao.getDataCuti(yearN1, pegawaiId,
Integer.valueOf(komponenIndeksCutiBersama)); // dataCutiBersama_di_n-1
Integer dataCutiB = jatahCutiDanIzinDao.getDataCuti(year, pegawaiId,
Integer.valueOf(komponenIndeksCutiBersama)); // dataCutiBersama_di_n
Integer dataCutiN2 = jatahCutiDanIzinDao.getDataCuti(yearN2, pegawaiId, Integer.valueOf(komponen)); // dataCutiTahunan_tahun_n-2
Integer dataCutiN1 = jatahCutiDanIzinDao.getDataCuti(yearN1, pegawaiId, Integer.valueOf(komponen)); // dataCutiTahunan_tahun_n-1
Integer dataCutiN = jatahCutiDanIzinDao.getDataCuti(year, pegawaiId, Integer.valueOf(komponen)); // dataCutiTahunan_tahun_n
Integer dataCutiN3 = jatahCutiDanIzinDao.getDataCuti(yearN3, pegawaiId, Integer.valueOf(komponen)); // dataCutiTahunan_tahun_n+1
// Validasi existing data
if (CommonUtil.isNullOrEmpty(dataCutiB2))
dataCutiB2 = 0;
if (CommonUtil.isNullOrEmpty(dataCutiB1))
dataCutiB1 = 0;
if (CommonUtil.isNullOrEmpty(dataCutiB))
dataCutiB = 0;
if (CommonUtil.isNullOrEmpty(dataCutiN2))
dataCutiN2 = 0;
if (CommonUtil.isNullOrEmpty(dataCutiN1))
dataCutiN1 = 0;
if (CommonUtil.isNullOrEmpty(dataCutiN))
dataCutiN = 0;
if (CommonUtil.isNullOrEmpty(dataCutiN3))
dataCutiN3 = 12;
// mapping jatah cuti
cutiIzinBuilder.dataCutiB2(dataCutiB2);
cutiIzinBuilder.dataCutiB1(dataCutiB1);
cutiIzinBuilder.dataCutiB(dataCutiB);
cutiIzinBuilder.dataCutiN2(dataCutiN2);
cutiIzinBuilder.dataCutiN1(dataCutiN1);
cutiIzinBuilder.dataCutiN(dataCutiN);
cutiIzinBuilder.dataCutiN3(dataCutiN3);
// Hitung Absen di tanggal cuti bersama
List<String> listTglCutiBersama = mapKalenderToHariLiburDao.getTglCutiBersama(year);
int countDataHabsen = 0;
Date awal2025 = new Date(1735664400000L);
for (String tglStr : listTglCutiBersama) {
Date tglCheck;
try {
tglCheck = sdf.parse(tglStr);
} catch (ParseException e) {
tglCheck = new Date();
}
List<Date> dataHabsen = new ArrayList<>();
// cek shift malam
String tglPrev = sdf.format(java.sql.Date.valueOf(LocalDate.parse(tglStr).minusDays(1)));
List<Map<String, Object>> listMap = pegawaiJadwalKerjaDao.getNamaShiftKerjaPegawaiByTanggal(tglPrev,
tglStr, pegawaiId);
if (listMap.size() == 2) {
if (!listMap.get(0).get("namaShift").toString().toLowerCase().contains("malam")
&& listMap.get(1).get("namaShift").toString().toLowerCase().contains("malam")) {
dataHabsen = habsenDao.countAbsenTglCutiBersama(tglStr, pegawaiDao.getidFinger(pegawaiId));
} else if (listMap.get(0).get("namaShift").toString().toLowerCase().contains("malam")
&& listMap.get(1).get("namaShift").toString().toLowerCase().contains("malam")) {
dataHabsen = habsenDao.countAbsenTglCutiBersama(tglStr, pegawaiDao.getidFinger(pegawaiId));
} else if (!listMap.get(0).get("namaShift").toString().toLowerCase().contains("malam")
&& !listMap.get(1).get("namaShift").toString().toLowerCase().contains("malam")) {
dataHabsen = habsenDao.countAbsenTglCutiBersama(tglStr, pegawaiDao.getidFinger(pegawaiId));
}
}
if (CommonUtil.isNotNullOrEmpty(dataHabsen)) {
if (listMap.size() == 2) {
if (Arrays.asList(Master.ShiftKerja.TUJUH_BELAS_JAM_SHIFT)
.contains(Integer.parseInt(listMap.get(1).get("idShift").toString()))) {
if (Integer.parseInt(year) < 2023) {
countDataHabsen += 2;
} else {
countDataHabsen += 1;
}
} else {
countDataHabsen += 1;
}
} else {
countDataHabsen += 1;
}
} else if (tglCheck.before(awal2025)) {
// cuti tahunan di tanggal cuti bersama
List<Date> tglCutiTahunanDiTglCutiBersama = jatahCutiDanIzinDao
.getCutiTahunanDiTglCutiBersama(CUTI_TAHUNAN, pegawaiId, tglStr);
if (CommonUtil.isNotNullOrEmpty(tglCutiTahunanDiTglCutiBersama)) {
if (listMap.size() == 2) {
if (Arrays.asList(Master.ShiftKerja.TUJUH_BELAS_JAM_SHIFT)
.contains(Integer.parseInt(listMap.get(1).get("idShift").toString()))) {
if (Integer.parseInt(year) < 2023) {
countDataHabsen += 2;
} else {
countDataHabsen += 1;
}
} else {
countDataHabsen += 1;
}
} else {
countDataHabsen += 1;
}
}
}
}
dataCutiB = countDataHabsen;
// kondisikan cuti bersama yg sudah berlalu
if (cutiTerpakaiN2 > dataCutiB2) {
cutiTerpakaiB2 = dataCutiB2;
} else {
cutiTerpakaiB2 = cutiTerpakaiN2;
}
if (cutiTerpakaiN1 > dataCutiB1) {
cutiTerpakaiB1 = dataCutiB1;
} else {
cutiTerpakaiB1 = cutiTerpakaiN1;
}
JatahCutiRequest jatahCutiRequest = transform(pegawaiId, year, statusPegawaiId);
int jatahCutiBersamaDitangguhkan = tangguhkanCutiBersama(cutiTerpakaiB1, jatahCutiRequest);
dataCutiB += jatahCutiBersamaDitangguhkan;
cutiIzinBuilder.dataCutiB(dataCutiB);
// Mendapatkan kondisi penangguhan saat ini
cutiIzinBuilder.isTangguhkanB2(false);
cutiIzinBuilder.isTangguhkanB1(false);
cutiIzinBuilder.isTangguhkanB(false);
Boolean jCutiN2 = jatahCutiDanIzinDao.getPenangguhanSisaCuti(yearN2, pegawaiId, Integer.valueOf(komponen));
if (CommonUtil.isNotNullOrEmpty(jCutiN2)) {
cutiIzinBuilder.isTangguhkanN2(jCutiN2);
} else {
jCutiN2 = false;
cutiIzinBuilder.isTangguhkanN2(false);
}
Boolean jCutiN1 = jatahCutiDanIzinDao.getPenangguhanSisaCuti(yearN1, pegawaiId, Integer.valueOf(komponen));
if (CommonUtil.isNotNullOrEmpty(jCutiN1)) {
cutiIzinBuilder.isTangguhkanN1(jCutiN1);
} else {
jCutiN1 = false;
cutiIzinBuilder.isTangguhkanN1(false);
}
Boolean jCutiN = jatahCutiDanIzinDao.getPenangguhanSisaCuti(year, pegawaiId, Integer.valueOf(komponen));
if (CommonUtil.isNotNullOrEmpty(jCutiN)) {
cutiIzinBuilder.isTangguhkanN(jCutiN);
} else {
cutiIzinBuilder.isTangguhkanN(false);
}
if (dataCutiB >= cutiTerpakaiN) {
sisaCutiB = dataCutiB - cutiTerpakaiN;
cutiTerpakaiB = cutiTerpakaiN;
} else {
sisaCutiB = 0;
cutiTerpakaiB = dataCutiB;
}
cutiIzinBuilder.sisaCutiB2(sisaCutiB2);
cutiIzinBuilder.sisaCutiB1(sisaCutiB1);
cutiIzinBuilder.sisaCutiB(sisaCutiB);
cutiIzinBuilder.cutiTerpakaiB2(cutiTerpakaiB2);
cutiIzinBuilder.cutiTerpakaiB1(cutiTerpakaiB1);
cutiIzinBuilder.cutiTerpakaiB(cutiTerpakaiB);
// menghitung jatah cuti yang terpakai
Integer jatahCutiTerpakaiN2 = 0, jatahCutiTerpakaiN1 = 0, jatahCutiTerpakaiN = 0;
int allCutiTerpakai = difCutiTerpakai(cutiTerpakaiN2, dataCutiB2)
+ difCutiTerpakai(cutiTerpakaiN1, dataCutiB1) + difCutiTerpakai(cutiTerpakaiN, dataCutiB);
if (dataCutiN2 > 0) {
if (allCutiTerpakai >= dataCutiN2) {
if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2)
+ difCutiTerpakai(cutiTerpakaiN1, dataCutiB1) < dataCutiN2) {
jatahCutiTerpakaiN2 = difCutiTerpakai(cutiTerpakaiN2, dataCutiB2)
+ difCutiTerpakai(cutiTerpakaiN1, dataCutiB1);
} else {
jatahCutiTerpakaiN2 = dataCutiN2;
}
} else {
if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2)
+ difCutiTerpakai(cutiTerpakaiN1, dataCutiB1) < dataCutiN2) {
jatahCutiTerpakaiN2 = difCutiTerpakai(cutiTerpakaiN2, dataCutiB2)
+ difCutiTerpakai(cutiTerpakaiN1, dataCutiB1);
} else {
jatahCutiTerpakaiN2 = allCutiTerpakai;
}
}
if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2)
+ difCutiTerpakai(cutiTerpakaiN1, dataCutiB1) < dataCutiN2) {
if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2) > 0) {
sisaCutiN2 = 0; // hangus
} else {
if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2)
+ difCutiTerpakai(cutiTerpakaiN1, dataCutiB1) < 6) {
if (jatahCutiTerpakaiN2 == 0 && !jCutiN1) {
sisaCutiN2 = 6;
} else if (jatahCutiTerpakaiN2 == 0) {
sisaCutiN2 = 0;
} else if (!jCutiN2 && !jCutiN1) {
sisaCutiN2 = 6 - jatahCutiTerpakaiN2;
} else {
sisaCutiN2 = 0;
}
} else {
sisaCutiN2 = dataCutiN2 - jatahCutiTerpakaiN2;
}
}
} else {
if (dataCutiN2 - jatahCutiTerpakaiN2 >= 6 && !jCutiN2) {
sisaCutiN2 = 6 - jatahCutiTerpakaiN2;
} else {
sisaCutiN2 = dataCutiN2 - jatahCutiTerpakaiN2;
}
}
if (sisaCutiN2 > 0 && difCutiTerpakai(cutiTerpakaiN, dataCutiB) > 0) {
if (sisaCutiN2 > difCutiTerpakai(cutiTerpakaiN, dataCutiB)) {
jatahCutiTerpakaiN2 += difCutiTerpakai(cutiTerpakaiN, dataCutiB);
} else {
jatahCutiTerpakaiN2 += sisaCutiN2;
}
}
allCutiTerpakai = allCutiTerpakai - jatahCutiTerpakaiN2;
if (allCutiTerpakai > 0) {
if (allCutiTerpakai >= dataCutiN1) {
jatahCutiTerpakaiN1 = dataCutiN1;
allCutiTerpakai = allCutiTerpakai - jatahCutiTerpakaiN1;
if ((allCutiTerpakai > 0) && (allCutiTerpakai <= dataCutiN)) {
jatahCutiTerpakaiN = allCutiTerpakai;
} else {
jatahCutiTerpakaiN = 0;
}
} else {
jatahCutiTerpakaiN1 = allCutiTerpakai;
}
}
} else if (dataCutiN1 > 0) {
if (allCutiTerpakai >= dataCutiN1) {
jatahCutiTerpakaiN1 = dataCutiN1;
allCutiTerpakai = allCutiTerpakai - jatahCutiTerpakaiN1;
if ((allCutiTerpakai > 0) && (allCutiTerpakai <= dataCutiN)) {
jatahCutiTerpakaiN = allCutiTerpakai;
} else {
jatahCutiTerpakaiN = 0;
}
} else {
jatahCutiTerpakaiN1 = allCutiTerpakai;
}
} else if (dataCutiN > 0) {
if (allCutiTerpakai <= dataCutiN) {
jatahCutiTerpakaiN = allCutiTerpakai;
} else {
jatahCutiTerpakaiN = 0;
}
}
// Menghitung cuti terpakai tahun n+1
Integer cutiTerpakaiN3 = pegawaiHistoriRekapIndexDao.getCutiTerpakai(yearN3, pegawaiId, listKomponenIndex);
if (CommonUtil.isNullOrEmpty(cutiTerpakaiN3))
cutiTerpakaiN3 = 0;
if (cutiTerpakaiN3 > 0) {
// menghitung sisa cuti n-1 terlebih dahulu
if (dataCutiN1 - jatahCutiTerpakaiN1 >= 6 && !jCutiN1) {
sisaCutiN1 = 6 - jatahCutiTerpakaiN1;
} else {
sisaCutiN1 = dataCutiN1 - jatahCutiTerpakaiN1;
}
// juga menghitung sisa cuti n terlebih dahulu
sisaCutiN = dataCutiN - jatahCutiTerpakaiN;
// menghitung jatah cuti terpakai karena pengajuan lintas tahun
if (difCutiTerpakai(cutiTerpakaiN1, dataCutiB1) == 0 && !jCutiN1) {
if (sisaCutiN1 > 0) {
if (cutiTerpakaiN3 > sisaCutiN1) {
jatahCutiTerpakaiN1 += sisaCutiN1;
cutiTerpakaiN3 -= sisaCutiN1;
if (sisaCutiN > 0) {
if (cutiTerpakaiN3 > sisaCutiN) {
jatahCutiTerpakaiN += sisaCutiN;
} else {
jatahCutiTerpakaiN += cutiTerpakaiN3;
}
}
} else {
jatahCutiTerpakaiN1 += cutiTerpakaiN3;
}
} else if (sisaCutiN > 0) {
if (cutiTerpakaiN3 > sisaCutiN) {
jatahCutiTerpakaiN += sisaCutiN;
} else {
jatahCutiTerpakaiN += cutiTerpakaiN3;
}
}
} else {
if (sisaCutiN > 0) {
if (cutiTerpakaiN3 > sisaCutiN) {
jatahCutiTerpakaiN += sisaCutiN;
} else {
jatahCutiTerpakaiN += cutiTerpakaiN3;
}
}
}
}
// put all data jatah cuti terpakai
cutiIzinBuilder.cutiTerpakaiN2(jatahCutiTerpakaiN2);
cutiIzinBuilder.cutiTerpakaiN1(jatahCutiTerpakaiN1);
cutiIzinBuilder.cutiTerpakaiN(jatahCutiTerpakaiN);
// menghitung sisa cuti
if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2) + difCutiTerpakai(cutiTerpakaiN1, dataCutiB1) < 12) {
if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2) > 0) {
sisaCutiN2 = 0; // hangus
} else {
if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2) + difCutiTerpakai(cutiTerpakaiN1, dataCutiB1) < 6
&& dataCutiN2 > 0) {
if (jatahCutiTerpakaiN2 == 0 && !jCutiN1) {
sisaCutiN2 = 6;
} else if (jatahCutiTerpakaiN2 == 0) {
sisaCutiN2 = 0;
} else if (!jCutiN2 && !jCutiN1) {
sisaCutiN2 = 6 - jatahCutiTerpakaiN2;
} else {
sisaCutiN2 = 0;
}
} else if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2)
+ difCutiTerpakai(cutiTerpakaiN1, dataCutiB1) < 6 && dataCutiN2 <= 0) {
sisaCutiN2 = 0;
} else if (difCutiTerpakai(cutiTerpakaiN2, dataCutiB2)
+ difCutiTerpakai(cutiTerpakaiN1, dataCutiB1) > 6 && jCutiN1) {
sisaCutiN2 = 0;
} else {
sisaCutiN2 = dataCutiN2 - jatahCutiTerpakaiN2;
}
}
} else {
if (dataCutiN2 - jatahCutiTerpakaiN2 >= 6 && !jCutiN2) {
sisaCutiN2 = 6 - jatahCutiTerpakaiN2;
} else {
sisaCutiN2 = dataCutiN2 - jatahCutiTerpakaiN2;
}
}
if (dataCutiN1 - jatahCutiTerpakaiN1 >= 6 && !jCutiN1) {
jumlahTglByPengajuan -= (dataHistoriCutiTerpakai + jatahCutiTerpakaiN2 + cutiTerpakaiB + cutiTerpakaiB1
+ cutiTerpakaiB2);
if (jumlahTglByPengajuan < 0)
jumlahTglByPengajuan = 0;
if (jumlahTglByPengajuan > jatahCutiTerpakaiN1) {
sisaCutiN1 = 6;
} else {
sisaCutiN1 = 6 - (jatahCutiTerpakaiN1 - jumlahTglByPengajuan);
}
} else {
sisaCutiN1 = dataCutiN1 - jatahCutiTerpakaiN1;
}
sisaCutiN = dataCutiN - jatahCutiTerpakaiN;
// put all data sisa cuti
cutiIzinBuilder.sisaCutiN2(sisaCutiN2);
cutiIzinBuilder.sisaCutiN1(sisaCutiN1);
cutiIzinBuilder.sisaCutiN(sisaCutiN);
}
if (statusPegawaiId == 24) {
if (CommonUtil.isNotNullOrEmpty(jatahCuti))
cutiIzinBuilder.jatahCuti("-");
cutiIzinBuilder.sisaCuti("-");
}
if (statusPegawaiId == 25) {
Map<String, Object> data = planningPegawaiStatusDao.getJatahCutiMelahirkan(statusPegawaiId);
if (CommonUtil.isNotNullOrEmpty(jatahCuti))
cutiIzinBuilder.jatahCuti(data.get("kuotaTotalHari").toString());
cutiIzinBuilder.sisaCuti("-");
}
if (statusPegawaiId == 26) {
if (CommonUtil.isNotNullOrEmpty(jatahCuti))
cutiIzinBuilder.jatahCuti("-");
cutiIzinBuilder.sisaCuti("-");
}
// Izin
if (statusPegawaiId == 27) {
Integer komponenIzin = 17; // komponenIndex untuk izin
Integer jatahIzin = 2; // sesuai kesepakatan
Integer jumlahIzinTerpakai = pegawaiHistoriRekapIndexDao.getIzinTerpakai(pegawaiId, komponenIzin);
if (CommonUtil.isNotNullOrEmpty(jumlahIzinTerpakai)) {
sisaIzin = jatahIzin - jumlahIzinTerpakai;
} else {
sisaIzin = jatahIzin;
}
cutiIzinBuilder.jatahIzin(jatahIzin);
cutiIzinBuilder.sisaIzin(sisaIzin);
}
if (statusPegawaiId == 28) {
if (CommonUtil.isNotNullOrEmpty(jatahCuti))
cutiIzinBuilder.jatahCuti("-");
cutiIzinBuilder.sisaCuti("-");
}
if (statusPegawaiId == 17) {
Integer cutiTerpakai = pegawaiHistoriRekapIndexDao.getNilaiIndexPegawaiHistoriRekapIndex(pegawaiId, 17);
Integer dataCuti = jatahCutiDanIzinDao.getDataCuti(year, pegawaiId, 17);
if (CommonUtil.isNotNullOrEmpty(dataCuti)) {
if (CommonUtil.isNullOrEmpty(cutiTerpakai))
cutiTerpakai = 0;
sisaCuti = dataCuti - cutiTerpakai;
if (sisaCuti < 0)
sisaCuti = 0;
} else {
sisaCuti = 0;
dataCuti = 0;
}
cutiIzinBuilder.sisaCuti(String.valueOf(sisaCuti));
cutiIzinBuilder.jatahCuti(String.valueOf(dataCuti));
}
// sakit
if (statusPegawaiId == 29 || statusPegawaiId == 6) {
Integer komponenSakit = 7;
Integer komponenSakitShift = 8;
Integer jumlahRawatJalan = pegawaiHistoriRekapIndexDao.getSakitTerpakai(pegawaiId, komponenSakit, 1);
if (CommonUtil.isNullOrEmpty(jumlahRawatJalan))
jumlahRawatJalan = pegawaiHistoriRekapIndexDao.getSakitTerpakai(pegawaiId, komponenSakitShift, 1);
Integer jumlahRawatInap = pegawaiHistoriRekapIndexDao.getSakitTerpakai(pegawaiId, komponenSakit, 2);
if (CommonUtil.isNullOrEmpty(jumlahRawatInap))
jumlahRawatInap = pegawaiHistoriRekapIndexDao.getSakitTerpakai(pegawaiId, komponenSakitShift, 2);
if ((CommonUtil.isNotNullOrEmpty(jumlahRawatJalan)) || (CommonUtil.isNotNullOrEmpty(jumlahRawatInap))) {
sisaJatahRawatJalan = 3 - jumlahRawatJalan;
sisaJatahRawatInap = 5 - jumlahRawatInap;
}
cutiIzinBuilder.sisaJatahRawatJalan(sisaJatahRawatJalan);
cutiIzinBuilder.sisaJatahRawatInap(sisaJatahRawatInap);
}
return cutiIzinBuilder.build();
}
private Integer difCutiTerpakai(Integer cutiTerpakai, Integer dataCuti) {
int difCutiTerpakai = 0;
if (cutiTerpakai > dataCuti)
difCutiTerpakai = cutiTerpakai - dataCuti;
return difCutiTerpakai;
}
private JatahCutiRequest transform(Integer pegawaiId, String year, Integer statusPegawaiId) {
return JatahCutiRequest.builder().pegawaiId(pegawaiId).year(year).statusPegawaiId(statusPegawaiId).build();
}
private int tangguhkanCutiBersama(Integer cutiBersamaTerpakaiTahunLalu, JatahCutiRequest request) {
Date awal2024 = new Date(1704042000000L);
if (CommonUtil.isNullOrEmpty(request.getYear()))
request.setYear(String.valueOf(DateUtil.getYear(new Date())));
Date tahunLalu = DateUtil.getInstanceCalendar(-1);
Date awalTahunLalu = DateUtil.startYear(tahunLalu);
Date akhirTahunLalu = DateUtil.endYear(tahunLalu);
List<HariLiburTerpakai> listPresensiTahunLalu = mapKalenderToHariLiburDao
.getPresensiByTahun(request.getPegawaiId(), LIBUR_CB, awalTahunLalu, akhirTahunLalu);
List<HariLiburTerpakai> listPresensiCutiBersamaBisaDitangguhkan = listPresensiTahunLalu.stream()
.filter(HariLiburTerpakai::getIsCutiBersamaDitangguhkan).collect(Collectors.toList());
if (listPresensiCutiBersamaBisaDitangguhkan.isEmpty())
return 0;
int cutiDiCutiBersama = 0;
if (tahunLalu.before(awal2024)) {
List<HariLiburTerpakai> listCutiDiCutiBersamaTahunLalu = tanggalCutiDao
.getCutiByTahun(request.getPegawaiId(), LIBUR_CB, awalTahunLalu, akhirTahunLalu);
cutiDiCutiBersama = listCutiDiCutiBersamaTahunLalu.size();
}
if (DateUtil.getYear(new Date()) == Integer.parseInt(request.getYear())) {
List<ListTanggalCuti> listCutiTahunLaluBelumDisetujui = tanggalCutiDao
.notApprovedByPermohonan(request.getPegawaiId(), CUTI_TAHUNAN, awalTahunLalu, akhirTahunLalu);
int presensiCutiBersama = listPresensiTahunLalu.size();
int sisaJatah = presensiCutiBersama + cutiDiCutiBersama - cutiBersamaTerpakaiTahunLalu;
int jatahDitangguhkan = listPresensiCutiBersamaBisaDitangguhkan.size()
- listCutiTahunLaluBelumDisetujui.size();
if (sisaJatah >= jatahDitangguhkan && jatahDitangguhkan > 0)
return jatahDitangguhkan;
}
return 0;
}
}

View File

@ -1,29 +1,27 @@
package com.jasamedika.medifirst2000.service.impl; package com.jasamedika.medifirst2000.service.impl;
import com.jasamedika.medifirst2000.constants.Master;
import com.jasamedika.medifirst2000.dao.KalenderDao;
import com.jasamedika.medifirst2000.entities.Kalender;
import com.jasamedika.medifirst2000.service.KalenderService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Calendar; import java.util.Calendar;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.jasamedika.medifirst2000.constants.Master;
import com.jasamedika.medifirst2000.dao.KalenderDao;
import com.jasamedika.medifirst2000.entities.Kalender;
import com.jasamedika.medifirst2000.service.KalenderService;
@Service("kalenderService") @Service("kalenderService")
public class KalenderServiceImpl extends BaseVoServiceImpl implements KalenderService { public class KalenderServiceImpl extends BaseVoServiceImpl implements KalenderService {
@Autowired @Autowired
KalenderDao kalenderDao; KalenderDao kalenderDao;
@Override @Override
public void generateAndSaveKalender() { public void generateAndSaveKalender() {
List<Kalender> kals = new ArrayList<Kalender>(); List<Kalender> kals = new ArrayList<>();
Calendar ct = Calendar.getInstance(); Calendar ct = Calendar.getInstance();
ct.set(Calendar.MONTH, 0); ct.set(Calendar.MONTH, 0);
ct.set(Calendar.DAY_OF_MONTH, 1); ct.set(Calendar.DAY_OF_MONTH, 1);
@ -32,20 +30,15 @@ public class KalenderServiceImpl extends BaseVoServiceImpl implements KalenderSe
ct.set(Calendar.SECOND, 0); ct.set(Calendar.SECOND, 0);
ct.set(Calendar.MILLISECOND, 0); ct.set(Calendar.MILLISECOND, 0);
ct.add(Calendar.YEAR, 1); ct.add(Calendar.YEAR, 1);
Calendar c = Calendar.getInstance(); Calendar c = Calendar.getInstance();
Date lastDate = kalenderDao.getLastDateData(); Date lastDate = kalenderDao.getLastDateData();
c.setTime(lastDate); c.setTime(lastDate);
c.add(Calendar.DATE, 1); c.add(Calendar.DATE, 1);
if (ct.getTime().compareTo(c.getTime()) == 0) { if (ct.getTime().compareTo(c.getTime()) == 0) {
int daysInYear = c.getActualMaximum(Calendar.DAY_OF_YEAR); int daysInYear = c.getActualMaximum(Calendar.DAY_OF_YEAR);
for (int i = 1; i <= daysInYear; i++) { for (int i = 1; i <= daysInYear; i++) {
c.set(Calendar.DAY_OF_YEAR, i); c.set(Calendar.DAY_OF_YEAR, i);
Kalender kal = new Kalender(); Kalender kal = new Kalender();
kal.setKdProfile((short) 0); kal.setKdProfile((short) 0);
kal.setStatusEnabled(Master.STATUS_ENABLE_TRUE); kal.setStatusEnabled(Master.STATUS_ENABLE_TRUE);
kal.setBulanKeDlmTahun((byte) (c.get(Calendar.MONTH) + 1)); kal.setBulanKeDlmTahun((byte) (c.get(Calendar.MONTH) + 1));
@ -55,15 +48,13 @@ public class KalenderServiceImpl extends BaseVoServiceImpl implements KalenderSe
kal.setKdTanggal(c.get(Calendar.DAY_OF_YEAR)); kal.setKdTanggal(c.get(Calendar.DAY_OF_YEAR));
kal.setNamaBulan(new SimpleDateFormat("MMMM", new java.util.Locale("id")).format(c.getTime())); kal.setNamaBulan(new SimpleDateFormat("MMMM", new java.util.Locale("id")).format(c.getTime()));
kal.setNamaHari(new SimpleDateFormat("EEEE", new java.util.Locale("id")).format(c.getTime())); kal.setNamaHari(new SimpleDateFormat("EEEE", new java.util.Locale("id")).format(c.getTime()));
kal.setqTanggal(c.get(Calendar.DAY_OF_YEAR)); kal.setQTanggal(c.get(Calendar.DAY_OF_YEAR));
kal.setTahunKalender((short) c.get(Calendar.YEAR)); kal.setTahunKalender((short) c.get(Calendar.YEAR));
kal.setTanggal(c.getTime()); kal.setTanggal(c.getTime());
kals.add(kal); kals.add(kal);
} }
kalenderDao.save(kals); kalenderDao.save(kals);
} }
} }
} }

View File

@ -36,7 +36,7 @@ import static com.jasamedika.medifirst2000.constants.Master.Profesi.TERAPI;
*/ */
@Service @Service
@Transactional @Transactional
public class LogbookRemunServiceImpl implements LogbookRemunService { public class LogbookRemunServiceImpl extends BaseVoServiceImpl implements LogbookRemunService {
private static final Logger LOGGER = LoggerFactory.getLogger(LogbookRemunServiceImpl.class); private static final Logger LOGGER = LoggerFactory.getLogger(LogbookRemunServiceImpl.class);
@ -58,9 +58,6 @@ public class LogbookRemunServiceImpl implements LogbookRemunService {
@Autowired @Autowired
private MapPegawaiJabatanToUnitKerjaDao mapPegawaiJabatanToUnitKerjaDao; private MapPegawaiJabatanToUnitKerjaDao mapPegawaiJabatanToUnitKerjaDao;
@Autowired
private SubUnitKerjaDao subUnitKerjaDao;
@Autowired @Autowired
private MapJabatanProfesiDao mapJabatanProfesiDao; private MapJabatanProfesiDao mapJabatanProfesiDao;
@ -72,16 +69,15 @@ public class LogbookRemunServiceImpl implements LogbookRemunService {
Date date = Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).toInstant()); Date date = Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).toInstant());
Date tglAwal = DateUtil.startMonth(date); Date tglAwal = DateUtil.startMonth(date);
Date tglAkhir = DateUtil.endMonth(date); Date tglAkhir = DateUtil.endMonth(date);
List<Integer> subUnitKerjaIn = subUnitKerjaDao.findAllKelompokKerjaMedisId(); Set<Integer> listIdDokter = mapPegawaiJabatanToUnitKerjaDao
Set<Integer> idPegawaiKelompokKerja = mapPegawaiJabatanToUnitKerjaDao .findDokterByUnitKerja(splitDataSettingDatafixed("listIdUnitKerjaKsm"));
.findPegawaiIdBySubUnitKerjaIn(subUnitKerjaIn); List<Integer> listTerapis = mapJabatanProfesiDao.findIdPegawaiByProfesiIn(Arrays.asList(TERAPI));
List<Integer> terapisRehabMedik = mapJabatanProfesiDao.findIdPegawaiByProfesiIn(Arrays.asList(TERAPI)); listIdDokter.addAll(listTerapis);
idPegawaiKelompokKerja.addAll(terapisRehabMedik); if (!listIdDokter.isEmpty()) {
if (!idPegawaiKelompokKerja.isEmpty()) {
// Delete untuk pembaharuan data // Delete untuk pembaharuan data
deleteByPeriod(idPegawaiKelompokKerja, tglAwal, tglAkhir); deleteByPeriod(listIdDokter, tglAwal, tglAkhir);
} }
saveRekapDetailLogbookDokter(idPegawaiKelompokKerja, date); saveRekapDetailLogbookDokter(listIdDokter, date);
} }
public void deleteByPeriod(Set<Integer> idPegawai, Date tglAwal, Date tglAkhir) { public void deleteByPeriod(Set<Integer> idPegawai, Date tglAwal, Date tglAkhir) {
@ -198,7 +194,7 @@ public class LogbookRemunServiceImpl implements LogbookRemunService {
LogbookDokter logbookDokter = new LogbookDokter(); LogbookDokter logbookDokter = new LogbookDokter();
logbookDokter.setKdProfile((short) 0); logbookDokter.setKdProfile((short) 0);
logbookDokter.setStatusEnabled(true); logbookDokter.setStatusEnabled(true);
logbookDokter.setJenisLogbook("NON_JKN_DALAM_JAM_KERJA"); logbookDokter.setJenisLogbook("DALAM_JAM_KERJA");
logbookDokter.setJenisRuangan(fee.get("jenisRuangan").toString().toUpperCase()); logbookDokter.setJenisRuangan(fee.get("jenisRuangan").toString().toUpperCase());
logbookDokter.setKelompokPasien( logbookDokter.setKelompokPasien(
getKelompokPasien(Integer.parseInt(fee.get("idKelompokPasien").toString()))); getKelompokPasien(Integer.parseInt(fee.get("idKelompokPasien").toString())));
@ -262,7 +258,7 @@ public class LogbookRemunServiceImpl implements LogbookRemunService {
LogbookDokter logbookDokter = new LogbookDokter(); LogbookDokter logbookDokter = new LogbookDokter();
logbookDokter.setKdProfile((short) 0); logbookDokter.setKdProfile((short) 0);
logbookDokter.setStatusEnabled(true); logbookDokter.setStatusEnabled(true);
logbookDokter.setJenisLogbook("NON_JKN_LUAR_JAM_KERJA"); logbookDokter.setJenisLogbook("LUAR_JAM_KERJA");
logbookDokter.setJenisRuangan(fee.get("jenisRuangan").toString().toUpperCase()); logbookDokter.setJenisRuangan(fee.get("jenisRuangan").toString().toUpperCase());
logbookDokter.setKelompokPasien( logbookDokter.setKelompokPasien(
getKelompokPasien(Integer.parseInt(fee.get("idKelompokPasien").toString()))); getKelompokPasien(Integer.parseInt(fee.get("idKelompokPasien").toString())));

View File

@ -88,6 +88,7 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl extends BaseVoServiceImpl
public Map<String, Object> save(List<MapPegawaiJabatanToUnitKerjaVO> listVo) { public Map<String, Object> save(List<MapPegawaiJabatanToUnitKerjaVO> listVo) {
Map<String, Object> result = new HashMap<>(); Map<String, Object> result = new HashMap<>();
List<Map<String, Object>> listResult = new ArrayList<>(); List<Map<String, Object>> listResult = new ArrayList<>();
List<Integer> listIdKategoriPesertaDidik = splitDataSettingDatafixed("listIdKategoriPesertaDidik");
if (CommonUtil.isNotNullOrEmpty(listVo)) { if (CommonUtil.isNotNullOrEmpty(listVo)) {
for (MapPegawaiJabatanToUnitKerjaVO vo : listVo) { for (MapPegawaiJabatanToUnitKerjaVO vo : listVo) {
@ -112,7 +113,7 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl extends BaseVoServiceImpl
} }
if (CommonUtil.isNotNullOrEmpty(vo.getStatusEnabled())) { if (CommonUtil.isNotNullOrEmpty(vo.getStatusEnabled())) {
map.setStatusEnabled(vo.getStatusEnabled()); map.setStatusEnabled(vo.getStatusEnabled());
if (idKategoryPegawai.equals(Master.KategoryPegawai.PESERTA_DIDIK)) { if (listIdKategoriPesertaDidik.contains(idKategoryPegawai)) {
perubahan += "hapus mapping dokter penanggung jawab, "; perubahan += "hapus mapping dokter penanggung jawab, ";
} else { } else {
perubahan += "hapus mapping jabatan, "; perubahan += "hapus mapping jabatan, ";
@ -316,6 +317,7 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl extends BaseVoServiceImpl
String perubahan = ""; String perubahan = "";
List<Integer> listIdKategoriPesertaDidik = splitDataSettingDatafixed("listIdKategoriPesertaDidik");
for (MapPegawaiJabatanToUnitKerjaVO vo : listVo) { for (MapPegawaiJabatanToUnitKerjaVO vo : listVo) {
MapPegawaiJabatanToUnitKerja map = new MapPegawaiJabatanToUnitKerja(); MapPegawaiJabatanToUnitKerja map = new MapPegawaiJabatanToUnitKerja();
Map<String, Object> tmp = new HashMap<>(); Map<String, Object> tmp = new HashMap<>();
@ -361,7 +363,7 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl extends BaseVoServiceImpl
&& CommonUtil.isNotNullOrEmpty(vo.getStatusEnabled())) { && CommonUtil.isNotNullOrEmpty(vo.getStatusEnabled())) {
if (!map.getStatusEnabled().equals(vo.getStatusEnabled())) { if (!map.getStatusEnabled().equals(vo.getStatusEnabled())) {
map.setStatusEnabled(vo.getStatusEnabled()); map.setStatusEnabled(vo.getStatusEnabled());
if (idKategoryPegawai.equals(Master.KategoryPegawai.PESERTA_DIDIK)) { if (listIdKategoriPesertaDidik.contains(idKategoryPegawai)) {
perubahan += "status hapus mapping dokter penanggung jawab, "; perubahan += "status hapus mapping dokter penanggung jawab, ";
} else { } else {
perubahan += "status hapus mapping jabatan, "; perubahan += "status hapus mapping jabatan, ";
@ -370,7 +372,7 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl extends BaseVoServiceImpl
} else if (CommonUtil.isNullOrEmpty(map.getStatusEnabled()) } else if (CommonUtil.isNullOrEmpty(map.getStatusEnabled())
&& CommonUtil.isNotNullOrEmpty(vo.getStatusEnabled())) { && CommonUtil.isNotNullOrEmpty(vo.getStatusEnabled())) {
map.setStatusEnabled(vo.getStatusEnabled()); map.setStatusEnabled(vo.getStatusEnabled());
if (idKategoryPegawai.equals(Master.KategoryPegawai.PESERTA_DIDIK)) { if (listIdKategoriPesertaDidik.contains(idKategoryPegawai)) {
perubahan += "status hapus mapping dokter penanggung jawab, "; perubahan += "status hapus mapping dokter penanggung jawab, ";
} else { } else {
perubahan += "status hapus mapping jabatan, "; perubahan += "status hapus mapping jabatan, ";
@ -499,7 +501,7 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl extends BaseVoServiceImpl
if (!map.getAtasanLangsungId().equals(vo.getAtasanLangsung().getId())) { if (!map.getAtasanLangsungId().equals(vo.getAtasanLangsung().getId())) {
map.setAtasanLangsung( map.setAtasanLangsung(
pegawaiConverter.transferVOToModel(vo.getAtasanLangsung(), new Pegawai())); pegawaiConverter.transferVOToModel(vo.getAtasanLangsung(), new Pegawai()));
if (idKategoryPegawai.equals(Master.KategoryPegawai.PESERTA_DIDIK)) { if (listIdKategoriPesertaDidik.contains(idKategoryPegawai)) {
perubahan += "ubah dokter penanggung jawab, "; perubahan += "ubah dokter penanggung jawab, ";
} else { } else {
perubahan += "ubah atasan langsung, "; perubahan += "ubah atasan langsung, ";
@ -508,7 +510,7 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl extends BaseVoServiceImpl
} else if (CommonUtil.isNullOrEmpty(map.getAtasanLangsungId()) } else if (CommonUtil.isNullOrEmpty(map.getAtasanLangsungId())
&& CommonUtil.isNotNullOrEmpty(vo.getAtasanLangsung())) { && CommonUtil.isNotNullOrEmpty(vo.getAtasanLangsung())) {
map.setAtasanLangsung(pegawaiConverter.transferVOToModel(vo.getAtasanLangsung(), new Pegawai())); map.setAtasanLangsung(pegawaiConverter.transferVOToModel(vo.getAtasanLangsung(), new Pegawai()));
if (idKategoryPegawai.equals(Master.KategoryPegawai.PESERTA_DIDIK)) { if (listIdKategoriPesertaDidik.contains(idKategoryPegawai)) {
perubahan += "dokter penanggung jawab, "; perubahan += "dokter penanggung jawab, ";
} else { } else {
perubahan += "atasan langsung, "; perubahan += "atasan langsung, ";
@ -516,7 +518,7 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl extends BaseVoServiceImpl
} else if (CommonUtil.isNotNullOrEmpty(map.getAtasanLangsungId()) } else if (CommonUtil.isNotNullOrEmpty(map.getAtasanLangsungId())
&& CommonUtil.isNullOrEmpty(vo.getAtasanLangsung())) { && CommonUtil.isNullOrEmpty(vo.getAtasanLangsung())) {
map.setAtasanLangsung(null); map.setAtasanLangsung(null);
if (idKategoryPegawai.equals(Master.KategoryPegawai.PESERTA_DIDIK)) { if (listIdKategoriPesertaDidik.contains(idKategoryPegawai)) {
perubahan += "hapus dokter penanggung jawab, "; perubahan += "hapus dokter penanggung jawab, ";
} else { } else {
perubahan += "hapus atasan langsung, "; perubahan += "hapus atasan langsung, ";
@ -673,7 +675,7 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl extends BaseVoServiceImpl
if (CommonUtil.isNotNullOrEmpty(vo.getAtasanLangsung())) { if (CommonUtil.isNotNullOrEmpty(vo.getAtasanLangsung())) {
map.setAtasanLangsung(pegawaiConverter.transferVOToModel(vo.getAtasanLangsung(), new Pegawai())); map.setAtasanLangsung(pegawaiConverter.transferVOToModel(vo.getAtasanLangsung(), new Pegawai()));
if (idKategoryPegawai.equals(Master.KategoryPegawai.PESERTA_DIDIK)) { if (listIdKategoriPesertaDidik.contains(idKategoryPegawai)) {
perubahan += "dokter penanggung jawab, "; perubahan += "dokter penanggung jawab, ";
} else { } else {
perubahan += "atasan langsung, "; perubahan += "atasan langsung, ";
@ -700,21 +702,21 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl extends BaseVoServiceImpl
if (vo.getIsPrimary()) { if (vo.getIsPrimary()) {
disableIsprimary(vo.getPegawai().getId()); disableIsprimary(vo.getPegawai().getId());
} }
if (!idKategoryPegawai.equals(Master.KategoryPegawai.PESERTA_DIDIK)) { if (!listIdKategoriPesertaDidik.contains(idKategoryPegawai)) {
perubahan += "status jabatan utama, "; perubahan += "status jabatan utama, ";
} }
} }
if (CommonUtil.isNotNullOrEmpty(vo.getIsMonitoring())) { if (CommonUtil.isNotNullOrEmpty(vo.getIsMonitoring())) {
map.setIsMonitoring(vo.getIsMonitoring()); map.setIsMonitoring(vo.getIsMonitoring());
if (!idKategoryPegawai.equals(Master.KategoryPegawai.PESERTA_DIDIK)) { if (!listIdKategoriPesertaDidik.contains(idKategoryPegawai)) {
perubahan += "status monitoring, "; perubahan += "status monitoring, ";
} }
} }
if (CommonUtil.isNotNullOrEmpty(vo.getIsCanCreateJadwal())) { if (CommonUtil.isNotNullOrEmpty(vo.getIsCanCreateJadwal())) {
map.setIsCanCreateJadwal(vo.getIsCanCreateJadwal()); map.setIsCanCreateJadwal(vo.getIsCanCreateJadwal());
if (!idKategoryPegawai.equals(Master.KategoryPegawai.PESERTA_DIDIK)) { if (!listIdKategoriPesertaDidik.contains(idKategoryPegawai)) {
perubahan += "status buat jadwal dinas, "; perubahan += "status buat jadwal dinas, ";
} }
} }
@ -1748,4 +1750,25 @@ public class MapPegawaiJabatanToUnitKerjaServiceImpl extends BaseVoServiceImpl
return byEmailOrEmailAlternatif.map(pegawai -> AuthorizationDto.builder().pegawaiId(pegawai.getId()) return byEmailOrEmailAlternatif.map(pegawai -> AuthorizationDto.builder().pegawaiId(pegawai.getId())
.email(pegawai.getEmail()).emailAlternatif(pegawai.getEmailAlternatif()).build()).orElse(null); .email(pegawai.getEmail()).emailAlternatif(pegawai.getEmailAlternatif()).build()).orElse(null);
} }
@Override
public String getJenisLogbook(Integer idPegawai) {
List<MapPegawaiJabatanToUnitKerja> byPegawaiId = mapPegawaiJabatanToUnitKerjaDao.findByPegawaiId(idPegawai);
Optional<MapPegawaiJabatanToUnitKerja> anyMedik = byPegawaiId.stream()
.filter(m -> Arrays.asList(Master.NilaiKelompokJabatan.MEDIK).contains(m.getGradeId())).findAny();
Optional<MapPegawaiJabatanToUnitKerja> anyPenunjangMedik = byPegawaiId.stream()
.filter(m -> Arrays.asList(Master.NilaiKelompokJabatan.PENUNJANG_MEDIK).contains(m.getGradeId()))
.findAny();
Optional<MapPegawaiJabatanToUnitKerja> anyNurse = byPegawaiId.stream()
.filter(m -> Arrays.asList(Master.NilaiKelompokJabatan.NURSE).contains(m.getGradeId())).findAny();
if (anyMedik.isPresent()) {
return "Logbook-Tarif Dokter";
} else if (anyPenunjangMedik.isPresent()) {
return "Logbook-Tarif Paramedis";
} else if (anyNurse.isPresent()) {
return "Logbook-Tarif Perawat";
} else {
return "Logbook Tarif";
}
}
} }

View File

@ -521,8 +521,8 @@ public class PegawaiServiceImpl extends BaseVoServiceImpl implements PegawaiServ
public Map<String, Object> findAllPegawaiPNS() { public Map<String, Object> findAllPegawaiPNS() {
Map<String, Object> result = new HashMap<>(); Map<String, Object> result = new HashMap<>();
List<Map<String, Object>> resultModelWithUsername = new ArrayList<>(); List<Map<String, Object>> resultModelWithUsername = new ArrayList<>();
List<Map<String, Object>> resultModel = pegawaiDao List<Map<String, Object>> resultModel = pegawaiDao.findAllPegawaiByKategory(
.findAllPegawaiByKategory(Arrays.asList(Master.KedudukanPegawai.NONSDM), Master.KategoryPegawai.PNS); Arrays.asList(Master.KedudukanPegawai.NONSDM), Collections.singletonList(Master.KategoryPegawai.PNS));
for (Map<String, Object> map : resultModel) { for (Map<String, Object> map : resultModel) {
Map<String, Object> usernames = new HashMap<>(); Map<String, Object> usernames = new HashMap<>();
@ -572,8 +572,8 @@ public class PegawaiServiceImpl extends BaseVoServiceImpl implements PegawaiServ
public Map<String, Object> findAllPegawaiMitra() { public Map<String, Object> findAllPegawaiMitra() {
Map<String, Object> result = new HashMap<>(); Map<String, Object> result = new HashMap<>();
List<Map<String, Object>> resultModelWithUsername = new ArrayList<>(); List<Map<String, Object>> resultModelWithUsername = new ArrayList<>();
List<Map<String, Object>> resultModel = pegawaiDao List<Map<String, Object>> resultModel = pegawaiDao.findAllPegawaiByKategory(
.findAllPegawaiByKategory(Arrays.asList(Master.KedudukanPegawai.NONSDM), Master.KategoryPegawai.MITRA); Arrays.asList(Master.KedudukanPegawai.NONSDM), Collections.singletonList(Master.KategoryPegawai.MITRA));
for (Map<String, Object> map : resultModel) { for (Map<String, Object> map : resultModel) {
Map<String, Object> usernames = new HashMap<>(); Map<String, Object> usernames = new HashMap<>();
@ -624,7 +624,7 @@ public class PegawaiServiceImpl extends BaseVoServiceImpl implements PegawaiServ
Map<String, Object> result = new HashMap<>(); Map<String, Object> result = new HashMap<>();
List<Map<String, Object>> resultModelWithUsername = new ArrayList<>(); List<Map<String, Object>> resultModelWithUsername = new ArrayList<>();
List<Map<String, Object>> resultModel = pegawaiDao.findAllPegawaiByKategory( List<Map<String, Object>> resultModel = pegawaiDao.findAllPegawaiByKategory(
Arrays.asList(Master.KedudukanPegawai.NONSDM), Master.KategoryPegawai.PESERTA_DIDIK); Arrays.asList(Master.KedudukanPegawai.NONSDM), splitDataSettingDatafixed("listIdKategoriPesertaDidik"));
for (Map<String, Object> map : resultModel) { for (Map<String, Object> map : resultModel) {
Map<String, Object> usernames = new HashMap<>(); Map<String, Object> usernames = new HashMap<>();
@ -675,7 +675,8 @@ public class PegawaiServiceImpl extends BaseVoServiceImpl implements PegawaiServ
Map<String, Object> result = new HashMap<>(); Map<String, Object> result = new HashMap<>();
List<Map<String, Object>> resultModelWithUsername = new ArrayList<>(); List<Map<String, Object>> resultModelWithUsername = new ArrayList<>();
List<Map<String, Object>> resultModel = pegawaiDao.findAllPegawaiByKategory( List<Map<String, Object>> resultModel = pegawaiDao.findAllPegawaiByKategory(
Arrays.asList(Master.KedudukanPegawai.NONSDM), Master.KategoryPegawai.DOKTER_TAMU); Arrays.asList(Master.KedudukanPegawai.NONSDM),
Collections.singletonList(Master.KategoryPegawai.DOKTER_TAMU));
for (Map<String, Object> map : resultModel) { for (Map<String, Object> map : resultModel) {
Map<String, Object> usernames = new HashMap<>(); Map<String, Object> usernames = new HashMap<>();
@ -726,6 +727,8 @@ public class PegawaiServiceImpl extends BaseVoServiceImpl implements PegawaiServ
List<Integer> listStatusPegawaiId, String periode) { List<Integer> listStatusPegawaiId, String periode) {
Map<String, Object> result = new HashMap<>(); Map<String, Object> result = new HashMap<>();
List<Map<String, Object>> resultModelWithUsername = new ArrayList<>(); List<Map<String, Object>> resultModelWithUsername = new ArrayList<>();
if (CommonUtil.isNullOrEmpty(listStatusPegawaiId))
listStatusPegawaiId = splitDataSettingDatafixed("listIdKategoryPegawaiNonSdm");
List<Map<String, Object>> resultModel = pegawaiDaoCustom.findPegawaiCustom(nama, idUnitKerja, idKedudukan, List<Map<String, Object>> resultModel = pegawaiDaoCustom.findPegawaiCustom(nama, idUnitKerja, idKedudukan,
listStatusPegawaiId, periode, splitDataSettingDatafixed("listDataKedudukanException")); listStatusPegawaiId, periode, splitDataSettingDatafixed("listDataKedudukanException"));
@ -778,10 +781,9 @@ public class PegawaiServiceImpl extends BaseVoServiceImpl implements PegawaiServ
String periode) { String periode) {
Map<String, Object> result = new HashMap<>(); Map<String, Object> result = new HashMap<>();
List<Map<String, Object>> resultModelWithUsername = new ArrayList<>(); List<Map<String, Object>> resultModelWithUsername = new ArrayList<>();
List<Integer> listMitra = splitDataSettingDatafixed("listIdKategoryPegawaiMitra");
List<Map<String, Object>> resultModel = pegawaiDaoCustom.findPegawaiCustomByKategori(nama, idUnitKerja, List<Map<String, Object>> resultModel = pegawaiDaoCustom.findPegawaiCustomByKategori(nama, idUnitKerja,
idKedudukan, periode, splitDataSettingDatafixed("listDataKedudukanException"), idKedudukan, periode, splitDataSettingDatafixed("listDataKedudukanException"), listMitra);
Master.KategoryPegawai.MITRA);
for (Map<String, Object> map : resultModel) { for (Map<String, Object> map : resultModel) {
Map<String, Object> usernames = new HashMap<>(); Map<String, Object> usernames = new HashMap<>();
Integer idPegawai = Integer.parseInt(map.get("idPegawai").toString()); Integer idPegawai = Integer.parseInt(map.get("idPegawai").toString());
@ -833,7 +835,7 @@ public class PegawaiServiceImpl extends BaseVoServiceImpl implements PegawaiServ
List<Map<String, Object>> resultModelWithUsername = new ArrayList<>(); List<Map<String, Object>> resultModelWithUsername = new ArrayList<>();
List<Map<String, Object>> resultModel = pegawaiDaoCustom.findPegawaiCustomByKategori(nama, idUnitKerja, List<Map<String, Object>> resultModel = pegawaiDaoCustom.findPegawaiCustomByKategori(nama, idUnitKerja,
idKedudukan, periode, splitDataSettingDatafixed("listDataKedudukanException"), idKedudukan, periode, splitDataSettingDatafixed("listDataKedudukanException"),
Master.KategoryPegawai.DOKTER_TAMU); Collections.singletonList(Master.KategoryPegawai.DOKTER_TAMU));
for (Map<String, Object> map : resultModel) { for (Map<String, Object> map : resultModel) {
Map<String, Object> usernames = new HashMap<>(); Map<String, Object> usernames = new HashMap<>();
@ -886,7 +888,7 @@ public class PegawaiServiceImpl extends BaseVoServiceImpl implements PegawaiServ
List<Map<String, Object>> resultModelWithUsername = new ArrayList<>(); List<Map<String, Object>> resultModelWithUsername = new ArrayList<>();
List<Map<String, Object>> resultModel = pegawaiDaoCustom.findPegawaiCustomByKategori(nama, idUnitKerja, List<Map<String, Object>> resultModel = pegawaiDaoCustom.findPegawaiCustomByKategori(nama, idUnitKerja,
idKedudukan, periode, splitDataSettingDatafixed("listDataKedudukanException"), idKedudukan, periode, splitDataSettingDatafixed("listDataKedudukanException"),
Master.KategoryPegawai.PESERTA_DIDIK); splitDataSettingDatafixed("listIdKategoriPesertaDidik"));
for (Map<String, Object> map : resultModel) { for (Map<String, Object> map : resultModel) {
Map<String, Object> usernames = new HashMap<>(); Map<String, Object> usernames = new HashMap<>();
@ -2261,7 +2263,8 @@ public class PegawaiServiceImpl extends BaseVoServiceImpl implements PegawaiServ
Map<String, Object> map = pegawaiDao.getPegawaiKeluarHariIni(today, idPegawai); Map<String, Object> map = pegawaiDao.getPegawaiKeluarHariIni(today, idPegawai);
if (CommonUtil.isNotNullOrEmpty(map)) { if (CommonUtil.isNotNullOrEmpty(map)) {
if (map.get("idKategoryPegawai").equals(Master.KategoryPegawai.PESERTA_DIDIK)) { if (splitDataSettingDatafixed("listIdKategoriPesertaDidik")
.contains(Integer.parseInt(map.get("idKategoryPegawai").toString()))) {
Pegawai pegawai = pegawaiDao.findOne(Integer.parseInt(map.get("idPegawai").toString())); Pegawai pegawai = pegawaiDao.findOne(Integer.parseInt(map.get("idPegawai").toString()));
Kedudukan kedudukan = new Kedudukan(); Kedudukan kedudukan = new Kedudukan();
kedudukan.setId(Master.KedudukanPegawai.NONAKTIF); kedudukan.setId(Master.KedudukanPegawai.NONAKTIF);

View File

@ -4,8 +4,10 @@ import com.jasamedika.medifirst2000.constants.Master;
import com.jasamedika.medifirst2000.converter.BaseConverterImpl; import com.jasamedika.medifirst2000.converter.BaseConverterImpl;
import com.jasamedika.medifirst2000.dao.*; import com.jasamedika.medifirst2000.dao.*;
import com.jasamedika.medifirst2000.dao.custom.PlanningPegawaiStatusDaoCustom; import com.jasamedika.medifirst2000.dao.custom.PlanningPegawaiStatusDaoCustom;
import com.jasamedika.medifirst2000.dto.DataCutiDto;
import com.jasamedika.medifirst2000.entities.*; import com.jasamedika.medifirst2000.entities.*;
import com.jasamedika.medifirst2000.exception.ServiceVOException; import com.jasamedika.medifirst2000.exception.ServiceVOException;
import com.jasamedika.medifirst2000.service.JatahCutiDanIzinService;
import com.jasamedika.medifirst2000.service.LoginUserService; import com.jasamedika.medifirst2000.service.LoginUserService;
import com.jasamedika.medifirst2000.service.MonitoringAbsenService; import com.jasamedika.medifirst2000.service.MonitoringAbsenService;
import com.jasamedika.medifirst2000.service.PermohonanStatusPegawaiService; import com.jasamedika.medifirst2000.service.PermohonanStatusPegawaiService;
@ -25,6 +27,9 @@ import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.*;
import static java.util.Calendar.DAY_OF_MONTH;
import static java.util.Calendar.MONTH;
@Service("PegawaiCutiService") @Service("PegawaiCutiService")
public class PermohonanStatusPegawaiImpl implements PermohonanStatusPegawaiService { public class PermohonanStatusPegawaiImpl implements PermohonanStatusPegawaiService {
@ -34,6 +39,9 @@ public class PermohonanStatusPegawaiImpl implements PermohonanStatusPegawaiServi
@Autowired @Autowired
private MonitoringAbsenService monitoringAbsenService; private MonitoringAbsenService monitoringAbsenService;
@Autowired
private JatahCutiDanIzinService jatahCutiDanIzinService;
@Autowired @Autowired
private PlanningPegawaiStatusDao planningPegawaiStatusDao; private PlanningPegawaiStatusDao planningPegawaiStatusDao;
@ -187,7 +195,6 @@ public class PermohonanStatusPegawaiImpl implements PermohonanStatusPegawaiServi
return result; return result;
} }
@Override
public Integer difCutiTerpakai(Integer cutiTerpakai, Integer dataCuti) { public Integer difCutiTerpakai(Integer cutiTerpakai, Integer dataCuti) {
int difCutiTerpakai = 0; int difCutiTerpakai = 0;
if (cutiTerpakai > dataCuti) if (cutiTerpakai > dataCuti)
@ -1820,80 +1827,24 @@ public class PermohonanStatusPegawaiImpl implements PermohonanStatusPegawaiServi
Map<String, Object> result = new HashMap<>(); Map<String, Object> result = new HashMap<>();
if (CommonUtil.isNotNullOrEmpty(vo)) { if (CommonUtil.isNotNullOrEmpty(vo)) {
for (FactoRateKelompokShiftVO vos : vo.getFactorRateKelompokShift()) { for (FactoRateKelompokShiftVO vos : vo.getFactorRateKelompokShift()) {
Date monthDayNow = new Date(); String periodeInput = getString(vos);
Calendar cal = Calendar.getInstance();
cal.setTime(monthDayNow);
String monthPeriodInput = String.valueOf(cal.get(Calendar.MONTH) + 1);
if (monthPeriodInput.length() == 1) {
monthPeriodInput = "0" + monthPeriodInput;
}
String dayPeriodInput = String.valueOf(cal.get(Calendar.DAY_OF_MONTH));
if (dayPeriodInput.length() == 1) {
dayPeriodInput = "0" + dayPeriodInput;
}
String periodeInput = Integer.parseInt(vos.getPeriode()) - 1 + "-" + monthPeriodInput + "-"
+ dayPeriodInput;
List<Pegawai> listpegawai = pegawaiDao.findPegawaiStatusAktif(vos.getKelompokShift().getId(), List<Pegawai> listpegawai = pegawaiDao.findPegawaiStatusAktif(vos.getKelompokShift().getId(),
periodeInput); periodeInput);
for (Pegawai pegawai : listpegawai) { for (Pegawai pegawai : listpegawai) {
int todaysYear = Calendar.getInstance().get(Calendar.YEAR); int todaysYear = Calendar.getInstance().get(Calendar.YEAR);
int todaysYear1 = Integer int todaysYear1 = Integer
.parseInt(settingDataFixedDao.getSettingDataFixed("tahunPenangguhanException")); .parseInt(settingDataFixedDao.getSettingDataFixed("tahunPenangguhanException"));
// storing data cuti /*
Map<String, Object> dataCuti = getDataCuti(pegawai.getId(), String.valueOf(todaysYear), * storing data cuti, menghitung data cuti selalu based on
vos.getKomponenIndex().getId()); // menghitung data * tahun berjalan
// cuti selalu */
// based on DataCutiDto cutiIzin = jatahCutiDanIzinService.getDataCuti(pegawai.getId(),
// tahun String.valueOf(todaysYear), vos.getKomponenIndex().getId());
// berjalan List<Map<String, Object>> listDataCuti = getMaps(cutiIzin, todaysYear);
List<Map<String, Object>> listDataCuti = new ArrayList<>();
Map<String, Object> mapDataCutiB2 = new HashMap<>();
Map<String, Object> mapDataCutiB1 = new HashMap<>();
Map<String, Object> mapDataCutiB = new HashMap<>();
Map<String, Object> mapDataCutiN = new HashMap<>();
Map<String, Object> mapDataCutiN1 = new HashMap<>();
Map<String, Object> mapDataCutiN2 = new HashMap<>();
mapDataCutiB2.put("sisaCuti", dataCuti.get("sisaCutiB2"));
mapDataCutiB2.put("cutiTerpakai", dataCuti.get("cutiTerpakaiB2"));
mapDataCutiB2.put("isTangguhkan", dataCuti.get("isTangguhkanB2"));
mapDataCutiB2.put("tahun", todaysYear - 2);
mapDataCutiB2.put("komponenIndex", 21);
mapDataCutiB1.put("sisaCuti", dataCuti.get("sisaCutiB1"));
mapDataCutiB1.put("cutiTerpakai", dataCuti.get("cutiTerpakaiB1"));
mapDataCutiB1.put("isTangguhkan", dataCuti.get("isTangguhkanB1"));
mapDataCutiB1.put("tahun", todaysYear - 1);
mapDataCutiB1.put("komponenIndex", 21);
mapDataCutiB.put("sisaCuti", dataCuti.get("sisaCutiB"));
mapDataCutiB.put("cutiTerpakai", dataCuti.get("cutiTerpakaiB"));
mapDataCutiB.put("isTangguhkan", dataCuti.get("isTangguhkanB"));
mapDataCutiB.put("tahun", todaysYear);
mapDataCutiB.put("komponenIndex", 21);
mapDataCutiN.put("sisaCuti", dataCuti.get("sisaCutiN"));
mapDataCutiN.put("cutiTerpakai", dataCuti.get("cutiTerpakaiN"));
mapDataCutiN.put("isTangguhkan", dataCuti.get("isTangguhkanN"));
mapDataCutiN.put("tahun", todaysYear);
mapDataCutiN.put("komponenIndex", 5);
mapDataCutiN1.put("sisaCuti", dataCuti.get("sisaCutiN1"));
mapDataCutiN1.put("cutiTerpakai", dataCuti.get("cutiTerpakaiN1"));
mapDataCutiN1.put("isTangguhkan", dataCuti.get("isTangguhkanN1"));
mapDataCutiN1.put("tahun", todaysYear - 1);
mapDataCutiN1.put("komponenIndex", 5);
mapDataCutiN2.put("sisaCuti", dataCuti.get("sisaCutiN2"));
mapDataCutiN2.put("cutiTerpakai", dataCuti.get("cutiTerpakaiN2"));
mapDataCutiN2.put("isTangguhkan", dataCuti.get("isTangguhkanN2"));
mapDataCutiN2.put("tahun", todaysYear - 2);
mapDataCutiN2.put("komponenIndex", 5);
listDataCuti.add(mapDataCutiB2);
listDataCuti.add(mapDataCutiB1);
listDataCuti.add(mapDataCutiB);
listDataCuti.add(mapDataCutiN);
listDataCuti.add(mapDataCutiN1);
listDataCuti.add(mapDataCutiN2);
KomponenIndexVO kompIndexVoB = new KomponenIndexVO(); KomponenIndexVO kompIndexVoB = new KomponenIndexVO();
kompIndexVoB.setId(21); kompIndexVoB.setId(21);
KomponenIndexVO kompIndexVoT = new KomponenIndexVO(); KomponenIndexVO kompIndexVoT = new KomponenIndexVO();
kompIndexVoT.setId(5); kompIndexVoT.setId(5);
for (Map<String, Object> mapDataCuti : listDataCuti) { for (Map<String, Object> mapDataCuti : listDataCuti) {
JatahCutiDanIzin jatahCutiDanIzin = new JatahCutiDanIzin(); JatahCutiDanIzin jatahCutiDanIzin = new JatahCutiDanIzin();
jatahCutiDanIzin.setPegawai(pegawai); jatahCutiDanIzin.setPegawai(pegawai);
@ -2009,6 +1960,66 @@ public class PermohonanStatusPegawaiImpl implements PermohonanStatusPegawaiServi
return result; return result;
} }
private static List<Map<String, Object>> getMaps(DataCutiDto cutiIzin, int todaysYear) {
List<Map<String, Object>> listDataCuti = new ArrayList<>();
Map<String, Object> mapDataCutiB2 = new HashMap<>();
Map<String, Object> mapDataCutiB1 = new HashMap<>();
Map<String, Object> mapDataCutiB = new HashMap<>();
Map<String, Object> mapDataCutiN = new HashMap<>();
Map<String, Object> mapDataCutiN1 = new HashMap<>();
Map<String, Object> mapDataCutiN2 = new HashMap<>();
mapDataCutiB2.put("sisaCuti", cutiIzin.getSisaCutiB2());
mapDataCutiB2.put("cutiTerpakai", cutiIzin.getCutiTerpakaiB2());
mapDataCutiB2.put("isTangguhkan", cutiIzin.getIsTangguhkanB2());
mapDataCutiB2.put("tahun", todaysYear - 2);
mapDataCutiB2.put("komponenIndex", 21);
mapDataCutiB1.put("sisaCuti", cutiIzin.getSisaCutiB1());
mapDataCutiB1.put("cutiTerpakai", cutiIzin.getCutiTerpakaiB1());
mapDataCutiB1.put("isTangguhkan", cutiIzin.getIsTangguhkanB1());
mapDataCutiB1.put("tahun", todaysYear - 1);
mapDataCutiB1.put("komponenIndex", 21);
mapDataCutiB.put("sisaCuti", cutiIzin.getSisaCutiB());
mapDataCutiB.put("cutiTerpakai", cutiIzin.getCutiTerpakaiB());
mapDataCutiB.put("isTangguhkan", cutiIzin.getIsTangguhkanB());
mapDataCutiB.put("tahun", todaysYear);
mapDataCutiB.put("komponenIndex", 21);
mapDataCutiN.put("sisaCuti", cutiIzin.getSisaCutiN());
mapDataCutiN.put("cutiTerpakai", cutiIzin.getCutiTerpakaiN());
mapDataCutiN.put("isTangguhkan", cutiIzin.getIsTangguhkanN());
mapDataCutiN.put("tahun", todaysYear);
mapDataCutiN.put("komponenIndex", 5);
mapDataCutiN1.put("sisaCuti", cutiIzin.getSisaCutiN1());
mapDataCutiN1.put("cutiTerpakai", cutiIzin.getCutiTerpakaiN1());
mapDataCutiN1.put("isTangguhkan", cutiIzin.getIsTangguhkanN1());
mapDataCutiN1.put("tahun", todaysYear - 1);
mapDataCutiN1.put("komponenIndex", 5);
mapDataCutiN2.put("sisaCuti", cutiIzin.getSisaCutiN2());
mapDataCutiN2.put("cutiTerpakai", cutiIzin.getCutiTerpakaiN2());
mapDataCutiN2.put("isTangguhkan", cutiIzin.getIsTangguhkanN2());
mapDataCutiN2.put("tahun", todaysYear - 2);
mapDataCutiN2.put("komponenIndex", 5);
listDataCuti.add(mapDataCutiB2);
listDataCuti.add(mapDataCutiB1);
listDataCuti.add(mapDataCutiB);
listDataCuti.add(mapDataCutiN);
listDataCuti.add(mapDataCutiN1);
listDataCuti.add(mapDataCutiN2);
return listDataCuti;
}
private static String getString(FactoRateKelompokShiftVO vos) {
Date monthDayNow = new Date();
Calendar cal = Calendar.getInstance();
cal.setTime(monthDayNow);
String monthPeriodInput = String.valueOf(cal.get(MONTH) + 1);
if (monthPeriodInput.length() == 1)
monthPeriodInput = "0" + monthPeriodInput;
String dayPeriodInput = String.valueOf(cal.get(DAY_OF_MONTH));
if (dayPeriodInput.length() == 1)
dayPeriodInput = "0" + dayPeriodInput;
return Integer.parseInt(vos.getPeriode()) - 1 + "-" + monthPeriodInput + "-" + dayPeriodInput;
}
@Override @Override
public Map<String, Object> setJatahCutiPegawai(JatahCutiDanIzinVO vo) { public Map<String, Object> setJatahCutiPegawai(JatahCutiDanIzinVO vo) {
Map<String, Object> result = new HashMap<>(); Map<String, Object> result = new HashMap<>();
@ -2016,53 +2027,13 @@ public class PermohonanStatusPegawaiImpl implements PermohonanStatusPegawaiServi
int todaysYear = Calendar.getInstance().get(Calendar.YEAR); int todaysYear = Calendar.getInstance().get(Calendar.YEAR);
int todaysYear1 = todaysYear - 1; int todaysYear1 = todaysYear - 1;
// storing_data_cuti /*
Map<String, Object> dataCuti = getDataCuti(vo.getPegawai().getId(), String.valueOf(todaysYear), * storing_data_cuti
vo.getKomponenIndex().getId()); // menghitung_data_cuti_selalu_based_on_tahun_berjalan * menghitung_data_cuti_selalu_based_on_tahun_berjalan
*/
List<Map<String, Object>> listDataCuti = new ArrayList<>(); DataCutiDto cutiIzin = jatahCutiDanIzinService.getDataCuti(vo.getPegawai().getId(),
Map<String, Object> mapDataCutiB2 = new HashMap<>(); String.valueOf(todaysYear), vo.getKomponenIndex().getId());
Map<String, Object> mapDataCutiB1 = new HashMap<>(); List<Map<String, Object>> listDataCuti = getMaps(cutiIzin, todaysYear);
Map<String, Object> mapDataCutiB = new HashMap<>();
Map<String, Object> mapDataCutiN = new HashMap<>();
Map<String, Object> mapDataCutiN1 = new HashMap<>();
Map<String, Object> mapDataCutiN2 = new HashMap<>();
mapDataCutiB2.put("sisaCuti", dataCuti.get("sisaCutiB2"));
mapDataCutiB2.put("cutiTerpakai", dataCuti.get("cutiTerpakaiB2"));
mapDataCutiB2.put("isTangguhkan", dataCuti.get("isTangguhkanB2"));
mapDataCutiB2.put("tahun", todaysYear - 2);
mapDataCutiB2.put("komponenIndex", 21);
mapDataCutiB1.put("sisaCuti", dataCuti.get("sisaCutiB1"));
mapDataCutiB1.put("cutiTerpakai", dataCuti.get("cutiTerpakaiB1"));
mapDataCutiB1.put("isTangguhkan", dataCuti.get("isTangguhkanB1"));
mapDataCutiB1.put("tahun", todaysYear - 1);
mapDataCutiB1.put("komponenIndex", 21);
mapDataCutiB.put("sisaCuti", dataCuti.get("sisaCutiB"));
mapDataCutiB.put("cutiTerpakai", dataCuti.get("cutiTerpakaiB"));
mapDataCutiB.put("isTangguhkan", dataCuti.get("isTangguhkanB"));
mapDataCutiB.put("tahun", todaysYear);
mapDataCutiB.put("komponenIndex", 21);
mapDataCutiN.put("sisaCuti", dataCuti.get("sisaCutiN"));
mapDataCutiN.put("cutiTerpakai", dataCuti.get("cutiTerpakaiN"));
mapDataCutiN.put("isTangguhkan", dataCuti.get("isTangguhkanN"));
mapDataCutiN.put("tahun", todaysYear);
mapDataCutiN.put("komponenIndex", 5);
mapDataCutiN1.put("sisaCuti", dataCuti.get("sisaCutiN1"));
mapDataCutiN1.put("cutiTerpakai", dataCuti.get("cutiTerpakaiN1"));
mapDataCutiN1.put("isTangguhkan", dataCuti.get("isTangguhkanN1"));
mapDataCutiN1.put("tahun", todaysYear - 1);
mapDataCutiN1.put("komponenIndex", 5);
mapDataCutiN2.put("sisaCuti", dataCuti.get("sisaCutiN2"));
mapDataCutiN2.put("cutiTerpakai", dataCuti.get("cutiTerpakaiN2"));
mapDataCutiN2.put("isTangguhkan", dataCuti.get("isTangguhkanN2"));
mapDataCutiN2.put("tahun", todaysYear - 2);
mapDataCutiN2.put("komponenIndex", 5);
listDataCuti.add(mapDataCutiB2);
listDataCuti.add(mapDataCutiB1);
listDataCuti.add(mapDataCutiB);
listDataCuti.add(mapDataCutiN);
listDataCuti.add(mapDataCutiN1);
listDataCuti.add(mapDataCutiN2);
KomponenIndexVO kompIndexVoB = new KomponenIndexVO(); KomponenIndexVO kompIndexVoB = new KomponenIndexVO();
kompIndexVoB.setId(21); kompIndexVoB.setId(21);
KomponenIndexVO kompIndexVoT = new KomponenIndexVO(); KomponenIndexVO kompIndexVoT = new KomponenIndexVO();
@ -2081,6 +2052,9 @@ public class PermohonanStatusPegawaiImpl implements PermohonanStatusPegawaiServi
if (vo.getKomponenIndex().getId().equals(mapDataCuti.get("komponenIndex")) if (vo.getKomponenIndex().getId().equals(mapDataCuti.get("komponenIndex"))
&& vo.getTahun().equals(mapDataCuti.get("tahun").toString())) { && vo.getTahun().equals(mapDataCuti.get("tahun").toString())) {
jatahCutiDanIzin.setValue(vo.getValue()); jatahCutiDanIzin.setValue(vo.getValue());
} else if (todaysYear == Integer.parseInt(vo.getTahun())
&& todaysYear1 == Integer.parseInt(mapDataCuti.get("tahun").toString())) {
jatahCutiDanIzin.setValue(cutiIzin.getDataCutiB1());
} else { } else {
jatahCutiDanIzin.setValue(currentData.getValue()); jatahCutiDanIzin.setValue(currentData.getValue());
} }
@ -2227,7 +2201,7 @@ public class PermohonanStatusPegawaiImpl implements PermohonanStatusPegawaiServi
} }
@Override @Override
public Map<String, Object> perbaruiDataCuti(Integer idPegawai, Integer idStatusPegawai) { public DataCutiDto perbaruiDataCuti(Integer idPegawai, Integer idStatusPegawai) {
PegawaiVO pegawaiVo = new PegawaiVO(); PegawaiVO pegawaiVo = new PegawaiVO();
pegawaiVo.setId(idPegawai); pegawaiVo.setId(idPegawai);
@ -2243,14 +2217,14 @@ public class PermohonanStatusPegawaiImpl implements PermohonanStatusPegawaiServi
int yearn2 = Integer.parseInt(year) - 2; int yearn2 = Integer.parseInt(year) - 2;
String yearN2 = Integer.toString(yearn2); String yearN2 = Integer.toString(yearn2);
Map<String, Object> dataCuti = this.getDataCuti(idPegawai, year, idStatusPegawai); DataCutiDto cutiIzin = jatahCutiDanIzinService.getDataCuti(idPegawai, year, idStatusPegawai);
JatahCutiDanIzinVO voTahunIni = new JatahCutiDanIzinVO(); JatahCutiDanIzinVO voTahunIni = new JatahCutiDanIzinVO();
voTahunIni.setStatusEnabled(Master.STATUS_ENABLE_TRUE); voTahunIni.setStatusEnabled(Master.STATUS_ENABLE_TRUE);
voTahunIni.setTahun(year); voTahunIni.setTahun(year);
voTahunIni.setKdProfile(Master.KODE_PROFILE); voTahunIni.setKdProfile(Master.KODE_PROFILE);
voTahunIni.setPegawai(pegawaiVo); voTahunIni.setPegawai(pegawaiVo);
voTahunIni.setValue(Integer.valueOf(dataCuti.get("dataCutiB").toString())); voTahunIni.setValue(Integer.valueOf(cutiIzin.getDataCutiB().toString()));
voTahunIni.setKomponenIndex(komponenIndexVo); voTahunIni.setKomponenIndex(komponenIndexVo);
voTahunIni.setIsTangguhkan(false); voTahunIni.setIsTangguhkan(false);
this.setJatahCutiPegawaiRecursive(voTahunIni); this.setJatahCutiPegawaiRecursive(voTahunIni);
@ -2260,7 +2234,7 @@ public class PermohonanStatusPegawaiImpl implements PermohonanStatusPegawaiServi
voTahunLalu.setTahun(yearN1); voTahunLalu.setTahun(yearN1);
voTahunLalu.setKdProfile(Master.KODE_PROFILE); voTahunLalu.setKdProfile(Master.KODE_PROFILE);
voTahunLalu.setPegawai(pegawaiVo); voTahunLalu.setPegawai(pegawaiVo);
voTahunLalu.setValue(Integer.valueOf(dataCuti.get("dataCutiB1").toString())); voTahunLalu.setValue(Integer.valueOf(cutiIzin.getDataCutiB1().toString()));
voTahunLalu.setKomponenIndex(komponenIndexVo); voTahunLalu.setKomponenIndex(komponenIndexVo);
voTahunLalu.setIsTangguhkan(false); voTahunLalu.setIsTangguhkan(false);
this.setJatahCutiPegawaiRecursive(voTahunLalu); this.setJatahCutiPegawaiRecursive(voTahunLalu);
@ -2270,12 +2244,12 @@ public class PermohonanStatusPegawaiImpl implements PermohonanStatusPegawaiServi
voDuaTahunLalu.setTahun(yearN2); voDuaTahunLalu.setTahun(yearN2);
voDuaTahunLalu.setKdProfile(Master.KODE_PROFILE); voDuaTahunLalu.setKdProfile(Master.KODE_PROFILE);
voDuaTahunLalu.setPegawai(pegawaiVo); voDuaTahunLalu.setPegawai(pegawaiVo);
voDuaTahunLalu.setValue(Integer.valueOf(dataCuti.get("dataCutiB2").toString())); voDuaTahunLalu.setValue(Integer.valueOf(cutiIzin.getDataCutiB2().toString()));
voDuaTahunLalu.setKomponenIndex(komponenIndexVo); voDuaTahunLalu.setKomponenIndex(komponenIndexVo);
voDuaTahunLalu.setIsTangguhkan(false); voDuaTahunLalu.setIsTangguhkan(false);
this.setJatahCutiPegawaiRecursive(voDuaTahunLalu); this.setJatahCutiPegawaiRecursive(voDuaTahunLalu);
return new HashMap<>(dataCuti); return cutiIzin;
} }
@Override @Override

View File

@ -178,7 +178,9 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
List<Integer> kategoriPegawaiAksesAplikasiRemun = splitDataSettingDatafixed("kategoriPegawaiAksesAplikasiRemun"); List<Integer> kategoriPegawaiAksesAplikasiRemun = splitDataSettingDatafixed(
"kategoriPegawaiAksesAplikasiRemun");
List<Integer> listIdKategoriPesertaDidik = splitDataSettingDatafixed("listIdKategoriPesertaDidik");
if (CommonUtil.isNotNullOrEmpty(vo.getId())) { if (CommonUtil.isNotNullOrEmpty(vo.getId())) {
pegawai = rekamDataPegawaiDao.findOne(vo.getId()); pegawai = rekamDataPegawaiDao.findOne(vo.getId());
Integer idJabatanUtama = mapPegawaiJabatanToUnitkerjaDao.getIdJabatanInternalUtamaByIdPegawai(vo.getId()); Integer idJabatanUtama = mapPegawaiJabatanToUnitkerjaDao.getIdJabatanInternalUtamaByIdPegawai(vo.getId());
@ -1253,6 +1255,19 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
pegawai.setRekanan(null); pegawai.setRekanan(null);
perubahan += "hapus perusahaan mitra, "; perubahan += "hapus perusahaan mitra, ";
} }
if (CommonUtil.isNotNullOrEmpty(pegawai.getNim()) && CommonUtil.isNotNullOrEmpty(vo.getNim())) {
if (!pegawai.getNim().equals(vo.getNim())) {
pegawai.setNim(vo.getNim());
perubahan += "ubah nim, ";
}
} else if (CommonUtil.isNullOrEmpty(pegawai.getNim()) && CommonUtil.isNotNullOrEmpty(vo.getNim())) {
pegawai.setNim(vo.getNim());
perubahan += "nim, ";
} else if (CommonUtil.isNotNullOrEmpty(pegawai.getNim()) && CommonUtil.isNullOrEmpty(vo.getNim())) {
pegawai.setNim(vo.getNim());
perubahan += "hapus nim, ";
}
} else { } else {
pegawai.setKdProfile(Master.KODE_PROFILE); pegawai.setKdProfile(Master.KODE_PROFILE);
pegawai.setStatusEnabled(Master.STATUS_ENABLE_TRUE); pegawai.setStatusEnabled(Master.STATUS_ENABLE_TRUE);
@ -1526,6 +1541,10 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
pegawai.setRekanan(rekananConverter.transferVOToModel(vo.getRekanan(), new Rekanan())); pegawai.setRekanan(rekananConverter.transferVOToModel(vo.getRekanan(), new Rekanan()));
perubahan += "perusahaan mitra, "; perubahan += "perusahaan mitra, ";
} }
if (CommonUtil.isNotNullOrEmpty(vo.getNim())) {
pegawai.setNim(vo.getNim());
perubahan += "nim, ";
}
} }
if (CommonUtil.isNullOrEmpty(perubahan)) { if (CommonUtil.isNullOrEmpty(perubahan)) {
@ -1636,7 +1655,7 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
&& CommonUtil.isNotNullOrEmpty(vo.getStatusEnabled())) { && CommonUtil.isNotNullOrEmpty(vo.getStatusEnabled())) {
if (!map.getStatusEnabled().equals(vo.getStatusEnabled())) { if (!map.getStatusEnabled().equals(vo.getStatusEnabled())) {
map.setStatusEnabled(vo.getStatusEnabled()); map.setStatusEnabled(vo.getStatusEnabled());
if (idKategoryPegawai.equals(Master.KategoryPegawai.PESERTA_DIDIK)) { if (listIdKategoriPesertaDidik.contains(idKategoryPegawai)) {
perubahan += "status hapus mapping dokter penanggung jawab, "; perubahan += "status hapus mapping dokter penanggung jawab, ";
} else { } else {
perubahan += "status hapus mapping jabatan, "; perubahan += "status hapus mapping jabatan, ";
@ -1645,7 +1664,7 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
} else if (CommonUtil.isNullOrEmpty(map.getStatusEnabled()) } else if (CommonUtil.isNullOrEmpty(map.getStatusEnabled())
&& CommonUtil.isNotNullOrEmpty(vo.getStatusEnabled())) { && CommonUtil.isNotNullOrEmpty(vo.getStatusEnabled())) {
map.setStatusEnabled(vo.getStatusEnabled()); map.setStatusEnabled(vo.getStatusEnabled());
if (idKategoryPegawai.equals(Master.KategoryPegawai.PESERTA_DIDIK)) { if (listIdKategoriPesertaDidik.contains(idKategoryPegawai)) {
perubahan += "status hapus mapping dokter penanggung jawab, "; perubahan += "status hapus mapping dokter penanggung jawab, ";
} else { } else {
perubahan += "status hapus mapping jabatan, "; perubahan += "status hapus mapping jabatan, ";
@ -1761,7 +1780,7 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
if (!map.getAtasanLangsungId().equals(mapVo.getAtasanLangsung().getId())) { if (!map.getAtasanLangsungId().equals(mapVo.getAtasanLangsung().getId())) {
map.setAtasanLangsung( map.setAtasanLangsung(
pegawaiConverter.transferVOToModel(mapVo.getAtasanLangsung(), new Pegawai())); pegawaiConverter.transferVOToModel(mapVo.getAtasanLangsung(), new Pegawai()));
if (idKategoryPegawai.equals(Master.KategoryPegawai.PESERTA_DIDIK)) { if (listIdKategoriPesertaDidik.contains(idKategoryPegawai)) {
perubahan += "ubah dokter penanggung jawab, "; perubahan += "ubah dokter penanggung jawab, ";
} else { } else {
perubahan += "ubah atasan langsung, "; perubahan += "ubah atasan langsung, ";
@ -1771,7 +1790,7 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
&& CommonUtil.isNotNullOrEmpty(mapVo.getAtasanLangsung())) { && CommonUtil.isNotNullOrEmpty(mapVo.getAtasanLangsung())) {
map.setAtasanLangsung( map.setAtasanLangsung(
pegawaiConverter.transferVOToModel(mapVo.getAtasanLangsung(), new Pegawai())); pegawaiConverter.transferVOToModel(mapVo.getAtasanLangsung(), new Pegawai()));
if (idKategoryPegawai.equals(Master.KategoryPegawai.PESERTA_DIDIK)) { if (listIdKategoriPesertaDidik.contains(idKategoryPegawai)) {
perubahan += "dokter penanggung jawab, "; perubahan += "dokter penanggung jawab, ";
} else { } else {
perubahan += "atasan langsung, "; perubahan += "atasan langsung, ";
@ -1779,7 +1798,7 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
} else if (CommonUtil.isNotNullOrEmpty(map.getAtasanLangsungId()) } else if (CommonUtil.isNotNullOrEmpty(map.getAtasanLangsungId())
&& CommonUtil.isNullOrEmpty(mapVo.getAtasanLangsung())) { && CommonUtil.isNullOrEmpty(mapVo.getAtasanLangsung())) {
map.setAtasanLangsung(null); map.setAtasanLangsung(null);
if (idKategoryPegawai.equals(Master.KategoryPegawai.PESERTA_DIDIK)) { if (listIdKategoriPesertaDidik.contains(idKategoryPegawai)) {
perubahan += "hapus dokter penanggung jawab, "; perubahan += "hapus dokter penanggung jawab, ";
} else { } else {
perubahan += "hapus atasan langsung, "; perubahan += "hapus atasan langsung, ";
@ -1956,7 +1975,7 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
if (CommonUtil.isNotNullOrEmpty(mapVo.getAtasanLangsung())) { if (CommonUtil.isNotNullOrEmpty(mapVo.getAtasanLangsung())) {
map.setAtasanLangsung( map.setAtasanLangsung(
pegawaiConverter.transferVOToModel(mapVo.getAtasanLangsung(), new Pegawai())); pegawaiConverter.transferVOToModel(mapVo.getAtasanLangsung(), new Pegawai()));
if (idKategoryPegawai.equals(Master.KategoryPegawai.PESERTA_DIDIK)) { if (listIdKategoriPesertaDidik.contains(idKategoryPegawai)) {
perubahan += "dokter penanggung jawab, "; perubahan += "dokter penanggung jawab, ";
} else { } else {
perubahan += "atasan langsung, "; perubahan += "atasan langsung, ";
@ -1984,21 +2003,21 @@ public class RekamDataPegawaiServiceImpl extends BaseVoServiceImpl implements Re
if (mapVo.getIsPrimary()) { if (mapVo.getIsPrimary()) {
disableIsprimary(resultDomain.getId()); disableIsprimary(resultDomain.getId());
} }
if (!idKategoryPegawai.equals(Master.KategoryPegawai.PESERTA_DIDIK)) { if (!listIdKategoriPesertaDidik.contains(idKategoryPegawai)) {
perubahan += "status jabatan utama, "; perubahan += "status jabatan utama, ";
} }
} }
if (CommonUtil.isNotNullOrEmpty(mapVo.getIsMonitoring())) { if (CommonUtil.isNotNullOrEmpty(mapVo.getIsMonitoring())) {
map.setIsMonitoring(mapVo.getIsMonitoring()); map.setIsMonitoring(mapVo.getIsMonitoring());
if (!idKategoryPegawai.equals(Master.KategoryPegawai.PESERTA_DIDIK)) { if (!listIdKategoriPesertaDidik.contains(idKategoryPegawai)) {
perubahan += "status monitoring, "; perubahan += "status monitoring, ";
} }
} }
if (CommonUtil.isNotNullOrEmpty(mapVo.getIsCanCreateJadwal())) { if (CommonUtil.isNotNullOrEmpty(mapVo.getIsCanCreateJadwal())) {
map.setIsCanCreateJadwal(mapVo.getIsCanCreateJadwal()); map.setIsCanCreateJadwal(mapVo.getIsCanCreateJadwal());
if (!idKategoryPegawai.equals(Master.KategoryPegawai.PESERTA_DIDIK)) { if (!listIdKategoriPesertaDidik.contains(idKategoryPegawai)) {
perubahan += "status buat jadwal dinas, "; perubahan += "status buat jadwal dinas, ";
} }
} }

View File

@ -1604,6 +1604,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
private List<Map<String, Object>> transformPelayananPaket(Integer idPegawai, List<Map<String, Object>> listData) { private List<Map<String, Object>> transformPelayananPaket(Integer idPegawai, List<Map<String, Object>> listData) {
List<Integer> drKsmObgyn = pegawaiDao.getDokterByKsm(KSM_OBGYN); List<Integer> drKsmObgyn = pegawaiDao.getDokterByKsm(KSM_OBGYN);
List<Integer> terapisRehabMedik = mapJabatanProfesiDao.findIdPegawaiByProfesiIn(Arrays.asList(TERAPI));
SimpleDateFormat month = new SimpleDateFormat("MMM-yyyy", new Locale("in", "ID")); SimpleDateFormat month = new SimpleDateFormat("MMM-yyyy", new Locale("in", "ID"));
List<MapProdukPaket> paketList = mapProdukPaketDao.findAll(); List<MapProdukPaket> paketList = mapProdukPaketDao.findAll();
List<Integer> allProdukEntriId = paketList.stream().map(MapProdukPaket::getProdukEntriId) List<Integer> allProdukEntriId = paketList.stream().map(MapProdukPaket::getProdukEntriId)
@ -1774,6 +1775,17 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
: byDetailTarifNonKelas.get().getHargaSatuan())); : byDetailTarifNonKelas.get().getHargaSatuan()));
} }
} }
} else if (terapisRehabMedik.contains(idPegawai)
&& !Arrays.asList(GRUP_RAWAT_INAP).contains(Integer.parseInt(d.get("idDepartemen").toString()))
&& DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
Optional<HargaNettoProdukByKelasD> byDetailTarifNonKelas = tarifDetailNonKelas.stream()
.filter(dt -> dt.getProdukId().equals(d.get("idProduk")))
.filter(dt -> dt.getKelasId().equals(d.get("idKelas")))
.filter(dt -> dt.getKomponenHargaId().equals(JASA_TERAPIS)).findFirst();
byDetailTarifNonKelas.ifPresent(hargaNettoProdukByKelasD -> d.put("hargaJasa",
CommonUtil.isNotNullOrEmpty(byDetailTarifNonKelas.get().getHargaNetto1())
? byDetailTarifNonKelas.get().getHargaNetto1()
: byDetailTarifNonKelas.get().getHargaSatuan()));
} else if (!Arrays.asList(GRUP_RAWAT_INAP).contains(Integer.parseInt(d.get("idDepartemen").toString())) } else if (!Arrays.asList(GRUP_RAWAT_INAP).contains(Integer.parseInt(d.get("idDepartemen").toString()))
&& DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
Optional<HargaNettoProdukByKelasD> byDetailTarifNonKelas = tarifDetailNonKelas.stream() Optional<HargaNettoProdukByKelasD> byDetailTarifNonKelas = tarifDetailNonKelas.stream()

View File

@ -76,9 +76,6 @@ public class ReportServiceImpl extends BaseVoServiceImpl implements ReportServic
@Autowired @Autowired
private MonitoringAbsenService monitoringAbsenService; private MonitoringAbsenService monitoringAbsenService;
@Autowired
private PermohonanStatusPegawaiService permohonanStatusPegawaiService;
@Autowired @Autowired
private SlipGajiService slipGajiService; private SlipGajiService slipGajiService;
@ -115,6 +112,9 @@ public class ReportServiceImpl extends BaseVoServiceImpl implements ReportServic
@Autowired @Autowired
private SlipGajiDao slipGajiDao; private SlipGajiDao slipGajiDao;
@Autowired
private JatahCutiDanIzinService jatahCutiDanIzinService;
private static final String[] INDONESIAN_WEEK = new String[] { "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu", private static final String[] INDONESIAN_WEEK = new String[] { "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu",
"Minggu" }; "Minggu" };
@ -1861,12 +1861,10 @@ public class ReportServiceImpl extends BaseVoServiceImpl implements ReportServic
result.put("noHandphone", planningPegawaiStatus.getNomorTelepon()); result.put("noHandphone", planningPegawaiStatus.getNomorTelepon());
result.put("unitKerja", pegawai.get("unitKerja")); result.put("unitKerja", pegawai.get("unitKerja"));
result.put("tahun", pegawai.get("tahun")); result.put("tahun", pegawai.get("tahun"));
Map<String, Object> cutiTahunan = permohonanStatusPegawaiService DataCutiDto cutiIzin = jatahCutiDanIzinService.getDataCuti(planningPegawaiStatus.getPegawai().getId(),
.getDataCuti(planningPegawaiStatus.getPegawai().getId(), null, 1); null, 1);
if (CommonUtil.isNotNullOrEmpty(cutiTahunan)) { result.put("cutiTerpakai", cutiIzin.getCutiTerpakaiN());
result.put("cutiTerpakai", cutiTahunan.get("cutiTerpakai")); result.put("sisaCuti", cutiIzin.getSisaCuti());
result.put("sisaCuti", cutiTahunan.get("sisaCuti"));
}
} }
} }
return result; return result;
@ -2094,18 +2092,16 @@ public class ReportServiceImpl extends BaseVoServiceImpl implements ReportServic
result.put("noHandphone", planningPegawaiStatus.getNomorTelepon()); result.put("noHandphone", planningPegawaiStatus.getNomorTelepon());
result.put("unitKerja", unitKerja.getName()); result.put("unitKerja", unitKerja.getName());
result.put("tahun", pegawai.get("tahun")); result.put("tahun", pegawai.get("tahun"));
Map<String, Object> cutiTahunan = permohonanStatusPegawaiService DataCutiDto cutiIzin = jatahCutiDanIzinService.getDataCuti(planningPegawaiStatus.getPegawai().getId(),
.getDataCuti(planningPegawaiStatus.getPegawai().getId(), null, 1); null, 1);
if (CommonUtil.isNotNullOrEmpty(cutiTahunan)) { result.put("cutiTerpakai", cutiIzin.getCutiTerpakaiN());
result.put("cutiTerpakai", cutiTahunan.get("cutiTerpakaiN")); result.put("sisaCuti", cutiIzin.getSisaCutiN());
result.put("sisaCuti", cutiTahunan.get("sisaCutiN")); result.put("cutiTerpakaiN1", cutiIzin.getCutiTerpakaiN1());
result.put("cutiTerpakaiN1", cutiTahunan.get("cutiTerpakaiN1")); result.put("sisaCutiN1", cutiIzin.getSisaCutiN1());
result.put("sisaCutiN1", cutiTahunan.get("sisaCutiN1")); result.put("cutiTerpakaiN2", cutiIzin.getCutiTerpakaiN2());
result.put("cutiTerpakaiN2", cutiTahunan.get("cutiTerpakaiN2")); result.put("sisaCutiN2", cutiIzin.getSisaCutiN2());
result.put("sisaCutiN2", cutiTahunan.get("sisaCutiN2")); result.put("cutiTerpakaiB", cutiIzin.getCutiTerpakaiB());
result.put("cutiTerpakaiB", cutiTahunan.get("cutiTerpakaiB")); result.put("sisaCutiB", cutiIzin.getSisaCutiB());
result.put("sisaCutiB", cutiTahunan.get("sisaCutiB"));
}
} }
} }
return result; return result;
@ -2292,18 +2288,16 @@ public class ReportServiceImpl extends BaseVoServiceImpl implements ReportServic
result.put("noHandphone", planningPegawaiStatus.getNomorTelepon()); result.put("noHandphone", planningPegawaiStatus.getNomorTelepon());
result.put("unitKerja", pegawai.get("unitKerja")); result.put("unitKerja", pegawai.get("unitKerja"));
result.put("tahun", pegawai.get("tahun")); result.put("tahun", pegawai.get("tahun"));
Map<String, Object> cutiTahunan = permohonanStatusPegawaiService DataCutiDto cutiIzin = jatahCutiDanIzinService.getDataCuti(planningPegawaiStatus.getPegawai().getId(),
.getDataCuti(planningPegawaiStatus.getPegawai().getId(), null, 1); null, 1);
if (CommonUtil.isNotNullOrEmpty(cutiTahunan)) { result.put("cutiTerpakai", cutiIzin.getCutiTerpakaiN());
result.put("cutiTerpakai", cutiTahunan.get("cutiTerpakaiN")); result.put("sisaCuti", cutiIzin.getSisaCutiN());
result.put("sisaCuti", cutiTahunan.get("sisaCutiN")); result.put("cutiTerpakaiN1", cutiIzin.getCutiTerpakaiN1());
result.put("cutiTerpakaiN1", cutiTahunan.get("cutiTerpakaiN1")); result.put("sisaCutiN1", cutiIzin.getSisaCutiN1());
result.put("sisaCutiN1", cutiTahunan.get("sisaCutiN1")); result.put("cutiTerpakaiN2", cutiIzin.getCutiTerpakaiN2());
result.put("cutiTerpakaiN2", cutiTahunan.get("cutiTerpakaiN2")); result.put("sisaCutiN2", cutiIzin.getSisaCutiN2());
result.put("sisaCutiN2", cutiTahunan.get("sisaCutiN2")); result.put("cutiTerpakaiB", cutiIzin.getCutiTerpakaiB());
result.put("cutiTerpakaiB", cutiTahunan.get("cutiTerpakaiB")); result.put("sisaCutiB", cutiIzin.getSisaCutiB());
result.put("sisaCutiB", cutiTahunan.get("sisaCutiB"));
}
} }
} }
return result; return result;
@ -2404,12 +2398,10 @@ public class ReportServiceImpl extends BaseVoServiceImpl implements ReportServic
result.put("noHandphone", planningPegawaiStatus.getNomorTelepon()); result.put("noHandphone", planningPegawaiStatus.getNomorTelepon());
result.put("unitKerja", unitKerja.getName()); result.put("unitKerja", unitKerja.getName());
result.put("tahun", pegawai.get("tahun")); result.put("tahun", pegawai.get("tahun"));
Map<String, Object> cutiTahunan = permohonanStatusPegawaiService DataCutiDto cutiIzin = jatahCutiDanIzinService.getDataCuti(planningPegawaiStatus.getPegawai().getId(),
.getDataCuti(planningPegawaiStatus.getPegawai().getId(), null, 1); null, 1);
if (CommonUtil.isNotNullOrEmpty(cutiTahunan)) { result.put("cutiTerpakai", cutiIzin.getCutiTerpakaiN());
result.put("cutiTerpakai", cutiTahunan.get("cutiTerpakai")); result.put("sisaCuti", cutiIzin.getSisaCuti());
result.put("sisaCuti", cutiTahunan.get("sisaCuti"));
}
} }
} }
return result; return result;
@ -2569,12 +2561,10 @@ public class ReportServiceImpl extends BaseVoServiceImpl implements ReportServic
result.put("noHandphone", planningPegawaiStatus.getNomorTelepon()); result.put("noHandphone", planningPegawaiStatus.getNomorTelepon());
result.put("unitKerja", unitKerja.getName()); result.put("unitKerja", unitKerja.getName());
result.put("tahun", pegawai.get("tahun")); result.put("tahun", pegawai.get("tahun"));
Map<String, Object> cutiTahunan = permohonanStatusPegawaiService DataCutiDto cutiIzin = jatahCutiDanIzinService.getDataCuti(planningPegawaiStatus.getPegawai().getId(),
.getDataCuti(planningPegawaiStatus.getPegawai().getId(), null, 1); null, 1);
if (CommonUtil.isNotNullOrEmpty(cutiTahunan)) { result.put("cutiTerpakai", cutiIzin.getCutiTerpakaiN());
result.put("cutiTerpakai", cutiTahunan.get("cutiTerpakai")); result.put("sisaCuti", cutiIzin.getSisaCuti());
result.put("sisaCuti", cutiTahunan.get("sisaCuti"));
}
} }
} }
return result; return result;

View File

@ -8,11 +8,11 @@ hibernate.show_sql = true
hikari.config.maximum.pool.size = 5 hikari.config.maximum.pool.size = 5
# DB Development # DB Development
jdbc.url = jdbc:postgresql://192.168.12.3:5432/rsab_hk_24_08_20 jdbc.url = jdbc:postgresql://192.168.12.3:5432/rsab_hk_25_01_14
jdbc.username = smart_user jdbc.username = smart_user
jdbc.password = 1miwhir3yr jdbc.password = 1miwhir3yr
jdbc.serverName = 192.168.12.3 jdbc.serverName = 192.168.12.3
jdbc.databaseName = rsab_hk_24_08_20 jdbc.databaseName = rsab_hk_25_01_14
jdbc.portNumber = 5432 jdbc.portNumber = 5432
corePoolSizeAsyncConfigurer = 5 corePoolSizeAsyncConfigurer = 5

View File

@ -237,6 +237,12 @@ public final class DateUtil implements Serializable {
return now.get(Calendar.YEAR); return now.get(Calendar.YEAR);
} }
public static Date getInstanceCalendar(int addYear) {
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.YEAR, addYear);
return calendar.getTime();
}
public static final synchronized Integer getYearFromDate(Date date) { public static final synchronized Integer getYearFromDate(Date date) {
Calendar cal = Calendar.getInstance(); Calendar cal = Calendar.getInstance();
cal.setTime(date); cal.setTime(date);

View File

@ -0,0 +1,78 @@
package com.jasamedika.medifirst2000.dto;
import lombok.*;
/**
* @author Salman
* @version 1.0.0
* @since 09/01/2025
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class DataCutiDto {
private String sisaCuti;
private Integer sisaIzin;
private Integer sisaJatahRawatJalan;
private Integer sisaJatahRawatInap;
private Integer sisaCutiB;
private Integer sisaCutiB1;
private Integer sisaCutiB2;
private Integer sisaCutiN;
private Integer sisaCutiN1;
private Integer sisaCutiN2;
private Integer cutiTerpakaiB;
private Integer cutiTerpakaiB1;
private Integer cutiTerpakaiB2;
private Integer cutiTerpakaiN;
private Integer cutiTerpakaiN1;
private Integer cutiTerpakaiN2;
private Boolean isTangguhkanB;
private Boolean isTangguhkanB1;
private Boolean isTangguhkanB2;
private Boolean isTangguhkanN;
private Boolean isTangguhkanN1;
private Boolean isTangguhkanN2;
private Integer dataCutiB;
private Integer dataCutiB1;
private Integer dataCutiB2;
private Integer dataCutiN;
private Integer dataCutiN1;
private Integer dataCutiN2;
private Integer dataCutiN3;
private String jatahCuti;
private Integer jatahIzin;
}

View File

@ -0,0 +1,29 @@
package com.jasamedika.medifirst2000.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
/**
* @author Salman
* @version 1.0.0
* @since 10/01/2025
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class HariLiburTerpakai {
private Integer idPegawai;
private String namaLengkap;
private Date tanggal;
private Boolean isCutiBersamaDitangguhkan;
}

View File

@ -0,0 +1,25 @@
package com.jasamedika.medifirst2000.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author Salman
* @version 1.0.0
* @since 10/01/2025
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class JatahCutiRequest {
Integer pegawaiId;
String year;
Integer statusPegawaiId;
}

View File

@ -1,128 +1,55 @@
package com.jasamedika.medifirst2000.entities; package com.jasamedika.medifirst2000.entities;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;
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;
@Entity // @Audited import javax.persistence.*;
import javax.validation.constraints.NotNull;
@Getter
@Setter
@Entity
@Table(name = "JatahCutiDanIzin_T") @Table(name = "JatahCutiDanIzin_T")
public class JatahCutiDanIzin extends BaseTransaction { public class JatahCutiDanIzin extends BaseTransaction {
@ManyToOne @ManyToOne
@JoinColumn(name = "PegawaiFK") @JoinColumn(name = "PegawaiFK")
@NotNull(message="Pegawai Harus Diisi") @NotNull(message = "Pegawai Harus Diisi")
@Caption(value="Pegawai") @Caption(value = "Pegawai")
private Pegawai pegawai; private Pegawai pegawai;
@Column(name = "PegawaiFK", insertable=false,updatable=false,nullable = false) @Column(name = "PegawaiFK", insertable = false, updatable = false, nullable = false)
private Integer pegawaiId; private Integer pegawaiId;
@Column(name = "tahun") @Column(name = "tahun")
@Caption(value = "tahun") @Caption(value = "tahun")
private String tahun; private String tahun;
@ManyToOne @ManyToOne
@JoinColumn(name = "KomponenIndexFK") @JoinColumn(name = "KomponenIndexFK")
@NotNull(message="KomponenIndex Harus Diisi") @NotNull(message = "KomponenIndex Harus Diisi")
@Caption(value="KomponenIndex") @Caption(value = "KomponenIndex")
private KomponenIndex komponenIndex; private KomponenIndex komponenIndex;
@Column(name = "KomponenIndexFK", insertable=false,updatable=false,nullable = false) @Column(name = "KomponenIndexFK", insertable = false, updatable = false, nullable = false)
private Integer komponenIndexId; private Integer komponenIndexId;
@Column(name = "value") @Column(name = "value")
@Caption(value = "value") @Caption(value = "value")
private Integer value; private Integer value;
@Column(name = "CutiTerpakai") @Column(name = "CutiTerpakai")
@Caption(value = "CutiTerpakai") @Caption(value = "CutiTerpakai")
private Integer cutiTerpakai; private Integer cutiTerpakai;
@Column(name = "SisaCuti") @Column(name = "SisaCuti")
@Caption(value = "SisaCuti") @Caption(value = "SisaCuti")
private Integer sisaCuti; private Integer sisaCuti;
@Column(name = "isTangguhkanSisaCuti") @Column(name = "isTangguhkanSisaCuti")
@Caption(value = "Tangguhkan Sisa Cuti") @Caption(value = "Tangguhkan Sisa Cuti")
private Boolean isTangguhkan; private Boolean isTangguhkan;
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 String getTahun() {
return tahun;
}
public void setTahun(String tahun) {
this.tahun = tahun;
}
public KomponenIndex getKomponenIndex() {
return komponenIndex;
}
public void setKomponenIndex(KomponenIndex komponenIndex) {
this.komponenIndex = komponenIndex;
}
public Integer getKomponenIndexId() {
return komponenIndexId;
}
public void setKomponenIndexId(Integer komponenIndexId) {
this.komponenIndexId = komponenIndexId;
}
public Integer getValue() {
return value;
}
public void setValue(Integer value) {
this.value = value;
}
public Integer getCutiTerpakai() {
return cutiTerpakai;
}
public void setCutiTerpakai(Integer cutiTerpakai) {
this.cutiTerpakai = cutiTerpakai;
}
public Integer getSisaCuti() {
return sisaCuti;
}
public void setSisaCuti(Integer sisaCuti) {
this.sisaCuti = sisaCuti;
}
public Boolean getIsTangguhkan() {
return isTangguhkan;
}
public void setIsTangguhkan(Boolean isTangguhkan) {
this.isTangguhkan = isTangguhkan;
}
} }

View File

@ -1,407 +1,125 @@
package com.jasamedika.medifirst2000.entities; package com.jasamedika.medifirst2000.entities;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;
import com.jasamedika.medifirst2000.base.BaseMaster; import com.jasamedika.medifirst2000.base.BaseMaster;
import com.jasamedika.medifirst2000.helper.Caption; import com.jasamedika.medifirst2000.helper.Caption;
import lombok.Getter;
import lombok.Setter;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import java.util.Date;
import static javax.persistence.GenerationType.SEQUENCE;
@Getter
@Setter
@Entity @Entity
@Table(name = "Kalender_S") @Table(name = "Kalender_S")
public class Kalender extends BaseMaster { public class Kalender extends BaseMaster {
@Column(name = "BulanFiscal", nullable = true , length = 10) @Column(name = "BulanFiscal", length = 10)
@Caption(value="Bulan Fiscal") @Caption(value = "Bulan Fiscal")
private String bulanFiscal; private String bulanFiscal;
@NotNull(message="Bulan Ke Dlm Tahun tidak boleh kosong") @NotNull(message = "Bulan Ke Dlm Tahun tidak boleh kosong")
@Column(name = "BulanKeDlmTahun", nullable = false ) @Column(name = "BulanKeDlmTahun", nullable = false)
@Caption(value="Bulan Ke Dlm Tahun") @Caption(value = "Bulan Ke Dlm Tahun")
private Byte bulanKeDlmTahun; private Byte bulanKeDlmTahun;
@NotNull(message="Hari Ke Dlm Bulan tidak boleh kosong") @NotNull(message = "Hari Ke Dlm Bulan tidak boleh kosong")
@Column(name = "HariKeDlmBulan", nullable = false ) @Column(name = "HariKeDlmBulan", nullable = false)
@Caption(value="Hari Ke Dlm Bulan") @Caption(value = "Hari Ke Dlm Bulan")
private Byte hariKeDlmBulan; private Byte hariKeDlmBulan;
@NotNull(message="Hari Ke Dlm Minggu tidak boleh kosong") @NotNull(message = "Hari Ke Dlm Minggu tidak boleh kosong")
@Column(name = "HariKeDlmMinggu", nullable = false ) @Column(name = "HariKeDlmMinggu", nullable = false)
@Caption(value="Hari Ke Dlm Minggu") @Caption(value = "Hari Ke Dlm Minggu")
private Byte hariKeDlmMinggu; private Byte hariKeDlmMinggu;
@NotNull(message="Hari Ke Dlm Tahun tidak boleh kosong") @NotNull(message = "Hari Ke Dlm Tahun tidak boleh kosong")
@Column(name = "HariKeDlmTahun", nullable = false ) @Column(name = "HariKeDlmTahun", nullable = false)
@Caption(value="Hari Ke Dlm Tahun") @Caption(value = "Hari Ke Dlm Tahun")
private Short hariKeDlmTahun; private Short hariKeDlmTahun;
@ManyToOne @ManyToOne
@JoinColumn(name = "ObjectHistoryLoginDFk") @JoinColumn(name = "ObjectHistoryLoginDFk")
@Caption(value="Object History Login D") @Caption(value = "Object History Login D")
private HistoryLoginModulAplikasi historyLoginD; private HistoryLoginModulAplikasi historyLoginD;
@Column(name = "ObjectHistoryLoginDFk", insertable=false,updatable=false) @Column(name = "ObjectHistoryLoginDFk", insertable = false, updatable = false)
private Integer historyLoginDId; private Integer historyLoginDId;
@ManyToOne @ManyToOne
@JoinColumn(name = "ObjectHistoryLoginIFk") @JoinColumn(name = "ObjectHistoryLoginIFk")
@NotNull(message="Kd History Login I tidak boleh kosong") @NotNull(message = "Kd History Login I tidak boleh kosong")
@Caption(value="Object History Login I") @Caption(value = "Object History Login I")
private HistoryLoginModulAplikasi historyLoginI; private HistoryLoginModulAplikasi historyLoginI;
@Column(name = "ObjectHistoryLoginIFk", insertable=false,updatable=false) @Column(name = "ObjectHistoryLoginIFk", insertable = false, updatable = false)
private Integer historyLoginIId; private Integer historyLoginIId;
@ManyToOne @ManyToOne
@JoinColumn(name = "ObjectHistoryLoginSFk") @JoinColumn(name = "ObjectHistoryLoginSFk")
@Caption(value="Object History Login S") @Caption(value = "Object History Login S")
private HistoryLoginModulAplikasi historyLoginS; private HistoryLoginModulAplikasi historyLoginS;
@Column(name = "ObjectHistoryLoginSFk", insertable=false,updatable=false,nullable=false) @Column(name = "ObjectHistoryLoginSFk", insertable = false, updatable = false, nullable = false)
private Integer historyLoginSId; private Integer historyLoginSId;
@ManyToOne @ManyToOne
@JoinColumn(name = "ObjectHistoryLoginUFk") @JoinColumn(name = "ObjectHistoryLoginUFk")
@Caption(value="Object History Login U") @Caption(value = "Object History Login U")
private HistoryLoginModulAplikasi historyLoginU; private HistoryLoginModulAplikasi historyLoginU;
@Column(name = "ObjectHistoryLoginUFk", insertable=false,updatable=false) @Column(name = "ObjectHistoryLoginUFk", insertable = false, updatable = false)
private Integer historyLoginUId; private Integer historyLoginUId;
@NotNull(message="Kd Tanggal tidak boleh kosong") @NotNull(message = "Kd Tanggal tidak boleh kosong")
@Column(name = "KdTanggal", nullable = false ) @Column(name = "KdTanggal", nullable = false)
@Caption(value="Kode Tanggal") @Caption(value = "Kode Tanggal")
private Integer kdTanggal; private Integer kdTanggal;
@NotNull(message="Nama Bulan tidak boleh kosong") @NotNull(message = "Nama Bulan tidak boleh kosong")
@Column(name = "NamaBulan", nullable = false , length = 10) @Column(name = "NamaBulan", nullable = false, length = 10)
@Caption(value="Nama Bulan") @Caption(value = "Nama Bulan")
private String namaBulan; private String namaBulan;
@NotNull(message="Nama Hari tidak boleh kosong") @NotNull(message = "Nama Hari tidak boleh kosong")
@Column(name = "NamaHari", nullable = false , length = 10) @Column(name = "NamaHari", nullable = false, length = 10)
@Caption(value="Nama Hari") @Caption(value = "Nama Hari")
private String namaHari; private String namaHari;
@NotNull(message="QTanggal tidak boleh kosong") @NotNull(message = "QTanggal tidak boleh kosong")
@Column(name = "QTanggal", nullable = false ) @Column(name = "QTanggal", nullable = false)
@Caption(value="QTanggal") @Caption(value = "QTanggal")
private Integer qTanggal; private Integer qTanggal;
@Column(name = "SemesterKeDlmTahun", nullable = true ) @Column(name = "SemesterKeDlmTahun")
@Caption(value="Semester Ke Dlm Tahun") @Caption(value = "Semester Ke Dlm Tahun")
private Byte semesterKeDlmTahun; private Byte semesterKeDlmTahun;
@Column(name = "TahunFiscal", nullable = true ) @Column(name = "TahunFiscal")
@Caption(value="Tahun Fiscal") @Caption(value = "Tahun Fiscal")
private Short tahunFiscal; private Short tahunFiscal;
@NotNull(message="Tahun Kalender tidak boleh kosong") @NotNull(message = "Tahun Kalender tidak boleh kosong")
@Column(name = "TahunKalender", nullable = false ) @Column(name = "TahunKalender", nullable = false)
@Caption(value="Tahun Kalender") @Caption(value = "Tahun Kalender")
private Short tahunKalender; private Short tahunKalender;
@NotNull(message="Tanggal tidak boleh kosong") @NotNull(message = "Tanggal tidak boleh kosong")
@Column(name = "Tanggal", nullable = false ) @Column(name = "Tanggal", nullable = false)
@Caption(value="Tanggal") @Caption(value = "Tanggal")
private Date tanggal; private Date tanggal;
@Column(name = "TriwulanKeDlmTahun", nullable = true ) @Column(name = "TriwulanKeDlmTahun")
@Caption(value="Triwulan Ke Dlm Tahun") @Caption(value = "Triwulan Ke Dlm Tahun")
private Byte triwulanKeDlmTahun; private Byte triwulanKeDlmTahun;
@Id @Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "public.kalender_m_id_seq") @GeneratedValue(strategy = SEQUENCE, generator = "public.kalender_m_id_seq")
@javax.persistence.SequenceGenerator(name = "public.kalender_m_id_seq", sequenceName = "public.kalender_m_id_seq", allocationSize = 1) @SequenceGenerator(name = "public.kalender_m_id_seq", sequenceName = "public.kalender_m_id_seq", allocationSize = 1)
@Column(name = "id") @Column(name = "id")
protected Integer id; protected Integer id;
public String getBulanFiscal() {
return bulanFiscal;
}
public void setBulanFiscal(String bulanFiscal) {
this.bulanFiscal = bulanFiscal;
}
public Byte getBulanKeDlmTahun() {
return bulanKeDlmTahun;
}
public void setBulanKeDlmTahun(Byte bulanKeDlmTahun) {
this.bulanKeDlmTahun = bulanKeDlmTahun;
}
public Byte getHariKeDlmBulan() {
return hariKeDlmBulan;
}
public void setHariKeDlmBulan(Byte hariKeDlmBulan) {
this.hariKeDlmBulan = hariKeDlmBulan;
}
public Byte getHariKeDlmMinggu() {
return hariKeDlmMinggu;
}
public void setHariKeDlmMinggu(Byte hariKeDlmMinggu) {
this.hariKeDlmMinggu = hariKeDlmMinggu;
}
public Short getHariKeDlmTahun() {
return hariKeDlmTahun;
}
public void setHariKeDlmTahun(Short hariKeDlmTahun) {
this.hariKeDlmTahun = hariKeDlmTahun;
}
public HistoryLoginModulAplikasi getHistoryLoginD() {
return historyLoginD;
}
public void setHistoryLoginD(HistoryLoginModulAplikasi historyLoginD) {
this.historyLoginD = historyLoginD;
}
public Integer getHistoryLoginDId() {
return historyLoginDId;
}
public void setHistoryLoginDId(Integer historyLoginDId) {
this.historyLoginDId = historyLoginDId;
}
public HistoryLoginModulAplikasi getHistoryLoginI() {
return historyLoginI;
}
public void setHistoryLoginI(HistoryLoginModulAplikasi historyLoginI) {
this.historyLoginI = historyLoginI;
}
public Integer getHistoryLoginIId() {
return historyLoginIId;
}
public void setHistoryLoginIId(Integer historyLoginIId) {
this.historyLoginIId = historyLoginIId;
}
public HistoryLoginModulAplikasi getHistoryLoginS() {
return historyLoginS;
}
public void setHistoryLoginS(HistoryLoginModulAplikasi historyLoginS) {
this.historyLoginS = historyLoginS;
}
public Integer getHistoryLoginSId() {
return historyLoginSId;
}
public void setHistoryLoginSId(Integer historyLoginSId) {
this.historyLoginSId = historyLoginSId;
}
public HistoryLoginModulAplikasi getHistoryLoginU() {
return historyLoginU;
}
public void setHistoryLoginU(HistoryLoginModulAplikasi historyLoginU) {
this.historyLoginU = historyLoginU;
}
public Integer getHistoryLoginUId() {
return historyLoginUId;
}
public void setHistoryLoginUId(Integer historyLoginUId) {
this.historyLoginUId = historyLoginUId;
}
public Integer getKdTanggal() {
return kdTanggal;
}
public void setKdTanggal(Integer kdTanggal) {
this.kdTanggal = kdTanggal;
}
public String getNamaBulan() {
return namaBulan;
}
public void setNamaBulan(String namaBulan) {
this.namaBulan = namaBulan;
}
public String getNamaHari() {
return namaHari;
}
public void setNamaHari(String namaHari) {
this.namaHari = namaHari;
}
public Integer getqTanggal() {
return qTanggal;
}
public void setqTanggal(Integer qTanggal) {
this.qTanggal = qTanggal;
}
public Byte getSemesterKeDlmTahun() {
return semesterKeDlmTahun;
}
public void setSemesterKeDlmTahun(Byte semesterKeDlmTahun) {
this.semesterKeDlmTahun = semesterKeDlmTahun;
}
public Short getTahunFiscal() {
return tahunFiscal;
}
public void setTahunFiscal(Short tahunFiscal) {
this.tahunFiscal = tahunFiscal;
}
public Short getTahunKalender() {
return tahunKalender;
}
public void setTahunKalender(Short tahunKalender) {
this.tahunKalender = tahunKalender;
}
public Date getTanggal() {
return tanggal;
}
public void setTanggal(Date tanggal) {
this.tanggal = tanggal;
}
public Byte getTriwulanKeDlmTahun() {
return triwulanKeDlmTahun;
}
public void setTriwulanKeDlmTahun(Byte triwulanKeDlmTahun) {
this.triwulanKeDlmTahun = triwulanKeDlmTahun;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
} }

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

@ -1,73 +1,52 @@
package com.jasamedika.medifirst2000.entities; package com.jasamedika.medifirst2000.entities;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;
import com.jasamedika.medifirst2000.base.BaseMaster; import com.jasamedika.medifirst2000.base.BaseMaster;
import com.jasamedika.medifirst2000.helper.Caption; import com.jasamedika.medifirst2000.helper.Caption;
import lombok.Getter;
import lombok.Setter;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import static javax.persistence.GenerationType.SEQUENCE;
/** /**
* class MapKalenderToHariLibur * class MapKalenderToHariLibur
* *
* @author Generator * @author Generator
*/ */
@Entity // @Audited @Getter
@Setter
@Entity
@Table(name = "MapKalenderToHariLibur_M") @Table(name = "MapKalenderToHariLibur_M")
public class MapKalenderToHariLibur extends BaseMaster { public class MapKalenderToHariLibur extends BaseMaster {
private static final long serialVersionUID = -1571116407894714011L;
@Id
@GeneratedValue(strategy = SEQUENCE, generator = "public.mapkalendertoharilibur_m_id_seq")
@SequenceGenerator(name = "public.mapkalendertoharilibur_m_id_seq", sequenceName = "public.mapkalendertoharilibur_m_id_seq", allocationSize = 1)
@Column(name = "id")
protected Integer id;
@ManyToOne @ManyToOne
@JoinColumn(name = "ObjectHariLiburFk") @JoinColumn(name = "ObjectHariLiburFk")
@NotNull(message = "Kd Hari Libur tidak boleh kosong") @NotNull(message = "Kd Hari Libur tidak boleh kosong")
@Caption(value = "Object Hari Libur") @Caption(value = "Object Hari Libur")
private HariLibur hariLibur; private HariLibur hariLibur;
public void setHariLibur(HariLibur hariLibur) {
this.hariLibur = hariLibur;
}
public HariLibur getHariLibur() {
return this.hariLibur;
}
@Column(name = "ObjectHariLiburFk", insertable = false, updatable = false) @Column(name = "ObjectHariLiburFk", insertable = false, updatable = false)
private Integer hariLiburId; private Integer hariLiburId;
@ManyToOne @ManyToOne
@JoinColumn(name = "ObjectTanggalFk") @JoinColumn(name = "ObjectTanggalFk")
@Caption(value = "Object Tanggal") @Caption(value = "Object Tanggal")
private Kalender tanggal; private Kalender tanggal;
public void setTgl(Kalender tanggal) {
this.tanggal = tanggal;
}
public Kalender getTgl() {
return this.tanggal;
}
@Column(name = "ObjectTanggalFk", insertable = false, updatable = false, nullable = false) @Column(name = "ObjectTanggalFk", insertable = false, updatable = false, nullable = false)
private Integer tanggalId; private Integer tanggalId;
@Id @Column(name = "is_cuti_bersama_ditangguhkan")
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "public.mapkalendertoharilibur_m_id_seq") private Boolean isCutiBersamaDitangguhkan;
@javax.persistence.SequenceGenerator(name = "public.mapkalendertoharilibur_m_id_seq", sequenceName = "public.mapkalendertoharilibur_m_id_seq", allocationSize = 1)
@Column(name = "id")
protected Integer id;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
} }

View File

@ -611,4 +611,7 @@ public class Pegawai extends BaseMasterPegawai {
@Column(name = "ObjectPegawaiPembimbingFk", insertable = false, updatable = false) @Column(name = "ObjectPegawaiPembimbingFk", insertable = false, updatable = false)
private Integer pegawaiPembimbingId; private Integer pegawaiPembimbingId;
@Column(name = "nim", length = 32)
private String nim;
} }

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

@ -1,98 +1,29 @@
package com.jasamedika.medifirst2000.vo; package com.jasamedika.medifirst2000.vo;
import com.jasamedika.medifirst2000.base.vo.BaseTransactionVO; import com.jasamedika.medifirst2000.base.vo.BaseTransactionVO;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class JatahCutiDanIzinVO extends BaseTransactionVO { public class JatahCutiDanIzinVO extends BaseTransactionVO {
private PegawaiVO pegawai; private PegawaiVO pegawai;
private Integer pegawaiId; private Integer pegawaiId;
private String tahun; private String tahun;
private KomponenIndexVO komponenIndex; private KomponenIndexVO komponenIndex;
private Integer komponenIndexId; private Integer komponenIndexId;
private Integer value; private Integer value;
private Integer cutiTerpakai; private Integer cutiTerpakai;
private Integer sisaCuti; private Integer sisaCuti;
private Boolean isTangguhkan; private Boolean isTangguhkan;
public PegawaiVO getPegawai() {
return pegawai;
}
public void setPegawai(PegawaiVO pegawai) {
this.pegawai = pegawai;
}
public Integer getPegawaiId() {
return pegawaiId;
}
public void setPegawaiId(Integer pegawaiId) {
this.pegawaiId = pegawaiId;
}
public String getTahun() {
return tahun;
}
public void setTahun(String tahun) {
this.tahun = tahun;
}
public KomponenIndexVO getKomponenIndex() {
return komponenIndex;
}
public void setKomponenIndex(KomponenIndexVO komponenIndex) {
this.komponenIndex = komponenIndex;
}
public Integer getKomponenIndexId() {
return komponenIndexId;
}
public void setKomponenIndexId(Integer komponenIndexId) {
this.komponenIndexId = komponenIndexId;
}
public Integer getValue() {
return value;
}
public void setValue(Integer value) {
this.value = value;
}
public Integer getCutiTerpakai() {
return cutiTerpakai;
}
public void setCutiTerpakai(Integer cutiTerpakai) {
this.cutiTerpakai = cutiTerpakai;
}
public Integer getSisaCuti() {
return sisaCuti;
}
public void setSisaCuti(Integer sisaCuti) {
this.sisaCuti = sisaCuti;
}
public Boolean getIsTangguhkan() {
return isTangguhkan;
}
public void setIsTangguhkan(Boolean isTangguhkan) {
this.isTangguhkan = isTangguhkan;
}
} }

View File

@ -1,209 +1,68 @@
package com.jasamedika.medifirst2000.vo; package com.jasamedika.medifirst2000.vo;
import java.util.Date;
import com.jasamedika.medifirst2000.base.vo.BaseMasterVO; import com.jasamedika.medifirst2000.base.vo.BaseMasterVO;
import com.jasamedika.medifirst2000.helper.Caption; import com.jasamedika.medifirst2000.helper.Caption;
import lombok.Getter;
import lombok.Setter;
import java.util.Date;
@Getter
@Setter
public class KalenderVO extends BaseMasterVO { public class KalenderVO extends BaseMasterVO {
@Caption(value="Bulan Fiscal") @Caption(value = "Bulan Fiscal")
private String bulanFiscal; private String bulanFiscal;
@Caption(value="Bulan Ke Dlm Tahun") @Caption(value = "Bulan Ke Dlm Tahun")
private Byte bulanKeDlmTahun; private Byte bulanKeDlmTahun;
@Caption(value="Hari Ke Dlm Bulan") @Caption(value = "Hari Ke Dlm Bulan")
private Byte hariKeDlmBulan; private Byte hariKeDlmBulan;
@Caption(value="Hari Ke Dlm Minggu") @Caption(value = "Hari Ke Dlm Minggu")
private Byte hariKeDlmMinggu; private Byte hariKeDlmMinggu;
@Caption(value="Hari Ke Dlm Tahun") @Caption(value = "Hari Ke Dlm Tahun")
private short hariKeDlmTahun; private short hariKeDlmTahun;
@Caption(value="Object History Login D") @Caption(value = "Object History Login D")
private HistoryLoginModulAplikasiVO historyLoginD; private HistoryLoginModulAplikasiVO historyLoginD;
@Caption(value="Object History Login I") @Caption(value = "Object History Login I")
private HistoryLoginModulAplikasiVO historyLoginI; private HistoryLoginModulAplikasiVO historyLoginI;
@Caption(value="Object History Login S") @Caption(value = "Object History Login S")
private HistoryLoginModulAplikasiVO historyLoginS; private HistoryLoginModulAplikasiVO historyLoginS;
@Caption(value="Object History Login U") @Caption(value = "Object History Login U")
private HistoryLoginModulAplikasiVO historyLoginU; private HistoryLoginModulAplikasiVO historyLoginU;
@Caption(value="Kode Tanggal") @Caption(value = "Kode Tanggal")
private Integer kdTanggal; private Integer kdTanggal;
@Caption(value="Nama Bulan") @Caption(value = "Nama Bulan")
private String namaBulan; private String namaBulan;
@Caption(value="Nama Hari") @Caption(value = "Nama Hari")
private String namaHari; private String namaHari;
@Caption(value="QTanggal") @Caption(value = "QTanggal")
private Integer qTanggal; private Integer qTanggal;
@Caption(value="Semester Ke Dlm Tahun") @Caption(value = "Semester Ke Dlm Tahun")
private Byte semesterKeDlmTahun; private Byte semesterKeDlmTahun;
@Caption(value="Tahun Fiscal") @Caption(value = "Tahun Fiscal")
private short tahunFiscal; private short tahunFiscal;
@Caption(value="Tahun Kalender") @Caption(value = "Tahun Kalender")
private short tahunKalender; private short tahunKalender;
@Caption(value="Tanggal") @Caption(value = "Tanggal")
private Date tanggal; private Date tanggal;
@Caption(value="Triwulan Ke Dlm Tahun") @Caption(value = "Triwulan Ke Dlm Tahun")
private Byte triwulanKeDlmTahun; private Byte triwulanKeDlmTahun;
public String getBulanFiscal() {
return bulanFiscal;
}
public void setBulanFiscal(String bulanFiscal) {
this.bulanFiscal = bulanFiscal;
}
public Byte getBulanKeDlmTahun() {
return bulanKeDlmTahun;
}
public void setBulanKeDlmTahun(Byte bulanKeDlmTahun) {
this.bulanKeDlmTahun = bulanKeDlmTahun;
}
public Byte getHariKeDlmBulan() {
return hariKeDlmBulan;
}
public void setHariKeDlmBulan(Byte hariKeDlmBulan) {
this.hariKeDlmBulan = hariKeDlmBulan;
}
public Byte getHariKeDlmMinggu() {
return hariKeDlmMinggu;
}
public void setHariKeDlmMinggu(Byte hariKeDlmMinggu) {
this.hariKeDlmMinggu = hariKeDlmMinggu;
}
public short getHariKeDlmTahun() {
return hariKeDlmTahun;
}
public void setHariKeDlmTahun(short hariKeDlmTahun) {
this.hariKeDlmTahun = hariKeDlmTahun;
}
public HistoryLoginModulAplikasiVO getHistoryLoginD() {
return historyLoginD;
}
public void setHistoryLoginD(HistoryLoginModulAplikasiVO historyLoginD) {
this.historyLoginD = historyLoginD;
}
public HistoryLoginModulAplikasiVO getHistoryLoginI() {
return historyLoginI;
}
public void setHistoryLoginI(HistoryLoginModulAplikasiVO historyLoginI) {
this.historyLoginI = historyLoginI;
}
public HistoryLoginModulAplikasiVO getHistoryLoginS() {
return historyLoginS;
}
public void setHistoryLoginS(HistoryLoginModulAplikasiVO historyLoginS) {
this.historyLoginS = historyLoginS;
}
public HistoryLoginModulAplikasiVO getHistoryLoginU() {
return historyLoginU;
}
public void setHistoryLoginU(HistoryLoginModulAplikasiVO historyLoginU) {
this.historyLoginU = historyLoginU;
}
public Integer getKdTanggal() {
return kdTanggal;
}
public void setKdTanggal(Integer kdTanggal) {
this.kdTanggal = kdTanggal;
}
public String getNamaBulan() {
return namaBulan;
}
public void setNamaBulan(String namaBulan) {
this.namaBulan = namaBulan;
}
public String getNamaHari() {
return namaHari;
}
public void setNamaHari(String namaHari) {
this.namaHari = namaHari;
}
public Integer getqTanggal() {
return qTanggal;
}
public void setqTanggal(Integer qTanggal) {
this.qTanggal = qTanggal;
}
public Byte getSemesterKeDlmTahun() {
return semesterKeDlmTahun;
}
public void setSemesterKeDlmTahun(Byte semesterKeDlmTahun) {
this.semesterKeDlmTahun = semesterKeDlmTahun;
}
public short getTahunFiscal() {
return tahunFiscal;
}
public void setTahunFiscal(short tahunFiscal) {
this.tahunFiscal = tahunFiscal;
}
public short getTahunKalender() {
return tahunKalender;
}
public void setTahunKalender(short tahunKalender) {
this.tahunKalender = tahunKalender;
}
public Date getTanggal() {
return tanggal;
}
public void setTanggal(Date tanggal) {
this.tanggal = tanggal;
}
public Byte getTriwulanKeDlmTahun() {
return triwulanKeDlmTahun;
}
public void setTriwulanKeDlmTahun(Byte triwulanKeDlmTahun) {
this.triwulanKeDlmTahun = triwulanKeDlmTahun;
}
} }

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

@ -1,56 +1,26 @@
package com.jasamedika.medifirst2000.vo; package com.jasamedika.medifirst2000.vo;
import java.io.Serializable;
import javax.persistence.*;
import java.util.Date;
import org.hibernate.validator.constraints.NotEmpty;
import com.jasamedika.medifirst2000.base.vo.BaseMasterVO; import com.jasamedika.medifirst2000.base.vo.BaseMasterVO;
import javax.validation.constraints.NotNull; import lombok.Getter;
import org.hibernate.validator.constraints.Length; import lombok.Setter;
import org.hibernate.validator.internal.util.logging.Messages;
import com.fasterxml.jackson.annotation.JsonManagedReference;
import com.jasamedika.medifirst2000.base.vo.BaseMasterVO;
import com.jasamedika.medifirst2000.helper.Caption;
/** /**
* class MapKalenderToHariLibur * class MapKalenderToHariLibur
* *
* @author Generator * @author Generator
*/ */
//@Entity @Getter
//@Table(name = "MapKalenderToHariLibur_M") @Setter
public class MapKalenderToHariLiburVO extends BaseMasterVO { public class MapKalenderToHariLiburVO extends BaseMasterVO {
private HariVO hariLibur;
public void setHariLibur(HariVO hariLibur) { private HariLiburVO hariLibur;
this.hariLibur = hariLibur;
}
@Column(name = "KdHariLibur", nullable = false )
public HariVO getHariLibur(){
return this.hariLibur;
}
@Column(name = "ObjectHariLiburFk", insertable=false,updatable=false)
private Integer hariLiburId; private Integer hariLiburId;
private KalenderVO tanggal;
private KalenderVO tanggal;
public KalenderVO getTanggal() {
return tanggal;
}
public void setTanggal(KalenderVO tanggal) {
this.tanggal = tanggal;
}
@Column(name = "ObjectTanggalFk", insertable=false,updatable=false)
private Integer tanggalId; private Integer tanggalId;
private Boolean isCutiBersamaDitangguhkan;
} }

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

View File

@ -278,4 +278,6 @@ public class RekamDataPegawaiVO extends BaseTransactionVO {
private Boolean isMenanggung; private Boolean isMenanggung;
private List<MapPegawaiJabatanToUnitKerjaVO> mappingJabatan; private List<MapPegawaiJabatanToUnitKerjaVO> mappingJabatan;
private String nim;
} }

View File

@ -1,28 +1,5 @@
package com.jasamedika.medifirst2000.controller; package com.jasamedika.medifirst2000.controller;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.orm.jpa.JpaSystemException;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.jasamedika.medifirst2000.constants.Constants; import com.jasamedika.medifirst2000.constants.Constants;
import com.jasamedika.medifirst2000.constants.Master; import com.jasamedika.medifirst2000.constants.Master;
import com.jasamedika.medifirst2000.constants.MessageResource; import com.jasamedika.medifirst2000.constants.MessageResource;
@ -32,6 +9,22 @@ import com.jasamedika.medifirst2000.exception.ServiceVOException;
import com.jasamedika.medifirst2000.service.MapPegawaiJabatanToUnitKerjaService; import com.jasamedika.medifirst2000.service.MapPegawaiJabatanToUnitKerjaService;
import com.jasamedika.medifirst2000.util.rest.RestUtil; import com.jasamedika.medifirst2000.util.rest.RestUtil;
import com.jasamedika.medifirst2000.vo.MapPegawaiJabatanToUnitKerjaVO; import com.jasamedika.medifirst2000.vo.MapPegawaiJabatanToUnitKerjaVO;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.orm.jpa.JpaSystemException;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@RestController @RestController
@RequestMapping("/map-pegawai-jabatan-unitkerja") @RequestMapping("/map-pegawai-jabatan-unitkerja")
@ -369,4 +362,10 @@ public class MapPegawaiJabatanToUnitKerjaController extends LocaleController<Map
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage); return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
} }
} }
@RequestMapping(value = "/logbook-title/{idPegawai}", method = RequestMethod.GET)
public ResponseEntity<String> logbookTitle(@PathVariable("idPegawai") Integer idPegawai) {
String jenisLogbook = mapPegawaiJabatanToUnitKerjaService.getJenisLogbook(idPegawai);
return RestUtil.getJsonResponse(jenisLogbook, HttpStatus.OK);
}
} }

View File

@ -7,6 +7,7 @@ import com.jasamedika.medifirst2000.controller.base.LocaleController;
import com.jasamedika.medifirst2000.core.web.WebConstants; import com.jasamedika.medifirst2000.core.web.WebConstants;
import com.jasamedika.medifirst2000.dao.JenisGajiDao; import com.jasamedika.medifirst2000.dao.JenisGajiDao;
import com.jasamedika.medifirst2000.dao.MapUraianTugasToRincianKegiatanDao; import com.jasamedika.medifirst2000.dao.MapUraianTugasToRincianKegiatanDao;
import com.jasamedika.medifirst2000.dto.DataCutiDto;
import com.jasamedika.medifirst2000.entities.JenisGaji; import com.jasamedika.medifirst2000.entities.JenisGaji;
import com.jasamedika.medifirst2000.entities.MapUraianTugasToRincianKegiatan; import com.jasamedika.medifirst2000.entities.MapUraianTugasToRincianKegiatan;
import com.jasamedika.medifirst2000.entities.Pegawai; import com.jasamedika.medifirst2000.entities.Pegawai;
@ -327,6 +328,9 @@ public class SdmController extends LocaleController<AkunVO> {
@Autowired @Autowired
private LogAccService logAccService; private LogAccService logAccService;
@Autowired
private JatahCutiDanIzinService jatahCutiDanIzinService;
@RequestMapping(value = "/save-custom-uraian-kerja", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) @RequestMapping(value = "/save-custom-uraian-kerja", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Map<String, Object>> saveBerkasLamaran(@Valid @RequestBody CustomIndexKerjaVO vo, public ResponseEntity<Map<String, Object>> saveBerkasLamaran(@Valid @RequestBody CustomIndexKerjaVO vo,
HttpServletRequest request) { HttpServletRequest request) {
@ -3189,20 +3193,16 @@ public class SdmController extends LocaleController<AkunVO> {
} }
@RequestMapping(value = "/get-data-cuti", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) @RequestMapping(value = "/get-data-cuti", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Map<String, Object>> getDataCuti(@RequestParam(value = "pegawaiId") Integer pegawaiId, public ResponseEntity<DataCutiDto> getDataCuti(@RequestParam(value = "pegawaiId") Integer pegawaiId,
@RequestParam(value = "year", required = false) String year, @RequestParam(value = "year", required = false) String year,
@RequestParam(value = "statusPegawaiId") Integer statusPegawaiId, @RequestParam(value = "statusPegawaiId") Integer statusPegawaiId,
@RequestParam(value = "kategoriPegawaiId", required = false) Integer kategoriPegawaiId, @RequestParam(value = "kategoriPegawaiId", required = false) Integer kategoriPegawaiId,
HttpServletRequest request) { HttpServletRequest request) {
try { try {
Map<String, Object> result = servicePermohonanStatus.getDataCuti(pegawaiId, year, statusPegawaiId); DataCutiDto dto = jatahCutiDanIzinService.getDataCuti(pegawaiId, year, statusPegawaiId);
if (null != result) { mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, getMessage(MessageResource.LABEL_SUCCESS, request));
getMessage(MessageResource.LABEL_SUCCESS, request)); return RestUtil.getJsonResponse(dto, HttpStatus.OK, mapHeaderMessage);
return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage);
} else {
return RestUtil.getJsonResponse(null, HttpStatus.NOT_FOUND, mapHeaderMessage);
}
} catch (ServiceVOException e) { } catch (ServiceVOException e) {
LOGGER.error("Got ServiceVOException {} when getDataCuti", e.getMessage()); LOGGER.error("Got ServiceVOException {} when getDataCuti", e.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, e.getMessage()); addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, e.getMessage());
@ -3215,19 +3215,15 @@ public class SdmController extends LocaleController<AkunVO> {
} }
@RequestMapping(value = "/perbarui-data-cuti", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) @RequestMapping(value = "/perbarui-data-cuti", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Map<String, Object>> perbaruiDataCuti(HttpServletRequest request, public ResponseEntity<DataCutiDto> perbaruiDataCuti(HttpServletRequest request,
@RequestParam(value = "pegawaiId") Integer idPegawai, @RequestParam(value = "pegawaiId") Integer idPegawai,
@RequestParam(value = "year", required = false) String year, @RequestParam(value = "year", required = false) String year,
@RequestParam(value = "statusPegawaiId") Integer idStatusPegawai) { @RequestParam(value = "statusPegawaiId") Integer idStatusPegawai) {
try { try {
Map<String, Object> result = servicePermohonanStatus.perbaruiDataCuti(idPegawai, idStatusPegawai); DataCutiDto dto = servicePermohonanStatus.perbaruiDataCuti(idPegawai, idStatusPegawai);
if (null != result) { mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS, getMessage(MessageResource.LABEL_UPDATE_DATA_CUTI, request));
getMessage(MessageResource.LABEL_UPDATE_DATA_CUTI, request)); return RestUtil.getJsonResponse(dto, HttpStatus.OK, mapHeaderMessage);
return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage);
} else {
return RestUtil.getJsonResponse(null, HttpStatus.NOT_FOUND, mapHeaderMessage);
}
} catch (ServiceVOException e) { } catch (ServiceVOException e) {
LOGGER.error("Got ServiceVOException {} when perbaruiDataCuti", e.getMessage()); LOGGER.error("Got ServiceVOException {} when perbaruiDataCuti", e.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, e.getMessage()); addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, e.getMessage());