Merge branch 'prod/base'

This commit is contained in:
adesyawal 2025-10-22 08:33:45 +07:00
commit d8de068b74
13 changed files with 304 additions and 202 deletions

View File

@ -377,18 +377,16 @@ public final class Master {
public static final class ShiftKerja { public static final class ShiftKerja {
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 }; 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, 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
83 }; public static final Integer NONSHIFT_J = 177; // sudah di update dengan penambahan master baru
public static final Integer NONSHIFT_J = 19; public static final Integer NONSHIFT_SK = 175; // sudah di update dengan penambahan master baru
public static final Integer NONSHIFT_SK = 18; public static final Integer NONSHIFT_PLUS_J = 178; // sudah di update dengan penambahan master baru
public static final Integer NONSHIFT_PLUS_J = 85; public static final Integer NONSHIFT_PLUS_SK = 176; // sudah di update dengan penambahan master baru
public static final Integer NONSHIFT_PLUS_SK = 84;
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 }; 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, 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
114, 115 };
} }
public static final class StatusPegawai { public static final class StatusPegawai {

View File

@ -51,6 +51,10 @@ public interface LogbookKinerjaDetailDao extends PagingAndSortingRepository<Logb
@Param("jabatanId") Integer idJabatan, @Param("indikatorId") Integer idIndikator, @Param("jabatanId") Integer idJabatan, @Param("indikatorId") Integer idIndikator,
@Param("start") Date start, @Param("end") Date end); @Param("start") Date start, @Param("end") Date end);
@Query(strGetWR + sortGetWR)
List<Map<String, Object>> findWorkingRecordTanpaStatusVerif(@Param("pegawaiId") Integer idPegawai,
@Param("jabatanId") Integer idJabatan, @Param("start") Date start, @Param("end") Date end);
@Query("select new Map(lkd.logbookKinerjaId as logbookId,sum(lkd.capaian) as sumCapaian,ikm.satuanIndikatorId as satuanId) " @Query("select new Map(lkd.logbookKinerjaId as logbookId,sum(lkd.capaian) as sumCapaian,ikm.satuanIndikatorId as satuanId) "
+ "from LogbookKinerjaDetail lkd " + "inner join lkd.logbookKinerja lk " + "from LogbookKinerjaDetail lkd " + "inner join lkd.logbookKinerja lk "
+ "inner join lk.indikatorKinerja ikm " + "where lkd.statusEnabled is true " + "inner join lk.indikatorKinerja ikm " + "where lkd.statusEnabled is true "

View File

@ -204,8 +204,8 @@ public interface PelayananPasienDao extends JpaRepository<PelayananPasien, Strin
+ "ppp.ObjectPegawaiId as idPegawai," + "pp.noRec as idPelayananPasien,coalesce(pp.jumlah,0) as jumlah," + "ppp.ObjectPegawaiId as idPegawai," + "pp.noRec as idPelayananPasien,coalesce(pp.jumlah,0) as jumlah,"
+ "coalesce(pp.hargaJual,0) as hargaJual,coalesce(pp.hargaDiscount,0) as hargaDiskon," + "coalesce(pp.hargaJual,0) as hargaJual,coalesce(pp.hargaDiscount,0) as hargaDiskon,"
+ "pp.voucherPaketId as idVoucherLayanan,coalesce(pp.isPaket,false) as isPaket,coalesce(pp.isSelisihPaket,false) as isSelisihPaket," + "pp.voucherPaketId as idVoucherLayanan,coalesce(pp.isPaket,false) as isPaket,coalesce(pp.isSelisihPaket,false) as isSelisihPaket,"
+ "coalesce(pp.persenDiskonPegawai,0.0) as persenDiskonPegawai," + "coalesce(pp.isCito,false) as isCito," + "coalesce(pp.persenDiskonPegawai,0.0) as persenDiskonPegawai," + "coalesce(pp.isCito,false) as isCito," + "coalesce(pp.isHoliday,false) as isHoliday,"
+ "coalesce(pp.persenCito,0.0) as persenCito," + "coalesce(pp.persenCito,0.0) as persenCito," + "coalesce(pp.persenHoliday,0.0) as persenHoliday,"
+ "pp.tglPelayanan as tglPelayanan,to_char(pp.tglPelayanan,'yyyy-MM-dd') as tanggal," + "pp.tglPelayanan as tglPelayanan,to_char(pp.tglPelayanan,'yyyy-MM-dd') as tanggal,"
+ "pp.sayatanId as idSayatan,sy.urutan as urutanSayatan," + "pp.sayatanId as idSayatan,sy.urutan as urutanSayatan,"
+ "coalesce(sy.persen,0) as persenSayatan,coalesce(sy.nama,'') as keterangan," + "coalesce(sy.persen,0) as persenSayatan,coalesce(sy.nama,'') as keterangan,"

View File

@ -32,6 +32,20 @@ public interface ShiftKerjaDao extends PagingAndSortingRepository<ShiftKerja, In
+ "where model.kelompokShift.id=:id " + "and model.statusEnabled is true") + "where model.kelompokShift.id=:id " + "and model.statusEnabled is true")
List<Map<String, Object>> findByKelompokShiftId(@Param("id") Integer idShift); List<Map<String, Object>> findByKelompokShiftId(@Param("id") Integer idShift);
@Query("select new Map(model.factorRate as factorRate, " + "model.flagKetidakhadiran as flagKetidakhadiran, "
+ "model.id as id, " + "model.jadwalPraktekId as jadwalPraktekId, "
+ "model.jamBreakAkhir as jamBreakAkhir, " + "model.jamBreakAwal as jamBreakAwal, "
+ "model.jamMasuk as jamMasuk, " + "model.jamPraktekId as jamPraktekId, " + "model.jamPulang as jamPulang, "
+ "model.kdProfile as kdProfile, " + "model.kdShift as kdShift, "
+ "model.kelompokShiftId as kelompokShiftId, " + "model.kodeExternal as kodeExternal, "
+ "model.komponenIndexId as komponenIndexId, " + "model.namaExternal as namaExternal, "
+ "model.namaShift as namaShift, " + "model.noRec as noRec, "
+ "model.operatorFactorRate as operatorFactorRate, " + "model.qShift as qShift, "
+ "model.reportDisplay as reportDisplay, " + "model.statusEnabled as statusEnabled, "
+ "model.waktuIstirahat as waktuIstirahat) " + "from ShiftKerja model "
+ "where model.kelompokShift.id=:id ")
List<Map<String, Object>> findByKelompokShiftIdWithoutStatusEnabled(@Param("id") Integer idShift);
@Query(" select new map (komponenIndex.komponenIndex as namaKomponen, " + " komponenIndex.id as idKomponenIndex) " @Query(" select new map (komponenIndex.komponenIndex as namaKomponen, " + " komponenIndex.id as idKomponenIndex) "
+ " from KomponenIndex komponenIndex") + " from KomponenIndex komponenIndex")
public List<Map<String, Object>> getListKomponenIndex(); public List<Map<String, Object>> getListKomponenIndex();

View File

@ -13,6 +13,9 @@ public interface LogbookKinerjaDetailService
List<Map<String, Object>> findWorkingRecord(Integer idPegawai, Integer idJabatan, Long bulan, Boolean statusVerif) List<Map<String, Object>> findWorkingRecord(Integer idPegawai, Integer idJabatan, Long bulan, Boolean statusVerif)
throws JpaSystemException; throws JpaSystemException;
List<Map<String, Object>> findWorkingRecordTanpaStatusVerif(Integer idPegawai, Integer idJabatan, Long bulan)
throws JpaSystemException;
List<Map<String, Object>> findWorkingRecord(Integer idPegawai, Integer idJabatan, Integer idIndikator, Long bulan) List<Map<String, Object>> findWorkingRecord(Integer idPegawai, Integer idJabatan, Integer idIndikator, Long bulan)
throws JpaSystemException; throws JpaSystemException;

View File

