Compare commits

..

No commits in common. "master" and "ade/monitoring/check-health3" have entirely different histories.

16 changed files with 563 additions and 3618 deletions

View File

@ -15,7 +15,7 @@
</context-param> </context-param>
<context-param> <context-param>
<param-name>spring.profiles.default</param-name> <param-name>spring.profiles.default</param-name>
<param-value>bridging</param-value> <param-value>localhost</param-value>
</context-param> </context-param>
<listener> <listener>

View File

@ -170,7 +170,6 @@ public final class Master {
public static final Integer KELAS_SATU = 3; public static final Integer KELAS_SATU = 3;
public static final Integer[] KELAS_SATU_VIP = { 3, 5, 8, 21 }; public static final Integer[] KELAS_SATU_VIP = { 3, 5, 8, 21 };
public static final Integer NON_KELAS = 6; public static final Integer NON_KELAS = 6;
public static final Integer NON_KELAS_EKSEKUTIF = 22;
public static final Integer[] REF_KELAS_KAMAR = { 1, 2, 3, 5, 6, 8 }; public static final Integer[] REF_KELAS_KAMAR = { 1, 2, 3, 5, 6, 8 };
} }
@ -277,7 +276,6 @@ public final class Master {
public static final class MonitoringAbsensi { public static final class MonitoringAbsensi {
public static final Integer BATAS_MULTI_FINGERPRINT = 10; // 10_Menit public static final Integer BATAS_MULTI_FINGERPRINT = 10; // 10_Menit
public static final Long BATAS_TERLAMBAT = 15L; // 15_Menit public static final Long BATAS_TERLAMBAT = 15L; // 15_Menit
public static final Long BATAS_TERLAMBAT_01062026 = 0L; // 15_Menit
} }
public static final class NilaiKelompokJabatan { public static final class NilaiKelompokJabatan {
@ -384,16 +382,14 @@ public final class Master {
public static final float FACTOR_RATE_NONSHIFT = 8; public static final float FACTOR_RATE_NONSHIFT = 8;
public static final Integer[] HOLIDAY = { 8, 14, 15, 40 }; // sudah di cek tidak ada penambahan master baru public static final Integer[] HOLIDAY = { 8, 14, 15, 40 }; // sudah di cek tidak ada penambahan master baru
public static final Integer[] HOLIDAY_INCLUDED = { 7, 13, 67, 69, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83 }; // sudah di cek tidak ada penambahan master baru public static final Integer[] HOLIDAY_INCLUDED = { 7, 13, 67, 69, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83 }; // sudah di cek tidak ada penambahan master baru
public static final Integer NONSHIFT_J = 255; // sudah di update dengan penambahan master baru public static final Integer NONSHIFT_J = 177; // sudah di update dengan penambahan master baru
public static final Integer NONSHIFT_SK = 259; // sudah di update dengan penambahan master baru public static final Integer NONSHIFT_SK = 175; // sudah di update dengan penambahan master baru
public static final Integer NONSHIFT_J_RAMADHAN = 181; // sudah di update dengan penambahan master baru public static final Integer NONSHIFT_PLUS_J = 178; // sudah di update dengan penambahan master baru
public static final Integer NONSHIFT_SK_RAMADHAN = 179; // sudah di update dengan penambahan master baru public static final Integer NONSHIFT_PLUS_SK = 176; // sudah di update dengan penambahan master baru
public static final Integer NONSHIFT_PLUS_J = 260; // sudah di update dengan penambahan master baru
public static final Integer NONSHIFT_PLUS_SK = 256; // sudah di update dengan penambahan master baru
public static final String OPERATOR_FACTOR_RATE_NONSHIFT = "x"; public static final String OPERATOR_FACTOR_RATE_NONSHIFT = "x";
public static final Integer[] PSM = { 31, 47, 106, 203, 204 }; // id shift kerja -> ada penambahan 203, 204 public static final Integer[] PSM = { 31, 47, 106, 203, 204 }; // id shift kerja -> ada penambahan 203, 204
public static final Integer RESET = 0; public static final Integer RESET = 0;
public static final Integer[] TUJUH_BELAS_JAM_SHIFT = { 22, 24, 31, 33, 46, 47, 50, 58, 64, 65, 66, 86, 91, 106, 114, 115, 203, 204, 216, 313, 314, 315, 316}; // id shift kerja -> ada penambahan 203, 204 public static final Integer[] TUJUH_BELAS_JAM_SHIFT = { 22, 24, 31, 33, 46, 47, 50, 58, 64, 65, 66, 86, 91, 106, 114, 115, 203, 204}; // id shift kerja -> ada penambahan 203, 204
} }
public static final class StatusPegawai { public static final class StatusPegawai {
@ -465,10 +461,6 @@ public final class Master {
public static final Integer KSM_OBGYN = 59; public static final Integer KSM_OBGYN = 59;
} }
public static final class AppDefaultVariabel {
public static final Integer RECURSIVE_BATCH = 8000;
}
public static final class User { public static final class User {
public static final Integer MOBILE_JKN = 3; public static final Integer MOBILE_JKN = 3;
} }

View File

@ -257,16 +257,6 @@ public interface MonitoringAbsenDao extends PagingAndSortingRepository<Monitorin
Map<String, Object> findShiftPMDetail(@Param("idKelompokShift") Integer idKelompokShift, Map<String, Object> findShiftPMDetail(@Param("idKelompokShift") Integer idKelompokShift,
@Param("namaShift") String namaShift, @Param("kodeExternal") String kodeExternal); @Param("namaShift") String namaShift, @Param("kodeExternal") String kodeExternal);
@Query("select new map(shiftKerja.jamMasuk as jamMasuk, " + "shiftKerja.jamPulang as jamPulang, "
+ "shiftKerja.jamBreakAkhir as jamBreakAkhir, " + "shiftKerja.jamBreakAwal as jamBreakAwal, "
+ "shiftKerja.factorRate as factorRate, " + "shiftKerja.operatorFactorRate as operatorFactorRate, "
+ "shiftKerja.komponenIndexId as komponenIndexId, " + "shiftKerja.waktuIstirahat as waktuIstirahat) "
+ "from ShiftKerja shiftKerja " + "left join shiftKerja.kelompokShift kelompokShift "
+ "left join shiftKerja.komponenIndex komponenIndex " + "where kelompokShift.id = :idKelompokShift "
+ "and shiftKerja.namaShift = :namaShift " + "and shiftKerja.kodeExternal = :kodeExternal " + "and shiftKerja.statusEnabled is true")
Map<String, Object> findShiftPMDetailWithStatusEnableTrue(@Param("idKelompokShift") Integer idKelompokShift,
@Param("namaShift") String namaShift, @Param("kodeExternal") String kodeExternal);
@Query("select distinct new map(pegawaiHistoriRekapIndex.nilaiIndex as nilaiIndex, " @Query("select distinct new map(pegawaiHistoriRekapIndex.nilaiIndex as nilaiIndex, "
+ "pegawaiHistoriRekapIndex.nilaiIndexTotal as nilaiIndexTotal, " + "pegawaiHistoriRekapIndex.nilaiIndexTotal as nilaiIndexTotal, "
+ "komponenIndex.komponenIndex as namaKomponenIndex, " + "komponenIndex.id as idKomponenIndex, " + "komponenIndex.komponenIndex as namaKomponenIndex, " + "komponenIndex.id as idKomponenIndex, "

View File

@ -197,7 +197,7 @@ public interface PelayananPasienDao extends JpaRepository<PelayananPasien, Strin
+ "when pd.kelompokPasienId = 5 then 6 " + "when pd.kelompokPasienId = 6 then 7 " + "when pd.kelompokPasienId = 5 then 6 " + "when pd.kelompokPasienId = 6 then 7 "
+ "when pd.kelompokPasienId = 3 then 8 " + "when pd.kelompokPasienId = 7 then 9 " + "when pd.kelompokPasienId = 3 then 8 " + "when pd.kelompokPasienId = 7 then 9 "
+ "else 10 end as sortIdKelompokPasien," + "kp.kelompokPasien as kelompokPasien," + "pp.kelasId as idKelas," + "else 10 end as sortIdKelompokPasien," + "kp.kelompokPasien as kelompokPasien," + "pp.kelasId as idKelas,"
+ "case when (pp.kelasId = 6 or pp.kelasId = 22) then 1 " + "when pp.kelasId = 1 then 2 " + "when pp.kelasId = 2 then 3 " + "case when pp.kelasId = 6 then 1 " + "when pp.kelasId = 1 then 2 " + "when pp.kelasId = 2 then 3 "
+ "when pp.kelasId = 3 then 4 " + "when pp.kelasId = 8 then 5 " + "when pp.kelasId = 5 then 6 " + "when pp.kelasId = 3 then 4 " + "when pp.kelasId = 8 then 5 " + "when pp.kelasId = 5 then 6 "
+ "when pp.kelasId = 21 then 7 " + "else 8 end as sortIdKelas," + "kls.namaKelas as namaKelas," + "when pp.kelasId = 21 then 7 " + "else 8 end as sortIdKelas," + "kls.namaKelas as namaKelas,"
+ "ppp.noRec as idPelayananPasienPetugas," + "ppp.ObjectJenisPetugasPeId as idJenisPelaksana," + "ppp.noRec as idPelayananPasienPetugas," + "ppp.ObjectJenisPetugasPeId as idJenisPelaksana,"
@ -258,7 +258,7 @@ public interface PelayananPasienDao extends JpaRepository<PelayananPasien, Strin
+ "when pd.kelompokPasienId = 1 then 5 " + "when pd.kelompokPasienId = 5 then 6 " + "when pd.kelompokPasienId = 1 then 5 " + "when pd.kelompokPasienId = 5 then 6 "
+ "when pd.kelompokPasienId = 6 then 7 " + "when pd.kelompokPasienId = 3 then 8 " + "when pd.kelompokPasienId = 6 then 7 " + "when pd.kelompokPasienId = 3 then 8 "
+ "when pd.kelompokPasienId = 7 then 9 " + "else 10 end," + "kp.kelompokPasien," + "pp.kelasId," + "when pd.kelompokPasienId = 7 then 9 " + "else 10 end," + "kp.kelompokPasien," + "pp.kelasId,"
+ "case when (pp.kelasId = 6 or pp.kelasId = 22) then 1 " + "when pp.kelasId = 1 then 2 " + "when pp.kelasId = 2 then 3 " + "case when pp.kelasId = 6 then 1 " + "when pp.kelasId = 1 then 2 " + "when pp.kelasId = 2 then 3 "
+ "when pp.kelasId = 3 then 4 " + "when pp.kelasId = 8 then 5 " + "when pp.kelasId = 5 then 6 " + "when pp.kelasId = 3 then 4 " + "when pp.kelasId = 8 then 5 " + "when pp.kelasId = 5 then 6 "
+ "when pp.kelasId = 21 then 7 " + "else 8 end," + "kls.namaKelas," + "ppp.noRec," + "when pp.kelasId = 21 then 7 " + "else 8 end," + "kls.namaKelas," + "ppp.noRec,"
+ "ppp.ObjectJenisPetugasPeId,ppp.ObjectPegawaiId," + "ppp.ObjectJenisPetugasPeId,ppp.ObjectPegawaiId,"
@ -273,7 +273,7 @@ public interface PelayananPasienDao extends JpaRepository<PelayananPasien, Strin
+ "when pd.kelompokPasienId = 9 then 4 " + "when pd.kelompokPasienId = 1 then 5 " + "when pd.kelompokPasienId = 9 then 4 " + "when pd.kelompokPasienId = 1 then 5 "
+ "when pd.kelompokPasienId = 5 then 6 " + "when pd.kelompokPasienId = 6 then 7 " + "when pd.kelompokPasienId = 5 then 6 " + "when pd.kelompokPasienId = 6 then 7 "
+ "when pd.kelompokPasienId = 3 then 8 " + "when pd.kelompokPasienId = 7 then 9 " + "else 10 end asc, " + "when pd.kelompokPasienId = 3 then 8 " + "when pd.kelompokPasienId = 7 then 9 " + "else 10 end asc, "
+ "pp.tglPelayanan, " + "pp.hargaJual, " + "case when (pp.kelasId = 6 or pp.kelasId = 22) then 1 " + "pp.tglPelayanan, " + "pp.hargaJual, " + "case when pp.kelasId = 6 then 1 "
+ "when pp.kelasId = 1 then 2 " + "when pp.kelasId = 2 then 3 " + "when pp.kelasId = 3 then 4 " + "when pp.kelasId = 1 then 2 " + "when pp.kelasId = 2 then 3 " + "when pp.kelasId = 3 then 4 "
+ "when pp.kelasId = 8 then 5 " + "when pp.kelasId = 5 then 6 " + "when pp.kelasId = 21 then 7 " + "when pp.kelasId = 8 then 5 " + "when pp.kelasId = 5 then 6 " + "when pp.kelasId = 21 then 7 "
+ "else 8 end asc," + "pr.namaProduk"; + "else 8 end asc," + "pr.namaProduk";
@ -301,7 +301,7 @@ public interface PelayananPasienDao extends JpaRepository<PelayananPasien, Strin
+ "order by case when kp.id = 2 then 1 when kp.id = 4 then 2 when kp.id = 8 then 3 when kp.id = 9 then 4 " + "order by case when kp.id = 2 then 1 when kp.id = 4 then 2 when kp.id = 8 then 3 when kp.id = 9 then 4 "
+ "when kp.id = 1 then 5 when kp.id = 5 then 6 when kp.id = 6 then 7 when kp.id = 3 then 8 when kp.id = 7 then 9 else 10 end asc, " + "when kp.id = 1 then 5 when kp.id = 5 then 6 when kp.id = 6 then 7 when kp.id = 3 then 8 when kp.id = 7 then 9 else 10 end asc, "
+ "pp.tglPelayanan, " + "pp.hargaJual, " + "pp.tglPelayanan, " + "pp.hargaJual, "
+ "case when (kls.id = 6 or kls.id = 22) then 1 when kls.id = 1 then 2 when kls.id = 2 then 3 when kls.id =3 then 4 when kls.id = 8 then 5 when kls.id = 5 then 6 when kls.id = 21 then 7 else 8 end asc," + "case when kls.id = 6 then 1 when kls.id = 1 then 2 when kls.id = 2 then 3 when kls.id =3 then 4 when kls.id = 8 then 5 when kls.id = 5 then 6 when kls.id = 21 then 7 else 8 end asc,"
+ "pr.namaProduk") + "pr.namaProduk")
List<Map<String, Object>> findPelayananPasienByPetugasAndPelayananPasien(@Param("pegawaiId") Integer idPegawai, List<Map<String, Object>> findPelayananPasienByPetugasAndPelayananPasien(@Param("pegawaiId") Integer idPegawai,
@Param("norecs") List<String> norecs); @Param("norecs") List<String> norecs);

View File

@ -320,7 +320,7 @@ public class JatahCutiDanIzinServiceImpl implements JatahCutiDanIzinService {
cutiTerpakaiB = cutiTerpakaiN; cutiTerpakaiB = cutiTerpakaiN;
} else { } else {
sisaCutiB = 0 + getDataIntervensiCutiB; sisaCutiB = 0;
cutiTerpakaiB = dataCutiB; cutiTerpakaiB = dataCutiB;
} }
cutiIzinBuilder.sisaCutiB2(sisaCutiB2); cutiIzinBuilder.sisaCutiB2(sisaCutiB2);

View File

@ -333,25 +333,24 @@ public class LogbookKinerjaDetailServiceImpl extends BaseVoServiceImpl implement
logbookKinerjaDetailDao.save(catatanKinerja); logbookKinerjaDetailDao.save(catatanKinerja);
} }
{ {
Optional<LogbookKinerja> byIdLogbook = logbookKinerjaDao.findByNoRec(catatanKinerja.getLogbookKinerjaId()); Optional<LogbookKinerja> byIdLogbook = logbookKinerjaDao
.findByNoRec(catatanKinerja.getLogbookKinerjaId());
byIdLogbook.ifPresent(logbookKinerja -> { byIdLogbook.ifPresent(logbookKinerja -> {
if (Arrays.asList(PERCENTAGE).contains(logbookKinerja.getIndikatorKinerja().getSatuanIndikatorId())) { if (Arrays.asList(PERCENTAGE)
List<Map<String, Object>> listCatatan = logbookKinerjaDetailDao.findAvgCapaianByKontrak(logbookKinerja.getNoRec(), Arrays.asList(PERCENTAGE)); .contains(logbookKinerja.getIndikatorKinerja().getSatuanIndikatorId())) {
Optional<Map<String, Object>> catatan = listCatatan.stream().filter(c -> logbookKinerja.getNoRec().equals(c.get("logbookId"))).findFirst(); List<Map<String, Object>> listCatatan = logbookKinerjaDetailDao
if (catatan.isPresent()) { .findAvgCapaianByKontrak(logbookKinerja.getNoRec(), Arrays.asList(PERCENTAGE));
logbookKinerja.setCapaian(Double.parseDouble(catatan.get().get("avgCapaian").toString())); Optional<Map<String, Object>> catatan = listCatatan.stream()
.filter(c -> logbookKinerja.getNoRec().equals(c.get("logbookId"))).findFirst();
catatan.ifPresent(
c -> logbookKinerja.setCapaian(Double.parseDouble(c.get("avgCapaian").toString())));
} else { } else {
logbookKinerja.setCapaian(0.0); List<Map<String, Object>> listCatatan = logbookKinerjaDetailDao
} .findSumCapaianByKontrak(logbookKinerja.getNoRec(), Arrays.asList(PERCENTAGE));
Optional<Map<String, Object>> catatan = listCatatan.stream()
} else { .filter(c -> logbookKinerja.getNoRec().equals(c.get("logbookId"))).findFirst();
List<Map<String, Object>> listCatatan = logbookKinerjaDetailDao.findSumCapaianByKontrak(logbookKinerja.getNoRec(), Arrays.asList(PERCENTAGE)); catatan.ifPresent(
Optional<Map<String, Object>> catatan = listCatatan.stream().filter(c -> logbookKinerja.getNoRec().equals(c.get("logbookId"))).findFirst(); c -> logbookKinerja.setCapaian(Double.parseDouble(c.get("sumCapaian").toString())));
if (catatan.isPresent()) {
logbookKinerja.setCapaian(Double.parseDouble(catatan.get().get("sumCapaian").toString()));
} else {
logbookKinerja.setCapaian(0.0);
}
} }
logbookKinerjaDao.save(logbookKinerja); logbookKinerjaDao.save(logbookKinerja);
}); });

View File

@ -264,23 +264,19 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
return result; return result;
} }
public Map<String, Object> jamEfektifTunggal(Date jadwalPulang, Date jadwalMasuk, long waktuIstirahat, String shift, float factorRate) { public Map<String, Object> jamEfektifTunggal(Date jadwalPulang, Date jadwalMasuk, long waktuIstirahat, String shift) {
Map<String, Object> result = new HashMap<>(); Map<String, Object> result = new HashMap<>();
String jam_efektif; String jam_efektif;
long minutes; long minutes;
Long minutesAbsen = (long) 0; Long minutesAbsen = (long) 0;
Long minutesJadwal = (long) 0; Long minutesJadwal = (long) 0;
if (CommonUtil.isNotNullOrEmpty(factorRate)) {
minutesJadwal = (long) (factorRate * 60);
}else{
if (CommonUtil.isNotNullOrEmpty(jadwalMasuk) && CommonUtil.isNotNullOrEmpty(jadwalPulang)) { if (CommonUtil.isNotNullOrEmpty(jadwalMasuk) && CommonUtil.isNotNullOrEmpty(jadwalPulang)) {
minutesJadwal = reduceTime(jadwalPulang, jadwalMasuk); minutesJadwal = reduceTime(jadwalPulang, jadwalMasuk);
if (minutesJadwal > 30) { if (minutesJadwal > 30) {
minutesJadwal = minutesJadwal - waktuIstirahat; // 30_adalah_waktu_istirahat minutesJadwal = minutesJadwal - waktuIstirahat; // 30_adalah_waktu_istirahat
} }
} }
}
minutes = minutesJadwal / 2; minutes = minutesJadwal / 2;
long menit = minutes % 60;// menit long menit = minutes % 60;// menit
@ -512,16 +508,9 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
if (((Integer) jamEfektif.get("hariKerja")) != 0) { if (((Integer) jamEfektif.get("hariKerja")) != 0) {
harikerja += (Integer) jamEfektif.get("hariKerja"); harikerja += (Integer) jamEfektif.get("hariKerja");
kehadiran.put("pulangAwal", reduceTime(jadwalPulang, absensiDate)); kehadiran.put("pulangAwal", reduceTime(jadwalPulang, absensiDate));
if (terlambat > 15) {
if((absensiMasuk.before(new Date(1780272000000L)) || absensiMasuk.equals(new Date(1780272000000L)))){
if (terlambat > Master.MonitoringAbsensi.BATAS_TERLAMBAT) {
kehadiran.put("terlambat", terlambat); kehadiran.put("terlambat", terlambat);
} }
}else{
if (terlambat > Master.MonitoringAbsensi.BATAS_TERLAMBAT_01062026) {
kehadiran.put("terlambat", terlambat);
}
}
} }
} }
} }
@ -943,7 +932,8 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
e.printStackTrace(); e.printStackTrace();
} }
if (CommonUtil.isNotNullOrEmpty(data.get("namaShift")) && ((data.get("namaShift").equals("Pagi Malam")) || (data.get("namaShift").equals("Pagi Malam 2")) || (data.get("namaShift").equals("Non Shift MOD")))) { if (CommonUtil.isNotNullOrEmpty(data.get("namaShift")) && ((data.get("namaShift").equals("Pagi Malam"))
|| (data.get("namaShift").equals("Non Shift MOD")))) {
try { try {
List<Map<String, Object>> listAbsensiPagi = new ArrayList<>(); List<Map<String, Object>> listAbsensiPagi = new ArrayList<>();
List<Map<String, Object>> listAbsensiPM = new ArrayList<>(); List<Map<String, Object>> listAbsensiPM = new ArrayList<>();
@ -951,7 +941,7 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
Map<String, Object> detailShiftPMPagi = new HashMap<>(); Map<String, Object> detailShiftPMPagi = new HashMap<>();
Map<String, Object> detailShiftPMMalam = new HashMap<>(); Map<String, Object> detailShiftPMMalam = new HashMap<>();
if ((data.get("namaShift").equals("Pagi Malam")) || (data.get("namaShift").equals("Pagi Malam 2"))) { if ((data.get("namaShift").equals("Pagi Malam"))) {
detailShiftPMPagi = monitoringAbsenDao.findShiftPMDetail( detailShiftPMPagi = monitoringAbsenDao.findShiftPMDetail(
Integer.parseInt(data.get("idKelompokShiftKerja").toString()), "Pagi", "P"); Integer.parseInt(data.get("idKelompokShiftKerja").toString()), "Pagi", "P");
detailShiftPMMalam = monitoringAbsenDao.findShiftPMDetail( detailShiftPMMalam = monitoringAbsenDao.findShiftPMDetail(
@ -1052,22 +1042,12 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
dataPM.put("absensiMasuk", sdf.format(time)); dataPM.put("absensiMasuk", sdf.format(time));
terlambat = reduceTime(absensiDate, jadwalMasuk); terlambat = reduceTime(absensiDate, jadwalMasuk);
absensiMasuk = absensiDate; absensiMasuk = absensiDate;
if((absensiMasuk.before(new Date(1780272000000L)) || absensiMasuk.equals(new Date(1780272000000L)))){
if (terlambat > Master.MonitoringAbsensi.BATAS_TERLAMBAT) { if (terlambat > Master.MonitoringAbsensi.BATAS_TERLAMBAT) {
jumlahCountTerlambat += 1; jumlahCountTerlambat += 1;
jumlahTerlambat += terlambat; jumlahTerlambat += terlambat;
dataPM.put("terlambat", terlambat); dataPM.put("terlambat", terlambat);
dataPM.put("telat", terlambat.toString()); dataPM.put("telat", terlambat.toString());
} }
}else{
if (terlambat > Master.MonitoringAbsensi.BATAS_TERLAMBAT_01062026) {
jumlahCountTerlambat += 1;
jumlahTerlambat += terlambat;
dataPM.put("terlambat", terlambat);
dataPM.put("telat", terlambat.toString());
}
}
} else if (count == index) { } else if (count == index) {
dataPM.put("absensiPulang", sdf.format(time)); dataPM.put("absensiPulang", sdf.format(time));
kelebihanJamKerja = reduceTime(absensiDate, jadwalPulang); kelebihanJamKerja = reduceTime(absensiDate, jadwalPulang);
@ -1214,23 +1194,12 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
data.put("absensiMasuk", sdf.format(time)); data.put("absensiMasuk", sdf.format(time));
terlambat = reduceTime(absensiDate, jadwalMasuk); terlambat = reduceTime(absensiDate, jadwalMasuk);
absensiMasuk = absensiDate; absensiMasuk = absensiDate;
if((absensiMasuk.before(new Date(1780272000000L)) || absensiMasuk.equals(new Date(1780272000000L)))){
if (terlambat > Master.MonitoringAbsensi.BATAS_TERLAMBAT) { if (terlambat > Master.MonitoringAbsensi.BATAS_TERLAMBAT) {
jumlahCountTerlambat += 1; jumlahCountTerlambat += 1;
jumlahTerlambat += terlambat; jumlahTerlambat += terlambat;
data.put("terlambat", terlambat); data.put("terlambat", terlambat);
data.put("telat", terlambat.toString()); data.put("telat", terlambat.toString());
} }
}else{
if (terlambat > Master.MonitoringAbsensi.BATAS_TERLAMBAT_01062026) {
jumlahCountTerlambat += 1;
jumlahTerlambat += terlambat;
data.put("terlambat", terlambat);
data.put("telat", terlambat.toString());
}
}
} else if (count == index) { } else if (count == index) {
data.put("absensiPulang", sdf.format(time)); data.put("absensiPulang", sdf.format(time));
kelebihanJamKerja = reduceTime(absensiDate, jadwalPulang); kelebihanJamKerja = reduceTime(absensiDate, jadwalPulang);
@ -1685,8 +1654,8 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
e.printStackTrace(); e.printStackTrace();
} }
if (CommonUtil.isNotNullOrEmpty(data.get("namaShift")) && ((data.get("namaShift").equals("Pagi Malam")) || (data.get("namaShift").equals("Pagi Malam 2")) || (data.get("namaShift").equals("Non Shift MOD")))) { if (CommonUtil.isNotNullOrEmpty(data.get("namaShift")) && ((data.get("namaShift").equals("Pagi Malam"))
//if (CommonUtil.isNotNullOrEmpty(data.get("namaShift")) && (data.get("namaShift").equals("Non Shift MOD"))) { || (data.get("namaShift").equals("Non Shift MOD")))) {
try { try {
List<Map<String, Object>> listAbsensiPagi = new ArrayList<>(); List<Map<String, Object>> listAbsensiPagi = new ArrayList<>();
List<Map<String, Object>> listAbsensiPM = new ArrayList<>(); List<Map<String, Object>> listAbsensiPM = new ArrayList<>();
@ -1694,18 +1663,11 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
Map<String, Object> detailShiftPMPagi = new HashMap<>(); Map<String, Object> detailShiftPMPagi = new HashMap<>();
Map<String, Object> detailShiftPMMalam = new HashMap<>(); Map<String, Object> detailShiftPMMalam = new HashMap<>();
if ((data.get("namaShift").equals("Pagi Malam")) || (data.get("namaShift").equals("Pagi Malam 2"))) { if ((data.get("namaShift").equals("Pagi Malam"))) {
if((tanggal.before(new Date(1780272000000L)) || tanggal.equals(new Date(1780272000000L)))){
detailShiftPMPagi = monitoringAbsenDao.findShiftPMDetail( detailShiftPMPagi = monitoringAbsenDao.findShiftPMDetail(
Integer.parseInt(data.get("idKelompokShiftKerja").toString()), "Pagi", "P"); Integer.parseInt(data.get("idKelompokShiftKerja").toString()), "Pagi", "P");
detailShiftPMMalam = monitoringAbsenDao.findShiftPMDetail( detailShiftPMMalam = monitoringAbsenDao.findShiftPMDetail(
Integer.parseInt(data.get("idKelompokShiftKerja").toString()), "Malam", "M"); Integer.parseInt(data.get("idKelompokShiftKerja").toString()), "Malam", "M");
}else{
detailShiftPMPagi = monitoringAbsenDao.findShiftPMDetailWithStatusEnableTrue(
Integer.parseInt(data.get("idKelompokShiftKerja").toString()), "Pagi 1", "P1");
detailShiftPMMalam = monitoringAbsenDao.findShiftPMDetailWithStatusEnableTrue(
Integer.parseInt(data.get("idKelompokShiftKerja").toString()), "Malam", "M");
}
} else if ((data.get("namaShift").equals("Non Shift MOD"))) { } else if ((data.get("namaShift").equals("Non Shift MOD"))) {
if (data.get("namaHari").equals("Senin") || data.get("namaHari").equals("Selasa") if (data.get("namaHari").equals("Senin") || data.get("namaHari").equals("Selasa")
|| data.get("namaHari").equals("Rabu") || data.get("namaHari").equals("Kamis")) { || data.get("namaHari").equals("Rabu") || data.get("namaHari").equals("Kamis")) {
@ -1816,22 +1778,12 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
} }
terlambat = reduceTime(absensiDate, jadwalMasuk); terlambat = reduceTime(absensiDate, jadwalMasuk);
absensiMasuk = absensiDate; absensiMasuk = absensiDate;
if((absensiMasuk.before(new Date(1780272000000L)) || absensiMasuk.equals(new Date(1780272000000L)))){
if (terlambat > Master.MonitoringAbsensi.BATAS_TERLAMBAT) { if (terlambat > Master.MonitoringAbsensi.BATAS_TERLAMBAT) {
jumlahCountTerlambat += 1; jumlahCountTerlambat += 1;
jumlahTerlambat += terlambat; jumlahTerlambat += terlambat;
dataPM.put("terlambat", terlambat); dataPM.put("terlambat", terlambat);
dataPM.put("telat", terlambat.toString()); dataPM.put("telat", terlambat.toString());
} }
}else{
if (terlambat > Master.MonitoringAbsensi.BATAS_TERLAMBAT_01062026) {
jumlahCountTerlambat += 1;
jumlahTerlambat += terlambat;
dataPM.put("terlambat", terlambat);
dataPM.put("telat", terlambat.toString());
}
}
} else if (count == index) { } else if (count == index) {
listTrNo.add(Integer.parseInt(temp.get("tr_no").toString())); listTrNo.add(Integer.parseInt(temp.get("tr_no").toString()));
dataPM.put("absensiPulang", sdf.format(time)); dataPM.put("absensiPulang", sdf.format(time));
@ -1854,11 +1806,11 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
Map<String, Object> jamEfektif = null; Map<String, Object> jamEfektif = null;
if (i == 1) { if (i == 1) {
jamEfektif = jamEfektif(absensiDate, absensiMasuk, jadwalPulang, jadwalMasuk, (Integer) data.get("idKelompokShiftKerja"), waktuIstirahatPagi, "Pagi"); //jamEfektif = jamEfektif(absensiDate, absensiMasuk, jadwalPulang, jadwalMasuk, (Integer) data.get("idKelompokShiftKerja"), waktuIstirahatPagi, "Pagi");
//jamEfektif = jamEfektifFactorRate((float) data.get("factorRate"), "Pagi"); jamEfektif = jamEfektifFactorRate((float) data.get("factorRate"), "Pagi");
} else if (i == 2) { } else if (i == 2) {
jamEfektif = jamEfektif(absensiDate, absensiMasuk, jadwalPulang, jadwalMasuk, (Integer) data.get("idKelompokShiftKerja"), waktuIstirahatMalam, "Malam"); //jamEfektif = jamEfektif(absensiDate, absensiMasuk, jadwalPulang, jadwalMasuk, (Integer) data.get("idKelompokShiftKerja"), waktuIstirahatMalam, "Malam");
//jamEfektif = jamEfektifFactorRate((float) data.get("factorRate"), "Malam"); jamEfektif = jamEfektifFactorRate((float) data.get("factorRate"), "Malam");
} }
if (CommonUtil.isNotNullOrEmpty(jamEfektif)) { if (CommonUtil.isNotNullOrEmpty(jamEfektif)) {
@ -1918,7 +1870,7 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
if (target.before(twoDaysAgo) || target.equals(twoDaysAgo)) { if (target.before(twoDaysAgo) || target.equals(twoDaysAgo)) {
absenTunggal++; absenTunggal++;
Map<String, Object> jamEfektif = new HashMap<>(); Map<String, Object> jamEfektif = new HashMap<>();
jamEfektif = jamEfektifTunggal(jadwalPulang, jadwalMasuk, (long) data.get("waktuIstirahat"), (String) data.get("namaShift"), (float) factorRateX); jamEfektif = jamEfektifTunggal(jadwalPulang, jadwalMasuk, (long) data.get("waktuIstirahat"), (String) data.get("namaShift"));
if (CommonUtil.isNotNullOrEmpty(jamEfektif)) { if (CommonUtil.isNotNullOrEmpty(jamEfektif)) {
jamEf = (String) jamEfektif.get("jam_efektif"); jamEf = (String) jamEfektif.get("jam_efektif");
@ -2067,17 +2019,17 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
} }
} }
dataPM.put("jamEfektif", jamEf); //xxx data.put("jamEfektif", jamEf);
dataPM.put("jam_efektif", jamEf); //xxx data.put("jam_efektif", jamEf);
dataPM.put("kelebihanJamKerja", kelebihanJamKerja); data.put("kelebihanJamKerja", kelebihanJamKerja);
rsMap.put("jumlahCountKelebihanJamKerja", jumlahCountKelebihanJamKerja); rsMap.put("jumlahCountKelebihanJamKerja", jumlahCountKelebihanJamKerja);
rsMap.put("jumlahKelebihanJamKerja", jumlahKelebihanJamKerja / 60); rsMap.put("jumlahKelebihanJamKerja", jumlahKelebihanJamKerja / 60);
rsMap.put("jumlahKelebihanMenitKerja", jumlahKelebihanJamKerja); rsMap.put("jumlahKelebihanMenitKerja", jumlahKelebihanJamKerja);
dataPM.put("jumlahTerlambat", jumlahTerlambat.toString()); //xxx data.put("jumlahTerlambat", jumlahTerlambat.toString());
dataPM.put("jumlahJamEfektif", jumlahJamEfektif.toString()); //xxx data.put("jumlahJamEfektif", jumlahJamEfektif.toString());
dataPM.put("jumlahPulangAwal", jumlahPulangAwal.toString()); //xxx data.put("jumlahPulangAwal", jumlahPulangAwal.toString());
dataPM.put("alasan", alasanCuti); //xxx data.put("alasan", alasanCuti);
listkehadiran.add(dataPM); listkehadiran.add(data);
} }
rsMap.put("jumlahKelebihanJamKerja", jumlahKelebihanJamKerja / 60); rsMap.put("jumlahKelebihanJamKerja", jumlahKelebihanJamKerja / 60);
rsMap.put("jumlahKelebihanMenitKerja", jumlahKelebihanJamKerja); rsMap.put("jumlahKelebihanMenitKerja", jumlahKelebihanJamKerja);
@ -2135,23 +2087,12 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
} }
terlambat = reduceTime(absensiDate, jadwalMasuk); terlambat = reduceTime(absensiDate, jadwalMasuk);
absensiMasuk = absensiDate; absensiMasuk = absensiDate;
if((absensiMasuk.before(new Date(1780272000000L)) || absensiMasuk.equals(new Date(1780272000000L)))){
if (terlambat > Master.MonitoringAbsensi.BATAS_TERLAMBAT) { if (terlambat > Master.MonitoringAbsensi.BATAS_TERLAMBAT) {
jumlahCountTerlambat += 1; jumlahCountTerlambat += 1;
jumlahTerlambat += terlambat; jumlahTerlambat += terlambat;
data.put("terlambat", terlambat); data.put("terlambat", terlambat);
data.put("telat", terlambat.toString()); data.put("telat", terlambat.toString());
} }
}else{
if (terlambat > Master.MonitoringAbsensi.BATAS_TERLAMBAT_01062026) {
jumlahCountTerlambat += 1;
jumlahTerlambat += terlambat;
data.put("terlambat", terlambat);
data.put("telat", terlambat.toString());
}
}
} else if (count == index) { } else if (count == index) {
listTrNo.add(Integer.parseInt(temp.get("tr_no").toString())); listTrNo.add(Integer.parseInt(temp.get("tr_no").toString()));
data.put("absensiPulang", sdf.format(time)); data.put("absensiPulang", sdf.format(time));
@ -2232,25 +2173,12 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
if (target.before(twoDaysAgo) || target.equals(twoDaysAgo)) { if (target.before(twoDaysAgo) || target.equals(twoDaysAgo)) {
absenTunggal++; absenTunggal++;
Map<String, Object> jamEfektif = new HashMap<>(); Map<String, Object> jamEfektif = new HashMap<>();
jamEfektif = jamEfektifTunggal(jadwalPulang, jadwalMasuk, (long) data.get("waktuIstirahat"), (String) data.get("namaShift"), (float) factorRateX); jamEfektif = jamEfektifTunggal(jadwalPulang, jadwalMasuk, (long) data.get("waktuIstirahat"), (String) data.get("namaShift"));
if (CommonUtil.isNotNullOrEmpty(jamEfektif)) { if (CommonUtil.isNotNullOrEmpty(jamEfektif)) {
jamEf = (String) jamEfektif.get("jam_efektif"); jamEf = (String) jamEfektif.get("jam_efektif");
jumlahJamEfektif += (Long) jamEfektif.get("Minutes_Efektif"); jumlahJamEfektif += (Long) jamEfektif.get("Minutes_Efektif");
if (count == 1) {
if ( CommonUtil.isNotNullOrEmpty(data.get("terlambat"))) {
jumlahTerlambat -= (long) data.get("terlambat");
jumlahCountTerlambat -= 1;
data.put("terlambat", "0");
data.put("telat", (long) 0);
}
}else{
jumlahTerlambat += (long) 0;
data.put("terlambat", "0");
data.put("telat", (long) 0);
}
if (((Integer) jamEfektif.get("hariKerja")) != 0) { if (((Integer) jamEfektif.get("hariKerja")) != 0) {
harikerja += (Integer) jamEfektif.get("hariKerja"); harikerja += (Integer) jamEfektif.get("hariKerja");
p1 += (Integer) jamEfektif.get("p1"); p1 += (Integer) jamEfektif.get("p1");
@ -2259,20 +2187,18 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
malam += (Integer) jamEfektif.get("malam"); malam += (Integer) jamEfektif.get("malam");
data.putAll(jamEfektif); data.putAll(jamEfektif);
} }
}else{ }
jumlahTerlambat += (long) 0; jumlahTerlambat += (long) 0;
data.put("terlambat", "0"); data.put("terlambat", "0");
data.put("telat", (long) 0); data.put("telat", (long) 0);
} }
}
} catch (ParseException e) { } catch (ParseException e) {
e.printStackTrace(); e.printStackTrace();
} }
} else if ((CommonUtil.isNotNullOrEmpty(data.get("absensiPulang")) && CommonUtil.isNullOrEmpty(data.get("absensiMasuk"))) && (CommonUtil.isNotNullOrEmpty(jamMasuk) && CommonUtil.isNotNullOrEmpty(jamPulang))) { } else if ((CommonUtil.isNotNullOrEmpty(data.get("absensiPulang")) && CommonUtil.isNullOrEmpty(data.get("absensiMasuk"))) && (CommonUtil.isNotNullOrEmpty(jamMasuk) && CommonUtil.isNotNullOrEmpty(jamPulang))) {
absenTunggal++; absenTunggal++;
System.out.print("terlambat 2");
} else if ( CommonUtil.isNotNullOrEmpty(data.get("factorRate")) && factorRateX > 0.0 && Arrays.asList(listKetidakhadiran).contains(data.get("kodeShift")) ) { } else if ( CommonUtil.isNotNullOrEmpty(data.get("factorRate")) && factorRateX > 0.0 && Arrays.asList(listKetidakhadiran).contains(data.get("kodeShift")) ) {
//System.out.print("Ini Gua Cuti 123"); //System.out.print("Ini Gua Cuti 123");
Map<String, Object> jamEfektif = new HashMap<>(); Map<String, Object> jamEfektif = new HashMap<>();
@ -2442,19 +2368,17 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
if (CommonUtil.isNotNullOrEmpty(listkehadiran) && CommonUtil.isNotNullOrEmpty(groupKodeShift)) { if (CommonUtil.isNotNullOrEmpty(listkehadiran) && CommonUtil.isNotNullOrEmpty(groupKodeShift)) {
if (Arrays.asList(listKetidakhadiran).contains(groupKodeShift)) { if (Arrays.asList(listKetidakhadiran).contains(groupKodeShift)) {
long jumlah = listkehadiran.stream().filter( dataShift.put(groupKodeShift, listkehadiran.stream().filter(
p -> p.containsKey("kodeShift") && p -> p.containsKey("kodeShift") &&
groupKodeShift.equals(p.get("kodeShift")) groupKodeShift.equals(p.get("kodeShift"))
).count(); ).count());
dataShift.put(groupKodeShift, jumlah);
}else{ }else{
long jumlah = listkehadiran.stream().filter( dataShift.put(groupKodeShift, listkehadiran.stream().filter(
p -> p.containsKey("kodeShift") && p -> p.containsKey("kodeShift") &&
groupKodeShift.equals(p.get("kodeShift")) && groupKodeShift.equals(p.get("kodeShift")) &&
!p.get("absensiMasuk").equals("-") && !p.get("absensiMasuk").equals("-") &&
!p.get("absensiPulang").equals("-") !p.get("absensiPulang").equals("-")
).count(); ).count());
dataShift.put(groupKodeShift, jumlah);
} }
} }
} }
@ -3717,20 +3641,11 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
kehadiran.put("pulangAwal", reduceTime(jadwalPulang, absensiDate)); kehadiran.put("pulangAwal", reduceTime(jadwalPulang, absensiDate));
kehadiran.put("pulangCepat", (reduceTime(jadwalPulang, absensiDate)).toString()); kehadiran.put("pulangCepat", (reduceTime(jadwalPulang, absensiDate)).toString());
jumlahPulangAwal += reduceTime(jadwalPulang, absensiDate); jumlahPulangAwal += reduceTime(jadwalPulang, absensiDate);
if (terlambat > 15) {
if((absensiMasuk.before(new Date(1780272000000L)) || absensiMasuk.equals(new Date(1780272000000L)))){
if (terlambat > Master.MonitoringAbsensi.BATAS_TERLAMBAT) {
jumlahTerlambat += terlambat; jumlahTerlambat += terlambat;
kehadiran.put("terlambat", terlambat); kehadiran.put("terlambat", terlambat);
kehadiran.put("telat", terlambat.toString()); kehadiran.put("telat", terlambat.toString());
} }
}else{
if (terlambat > Master.MonitoringAbsensi.BATAS_TERLAMBAT_01062026) {
jumlahTerlambat += terlambat;
kehadiran.put("terlambat", terlambat);
kehadiran.put("telat", terlambat.toString());
}
}
if (CommonUtil.isNotNullOrEmpty(data.get("idKelompokShiftKerja"))) { if (CommonUtil.isNotNullOrEmpty(data.get("idKelompokShiftKerja"))) {
if ((Integer) data.get("idKelompokShiftKerja") == 2) { if ((Integer) data.get("idKelompokShiftKerja") == 2) {
@ -4268,20 +4183,11 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
kehadiran.put("pulangAwal", reduceTime(jadwalPulang, absensiDate)); kehadiran.put("pulangAwal", reduceTime(jadwalPulang, absensiDate));
kehadiran.put("pulangCepat", (reduceTime(jadwalPulang, absensiDate)).toString()); kehadiran.put("pulangCepat", (reduceTime(jadwalPulang, absensiDate)).toString());
jumlahPulangAwal += reduceTime(jadwalPulang, absensiDate); jumlahPulangAwal += reduceTime(jadwalPulang, absensiDate);
if (terlambat > 15) {
if((absensiMasuk.before(new Date(1780272000000L)) || absensiMasuk.equals(new Date(1780272000000L)))){
if (terlambat > Master.MonitoringAbsensi.BATAS_TERLAMBAT) {
jumlahTerlambat += terlambat; jumlahTerlambat += terlambat;
kehadiran.put("terlambat", terlambat); kehadiran.put("terlambat", terlambat);
kehadiran.put("telat", terlambat.toString()); kehadiran.put("telat", terlambat.toString());
} }
}else{
if (terlambat > Master.MonitoringAbsensi.BATAS_TERLAMBAT_01062026) {
jumlahTerlambat += terlambat;
kehadiran.put("terlambat", terlambat);
kehadiran.put("telat", terlambat.toString());
}
}
if (CommonUtil.isNotNullOrEmpty(data.get("idKelompokShiftKerja"))) { if (CommonUtil.isNotNullOrEmpty(data.get("idKelompokShiftKerja"))) {
if (data.get("idKelompokShiftKerja") == getIdNonShiftPlus()) { if (data.get("idKelompokShiftKerja") == getIdNonShiftPlus()) {
@ -4658,20 +4564,11 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
data.put("pulangAwal", reduceTime(jadwalPulang, absensiDate)); data.put("pulangAwal", reduceTime(jadwalPulang, absensiDate));
data.put("pulangCepat", (reduceTime(jadwalPulang, absensiDate)).toString()); data.put("pulangCepat", (reduceTime(jadwalPulang, absensiDate)).toString());
jumlahPulangAwal += reduceTime(jadwalPulang, absensiDate); jumlahPulangAwal += reduceTime(jadwalPulang, absensiDate);
if (terlambat > 15) {
if((absensiMasuk.before(new Date(1780272000000L)) || absensiMasuk.equals(new Date(1780272000000L)))){
if (terlambat > Master.MonitoringAbsensi.BATAS_TERLAMBAT) {
jumlahTerlambat += terlambat; jumlahTerlambat += terlambat;
data.put("terlambat", terlambat); data.put("terlambat", terlambat);
data.put("telat", terlambat.toString()); data.put("telat", terlambat.toString());
} }
}else{
if (terlambat > Master.MonitoringAbsensi.BATAS_TERLAMBAT_01062026) {
jumlahTerlambat += terlambat;
data.put("terlambat", terlambat);
data.put("telat", terlambat.toString());
}
}
if (CommonUtil.isNotNullOrEmpty(data.get("idKelompokShiftKerja"))) { if (CommonUtil.isNotNullOrEmpty(data.get("idKelompokShiftKerja"))) {
if ((Integer) data.get("idKelompokShiftKerja") == 2) { if ((Integer) data.get("idKelompokShiftKerja") == 2) {

View File

@ -822,9 +822,9 @@ public class PegawaiJadwalKerjaServiceImpl extends BaseVoServiceImpl implements
LocalDate tglHijri = new LocalDate(tglIso.toDateTimeAtStartOfDay(), hijri); LocalDate tglHijri = new LocalDate(tglIso.toDateTimeAtStartOfDay(), hijri);
bulanHijri = tglHijri.getMonthOfYear(); bulanHijri = tglHijri.getMonthOfYear();
if (bulanHijri == 9) { if (bulanHijri == 9) {
shiftKerjaPegawai.setId(Master.ShiftKerja.NONSHIFT_J_RAMADHAN); // sudah id baru shiftKerjaPegawai.setId(181); // sudah id baru
} else { } else {
shiftKerjaPegawai.setId(Master.ShiftKerja.NONSHIFT_J); // sudah id baru shiftKerjaPegawai.setId(177); // sudah id baru
} }
} else { } else {
LocalDate tglIso = new LocalDate(tahun, bulan, LocalDate tglIso = new LocalDate(tahun, bulan,
@ -832,9 +832,9 @@ public class PegawaiJadwalKerjaServiceImpl extends BaseVoServiceImpl implements
LocalDate tglHijri = new LocalDate(tglIso.toDateTimeAtStartOfDay(), hijri); LocalDate tglHijri = new LocalDate(tglIso.toDateTimeAtStartOfDay(), hijri);
bulanHijri = tglHijri.getMonthOfYear(); bulanHijri = tglHijri.getMonthOfYear();
if (bulanHijri == 9) { if (bulanHijri == 9) {
shiftKerjaPegawai.setId(Master.ShiftKerja.NONSHIFT_SK_RAMADHAN); // sudah id baru shiftKerjaPegawai.setId(179); // sudah id baru
} else { } else {
shiftKerjaPegawai.setId(Master.ShiftKerja.NONSHIFT_SK); // sudah id baru shiftKerjaPegawai.setId(175); // sudah id baru
} }
} }
} else { } else {

View File

@ -1240,18 +1240,18 @@ public class PegawaiServiceImpl extends BaseVoServiceImpl implements PegawaiServ
LocalDate tglHijri = new LocalDate(tglIso.toDateTimeAtStartOfDay(), hijri); LocalDate tglHijri = new LocalDate(tglIso.toDateTimeAtStartOfDay(), hijri);
bulanHijri = tglHijri.getMonthOfYear(); bulanHijri = tglHijri.getMonthOfYear();
if (bulanHijri == 9) { if (bulanHijri == 9) {
shiftKerjaPegawai.setId(Master.ShiftKerja.NONSHIFT_J_RAMADHAN); // sudah id baru shiftKerjaPegawai.setId(181); // sudah id baru
} else { } else {
shiftKerjaPegawai.setId(Master.ShiftKerja.NONSHIFT_J); // sudah id baru shiftKerjaPegawai.setId(177); // sudah id baru
} }
} else { } else {
LocalDate tglIso = new LocalDate(tahun, bulan, Integer.parseInt(hariLibur.get("tgl").toString()), iso); LocalDate tglIso = new LocalDate(tahun, bulan, Integer.parseInt(hariLibur.get("tgl").toString()), iso);
LocalDate tglHijri = new LocalDate(tglIso.toDateTimeAtStartOfDay(), hijri); LocalDate tglHijri = new LocalDate(tglIso.toDateTimeAtStartOfDay(), hijri);
bulanHijri = tglHijri.getMonthOfYear(); bulanHijri = tglHijri.getMonthOfYear();
if (bulanHijri == 9) { if (bulanHijri == 9) {
shiftKerjaPegawai.setId(Master.ShiftKerja.NONSHIFT_SK_RAMADHAN); // sudah id baru shiftKerjaPegawai.setId(179); // sudah id baru
} else { } else {
shiftKerjaPegawai.setId(Master.ShiftKerja.NONSHIFT_SK); // sudah id baru shiftKerjaPegawai.setId(175); // sudah id baru
} }
} }
} else { } else {
@ -1371,18 +1371,18 @@ public class PegawaiServiceImpl extends BaseVoServiceImpl implements PegawaiServ
LocalDate tglHijri = new LocalDate(tglIso.toDateTimeAtStartOfDay(), hijri); LocalDate tglHijri = new LocalDate(tglIso.toDateTimeAtStartOfDay(), hijri);
bulanHijri = tglHijri.getMonthOfYear(); bulanHijri = tglHijri.getMonthOfYear();
if (bulanHijri == 9) { if (bulanHijri == 9) {
shiftKerjaPegawai.setId(Master.ShiftKerja.NONSHIFT_J_RAMADHAN); shiftKerjaPegawai.setId(181);
} else { } else {
shiftKerjaPegawai.setId(Master.ShiftKerja.NONSHIFT_J); shiftKerjaPegawai.setId(177);
} }
} else { } else {
LocalDate tglIso = new LocalDate(tahun, bulan, Integer.parseInt(hariLibur.get("tgl").toString()), iso); LocalDate tglIso = new LocalDate(tahun, bulan, Integer.parseInt(hariLibur.get("tgl").toString()), iso);
LocalDate tglHijri = new LocalDate(tglIso.toDateTimeAtStartOfDay(), hijri); LocalDate tglHijri = new LocalDate(tglIso.toDateTimeAtStartOfDay(), hijri);
bulanHijri = tglHijri.getMonthOfYear(); bulanHijri = tglHijri.getMonthOfYear();
if (bulanHijri == 9) { if (bulanHijri == 9) {
shiftKerjaPegawai.setId(Master.ShiftKerja.NONSHIFT_SK_RAMADHAN); shiftKerjaPegawai.setId(179);
} else { } else {
shiftKerjaPegawai.setId(Master.ShiftKerja.NONSHIFT_SK); shiftKerjaPegawai.setId(175);
} }
} }
} else { } else {

View File

@ -38,7 +38,6 @@ import static com.jasamedika.medifirst2000.constants.Master.JenisProduk.OBAT_ALK
import static com.jasamedika.medifirst2000.constants.Master.KONSUL_VISIT; import static com.jasamedika.medifirst2000.constants.Master.KONSUL_VISIT;
import static com.jasamedika.medifirst2000.constants.Master.KategoryPegawai.DOKTER_LUAR; import static com.jasamedika.medifirst2000.constants.Master.KategoryPegawai.DOKTER_LUAR;
import static com.jasamedika.medifirst2000.constants.Master.Kelas.NON_KELAS; import static com.jasamedika.medifirst2000.constants.Master.Kelas.NON_KELAS;
import static com.jasamedika.medifirst2000.constants.Master.Kelas.NON_KELAS_EKSEKUTIF;
import static com.jasamedika.medifirst2000.constants.Master.KelompokPasien.KELOMPOK_BPJS; import static com.jasamedika.medifirst2000.constants.Master.KelompokPasien.KELOMPOK_BPJS;
import static com.jasamedika.medifirst2000.constants.Master.KelompokUser.TATA_REKENING; import static com.jasamedika.medifirst2000.constants.Master.KelompokUser.TATA_REKENING;
import static com.jasamedika.medifirst2000.constants.Master.KomponenHarga.*; import static com.jasamedika.medifirst2000.constants.Master.KomponenHarga.*;
@ -1996,10 +1995,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
.map(d -> d.get("paketId").toString() + d.get("idKelas").toString()).collect(Collectors.toList())); .map(d -> d.get("paketId").toString() + d.get("idKelas").toString()).collect(Collectors.toList()));
allConcatProdukKelas.addAll(listData.stream().filter(d -> CommonUtil.isNotNullOrEmpty(d.get("idProduk"))) allConcatProdukKelas.addAll(listData.stream().filter(d -> CommonUtil.isNotNullOrEmpty(d.get("idProduk")))
.map(d -> d.get("idProduk").toString() + d.get("idKelas").toString()).collect(Collectors.toList())); .map(d -> d.get("idProduk").toString() + d.get("idKelas").toString()).collect(Collectors.toList()));
List<HargaNettoProdukByKelasD> tarifDetailReguler = hargaNettoProdukByKelasDDao List<HargaNettoProdukByKelasD> tarifDetailReguler = hargaNettoProdukByKelasDDao
.findByConcateProdukKelas(allConcatProdukKelas); .findByConcateProdukKelas(allConcatProdukKelas);
List<String> allConcatProdukNonkelas = listData.stream() List<String> allConcatProdukNonkelas = listData.stream()
.filter(d -> CommonUtil.isNotNullOrEmpty(d.get("regRefId"))) .filter(d -> CommonUtil.isNotNullOrEmpty(d.get("regRefId")))
.map(d -> d.get("regRefId").toString() + NON_KELAS).collect(Collectors.toList()); .map(d -> d.get("regRefId").toString() + NON_KELAS).collect(Collectors.toList());
@ -2007,18 +2004,6 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
.map(d -> d.get("paketId").toString() + NON_KELAS).collect(Collectors.toList())); .map(d -> d.get("paketId").toString() + NON_KELAS).collect(Collectors.toList()));
allConcatProdukNonkelas.addAll(listData.stream().filter(d -> CommonUtil.isNotNullOrEmpty(d.get("idProduk"))) allConcatProdukNonkelas.addAll(listData.stream().filter(d -> CommonUtil.isNotNullOrEmpty(d.get("idProduk")))
.map(d -> d.get("idProduk").toString() + NON_KELAS).collect(Collectors.toList())); .map(d -> d.get("idProduk").toString() + NON_KELAS).collect(Collectors.toList()));
List<String> allConcatProdukNonkelasEksekutif = listData.stream()
.filter(d -> CommonUtil.isNotNullOrEmpty(d.get("regRefId")))
.map(d -> d.get("regRefId").toString() + NON_KELAS_EKSEKUTIF).collect(Collectors.toList());
allConcatProdukNonkelasEksekutif.addAll(listData.stream().filter(d -> CommonUtil.isNotNullOrEmpty(d.get("paketId")))
.map(d -> d.get("paketId").toString() + NON_KELAS_EKSEKUTIF).collect(Collectors.toList()));
allConcatProdukNonkelasEksekutif.addAll(listData.stream().filter(d -> CommonUtil.isNotNullOrEmpty(d.get("idProduk")))
.map(d -> d.get("idProduk").toString() + NON_KELAS_EKSEKUTIF).collect(Collectors.toList()));
allConcatProdukNonkelas.addAll(allConcatProdukNonkelasEksekutif);
List<HargaNettoProdukByKelasD> tarifDetailNonKelas = hargaNettoProdukByKelasDDao List<HargaNettoProdukByKelasD> tarifDetailNonKelas = hargaNettoProdukByKelasDDao
.findByConcateProdukKelas(allConcatProdukNonkelas); .findByConcateProdukKelas(allConcatProdukNonkelas);
Set<Map<String, Object>> ibuPaketDiRanapByDokter = pelayananPasienDao.findPasienPaketDiRanapByDokter(drKsmObgyn, Set<Map<String, Object>> ibuPaketDiRanapByDokter = pelayananPasienDao.findPasienPaketDiRanapByDokter(drKsmObgyn,
@ -2068,7 +2053,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
} else { } else {
Optional<HargaNettoProdukByKelasD> byDetailTarifNonKelas = tarifDetailNonKelas.stream() Optional<HargaNettoProdukByKelasD> byDetailTarifNonKelas = tarifDetailNonKelas.stream()
.filter(dt -> dt.getProdukId().equals(d.get("paketId"))) .filter(dt -> dt.getProdukId().equals(d.get("paketId")))
.filter(dt -> dt.getKelasId().equals(NON_KELAS) || dt.getKelasId().equals(NON_KELAS_EKSEKUTIF)) .filter(dt -> dt.getKelasId().equals(NON_KELAS))
.filter(dt -> dt.getKomponenHargaId().equals(SPOG_OPERATOR)).findFirst(); .filter(dt -> dt.getKomponenHargaId().equals(SPOG_OPERATOR)).findFirst();
byDetailTarifNonKelas.ifPresent(hargaNettoProdukByKelasD -> d.put("hargaJasa", byDetailTarifNonKelas.ifPresent(hargaNettoProdukByKelasD -> d.put("hargaJasa",
CommonUtil.isNotNullOrEmpty(byDetailTarifNonKelas.get().getHargaNetto1()) CommonUtil.isNotNullOrEmpty(byDetailTarifNonKelas.get().getHargaNetto1())
@ -2087,7 +2072,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
} else { } else {
Optional<HargaNettoProdukByKelasD> byDetailTarifNonKelas = tarifDetailNonKelas.stream() Optional<HargaNettoProdukByKelasD> byDetailTarifNonKelas = tarifDetailNonKelas.stream()
.filter(dt -> dt.getProdukId().equals(d.get("paketId"))) .filter(dt -> dt.getProdukId().equals(d.get("paketId")))
.filter(dt -> dt.getKelasId().equals(NON_KELAS) || dt.getKelasId().equals(NON_KELAS_EKSEKUTIF)) .filter(dt -> dt.getKelasId().equals(NON_KELAS))
.filter(dt -> dt.getKomponenHargaId().equals(SPOG_ASISTEN)).findFirst(); .filter(dt -> dt.getKomponenHargaId().equals(SPOG_ASISTEN)).findFirst();
byDetailTarifNonKelas.ifPresent(hargaNettoProdukByKelasD -> d.put("hargaJasa", byDetailTarifNonKelas.ifPresent(hargaNettoProdukByKelasD -> d.put("hargaJasa",
CommonUtil.isNotNullOrEmpty(byDetailTarifNonKelas.get().getHargaNetto1()) CommonUtil.isNotNullOrEmpty(byDetailTarifNonKelas.get().getHargaNetto1())
@ -2105,7 +2090,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
} else { } else {
Optional<HargaNettoProdukByKelasD> byDetailTarifNonKelas = tarifDetailNonKelas.stream() Optional<HargaNettoProdukByKelasD> byDetailTarifNonKelas = tarifDetailNonKelas.stream()
.filter(dt -> dt.getProdukId().equals(d.get("idProduk"))) .filter(dt -> dt.getProdukId().equals(d.get("idProduk")))
.filter(dt -> dt.getKelasId().equals(NON_KELAS) || dt.getKelasId().equals(NON_KELAS_EKSEKUTIF)) .filter(dt -> dt.getKelasId().equals(NON_KELAS))
.filter(dt -> dt.getKomponenHargaId().equals(JASA_DOKTER)).findFirst(); .filter(dt -> dt.getKomponenHargaId().equals(JASA_DOKTER)).findFirst();
byDetailTarifNonKelas.ifPresent(hargaNettoProdukByKelasD -> d.put("hargaJasa", byDetailTarifNonKelas.ifPresent(hargaNettoProdukByKelasD -> d.put("hargaJasa",
CommonUtil.isNotNullOrEmpty(byDetailTarifNonKelas.get().getHargaNetto1()) CommonUtil.isNotNullOrEmpty(byDetailTarifNonKelas.get().getHargaNetto1())
@ -2123,7 +2108,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
} else { } else {
Optional<HargaNettoProdukByKelasD> byDetailTarifNonKelas = tarifDetailNonKelas.stream() Optional<HargaNettoProdukByKelasD> byDetailTarifNonKelas = tarifDetailNonKelas.stream()
.filter(dt -> dt.getProdukId().equals(d.get("idProduk"))) .filter(dt -> dt.getProdukId().equals(d.get("idProduk")))
.filter(dt -> dt.getKelasId().equals(NON_KELAS) || dt.getKelasId().equals(NON_KELAS_EKSEKUTIF)) .filter(dt -> dt.getKelasId().equals(NON_KELAS))
.filter(dt -> dt.getKomponenHargaId().equals(JASA_ASISTEN_SPESIALIS)).findFirst(); .filter(dt -> dt.getKomponenHargaId().equals(JASA_ASISTEN_SPESIALIS)).findFirst();
byDetailTarifNonKelas.ifPresent(hargaNettoProdukByKelasD -> d.put("hargaJasa", byDetailTarifNonKelas.ifPresent(hargaNettoProdukByKelasD -> d.put("hargaJasa",
CommonUtil.isNotNullOrEmpty(byDetailTarifNonKelas.get().getHargaNetto1()) CommonUtil.isNotNullOrEmpty(byDetailTarifNonKelas.get().getHargaNetto1())
@ -2141,7 +2126,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
} else { } else {
Optional<HargaNettoProdukByKelasD> byDetailTarifNonKelas = tarifDetailNonKelas.stream() Optional<HargaNettoProdukByKelasD> byDetailTarifNonKelas = tarifDetailNonKelas.stream()
.filter(dt -> dt.getProdukId().equals(d.get("idProduk"))) .filter(dt -> dt.getProdukId().equals(d.get("idProduk")))
.filter(dt -> dt.getKelasId().equals(NON_KELAS) || dt.getKelasId().equals(NON_KELAS_EKSEKUTIF)) .filter(dt -> dt.getKelasId().equals(NON_KELAS))
.filter(dt -> dt.getKomponenHargaId().equals(JASA_DOKTER_ANASTESI)).findFirst(); .filter(dt -> dt.getKomponenHargaId().equals(JASA_DOKTER_ANASTESI)).findFirst();
byDetailTarifNonKelas.ifPresent(hargaNettoProdukByKelasD -> d.put("hargaJasa", byDetailTarifNonKelas.ifPresent(hargaNettoProdukByKelasD -> d.put("hargaJasa",
CommonUtil.isNotNullOrEmpty(byDetailTarifNonKelas.get().getHargaNetto1()) CommonUtil.isNotNullOrEmpty(byDetailTarifNonKelas.get().getHargaNetto1())

View File

@ -33,7 +33,6 @@ import static com.jasamedika.medifirst2000.constants.Master.GolonganProduk.KONSU
import static com.jasamedika.medifirst2000.constants.Master.GolonganProduk.VISIT; import static com.jasamedika.medifirst2000.constants.Master.GolonganProduk.VISIT;
import static com.jasamedika.medifirst2000.constants.Master.JenisPetugasPelaksana.*; import static com.jasamedika.medifirst2000.constants.Master.JenisPetugasPelaksana.*;
import static com.jasamedika.medifirst2000.constants.Master.Kelas.NON_KELAS; import static com.jasamedika.medifirst2000.constants.Master.Kelas.NON_KELAS;
import static com.jasamedika.medifirst2000.constants.Master.Kelas.NON_KELAS_EKSEKUTIF;
import static com.jasamedika.medifirst2000.constants.Master.KelompokPasien.KELOMPOK_BPJS; import static com.jasamedika.medifirst2000.constants.Master.KelompokPasien.KELOMPOK_BPJS;
import static com.jasamedika.medifirst2000.constants.Master.KomponenHarga.*; import static com.jasamedika.medifirst2000.constants.Master.KomponenHarga.*;
import static com.jasamedika.medifirst2000.constants.Master.Profesi.TERAPI; import static com.jasamedika.medifirst2000.constants.Master.Profesi.TERAPI;
@ -1878,17 +1877,8 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
.map(d -> d.get("paketId").toString() + d.get("idKelas").toString()).collect(Collectors.toList())); .map(d -> d.get("paketId").toString() + d.get("idKelas").toString()).collect(Collectors.toList()));
allConcatProdukKelas.addAll(listData.stream().filter(d -> CommonUtil.isNotNullOrEmpty(d.get("idProduk"))) allConcatProdukKelas.addAll(listData.stream().filter(d -> CommonUtil.isNotNullOrEmpty(d.get("idProduk")))
.map(d -> d.get("idProduk").toString() + d.get("idKelas").toString()).collect(Collectors.toList())); .map(d -> d.get("idProduk").toString() + d.get("idKelas").toString()).collect(Collectors.toList()));
//List<HargaNettoProdukByKelasD> tarifDetailReguler = hargaNettoProdukByKelasDDao.findByConcateProdukKelas(allConcatProdukKelas); // Ganti Versi batching List<HargaNettoProdukByKelasD> tarifDetailReguler = hargaNettoProdukByKelasDDao
.findByConcateProdukKelas(allConcatProdukKelas);
final int BATCH_SIZE = Master.AppDefaultVariabel.RECURSIVE_BATCH; // Limitasi Jumlah Data Per Batch
int total = allConcatProdukKelas.size();
List<HargaNettoProdukByKelasD> tarifDetailReguler = new ArrayList<>();
for (int i = 0; i < total; i += BATCH_SIZE) {
int end = Math.min(i + BATCH_SIZE, total);
List<String> batchKeys = allConcatProdukKelas.subList(i, end);
List<HargaNettoProdukByKelasD> batchResult = hargaNettoProdukByKelasDDao.findByConcateProdukKelas(batchKeys);
tarifDetailReguler.addAll(batchResult);
}
List<String> allConcatProdukNonkelas = listData.stream() List<String> allConcatProdukNonkelas = listData.stream()
.filter(d -> CommonUtil.isNotNullOrEmpty(d.get("regRefId"))) .filter(d -> CommonUtil.isNotNullOrEmpty(d.get("regRefId")))
.map(d -> d.get("regRefId").toString() + NON_KELAS).collect(Collectors.toList()); .map(d -> d.get("regRefId").toString() + NON_KELAS).collect(Collectors.toList());
@ -1896,27 +1886,8 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
.map(d -> d.get("paketId").toString() + NON_KELAS).collect(Collectors.toList())); .map(d -> d.get("paketId").toString() + NON_KELAS).collect(Collectors.toList()));
allConcatProdukNonkelas.addAll(listData.stream().filter(d -> CommonUtil.isNotNullOrEmpty(d.get("idProduk"))) allConcatProdukNonkelas.addAll(listData.stream().filter(d -> CommonUtil.isNotNullOrEmpty(d.get("idProduk")))
.map(d -> d.get("idProduk").toString() + NON_KELAS).collect(Collectors.toList())); .map(d -> d.get("idProduk").toString() + NON_KELAS).collect(Collectors.toList()));
List<HargaNettoProdukByKelasD> tarifDetailNonKelas = hargaNettoProdukByKelasDDao
List<String> allConcatProdukNonkelasEksekutif = listData.stream() .findByConcateProdukKelas(allConcatProdukNonkelas);
.filter(d -> CommonUtil.isNotNullOrEmpty(d.get("regRefId")))
.map(d -> d.get("regRefId").toString() + NON_KELAS_EKSEKUTIF).collect(Collectors.toList());
allConcatProdukNonkelasEksekutif.addAll(listData.stream().filter(d -> CommonUtil.isNotNullOrEmpty(d.get("paketId")))
.map(d -> d.get("paketId").toString() + NON_KELAS_EKSEKUTIF).collect(Collectors.toList()));
allConcatProdukNonkelasEksekutif.addAll(listData.stream().filter(d -> CommonUtil.isNotNullOrEmpty(d.get("idProduk")))
.map(d -> d.get("idProduk").toString() + NON_KELAS_EKSEKUTIF).collect(Collectors.toList()));
//List<HargaNettoProdukByKelasD> tarifDetailNonKelas = hargaNettoProdukByKelasDDao.findByConcateProdukKelas(allConcatProdukNonkelas); // Ganti Versi batching
allConcatProdukNonkelas.addAll(allConcatProdukNonkelasEksekutif);
final int BATCH_SIZE_NB = Master.AppDefaultVariabel.RECURSIVE_BATCH;
int totalNB = allConcatProdukNonkelas.size();
List<HargaNettoProdukByKelasD> tarifDetailNonKelas = new ArrayList<>();
for (int i = 0; i < totalNB; i += BATCH_SIZE_NB) {
int end = Math.min(i + BATCH_SIZE_NB, totalNB);
List<String> batchKeys = allConcatProdukNonkelas.subList(i, end);
List<HargaNettoProdukByKelasD> batchResult = hargaNettoProdukByKelasDDao.findByConcateProdukKelas(batchKeys);
tarifDetailNonKelas.addAll(batchResult);
}
Set<Map<String, Object>> ibuPaketDiRanapByDokter = pelayananPasienDao.findPasienPaketDiRanapByDokter(drKsmObgyn, Set<Map<String, Object>> ibuPaketDiRanapByDokter = pelayananPasienDao.findPasienPaketDiRanapByDokter(drKsmObgyn,
allProdukEntriId, Arrays.asList(GRUP_RAWAT_INAP)); allProdukEntriId, Arrays.asList(GRUP_RAWAT_INAP));
Set<Integer> setIdIbu = ibuPaketDiRanapByDokter.stream() Set<Integer> setIdIbu = ibuPaketDiRanapByDokter.stream()
@ -1964,7 +1935,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
} else { } else {
Optional<HargaNettoProdukByKelasD> byDetailTarifNonKelas = tarifDetailNonKelas.stream() Optional<HargaNettoProdukByKelasD> byDetailTarifNonKelas = tarifDetailNonKelas.stream()
.filter(dt -> dt.getProdukId().equals(d.get("paketId"))) .filter(dt -> dt.getProdukId().equals(d.get("paketId")))
.filter(dt -> dt.getKelasId().equals(NON_KELAS) || dt.getKelasId().equals(NON_KELAS_EKSEKUTIF)) .filter(dt -> dt.getKelasId().equals(NON_KELAS))
.filter(dt -> dt.getKomponenHargaId().equals(SPOG_OPERATOR)).findFirst(); .filter(dt -> dt.getKomponenHargaId().equals(SPOG_OPERATOR)).findFirst();
byDetailTarifNonKelas.ifPresent(hargaNettoProdukByKelasD -> d.put("hargaJasa", byDetailTarifNonKelas.ifPresent(hargaNettoProdukByKelasD -> d.put("hargaJasa",
CommonUtil.isNotNullOrEmpty(byDetailTarifNonKelas.get().getHargaNetto1()) CommonUtil.isNotNullOrEmpty(byDetailTarifNonKelas.get().getHargaNetto1())
@ -1983,7 +1954,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
} else { } else {
Optional<HargaNettoProdukByKelasD> byDetailTarifNonKelas = tarifDetailNonKelas.stream() Optional<HargaNettoProdukByKelasD> byDetailTarifNonKelas = tarifDetailNonKelas.stream()
.filter(dt -> dt.getProdukId().equals(d.get("paketId"))) .filter(dt -> dt.getProdukId().equals(d.get("paketId")))
.filter(dt -> dt.getKelasId().equals(NON_KELAS) || dt.getKelasId().equals(NON_KELAS_EKSEKUTIF)) .filter(dt -> dt.getKelasId().equals(NON_KELAS))
.filter(dt -> dt.getKomponenHargaId().equals(SPOG_ASISTEN)).findFirst(); .filter(dt -> dt.getKomponenHargaId().equals(SPOG_ASISTEN)).findFirst();
byDetailTarifNonKelas.ifPresent(hargaNettoProdukByKelasD -> d.put("hargaJasa", byDetailTarifNonKelas.ifPresent(hargaNettoProdukByKelasD -> d.put("hargaJasa",
CommonUtil.isNotNullOrEmpty(byDetailTarifNonKelas.get().getHargaNetto1()) CommonUtil.isNotNullOrEmpty(byDetailTarifNonKelas.get().getHargaNetto1())
@ -2005,7 +1976,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
} else { } else {
Optional<HargaNettoProdukByKelasD> byDetailTarifNonKelas = tarifDetailNonKelas.stream() Optional<HargaNettoProdukByKelasD> byDetailTarifNonKelas = tarifDetailNonKelas.stream()
.filter(dt -> dt.getProdukId().equals(d.get("idProduk"))) .filter(dt -> dt.getProdukId().equals(d.get("idProduk")))
.filter(dt -> dt.getKelasId().equals(NON_KELAS) || dt.getKelasId().equals(NON_KELAS_EKSEKUTIF)) .filter(dt -> dt.getKelasId().equals(NON_KELAS))
.filter(dt -> dt.getKomponenHargaId().equals(JASA_DOKTER)).findFirst(); .filter(dt -> dt.getKomponenHargaId().equals(JASA_DOKTER)).findFirst();
byDetailTarifNonKelas.ifPresent(hargaNettoProdukByKelasD -> d.put("hargaJasa", byDetailTarifNonKelas.ifPresent(hargaNettoProdukByKelasD -> d.put("hargaJasa",
CommonUtil.isNotNullOrEmpty(byDetailTarifNonKelas.get().getHargaNetto1()) CommonUtil.isNotNullOrEmpty(byDetailTarifNonKelas.get().getHargaNetto1())
@ -2027,7 +1998,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
} else { } else {
Optional<HargaNettoProdukByKelasD> byDetailTarifNonKelas = tarifDetailNonKelas.stream() Optional<HargaNettoProdukByKelasD> byDetailTarifNonKelas = tarifDetailNonKelas.stream()
.filter(dt -> dt.getProdukId().equals(d.get("idProduk"))) .filter(dt -> dt.getProdukId().equals(d.get("idProduk")))
.filter(dt -> dt.getKelasId().equals(NON_KELAS) || dt.getKelasId().equals(NON_KELAS_EKSEKUTIF)) .filter(dt -> dt.getKelasId().equals(NON_KELAS))
.filter(dt -> dt.getKomponenHargaId().equals(JASA_ASISTEN_SPESIALIS)).findFirst(); .filter(dt -> dt.getKomponenHargaId().equals(JASA_ASISTEN_SPESIALIS)).findFirst();
byDetailTarifNonKelas.ifPresent(hargaNettoProdukByKelasD -> d.put("hargaJasa", byDetailTarifNonKelas.ifPresent(hargaNettoProdukByKelasD -> d.put("hargaJasa",
CommonUtil.isNotNullOrEmpty(byDetailTarifNonKelas.get().getHargaNetto1()) CommonUtil.isNotNullOrEmpty(byDetailTarifNonKelas.get().getHargaNetto1())
@ -2049,7 +2020,7 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
} else { } else {
Optional<HargaNettoProdukByKelasD> byDetailTarifNonKelas = tarifDetailNonKelas.stream() Optional<HargaNettoProdukByKelasD> byDetailTarifNonKelas = tarifDetailNonKelas.stream()
.filter(dt -> dt.getProdukId().equals(d.get("idProduk"))) .filter(dt -> dt.getProdukId().equals(d.get("idProduk")))
.filter(dt -> dt.getKelasId().equals(NON_KELAS) || dt.getKelasId().equals(NON_KELAS_EKSEKUTIF)) .filter(dt -> dt.getKelasId().equals(NON_KELAS))
.filter(dt -> dt.getKomponenHargaId().equals(JASA_DOKTER_ANASTESI)).findFirst(); .filter(dt -> dt.getKomponenHargaId().equals(JASA_DOKTER_ANASTESI)).findFirst();
byDetailTarifNonKelas.ifPresent(hargaNettoProdukByKelasD -> d.put("hargaJasa", byDetailTarifNonKelas.ifPresent(hargaNettoProdukByKelasD -> d.put("hargaJasa",
CommonUtil.isNotNullOrEmpty(byDetailTarifNonKelas.get().getHargaNetto1()) CommonUtil.isNotNullOrEmpty(byDetailTarifNonKelas.get().getHargaNetto1())
@ -2277,9 +2248,6 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
} else { } else {
remunFfs = this.splitRemunFfs(idPegawai, bulan); remunFfs = this.splitRemunFfs(idPegawai, bulan);
} }
// cek disini
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
List<Map<String, Object>> listData = (List<Map<String, Object>>) remunFfs.get("remun"); List<Map<String, Object>> listData = (List<Map<String, Object>>) remunFfs.get("remun");
Double target = Double.parseDouble(remunFfs.get("targetRemun").toString()); Double target = Double.parseDouble(remunFfs.get("targetRemun").toString());
@ -2298,8 +2266,6 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
double persenKonsultasi = toDoubleSettingFix("persenRemunKonsultasiDokter", tglAkhir); double persenKonsultasi = toDoubleSettingFix("persenRemunKonsultasiDokter", tglAkhir);
double persenVisite = toDoubleSettingFix("persenRemunVisiteDokter", tglAkhir); double persenVisite = toDoubleSettingFix("persenRemunVisiteDokter", tglAkhir);
double persenTindakan = toDoubleSettingFix("persenRemunTindakanDokter", tglAkhir); double persenTindakan = toDoubleSettingFix("persenRemunTindakanDokter", tglAkhir);
double persenTindakanRuangIntensif = toDoubleSettingFix("persenRemunTindakanDokterRuangIntensif", tglAkhir);
List<Integer> listRuanganIntensifRemun = toListIntegerSettingFix("listRuanganIntensifRemun", tglAkhir);
double persenTarifJasaBedah = toDoubleSettingFix("persenTarifJasaBedah", tglAkhir); double persenTarifJasaBedah = toDoubleSettingFix("persenTarifJasaBedah", tglAkhir);
double persenTarifJasaICU = toDoubleSettingFix("persenTarifJasaICU", tglAkhir); double persenTarifJasaICU = toDoubleSettingFix("persenTarifJasaICU", tglAkhir);
double persenRemunDokterPA = toDoubleSettingFix("persenRemunDokterPA", tglAkhir); double persenRemunDokterPA = toDoubleSettingFix("persenRemunDokterPA", tglAkhir);
@ -2509,27 +2475,13 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
d.put("persenJasa", persenLaboratorium + "%"); d.put("persenJasa", persenLaboratorium + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if (CommonUtil.isNotNullOrEmpty(d.get("idRuangan")) && Arrays.asList(ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString()))) { } else if (CommonUtil.isNotNullOrEmpty(d.get("idRuangan"))
// Penyesuaian Perhitungan Remunerasi && Arrays.asList(ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString()))) {
if( listRuanganIntensifRemun.contains(Integer.parseInt(d.get("idRuangan").toString())) ){
double persenJasa = persenTindakanRuangIntensif / 100;
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasa * persenTarifICU, hargaJual, d);
d.put("persenJasa", persenTindakanRuangIntensif + "%");
d.put("keterangan", "Tarif Jasa (" + persenTarifJasaICU + "%)" + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
}else{
double persenJasa = persenTindakan / 100; double persenJasa = persenTindakan / 100;
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasa * persenTarifICU, hargaJual, d); RemunHargaJasaDto hargaJasa = hargaJasa(persenJasa * persenTarifICU, hargaJual, d);
d.put("persenJasa", persenTindakan + "%"); d.put("persenJasa", persenTindakan + "%");
d.put("keterangan", "Tarif Jasa (" + persenTarifJasaICU + "%)" + hargaJasa.getKeterangan()); d.put("keterangan", "Tarif Jasa (" + persenTarifJasaICU + "%)" + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
}
} else {
if( listRuanganIntensifRemun.contains(Integer.parseInt(d.get("idRuangan").toString())) ){
RemunHargaJasaDto hargaJasa = hargaJasa(persenTindakanRuangIntensif / 100, hargaJual, d);
d.put("persenJasa", persenTindakanRuangIntensif + "%");
d.put("keterangan", hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai());
} else { } else {
RemunHargaJasaDto hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d); RemunHargaJasaDto hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d);
d.put("persenJasa", persenTindakan + "%"); d.put("persenJasa", persenTindakan + "%");
@ -2537,7 +2489,6 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} }
} }
}
/* /*
* Populate data filter * Populate data filter
*/ */

View File

@ -1524,5 +1524,211 @@
</staticText> </staticText>
</frame> </frame>
</band> </band>
<band height="899">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<break>
<reportElement x="0" y="0" width="592" height="1" uuid="3ac37058-02fc-47a1-b460-1b514dbd003d">
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
</break>
<textField>
<reportElement x="72" y="0" width="415" height="105" uuid="b042e84c-fa9c-476b-a8db-3977dfae8849">
<property name="com.jaspersoft.studio.unit.x" value="px"/>
<property name="com.jaspersoft.studio.unit.y" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<textElement verticalAlignment="Bottom"/>
<textFieldExpression><![CDATA["Jakarta, "+ new SimpleDateFormat("dd MMMM yyyy", new java.util.Locale("id")).format(new Date())]]></textFieldExpression>
</textField>
<staticText>
<reportElement x="290" y="115" width="198" height="15" uuid="10f81a52-61fa-4f23-93ba-8953e4b28688">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<text><![CDATA[Kepada Yth,]]></text>
</staticText>
<staticText>
<reportElement x="290" y="130" width="198" height="15" uuid="ef4d1e2c-a3c1-457b-99eb-b3865fecbb42">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<text><![CDATA[Direktur Utama RSAB Harapan Kita]]></text>
</staticText>
<staticText>
<reportElement x="290" y="145" width="198" height="15" uuid="23d0f8ea-4ad7-4dd0-bc45-b500ca86e93b">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<text><![CDATA[di Jakarta]]></text>
</staticText>
<textField textAdjust="StretchHeight">
<reportElement positionType="Float" stretchType="RelativeToTallestObject" x="72" y="324" width="415" height="19" uuid="815b2aa9-4e66-4f44-a9cc-98f35f99eb0c">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression><![CDATA[" Dengan ini mengajukan permohonan "+($F{statusPegawai}!=null?$F{statusPegawai}.toLowerCase():"-")+" tahun "+ new SimpleDateFormat("yyyy", new java.util.Locale("id")).format(new Date())+" selama "+($F{lamaCuti}!=null?$F{lamaCuti}+" hari":"-")+" terhitung mulai "+($F{detailTgl}!=null?$F{detailTgl}:"-")+". Alasan permohonan " + ($F{statusPegawai}!=null?$F{statusPegawai}.toLowerCase():"-")+" tersebut adalah "+($F{alasan}!=null?$F{alasan}.toLowerCase():"-")+($F{tglMasuk}!=""?". Adapun saya telah bekerja di RSAB Harapan Kita sejak tanggal "+$F{tglMasuk}:"")+". Selama menjalankan cuti alamat saya adalah di "+($F{alamat}!=null?$F{alamat}:"-")+"."]]></textFieldExpression>
</textField>
<staticText>
<reportElement positionType="Float" x="72" y="234" width="89" height="15" uuid="def00d79-2d7a-4bfa-b6f1-e6d3b40d4aa3">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
<property name="com.jaspersoft.studio.unit.x" value="pixel"/>
</reportElement>
<text><![CDATA[Nama]]></text>
</staticText>
<staticText>
<reportElement positionType="Float" x="161" y="234" width="5" height="15" uuid="8608f6fd-b50a-4292-b5cc-32fbb53ccc30">
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<text><![CDATA[:]]></text>
</staticText>
<textField>
<reportElement positionType="Float" x="166" y="234" width="322" height="15" uuid="9ecd6142-41e4-44c4-8d16-94c98c4a6510"/>
<textFieldExpression><![CDATA[($F{nama}!=null?$F{nama}:"")]]></textFieldExpression>
</textField>
<staticText>
<reportElement positionType="Float" x="72" y="249" width="89" height="15" uuid="d1ea37ca-bda4-4b8f-9db7-80179f8dbc48">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<text><![CDATA[NIP]]></text>
</staticText>
<staticText>
<reportElement positionType="Float" x="161" y="249" width="5" height="15" uuid="f34be8e8-6fe8-4726-ac56-c16a0a6a4b36"/>
<text><![CDATA[:]]></text>
</staticText>
<textField>
<reportElement positionType="Float" x="166" y="249" width="322" height="15" uuid="7f282ef2-662c-444f-980b-ea614ca021d9"/>
<textFieldExpression><![CDATA[($F{nip}!=null?$F{nip}:"")]]></textFieldExpression>
</textField>
<staticText>
<reportElement positionType="Float" x="72" y="264" width="89" height="15" uuid="d928875f-c0c0-49d9-b234-7cd984033dfd">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<text><![CDATA[Pangkat, Gol]]></text>
</staticText>
<staticText>
<reportElement positionType="Float" x="161" y="264" width="5" height="15" uuid="cf30eac4-4c1b-4d70-bb36-155e9eeb2de9"/>
<text><![CDATA[:]]></text>
</staticText>
<textField>
<reportElement positionType="Float" x="166" y="264" width="322" height="15" uuid="f398f10d-7bb9-4036-96d9-6f0122599d5c"/>
<textFieldExpression><![CDATA[$F{pangkatGol}!=null?$F{pangkatGol}:"-"]]></textFieldExpression>
</textField>
<staticText>
<reportElement positionType="Float" x="72" y="279" width="89" height="15" uuid="dbeb04c6-58ad-43fe-96bb-f1aad3095bca">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<text><![CDATA[Jabatan]]></text>
</staticText>
<staticText>
<reportElement positionType="Float" x="161" y="279" width="5" height="15" uuid="3c40abd5-bd1f-49e6-b8cf-3bdebc937269"/>
<text><![CDATA[:]]></text>
</staticText>
<textField>
<reportElement positionType="Float" x="166" y="279" width="322" height="15" uuid="3f10b7b1-5a51-4b95-b6ae-b60351b4800f"/>
<textFieldExpression><![CDATA[($F{jabatan}!=null?$F{jabatan}:"")]]></textFieldExpression>
</textField>
<staticText>
<reportElement positionType="Float" x="72" y="294" width="89" height="15" uuid="1e1039fb-0909-41df-9f3d-aed0ca5ebce5">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<text><![CDATA[Satuan Organisasi]]></text>
</staticText>
<staticText>
<reportElement positionType="Float" x="161" y="294" width="5" height="15" uuid="9c1f9ac6-f054-4457-8b93-933f05fa882e"/>
<text><![CDATA[:]]></text>
</staticText>
<textField>
<reportElement positionType="Float" x="166" y="294" width="322" height="15" uuid="a26e2463-956d-467a-ab41-d0f555496aa5"/>
<textFieldExpression><![CDATA["RSAB Harapan Kita"]]></textFieldExpression>
</textField>
<textField textAdjust="StretchHeight">
<reportElement positionType="Float" stretchType="RelativeToTallestObject" x="72" y="354" width="415" height="20" uuid="fe372652-87fc-451b-bd28-ce4a1c28c3a8">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression><![CDATA[" Demikian permohonan "+($F{statusPegawai}!=null?$F{statusPegawai}.toLowerCase():"-")+" ini saya buat, terima kasih."]]></textFieldExpression>
</textField>
<textField>
<reportElement positionType="Float" x="43" y="410" width="250" height="31" uuid="38f2321c-a453-4d37-bc4e-d4507c93a373">
<property name="com.jaspersoft.studio.unit.x" value="pixel"/>
<property name="com.jaspersoft.studio.unit.height" value="pixel"/>
</reportElement>
<textElement textAlignment="Left" verticalAlignment="Top">
<font size="10"/>
</textElement>
<textFieldExpression><![CDATA[$F{jabatanAtasan1}!=null?$F{jabatanAtasan1}:$F{jabatanAtasan2}!=null?$F{jabatanAtasan2}:""]]></textFieldExpression>
</textField>
<textField>
<reportElement positionType="Float" x="43" y="465" width="250" height="15" uuid="d474f1e3-5cdd-47b3-b28f-5aae4978737a">
<property name="com.jaspersoft.studio.unit.x" value="pixel"/>
</reportElement>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font size="10"/>
</textElement>
<textFieldExpression><![CDATA[$F{namaAtasan1}!=null?$F{namaAtasan1}:$F{namaAtasan2}!=null?$F{namaAtasan2}:""]]></textFieldExpression>
</textField>
<textField>
<reportElement positionType="Float" x="43" y="480" width="250" height="15" uuid="3b97642c-b56e-42e3-a6d1-2ef2e115bb0e">
<property name="com.jaspersoft.studio.unit.x" value="pixel"/>
</reportElement>
<textElement textAlignment="Left" verticalAlignment="Bottom">
<font size="10"/>
</textElement>
<textFieldExpression><![CDATA[$F{nipAtasan1}!=null?"NIP."+$F{nipAtasan1}:$F{nipAtasan2}!=null?"NIP."+$F{nipAtasan2}:""]]></textFieldExpression>
</textField>
<staticText>
<reportElement positionType="Float" x="313" y="395" width="196" height="15" uuid="d75bb821-e66f-4bf9-a862-e53b07e29d71"/>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font size="10"/>
</textElement>
<text><![CDATA[Hormat saya,]]></text>
</staticText>
<textField isBlankWhenNull="true">
<reportElement positionType="Float" x="313" y="465" width="196" height="15" uuid="b31bff61-b9d0-4b0c-a1e2-ab8372ffca05">
<property name="com.jaspersoft.studio.unit.height" value="pixel"/>
</reportElement>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font size="10"/>
</textElement>
<textFieldExpression><![CDATA[$F{nama}]]></textFieldExpression>
</textField>
<textField>
<reportElement positionType="Float" x="313" y="480" width="196" height="15" uuid="1ab446e3-18c3-48a6-9e9c-d921f5da58d4">
<property name="com.jaspersoft.studio.unit.x" value="pixel"/>
<property name="com.jaspersoft.studio.unit.height" value="pixel"/>
</reportElement>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font size="10"/>
</textElement>
<textFieldExpression><![CDATA[$F{nip}!=null?"NIP."+$F{nip}:""]]></textFieldExpression>
</textField>
<staticText>
<reportElement positionType="Float" x="43" y="395" width="250" height="15" uuid="22df296a-d82d-4325-9fff-ca6d603937b0"/>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font size="10"/>
</textElement>
<text><![CDATA[Mengetahui,]]></text>
</staticText>
<staticText>
<reportElement x="72" y="190" width="175" height="15" uuid="92de4191-6384-47dc-9d68-375e8605dd84">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<text><![CDATA[Dengan hormat,]]></text>
</staticText>
<staticText>
<reportElement x="72" y="205" width="175" height="15" uuid="2ca29930-b387-4052-b5c7-1fe5b455f697">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<text><![CDATA[Yang bertanda tangan di bawah ini :]]></text>
</staticText>
</band>
</detail> </detail>
</jasperReport> </jasperReport>

View File

@ -257,7 +257,7 @@
<textElement verticalAlignment="Middle"> <textElement verticalAlignment="Middle">
<font size="10"/> <font size="10"/>
</textElement> </textElement>
<text><![CDATA[Direktur Utama RSAB Harapan Kita]]></text> <text><![CDATA[Yth. Menteri Kesehatan RI]]></text>
</staticText> </staticText>
<staticText> <staticText>
<reportElement x="382" y="12" width="178" height="17" uuid="d382faef-4c46-4fbf-a505-1bcc7b814e35"/> <reportElement x="382" y="12" width="178" height="17" uuid="d382faef-4c46-4fbf-a505-1bcc7b814e35"/>
@ -1338,5 +1338,212 @@
<textFieldExpression><![CDATA[$F{nipMenkes} != null ? $F{nipMenkes} : ""]]></textFieldExpression> <textFieldExpression><![CDATA[$F{nipMenkes} != null ? $F{nipMenkes} : ""]]></textFieldExpression>
</textField> </textField>
</band> </band>
<band height="935">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<break>
<reportElement x="0" y="0" width="558" height="1" uuid="869b09e3-bceb-4163-b52c-c3c05efad9ae">
<property name="com.jaspersoft.studio.unit.y" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
</break>
<textField>
<reportElement x="72" y="0" width="415" height="105" uuid="fe6b633f-4ca7-4a25-a1c5-08e25a44e095">
<property name="com.jaspersoft.studio.unit.x" value="px"/>
<property name="com.jaspersoft.studio.unit.y" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<textElement verticalAlignment="Bottom"/>
<textFieldExpression><![CDATA["Jakarta, "+ new SimpleDateFormat("dd MMMM yyyy", new java.util.Locale("id")).format(new Date())]]></textFieldExpression>
</textField>
<staticText>
<reportElement x="290" y="115" width="198" height="15" uuid="326c72f8-0be5-40d2-8da7-19beb0f28b94">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<text><![CDATA[Kepada Yth,]]></text>
</staticText>
<staticText>
<reportElement x="290" y="130" width="198" height="15" uuid="11935348-65a5-4536-a408-a59e2b7bac1c">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<text><![CDATA[Direktur Utama RSAB Harapan Kita]]></text>
</staticText>
<staticText>
<reportElement x="290" y="145" width="198" height="15" uuid="f41657cb-125c-4121-b9f5-26cc1ee3592a">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<text><![CDATA[di Jakarta]]></text>
</staticText>
<textField textAdjust="StretchHeight">
<reportElement positionType="Float" stretchType="RelativeToTallestObject" x="72" y="330" width="415" height="19" uuid="2b6afbb3-c869-4d2d-be9f-6fdc85128f44">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression><![CDATA[" Dengan ini mengajukan permohonan "+($F{statusPegawai}!=null?$F{statusPegawai}.toLowerCase():"-")+" tahun "+ new SimpleDateFormat("yyyy", new java.util.Locale("id")).format(new Date())+" selama "+($F{jumlahHari}!=null?$F{jumlahHari}+" hari":"-")+" terhitung mulai "+($F{listDate}!=null?$F{listDate}:"-")+". Alasan permohonan " + ($F{statusPegawai}!=null?$F{statusPegawai}.toLowerCase():"-")+" tersebut adalah "+($F{alasan}!=null?$F{alasan}.toLowerCase():"-")+($F{tglMasuk}!=""?". Adapun saya telah bekerja di RSAB Harapan Kita sejak tanggal "+$F{tglMasuk}:"")+". Selama menjalankan cuti alamat saya adalah di "+($F{alamat}!=null?$F{alamat}:"-")+"."]]></textFieldExpression>
</textField>
<staticText>
<reportElement positionType="Float" x="72" y="240" width="89" height="15" uuid="1951cf37-1ab8-4661-9902-85693486af6d">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
<property name="com.jaspersoft.studio.unit.x" value="pixel"/>
</reportElement>
<text><![CDATA[Nama]]></text>
</staticText>
<staticText>
<reportElement positionType="Float" x="161" y="240" width="5" height="15" uuid="164f2593-f496-4a1a-a941-e463be471a62">
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<text><![CDATA[:]]></text>
</staticText>
<textField>
<reportElement positionType="Float" x="166" y="240" width="322" height="15" uuid="a177697f-69a4-42b6-8b96-2ae720b8d48a"/>
<textFieldExpression><![CDATA[($F{nama}!=null?$F{nama}:"")]]></textFieldExpression>
</textField>
<staticText>
<reportElement positionType="Float" x="72" y="255" width="89" height="15" uuid="e0e9acaf-1977-4c4e-88d8-d212c204f9b7">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<text><![CDATA[NIP]]></text>
</staticText>
<staticText>
<reportElement positionType="Float" x="161" y="255" width="5" height="15" uuid="ba040a65-65a4-4c96-be43-c6829138a665"/>
<text><![CDATA[:]]></text>
</staticText>
<textField>
<reportElement positionType="Float" x="166" y="255" width="322" height="15" uuid="ef1a216e-802b-40c2-837e-ef22334e85ac"/>
<textFieldExpression><![CDATA[($F{nip}!=null?$F{nip}:"")]]></textFieldExpression>
</textField>
<staticText>
<reportElement positionType="Float" x="72" y="270" width="89" height="15" uuid="2352fcfd-a821-4713-9ee0-d0105d310701">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<text><![CDATA[Pangkat, Gol]]></text>
</staticText>
<staticText>
<reportElement positionType="Float" x="161" y="270" width="5" height="15" uuid="61163194-1cde-4ec7-bfbb-083fa676c26e"/>
<text><![CDATA[:]]></text>
</staticText>
<textField>
<reportElement positionType="Float" x="166" y="270" width="322" height="15" uuid="c91357e8-7116-4e8a-b923-2ffd8da31687"/>
<textFieldExpression><![CDATA[$F{pangkatGol}!=null?$F{pangkatGol}:"-"]]></textFieldExpression>
</textField>
<staticText>
<reportElement positionType="Float" x="72" y="285" width="89" height="15" uuid="369cf729-9689-4e71-9433-6aafc7d03d63">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<text><![CDATA[Jabatan]]></text>
</staticText>
<staticText>
<reportElement positionType="Float" x="161" y="285" width="5" height="15" uuid="c5b1cc61-54b7-48ad-9ddb-d9a584bd4c81"/>
<text><![CDATA[:]]></text>
</staticText>
<textField>
<reportElement positionType="Float" x="166" y="285" width="322" height="15" uuid="b13c4d7d-4da0-41b2-bd0a-379f0253365a"/>
<textFieldExpression><![CDATA[($F{jabatan}!=null?$F{jabatan}:"")]]></textFieldExpression>
</textField>
<staticText>
<reportElement positionType="Float" x="72" y="300" width="89" height="15" uuid="8922bbe8-9fe6-43a5-8bcd-a7a863c0a27d">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<text><![CDATA[Satuan Organisasi]]></text>
</staticText>
<staticText>
<reportElement positionType="Float" x="161" y="300" width="5" height="15" uuid="8b372655-ccc8-498d-a783-5afde86cbaf4"/>
<text><![CDATA[:]]></text>
</staticText>
<textField>
<reportElement positionType="Float" x="166" y="300" width="322" height="15" uuid="4c6d76e9-6036-41b7-9a76-85ac69fe3f54"/>
<textFieldExpression><![CDATA["RSAB Harapan Kita"]]></textFieldExpression>
</textField>
<textField textAdjust="StretchHeight">
<reportElement positionType="Float" stretchType="RelativeToTallestObject" x="72" y="360" width="415" height="20" uuid="afa46059-f5f1-4a94-a723-6f0456c2aa31">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
</reportElement>
<textElement textAlignment="Left"/>
<textFieldExpression><![CDATA[" Demikian permohonan "+($F{statusPegawai}!=null?$F{statusPegawai}.toLowerCase():"-")+" ini saya buat, terima kasih."]]></textFieldExpression>
</textField>
<textField>
<reportElement positionType="Float" x="44" y="416" width="250" height="31" uuid="86a26d64-b72a-452f-a5d0-545824fff617">
<property name="com.jaspersoft.studio.unit.x" value="pixel"/>
<property name="com.jaspersoft.studio.unit.height" value="pixel"/>
</reportElement>
<textElement textAlignment="Left" verticalAlignment="Top">
<font size="10"/>
</textElement>
<textFieldExpression><![CDATA[$F{jabatanAtasan1}!=null?$F{jabatanAtasan1}:$F{jabatanAtasan2}!=null?$F{jabatanAtasan2}:""]]></textFieldExpression>
</textField>
<textField>
<reportElement positionType="Float" x="44" y="471" width="250" height="15" uuid="648fd884-67c5-4d08-a58e-752d43a651bd">
<property name="com.jaspersoft.studio.unit.x" value="pixel"/>
</reportElement>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font size="10"/>
</textElement>
<textFieldExpression><![CDATA[$F{namaAtasan1}!=null?$F{namaAtasan1}:$F{namaAtasan2}!=null?$F{namaAtasan2}:""]]></textFieldExpression>
</textField>
<textField>
<reportElement positionType="Float" x="44" y="486" width="250" height="15" uuid="fe05c47f-aab5-4edf-98f7-aaebc9bdc6a1">
<property name="com.jaspersoft.studio.unit.x" value="pixel"/>
</reportElement>
<textElement textAlignment="Left" verticalAlignment="Bottom">
<font size="10"/>
</textElement>
<textFieldExpression><![CDATA[$F{nipAtasan1}!=null?"NIP."+$F{nipAtasan1}:$F{nipAtasan2}!=null?"NIP."+$F{nipAtasan2}:""]]></textFieldExpression>
</textField>
<staticText>
<reportElement positionType="Float" x="314" y="401" width="196" height="15" uuid="7bcc7a28-b37f-4a3a-a562-d57c8dc2835f"/>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font size="10"/>
</textElement>
<text><![CDATA[Hormat saya,]]></text>
</staticText>
<textField isBlankWhenNull="true">
<reportElement positionType="Float" x="314" y="471" width="196" height="15" uuid="265785ad-e0c1-4f4e-b063-d98c95e27d74">
<property name="com.jaspersoft.studio.unit.height" value="pixel"/>
</reportElement>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font size="10"/>
</textElement>
<textFieldExpression><![CDATA[$F{nama}]]></textFieldExpression>
</textField>
<textField>
<reportElement positionType="Float" x="314" y="486" width="196" height="15" uuid="b3b92289-e3f8-4ac0-b504-979631082aab">
<property name="com.jaspersoft.studio.unit.x" value="pixel"/>
<property name="com.jaspersoft.studio.unit.height" value="pixel"/>
</reportElement>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font size="10"/>
</textElement>
<textFieldExpression><![CDATA[$F{nip}!=null?"NIP."+$F{nip}:""]]></textFieldExpression>
</textField>
<staticText>
<reportElement positionType="Float" x="44" y="401" width="250" height="15" uuid="79946d39-f451-46d9-b43f-c538274991d3"/>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font size="10"/>
</textElement>
<text><![CDATA[Mengetahui,]]></text>
</staticText>
<staticText>
<reportElement x="72" y="190" width="175" height="15" uuid="db1b2f42-b8e0-40c9-9468-f32c83234fd0">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<text><![CDATA[Dengan hormat,]]></text>
</staticText>
<staticText>
<reportElement x="72" y="205" width="175" height="15" uuid="f98791d0-3688-494c-8e0c-fc22a6f6ce23">
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<property name="com.jaspersoft.studio.unit.width" value="px"/>
</reportElement>
<text><![CDATA[Yang bertanda tangan di bawah ini:]]></text>
</staticText>
</band>
</detail> </detail>
</jasperReport> </jasperReport>

View File

@ -2655,16 +2655,7 @@ public class SdmController extends LocaleController<AkunVO> {
getMessage(MessageResource.LABEL_SUCCESS, request)); getMessage(MessageResource.LABEL_SUCCESS, request));
return RestUtil.getJsonResponse(result, HttpStatus.OK); return RestUtil.getJsonResponse(result, HttpStatus.OK);
} catch (Exception e) { } catch (Exception e) {
Map<String, Object> error = new HashMap<>(); return RestUtil.getJsonHttptatus(HttpStatus.INTERNAL_SERVER_ERROR);
error.put("message", e.getMessage());
if (e.getStackTrace() != null && e.getStackTrace().length > 0) {
error.put("line", e.getStackTrace()[0].getLineNumber());
error.put("class", e.getStackTrace()[0].getClassName());
error.put("method", e.getStackTrace()[0].getMethodName());
}
return RestUtil.getJsonResponse(error, HttpStatus.INTERNAL_SERVER_ERROR);
} }
} }
@ -6004,7 +5995,17 @@ public class SdmController extends LocaleController<AkunVO> {
body.put("message", "ready"); body.put("message", "ready");
body.put("time", now); body.put("time", now);
return ResponseEntity.ok(body); long latency = System.currentTimeMillis() - startTime;
Map<String, Object> response = new LinkedHashMap<>();
response.put("url", request.getRequestURL().toString());
response.put("status_code", HttpStatus.OK.value());
response.put("is_ok", true);
response.put("latency_ms", latency);
response.put("body", body);
response.put("checked_at", now);
return ResponseEntity.ok(response);
} }
} }