Merge branch 'master' into migrate
This commit is contained in:
commit
00aa7ed6e7
@ -1,22 +1,21 @@
|
||||
package com.jasamedika.medifirst2000.dao;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.data.repository.PagingAndSortingRepository;
|
||||
import org.springframework.data.repository.query.Param;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import com.jasamedika.medifirst2000.entities.PelayananPasien;
|
||||
import com.jasamedika.medifirst2000.entities.PelayananPasienDetail;
|
||||
import com.jasamedika.medifirst2000.entities.StrukPelayanan;
|
||||
import com.jasamedika.medifirst2000.entities.StrukResep;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.data.repository.PagingAndSortingRepository;
|
||||
import org.springframework.data.repository.query.Param;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Repository class for PelayananPasien
|
||||
*
|
||||
*
|
||||
* @author Generator
|
||||
*/
|
||||
@Repository("PelayananPasienDao")
|
||||
@ -197,6 +196,9 @@ public interface PelayananPasienDao extends PagingAndSortingRepository<Pelayanan
|
||||
+ "and pd.noRegistrasi = :noRegistrasi")
|
||||
List<PelayananPasien> findAll(@Param("noRegistrasi") String noRegistrasi);
|
||||
|
||||
@Query("select pp from PelayananPasien pp where pp.noRec in (:listNoRec)")
|
||||
List<PelayananPasien> findAll(@Param("listNoRec") List<String> listNoRec);
|
||||
|
||||
@Query("select new Map(pr.id as idProduk,pr.namaProduk as namaProduk,"
|
||||
+ "pr.detailJenisProdukId as idDetailJenisProduk,pr.golonganProdukId as idGolonganProduk,"
|
||||
+ "djp.jenisProdukId as idJenisProduk," + "pd.kelompokPasienId as idKelompokPasien,"
|
||||
@ -269,4 +271,16 @@ public interface PelayananPasienDao extends PagingAndSortingRepository<Pelayanan
|
||||
+ "pr.namaProduk")
|
||||
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) "
|
||||
+ "from PelayananPasienPetugas ppp " + "inner join ppp.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")
|
||||
List<Map<String, Object>> findPelayananPasienByTagihanPendaftaran(@Param("noRegistrasi") String noRegistrasi);
|
||||
}
|
||||
|
||||
@ -1,10 +1,11 @@
|
||||
package com.jasamedika.medifirst2000.service;
|
||||
|
||||
import com.jasamedika.medifirst2000.dto.TagihanPendaftaranDto;
|
||||
import com.jasamedika.medifirst2000.vo.PelayananPasienVO;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.jasamedika.medifirst2000.vo.PelayananPasienVO;
|
||||
|
||||
public interface PelayananPasienService {
|
||||
|
||||
Map<String, Object> savePelayananPasien(PelayananPasienVO vo);
|
||||
@ -26,4 +27,8 @@ public interface PelayananPasienService {
|
||||
List<Map<String, Object>> logbookFfsTarifDokter(Integer idPegawai, String bulan);
|
||||
|
||||
List<Map<String, Object>> detailLogbookTarifDokter(Integer idPegawai, List<String> norecs);
|
||||
|
||||
List<TagihanPendaftaranDto> tagihan(String noRegistrasi);
|
||||
|
||||
void diskonTagihan(List<TagihanPendaftaranDto> dtoList);
|
||||
}
|
||||
|
||||
@ -3,7 +3,9 @@ package com.jasamedika.medifirst2000.service.impl;
|
||||
import com.jasamedika.medifirst2000.constants.Master;
|
||||
import com.jasamedika.medifirst2000.converter.BaseConverterImpl;
|
||||
import com.jasamedika.medifirst2000.dao.*;
|
||||
import com.jasamedika.medifirst2000.dto.TagihanPendaftaranDto;
|
||||
import com.jasamedika.medifirst2000.entities.*;
|
||||
import com.jasamedika.medifirst2000.exception.ServiceVOException;
|
||||
import com.jasamedika.medifirst2000.service.PelayananPasienService;
|
||||
import com.jasamedika.medifirst2000.util.CommonUtil;
|
||||
import com.jasamedika.medifirst2000.util.DateUtil;
|
||||
@ -2231,4 +2233,43 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
||||
return pelayananPasienDao.findPelayananPasienByPetugasAndPelayananPasien(idPegawai, norecs);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<TagihanPendaftaranDto> tagihan(String noRegistrasi) {
|
||||
List<TagihanPendaftaranDto> result = new ArrayList<>();
|
||||
TagihanPendaftaranDto.TagihanPendaftaranDtoBuilder dtoBuilder = TagihanPendaftaranDto.builder();
|
||||
List<Map<String, Object>> tagihan = pelayananPasienDao.findPelayananPasienByTagihanPendaftaran(noRegistrasi);
|
||||
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()))
|
||||
.hargaJual(Double.parseDouble(t.get("hargaJual").toString()))
|
||||
.hargaDiskon(Double.parseDouble(t.get("hargaDiskon").toString()))
|
||||
.hargaJasa(Double.parseDouble(t.get("hargaJasa").toString()));
|
||||
result.add(dtoBuilder.build());
|
||||
});
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void diskonTagihan(List<TagihanPendaftaranDto> dtoList) {
|
||||
double totalDiskon = dtoList.stream().mapToDouble(TagihanPendaftaranDto::getHargaDiskon).sum();
|
||||
if (totalDiskon > 5_000_000.00)
|
||||
throw new ServiceVOException("Total Diskon melebihi Rp5.000.000,00");
|
||||
List<String> listNoRec = dtoList.stream().map(TagihanPendaftaranDto::getNoRec).collect(Collectors.toList());
|
||||
List<PelayananPasien> listPelayanan = pelayananPasienDao.findAll(listNoRec);
|
||||
listPelayanan.forEach(p -> {
|
||||
Optional<TagihanPendaftaranDto> dto = dtoList.stream().filter(d -> d.getNoRec().equals(p.getNoRec()))
|
||||
.findFirst();
|
||||
dto.ifPresent(tagihanPendaftaranDto -> {
|
||||
p.setHargaDiscount(tagihanPendaftaranDto.getHargaDiskon());
|
||||
p.setJasa(tagihanPendaftaranDto.getHargaJasa());
|
||||
});
|
||||
});
|
||||
pelayananPasienDao.save(listPelayanan);
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,276 @@
|
||||
package com.jasamedika.medifirst2000.dto;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @author salmanoe
|
||||
* @since 14 Jul 2023
|
||||
*/
|
||||
public class TagihanPendaftaranDto {
|
||||
private String noRec;
|
||||
private Integer idRuangan;
|
||||
private String namaRuangan;
|
||||
private Date tglPelayanan;
|
||||
private String tglPelayananStr;
|
||||
private Integer idProduk;
|
||||
private String namaProduk;
|
||||
private Integer idKelas;
|
||||
private String namaKelas;
|
||||
private Integer idPegawai;
|
||||
private String namaPegawai;
|
||||
private Double jumlah;
|
||||
private Double hargaJual;
|
||||
private Double hargaDiskon;
|
||||
private Double hargaJasa;
|
||||
|
||||
public TagihanPendaftaranDto() {
|
||||
}
|
||||
|
||||
public TagihanPendaftaranDto(String noRec, Integer idRuangan, String namaRuangan, Date tglPelayanan,
|
||||
String tglPelayananStr, Integer idProduk, String namaProduk, Integer idKelas, String namaKelas,
|
||||
Integer idPegawai, String namaPegawai, Double jumlah, Double hargaJual, Double hargaDiskon,
|
||||
Double hargaJasa) {
|
||||
super();
|
||||
this.noRec = noRec;
|
||||
this.idRuangan = idRuangan;
|
||||
this.namaRuangan = namaRuangan;
|
||||
this.tglPelayanan = tglPelayanan;
|
||||
this.tglPelayananStr = tglPelayananStr;
|
||||
this.idProduk = idProduk;
|
||||
this.namaProduk = namaProduk;
|
||||
this.idKelas = idKelas;
|
||||
this.namaKelas = namaKelas;
|
||||
this.idPegawai = idPegawai;
|
||||
this.namaPegawai = namaPegawai;
|
||||
this.jumlah = jumlah;
|
||||
this.hargaJual = hargaJual;
|
||||
this.hargaDiskon = hargaDiskon;
|
||||
this.hargaJasa = hargaJasa;
|
||||
}
|
||||
|
||||
public String getNoRec() {
|
||||
return noRec;
|
||||
}
|
||||
|
||||
public void setNoRec(String noRec) {
|
||||
this.noRec = noRec;
|
||||
}
|
||||
|
||||
public Integer getIdRuangan() {
|
||||
return idRuangan;
|
||||
}
|
||||
|
||||
public void setIdRuangan(Integer idRuangan) {
|
||||
this.idRuangan = idRuangan;
|
||||
}
|
||||
|
||||
public String getNamaRuangan() {
|
||||
return namaRuangan;
|
||||
}
|
||||
|
||||
public void setNamaRuangan(String namaRuangan) {
|
||||
this.namaRuangan = namaRuangan;
|
||||
}
|
||||
|
||||
public Date getTglPelayanan() {
|
||||
return tglPelayanan;
|
||||
}
|
||||
|
||||
public void setTglPelayanan(Date tglPelayanan) {
|
||||
this.tglPelayanan = tglPelayanan;
|
||||
}
|
||||
|
||||
public String getTglPelayananStr() {
|
||||
return tglPelayananStr;
|
||||
}
|
||||
|
||||
public void setTglPelayananStr(String tglPelayananStr) {
|
||||
this.tglPelayananStr = tglPelayananStr;
|
||||
}
|
||||
|
||||
public Integer getIdProduk() {
|
||||
return idProduk;
|
||||
}
|
||||
|
||||
public void setIdProduk(Integer idProduk) {
|
||||
this.idProduk = idProduk;
|
||||
}
|
||||
|
||||
public String getNamaProduk() {
|
||||
return namaProduk;
|
||||
}
|
||||
|
||||
public void setNamaProduk(String namaProduk) {
|
||||
this.namaProduk = namaProduk;
|
||||
}
|
||||
|
||||
public Integer getIdKelas() {
|
||||
return idKelas;
|
||||
}
|
||||
|
||||
public void setIdKelas(Integer idKelas) {
|
||||
this.idKelas = idKelas;
|
||||
}
|
||||
|
||||
public String getNamaKelas() {
|
||||
return namaKelas;
|
||||
}
|
||||
|
||||
public void setNamaKelas(String namaKelas) {
|
||||
this.namaKelas = namaKelas;
|
||||
}
|
||||
|
||||
public Integer getIdPegawai() {
|
||||
return idPegawai;
|
||||
}
|
||||
|
||||
public void setIdPegawai(Integer idPegawai) {
|
||||
this.idPegawai = idPegawai;
|
||||
}
|
||||
|
||||
public String getNamaPegawai() {
|
||||
return namaPegawai;
|
||||
}
|
||||
|
||||
public void setNamaPegawai(String namaPegawai) {
|
||||
this.namaPegawai = namaPegawai;
|
||||
}
|
||||
|
||||
public Double getJumlah() {
|
||||
return jumlah;
|
||||
}
|
||||
|
||||
public void setJumlah(Double jumlah) {
|
||||
this.jumlah = jumlah;
|
||||
}
|
||||
|
||||
public Double getHargaJual() {
|
||||
return hargaJual;
|
||||
}
|
||||
|
||||
public void setHargaJual(Double hargaJual) {
|
||||
this.hargaJual = hargaJual;
|
||||
}
|
||||
|
||||
public Double getHargaDiskon() {
|
||||
return hargaDiskon;
|
||||
}
|
||||
|
||||
public void setHargaDiskon(Double hargaDiskon) {
|
||||
this.hargaDiskon = hargaDiskon;
|
||||
}
|
||||
|
||||
public Double getHargaJasa() {
|
||||
return hargaJasa;
|
||||
}
|
||||
|
||||
public void setHargaJasa(Double hargaJasa) {
|
||||
this.hargaJasa = hargaJasa;
|
||||
}
|
||||
|
||||
public static TagihanPendaftaranDtoBuilder builder() {
|
||||
return new TagihanPendaftaranDtoBuilder();
|
||||
}
|
||||
|
||||
public static class TagihanPendaftaranDtoBuilder {
|
||||
private String noRec;
|
||||
private Integer idRuangan;
|
||||
private String namaRuangan;
|
||||
private Date tglPelayanan;
|
||||
private String tglPelayananStr;
|
||||
private Integer idProduk;
|
||||
private String namaProduk;
|
||||
private Integer idKelas;
|
||||
private String namaKelas;
|
||||
private Integer idPegawai;
|
||||
private String namaPegawai;
|
||||
private Double jumlah;
|
||||
private Double hargaJual;
|
||||
private Double hargaDiskon;
|
||||
private Double hargaJasa;
|
||||
|
||||
public TagihanPendaftaranDtoBuilder() {
|
||||
}
|
||||
|
||||
public TagihanPendaftaranDtoBuilder noRec(final String noRec) {
|
||||
this.noRec = noRec;
|
||||
return this;
|
||||
}
|
||||
|
||||
public TagihanPendaftaranDtoBuilder idRuangan(final Integer idRuangan) {
|
||||
this.idRuangan = idRuangan;
|
||||
return this;
|
||||
}
|
||||
|
||||
public TagihanPendaftaranDtoBuilder namaRuangan(final String namaRuangan) {
|
||||
this.namaRuangan = namaRuangan;
|
||||
return this;
|
||||
}
|
||||
|
||||
public TagihanPendaftaranDtoBuilder tglPelayanan(final Date tglPelayanan) {
|
||||
this.tglPelayanan = tglPelayanan;
|
||||
return this;
|
||||
}
|
||||
|
||||
public TagihanPendaftaranDtoBuilder tglPelayananStr(final String tglPelayananStr) {
|
||||
this.tglPelayananStr = tglPelayananStr;
|
||||
return this;
|
||||
}
|
||||
|
||||
public TagihanPendaftaranDtoBuilder idProduk(final Integer idProduk) {
|
||||
this.idProduk = idProduk;
|
||||
return this;
|
||||
}
|
||||
|
||||
public TagihanPendaftaranDtoBuilder namaProduk(final String namaProduk) {
|
||||
this.namaProduk = namaProduk;
|
||||
return this;
|
||||
}
|
||||
|
||||
public TagihanPendaftaranDtoBuilder idKelas(final Integer idKelas) {
|
||||
this.idKelas = idKelas;
|
||||
return this;
|
||||
}
|
||||
|
||||
public TagihanPendaftaranDtoBuilder namaKelas(final String namaKelas) {
|
||||
this.namaKelas = namaKelas;
|
||||
return this;
|
||||
}
|
||||
|
||||
public TagihanPendaftaranDtoBuilder idPegawai(final Integer idPegawai) {
|
||||
this.idPegawai = idPegawai;
|
||||
return this;
|
||||
}
|
||||
|
||||
public TagihanPendaftaranDtoBuilder namaPegawai(final String namaPegawai) {
|
||||
this.namaPegawai = namaPegawai;
|
||||
return this;
|
||||
}
|
||||
|
||||
public TagihanPendaftaranDtoBuilder jumlah(final Double jumlah) {
|
||||
this.jumlah = jumlah;
|
||||
return this;
|
||||
}
|
||||
|
||||
public TagihanPendaftaranDtoBuilder hargaJual(final Double hargaJual) {
|
||||
this.hargaJual = hargaJual;
|
||||
return this;
|
||||
}
|
||||
|
||||
public TagihanPendaftaranDtoBuilder hargaDiskon(final Double hargaDiskon) {
|
||||
this.hargaDiskon = hargaDiskon;
|
||||
return this;
|
||||
}
|
||||
|
||||
public TagihanPendaftaranDtoBuilder hargaJasa(final Double hargaJasa) {
|
||||
this.hargaJasa = hargaJasa;
|
||||
return this;
|
||||
}
|
||||
|
||||
public TagihanPendaftaranDto build() {
|
||||
return new TagihanPendaftaranDto(this.noRec, this.idRuangan, this.namaRuangan, this.tglPelayanan,
|
||||
this.tglPelayananStr, this.idProduk, this.namaProduk, this.idKelas, this.namaKelas, this.idPegawai,
|
||||
this.namaPegawai, this.jumlah, this.hargaJual, this.hargaDiskon, this.hargaJasa);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -21,7 +21,7 @@ import com.jasamedika.medifirst2000.helper.Caption;
|
||||
@Table(name = "PelayananPasien_T")
|
||||
public class PelayananPasien extends MedicalRecordTransaction {
|
||||
|
||||
@ManyToOne
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "Generik")
|
||||
@Caption(value = "Generik")
|
||||
private Generik generik;
|
||||
@ -37,7 +37,7 @@ public class PelayananPasien extends MedicalRecordTransaction {
|
||||
@Column(name = "jasa")
|
||||
private Double jasa;
|
||||
|
||||
@ManyToOne
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "KelasFk")
|
||||
@Caption(value = "Produk")
|
||||
private Kelas kelas;
|
||||
@ -123,7 +123,7 @@ public class PelayananPasien extends MedicalRecordTransaction {
|
||||
@Column(name = "piutangRumahSakit", nullable = true)
|
||||
private Double piutangRumahSakit;
|
||||
|
||||
@ManyToOne
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "NoBatch")
|
||||
@Caption(value = "Struk Order")
|
||||
private StrukPelayananDNoBatch noBatch;
|
||||
@ -131,7 +131,7 @@ public class PelayananPasien extends MedicalRecordTransaction {
|
||||
@Column(name = "NoBatch", columnDefinition = "CHAR(32)", insertable = false, updatable = false, nullable = true)
|
||||
private String noBatchId;
|
||||
|
||||
@ManyToOne
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "satuanViewFK")
|
||||
@Caption(value = "satuanView")
|
||||
private SatuanStandar satuanView;
|
||||
@ -147,7 +147,7 @@ public class PelayananPasien extends MedicalRecordTransaction {
|
||||
@Column(name = "StrukOrderFk", columnDefinition = "CHAR(32)", insertable = false, updatable = false)
|
||||
private String strukOrderId;
|
||||
|
||||
@ManyToOne
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "JenisObatFk")
|
||||
@Caption(value = "Jenis Obat")
|
||||
private JenisObat jenisObat;
|
||||
@ -155,7 +155,7 @@ public class PelayananPasien extends MedicalRecordTransaction {
|
||||
@Column(name = "JenisObatFk", insertable = false, updatable = false)
|
||||
private Integer jenisObatId;
|
||||
|
||||
@ManyToOne
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "ProdukFk")
|
||||
@NotNull(message = "Produk Harus Diisi")
|
||||
@Caption(value = "Produk")
|
||||
@ -176,7 +176,7 @@ public class PelayananPasien extends MedicalRecordTransaction {
|
||||
@Caption(value = "AturanPakai")
|
||||
private String aturanPakai;
|
||||
|
||||
@ManyToOne
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "RouteFk")
|
||||
@Caption(value = "Route")
|
||||
private RouteFarmasi route;
|
||||
@ -184,7 +184,7 @@ public class PelayananPasien extends MedicalRecordTransaction {
|
||||
@Column(name = "RouteFk", insertable = false, updatable = false)
|
||||
private Integer routeId;
|
||||
|
||||
@ManyToOne
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "KeteranganPakaiFk")
|
||||
@Caption(value = "Keterangan Pakai")
|
||||
private Stigma keteranganPakai;
|
||||
@ -196,7 +196,7 @@ public class PelayananPasien extends MedicalRecordTransaction {
|
||||
@Caption(value = "KeteranganPakai2")
|
||||
private String keteranganPakai2;
|
||||
|
||||
@ManyToOne
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@Caption(value = "Kelompok Transaksi")
|
||||
@JoinColumn(name = "KdKelompokTransaksi")
|
||||
private KelompokTransaksi kelompokTransaksi;
|
||||
@ -224,7 +224,7 @@ public class PelayananPasien extends MedicalRecordTransaction {
|
||||
@Column(name = "noRecTriger", nullable = true)
|
||||
private String noRecTriger;
|
||||
|
||||
@ManyToOne
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "StrukResepFk")
|
||||
@Caption(value = "StrukResep")
|
||||
private StrukResep strukResep;
|
||||
@ -232,7 +232,7 @@ public class PelayananPasien extends MedicalRecordTransaction {
|
||||
@Column(name = "StrukResepFk", columnDefinition = "CHAR(32)", insertable = false, updatable = false, nullable = true)
|
||||
private String strukResepId;
|
||||
|
||||
@ManyToOne
|
||||
@ManyToOne(fetch = FetchType.LAZY)
|
||||
@Caption(value = "JenisKemasan")
|
||||
@JoinColumn(name = "JenisKemasanFK")
|
||||
private JenisKemasan jenisKemasan;
|
||||
|
||||
@ -1,12 +1,17 @@
|
||||
package com.jasamedika.medifirst2000.controller;
|
||||
|
||||
import java.text.ParseException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import com.jasamedika.medifirst2000.constants.Constants;
|
||||
import com.jasamedika.medifirst2000.constants.MessageResource;
|
||||
import com.jasamedika.medifirst2000.controller.base.LocaleController;
|
||||
import com.jasamedika.medifirst2000.core.web.WebConstants;
|
||||
import com.jasamedika.medifirst2000.dto.TagihanPendaftaranDto;
|
||||
import com.jasamedika.medifirst2000.exception.ServiceVOException;
|
||||
import com.jasamedika.medifirst2000.service.PasienDaftarService;
|
||||
import com.jasamedika.medifirst2000.service.PelayananPasienService;
|
||||
import com.jasamedika.medifirst2000.service.ProdukService;
|
||||
import com.jasamedika.medifirst2000.service.SatuanStandarService;
|
||||
import com.jasamedika.medifirst2000.util.rest.RestUtil;
|
||||
import com.jasamedika.medifirst2000.vo.PelayananPasienVO;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@ -14,23 +19,13 @@ import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.orm.jpa.JpaSystemException;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import com.jasamedika.medifirst2000.constants.Constants;
|
||||
import com.jasamedika.medifirst2000.constants.MessageResource;
|
||||
import com.jasamedika.medifirst2000.controller.base.LocaleController;
|
||||
import com.jasamedika.medifirst2000.core.web.WebConstants;
|
||||
import com.jasamedika.medifirst2000.exception.ServiceVOException;
|
||||
import com.jasamedika.medifirst2000.service.PasienDaftarService;
|
||||
import com.jasamedika.medifirst2000.service.PelayananPasienService;
|
||||
import com.jasamedika.medifirst2000.service.ProdukService;
|
||||
import com.jasamedika.medifirst2000.service.ResepDokterService;
|
||||
import com.jasamedika.medifirst2000.service.SatuanStandarService;
|
||||
import com.jasamedika.medifirst2000.util.rest.RestUtil;
|
||||
import com.jasamedika.medifirst2000.vo.PelayananPasienVO;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/pelayanan")
|
||||
@ -50,12 +45,9 @@ public class PelayananController extends LocaleController<PelayananPasienVO> {
|
||||
@Autowired
|
||||
private SatuanStandarService satuanStandarService;
|
||||
|
||||
@Autowired
|
||||
private ResepDokterService resepDokterService;
|
||||
|
||||
@RequestMapping(value = "/calculate-indikator-pelayanan", method = RequestMethod.GET)
|
||||
public ResponseEntity<List<Map<String, Object>>> calculateIndikatorPelayanan(HttpServletRequest request,
|
||||
@RequestParam("tahun") String tahun) throws ParseException {
|
||||
@RequestParam("tahun") String tahun) {
|
||||
try {
|
||||
List<Map<String, Object>> result = pasienDaftarService.findIndikatorPelayanan(tahun);
|
||||
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
|
||||
@ -75,7 +67,7 @@ public class PelayananController extends LocaleController<PelayananPasienVO> {
|
||||
@RequestMapping(value = "/validate-nama-produk", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
public ResponseEntity<Map<String, Object>> validateNamaProduk(HttpServletRequest request,
|
||||
@RequestParam(value = "idProduk", required = false) Integer idProduk,
|
||||
@RequestParam(value = "namaProduk", required = true) String namaProduk) {
|
||||
@RequestParam(value = "namaProduk") String namaProduk) {
|
||||
try {
|
||||
Map<String, Object> result = produkService.validateNamaProduk(idProduk, namaProduk);
|
||||
|
||||
@ -93,7 +85,7 @@ public class PelayananController extends LocaleController<PelayananPasienVO> {
|
||||
|
||||
@RequestMapping(value = "/paket-to-produk", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
public ResponseEntity<Map<String, Object>> getMappingPaketToProduk(HttpServletRequest request,
|
||||
@RequestParam(value = "idMapping", required = true) Integer idMapping) {
|
||||
@RequestParam(value = "idMapping") Integer idMapping) {
|
||||
try {
|
||||
Map<String, Object> result = produkService.getMappingPaketToProduk(idMapping);
|
||||
return RestUtil.getJsonResponse(result, HttpStatus.OK);
|
||||
@ -128,9 +120,8 @@ public class PelayananController extends LocaleController<PelayananPasienVO> {
|
||||
|
||||
@RequestMapping(value = "/master-satuan-standar", method = RequestMethod.GET)
|
||||
public ResponseEntity<List<Map<String, Object>>> getAllMasterSatuanStandar(HttpServletRequest request) {
|
||||
List<Map<String, Object>> result = new ArrayList<>();
|
||||
try {
|
||||
result = satuanStandarService.getAll();
|
||||
List<Map<String, Object>> result = satuanStandarService.getAll();
|
||||
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
|
||||
getMessage(MessageResource.LABEL_SUCCESS, request));
|
||||
return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage);
|
||||
@ -147,9 +138,9 @@ public class PelayananController extends LocaleController<PelayananPasienVO> {
|
||||
|
||||
@RequestMapping(value = "/klaim-diskon", method = RequestMethod.GET)
|
||||
public ResponseEntity<List<String>> KlaimDiskon(HttpServletRequest request,
|
||||
@RequestParam(value = "noRegistrasi", required = true) String noRegistrasi,
|
||||
@RequestParam(value = "totalKlaim", required = true) Double totalKlaim,
|
||||
@RequestParam(value = "jenisDiskon", required = true) Integer jenisDiskon) {
|
||||
@RequestParam(value = "noRegistrasi") String noRegistrasi,
|
||||
@RequestParam(value = "totalKlaim") Double totalKlaim,
|
||||
@RequestParam(value = "jenisDiskon") Integer jenisDiskon) {
|
||||
try {
|
||||
List<String> result = pelayananPasienService.updateKlaimDiskon(noRegistrasi, totalKlaim, jenisDiskon);
|
||||
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
|
||||
@ -188,8 +179,7 @@ public class PelayananController extends LocaleController<PelayananPasienVO> {
|
||||
|
||||
@RequestMapping(value = "/check-existing-harga-produk-kelas", method = RequestMethod.GET)
|
||||
public ResponseEntity<List<Map<String, Object>>> checkExistingHargaProdukKelas(HttpServletRequest request,
|
||||
@RequestParam(value = "kelasId", required = true) Integer idKelas,
|
||||
@RequestParam(value = "produkId", required = true) Integer idProduk,
|
||||
@RequestParam(value = "kelasId") Integer idKelas, @RequestParam(value = "produkId") Integer idProduk,
|
||||
@RequestParam(value = "mappingId", required = false) Integer idMapping) {
|
||||
try {
|
||||
List<Map<String, Object>> result = produkService.findExistingMapHargaKelas(idKelas, idProduk, idMapping);
|
||||
@ -207,4 +197,43 @@ public class PelayananController extends LocaleController<PelayananPasienVO> {
|
||||
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
|
||||
}
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/tagihan/daftar/{noRegistrasi}", method = RequestMethod.GET)
|
||||
public ResponseEntity<List<TagihanPendaftaranDto>> daftarTagihan(HttpServletRequest request,
|
||||
@PathVariable String noRegistrasi) {
|
||||
try {
|
||||
List<TagihanPendaftaranDto> result = pelayananPasienService.tagihan(noRegistrasi);
|
||||
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
|
||||
getMessage(MessageResource.LABEL_SUCCESS, request));
|
||||
return RestUtil.getJsonResponse(result, HttpStatus.OK, mapHeaderMessage);
|
||||
} catch (ServiceVOException e) {
|
||||
LOGGER.error("Got exception {} when get daftar tagihan {}", e.getMessage(), noRegistrasi);
|
||||
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, e.getMessage());
|
||||
return RestUtil.getJsonHttptatus(HttpStatus.INTERNAL_SERVER_ERROR, mapHeaderMessage);
|
||||
} catch (JpaSystemException jse) {
|
||||
LOGGER.error("Got exception {} when get daftar tagihan {}", jse.getMessage(), noRegistrasi);
|
||||
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
|
||||
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
|
||||
}
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/tagihan/diskon/save", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||
public ResponseEntity<Object> simpanDiskonTagihan(HttpServletRequest request,
|
||||
@RequestBody List<TagihanPendaftaranDto> dtoList) {
|
||||
try {
|
||||
pelayananPasienService.diskonTagihan(dtoList);
|
||||
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
|
||||
getMessage(MessageResource.LABEL_SUCCESS, request));
|
||||
return RestUtil.getJsonResponse(dtoList, HttpStatus.OK, mapHeaderMessage);
|
||||
} catch (ServiceVOException e) {
|
||||
LOGGER.error("Got exception {} when simpan diskon tagihan {}", e.getMessage(), null);
|
||||
Map<String, String> error = new HashMap<String, String>();
|
||||
error.put("bad-request", e.getMessage());
|
||||
return RestUtil.getJsonResponse(null, HttpStatus.BAD_REQUEST, error);
|
||||
} catch (JpaSystemException jse) {
|
||||
LOGGER.error("Got exception {} when simpan diskon tagihan {}", jse.getMessage(), null);
|
||||
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
|
||||
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user