@ -205,6 +205,28 @@ public class LogbookKinerjaDetailServiceImpl extends BaseVoServiceImpl implement
return result; return result;
} }
@Override
public List<Map<String, Object>> findWorkingRecordTanpaStatusVerif(Integer idPegawai, Integer idJabatan, Long bulan) throws JpaSystemException {
DateFormat df = new SimpleDateFormat("yyyy-MM");
Date start = DateUtil.startMonth(bulan);
Date end = DateUtil.endMonth(bulan);
String strTglLimitVerif = settingDataFixedDao.getSettingDataFixed("tglLimitVerifWorkingRecord");
LocalDateTime tglLimitVerif = LocalDateTime
.of(LocalDate.parse(df.format(new Date(bulan)) + strTglLimitVerif).plusMonths(1), LocalTime.MAX);
List<Map<String, Object>> result = logbookKinerjaDetailDao.findWorkingRecordTanpaStatusVerif(idPegawai, idJabatan, start, end);
for (Map<String, Object> map : result) {
Map<String, Object> logbook = new HashMap<>();
logbook.put("noRec", map.get("logbookNoRec"));
map.put("logbookKinerja", logbook);
map.put("tglBatasAkhirVerif", Date.from(tglLimitVerif.atZone(ZoneId.systemDefault()).toInstant()));
map.remove("logbookNoRec");
}
return result;
}
@Override @Override
public List<Map<String, Object>> findWorkingRecord(Integer idPegawai, Integer idJabatan, Integer idIndikator, public List<Map<String, Object>> findWorkingRecord(Integer idPegawai, Integer idJabatan, Integer idIndikator,
Long bulan) throws JpaSystemException { Long bulan) throws JpaSystemException {

View File

@ -745,7 +745,7 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
Date jadwalPulang = null; Date jadwalPulang = null;
Date jam_masuk; Date jam_masuk;
Date jam_pulang; Date jam_pulang;
Date tanggal = (Date) data.get("tanggal"); Date tanggal = (Date) data.get("tanggal");
String tgl = df.format(tanggal); String tgl = df.format(tanggal);
data.put("dates", tanggal.getTime()); data.put("dates", tanggal.getTime());
@ -1390,6 +1390,7 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
} }
} }
List<Map<String, Object>> newResultDataShift = new ArrayList<>();
for (Integer id : listIdPegawaiFilter) { for (Integer id : listIdPegawaiFilter) {
PegawaiStatusDto pegawaiStatus = pegawaiDao.findStatusById(id); PegawaiStatusDto pegawaiStatus = pegawaiDao.findStatusById(id);
String idFinger = pegawaiStatus.getIdFinger(); String idFinger = pegawaiStatus.getIdFinger();
@ -1406,6 +1407,8 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
Integer cuti = 0; Integer cuti = 0;
Integer sakit = 0; Integer sakit = 0;
Integer absenTunggal = 0; Integer absenTunggal = 0;
Integer absenTunggalNonJadwal = 0;
Integer hadir_tanpa_jadwal = 0;
int jumlahCountTerlambat = 0; int jumlahCountTerlambat = 0;
Long jumlahTerlambat = (long) 0; Long jumlahTerlambat = (long) 0;
int jumlahCountKelebihanJamKerja = 0; int jumlahCountKelebihanJamKerja = 0;
@ -1740,18 +1743,35 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
} }
if (CommonUtil.isNotNullOrEmpty(listTrNo)) { if (CommonUtil.isNotNullOrEmpty(listTrNo)) {
dataPM.put("listTrNo", listTrNo); dataPM.put("listTrNo", listTrNo);
}
if (CommonUtil.isNullOrEmpty(dataPM.get("kodeShift"))){
if ((CommonUtil.isNullOrEmpty(dataPM.get("absensiPulang"))
&& CommonUtil.isNotNullOrEmpty(dataPM.get("absensiMasuk")))
&& (CommonUtil.isNotNullOrEmpty(jamMasuk)
&& CommonUtil.isNotNullOrEmpty(jamPulang))) {
absenTunggalNonJadwal++;
} else if ((CommonUtil.isNotNullOrEmpty(dataPM.get("absensiPulang"))
&& CommonUtil.isNullOrEmpty(dataPM.get("absensiMasuk")))
&& (CommonUtil.isNotNullOrEmpty(jamMasuk)
&& CommonUtil.isNotNullOrEmpty(jamPulang))) {
absenTunggalNonJadwal++;
} else if ((CommonUtil.isNotNullOrEmpty(dataPM.get("absensiPulang")) && CommonUtil.isNotNullOrEmpty(dataPM.get("absensiMasuk")))) {
hadir_tanpa_jadwal++;
}
}else{
if ((CommonUtil.isNullOrEmpty(dataPM.get("absensiPulang"))
&& CommonUtil.isNotNullOrEmpty(dataPM.get("absensiMasuk")))
&& (CommonUtil.isNotNullOrEmpty(jamMasuk)
&& CommonUtil.isNotNullOrEmpty(jamPulang))) {
absenTunggal++;
} else if ((CommonUtil.isNotNullOrEmpty(dataPM.get("absensiPulang"))
&& CommonUtil.isNullOrEmpty(dataPM.get("absensiMasuk")))
&& (CommonUtil.isNotNullOrEmpty(jamMasuk)
&& CommonUtil.isNotNullOrEmpty(jamPulang))) {
absenTunggal++;
}
} }
if ((CommonUtil.isNullOrEmpty(dataPM.get("absensiPulang"))
&& CommonUtil.isNotNullOrEmpty(dataPM.get("absensiMasuk")))
&& (CommonUtil.isNotNullOrEmpty(jamMasuk)
&& CommonUtil.isNotNullOrEmpty(jamPulang))) {
absenTunggal++;
} else if ((CommonUtil.isNotNullOrEmpty(dataPM.get("absensiPulang"))
&& CommonUtil.isNullOrEmpty(dataPM.get("absensiMasuk")))
&& (CommonUtil.isNotNullOrEmpty(jamMasuk)
&& CommonUtil.isNotNullOrEmpty(jamPulang))) {
absenTunggal++;
}
if (CommonUtil.isNullOrEmpty(dataPM.get("absensiMasuk"))) { if (CommonUtil.isNullOrEmpty(dataPM.get("absensiMasuk"))) {
dataPM.put("absensiMasuk", "-"); dataPM.put("absensiMasuk", "-");
} }
@ -1976,15 +1996,31 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
if (CommonUtil.isNotNullOrEmpty(listTrNo)) { if (CommonUtil.isNotNullOrEmpty(listTrNo)) {
data.put("listTrNo", listTrNo); data.put("listTrNo", listTrNo);
} }
if ((CommonUtil.isNullOrEmpty(data.get("absensiPulang"))
&& CommonUtil.isNotNullOrEmpty(data.get("absensiMasuk"))) if (CommonUtil.isNullOrEmpty(data.get("kodeShift"))){
&& (CommonUtil.isNotNullOrEmpty(jamMasuk) && CommonUtil.isNotNullOrEmpty(jamPulang))) { if ((CommonUtil.isNullOrEmpty(data.get("absensiPulang"))
absenTunggal++; && CommonUtil.isNotNullOrEmpty(data.get("absensiMasuk")))
} else if ((CommonUtil.isNotNullOrEmpty(data.get("absensiPulang")) && (CommonUtil.isNotNullOrEmpty(jamMasuk) && CommonUtil.isNotNullOrEmpty(jamPulang))) {
&& CommonUtil.isNullOrEmpty(data.get("absensiMasuk"))) absenTunggalNonJadwal++;
&& (CommonUtil.isNotNullOrEmpty(jamMasuk) && CommonUtil.isNotNullOrEmpty(jamPulang))) { } else if ((CommonUtil.isNotNullOrEmpty(data.get("absensiPulang"))
absenTunggal++; && CommonUtil.isNullOrEmpty(data.get("absensiMasuk")))
&& (CommonUtil.isNotNullOrEmpty(jamMasuk) && CommonUtil.isNotNullOrEmpty(jamPulang))) {
absenTunggalNonJadwal++;
} else if ((CommonUtil.isNotNullOrEmpty(data.get("absensiPulang")) && CommonUtil.isNotNullOrEmpty(data.get("absensiMasuk")))) {
hadir_tanpa_jadwal++;
}
}else{
if ((CommonUtil.isNullOrEmpty(data.get("absensiPulang"))
&& CommonUtil.isNotNullOrEmpty(data.get("absensiMasuk")))
&& (CommonUtil.isNotNullOrEmpty(jamMasuk) && CommonUtil.isNotNullOrEmpty(jamPulang))) {
absenTunggal++;
} else if ((CommonUtil.isNotNullOrEmpty(data.get("absensiPulang"))
&& CommonUtil.isNullOrEmpty(data.get("absensiMasuk")))
&& (CommonUtil.isNotNullOrEmpty(jamMasuk) && CommonUtil.isNotNullOrEmpty(jamPulang))) {
absenTunggal++;
}
} }
if (CommonUtil.isNullOrEmpty(data.get("absensiMasuk"))) { if (CommonUtil.isNullOrEmpty(data.get("absensiMasuk"))) {
data.put("absensiMasuk", "-"); data.put("absensiMasuk", "-");
} }
@ -2097,7 +2133,13 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
listkehadiran.add(data); listkehadiran.add(data);
} }
} }
Set<Object> uniqueKodeShift = new LinkedHashSet<>();
Set<Object> uniqueNipPegawai = new LinkedHashSet<>();
for (Map<String, Object> mapKehadiran : listkehadiran) { for (Map<String, Object> mapKehadiran : listkehadiran) {
uniqueKodeShift.add(mapKehadiran.get("kodeShift"));
uniqueNipPegawai.add(mapKehadiran.get("nip"));
mapKehadiran.put("absenTunggal", absenTunggal); mapKehadiran.put("absenTunggal", absenTunggal);
mapKehadiran.put("p1", p1); mapKehadiran.put("p1", p1);
mapKehadiran.put("pagi", pagi); mapKehadiran.put("pagi", pagi);
@ -2108,6 +2150,37 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
mapKehadiran.put("cuti", cuti); mapKehadiran.put("cuti", cuti);
mapKehadiran.put("sakit", sakit); mapKehadiran.put("sakit", sakit);
} }
List<Map<Object, Long>> listShiftArray = new ArrayList<>();
Map<String, Object> listInformasiAbsensi = new HashMap<>();
Map<String, Object> listInformasiAbsensiLainnya = new HashMap<>();
Map<Object, Long> dataShift = new HashMap<>();
Map<String, Object> collectDataShift = new HashMap<>();
for (Object groupNip : uniqueNipPegawai) {
// Loop NIP Pegawai
for (Object groupKodeShift : uniqueKodeShift) {
listInformasiAbsensi.put("absen_tunggal", absenTunggal);
listInformasiAbsensi.put("mangkir", mangkir);
listInformasiAbsensiLainnya.put("hadir_tanpa_jadwal", hadir_tanpa_jadwal);
listInformasiAbsensiLainnya.put("absen_tunggal_tanpa_jadwal", absenTunggalNonJadwal);
if (CommonUtil.isNotNullOrEmpty(listkehadiran) && CommonUtil.isNotNullOrEmpty(groupKodeShift)) {
dataShift.put(groupKodeShift, listkehadiran.stream().filter(p -> p.containsKey("kodeShift") && groupKodeShift.equals(p.get("kodeShift"))).count());
}
}
listShiftArray.add(dataShift);
collectDataShift.put("nip", groupNip);
collectDataShift.put("listShift", listShiftArray.get(0));
collectDataShift.put("listInformasiAbsensi", listInformasiAbsensi);
collectDataShift.put("listInformasiAbsensiLainnya", listInformasiAbsensiLainnya);
collectDataShift.put("jumlahTerlambat", jumlahTerlambat.toString());
collectDataShift.put("jumlahPulangAwal", jumlahPulangAwal.toString());
collectDataShift.put("jumlahJamEfektif", jumlahJamEfektif.toString());
newResultDataShift.add(collectDataShift);
}
rsMap.put("jumlahJamLemburSdm", jumlahJamLemburUnitSdm); rsMap.put("jumlahJamLemburSdm", jumlahJamLemburUnitSdm);
rsMap.put("jumlahJamLemburUnitKerja", jumlahJamLemburUnitKerja); rsMap.put("jumlahJamLemburUnitKerja", jumlahJamLemburUnitKerja);
rsMap.put("jumlahCountTerlambat", jumlahCountTerlambat); rsMap.put("jumlahCountTerlambat", jumlahCountTerlambat);
@ -2122,6 +2195,7 @@ public class MonitoringAbsenServiceImpl extends BaseVoServiceImpl implements Mon
rsMap.put("mangkir", mangkir); rsMap.put("mangkir", mangkir);
rsMap.put("hariKerja", hariKerja); rsMap.put("hariKerja", hariKerja);
rsMap.put("listkehadiran", listkehadiran); rsMap.put("listkehadiran", listkehadiran);
rsMap.put("totalQtyShift", newResultDataShift);
listRs.addAll(listkehadiran); listRs.addAll(listkehadiran);
result.putAll(rsMap); result.putAll(rsMap);

