Merge branch 'master' into dev-1211

This commit is contained in:
Salman Manoe 2023-09-20 15:56:41 +07:00
commit c26c8ff975
5 changed files with 35 additions and 23 deletions

View File

@ -263,16 +263,16 @@ public interface PelayananPasienDao extends JpaRepository<PelayananPasien, Strin
List<Map<String, Object>> findPelayananPasienByPetugasAndPelayananPasien(@Param("pegawaiId") Integer idPegawai,
@Param("norecs") List<String> norecs);
@Query("select new Map(pp.noRec as noRec," + "ru.id as idRuangan,ru.namaRuangan as namaRuangan,"
+ "pp.tglPelayanan as tglPelayanan,to_char(pp.tglPelayanan,'dd/MM/yyyy') as tglPelayananStr,"
+ "pr.id as idProduk,pr.namaProduk as namaProduk," + "kls.id as idKelas,kls.namaKelas as namaKelas,"
+ "pg.id as idPegawai,pg.namaLengkap as namaPegawai,"
+ "coalesce(pp.jumlah,0) as jumlah,coalesce(pp.hargaJual,0) as hargaJual,coalesce(pp.hargaDiscount,0) as hargaDiskon,coalesce(pp.jasa,0) as hargaJasa,"
+ "((coalesce(pp.hargaJual,0)-coalesce(pp.hargaDiscount,0))*coalesce(pp.jumlah,0)+coalesce(pp.jasa,0)) as totalHargaJual,coalesce(pp.isPaket, false) as isPaket) "
+ "from PelayananPasienPetugas ppp " + "inner join ppp.pelayananPasien pp "
@Query("select new Map(pp.noRec as noRec," + "ru.id as idRuangan," + "ru.namaRuangan as namaRuangan,"
+ "pp.tglPelayanan as tglPelayanan," + "to_char(pp.tglPelayanan,'dd/MM/yyyy') as tglPelayananStr,"
+ "pr.id as idProduk," + "pr.namaProduk as namaProduk," + "kls.id as idKelas,"
+ "kls.namaKelas as namaKelas," + "coalesce(pp.jumlah,0) as jumlah,"
+ "coalesce(pp.hargaJual,0) as hargaJual," + "coalesce(pp.hargaDiscount,0) as hargaDiskon,"
+ "coalesce(pp.jasa,0) as hargaJasa,"
+ "((coalesce(pp.hargaJual,0)-coalesce(pp.hargaDiscount,0))*coalesce(pp.jumlah,0)+coalesce(pp.jasa,0)) as totalHargaJual,"
+ "coalesce(pp.isPaket, false) as isPaket) " + "from PelayananPasien pp "
+ "inner join pp.pasienDaftar apd " + "inner join apd.pasienDaftar pd " + "inner join apd.ruangan ru "
+ "inner join pp.produk pr " + "inner join pp.kelas kls " + "inner join ppp.kdpegawai pg "
+ "where pd.noRegistrasi = :noRegistrasi")
+ "inner join pp.produk pr " + "inner join pp.kelas kls " + "where pd.noRegistrasi = :noRegistrasi")
List<Map<String, Object>> findPelayananPasienByTagihanPendaftaran(@Param("noRegistrasi") String noRegistrasi);
List<PelayananPasien> findByPasienDaftarPasienDaftarNoRecIn(List<String> idDaftarList);

View File

@ -48,4 +48,6 @@ public interface PelayananPasienPetugasDao extends PagingAndSortingRepository<Pe
@Query("select ppp from PelayananPasienPetugas ppp left join ppp.pelayananPasien pp where pp.noRec = :noRec")
List<PelayananPasienPetugas> findByPelayananPasien(@Param("noRec") String noRec);
List<PelayananPasienPetugas> findAllByPelayananPasienNoRecIn(List<String> listNoRecPelayanan);
}

View File

@ -2498,18 +2498,25 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
List<TagihanPendaftaranDto> result = new ArrayList<>();
TagihanPendaftaranDto.TagihanPendaftaranDtoBuilder dtoBuilder = TagihanPendaftaranDto.builder();
List<Map<String, Object>> tagihan = pelayananPasienDao.findPelayananPasienByTagihanPendaftaran(noRegistrasi);
List<String> noRec = tagihan.stream().map(t -> t.get("noRec").toString()).collect(Collectors.toList());
List<PelayananPasienPetugas> 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"))
.tglPelayananStr(t.get("tglPelayananStr").toString())
.idProduk(Integer.parseInt(t.get("idProduk").toString())).namaProduk(t.get("namaProduk").toString())
.idKelas(Integer.parseInt(t.get("idKelas").toString())).namaKelas(t.get("namaKelas").toString())
.idPegawai(Integer.parseInt(t.get("idPegawai").toString()))
.namaPegawai(t.get("namaPegawai").toString()).jumlah(Double.parseDouble(t.get("jumlah").toString()))
.jumlah(Double.parseDouble(t.get("jumlah").toString()))
.hargaJual(Double.parseDouble(t.get("hargaJual").toString()))
.hargaDiskon(Double.parseDouble(t.get("hargaDiskon").toString()))
.hargaJasa(Double.parseDouble(t.get("hargaJasa").toString()))
.isPaket(Boolean.parseBoolean(t.get("isPaket").toString()));
Optional<PelayananPasienPetugas> dpjp = listPetugas.stream()
.filter(p -> p.getPelayananPasienId().equals(t.get("noRec").toString())
&& DOKTER_PEMERIKSA.equals(p.getObjectJenisPetugasPeId()))
.findFirst();
dpjp.ifPresent(pelayananPasienPetugas -> dtoBuilder.idPegawai(pelayananPasienPetugas.getObjectPegawaiId())
.namaPegawai(pelayananPasienPetugas.getKdpegawai().getNamaLengkap()));
result.add(dtoBuilder.build());
});
return result;

