diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PelayananPasienPetugasDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PelayananPasienPetugasDao.java index ff9e6c26..b09fa52c 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PelayananPasienPetugasDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PelayananPasienPetugasDao.java @@ -49,8 +49,10 @@ public interface PelayananPasienPetugasDao extends PagingAndSortingRepository findByPelayananPasien(@Param("noRec") String noRec); - @Query("select ppp from PelayananPasienPetugas ppp " + "left join ppp.pelayananPasien pp " + @Query("select new Map(ppp.pelayananPasienId as noRecLayanan, " + "ppp.ObjectJenisPetugasPeId as idJenisPelaksana, " + + "ppp.ObjectPegawaiId as idPegawai, pg.namaLengkap as namaPegawai) " + "from PelayananPasienPetugas ppp " + + "left join ppp.pelayananPasien pp " + "left join ppp.kdpegawai pg " + "where pp.noRec in (:listNoRecPelayanan)") - List findAllByPelayananPasienNoRecIn( + List> findAllByPelayananPasienNoRecIn( @Param("listNoRecPelayanan") List listNoRecPelayanan); } 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 c2ce4b7b..cb5e3b63 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 @@ -1666,14 +1666,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel Optional first = listTarif.stream().filter( t -> t.getProdukId().equals(l.get("idProduk")) && t.getKelasId().equals(l.get("idKelas"))) .findFirst(); - if (first.isPresent()) - if (CommonUtil.isNotNullOrEmpty(first.get().getHargaNetto1()) - && first.get().getHargaNetto1() > 0.0) { - l.put("hargaJual", first.get().getHargaNetto1()); - } else if (CommonUtil.isNotNullOrEmpty(first.get().getHargaSatuan()) - && first.get().getHargaSatuan() > 0.0) { - l.put("hargaJual", first.get().getHargaSatuan()); - } + if (first.isPresent() && CommonUtil.isNotNullOrEmpty(first.get().getHargaNetto1()) + && first.get().getHargaNetto1() > 0.0) { + l.put("hargaJual", first.get().getHargaNetto1()); + } else if (first.isPresent() && CommonUtil.isNotNullOrEmpty(first.get().getHargaSatuan()) + && first.get().getHargaSatuan() > 0.0) { + l.put("hargaJual", first.get().getHargaSatuan()); + } }); List listDetailTarif = hargaNettoProdukByKelasDDao .findByConcateProdukKelas(concatIdProdukKelas); @@ -2725,7 +2724,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel TagihanPendaftaranDto.TagihanPendaftaranDtoBuilder dtoBuilder = TagihanPendaftaranDto.builder(); List> tagihan = pelayananPasienDao.findPelayananPasienByTagihanPendaftaran(noRegistrasi); List noRec = tagihan.stream().map(t -> t.get("noRec").toString()).collect(Collectors.toList()); - List listPetugas = pelayananPasienPetugasDao.findAllByPelayananPasienNoRecIn(noRec); + List> listPetugas = pelayananPasienPetugasDao.findAllByPelayananPasienNoRecIn(noRec); tagihan.forEach(t -> { dtoBuilder.noRec(t.get("noRec").toString()).idRuangan(Integer.parseInt(t.get("idRuangan").toString())) .namaRuangan(t.get("namaRuangan").toString()).tglPelayanan((Date) t.get("tglPelayanan")) @@ -2737,12 +2736,18 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel .hargaDiskon(Double.parseDouble(t.get("hargaDiskon").toString())) .hargaJasa(Double.parseDouble(t.get("hargaJasa").toString())) .isPaket(Boolean.parseBoolean(t.get("isPaket").toString())); - Optional dpjp = listPetugas.stream() - .filter(p -> p.getPelayananPasienId().equals(t.get("noRec").toString()) - && DOKTER_PEMERIKSA.equals(p.getObjectJenisPetugasPeId())) + Optional> petugas = listPetugas.stream() + .filter(p -> CommonUtil.isNotNullOrEmpty(p.get("noRecLayanan")) + && t.get("noRec").toString().equals(p.get("noRecLayanan")) + && CommonUtil.isNotNullOrEmpty(p.get("idJenisPelaksana")) + && DOKTER_PEMERIKSA.equals(p.get("idJenisPelaksana"))) .findFirst(); - dpjp.ifPresent(pelayananPasienPetugas -> dtoBuilder.idPegawai(pelayananPasienPetugas.getObjectPegawaiId()) - .namaPegawai(pelayananPasienPetugas.getKdpegawai().getNamaLengkap())); + petugas.ifPresent(p -> { + if (CommonUtil.isNotNullOrEmpty(p.get("idPegawai"))) + dtoBuilder.idPegawai(Integer.parseInt(p.get("idPegawai").toString())); + if (CommonUtil.isNotNullOrEmpty(p.get("namaPegawai"))) + dtoBuilder.namaPegawai(p.get("namaPegawai").toString()); + }); result.add(dtoBuilder.build()); }); return result; diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/PelayananPasienPetugas.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/PelayananPasienPetugas.java index 749bef73..a719c0f1 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/PelayananPasienPetugas.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/PelayananPasienPetugas.java @@ -1,22 +1,16 @@ package com.jasamedika.medifirst2000.entities; -import static javax.persistence.FetchType.LAZY; - -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.persistence.Table; -import javax.validation.constraints.NotNull; - -import org.joda.time.DateTime; - import com.jasamedika.medifirst2000.base.BaseTransaction; import com.jasamedika.medifirst2000.helper.Caption; - import lombok.Getter; import lombok.Setter; +import javax.persistence.*; +import javax.validation.constraints.NotNull; +import java.util.Date; + +import static javax.persistence.FetchType.LAZY; + /** * class PelayananPasienPetugas * @@ -41,6 +35,9 @@ public class PelayananPasienPetugas extends BaseTransaction { @Caption(value = "Object Asal Produk") private PelayananPasien pelayananPasien; + @Column(name = "PelayananPasien", insertable = false, updatable = false) + private String pelayananPasienId; + @ManyToOne(fetch = LAZY) @JoinColumn(name = "ObjectAsalProdukFk") @NotNull(message = "Object Asal Produk Harus Diisi") @@ -50,9 +47,6 @@ public class PelayananPasienPetugas extends BaseTransaction { @Column(name = "ObjectAsalProdukFk", insertable = false, updatable = false) private Integer ObjectAsalProdukId; - @Column(name = "PelayananPasien", insertable = false, updatable = false) - private String pelayananPasienId; - @ManyToOne(fetch = LAZY) @JoinColumn(name = "ObjectJenisPetugasPeFk") @NotNull(message = "Object Jenis Petugas Pe Harus Diisi") @@ -99,7 +93,7 @@ public class PelayananPasienPetugas extends BaseTransaction { private String NoMasukId; @Caption(value = "Tanggal Pelayanan") - private DateTime tglpelayanan; + private Date tglpelayanan; @Column(name = "asaid") @Caption(value = "Jenis Klasifikasi ASA") diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/PelayananPasienPetugasVO.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/PelayananPasienPetugasVO.java index abef50a5..faddfc80 100644 --- a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/PelayananPasienPetugasVO.java +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/vo/PelayananPasienPetugasVO.java @@ -4,9 +4,10 @@ import com.jasamedika.medifirst2000.base.vo.BaseTransactionVO; import com.jasamedika.medifirst2000.helper.Caption; import lombok.Getter; import lombok.Setter; -import org.joda.time.DateTime; import javax.persistence.Column; +import javax.validation.constraints.NotNull; +import java.util.Date; import java.util.HashSet; import java.util.Set; @@ -24,6 +25,12 @@ public class PelayananPasienPetugasVO extends BaseTransactionVO { @Caption(value = "Is Petugas Pe P Jawab") private Byte ispetugaspepjawab; + @NotNull(message = "Object Asal Produk Harus Diisi") + @Caption(value = "Object Asal Produk") + private PelayananPasienVO pelayananPasien; + + private String pelayananPasienId; + @Caption(value = "Object Asal Produk") private AsalProdukVO kdasalproduk; @@ -56,7 +63,7 @@ public class PelayananPasienPetugasVO extends BaseTransactionVO { private String NoMasukId; @Caption(value = "Tanggal Pelayanan") - private DateTime tglpelayanan; + private Date tglpelayanan; @Caption(value = "Jenis Klasifikasi ASA") private Byte asaId;