Merge branch 'master' into migrate

This commit is contained in:
Salman Manoe 2023-07-17 11:57:03 +07:00
commit 00aa7ed6e7
6 changed files with 424 additions and 59 deletions

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}
}

View File

@ -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);
}
}
}

View File

@ -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;

View File

@ -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);
}
}
}