Merge branch 'dev'
This commit is contained in:
commit
970a5c3194
@ -3,10 +3,14 @@ package com.jasamedika.medifirst2000.dao;
|
|||||||
import com.jasamedika.medifirst2000.entities.MapProdukPaket;
|
import com.jasamedika.medifirst2000.entities.MapProdukPaket;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Salman Manoe
|
* @author Salman Manoe
|
||||||
* @version 1.0.0
|
* @version 1.0.0
|
||||||
* @since 21 Sep 2023
|
* @since 21 Sep 2023
|
||||||
*/
|
*/
|
||||||
public interface MapProdukPaketDao extends JpaRepository<MapProdukPaket, String> {
|
public interface MapProdukPaketDao extends JpaRepository<MapProdukPaket, String> {
|
||||||
|
List<MapProdukPaket> findByPaketIdIn(Set<Integer> setPaketId);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import org.springframework.data.jpa.repository.Query;
|
|||||||
import org.springframework.data.repository.query.Param;
|
import org.springframework.data.repository.query.Param;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Salman
|
* @author Salman
|
||||||
@ -18,7 +19,9 @@ public interface MapProdukPaketToProdukDao extends JpaRepository<MapProdukPaketT
|
|||||||
* id produk yang dijadikan nama paket
|
* id produk yang dijadikan nama paket
|
||||||
* @return daftar mapping antara produk paket dan paketnya sebagai produk
|
* @return daftar mapping antara produk paket dan paketnya sebagai produk
|
||||||
*/
|
*/
|
||||||
@Query("select mpaket from MapProdukPaketToProduk mpaket " + "inner join mpaket.produkPaket mproduk "
|
@Query("select mproduk from MapProdukPaketToProduk mproduk " + "inner join mproduk.mapProdukPaket mpaket "
|
||||||
+ "where mproduk.paketId = :paketId")
|
+ "where mpaket.paketId = :paketId")
|
||||||
List<MapProdukPaketToProduk> findAllByPaketId(@Param("paketId") Integer paketId);
|
List<MapProdukPaketToProduk> findByPaketId(@Param("paketId") Integer paketId);
|
||||||
|
|
||||||
|
List<MapProdukPaketToProduk> findByProdukIdIn(Set<Integer> setProdukId);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -12,6 +12,7 @@ import org.springframework.stereotype.Repository;
|
|||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Repository class for PelayananPasien
|
* Repository class for PelayananPasien
|
||||||
@ -183,7 +184,7 @@ public interface PelayananPasienDao extends JpaRepository<PelayananPasien, Strin
|
|||||||
@Query("select pp from PelayananPasien pp where pp.noRec in (:listNoRec)")
|
@Query("select pp from PelayananPasien pp where pp.noRec in (:listNoRec)")
|
||||||
List<PelayananPasien> findAll(@Param("listNoRec") List<String> listNoRec);
|
List<PelayananPasien> findAll(@Param("listNoRec") List<String> listNoRec);
|
||||||
|
|
||||||
@Query("select new Map(pr.id as idProduk,pr.namaProduk as namaProduk,"
|
String LOGBOOK_DOKTER = "select new Map(pr.id as idProduk,pr.namaProduk as namaProduk,"
|
||||||
+ "pr.detailJenisProdukId as idDetailJenisProduk,pr.golonganProdukId as idGolonganProduk,"
|
+ "pr.detailJenisProdukId as idDetailJenisProduk,pr.golonganProdukId as idGolonganProduk,"
|
||||||
+ "djp.jenisProdukId as idJenisProduk," + "pd.voucherPaketId as idVoucherDaftar,"
|
+ "djp.jenisProdukId as idJenisProduk," + "pd.voucherPaketId as idVoucherDaftar,"
|
||||||
+ "pd.kelompokPasienId as idKelompokPasien," + "case when pd.kelompokPasienId = 2 then 1 "
|
+ "pd.kelompokPasienId as idKelompokPasien," + "case when pd.kelompokPasienId = 2 then 1 "
|
||||||
@ -202,34 +203,40 @@ public interface PelayananPasienDao extends JpaRepository<PelayananPasien, Strin
|
|||||||
+ "pp.tglPelayanan as tglPelayanan,to_char(pp.tglPelayanan,'yyyy-MM-dd') as tanggal,"
|
+ "pp.tglPelayanan as tglPelayanan,to_char(pp.tglPelayanan,'yyyy-MM-dd') as tanggal,"
|
||||||
+ "pp.sayatanId as idSayatan,sy.urutan as urutanSayatan,"
|
+ "pp.sayatanId as idSayatan,sy.urutan as urutanSayatan,"
|
||||||
+ "coalesce(sy.persen,0) as persenSayatan,coalesce(sy.nama,'') as keterangan,"
|
+ "coalesce(sy.persen,0) as persenSayatan,coalesce(sy.nama,'') as keterangan,"
|
||||||
+ "vp.paketId as idPaketLayanan," + "apd.noRec as idAntrianPasienDiperiksa,apd.pegawaiId as idDPJP,"
|
+ "apd.noRec as idAntrianPasienDiperiksa,apd.pegawaiId as idDPJP," + "apd.ruanganId as idRuangan,"
|
||||||
+ "apd.ruanganId as idRuangan,"
|
|
||||||
+ "case when lower(ru.namaRuangan) like '%eksekutif%' then 'Eksekutif' else 'Reguler' end as jenisRuangan,"
|
+ "case when lower(ru.namaRuangan) like '%eksekutif%' then 'Eksekutif' else 'Reguler' end as jenisRuangan,"
|
||||||
+ "ru.departemenId as idDepartemen," + "pd.noRec as idPasienDaftar,"
|
+ "ru.departemenId as idDepartemen," + "pd.noRec as idPasienDaftar,"
|
||||||
+ "sum(case when ppd.komponenHargaId = 35 then ppd.hargaDiscount else 0.0 end) as totalDiskon) "
|
+ "sum(case when ppd.komponenHargaId = 35 then ppd.hargaDiscount else 0.0 end) as totalDiskon) "
|
||||||
+ "from PelayananPasienDetail ppd, PelayananPasienPetugas ppp " + "inner join ppp.pelayananPasien pp "
|
+ "from PelayananPasienDetail ppd, PelayananPasienPetugas ppp " + "inner join ppp.pelayananPasien pp "
|
||||||
+ "inner join pp.pasienDaftar apd " + "inner join apd.pasienDaftar pd " + "left join pp.produk pr "
|
+ "inner join pp.pasienDaftar apd " + "inner join apd.pasienDaftar pd " + "left join pp.produk pr "
|
||||||
+ "left join pp.kelas kls " + "left join pd.kelompokPasien kp " + "left join apd.ruangan ru "
|
+ "left join pp.kelas kls " + "left join pd.kelompokPasien kp " + "left join apd.ruangan ru "
|
||||||
+ "left join pr.detailJenisProduk djp " + "left join pp.sayatan sy " + "left join pp.voucherPaket vp "
|
+ "left join pr.detailJenisProduk djp " + "left join pp.sayatan sy ";
|
||||||
+ "where ppd.pelayananPasienId = pp.noRec and (ppp.statusEnabled is true or ppp.statusEnabled is null) "
|
|
||||||
|
String WHERE_LOGBOOK_DOKTER = "where ppd.pelayananPasienId = pp.noRec and (ppp.statusEnabled is true or ppp.statusEnabled is null) "
|
||||||
+ "and (pp.statusEnabled is true or pp.statusEnabled is null) and pp.strukResepId is null "
|
+ "and (pp.statusEnabled is true or pp.statusEnabled is null) and pp.strukResepId is null "
|
||||||
+ "and (pd.statusEnabled is true or pd.statusEnabled is null) " + "and ppp.ObjectPegawaiId = :pegawaiId "
|
+ "and (pd.statusEnabled is true or pd.statusEnabled is null) ";
|
||||||
+ "and pp.tglPelayanan between :tglAwal and :tglAkhir " + "group by pr.id,pr.namaProduk,"
|
|
||||||
+ "pr.detailJenisProdukId,pr.golonganProdukId," + "djp.jenisProdukId," + "pd.voucherPaketId,"
|
String PARAMATER_LOGBOOK_DOKTER = "and ppp.ObjectPegawaiId = :pegawaiId "
|
||||||
+ "pd.kelompokPasienId," + "case when pd.kelompokPasienId = 2 then 1 "
|
+ "and pp.tglPelayanan between :tglAwal and :tglAkhir ";
|
||||||
+ "when pd.kelompokPasienId = 4 then 2 " + "when pd.kelompokPasienId = 8 then 3 "
|
|
||||||
+ "when pd.kelompokPasienId = 9 then 4 " + "when pd.kelompokPasienId = 1 then 5 "
|
String GROUP_LOGBOOK_DOKTER = "group by pr.id,pr.namaProduk," + "pr.detailJenisProdukId,pr.golonganProdukId,"
|
||||||
+ "when pd.kelompokPasienId = 5 then 6 " + "when pd.kelompokPasienId = 6 then 7 "
|
+ "djp.jenisProdukId," + "pd.voucherPaketId," + "pd.kelompokPasienId,"
|
||||||
+ "when pd.kelompokPasienId = 3 then 8 " + "when pd.kelompokPasienId = 7 then 9 " + "else 10 end,"
|
+ "case when pd.kelompokPasienId = 2 then 1 " + "when pd.kelompokPasienId = 4 then 2 "
|
||||||
+ "kp.kelompokPasien," + "pp.kelasId," + "case when pp.kelasId = 6 then 1 " + "when pp.kelasId = 1 then 2 "
|
+ "when pd.kelompokPasienId = 8 then 3 " + "when pd.kelompokPasienId = 9 then 4 "
|
||||||
+ "when pp.kelasId = 2 then 3 " + "when pp.kelasId = 3 then 4 " + "when pp.kelasId = 8 then 5 "
|
+ "when pd.kelompokPasienId = 1 then 5 " + "when pd.kelompokPasienId = 5 then 6 "
|
||||||
+ "when pp.kelasId = 5 then 6 " + "when pp.kelasId = 21 then 7 " + "else 8 end," + "kls.namaKelas,"
|
+ "when pd.kelompokPasienId = 6 then 7 " + "when pd.kelompokPasienId = 3 then 8 "
|
||||||
+ "ppp.noRec," + "ppp.ObjectJenisPetugasPeId,ppp.ObjectPegawaiId,"
|
+ "when pd.kelompokPasienId = 7 then 9 " + "else 10 end," + "kp.kelompokPasien," + "pp.kelasId,"
|
||||||
+ "pp.noRec,coalesce(pp.hargaJual,0),coalesce(pp.jumlah,0),pp.sayatanId,sy.urutan,"
|
+ "case when pp.kelasId = 6 then 1 " + "when pp.kelasId = 1 then 2 " + "when pp.kelasId = 2 then 3 "
|
||||||
+ "coalesce(sy.persen,0),coalesce(sy.nama,'')," + "pp.tglPelayanan,to_char(pp.tglPelayanan,'yyyy-MM-dd'),"
|
+ "when pp.kelasId = 3 then 4 " + "when pp.kelasId = 8 then 5 " + "when pp.kelasId = 5 then 6 "
|
||||||
+ "vp.paketId," + "apd.noRec,apd.pegawaiId," + "apd.ruanganId,"
|
+ "when pp.kelasId = 21 then 7 " + "else 8 end," + "kls.namaKelas," + "ppp.noRec,"
|
||||||
|
+ "ppp.ObjectJenisPetugasPeId,ppp.ObjectPegawaiId,"
|
||||||
|
+ "pp.noRec,coalesce(pp.hargaJual,0),coalesce(pp.jumlah,0)," + "coalesce(pp.isPaket,false),"
|
||||||
|
+ "pp.tglPelayanan,to_char(pp.tglPelayanan,'yyyy-MM-dd')," + "pp.sayatanId,sy.urutan,"
|
||||||
|
+ "coalesce(sy.persen,0),coalesce(sy.nama,'')," + "apd.noRec,apd.pegawaiId," + "apd.ruanganId,"
|
||||||
+ "case when lower(ru.namaRuangan) like '%eksekutif%' then 'Eksekutif' else 'Reguler' end,"
|
+ "case when lower(ru.namaRuangan) like '%eksekutif%' then 'Eksekutif' else 'Reguler' end,"
|
||||||
+ "ru.departemenId," + "pd.noRec " + "order by case when pd.kelompokPasienId = 2 then 1 "
|
+ "ru.departemenId," + "pd.noRec ";
|
||||||
|
|
||||||
|
String ORDER_LOGBOOK_DOKTER = "order by case when pd.kelompokPasienId = 2 then 1 "
|
||||||
+ "when pd.kelompokPasienId = 4 then 2 " + "when pd.kelompokPasienId = 8 then 3 "
|
+ "when pd.kelompokPasienId = 4 then 2 " + "when pd.kelompokPasienId = 8 then 3 "
|
||||||
+ "when pd.kelompokPasienId = 9 then 4 " + "when pd.kelompokPasienId = 1 then 5 "
|
+ "when pd.kelompokPasienId = 9 then 4 " + "when pd.kelompokPasienId = 1 then 5 "
|
||||||
+ "when pd.kelompokPasienId = 5 then 6 " + "when pd.kelompokPasienId = 6 then 7 "
|
+ "when pd.kelompokPasienId = 5 then 6 " + "when pd.kelompokPasienId = 6 then 7 "
|
||||||
@ -237,10 +244,20 @@ public interface PelayananPasienDao extends JpaRepository<PelayananPasien, Strin
|
|||||||
+ "pp.tglPelayanan, " + "pp.hargaJual, " + "case when pp.kelasId = 6 then 1 "
|
+ "pp.tglPelayanan, " + "pp.hargaJual, " + "case when pp.kelasId = 6 then 1 "
|
||||||
+ "when pp.kelasId = 1 then 2 " + "when pp.kelasId = 2 then 3 " + "when pp.kelasId = 3 then 4 "
|
+ "when pp.kelasId = 1 then 2 " + "when pp.kelasId = 2 then 3 " + "when pp.kelasId = 3 then 4 "
|
||||||
+ "when pp.kelasId = 8 then 5 " + "when pp.kelasId = 5 then 6 " + "when pp.kelasId = 21 then 7 "
|
+ "when pp.kelasId = 8 then 5 " + "when pp.kelasId = 5 then 6 " + "when pp.kelasId = 21 then 7 "
|
||||||
+ "else 8 end asc," + "pr.namaProduk")
|
+ "else 8 end asc," + "pr.namaProduk";
|
||||||
|
|
||||||
|
@Query(LOGBOOK_DOKTER + WHERE_LOGBOOK_DOKTER + PARAMATER_LOGBOOK_DOKTER + GROUP_LOGBOOK_DOKTER
|
||||||
|
+ ORDER_LOGBOOK_DOKTER)
|
||||||
List<Map<String, Object>> findPelayananPasienByPetugasAndTanggal(@Param("pegawaiId") Integer idPegawai,
|
List<Map<String, Object>> findPelayananPasienByPetugasAndTanggal(@Param("pegawaiId") Integer idPegawai,
|
||||||
@Param("tglAwal") Date tglAwal, @Param("tglAkhir") Date tglAkhir);
|
@Param("tglAwal") Date tglAwal, @Param("tglAkhir") Date tglAkhir);
|
||||||
|
|
||||||
|
String PARAMETER_LOGBOOK_PAKET = "and pd.voucherPaketId in (:setIdVoucher) " + "and pp.produkId in (:listIdPaket) ";
|
||||||
|
|
||||||
|
@Query(LOGBOOK_DOKTER + WHERE_LOGBOOK_DOKTER + PARAMETER_LOGBOOK_PAKET + GROUP_LOGBOOK_DOKTER
|
||||||
|
+ ORDER_LOGBOOK_DOKTER)
|
||||||
|
List<Map<String, Object>> findPelayananPasienByPaket(@Param("setIdVoucher") Set<String> setIdVoucher,
|
||||||
|
@Param("listIdPaket") List<Integer> listIdPaket);
|
||||||
|
|
||||||
@Query("select new Map(jp.jenisPetugasPe as jenisPelaksana," + "pr.namaProduk as namaProduk,"
|
@Query("select new Map(jp.jenisPetugasPe as jenisPelaksana," + "pr.namaProduk as namaProduk,"
|
||||||
+ "coalesce(pp.hargaJual,0) as hargaJual," + "coalesce(pp.hargaDiscount,0) as diskon,"
|
+ "coalesce(pp.hargaJual,0) as hargaJual," + "coalesce(pp.hargaDiscount,0) as diskon,"
|
||||||
+ "coalesce(pp.jumlah,0) as jumlah," + "kp.kelompokPasien as kelompokPasien,"
|
+ "coalesce(pp.jumlah,0) as jumlah," + "kp.kelompokPasien as kelompokPasien,"
|
||||||
@ -276,4 +293,11 @@ public interface PelayananPasienDao extends JpaRepository<PelayananPasien, Strin
|
|||||||
List<Map<String, Object>> findPelayananPasienByTagihanPendaftaran(@Param("noRegistrasi") String noRegistrasi);
|
List<Map<String, Object>> findPelayananPasienByTagihanPendaftaran(@Param("noRegistrasi") String noRegistrasi);
|
||||||
|
|
||||||
List<PelayananPasien> findByPasienDaftarPasienDaftarNoRecIn(List<String> idDaftarList);
|
List<PelayananPasien> findByPasienDaftarPasienDaftarNoRecIn(List<String> idDaftarList);
|
||||||
|
|
||||||
|
@Query("select new Map(pd.voucherPaketId as norecVoucher," + "pp.produkId as idProduk," + "pp.jumlah as jumlah) "
|
||||||
|
+ "from PelayananPasien pp " + "inner join pp.pasienDaftar apd " + "inner join apd.pasienDaftar pd "
|
||||||
|
+ "where (pp.statusEnabled is true or pp.statusEnabled is null) "
|
||||||
|
+ "and (pd.statusEnabled is true or pd.statusEnabled is null) " + "and pp.strukResepId is null "
|
||||||
|
+ "and pd.voucherPaketId in (:listIdVoucher)")
|
||||||
|
List<Map<String, Object>> findJumlahLayananByVoucherIn(@Param("listIdVoucher") Set<String> listIdVoucher);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -49,5 +49,8 @@ public interface PelayananPasienPetugasDao extends PagingAndSortingRepository<Pe
|
|||||||
@Query("select ppp from PelayananPasienPetugas ppp left join ppp.pelayananPasien pp where pp.noRec = :noRec")
|
@Query("select ppp from PelayananPasienPetugas ppp left join ppp.pelayananPasien pp where pp.noRec = :noRec")
|
||||||
List<PelayananPasienPetugas> findByPelayananPasien(@Param("noRec") String noRec);
|
List<PelayananPasienPetugas> findByPelayananPasien(@Param("noRec") String noRec);
|
||||||
|
|
||||||
List<PelayananPasienPetugas> findAllByPelayananPasienNoRecIn(List<String> listNoRecPelayanan);
|
@Query("select ppp from PelayananPasienPetugas ppp " + "left join ppp.pelayananPasien pp "
|
||||||
|
+ "where pp.noRec in (:listNoRecPelayanan)")
|
||||||
|
List<PelayananPasienPetugas> findAllByPelayananPasienNoRecIn(
|
||||||
|
@Param("listNoRecPelayanan") List<String> listNoRecPelayanan);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,11 +2,9 @@ package com.jasamedika.medifirst2000.dao;
|
|||||||
|
|
||||||
import com.jasamedika.medifirst2000.entities.VoucherPaket;
|
import com.jasamedika.medifirst2000.entities.VoucherPaket;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
import org.springframework.data.jpa.repository.Query;
|
|
||||||
import org.springframework.data.repository.query.Param;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Salman
|
* @author Salman
|
||||||
@ -23,10 +21,13 @@ public interface VoucherPaketDao extends JpaRepository<VoucherPaket, String> {
|
|||||||
*/
|
*/
|
||||||
VoucherPaket findByKode(String kode);
|
VoucherPaket findByKode(String kode);
|
||||||
|
|
||||||
@Query("select new Map(vp.noRec as idVoucher,vp.paketId as idPaket," + "mpaket.produkId as idProduk,"
|
/**
|
||||||
+ "mproduk.produkPaketId as idProdukPaket," + "mproduk.jenisMapping as jenisMapping) "
|
* Query untuk mendapatkan data voucher paket bedasarkan kumpulan no record
|
||||||
+ "from MapProdukPaketToProduk mpaket " + "inner join mpaket.produkPaket mproduk, VoucherPaket vp "
|
* tertentu
|
||||||
+ "where vp.paketId = mproduk.paketId " + "and vp.isSelesai is true and vp.isBatal is false "
|
*
|
||||||
+ "and vp.noRec in (:listNorec)")
|
* @param norecs
|
||||||
List<Map<String, Object>> findPelayananPaket(@Param("listNorec") List<String> listIdVoucherPaket);
|
* daftar no record data voucher
|
||||||
|
* @return data entitas <code>VoucherPaket</code>
|
||||||
|
*/
|
||||||
|
List<VoucherPaket> findAllByNoRecIn(Set<String> norecs);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -48,7 +48,7 @@ public class MapProdukPaketToProdukServiceImpl implements MapProdukPaketToProduk
|
|||||||
{
|
{
|
||||||
MapProdukPaket mapProdukPaket = new MapProdukPaket();
|
MapProdukPaket mapProdukPaket = new MapProdukPaket();
|
||||||
mapProdukPaket.setNoRec(vo.getProdukPaket().getNoRec());
|
mapProdukPaket.setNoRec(vo.getProdukPaket().getNoRec());
|
||||||
model.setProdukPaket(mapProdukPaket);
|
model.setMapProdukPaket(mapProdukPaket);
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
Produk produk = new Produk();
|
Produk produk = new Produk();
|
||||||
@ -68,7 +68,7 @@ public class MapProdukPaketToProdukServiceImpl implements MapProdukPaketToProduk
|
|||||||
{
|
{
|
||||||
MapProdukPaket mapProdukPaket = new MapProdukPaket();
|
MapProdukPaket mapProdukPaket = new MapProdukPaket();
|
||||||
mapProdukPaket.setNoRec(vo.getProdukPaket().getNoRec());
|
mapProdukPaket.setNoRec(vo.getProdukPaket().getNoRec());
|
||||||
model.setProdukPaket(mapProdukPaket);
|
model.setMapProdukPaket(mapProdukPaket);
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
Produk produk = new Produk();
|
Produk produk = new Produk();
|
||||||
@ -96,7 +96,7 @@ public class MapProdukPaketToProdukServiceImpl implements MapProdukPaketToProduk
|
|||||||
return null;
|
return null;
|
||||||
MapProdukPaketToProdukVO result = mapPaketProdukConverter.transferModelToVO(model,
|
MapProdukPaketToProdukVO result = mapPaketProdukConverter.transferModelToVO(model,
|
||||||
new MapProdukPaketToProdukVO());
|
new MapProdukPaketToProdukVO());
|
||||||
MapProdukPaket mapProdukPaket = model.getProdukPaket();
|
MapProdukPaket mapProdukPaket = model.getMapProdukPaket();
|
||||||
MapProdukPaketVO mapProdukPaketVO = mapProdukPaketConverter.transferModelToVO(mapProdukPaket,
|
MapProdukPaketVO mapProdukPaketVO = mapProdukPaketConverter.transferModelToVO(mapProdukPaket,
|
||||||
new MapProdukPaketVO());
|
new MapProdukPaketVO());
|
||||||
{
|
{
|
||||||
|
|||||||
@ -44,6 +44,7 @@ import static com.jasamedika.medifirst2000.constants.Master.Ruangan.*;
|
|||||||
import static com.jasamedika.medifirst2000.constants.Master.SubUnitKerja.*;
|
import static com.jasamedika.medifirst2000.constants.Master.SubUnitKerja.*;
|
||||||
import static com.jasamedika.medifirst2000.constants.Master.TipePegawai.PURNA_WAKTU;
|
import static com.jasamedika.medifirst2000.constants.Master.TipePegawai.PURNA_WAKTU;
|
||||||
import static com.jasamedika.medifirst2000.enums.JenisMappingProdukPaket.TINDAKAN_UTAMA;
|
import static com.jasamedika.medifirst2000.enums.JenisMappingProdukPaket.TINDAKAN_UTAMA;
|
||||||
|
import static com.jasamedika.medifirst2000.enums.JenisMappingProdukPaket.VISITE_UTAMA;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Implement class for PelayananPasienService
|
* Implement class for PelayananPasienService
|
||||||
@ -117,6 +118,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
@Autowired
|
@Autowired
|
||||||
private VoucherPaketDao voucherPaketDao;
|
private VoucherPaketDao voucherPaketDao;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private MapProdukPaketDao mapProdukPaketDao;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private MapProdukPaketToProdukDao mapProdukPaketToProdukDao;
|
private MapProdukPaketToProdukDao mapProdukPaketToProdukDao;
|
||||||
|
|
||||||
@ -552,27 +556,32 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
*/
|
*/
|
||||||
List<Map<String, Object>> listData = pelayananPasienDao.findPelayananPasienByPetugasAndTanggal(idPegawai,
|
List<Map<String, Object>> listData = pelayananPasienDao.findPelayananPasienByPetugasAndTanggal(idPegawai,
|
||||||
tglAwal, tglAkhir);
|
tglAwal, tglAkhir);
|
||||||
/*
|
List<Map<String, Object>> listRatedPay = new ArrayList<>(listData);
|
||||||
* Filtering selain logbook fixed pay
|
List<Map<String, Object>> listFixedPay = new ArrayList<>();
|
||||||
*/
|
Set<String> listIdVoucher = listData.stream().filter(d -> CommonUtil.isNotNullOrEmpty(d.get("idVoucherDaftar")))
|
||||||
List<Map<String, Object>> listRatedPay = listData.stream().filter(
|
.map(d -> d.get("idVoucherDaftar").toString()).collect(Collectors.toSet());
|
||||||
d -> (CommonUtil.isNullOrEmpty(d.get("isPaket")) || !Boolean.parseBoolean(d.get("isPaket").toString()))
|
if (CommonUtil.isNotNullOrEmpty(listIdVoucher)) {
|
||||||
&& (CommonUtil.isNullOrEmpty(d.get("idPaketLayanan"))
|
List<VoucherPaket> listVoucher = voucherPaketDao.findAllByNoRecIn(listIdVoucher);
|
||||||
&& !Integer.valueOf(d.get("idProduk").toString()).equals(d.get("idPaketLayanan"))))
|
Set<Integer> listIdPaket = listVoucher.stream().map(VoucherPaket::getPaketId).collect(Collectors.toSet());
|
||||||
.collect(Collectors.toList());
|
/*
|
||||||
/*
|
* Filtering selain logbook fixed pay
|
||||||
* Set awal logbook fixed pay
|
*/
|
||||||
*/
|
listRatedPay = listData.stream()
|
||||||
List<Map<String, Object>> listFixedPay = listData.stream()
|
.filter(d -> !Boolean.parseBoolean(d.get("isPaket").toString())
|
||||||
.filter(d -> (CommonUtil.isNotNullOrEmpty(d.get("idVoucherDaftar"))
|
&& !listIdPaket.contains(Integer.parseInt(d.get("idProduk").toString())))
|
||||||
&& !Boolean.parseBoolean(d.get("isPaket").toString())
|
.collect(Collectors.toList());
|
||||||
&& CommonUtil.isNotNullOrEmpty(d.get("idPaketLayanan"))
|
/*
|
||||||
&& Integer.valueOf(d.get("idProduk").toString()).equals(d.get("idPaketLayanan")))
|
* Set awal logbook fixed pay
|
||||||
|| (CommonUtil.isNotNullOrEmpty(d.get("idVoucherLayanan"))
|
*/
|
||||||
&& Boolean.parseBoolean(d.get("isPaket").toString()) && CommonUtil
|
listFixedPay = listData.stream()
|
||||||
.isNotNullOrEmpty(d.get("idPaketLayanan"))
|
.filter(d -> CommonUtil.isNotNullOrEmpty(d.get("idVoucherDaftar"))
|
||||||
&& !Integer.valueOf(d.get("idProduk").toString()).equals(d.get("idPaketLayanan"))))
|
&& (!Boolean.parseBoolean(d.get("isPaket").toString())
|
||||||
.collect(Collectors.toList());
|
&& listIdPaket.contains(Integer.parseInt(d.get("idProduk").toString())))
|
||||||
|
|| (CommonUtil.isNotNullOrEmpty(d.get("idVoucherLayanan"))
|
||||||
|
&& Boolean.parseBoolean(d.get("isPaket").toString()) && !listIdPaket
|
||||||
|
.contains(Integer.parseInt(d.get("idProduk").toString()))))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
}
|
||||||
/*
|
/*
|
||||||
* Set persen jasa dan harga jasa pasien bpjs di ibs, icu
|
* Set persen jasa dan harga jasa pasien bpjs di ibs, icu
|
||||||
*/
|
*/
|
||||||
@ -581,7 +590,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
/*
|
/*
|
||||||
* Mapping set awal persentase jasa remunerasi dan harga jasa remunerasi
|
* Mapping set awal persentase jasa remunerasi dan harga jasa remunerasi
|
||||||
*/
|
*/
|
||||||
for (Map<String, Object> d : listData)
|
for (Map<String, Object> d : listRatedPay)
|
||||||
if (DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana")) && CommonUtil.isNotNullOrEmpty(d.get("totalDiskon"))
|
if (DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana")) && CommonUtil.isNotNullOrEmpty(d.get("totalDiskon"))
|
||||||
&& Double.parseDouble(d.get("totalDiskon").toString()) > 0.0
|
&& Double.parseDouble(d.get("totalDiskon").toString()) > 0.0
|
||||||
&& CommonUtil.isNullOrEmpty(d.get("idSayatan"))) {
|
&& CommonUtil.isNullOrEmpty(d.get("idSayatan"))) {
|
||||||
@ -682,7 +691,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
* Alokasi data diambil terlebih dahulu untuk kelompok BPJS, Jaminan
|
* Alokasi data diambil terlebih dahulu untuk kelompok BPJS, Jaminan
|
||||||
* Kemenkes
|
* Kemenkes
|
||||||
*/
|
*/
|
||||||
List<Map<String, Object>> rawDataBpjs0 = listData
|
List<Map<String, Object>> rawDataBpjs0 = listRatedPay
|
||||||
.stream().filter(d -> CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien")) && Arrays
|
.stream().filter(d -> CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien")) && Arrays
|
||||||
.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString())))
|
.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString())))
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
@ -996,7 +1005,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
* nonshift
|
* nonshift
|
||||||
*/
|
*/
|
||||||
List<Map<String, Object>> listDataJamKerja = new ArrayList<>();
|
List<Map<String, Object>> listDataJamKerja = new ArrayList<>();
|
||||||
for (Map<String, Object> d : listData) {
|
for (Map<String, Object> d : listRatedPay) {
|
||||||
if (CommonUtil.isNotNullOrEmpty(d.get("tglPelayanan"))) {
|
if (CommonUtil.isNotNullOrEmpty(d.get("tglPelayanan"))) {
|
||||||
LocalDate tglPelayanan = ((Date) d.get("tglPelayanan")).toInstant().atZone(ZoneId.systemDefault())
|
LocalDate tglPelayanan = ((Date) d.get("tglPelayanan")).toInstant().atZone(ZoneId.systemDefault())
|
||||||
.toLocalDate();
|
.toLocalDate();
|
||||||
@ -1028,7 +1037,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
* Asumsi jam kerja dokter nonshift
|
* Asumsi jam kerja dokter nonshift
|
||||||
*/
|
*/
|
||||||
List<Map<String, Object>> listDataLuarJamKerja = new ArrayList<>();
|
List<Map<String, Object>> listDataLuarJamKerja = new ArrayList<>();
|
||||||
for (Map<String, Object> d : listData) {
|
for (Map<String, Object> d : listRatedPay) {
|
||||||
if (CommonUtil.isNotNullOrEmpty(d.get("tglPelayanan"))) {
|
if (CommonUtil.isNotNullOrEmpty(d.get("tglPelayanan"))) {
|
||||||
LocalDate tglPelayanan = ((Date) d.get("tglPelayanan")).toInstant().atZone(ZoneId.systemDefault())
|
LocalDate tglPelayanan = ((Date) d.get("tglPelayanan")).toInstant().atZone(ZoneId.systemDefault())
|
||||||
.toLocalDate();
|
.toLocalDate();
|
||||||
@ -1486,68 +1495,19 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
.sorted(Comparator.comparing(o -> o.get("namaProduk").toString())).collect(Collectors.toList());
|
.sorted(Comparator.comparing(o -> o.get("namaProduk").toString())).collect(Collectors.toList());
|
||||||
result.put("klaim-mpp", listPelayananKlaimMpp);
|
result.put("klaim-mpp", listPelayananKlaimMpp);
|
||||||
}
|
}
|
||||||
// {
|
if (CommonUtil.isNotNullOrEmpty(listFixedPay)) {
|
||||||
// List<Map<String, Object>> listPelayananFixedPay =
|
List<Map<String, Object>> listPelayananFixedPay = setPelayananPaket(listFixedPay);
|
||||||
// setPelayananFixedPay(listFixedPay);
|
result.put("fixed-pay", listPelayananFixedPay);
|
||||||
// result.put("fixed-pay", listPelayananFixedPay);
|
}
|
||||||
// }
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<Map<String, Object>> setPelayananFixedPay(List<Map<String, Object>> listData) {
|
private List<Map<String, Object>> setPelayananPaket(List<Map<String, Object>> listData) {
|
||||||
List<Integer> listIdProduk = new ArrayList<>();
|
List<Map<String, Object>> listFixedPay = transformPelayananPaket(listData);
|
||||||
List<String> listPersenJasa = new ArrayList<>();
|
|
||||||
List<Double> listHargaJasa = new ArrayList<>();
|
|
||||||
List<Double> listHargaJual = new ArrayList<>();
|
|
||||||
List<Integer> listIdKelompokPasien = new ArrayList<>();
|
|
||||||
List<String> listTanggal = new ArrayList<>();
|
|
||||||
List<String> listJenisRuangan = new ArrayList<>();
|
|
||||||
List<Map<String, Object>> listFixedPay = new ArrayList<>();
|
|
||||||
{
|
|
||||||
List<Map<String, Object>> listKepalaPaket = listData.stream()
|
|
||||||
.filter(d -> (CommonUtil.isNotNullOrEmpty(d.get("idVoucherDaftar"))
|
|
||||||
&& !Boolean.parseBoolean(d.get("isPaket").toString())
|
|
||||||
&& CommonUtil.isNotNullOrEmpty(d.get("idPaketLayanan"))
|
|
||||||
&& Integer.valueOf(d.get("idProduk").toString()).equals(d.get("idPaketLayanan"))))
|
|
||||||
.collect(Collectors.toList());
|
|
||||||
Set<String> listIdVoucherKepalaPaket = listKepalaPaket.stream()
|
|
||||||
.map(p -> p.get("idVoucherLayanan").toString()).collect(Collectors.toSet());
|
|
||||||
List<Map<String, Object>> pelayananKepalaPaket = voucherPaketDao
|
|
||||||
.findPelayananPaket(new ArrayList<>(listIdVoucherKepalaPaket));
|
|
||||||
Set<Integer> listIdEntri = pelayananKepalaPaket.stream()
|
|
||||||
.filter(kp -> TINDAKAN_UTAMA.name().equals(kp.get("jenisMapping").toString()))
|
|
||||||
.map(kp -> Integer.valueOf(kp.get("idProduk").toString())).collect(Collectors.toSet());
|
|
||||||
List<Map<String, Object>> listDataUtama = listData.stream()
|
|
||||||
.filter(d -> listIdEntri.contains(Integer.parseInt(d.get("idProduk").toString())))
|
|
||||||
.collect(Collectors.toList());
|
|
||||||
listIdVoucherKepalaPaket.forEach(idVoucher -> {
|
|
||||||
List<Map<String, Object>> dataUtama = listDataUtama.stream()
|
|
||||||
.filter(d -> idVoucher.equals(d.get("idVoucherLayanan"))).collect(Collectors.toList());
|
|
||||||
});
|
|
||||||
}
|
|
||||||
/*
|
/*
|
||||||
* Populate data filter
|
* Populate data filter
|
||||||
*/
|
*/
|
||||||
listFixedPay.forEach(d -> {
|
List<Map<String, Object>> dataTanggal = groupingTanggalPaket(listFixedPay);
|
||||||
if (!listIdProduk.contains(Integer.parseInt(d.get("idProduk").toString())))
|
|
||||||
listIdProduk.add(Integer.valueOf(d.get("idProduk").toString()));
|
|
||||||
if (!listPersenJasa.contains(d.get("persenJasa").toString()))
|
|
||||||
listPersenJasa.add(d.get("persenJasa").toString());
|
|
||||||
if (!listHargaJasa.contains(Double.parseDouble(d.get("hargaJasa").toString())))
|
|
||||||
listHargaJasa.add(Double.valueOf(d.get("hargaJasa").toString()));
|
|
||||||
if (!listHargaJual.contains(Double.parseDouble(d.get("hargaJual").toString())))
|
|
||||||
listHargaJual.add(Double.valueOf(d.get("hargaJual").toString()));
|
|
||||||
if (!listIdKelompokPasien.contains(Integer.parseInt(d.get("idKelompokPasien").toString())))
|
|
||||||
listIdKelompokPasien.add(Integer.valueOf(d.get("idKelompokPasien").toString()));
|
|
||||||
if (!listTanggal.contains(d.get("tanggal").toString()))
|
|
||||||
listTanggal.add(d.get("tanggal").toString());
|
|
||||||
if (!listJenisRuangan.contains(d.get("jenisRuangan").toString()))
|
|
||||||
listJenisRuangan.add(d.get("jenisRuangan").toString());
|
|
||||||
});
|
|
||||||
/*
|
|
||||||
* Pengelompokkan tanggal pelayanan
|
|
||||||
*/
|
|
||||||
List<Map<String, Object>> dataTanggal = groupingTanggalFfs(listFixedPay);
|
|
||||||
/*
|
/*
|
||||||
* Pengelompokkan produk layanan
|
* Pengelompokkan produk layanan
|
||||||
*/
|
*/
|
||||||
@ -1585,6 +1545,143 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private List<Map<String, Object>> groupingTanggalPaket(List<Map<String, Object>> listFixedPay) {
|
||||||
|
List<Integer> listIdProduk = new ArrayList<>();
|
||||||
|
List<String> listPersenJasa = new ArrayList<>();
|
||||||
|
List<Double> listHargaJasa = new ArrayList<>();
|
||||||
|
List<Double> listHargaJual = new ArrayList<>();
|
||||||
|
List<Integer> listIdKelompokPasien = new ArrayList<>();
|
||||||
|
List<String> listTanggal = new ArrayList<>();
|
||||||
|
List<String> listJenisRuangan = new ArrayList<>();
|
||||||
|
listFixedPay.forEach(d -> {
|
||||||
|
if (!listIdProduk.contains(Integer.parseInt(d.get("idProduk").toString())))
|
||||||
|
listIdProduk.add(Integer.valueOf(d.get("idProduk").toString()));
|
||||||
|
if (!listPersenJasa.contains(d.get("persenJasa").toString()))
|
||||||
|
listPersenJasa.add(d.get("persenJasa").toString());
|
||||||
|
if (!listHargaJasa.contains(Double.parseDouble(d.get("hargaJasa").toString())))
|
||||||
|
listHargaJasa.add(Double.valueOf(d.get("hargaJasa").toString()));
|
||||||
|
if (!listHargaJual.contains(Double.parseDouble(d.get("hargaJual").toString())))
|
||||||
|
listHargaJual.add(Double.valueOf(d.get("hargaJual").toString()));
|
||||||
|
if (!listIdKelompokPasien.contains(Integer.parseInt(d.get("idKelompokPasien").toString())))
|
||||||
|
listIdKelompokPasien.add(Integer.valueOf(d.get("idKelompokPasien").toString()));
|
||||||
|
if (!listTanggal.contains(d.get("tanggal").toString()))
|
||||||
|
listTanggal.add(d.get("tanggal").toString());
|
||||||
|
if (!listJenisRuangan.contains(d.get("jenisRuangan").toString()))
|
||||||
|
listJenisRuangan.add(d.get("jenisRuangan").toString());
|
||||||
|
});
|
||||||
|
/*
|
||||||
|
* Pengelompokkan tanggal pelayanan
|
||||||
|
*/
|
||||||
|
return groupingTanggalFfs(listFixedPay);
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<Map<String, Object>> transformPelayananPaket(List<Map<String, Object>> listData) {
|
||||||
|
Set<String> setIdVoucher = listData.stream().map(d -> d.get("idVoucherDaftar").toString())
|
||||||
|
.collect(Collectors.toSet());
|
||||||
|
List<VoucherPaket> listVoucher = voucherPaketDao.findAllByNoRecIn(setIdVoucher);
|
||||||
|
List<MapProdukPaket> listMapPaket = mapProdukPaketDao
|
||||||
|
.findByPaketIdIn(listVoucher.stream().map(VoucherPaket::getPaketId).collect(Collectors.toSet()));
|
||||||
|
List<MapProdukPaketToProduk> listMapProduk = mapProdukPaketToProdukDao.findByProdukIdIn(
|
||||||
|
listData.stream().map(d -> Integer.parseInt(d.get("idProduk").toString())).collect(Collectors.toSet()));
|
||||||
|
List<String> listUndonePaketUtama = new ArrayList<>();
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
* Mengecek seluruh data layanan lintas logbook untuk paket tindakan
|
||||||
|
* utama yang belum selesai
|
||||||
|
*/
|
||||||
|
List<Map<String, Object>> listPelayanan = pelayananPasienDao.findJumlahLayananByVoucherIn(setIdVoucher);
|
||||||
|
listVoucher.forEach(voucher -> {
|
||||||
|
List<MapProdukPaket> listPaketUtama = listMapPaket.stream()
|
||||||
|
.filter(mpaket -> mpaket.getPaketId().equals(voucher.getPaketId())
|
||||||
|
&& (TINDAKAN_UTAMA.equals(mpaket.getJenisMapping())
|
||||||
|
|| VISITE_UTAMA.equals(mpaket.getJenisMapping())))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
boolean paketUtamaSelesai = true;
|
||||||
|
for (MapProdukPaket paket : listPaketUtama) {
|
||||||
|
List<Integer> listIdEntri = listMapProduk.stream()
|
||||||
|
.filter(mproduk -> paket.getNoRec().equals(mproduk.getMapProdukPaketId()))
|
||||||
|
.map(MapProdukPaketToProduk::getProdukId).collect(Collectors.toList());
|
||||||
|
Double jumlahLayanan = listPelayanan.stream()
|
||||||
|
.filter(p -> listIdEntri.contains(Integer.parseInt(p.get("idProduk").toString())))
|
||||||
|
.map(p -> Double.parseDouble(p.get("jumlah").toString())).reduce(Double::sum).orElse(0.0);
|
||||||
|
if (paket.getJumlah().doubleValue() < jumlahLayanan) {
|
||||||
|
paketUtamaSelesai = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!paketUtamaSelesai)
|
||||||
|
listUndonePaketUtama.add(voucher.getNoRec());
|
||||||
|
});
|
||||||
|
}
|
||||||
|
List<Map<String, Object>> listData1;
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
* Penerapan hasil pengecekan lintas logbook untuk logbook yang
|
||||||
|
* dievaluasi
|
||||||
|
*/
|
||||||
|
List<Integer> setIdPaket = listVoucher.stream().map(VoucherPaket::getPaketId).collect(Collectors.toList());
|
||||||
|
List<MapProdukPaket> listPaketUtama = listMapPaket.stream()
|
||||||
|
.filter(mpaket -> setIdPaket.contains(mpaket.getPaketId())
|
||||||
|
&& (TINDAKAN_UTAMA.equals(mpaket.getJenisMapping())
|
||||||
|
|| VISITE_UTAMA.equals(mpaket.getJenisMapping())))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
List<String> listIdMapPaket = listPaketUtama.stream().map(MapProdukPaket::getNoRec)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
List<Integer> listIdEntri = listMapProduk.stream()
|
||||||
|
.filter(mproduk -> listIdMapPaket.contains(mproduk.getMapProdukPaketId()))
|
||||||
|
.map(MapProdukPaketToProduk::getProdukId).collect(Collectors.toList());
|
||||||
|
List<Map<String, Object>> listDataUndone = listData.stream()
|
||||||
|
.filter(d -> CommonUtil.isNotNullOrEmpty(d.get("idVoucherLayanan"))
|
||||||
|
&& listUndonePaketUtama.contains(d.get("idVoucherLayanan").toString())
|
||||||
|
&& listIdEntri.contains(Integer.parseInt(d.get("idProduk").toString())))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
Set<String> setIdPelayanan = listDataUndone.stream().map(d -> d.get("idPelayananPasien").toString())
|
||||||
|
.collect(Collectors.toSet());
|
||||||
|
listData1 = listData.stream().filter(d -> !setIdPelayanan.contains(d.get("idPelayananPasien").toString()))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
Set<String> setIdVoucherFiltered = listData1.stream().map(d -> d.get("idVoucherDaftar").toString())
|
||||||
|
.collect(Collectors.toSet());
|
||||||
|
List<VoucherPaket> listVoucherFiltered = voucherPaketDao.findAllByNoRecIn(setIdVoucherFiltered);
|
||||||
|
List<Integer> listIdPaket = listVoucherFiltered.stream().map(VoucherPaket::getPaketId)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
List<Map<String, Object>> listData3 = new ArrayList<>();
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
* Transformasi data tindakan utama dan reduce visite utama
|
||||||
|
*/
|
||||||
|
List<Map<String, Object>> listData2 = pelayananPasienDao.findPelayananPasienByPaket(setIdVoucherFiltered,
|
||||||
|
listIdPaket);
|
||||||
|
listData3.addAll(listData2);
|
||||||
|
}
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
* Transformasi data tindakan lain-lain
|
||||||
|
*/
|
||||||
|
List<MapProdukPaket> listPaketUtama = listMapPaket.stream()
|
||||||
|
.filter(mpaket -> listIdPaket.contains(mpaket.getPaketId())
|
||||||
|
&& (TINDAKAN_UTAMA.equals(mpaket.getJenisMapping())
|
||||||
|
|| VISITE_UTAMA.equals(mpaket.getJenisMapping())))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
List<String> listIdMapPaket = listPaketUtama.stream().map(MapProdukPaket::getNoRec)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
List<Integer> listIdEntri = listMapProduk.stream()
|
||||||
|
.filter(mproduk -> listIdMapPaket.contains(mproduk.getMapProdukPaketId()))
|
||||||
|
.map(MapProdukPaketToProduk::getProdukId).collect(Collectors.toList());
|
||||||
|
List<Map<String, Object>> listDataUtama = listData1.stream()
|
||||||
|
.filter(d -> CommonUtil.isNotNullOrEmpty(d.get("idVoucherDaftar"))
|
||||||
|
&& setIdVoucherFiltered.contains(d.get("idVoucherDaftar").toString())
|
||||||
|
&& listIdEntri.contains(Integer.parseInt(d.get("idProduk").toString())))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
Set<String> setIdPelayananUtama = listDataUtama.stream().map(d -> d.get("idPelayananPasien").toString())
|
||||||
|
.collect(Collectors.toSet());
|
||||||
|
listData3.addAll(
|
||||||
|
listData1.stream().filter(d -> !setIdPelayananUtama.contains(d.get("idPelayananPasien").toString()))
|
||||||
|
.collect(Collectors.toList()));
|
||||||
|
}
|
||||||
|
return listData3;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<String, Object> logbookRemunTarifDokter(Integer idPegawai, String bulan) {
|
public Map<String, Object> logbookRemunTarifDokter(Integer idPegawai, String bulan) {
|
||||||
Map<String, Object> result = new HashMap<>();
|
Map<String, Object> result = new HashMap<>();
|
||||||
@ -2571,7 +2668,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
}
|
}
|
||||||
{
|
{
|
||||||
List<MapProdukPaketToProduk> mappingProdukPaket = mapProdukPaketToProdukDao
|
List<MapProdukPaketToProduk> mappingProdukPaket = mapProdukPaketToProdukDao
|
||||||
.findAllByPaketId(voucher.getPaket().getId());
|
.findByPaketId(voucher.getPaket().getId());
|
||||||
List<Integer> idProdukMapping = mappingProdukPaket.stream().map(MapProdukPaketToProduk::getProdukId)
|
List<Integer> idProdukMapping = mappingProdukPaket.stream().map(MapProdukPaketToProduk::getProdukId)
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
Optional<TagihanPendaftaranDto> dtoPaket = dtoList.stream().filter(TagihanPendaftaranDto::getIsPaket)
|
Optional<TagihanPendaftaranDto> dtoPaket = dtoList.stream().filter(TagihanPendaftaranDto::getIsPaket)
|
||||||
@ -2584,7 +2681,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
List<Integer> idProdukPaketDto = dtoList.stream().map(TagihanPendaftaranDto::getIdProduk)
|
List<Integer> idProdukPaketDto = dtoList.stream().map(TagihanPendaftaranDto::getIdProduk)
|
||||||
.filter(dto -> !dto.equals(voucher.getPaketId())).collect(Collectors.toList());
|
.filter(dto -> !dto.equals(voucher.getPaketId())).collect(Collectors.toList());
|
||||||
mappingProdukPaket.stream().filter(d -> idProdukPaketDto.contains(d.getProdukId())).forEach(d -> {
|
mappingProdukPaket.stream().filter(d -> idProdukPaketDto.contains(d.getProdukId())).forEach(d -> {
|
||||||
Produk produkPaket = d.getProdukPaket().getProdukPaket();
|
Produk produkPaket = d.getMapProdukPaket().getProdukPaket();
|
||||||
List<Map<String, Object>> tarifProdukPaket = hargaNettoProdukByKelasDao
|
List<Map<String, Object>> tarifProdukPaket = hargaNettoProdukByKelasDao
|
||||||
.checkExisting(voucher.getKelasId(), produkPaket.getId());
|
.checkExisting(voucher.getKelasId(), produkPaket.getId());
|
||||||
if (CommonUtil.isNullOrEmpty(tarifProdukPaket) && tarifProdukPaket.isEmpty())
|
if (CommonUtil.isNullOrEmpty(tarifProdukPaket) && tarifProdukPaket.isEmpty())
|
||||||
@ -2801,7 +2898,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
|
|||||||
}
|
}
|
||||||
List<String> idDaftarList = listPendaftaran.stream().map(PasienDaftar::getNoRec).collect(Collectors.toList());
|
List<String> idDaftarList = listPendaftaran.stream().map(PasienDaftar::getNoRec).collect(Collectors.toList());
|
||||||
List<PelayananPasien> listPelayanan = pelayananPasienDao.findByPasienDaftarPasienDaftarNoRecIn(idDaftarList);
|
List<PelayananPasien> listPelayanan = pelayananPasienDao.findByPasienDaftarPasienDaftarNoRecIn(idDaftarList);
|
||||||
List<MapProdukPaketToProduk> produkMapping = mapProdukPaketToProdukDao.findAllByPaketId(voucher.getPaketId());
|
List<MapProdukPaketToProduk> produkMapping = mapProdukPaketToProdukDao.findByPaketId(voucher.getPaketId());
|
||||||
List<Integer> idProdukMapping = produkMapping.stream().map(MapProdukPaketToProduk::getProdukId)
|
List<Integer> idProdukMapping = produkMapping.stream().map(MapProdukPaketToProduk::getProdukId)
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
{
|
{
|
||||||
|
|||||||
@ -11,6 +11,12 @@ public enum JenisMappingProdukPaket {
|
|||||||
* Produk ditandai sebagai tindakan utama di dalam sebuah paket layanan.
|
* Produk ditandai sebagai tindakan utama di dalam sebuah paket layanan.
|
||||||
* Digunakan untuk mengelompokkan hak remunerasi dokter yang bersangkutan
|
* Digunakan untuk mengelompokkan hak remunerasi dokter yang bersangkutan
|
||||||
*/
|
*/
|
||||||
TINDAKAN_UTAMA
|
TINDAKAN_UTAMA,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Produk ditandai sebagai visite utama dalam sebuah paket layanan.
|
||||||
|
* Digunakan untuk mengelompokkan hak remunerasi dokter yang bersangkutan
|
||||||
|
*/
|
||||||
|
VISITE_UTAMA
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,18 +1,24 @@
|
|||||||
package com.jasamedika.medifirst2000.entities;
|
package com.jasamedika.medifirst2000.entities;
|
||||||
|
|
||||||
|
import static javax.persistence.EnumType.STRING;
|
||||||
|
import static javax.persistence.FetchType.LAZY;
|
||||||
|
|
||||||
|
import javax.persistence.Column;
|
||||||
|
import javax.persistence.Entity;
|
||||||
|
import javax.persistence.Enumerated;
|
||||||
|
import javax.persistence.JoinColumn;
|
||||||
|
import javax.persistence.ManyToOne;
|
||||||
|
import javax.persistence.Table;
|
||||||
|
import javax.persistence.UniqueConstraint;
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
|
||||||
import com.jasamedika.medifirst2000.base.BaseTransaction;
|
import com.jasamedika.medifirst2000.base.BaseTransaction;
|
||||||
import com.jasamedika.medifirst2000.enums.JenisMappingProdukPaket;
|
import com.jasamedika.medifirst2000.enums.JenisMappingProdukPaket;
|
||||||
import com.jasamedika.medifirst2000.helper.Caption;
|
import com.jasamedika.medifirst2000.helper.Caption;
|
||||||
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
|
|
||||||
import javax.persistence.*;
|
|
||||||
import javax.validation.constraints.NotNull;
|
|
||||||
import java.io.Serializable;
|
|
||||||
|
|
||||||
import static javax.persistence.EnumType.STRING;
|
|
||||||
import static javax.persistence.FetchType.LAZY;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Salman Manoe
|
* @author Salman Manoe
|
||||||
* @version 1.0.0
|
* @version 1.0.0
|
||||||
@ -23,9 +29,7 @@ import static javax.persistence.FetchType.LAZY;
|
|||||||
@Entity
|
@Entity
|
||||||
@Table(name = "mapprodukpaket_m", uniqueConstraints = {
|
@Table(name = "mapprodukpaket_m", uniqueConstraints = {
|
||||||
@UniqueConstraint(columnNames = { "paketfk", "produkPaketfk" }), })
|
@UniqueConstraint(columnNames = { "paketfk", "produkPaketfk" }), })
|
||||||
public class MapProdukPaket extends BaseTransaction implements Serializable {
|
public class MapProdukPaket extends BaseTransaction {
|
||||||
private static final long serialVersionUID = 8425001074293272466L;
|
|
||||||
|
|
||||||
@ManyToOne(fetch = LAZY)
|
@ManyToOne(fetch = LAZY)
|
||||||
@JoinColumn(name = "paketfk")
|
@JoinColumn(name = "paketfk")
|
||||||
@NotNull(message = "Paket tidak boleh kosong")
|
@NotNull(message = "Paket tidak boleh kosong")
|
||||||
|
|||||||
@ -26,10 +26,10 @@ public class MapProdukPaketToProduk extends BaseTransaction {
|
|||||||
@JoinColumn(name = "mappaketfk")
|
@JoinColumn(name = "mappaketfk")
|
||||||
@NotNull(message = "Mapping produk paket tidak boleh kosong")
|
@NotNull(message = "Mapping produk paket tidak boleh kosong")
|
||||||
@Caption(value = "Mapping produk paket")
|
@Caption(value = "Mapping produk paket")
|
||||||
private MapProdukPaket produkPaket;
|
private MapProdukPaket mapProdukPaket;
|
||||||
|
|
||||||
@Column(name = "mappaketfk", columnDefinition = "CHAR(32)", insertable = false, updatable = false, nullable = false)
|
@Column(name = "mappaketfk", columnDefinition = "CHAR(32)", insertable = false, updatable = false, nullable = false)
|
||||||
private String produkPaketId;
|
private String mapProdukPaketId;
|
||||||
|
|
||||||
@ManyToOne(fetch = LAZY)
|
@ManyToOne(fetch = LAZY)
|
||||||
@JoinColumn(name = "produkfk")
|
@JoinColumn(name = "produkfk")
|
||||||
|
|||||||
@ -1,16 +1,21 @@
|
|||||||
package com.jasamedika.medifirst2000.entities;
|
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.base.BaseTransaction;
|
||||||
import com.jasamedika.medifirst2000.helper.Caption;
|
import com.jasamedika.medifirst2000.helper.Caption;
|
||||||
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
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
|
* class PelayananPasienPetugas
|
||||||
@ -21,7 +26,9 @@ import static javax.persistence.FetchType.LAZY;
|
|||||||
@Setter
|
@Setter
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "PelayananPasienPetugas_T")
|
@Table(name = "PelayananPasienPetugas_T")
|
||||||
public class PelayananPasienPetugas extends BaseTransaction implements Serializable {
|
public class PelayananPasienPetugas extends BaseTransaction {
|
||||||
|
private static final long serialVersionUID = -2586717488353074662L;
|
||||||
|
|
||||||
@Caption(value = "Deskripsi Tugas Fungsi")
|
@Caption(value = "Deskripsi Tugas Fungsi")
|
||||||
private String deskripsitugasfungsi;
|
private String deskripsitugasfungsi;
|
||||||
|
|
||||||
|
|||||||
@ -1,18 +1,25 @@
|
|||||||
package com.jasamedika.medifirst2000.entities;
|
package com.jasamedika.medifirst2000.entities;
|
||||||
|
|
||||||
import com.jasamedika.medifirst2000.base.BaseMaster;
|
|
||||||
import com.jasamedika.medifirst2000.helper.Caption;
|
|
||||||
import lombok.Getter;
|
|
||||||
import lombok.Setter;
|
|
||||||
|
|
||||||
import javax.persistence.*;
|
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
import java.util.Date;
|
|
||||||
|
|
||||||
import static javax.persistence.FetchType.LAZY;
|
import static javax.persistence.FetchType.LAZY;
|
||||||
import static javax.persistence.GenerationType.SEQUENCE;
|
import static javax.persistence.GenerationType.SEQUENCE;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
import javax.persistence.Column;
|
||||||
|
import javax.persistence.Entity;
|
||||||
|
import javax.persistence.GeneratedValue;
|
||||||
|
import javax.persistence.Id;
|
||||||
|
import javax.persistence.JoinColumn;
|
||||||
|
import javax.persistence.ManyToOne;
|
||||||
|
import javax.persistence.SequenceGenerator;
|
||||||
|
import javax.persistence.Table;
|
||||||
|
|
||||||
|
import com.jasamedika.medifirst2000.base.BaseMaster;
|
||||||
|
import com.jasamedika.medifirst2000.helper.Caption;
|
||||||
|
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Salman Manoe
|
* @author Salman Manoe
|
||||||
* @version 1.0.0
|
* @version 1.0.0
|
||||||
@ -22,7 +29,7 @@ import static javax.persistence.GenerationType.SEQUENCE;
|
|||||||
@Setter
|
@Setter
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "sayatan_operasi_m")
|
@Table(name = "sayatan_operasi_m")
|
||||||
public class Sayatan extends BaseMaster implements Serializable {
|
public class Sayatan extends BaseMaster {
|
||||||
|
|
||||||
@Id
|
@Id
|
||||||
@GeneratedValue(strategy = SEQUENCE, generator = "sayatan_operasi_t_pkey")
|
@GeneratedValue(strategy = SEQUENCE, generator = "sayatan_operasi_t_pkey")
|
||||||
|
|||||||
@ -1,89 +0,0 @@
|
|||||||
/*package com.jasamedika.medifirst2000.vo;
|
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
|
|
||||||
import javax.persistence.AssociationOverride;
|
|
||||||
import javax.persistence.AssociationOverrides;
|
|
||||||
import javax.persistence.Column;
|
|
||||||
import javax.persistence.EmbeddedId;
|
|
||||||
import javax.persistence.Entity;
|
|
||||||
import javax.persistence.JoinColumn;
|
|
||||||
import javax.persistence.Table;
|
|
||||||
import javax.persistence.Transient;
|
|
||||||
|
|
||||||
import com.jasamedika.medifirst2000.base.vo.BaseMapping;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//@Entity
|
|
||||||
//@Table(name = "MapRuanganToKelas_M_SAMPLE")
|
|
||||||
@AssociationOverrides({
|
|
||||||
@AssociationOverride(name = "pk.ruanganM", joinColumns = @JoinColumn(name = "kdRuangan")),
|
|
||||||
@AssociationOverride(name = "pk.kelasM", joinColumns = @JoinColumn(name = "kdKelas"))
|
|
||||||
})
|
|
||||||
public class MapRuanganToKelasMVO extends BaseMapping implements Serializable{
|
|
||||||
|
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
|
||||||
@EmbeddedId
|
|
||||||
protected MapRuanganToKelasMIdVO pk = new MapRuanganToKelasMId();
|
|
||||||
|
|
||||||
|
|
||||||
public MapRuanganToKelasMIdVO getPk() {
|
|
||||||
return pk;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPk(MapRuanganToKelasMIdVO pk) {
|
|
||||||
this.pk = pk;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Column(name = "kdRuangan", insertable = false, updatable = false)
|
|
||||||
private Integer kdRuangan;
|
|
||||||
|
|
||||||
@Column(name = "kdKelas", insertable = false, updatable = false)
|
|
||||||
private Integer kdKelas;
|
|
||||||
|
|
||||||
|
|
||||||
@Transient
|
|
||||||
public RuanganMVO getRuanganM() {
|
|
||||||
return getPk().getRuanganM();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setRuanganM(RuanganMVO ruanganM) {
|
|
||||||
getPk().setRuanganM(ruanganM);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Transient
|
|
||||||
public KelasMVO getKelasM() {
|
|
||||||
return getPk().getKelasM();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setKelasM(KelasMVO kelasM) {
|
|
||||||
getPk().setKelasM(kelasM);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Integer getKdRuangan() {
|
|
||||||
return kdRuangan;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setKdRuangan(Integer kdRuangan) {
|
|
||||||
this.kdRuangan = kdRuangan;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Integer getKdKelas() {
|
|
||||||
return kdKelas;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setKdKelas(Integer kdKelas) {
|
|
||||||
this.kdKelas = kdKelas;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
File diff suppressed because it is too large
Load Diff
@ -4,13 +4,13 @@ import com.jasamedika.medifirst2000.constants.Constants;
|
|||||||
import com.jasamedika.medifirst2000.constants.MessageResource;
|
import com.jasamedika.medifirst2000.constants.MessageResource;
|
||||||
import com.jasamedika.medifirst2000.controller.base.LocaleController;
|
import com.jasamedika.medifirst2000.controller.base.LocaleController;
|
||||||
import com.jasamedika.medifirst2000.core.web.WebConstants;
|
import com.jasamedika.medifirst2000.core.web.WebConstants;
|
||||||
|
import com.jasamedika.medifirst2000.dto.BatalPaketProdukDto;
|
||||||
import com.jasamedika.medifirst2000.dto.TagihanPendaftaranDto;
|
import com.jasamedika.medifirst2000.dto.TagihanPendaftaranDto;
|
||||||
import com.jasamedika.medifirst2000.exception.ServiceVOException;
|
import com.jasamedika.medifirst2000.exception.ServiceVOException;
|
||||||
import com.jasamedika.medifirst2000.service.PasienDaftarService;
|
import com.jasamedika.medifirst2000.service.*;
|
||||||
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.util.rest.RestUtil;
|
||||||
|
import com.jasamedika.medifirst2000.vo.MapProdukPaketToProdukVO;
|
||||||
|
import com.jasamedika.medifirst2000.vo.MapProdukPaketVO;
|
||||||
import com.jasamedika.medifirst2000.vo.PelayananPasienVO;
|
import com.jasamedika.medifirst2000.vo.PelayananPasienVO;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
@ -22,7 +22,6 @@ import org.springframework.orm.jpa.JpaSystemException;
|
|||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -45,9 +44,15 @@ public class PelayananController extends LocaleController<PelayananPasienVO> {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private SatuanStandarService satuanStandarService;
|
private SatuanStandarService satuanStandarService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private MapProdukPaketService mapProdukPaketService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private MapProdukPaketToProdukService mapProdukPaketToProdukService;
|
||||||
|
|
||||||
@RequestMapping(value = "/calculate-indikator-pelayanan", method = RequestMethod.GET)
|
@RequestMapping(value = "/calculate-indikator-pelayanan", method = RequestMethod.GET)
|
||||||
public ResponseEntity<List<Map<String, Object>>> calculateIndikatorPelayanan(HttpServletRequest request,
|
public ResponseEntity<List<Map<String, Object>>> calculateIndikatorPelayanan(HttpServletRequest request,
|
||||||
@RequestParam("tahun") String tahun) {
|
@RequestParam("tahun") String tahun) {
|
||||||
try {
|
try {
|
||||||
List<Map<String, Object>> result = pasienDaftarService.findIndikatorPelayanan(tahun);
|
List<Map<String, Object>> result = pasienDaftarService.findIndikatorPelayanan(tahun);
|
||||||
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
|
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
|
||||||
@ -66,8 +71,8 @@ public class PelayananController extends LocaleController<PelayananPasienVO> {
|
|||||||
|
|
||||||
@RequestMapping(value = "/validate-nama-produk", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
|
@RequestMapping(value = "/validate-nama-produk", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||||
public ResponseEntity<Map<String, Object>> validateNamaProduk(HttpServletRequest request,
|
public ResponseEntity<Map<String, Object>> validateNamaProduk(HttpServletRequest request,
|
||||||
@RequestParam(value = "idProduk", required = false) Integer idProduk,
|
@RequestParam(value = "idProduk", required = false) Integer idProduk,
|
||||||
@RequestParam(value = "namaProduk") String namaProduk) {
|
@RequestParam(value = "namaProduk") String namaProduk) {
|
||||||
try {
|
try {
|
||||||
Map<String, Object> result = produkService.validateNamaProduk(idProduk, namaProduk);
|
Map<String, Object> result = produkService.validateNamaProduk(idProduk, namaProduk);
|
||||||
|
|
||||||
@ -85,7 +90,7 @@ public class PelayananController extends LocaleController<PelayananPasienVO> {
|
|||||||
|
|
||||||
@RequestMapping(value = "/paket-to-produk", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
|
@RequestMapping(value = "/paket-to-produk", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
|
||||||
public ResponseEntity<Map<String, Object>> getMappingPaketToProduk(HttpServletRequest request,
|
public ResponseEntity<Map<String, Object>> getMappingPaketToProduk(HttpServletRequest request,
|
||||||
@RequestParam(value = "idMapping") Integer idMapping) {
|
@RequestParam(value = "idMapping") Integer idMapping) {
|
||||||
try {
|
try {
|
||||||
Map<String, Object> result = produkService.getMappingPaketToProduk(idMapping);
|
Map<String, Object> result = produkService.getMappingPaketToProduk(idMapping);
|
||||||
return RestUtil.getJsonResponse(result, HttpStatus.OK);
|
return RestUtil.getJsonResponse(result, HttpStatus.OK);
|
||||||
@ -138,9 +143,9 @@ public class PelayananController extends LocaleController<PelayananPasienVO> {
|
|||||||
|
|
||||||
@RequestMapping(value = "/klaim-diskon", method = RequestMethod.GET)
|
@RequestMapping(value = "/klaim-diskon", method = RequestMethod.GET)
|
||||||
public ResponseEntity<List<String>> KlaimDiskon(HttpServletRequest request,
|
public ResponseEntity<List<String>> KlaimDiskon(HttpServletRequest request,
|
||||||
@RequestParam(value = "noRegistrasi") String noRegistrasi,
|
@RequestParam(value = "noRegistrasi") String noRegistrasi,
|
||||||
@RequestParam(value = "totalKlaim") Double totalKlaim,
|
@RequestParam(value = "totalKlaim") Double totalKlaim,
|
||||||
@RequestParam(value = "jenisDiskon") Integer jenisDiskon) {
|
@RequestParam(value = "jenisDiskon") Integer jenisDiskon) {
|
||||||
try {
|
try {
|
||||||
List<String> result = pelayananPasienService.updateKlaimDiskon(noRegistrasi, totalKlaim, jenisDiskon);
|
List<String> result = pelayananPasienService.updateKlaimDiskon(noRegistrasi, totalKlaim, jenisDiskon);
|
||||||
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
|
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
|
||||||
@ -159,7 +164,7 @@ public class PelayananController extends LocaleController<PelayananPasienVO> {
|
|||||||
|
|
||||||
@RequestMapping(value = "/reset-klaim-diskon", method = RequestMethod.GET)
|
@RequestMapping(value = "/reset-klaim-diskon", method = RequestMethod.GET)
|
||||||
public ResponseEntity<String> ResetKlaimDiskon(HttpServletRequest request,
|
public ResponseEntity<String> ResetKlaimDiskon(HttpServletRequest request,
|
||||||
@RequestParam(value = "noRegistrasi") String noRegistrasi) {
|
@RequestParam(value = "noRegistrasi") String noRegistrasi) {
|
||||||
try {
|
try {
|
||||||
String result = pelayananPasienService.resetKlaimDiskon(noRegistrasi);
|
String result = pelayananPasienService.resetKlaimDiskon(noRegistrasi);
|
||||||
|
|
||||||
@ -179,8 +184,8 @@ public class PelayananController extends LocaleController<PelayananPasienVO> {
|
|||||||
|
|
||||||
@RequestMapping(value = "/check-existing-harga-produk-kelas", method = RequestMethod.GET)
|
@RequestMapping(value = "/check-existing-harga-produk-kelas", method = RequestMethod.GET)
|
||||||
public ResponseEntity<List<Map<String, Object>>> checkExistingHargaProdukKelas(HttpServletRequest request,
|
public ResponseEntity<List<Map<String, Object>>> checkExistingHargaProdukKelas(HttpServletRequest request,
|
||||||
@RequestParam(value = "kelasId") Integer idKelas, @RequestParam(value = "produkId") Integer idProduk,
|
@RequestParam(value = "kelasId") Integer idKelas, @RequestParam(value = "produkId") Integer idProduk,
|
||||||
@RequestParam(value = "mappingId", required = false) Integer idMapping) {
|
@RequestParam(value = "mappingId", required = false) Integer idMapping) {
|
||||||
try {
|
try {
|
||||||
List<Map<String, Object>> result = produkService.findExistingMapHargaKelas(idKelas, idProduk, idMapping);
|
List<Map<String, Object>> result = produkService.findExistingMapHargaKelas(idKelas, idProduk, idMapping);
|
||||||
|
|
||||||
@ -200,7 +205,7 @@ public class PelayananController extends LocaleController<PelayananPasienVO> {
|
|||||||
|
|
||||||
@RequestMapping(value = "/tagihan/daftar/{noRegistrasi}", method = RequestMethod.GET)
|
@RequestMapping(value = "/tagihan/daftar/{noRegistrasi}", method = RequestMethod.GET)
|
||||||
public ResponseEntity<List<TagihanPendaftaranDto>> daftarTagihan(HttpServletRequest request,
|
public ResponseEntity<List<TagihanPendaftaranDto>> daftarTagihan(HttpServletRequest request,
|
||||||
@PathVariable String noRegistrasi) {
|
@PathVariable String noRegistrasi) {
|
||||||
try {
|
try {
|
||||||
List<TagihanPendaftaranDto> result = pelayananPasienService.tagihan(noRegistrasi);
|
List<TagihanPendaftaranDto> result = pelayananPasienService.tagihan(noRegistrasi);
|
||||||
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
|
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
|
||||||
@ -219,8 +224,8 @@ public class PelayananController extends LocaleController<PelayananPasienVO> {
|
|||||||
|
|
||||||
@RequestMapping(value = "/tagihan/diskon/save", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
|
@RequestMapping(value = "/tagihan/diskon/save", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||||
public ResponseEntity<Object> simpanDiskonTagihan(HttpServletRequest request,
|
public ResponseEntity<Object> simpanDiskonTagihan(HttpServletRequest request,
|
||||||
@RequestParam(value = "kode-voucher", required = false) String kodeVoucher,
|
@RequestParam(value = "kode-voucher", required = false) String kodeVoucher,
|
||||||
@RequestBody List<TagihanPendaftaranDto> dtoList) {
|
@RequestBody List<TagihanPendaftaranDto> dtoList) {
|
||||||
try {
|
try {
|
||||||
pelayananPasienService.diskonTagihan(kodeVoucher, dtoList);
|
pelayananPasienService.diskonTagihan(kodeVoucher, dtoList);
|
||||||
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
|
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
|
||||||
@ -237,4 +242,83 @@ public class PelayananController extends LocaleController<PelayananPasienVO> {
|
|||||||
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
|
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@RequestMapping(value = "/tagihan/diskon/batal-paket", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||||
|
public ResponseEntity<Object> batalPaket(HttpServletRequest request, @RequestBody BatalPaketProdukDto dto) {
|
||||||
|
try {
|
||||||
|
pelayananPasienService.batalPaketProduk(dto);
|
||||||
|
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
|
||||||
|
getMessage(MessageResource.LABEL_SUCCESS, request));
|
||||||
|
return RestUtil.getJsonResponse(dto, HttpStatus.OK, mapHeaderMessage);
|
||||||
|
} catch (ServiceVOException e) {
|
||||||
|
LOGGER.error("Got exception {} when batal diskon paket", e.getMessage());
|
||||||
|
Map<String, String> error = new HashMap<>();
|
||||||
|
error.put("bad_request", e.getMessage());
|
||||||
|
return RestUtil.getJsonResponse(null, HttpStatus.BAD_REQUEST, error);
|
||||||
|
} catch (JpaSystemException jse) {
|
||||||
|
LOGGER.error("Got exception {} when batal diskon paket", jse.getMessage());
|
||||||
|
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
|
||||||
|
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping(value = "/vouchers/validity", method = RequestMethod.GET)
|
||||||
|
public ResponseEntity<Object> isValidVoucher(HttpServletRequest request,
|
||||||
|
@RequestParam("kode-voucher") String kodeVoucher, @RequestParam("no-registrasi") String noRegistrasi) {
|
||||||
|
try {
|
||||||
|
boolean validVoucher = pelayananPasienService.isValidVoucher(kodeVoucher, noRegistrasi);
|
||||||
|
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
|
||||||
|
getMessage(MessageResource.LABEL_SUCCESS, request));
|
||||||
|
return RestUtil.getJsonResponse(validVoucher, HttpStatus.OK, mapHeaderMessage);
|
||||||
|
} catch (ServiceVOException e) {
|
||||||
|
LOGGER.error("Got exception {} when check voucher validity", e.getMessage());
|
||||||
|
Map<String, String> error = new HashMap<>();
|
||||||
|
error.put("bad_request", e.getMessage());
|
||||||
|
return RestUtil.getJsonResponse(false, HttpStatus.BAD_REQUEST, error);
|
||||||
|
} catch (JpaSystemException jse) {
|
||||||
|
LOGGER.error("Got exception {} when check voucher validity", jse.getMessage());
|
||||||
|
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
|
||||||
|
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping(value = "/produk-paket/paket", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||||
|
public ResponseEntity<Object> simpanMappingListProdukPaket(HttpServletRequest request,
|
||||||
|
@RequestBody List<MapProdukPaketVO> vos) {
|
||||||
|
try {
|
||||||
|
mapProdukPaketService.saveAll(vos);
|
||||||
|
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
|
||||||
|
getMessage(MessageResource.LABEL_SUCCESS, request));
|
||||||
|
return RestUtil.getJsonResponse(vos, HttpStatus.OK, mapHeaderMessage);
|
||||||
|
} catch (ServiceVOException e) {
|
||||||
|
LOGGER.error("Got exception {} when simpan mapping list produk paket", e.getMessage());
|
||||||
|
Map<String, String> error = new HashMap<>();
|
||||||
|
error.put("bad_request", e.getMessage());
|
||||||
|
return RestUtil.getJsonResponse(null, HttpStatus.BAD_REQUEST, error);
|
||||||
|
} catch (JpaSystemException jse) {
|
||||||
|
LOGGER.error("Got exception {} when simpan mapping list produk paket", jse.getMessage());
|
||||||
|
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
|
||||||
|
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping(value = "/produk-paket/produk", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
|
||||||
|
public ResponseEntity<Object> simpanMappingEntriProdukPaket(HttpServletRequest request,
|
||||||
|
@RequestBody List<MapProdukPaketToProdukVO> vos) {
|
||||||
|
try {
|
||||||
|
mapProdukPaketToProdukService.saveAll(vos);
|
||||||
|
mapHeaderMessage.put(WebConstants.HttpHeaderInfo.LABEL_SUCCESS,
|
||||||
|
getMessage(MessageResource.LABEL_SUCCESS, request));
|
||||||
|
return RestUtil.getJsonResponse(vos, HttpStatus.OK, mapHeaderMessage);
|
||||||
|
} catch (ServiceVOException e) {
|
||||||
|
LOGGER.error("Got exception {} when simpan mapping entri produk paket", e.getMessage());
|
||||||
|
Map<String, String> error = new HashMap<>();
|
||||||
|
error.put("bad_request", e.getMessage());
|
||||||
|
return RestUtil.getJsonResponse(null, HttpStatus.BAD_REQUEST, error);
|
||||||
|
} catch (JpaSystemException jse) {
|
||||||
|
LOGGER.error("Got exception {} when simpan mapping entri produk paket", jse.getMessage());
|
||||||
|
addHeaderMessage(Constants.MessageInfo.ERROR_MESSAGE, jse.getMessage());
|
||||||
|
return RestUtil.getJsonHttptatus(HttpStatus.CONFLICT, mapHeaderMessage);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user