View File

@ -261,8 +261,7 @@ public class PegawaiJadwalKerjaServiceImpl extends BaseVoServiceImpl implements
if (!listKdShift.contains(xvo.getKdShift())) { if (!listKdShift.contains(xvo.getKdShift())) {
listKdShift.add(xvo.getKdShift().toLowerCase()); listKdShift.add(xvo.getKdShift().toLowerCase());
} }
if (CommonUtil.isNotNullOrEmpty(xvo.getPegawai()) && CommonUtil.isNotNullOrEmpty(xvo.getPegawai().getId()) if (CommonUtil.isNotNullOrEmpty(xvo.getPegawai()) && CommonUtil.isNotNullOrEmpty(xvo.getPegawai().getId()) && !listIdPegawai.contains(xvo.getPegawai().getId())) {
&& !listIdPegawai.contains(xvo.getPegawai().getId())) {
listIdPegawai.add(xvo.getPegawai().getId()); listIdPegawai.add(xvo.getPegawai().getId());
} }
} }
@ -314,7 +313,7 @@ public class PegawaiJadwalKerjaServiceImpl extends BaseVoServiceImpl implements
List<String> listNorec = new ArrayList<>(); List<String> listNorec = new ArrayList<>();
List<PegawaiJadwalKerjaVO> result = new ArrayList<>(); List<PegawaiJadwalKerjaVO> result = new ArrayList<>();
DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Integer[] intStatusCutiBesarMelahirkan = { 2, 14, 24, 25, 6, 29, 26 }; Integer[] intStatusCutiBesarMelahirkan = { 2, 14, 24, 25, 6, 29, 26 }; // harusnya aman karena diambil dari master statuspegawai_m
Integer idTglCuti1 = null; Integer idTglCuti1 = null;
Integer idTglCuti2 = null; Integer idTglCuti2 = null;
@ -351,11 +350,8 @@ public class PegawaiJadwalKerjaServiceImpl extends BaseVoServiceImpl implements
for (Map<String, Object> map : listTglCuti) { for (Map<String, Object> map : listTglCuti) {
List<Map<String, Object>> getShiftTglFilled = new ArrayList<>(); List<Map<String, Object>> getShiftTglFilled = new ArrayList<>();
List<Map<String, Object>> getShiftTglEmpty = new ArrayList<>(); List<Map<String, Object>> getShiftTglEmpty = new ArrayList<>();
Map<String, Object> generatePegawaiJadwal = pegawaiService.findPegawaiByRuanganRev2(subUnitKerja, Map<String, Object> generatePegawaiJadwal = pegawaiService.findPegawaiByRuanganRev2(subUnitKerja, Integer.parseInt((String) map.get("tahun")), Integer.parseInt((String) map.get("bulan")), vo.getPegawai().getId());
Integer.parseInt((String) map.get("tahun")), Integer.parseInt((String) map.get("bulan")), List<Map<String, Object>> getShiftTanggal = (List<Map<String, Object>>) ((Map<String, Object>) ((List<Map<String, Object>>) (List<Map<String, Object>>) generatePegawaiJadwal.get("data")).get(0)).get("jadwal");
vo.getPegawai().getId());
List<Map<String, Object>> getShiftTanggal = (List<Map<String, Object>>) ((Map<String, Object>) ((List<Map<String, Object>>) (List<Map<String, Object>>) generatePegawaiJadwal
.get("data")).get(0)).get("jadwal");
// Filtering generate shift tanggal // Filtering generate shift tanggal
for (Map<String, Object> mapShiftTanggal : getShiftTanggal) { for (Map<String, Object> mapShiftTanggal : getShiftTanggal) {
if ((Integer) ((Map<String, Object>) mapShiftTanggal.get("shift")).get("id") != 0) { if ((Integer) ((Map<String, Object>) mapShiftTanggal.get("shift")).get("id") != 0) {
@ -372,8 +368,7 @@ public class PegawaiJadwalKerjaServiceImpl extends BaseVoServiceImpl implements
for (Map<String, Object> mapShiftTanggal : getShiftTglEmpty) { for (Map<String, Object> mapShiftTanggal : getShiftTglEmpty) {
// Check and switch shift tanggal cuti when filled or empty // Check and switch shift tanggal cuti when filled or empty
for (Map<String, Object> mapShiftTglFilled : getShiftTglFilled) { for (Map<String, Object> mapShiftTglFilled : getShiftTglFilled) {
if (((Integer) ((Map<String, Object>) mapShiftTanggal.get("tanggal")).get("id")) if (((Integer) ((Map<String, Object>) mapShiftTanggal.get("tanggal")).get("id")).equals((Integer) ((Map<String, Object>) mapShiftTglFilled.get("tanggal")).get("id"))) {
.equals((Integer) ((Map<String, Object>) mapShiftTglFilled.get("tanggal")).get("id"))) {
mapShiftTanggal = mapShiftTglFilled; mapShiftTanggal = mapShiftTglFilled;
break; break;
} }
@ -389,21 +384,17 @@ public class PegawaiJadwalKerjaServiceImpl extends BaseVoServiceImpl implements
Integer idTanggal = (Integer) ((Map<String, Object>) mapShiftTanggal.get("tanggal")).get("id"); Integer idTanggal = (Integer) ((Map<String, Object>) mapShiftTanggal.get("tanggal")).get("id");
if (idTglCuti1 < idTglCuti2) { if (idTglCuti1 < idTglCuti2) {
if (idTglCuti1 <= idTanggal && idTanggal <= idTglCuti2 if (idTglCuti1 <= idTanggal && idTanggal <= idTglCuti2 && !Arrays.asList(Master.ShiftKerja.HOLIDAY).contains(idShift)) {
&& !Arrays.asList(Master.ShiftKerja.HOLIDAY).contains(idShift)) {
shiftKerja.setId(idShiftExec); shiftKerja.setId(idShiftExec);
} else if (idTglCuti1 <= idTanggal && idTanggal <= idTglCuti2 } else if (idTglCuti1 <= idTanggal && idTanggal <= idTglCuti2 && Arrays.asList(Master.ShiftKerja.HOLIDAY_INCLUDED).contains(idShiftExec)) {
&& Arrays.asList(Master.ShiftKerja.HOLIDAY_INCLUDED).contains(idShiftExec)) {
shiftKerja.setId(idShiftExec); shiftKerja.setId(idShiftExec);
} else if (idShift != 0) { } else if (idShift != 0) {
shiftKerja.setId(idShift); shiftKerja.setId(idShift);
} }
} else { } else {
if (idTglCuti2 <= idTanggal && idTanggal <= idTglCuti1 if (idTglCuti2 <= idTanggal && idTanggal <= idTglCuti1 && !Arrays.asList(Master.ShiftKerja.HOLIDAY).contains(idShift)) {
&& !Arrays.asList(Master.ShiftKerja.HOLIDAY).contains(idShift)) {
shiftKerja.setId(idShiftExec); shiftKerja.setId(idShiftExec);
} else if (idTglCuti1 <= idTanggal && idTanggal <= idTglCuti2 } else if (idTglCuti1 <= idTanggal && idTanggal <= idTglCuti2 && Arrays.asList(Master.ShiftKerja.HOLIDAY_INCLUDED).contains(idShiftExec)) {
&& Arrays.asList(Master.ShiftKerja.HOLIDAY_INCLUDED).contains(idShiftExec)) {
shiftKerja.setId(idShiftExec); shiftKerja.setId(idShiftExec);
} else if (idShift != 0) { } else if (idShift != 0) {
shiftKerja.setId(idShift); shiftKerja.setId(idShift);
@ -412,15 +403,13 @@ public class PegawaiJadwalKerjaServiceImpl extends BaseVoServiceImpl implements
pegawai.setId(idPegawai); pegawai.setId(idPegawai);
tanggal.setId(idTanggal); tanggal.setId(idTanggal);
if (CommonUtil.isNotNullOrEmpty(shiftKerja.getId()) && shiftKerja.getId() != 0 if (CommonUtil.isNotNullOrEmpty(shiftKerja.getId()) && shiftKerja.getId() != 0 && !Arrays.asList(Master.ShiftKerja.HOLIDAY).contains(shiftKerja.getId())) {
&& !Arrays.asList(Master.ShiftKerja.HOLIDAY).contains(shiftKerja.getId())) {
pov.setPegawai(pegawai); pov.setPegawai(pegawai);
pov.setShift(shiftKerja); pov.setShift(shiftKerja);
pov.setTanggal(tanggal); pov.setTanggal(tanggal);
result.add(pov); result.add(pov);
} else if (Arrays.asList(Master.ShiftKerja.HOLIDAY).contains(shiftKerja.getId()) } else if (Arrays.asList(Master.ShiftKerja.HOLIDAY).contains(shiftKerja.getId()) && getShiftTglEmpty.size() == getShiftTglFilled.size()) {
&& getShiftTglEmpty.size() == getShiftTglFilled.size()) {
pov.setPegawai(pegawai); pov.setPegawai(pegawai);
pov.setShift(shiftKerja); pov.setShift(shiftKerja);
pov.setTanggal(tanggal); pov.setTanggal(tanggal);
@ -441,12 +430,10 @@ public class PegawaiJadwalKerjaServiceImpl extends BaseVoServiceImpl implements
String strTglCuti = df.format(tglCuti); String strTglCuti = df.format(tglCuti);
Integer idTglCuti = listTanggalCutiDao.getIdKalenderByTglCuti(strTglCuti); Integer idTglCuti = listTanggalCutiDao.getIdKalenderByTglCuti(strTglCuti);
if (idTglCuti.equals(idTanggal) if (idTglCuti.equals(idTanggal) && !Arrays.asList(Master.ShiftKerja.HOLIDAY).contains(idShift)) {
&& !Arrays.asList(Master.ShiftKerja.HOLIDAY).contains(idShift)) {
shiftKerja.setId(idShiftExec); shiftKerja.setId(idShiftExec);
break; break;
} else if (idTglCuti.equals(idTanggal) } else if (idTglCuti.equals(idTanggal) && Arrays.asList(Master.ShiftKerja.HOLIDAY_INCLUDED).contains(idShiftExec)) {
&& Arrays.asList(Master.ShiftKerja.HOLIDAY_INCLUDED).contains(idShiftExec)) {
shiftKerja.setId(idShiftExec); shiftKerja.setId(idShiftExec);
break; break;
} else if (CommonUtil.isNotNullOrEmpty(idShift) && idShift != 0) { } else if (CommonUtil.isNotNullOrEmpty(idShift) && idShift != 0) {
@ -461,14 +448,12 @@ public class PegawaiJadwalKerjaServiceImpl extends BaseVoServiceImpl implements
pegawai.setId(idPegawai); pegawai.setId(idPegawai);
tanggal.setId(idTanggal); tanggal.setId(idTanggal);
if (CommonUtil.isNotNullOrEmpty(shiftKerja.getId()) if (CommonUtil.isNotNullOrEmpty(shiftKerja.getId()) && !Arrays.asList(Master.ShiftKerja.HOLIDAY).contains(shiftKerja.getId())) {
&& !Arrays.asList(Master.ShiftKerja.HOLIDAY).contains(shiftKerja.getId())) {
pov.setPegawai(pegawai); pov.setPegawai(pegawai);
pov.setShift(shiftKerja); pov.setShift(shiftKerja);
pov.setTanggal(tanggal); pov.setTanggal(tanggal);
result.add(pov); result.add(pov);
} else if (Arrays.asList(Master.ShiftKerja.HOLIDAY).contains(shiftKerja.getId()) } else if (Arrays.asList(Master.ShiftKerja.HOLIDAY).contains(shiftKerja.getId()) && getShiftTglEmpty.size() == getShiftTglFilled.size()) {
&& getShiftTglEmpty.size() == getShiftTglFilled.size()) {
pov.setPegawai(pegawai); pov.setPegawai(pegawai);
pov.setShift(shiftKerja); pov.setShift(shiftKerja);
pov.setTanggal(tanggal); pov.setTanggal(tanggal);
@ -491,12 +476,12 @@ public class PegawaiJadwalKerjaServiceImpl extends BaseVoServiceImpl implements
List<String> listNorec = new ArrayList<>(); List<String> listNorec = new ArrayList<>();
List<PegawaiJadwalKerjaVO> result = new ArrayList<>(); List<PegawaiJadwalKerjaVO> result = new ArrayList<>();
DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
Integer[] intStatusLibur = { 8, 14, 15, 40 }; Integer[] intStatusLibur = { 8, 14, 15, 40 }; // id shift kerja -> tidak ada penambahan master shift
Integer[] intStatusSakitAlasanPenting = { 6, 42, 43, 44, 76, 77, 78, 79 }; Integer[] intStatusSakitAlasanPenting = { 6, 42, 43, 44, 76, 77, 78, 79, 205, 206, 207, 208 }; // id shift kerja -> ada penambahan 205, 206, 207, 208
/** /**
* adding sakit jika 2 tanggal permohonan * adding sakit jika 2 tanggal permohonan
*/ */
Integer[] intStatusCutiBesarMelahirkan = { 2, 14, 24, 25, 6, 29 }; Integer[] intStatusCutiBesarMelahirkan = { 2, 14, 24, 25, 6, 29 }; // id status pegawai
Integer idTglCuti1 = null; Integer idTglCuti1 = null;
Integer idTglCuti2 = null; Integer idTglCuti2 = null;
@ -579,36 +564,26 @@ public class PegawaiJadwalKerjaServiceImpl extends BaseVoServiceImpl implements
if (CommonUtil.isNotNullOrEmpty(namaHari)) { if (CommonUtil.isNotNullOrEmpty(namaHari)) {
if (idTglCuti1 < idTglCuti2) { if (idTglCuti1 < idTglCuti2) {
if (idTglCuti1 <= idTanggal && idTanggal <= idTglCuti2 if (idTglCuti1 <= idTanggal && idTanggal <= idTglCuti2 && !Arrays.asList(intStatusLibur).contains(idShift)) {
&& !Arrays.asList(intStatusLibur).contains(idShift)) { if (idKelShift == 1 && Arrays.asList(Master.PenangguhanCuti.NONSHIFT_SK).contains(namaHari)) {
if (idKelShift == 1
&& Arrays.asList(Master.PenangguhanCuti.NONSHIFT_SK).contains(namaHari)) {
shiftKerja.setId(Master.ShiftKerja.NONSHIFT_SK); shiftKerja.setId(Master.ShiftKerja.NONSHIFT_SK);
} else if (idKelShift == 1 } else if (idKelShift == 1 && Arrays.asList(Master.PenangguhanCuti.NONSHIFT_J).contains(namaHari)) {
&& Arrays.asList(Master.PenangguhanCuti.NONSHIFT_J).contains(namaHari)) {
shiftKerja.setId(Master.ShiftKerja.NONSHIFT_J); shiftKerja.setId(Master.ShiftKerja.NONSHIFT_J);
} else if (idKelShift == 2 } else if (idKelShift == 2 && Arrays.asList(Master.PenangguhanCuti.NONSHIFT_SK).contains(namaHari)) {
&& Arrays.asList(Master.PenangguhanCuti.NONSHIFT_SK).contains(namaHari)) {
shiftKerja.setId(Master.ShiftKerja.NONSHIFT_PLUS_SK); shiftKerja.setId(Master.ShiftKerja.NONSHIFT_PLUS_SK);
} else if (idKelShift == 2 } else if (idKelShift == 2 && Arrays.asList(Master.PenangguhanCuti.NONSHIFT_J).contains(namaHari)) {
&& Arrays.asList(Master.PenangguhanCuti.NONSHIFT_J).contains(namaHari)) {
shiftKerja.setId(Master.ShiftKerja.NONSHIFT_PLUS_J); shiftKerja.setId(Master.ShiftKerja.NONSHIFT_PLUS_J);
} else { } else {
shiftKerja.setId(Master.ShiftKerja.RESET); shiftKerja.setId(Master.ShiftKerja.RESET);
} }
} else if (idTglCuti1 <= idTanggal && idTanggal <= idTglCuti2 } else if (idTglCuti1 <= idTanggal && idTanggal <= idTglCuti2 && Arrays.asList(intStatusSakitAlasanPenting).contains(idShiftExec)) {
&& Arrays.asList(intStatusSakitAlasanPenting).contains(idShiftExec)) { if (idKelShift == 1 && Arrays.asList(Master.PenangguhanCuti.NONSHIFT_SK).contains(namaHari)) {
if (idKelShift == 1
&& Arrays.asList(Master.PenangguhanCuti.NONSHIFT_SK).contains(namaHari)) {
shiftKerja.setId(Master.ShiftKerja.NONSHIFT_SK); shiftKerja.setId(Master.ShiftKerja.NONSHIFT_SK);
} else if (idKelShift == 1 } else if (idKelShift == 1 && Arrays.asList(Master.PenangguhanCuti.NONSHIFT_J).contains(namaHari)) {
&& Arrays.asList(Master.PenangguhanCuti.NONSHIFT_J).contains(namaHari)) {
shiftKerja.setId(Master.ShiftKerja.NONSHIFT_J); shiftKerja.setId(Master.ShiftKerja.NONSHIFT_J);
} else if (idKelShift == 2 } else if (idKelShift == 2 && Arrays.asList(Master.PenangguhanCuti.NONSHIFT_SK).contains(namaHari)) {
&& Arrays.asList(Master.PenangguhanCuti.NONSHIFT_SK).contains(namaHari)) {
shiftKerja.setId(Master.ShiftKerja.NONSHIFT_PLUS_SK); shiftKerja.setId(Master.ShiftKerja.NONSHIFT_PLUS_SK);
} else if (idKelShift == 2 } else if (idKelShift == 2 && Arrays.asList(Master.PenangguhanCuti.NONSHIFT_J).contains(namaHari)) {
&& Arrays.asList(Master.PenangguhanCuti.NONSHIFT_J).contains(namaHari)) {
shiftKerja.setId(Master.ShiftKerja.NONSHIFT_PLUS_J); shiftKerja.setId(Master.ShiftKerja.NONSHIFT_PLUS_J);
} else { } else {
shiftKerja.setId(Master.ShiftKerja.RESET); shiftKerja.setId(Master.ShiftKerja.RESET);
@ -617,36 +592,26 @@ public class PegawaiJadwalKerjaServiceImpl extends BaseVoServiceImpl implements
shiftKerja.setId(idShift); shiftKerja.setId(idShift);
} }
} else { } else {
if (idTglCuti2 <= idTanggal && idTanggal <= idTglCuti1 if (idTglCuti2 <= idTanggal && idTanggal <= idTglCuti1 && !Arrays.asList(intStatusLibur).contains(idShift)) {
&& !Arrays.asList(intStatusLibur).contains(idShift)) { if (idKelShift == 1 && Arrays.asList(Master.PenangguhanCuti.NONSHIFT_SK).contains(namaHari)) {
if (idKelShift == 1
&& Arrays.asList(Master.PenangguhanCuti.NONSHIFT_SK).contains(namaHari)) {
shiftKerja.setId(Master.ShiftKerja.NONSHIFT_SK); shiftKerja.setId(Master.ShiftKerja.NONSHIFT_SK);
} else if (idKelShift == 1 } else if (idKelShift == 1 && Arrays.asList(Master.PenangguhanCuti.NONSHIFT_J).contains(namaHari)) {
&& Arrays.asList(Master.PenangguhanCuti.NONSHIFT_J).contains(namaHari)) {
shiftKerja.setId(Master.ShiftKerja.NONSHIFT_J); shiftKerja.setId(Master.ShiftKerja.NONSHIFT_J);
} else if (idKelShift == 2 } else if (idKelShift == 2 && Arrays.asList(Master.PenangguhanCuti.NONSHIFT_SK).contains(namaHari)) {
&& Arrays.asList(Master.PenangguhanCuti.NONSHIFT_SK).contains(namaHari)) {
shiftKerja.setId(Master.ShiftKerja.NONSHIFT_PLUS_SK); shiftKerja.setId(Master.ShiftKerja.NONSHIFT_PLUS_SK);
} else if (idKelShift == 2 } else if (idKelShift == 2 && Arrays.asList(Master.PenangguhanCuti.NONSHIFT_J).contains(namaHari)) {
&& Arrays.asList(Master.PenangguhanCuti.NONSHIFT_J).contains(namaHari)) {
shiftKerja.setId(Master.ShiftKerja.NONSHIFT_PLUS_J); shiftKerja.setId(Master.ShiftKerja.NONSHIFT_PLUS_J);
} else { } else {
shiftKerja.setId(Master.ShiftKerja.RESET); shiftKerja.setId(Master.ShiftKerja.RESET);
} }
} else if (idTglCuti1 <= idTanggal && idTanggal <= idTglCuti2 } else if (idTglCuti1 <= idTanggal && idTanggal <= idTglCuti2 && Arrays.asList(intStatusSakitAlasanPenting).contains(idShiftExec)) {
&& Arrays.asList(intStatusSakitAlasanPenting).contains(idShiftExec)) { if (idKelShift == 1 && Arrays.asList(Master.PenangguhanCuti.NONSHIFT_SK).contains(namaHari)) {
if (idKelShift == 1
&& Arrays.asList(Master.PenangguhanCuti.NONSHIFT_SK).contains(namaHari)) {
shiftKerja.setId(Master.ShiftKerja.NONSHIFT_SK); shiftKerja.setId(Master.ShiftKerja.NONSHIFT_SK);
} else if (idKelShift == 1 } else if (idKelShift == 1 && Arrays.asList(Master.PenangguhanCuti.NONSHIFT_J).contains(namaHari)) {
&& Arrays.asList(Master.PenangguhanCuti.NONSHIFT_J).contains(namaHari)) {
shiftKerja.setId(Master.ShiftKerja.NONSHIFT_J); shiftKerja.setId(Master.ShiftKerja.NONSHIFT_J);
} else if (idKelShift == 2 } else if (idKelShift == 2 && Arrays.asList(Master.PenangguhanCuti.NONSHIFT_SK).contains(namaHari)) {
&& Arrays.asList(Master.PenangguhanCuti.NONSHIFT_SK).contains(namaHari)) {
shiftKerja.setId(Master.ShiftKerja.NONSHIFT_PLUS_SK); shiftKerja.setId(Master.ShiftKerja.NONSHIFT_PLUS_SK);
} else if (idKelShift == 2 } else if (idKelShift == 2 && Arrays.asList(Master.PenangguhanCuti.NONSHIFT_J).contains(namaHari)) {
&& Arrays.asList(Master.PenangguhanCuti.NONSHIFT_J).contains(namaHari)) {
shiftKerja.setId(Master.ShiftKerja.NONSHIFT_PLUS_J); shiftKerja.setId(Master.ShiftKerja.NONSHIFT_PLUS_J);
} else { } else {
shiftKerja.setId(Master.ShiftKerja.RESET); shiftKerja.setId(Master.ShiftKerja.RESET);
@ -662,14 +627,12 @@ public class PegawaiJadwalKerjaServiceImpl extends BaseVoServiceImpl implements
pegawai.setId(idPegawai); pegawai.setId(idPegawai);
tanggal.setId(idTanggal); tanggal.setId(idTanggal);
if (CommonUtil.isNotNullOrEmpty(shiftKerja.getId()) && shiftKerja.getId() != 0 if (CommonUtil.isNotNullOrEmpty(shiftKerja.getId()) && shiftKerja.getId() != 0 && !Arrays.asList(intStatusLibur).contains(shiftKerja.getId())) {
&& !Arrays.asList(intStatusLibur).contains(shiftKerja.getId())) {
pov.setPegawai(pegawai); pov.setPegawai(pegawai);
pov.setShift(shiftKerja); pov.setShift(shiftKerja);
pov.setTanggal(tanggal); pov.setTanggal(tanggal);
result.add(pov); result.add(pov);
} else if (Arrays.asList(intStatusLibur).contains(shiftKerja.getId()) } else if (Arrays.asList(intStatusLibur).contains(shiftKerja.getId()) && getShiftTglEmpty.size() == getShiftTglFilled.size()) {
&& getShiftTglEmpty.size() == getShiftTglFilled.size()) {
pov.setPegawai(pegawai); pov.setPegawai(pegawai);
pov.setShift(shiftKerja); pov.setShift(shiftKerja);
pov.setTanggal(tanggal); pov.setTanggal(tanggal);
@ -684,11 +647,8 @@ public class PegawaiJadwalKerjaServiceImpl extends BaseVoServiceImpl implements
Integer idShift = (Integer) ((Map<String, Object>) mapShiftTanggal.get("shift")).get("id"); Integer idShift = (Integer) ((Map<String, Object>) mapShiftTanggal.get("shift")).get("id");
Integer idTanggal = (Integer) ((Map<String, Object>) mapShiftTanggal.get("tanggal")).get("id"); Integer idTanggal = (Integer) ((Map<String, Object>) mapShiftTanggal.get("tanggal")).get("id");
java.time.LocalDate localDate = ((Date) ((Map<String, Object>) mapShiftTanggal.get("tanggal")) java.time.LocalDate localDate = ((Date) ((Map<String, Object>) mapShiftTanggal.get("tanggal")).get("tanggal")).toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
.get("tanggal")).toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); if (localDate.isBefore(java.time.LocalDate.now()) || (localDate.getMonth().equals(java.time.LocalDate.now().getMonth()) && localDate.getYear() == java.time.LocalDate.now().getYear())) {
if (localDate.isBefore(java.time.LocalDate.now())
|| (localDate.getMonth().equals(java.time.LocalDate.now().getMonth())
&& localDate.getYear() == java.time.LocalDate.now().getYear())) {
Locale id = new Locale("in", "ID"); Locale id = new Locale("in", "ID");
String pattern = "EEEE"; String pattern = "EEEE";
@ -703,35 +663,26 @@ public class PegawaiJadwalKerjaServiceImpl extends BaseVoServiceImpl implements
Integer idTglCuti = listTanggalCutiDao.getIdKalenderByTglCuti(strTglCuti); Integer idTglCuti = listTanggalCutiDao.getIdKalenderByTglCuti(strTglCuti);
if (idTglCuti.equals(idTanggal) && !Arrays.asList(intStatusLibur).contains(idShift)) { if (idTglCuti.equals(idTanggal) && !Arrays.asList(intStatusLibur).contains(idShift)) {
if (idKelShift == 1 if (idKelShift == 1 && Arrays.asList(Master.PenangguhanCuti.NONSHIFT_SK).contains(namaHari)) {
&& Arrays.asList(Master.PenangguhanCuti.NONSHIFT_SK).contains(namaHari)) {
shiftKerja.setId(Master.ShiftKerja.NONSHIFT_SK); shiftKerja.setId(Master.ShiftKerja.NONSHIFT_SK);
} else if (idKelShift == 1 } else if (idKelShift == 1 && Arrays.asList(Master.PenangguhanCuti.NONSHIFT_J).contains(namaHari)) {
&& Arrays.asList(Master.PenangguhanCuti.NONSHIFT_J).contains(namaHari)) {
shiftKerja.setId(Master.ShiftKerja.NONSHIFT_J); shiftKerja.setId(Master.ShiftKerja.NONSHIFT_J);
} else if (idKelShift == 2 } else if (idKelShift == 2 && Arrays.asList(Master.PenangguhanCuti.NONSHIFT_SK).contains(namaHari)) {
&& Arrays.asList(Master.PenangguhanCuti.NONSHIFT_SK).contains(namaHari)) {
shiftKerja.setId(Master.ShiftKerja.NONSHIFT_PLUS_SK); shiftKerja.setId(Master.ShiftKerja.NONSHIFT_PLUS_SK);
} else if (idKelShift == 2 } else if (idKelShift == 2 && Arrays.asList(Master.PenangguhanCuti.NONSHIFT_J).contains(namaHari)) {
&& Arrays.asList(Master.PenangguhanCuti.NONSHIFT_J).contains(namaHari)) {
shiftKerja.setId(Master.ShiftKerja.NONSHIFT_PLUS_J); shiftKerja.setId(Master.ShiftKerja.NONSHIFT_PLUS_J);
} else { } else {
shiftKerja.setId(Master.ShiftKerja.RESET); shiftKerja.setId(Master.ShiftKerja.RESET);
} }
break; break;
} else if (idTglCuti.equals(idTanggal) } else if (idTglCuti.equals(idTanggal) && Arrays.asList(intStatusSakitAlasanPenting).contains(idShiftExec)) {
&& Arrays.asList(intStatusSakitAlasanPenting).contains(idShiftExec)) { if (idKelShift == 1 && Arrays.asList(Master.PenangguhanCuti.NONSHIFT_SK).contains(namaHari)) {
if (idKelShift == 1
&& Arrays.asList(Master.PenangguhanCuti.NONSHIFT_SK).contains(namaHari)) {
shiftKerja.setId(Master.ShiftKerja.NONSHIFT_SK); shiftKerja.setId(Master.ShiftKerja.NONSHIFT_SK);
} else if (idKelShift == 1 } else if (idKelShift == 1 && Arrays.asList(Master.PenangguhanCuti.NONSHIFT_J).contains(namaHari)) {
&& Arrays.asList(Master.PenangguhanCuti.NONSHIFT_J).contains(namaHari)) {
shiftKerja.setId(Master.ShiftKerja.NONSHIFT_J); shiftKerja.setId(Master.ShiftKerja.NONSHIFT_J);
} else if (idKelShift == 2 } else if (idKelShift == 2 && Arrays.asList(Master.PenangguhanCuti.NONSHIFT_SK).contains(namaHari)) {
&& Arrays.asList(Master.PenangguhanCuti.NONSHIFT_SK).contains(namaHari)) {
shiftKerja.setId(Master.ShiftKerja.NONSHIFT_PLUS_SK); shiftKerja.setId(Master.ShiftKerja.NONSHIFT_PLUS_SK);
} else if (idKelShift == 2 } else if (idKelShift == 2 && Arrays.asList(Master.PenangguhanCuti.NONSHIFT_J).contains(namaHari)) {
&& Arrays.asList(Master.PenangguhanCuti.NONSHIFT_J).contains(namaHari)) {
shiftKerja.setId(Master.ShiftKerja.NONSHIFT_PLUS_J); shiftKerja.setId(Master.ShiftKerja.NONSHIFT_PLUS_J);
} else { } else {
shiftKerja.setId(Master.ShiftKerja.RESET); shiftKerja.setId(Master.ShiftKerja.RESET);
@ -739,17 +690,13 @@ public class PegawaiJadwalKerjaServiceImpl extends BaseVoServiceImpl implements
break; break;
} else if (CommonUtil.isNotNullOrEmpty(idShift) && idShift != 0) { } else if (CommonUtil.isNotNullOrEmpty(idShift) && idShift != 0) {
if (idTglCuti.equals(idTanggal) && !idShiftExec.equals(idShift)) { if (idTglCuti.equals(idTanggal) && !idShiftExec.equals(idShift)) {
if (idKelShift == 1 if (idKelShift == 1 && Arrays.asList(Master.PenangguhanCuti.NONSHIFT_SK).contains(namaHari)) {
&& Arrays.asList(Master.PenangguhanCuti.NONSHIFT_SK).contains(namaHari)) {
shiftKerja.setId(Master.ShiftKerja.NONSHIFT_SK); shiftKerja.setId(Master.ShiftKerja.NONSHIFT_SK);
} else if (idKelShift == 1 } else if (idKelShift == 1 && Arrays.asList(Master.PenangguhanCuti.NONSHIFT_J).contains(namaHari)) {
&& Arrays.asList(Master.PenangguhanCuti.NONSHIFT_J).contains(namaHari)) {
shiftKerja.setId(Master.ShiftKerja.NONSHIFT_J); shiftKerja.setId(Master.ShiftKerja.NONSHIFT_J);
} else if (idKelShift == 2 } else if (idKelShift == 2 && Arrays.asList(Master.PenangguhanCuti.NONSHIFT_SK).contains(namaHari)) {
&& Arrays.asList(Master.PenangguhanCuti.NONSHIFT_SK).contains(namaHari)) {
shiftKerja.setId(Master.ShiftKerja.NONSHIFT_PLUS_SK); shiftKerja.setId(Master.ShiftKerja.NONSHIFT_PLUS_SK);
} else if (idKelShift == 2 } else if (idKelShift == 2 && Arrays.asList(Master.PenangguhanCuti.NONSHIFT_J).contains(namaHari)) {
&& Arrays.asList(Master.PenangguhanCuti.NONSHIFT_J).contains(namaHari)) {
shiftKerja.setId(Master.ShiftKerja.NONSHIFT_PLUS_J); shiftKerja.setId(Master.ShiftKerja.NONSHIFT_PLUS_J);
} else { } else {
shiftKerja.setId(Master.ShiftKerja.RESET); shiftKerja.setId(Master.ShiftKerja.RESET);
@ -764,14 +711,12 @@ public class PegawaiJadwalKerjaServiceImpl extends BaseVoServiceImpl implements
pegawai.setId(idPegawai); pegawai.setId(idPegawai);
tanggal.setId(idTanggal); tanggal.setId(idTanggal);
if (CommonUtil.isNotNullOrEmpty(shiftKerja.getId()) if (CommonUtil.isNotNullOrEmpty(shiftKerja.getId()) && !Arrays.asList(intStatusLibur).contains(shiftKerja.getId())) {
&& !Arrays.asList(intStatusLibur).contains(shiftKerja.getId())) {
pov.setPegawai(pegawai); pov.setPegawai(pegawai);
pov.setShift(shiftKerja); pov.setShift(shiftKerja);
pov.setTanggal(tanggal); pov.setTanggal(tanggal);
result.add(pov); result.add(pov);
} else if (Arrays.asList(intStatusLibur).contains(shiftKerja.getId()) } else if (Arrays.asList(intStatusLibur).contains(shiftKerja.getId()) && getShiftTglEmpty.size() == getShiftTglFilled.size()) {
&& getShiftTglEmpty.size() == getShiftTglFilled.size()) {
pov.setPegawai(pegawai); pov.setPegawai(pegawai);
pov.setShift(shiftKerja); pov.setShift(shiftKerja);
pov.setTanggal(tanggal); pov.setTanggal(tanggal);
@ -835,14 +780,12 @@ public class PegawaiJadwalKerjaServiceImpl extends BaseVoServiceImpl implements
List<PegawaiJadwalKerja> jadwal = pegawaiJadwalKerjaDao.findJadwalByBulan(tahun, bulan, idPegawai); List<PegawaiJadwalKerja> jadwal = pegawaiJadwalKerjaDao.findJadwalByBulan(tahun, bulan, idPegawai);
if (CommonUtil.isNullOrEmpty(jadwal)) { if (CommonUtil.isNullOrEmpty(jadwal)) {
Pegawai pegawai = pegawaiDao.findOne(idPegawai); Pegawai pegawai = pegawaiDao.findOne(idPegawai);
List<Map<String, Object>> mapListHariLibur = pegawaiDaoCustom.findHariLiburPegawaiNonShift(tahun, List<Map<String, Object>> mapListHariLibur = pegawaiDaoCustom.findHariLiburPegawaiNonShift(tahun, bulan);
bulan);
// clear false data // clear false data
if (CommonUtil.isNotNullOrEmpty(mapListHariLibur)) if (CommonUtil.isNotNullOrEmpty(mapListHariLibur))
for (Map<String, Object> mh : mapListHariLibur) { for (Map<String, Object> mh : mapListHariLibur) {
if (CommonUtil.isNotNullOrEmpty(mh.get("statusEnabled")) if (CommonUtil.isNotNullOrEmpty(mh.get("statusEnabled")) && mh.get("statusEnabled").equals(Master.STATUS_ENABLE_FALSE))
&& mh.get("statusEnabled").equals(Master.STATUS_ENABLE_FALSE))
mh.put("namaHariLibur", null); mh.put("namaHariLibur", null);
} }
@ -859,8 +802,7 @@ public class PegawaiJadwalKerjaServiceImpl extends BaseVoServiceImpl implements
if (idShift == 2) { if (idShift == 2) {
listShiftKerja.addAll(shiftKerjaDao.findByKelompokShiftId(1)); listShiftKerja.addAll(shiftKerjaDao.findByKelompokShiftId(1));
} }
List<PegawaiJadwalKerja> resultPegawaiJadwalKerja = pegawaiDaoCustom.findJadwalByTanggal(tahun, List<PegawaiJadwalKerja> resultPegawaiJadwalKerja = pegawaiDaoCustom.findJadwalByTanggal(tahun, bulan, idPegawai);
bulan, idPegawai);
if (resultPegawaiJadwalKerja.size() == 0) { // Apabila_jadwal_kosong if (resultPegawaiJadwalKerja.size() == 0) { // Apabila_jadwal_kosong
if (idShift == 1 || idShift == 2) { // apabila_pegawai_nonshift if (idShift == 1 || idShift == 2) { // apabila_pegawai_nonshift
@ -880,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(57); // RMJ shiftKerjaPegawai.setId(181); // sudah id baru
} else { } else {
shiftKerjaPegawai.setId(19); shiftKerjaPegawai.setId(177); // sudah id baru
} }
} else { } else {
LocalDate tglIso = new LocalDate(tahun, bulan, LocalDate tglIso = new LocalDate(tahun, bulan,
@ -890,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(56); // RM shiftKerjaPegawai.setId(179); // sudah id baru
} else { } else {
shiftKerjaPegawai.setId(18); shiftKerjaPegawai.setId(175); // sudah id baru
} }
} }
} else { } else {

View File

@ -1208,8 +1208,7 @@ public class PegawaiServiceImpl extends BaseVoServiceImpl implements PegawaiServ
for (Map<String, Object> map : listPegawai) { for (Map<String, Object> map : listPegawai) {
List<Map<String, Object>> items = new ArrayList<>(); List<Map<String, Object>> items = new ArrayList<>();
try { try {
Map<String, Object> pegawaiMap = pegawaiDao.findById(Integer.parseInt(map.get("idPegawai").toString())) Map<String, Object> pegawaiMap = pegawaiDao.findById(Integer.parseInt(map.get("idPegawai").toString())).ToMap();
.ToMap();
Map<String, Object> shiftKerja = (Map<String, Object>) pegawaiMap.get("shiftKerja"); Map<String, Object> shiftKerja = (Map<String, Object>) pegawaiMap.get("shiftKerja");
Integer idShift = 0; Integer idShift = 0;
if (CommonUtil.isNotNullOrEmpty(shiftKerja)) { if (CommonUtil.isNotNullOrEmpty(shiftKerja)) {
@ -1217,50 +1216,46 @@ public class PegawaiServiceImpl extends BaseVoServiceImpl implements PegawaiServ
idShift = (Integer) shiftKerja.get("id"); idShift = (Integer) shiftKerja.get("id");
} }
} }
List<Map<String, Object>> listShiftKerja = shiftKerjaDao.findByKelompokShiftId(idShift); List<Map<String, Object>> listShiftKerja = shiftKerjaDao.findByKelompokShiftIdWithoutStatusEnabled(idShift);
if (idShift == 2) { if (idShift == 2) {
listShiftKerja.addAll(shiftKerjaDao.findByKelompokShiftId(1)); listShiftKerja.addAll(shiftKerjaDao.findByKelompokShiftIdWithoutStatusEnabled(1));
} }
if (CommonUtil.isNotNullOrEmpty(listShiftKerja)) { if (CommonUtil.isNotNullOrEmpty(listShiftKerja)) {
shiftKerja.put("detail", JsonUtil.ToMaps(listShiftKerja)); shiftKerja.put("detail", JsonUtil.ToMaps(listShiftKerja));
} }
map.put("pegawai", pegawaiMap); map.put("pegawai", pegawaiMap);
List<PegawaiJadwalKerja> resultPegawaiJadwalKerja = pegawaiDaoCustom.findJadwalByTanggalRuangan( List<PegawaiJadwalKerja> resultPegawaiJadwalKerja = pegawaiDaoCustom.findJadwalByTanggalRuangan(subUnitKerja, tahun, bulan, Integer.parseInt(map.get("idPegawai").toString()));
subUnitKerja, tahun, bulan, Integer.parseInt(map.get("idPegawai").toString()));
if (resultPegawaiJadwalKerja.size() == 0) { if (resultPegawaiJadwalKerja.size() == 0) {
if (idShift == 1 || idShift == 2) { if (idShift == 1 || idShift == 2) {
for (Map<String, Object> hariLibur : mapListHariLibur) { for (Map<String, Object> hariLibur : mapListHariLibur) {
PegawaiJadwalKerja pegawaiKerja = new PegawaiJadwalKerja(); PegawaiJadwalKerja pegawaiKerja = new PegawaiJadwalKerja();
ShiftKerja shiftKerjaPegawai = new ShiftKerja(); ShiftKerja shiftKerjaPegawai = new ShiftKerja();
if (!CommonUtil.isNotNullOrEmpty(hariLibur.get("namaHariLibur"))) { if (!CommonUtil.isNotNullOrEmpty(hariLibur.get("namaHariLibur"))) {
if (hariLibur.get("namaHari").toString().equals("Minggu") if (hariLibur.get("namaHari").toString().equals("Minggu") || hariLibur.get("namaHari").toString().equals("Sabtu")) {
|| hariLibur.get("namaHari").toString().equals("Sabtu")) { shiftKerjaPegawai.setId(8); // id lama / baru tetap sama
shiftKerjaPegawai.setId(8);
} else if (hariLibur.get("namaHari").toString().equals("Jumat")) { } else if (hariLibur.get("namaHari").toString().equals("Jumat")) {
LocalDate tglIso = new LocalDate(tahun, bulan, LocalDate tglIso = new LocalDate(tahun, bulan, Integer.parseInt(hariLibur.get("tgl").toString()), iso);
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(57); shiftKerjaPegawai.setId(181); // sudah id baru
} else { } else {
shiftKerjaPegawai.setId(19); shiftKerjaPegawai.setId(177); // sudah id baru
} }
} else { } else {
LocalDate tglIso = new LocalDate(tahun, bulan, LocalDate tglIso = new LocalDate(tahun, bulan, Integer.parseInt(hariLibur.get("tgl").toString()), iso);
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(56); shiftKerjaPegawai.setId(179); // sudah id baru
} else { } else {
shiftKerjaPegawai.setId(18); shiftKerjaPegawai.setId(175); // sudah id baru
} }
} }
} else { } else {
shiftKerjaPegawai.setId(8); shiftKerjaPegawai.setId(8); // id lama / baru tetap sama
} }
Kalender kalendar = new Kalender(); Kalender kalendar = new Kalender();
kalendar.setId(Integer.parseInt(hariLibur.get("idKalendar").toString())); kalendar.setId(Integer.parseInt(hariLibur.get("idKalendar").toString()));
@ -1324,8 +1319,7 @@ public class PegawaiServiceImpl extends BaseVoServiceImpl implements PegawaiServ
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@Override @Override
public Map<String, Object> findPegawaiByRuanganRev2(Integer subUnitKerja, Integer tahun, Integer bulan, public Map<String, Object> findPegawaiByRuanganRev2(Integer subUnitKerja, Integer tahun, Integer bulan, Integer idPegawai) {
Integer idPegawai) {
Map<String, Object> result = new HashMap<>(); Map<String, Object> result = new HashMap<>();
List<Map<String, Object>> list = new ArrayList<>(); List<Map<String, Object>> list = new ArrayList<>();
List<Map<String, Object>> listPegawai = pegawaiDao.findByUnitKerja(subUnitKerja, idPegawai); List<Map<String, Object>> listPegawai = pegawaiDao.findByUnitKerja(subUnitKerja, idPegawai);
@ -1347,8 +1341,7 @@ public class PegawaiServiceImpl extends BaseVoServiceImpl implements PegawaiServ
for (Map<String, Object> map : listPegawai) { for (Map<String, Object> map : listPegawai) {
List<Map<String, Object>> items = new ArrayList<>(); List<Map<String, Object>> items = new ArrayList<>();
try { try {
Map<String, Object> pegawaiMap = pegawaiDao.findById(Integer.parseInt(map.get("idPegawai").toString())) Map<String, Object> pegawaiMap = pegawaiDao.findById(Integer.parseInt(map.get("idPegawai").toString())).ToMap();
.ToMap();
Map<String, Object> shiftKerja = (Map<String, Object>) pegawaiMap.get("shiftKerja"); Map<String, Object> shiftKerja = (Map<String, Object>) pegawaiMap.get("shiftKerja");
Integer idShift = 0; Integer idShift = 0;
if (CommonUtil.isNotNullOrEmpty(shiftKerja)) { if (CommonUtil.isNotNullOrEmpty(shiftKerja)) {
@ -1364,36 +1357,32 @@ public class PegawaiServiceImpl extends BaseVoServiceImpl implements PegawaiServ
shiftKerja.put("detail", JsonUtil.ToMaps(listShiftKerja)); shiftKerja.put("detail", JsonUtil.ToMaps(listShiftKerja));
} }
map.put("pegawai", pegawaiMap); map.put("pegawai", pegawaiMap);
List<PegawaiJadwalKerja> resultPegawaiJadwalKerja = pegawaiDaoCustom.findJadwalByTanggalRuangan( List<PegawaiJadwalKerja> resultPegawaiJadwalKerja = pegawaiDaoCustom.findJadwalByTanggalRuangan(subUnitKerja, tahun, bulan, Integer.parseInt(map.get("idPegawai").toString()));
subUnitKerja, tahun, bulan, Integer.parseInt(map.get("idPegawai").toString()));
if (resultPegawaiJadwalKerja.size() == 0) { if (resultPegawaiJadwalKerja.size() == 0) {
if (idShift == 1 || idShift == 2) { if (idShift == 1 || idShift == 2) {
for (Map<String, Object> hariLibur : mapListHariLibur) { for (Map<String, Object> hariLibur : mapListHariLibur) {
PegawaiJadwalKerja pegawaiKerja = new PegawaiJadwalKerja(); PegawaiJadwalKerja pegawaiKerja = new PegawaiJadwalKerja();
ShiftKerja shiftKerjaPegawai = new ShiftKerja(); ShiftKerja shiftKerjaPegawai = new ShiftKerja();
if (!CommonUtil.isNotNullOrEmpty(hariLibur.get("namaHariLibur"))) { if (!CommonUtil.isNotNullOrEmpty(hariLibur.get("namaHariLibur"))) {
if (hariLibur.get("namaHari").toString().equals("Minggu") if (hariLibur.get("namaHari").toString().equals("Minggu") || hariLibur.get("namaHari").toString().equals("Sabtu")) {
|| hariLibur.get("namaHari").toString().equals("Sabtu")) {
shiftKerjaPegawai.setId(8); shiftKerjaPegawai.setId(8);
} else if (hariLibur.get("namaHari").toString().equals("Jumat")) { } else if (hariLibur.get("namaHari").toString().equals("Jumat")) {
LocalDate tglIso = new LocalDate(tahun, bulan, LocalDate tglIso = new LocalDate(tahun, bulan, Integer.parseInt(hariLibur.get("tgl").toString()), iso);
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(57); shiftKerjaPegawai.setId(181);
} else { } else {
shiftKerjaPegawai.setId(19); shiftKerjaPegawai.setId(177);
} }
} else { } else {
LocalDate tglIso = new LocalDate(tahun, bulan, LocalDate tglIso = new LocalDate(tahun, bulan, Integer.parseInt(hariLibur.get("tgl").toString()), iso);
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(56); shiftKerjaPegawai.setId(179);
} else { } else {
shiftKerjaPegawai.setId(18); shiftKerjaPegawai.setId(175);
} }
} }
} else { } else {
@ -1426,9 +1415,7 @@ public class PegawaiServiceImpl extends BaseVoServiceImpl implements PegawaiServ
List<Map<String, Object>> mapListHariLiburTemp = mapListHariLibur; List<Map<String, Object>> mapListHariLiburTemp = mapListHariLibur;
for (Map<String, Object> map2 : mapListHariLiburTemp) { for (Map<String, Object> map2 : mapListHariLiburTemp) {
for (PegawaiJadwalKerja mapPegawaiJadwalKerja : resultPegawaiJadwalKerja) { for (PegawaiJadwalKerja mapPegawaiJadwalKerja : resultPegawaiJadwalKerja) {
if (mapPegawaiJadwalKerja.getPegawaiId().equals(map.get("idPegawai")) if (mapPegawaiJadwalKerja.getPegawaiId().equals(map.get("idPegawai")) && (Integer.parseInt(map2.get("idKalendar").toString()) == mapPegawaiJadwalKerja.getTanggalId())) {
&& (Integer.parseInt(map2.get("idKalendar").toString()) == mapPegawaiJadwalKerja
.getTanggalId())) {
items.add(mapPegawaiJadwalKerja.ToMap()); items.add(mapPegawaiJadwalKerja.ToMap());
mapListHariLiburTemp.remove(idLooping); mapListHariLiburTemp.remove(idLooping);
break; break;

View File

@ -3600,12 +3600,25 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
persenRemunerasi * hargaJual * (1 - persenDiskonPegawai / 100) * (1 - persenDiskonJasa / 100)); persenRemunerasi * hargaJual * (1 - persenDiskonPegawai / 100) * (1 - persenDiskonJasa / 100));
} }
if (Boolean.parseBoolean(d.get("isCito").toString())) { if (Boolean.parseBoolean(d.get("isCito").toString())) {
keterangan = keterangan + "Cito (+" + Double.parseDouble(d.get("persenCito").toString()) + "%)"; if (keterangan.isEmpty()) {
keterangan = keterangan + "Cito (+" + Double.parseDouble(d.get("persenCito").toString()) + "%)";
}else{
keterangan = keterangan + " + Cito (+" + Double.parseDouble(d.get("persenCito").toString()) + "%)";
}
} }
if (CommonUtil.isNotNullOrEmpty(d.get("idSayatan")) && CommonUtil.isNotNullOrEmpty("urutanSayatan") if (Boolean.parseBoolean(d.get("isHoliday").toString())) {
&& Integer.parseInt(d.get("urutanSayatan").toString()) != 1) if (keterangan.isEmpty()) {
keterangan = keterangan + "Diskon Sayatan ke-" + d.get("urutanSayatan").toString() + " (" keterangan = keterangan + "Holiday Service (+" + Double.parseDouble(d.get("persenHoliday").toString()) + "%)";
+ Double.parseDouble(d.get("persenSayatan").toString()) + "%)"; }else{
keterangan = keterangan + " + Holiday Service (+" + Double.parseDouble(d.get("persenHoliday").toString()) + "%)";
}
}
if (CommonUtil.isNotNullOrEmpty(d.get("idSayatan")) && CommonUtil.isNotNullOrEmpty("urutanSayatan") && Integer.parseInt(d.get("urutanSayatan").toString()) != 1)
if (keterangan.isEmpty()) {
keterangan = keterangan + "Diskon Sayatan ke-" + d.get("urutanSayatan").toString() + " (" + Double.parseDouble(d.get("persenSayatan").toString()) + "%)";
}else{
keterangan = keterangan + " + Diskon Sayatan ke-" + d.get("urutanSayatan").toString() + " (" + Double.parseDouble(d.get("persenSayatan").toString()) + "%)";
}
if (Boolean.parseBoolean(d.get("isSelisihPaket").toString())) { if (Boolean.parseBoolean(d.get("isSelisihPaket").toString())) {
if (persenDiskonPegawai > 0.0 && persenDiskonJasa > 0.0) { if (persenDiskonPegawai > 0.0 && persenDiskonJasa > 0.0) {
if (keterangan.isEmpty()) { if (keterangan.isEmpty()) {
@ -3690,12 +3703,25 @@ public class RemunerasiServiceImpl extends BaseVoServiceImpl implements Remunera
builder.nilai(hargaJasa * (1 - persenDiskonPegawai / 100) * (1 - persenDiskonJasa / 100)); builder.nilai(hargaJasa * (1 - persenDiskonPegawai / 100) * (1 - persenDiskonJasa / 100));
} }
if (Boolean.parseBoolean(d.get("isCito").toString())) { if (Boolean.parseBoolean(d.get("isCito").toString())) {
keterangan = keterangan + "Cito (+" + Double.parseDouble(d.get("persenCito").toString()) + "%)"; if (keterangan.isEmpty()) {
keterangan = keterangan + "Cito (+" + Double.parseDouble(d.get("persenCito").toString()) + "%)";
}else{
keterangan = keterangan + " + Cito (+" + Double.parseDouble(d.get("persenCito").toString()) + "%)";
}
} }
if (CommonUtil.isNotNullOrEmpty(d.get("idSayatan")) && CommonUtil.isNotNullOrEmpty("urutanSayatan") if (Boolean.parseBoolean(d.get("isHoliday").toString())) {
&& Integer.parseInt(d.get("urutanSayatan").toString()) != 1) if (keterangan.isEmpty()) {
keterangan = keterangan + "Diskon Sayatan ke-" + d.get("urutanSayatan").toString() + " (" keterangan = keterangan + "Holiday Service (+" + Double.parseDouble(d.get("persenHoliday").toString()) + "%)";
+ Double.parseDouble(d.get("persenSayatan").toString()) + "%)"; }else{
keterangan = keterangan + " + Holiday Service (+" + Double.parseDouble(d.get("persenHoliday").toString()) + "%)";
}
}
if (CommonUtil.isNotNullOrEmpty(d.get("idSayatan")) && CommonUtil.isNotNullOrEmpty("urutanSayatan") && Integer.parseInt(d.get("urutanSayatan").toString()) != 1)
if (keterangan.isEmpty()) {
keterangan = keterangan + "Diskon Sayatan ke-" + d.get("urutanSayatan").toString() + " (" + Double.parseDouble(d.get("persenSayatan").toString()) + "%)";
}else{
keterangan = keterangan + " + Diskon Sayatan ke-" + d.get("urutanSayatan").toString() + " (" + Double.parseDouble(d.get("persenSayatan").toString()) + "%)";
}
if (Boolean.parseBoolean(d.get("isSelisihPaket").toString())) { if (Boolean.parseBoolean(d.get("isSelisihPaket").toString())) {
if (persenDiskonPegawai > 0.0 && persenDiskonJasa > 0.0) { if (persenDiskonPegawai > 0.0 && persenDiskonJasa > 0.0) {
if (keterangan.isEmpty()) { if (keterangan.isEmpty()) {

View File

@ -303,4 +303,10 @@ public class PelayananPasien extends MedicalRecordTransaction {
@Column(name = "persencito") @Column(name = "persencito")
private Double persenCito; private Double persenCito;
@Column(name = "isholiday")
private Boolean isHoliday;
@Column(name = "persenholiday")
private Double persenHoliday;
} }

View File

@ -171,4 +171,8 @@ public class PelayananPasienVO extends MedicalRecordTransactionVO {
private Double persenCito; private Double persenCito;
private Boolean isHoliday;
private Double persenHoliday;
} }

View File

@ -1027,6 +1027,28 @@ public class IkiDanRemunerasiController extends LocaleController<IkiDanRemuneras
} }
} }
@RequestMapping(value = "/catatan-kegiatan-harian-tanpa-status-verif", method = GET)
public ResponseEntity<List<Map<String, Object>>> getCatatanKegiatanHarianAllTanpaStatusVerif(HttpServletRequest request,
@RequestParam(value = "pegawaiId") Integer idPegawai, @RequestParam(value = "jabatanId") Integer idJabatan,
@RequestParam(value = "bulan") Long bulan) {
try {
List<Map<String, Object>> result = logbookKinerjaDetailService.findWorkingRecordTanpaStatusVerif(idPegawai, idJabatan, bulan);
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
getMessage(MessageResource.LABEL_SUCCESS, request));
return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage);
} catch (ServiceVOException sve) {
LOGGER.error("Got ServiceVOException {} when get catatan kegiatan harian belum verifikasi",
sve.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, sve.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.INTERNAL_SERVER_ERROR, mapHeaderMessage);
} catch (JpaSystemException jse) {
LOGGER.error("Got JpaSystemException {} when get catatan kegiatan harian belum verifikasi",
jse.getMessage());
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
}
}
@RequestMapping(value = "/catatan-kegiatan-harian-belum-verif", method = GET) @RequestMapping(value = "/catatan-kegiatan-harian-belum-verif", method = GET)
public ResponseEntity<List<Map<String, Object>>> getCatatanKegiatanHarianBelumVerif(HttpServletRequest request, public ResponseEntity<List<Map<String, Object>>> getCatatanKegiatanHarianBelumVerif(HttpServletRequest request,
@RequestParam(value = "pegawaiId") Integer idPegawai, @RequestParam(value = "jabatanId") Integer idJabatan, @RequestParam(value = "pegawaiId") Integer idPegawai, @RequestParam(value = "jabatanId") Integer idJabatan,