diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PegawaiJadwalKerjaDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PegawaiJadwalKerjaDao.java index fefa5f9e..5fa7216d 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PegawaiJadwalKerjaDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PegawaiJadwalKerjaDao.java @@ -83,4 +83,12 @@ public interface PegawaiJadwalKerjaDao extends PagingAndSortingRepository> getKuantitasHariKerja(@Param("pegawaiId") Integer idPegawai, @Param("tglAwal") Date tglAwal, @Param("tglAkhir") Date tglAkhir); + + @Query("select new Map(sk.id as id," + "kl.tanggal as tanggal," + + "sk.jamMasuk as jamMasuk,sk.jamPulang as jamPulang) " + "from PegawaiJadwalKerja pjk " + + "inner join pjk.tanggal kl " + "inner join pjk.shift sk " + + "where sk.jamMasuk is not null and sk.jamMasuk <> '' " + "and pjk.pegawaiId = :pegawaiId " + + "and kl.tanggal between :tglAwal and :tglAkhir " + "order by kl.tanggal") + List> findJamMasukJamPulang(@Param("pegawaiId") Integer idPegawai, + @Param("tglAwal") Date tglAwal, @Param("tglAkhir") Date tglAkhir); } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PelayananPasienServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PelayananPasienServiceImpl.java index 71e8a5cc..c86c7a90 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PelayananPasienServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PelayananPasienServiceImpl.java @@ -5,6 +5,8 @@ import java.text.DecimalFormat; import java.text.DecimalFormatSymbols; import java.text.ParseException; import java.text.SimpleDateFormat; +import java.time.LocalTime; +import java.time.format.DateTimeFormatter; import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Arrays; @@ -14,6 +16,7 @@ import java.util.List; import java.util.Map; import java.util.Queue; +import org.joda.time.format.DateTimeFormat; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -22,6 +25,7 @@ import com.jasamedika.medifirst2000.converter.BaseConverterImpl; import com.jasamedika.medifirst2000.dao.AntrianPasienDiPeriksaDao; import com.jasamedika.medifirst2000.dao.LogAccDao; import com.jasamedika.medifirst2000.dao.PasienDaftarDao; +import com.jasamedika.medifirst2000.dao.PegawaiJadwalKerjaDao; import com.jasamedika.medifirst2000.dao.PelayananPasienDao; import com.jasamedika.medifirst2000.dao.StrukPelayananDao; import com.jasamedika.medifirst2000.entities.JenisObat; @@ -70,6 +74,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel @Autowired private StrukPelayananDao strukPelayananDao; + @Autowired + private PegawaiJadwalKerjaDao pegawaiJadwalKerjaDao; + @Override public Map savePelayananPasien(PelayananPasienVO vo) { Map result = new HashMap(); @@ -398,6 +405,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel Map remun = new HashMap<>(); Map ffs = new HashMap<>(); DateFormat df = new SimpleDateFormat("yyyy-MM"); + DateTimeFormatter jamFormat = DateTimeFormatter.ofPattern("HH.mm"); Date date = new Date(); try { date = df.parse(bulan); @@ -406,11 +414,22 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel } Date tglAwal = DateUtil.startMonth(date); Date tglAkhir = DateUtil.endMonth(date); + List> listJadwalKerja = pegawaiJadwalKerjaDao.findJamMasukJamPulang(idPegawai, tglAwal, + tglAkhir); Double targetRemun = 5_000_000.00; - List> listPelayanan = pelayananPasienDao.findPelayananPasienByPetugasAndTanggal(idPegawai, + List> listData = pelayananPasienDao.findPelayananPasienByPetugasAndTanggal(idPegawai, tglAwal, tglAkhir); + + listJadwalKerja.forEach(j -> { + LocalTime jamMasuk = LocalTime.from(jamFormat.parse(j.get("jamMasuk").toString())); + LocalTime jamPulang = LocalTime.from(jamFormat.parse(j.get("jamPulang").toString())); + listData.forEach(d -> { + Date tglPelayanan = (Date) d.get("tglPelayanan"); + }); + }); + Queue> queuePelayanan = new ArrayDeque<>(); - listPelayanan.forEach(pelayanan -> { + listData.forEach(pelayanan -> { queuePelayanan.offer(pelayanan); }); List> listPelayananRemun = new ArrayList<>(); diff --git a/jasamedika-sdm/src/main/webapp/WEB-INF/web.xml b/jasamedika-sdm/src/main/webapp/WEB-INF/web.xml index 8eb49d68..73911d37 100644 --- a/jasamedika-sdm/src/main/webapp/WEB-INF/web.xml +++ b/jasamedika-sdm/src/main/webapp/WEB-INF/web.xml @@ -15,7 +15,7 @@ spring.profiles.default - sdm + development