diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/TargetRemunDokterDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/TargetRemunDokterDao.java new file mode 100644 index 00000000..1b11b7bf --- /dev/null +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/TargetRemunDokterDao.java @@ -0,0 +1,16 @@ +/** + * + */ +package com.jasamedika.medifirst2000.dao; + +import org.springframework.data.jpa.repository.JpaRepository; + +import com.jasamedika.medifirst2000.entities.TargetRemunDokter; + +/** + * @author Salman + * @since Apr 3, 2023 7:44:02 AM + */ +public interface TargetRemunDokterDao extends JpaRepository { + +} diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/TargetRemunDokterDetailDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/TargetRemunDokterDetailDao.java new file mode 100644 index 00000000..70ee9302 --- /dev/null +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/TargetRemunDokterDetailDao.java @@ -0,0 +1,24 @@ +/** + * + */ +package com.jasamedika.medifirst2000.dao; + +import java.util.Date; +import java.util.Optional; + +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.query.Param; + +import com.jasamedika.medifirst2000.entities.TargetRemunDokterDetail; + +/** + * @author Salman + * @since Apr 3, 2023 7:55:36 AM + */ +public interface TargetRemunDokterDetailDao extends JpaRepository { + @Query("select trd from TargetRemunDokterDetail trd " + "where trd.pegawaiId = :pegawaiId " + + "and trd.tmt between :tglAwal and :tglAkhir") + TargetRemunDokterDetail findByPegawaiIdAndTmt(@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 ed188370..0d137401 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 @@ -18,6 +18,7 @@ import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Optional; import java.util.Queue; import java.util.stream.Collectors; @@ -32,12 +33,14 @@ 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.dao.TargetRemunDokterDetailDao; import com.jasamedika.medifirst2000.entities.JenisObat; import com.jasamedika.medifirst2000.entities.LogAcc; import com.jasamedika.medifirst2000.entities.PasienDaftar; import com.jasamedika.medifirst2000.entities.PelayananPasien; import com.jasamedika.medifirst2000.entities.PelayananPasienDetail; import com.jasamedika.medifirst2000.entities.Produk; +import com.jasamedika.medifirst2000.entities.TargetRemunDokterDetail; import com.jasamedika.medifirst2000.service.PelayananPasienService; import com.jasamedika.medifirst2000.util.CommonUtil; import com.jasamedika.medifirst2000.util.DateUtil; @@ -81,6 +84,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel @Autowired private PegawaiJadwalKerjaDao pegawaiJadwalKerjaDao; + @Autowired + private TargetRemunDokterDetailDao targetRemunDokterDetailDao; + @Override public Map savePelayananPasien(PelayananPasienVO vo) { Map result = new HashMap(); @@ -425,7 +431,11 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel /* * Mendapatkan nominal target remunerasi */ - Double targetRemun = 161_000_000.00; + TargetRemunDokterDetail target = targetRemunDokterDetailDao.findByPegawaiIdAndTmt(idPegawai, tglAwal, tglAkhir); + Double targetRemun = 0.00; + if (CommonUtil.isNotNullOrEmpty(target) && CommonUtil.isNotNullOrEmpty(target.getRupiah())) { + targetRemun = target.getRupiah(); + } /* * Mendapatkan data mentah pelayanan pasien */ diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/TargetRemunDokterDetail.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/TargetRemunDokterDetail.java index c66cc520..0766fbc6 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/TargetRemunDokterDetail.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/TargetRemunDokterDetail.java @@ -3,12 +3,16 @@ */ package com.jasamedika.medifirst2000.entities; +import java.util.Date; + import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.Table; +import javax.persistence.Temporal; +import javax.persistence.TemporalType; import javax.validation.constraints.NotNull; import com.jasamedika.medifirst2000.base.BaseTransaction; @@ -44,6 +48,18 @@ public class TargetRemunDokterDetail extends BaseTransaction { @NotNull(message = "Rupiah target harus diisi") @Caption(value = "Rupiah target") private Double rupiah; + + @Column(name = "tglinput", nullable = false) + @Temporal(TemporalType.TIMESTAMP) + @NotNull(message = "Tanggal Input harus diisi") + @Caption(value = "Tanggal Input") + private Date tglInput; + + @Column(name = "tmt", nullable = false) + @Temporal(TemporalType.DATE) + @NotNull(message = "TMT harus diisi") + @Caption(value = "TMT") + private Date tmt; public TargetRemunDokter getTargetRemun() { return targetRemun; @@ -84,5 +100,21 @@ public class TargetRemunDokterDetail extends BaseTransaction { public void setRupiah(Double rupiah) { this.rupiah = rupiah; } + + public Date getTglInput() { + return tglInput; + } + + public void setTglInput(Date tglInput) { + this.tglInput = tglInput; + } + + public Date getTmt() { + return tmt; + } + + public void setTmt(Date tmt) { + this.tmt = tmt; + } } diff --git a/jasamedika-domain/src/main/resources/hibernate.cfg.xml b/jasamedika-domain/src/main/resources/hibernate.cfg.xml index 96291650..507dc535 100644 --- a/jasamedika-domain/src/main/resources/hibernate.cfg.xml +++ b/jasamedika-domain/src/main/resources/hibernate.cfg.xml @@ -711,5 +711,7 @@ + +