View File

@ -26,8 +26,10 @@ public class TagihanPendaftaranDto {
private String namaProduk;
private Integer idKelas;
private String namaKelas;
private Integer idPegawai;
private String namaPegawai;
@Builder.Default
private Integer idPegawai = null;
@Builder.Default
private String namaPegawai = "-";
private Double jumlah;
private Double hargaJual;
private Double hargaDiskon;

View File

@ -8,6 +8,9 @@ import org.joda.time.DateTime;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import static javax.persistence.FetchType.LAZY;
/**
* class PelayananPasienPetugas
@ -18,22 +21,20 @@ import javax.validation.constraints.NotNull;
@Setter
@Entity
@Table(name = "PelayananPasienPetugas_T")
public class PelayananPasienPetugas extends BaseTransaction {
private static final long serialVersionUID = -2586717488353074662L;
public class PelayananPasienPetugas extends BaseTransaction implements Serializable {
@Caption(value = "Deskripsi Tugas Fungsi")
private String deskripsitugasfungsi;
@Caption(value = "Is Petugas Pe P Jawab")
private Byte ispetugaspepjawab;
@ManyToOne
@ManyToOne(fetch = LAZY)
@JoinColumn(name = "PelayananPasien")
@NotNull(message = "Object Asal Produk Harus Diisi")
@Caption(value = "Object Asal Produk")
private PelayananPasien pelayananPasien;
@ManyToOne
@ManyToOne(fetch = LAZY)
@JoinColumn(name = "ObjectAsalProdukFk")
@NotNull(message = "Object Asal Produk Harus Diisi")
@Caption(value = "Object Asal Produk")
@ -45,7 +46,7 @@ public class PelayananPasienPetugas extends BaseTransaction {
@Column(name = "PelayananPasien", insertable = false, updatable = false)
private String pelayananPasienId;
@ManyToOne
@ManyToOne(fetch = LAZY)
@JoinColumn(name = "ObjectJenisPetugasPeFk")
@NotNull(message = "Object Jenis Petugas Pe Harus Diisi")
@Caption(value = "Object Jenis Petugas Pe")
@ -54,7 +55,7 @@ public class PelayananPasienPetugas extends BaseTransaction {
@Column(name = "ObjectJenisPetugasPeFk", insertable = false, updatable = false)
private Integer ObjectJenisPetugasPeId;
@ManyToOne
@ManyToOne(fetch = LAZY)
@JoinColumn(name = "ObjectPegawaiFk")
@NotNull(message = "Object Pegawai Harus Diisi")
@Caption(value = "Object Pegawai")
@ -63,7 +64,7 @@ public class PelayananPasienPetugas extends BaseTransaction {
@Column(name = "ObjectPegawaiFk", insertable = false, updatable = false)
private Integer ObjectPegawaiId;
@ManyToOne
@ManyToOne(fetch = LAZY)
@JoinColumn(name = "ObjectProdukFk")
@NotNull(message = "Object Produk Harus Diisi")
@Caption(value = "Object Produk")
@ -72,7 +73,7 @@ public class PelayananPasienPetugas extends BaseTransaction {
@Column(name = "ObjectProdukFk", insertable = false, updatable = false)
private Integer ObjectProdukId;
@ManyToOne
@ManyToOne(fetch = LAZY)
@JoinColumn(name = "ObjectRuanganFk")
@NotNull(message = "Object Ruangan Harus Diisi")
@Caption(value = "Object Ruangan")
@ -81,7 +82,7 @@ public class PelayananPasienPetugas extends BaseTransaction {
@Column(name = "ObjectRuanganFk", insertable = false, updatable = false)
private Integer ObjectRuanganId;
@ManyToOne
@ManyToOne(fetch = LAZY)
@JoinColumn(name = "NoMasukFk")
@NotNull(message = "No Masuk Harus Diisi")
@Caption(value = "No Masuk")