From 74b0bc2e54e7c923eb8699aa62f016c7a7562a05 Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Sat, 23 Apr 2022 10:15:09 +0700 Subject: [PATCH] Update PelayananPasienService Rollback penerapan aturan diskon 1 maret 2022 karena ketidakpastian alur bisnis --- .../medifirst2000/dao/PelayananPasienDao.java | 26 +++++++------------ .../impl/PelayananPasienServiceImpl.java | 5 +--- 2 files changed, 10 insertions(+), 21 deletions(-) diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PelayananPasienDao.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PelayananPasienDao.java index 1bb2459a..7342b9dc 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PelayananPasienDao.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/dao/PelayananPasienDao.java @@ -157,16 +157,12 @@ public interface PelayananPasienDao extends PagingAndSortingRepository= pp.hargaJual then coalesce(pp.hargaDiscount,0) " - + "when :jenisDiskon = 1 and ru.id = :poliKaryawanId and coalesce(pp.hargaDiscount,0) < pp.hargaJual then pp.hargaJual " - + "when :jenisDiskon = 1 and ru.id = :poliGigiKaryawanId and pr.id in (:listGigiIdPegawai) and coalesce(pp.hargaDiscount,0) >= pp.hargaJual then coalesce(pp.hargaDiscount,0) " - + "when :jenisDiskon = 1 and ru.id = :poliGigiKaryawanId and pr.id in (:listGigiIdPegawai) and coalesce(pp.hargaDiscount,0) < pp.hargaJual then pp.hargaJual " + + "(case when :jenisDiskon = 1 and ru.id = :ruanganId and coalesce(pp.hargaDiscount,0) >= pp.hargaJual then coalesce(pp.hargaDiscount,0) " + + "when :jenisDiskon = 1 and ru.id = :ruanganId and coalesce(pp.hargaDiscount,0) < pp.hargaJual then pp.hargaJual " + "when :jenisDiskon = 1 and pr.id in (:listProdukIdPegawai) and coalesce(pp.hargaDiscount,0) >= pp.hargaJual then coalesce(pp.hargaDiscount,0) " + "when :jenisDiskon = 1 and pr.id in (:listProdukIdPegawai) and coalesce(pp.hargaDiscount,0) < pp.hargaJual then pp.hargaJual " + "when :jenisDiskon = 1 and lower(pr.namaProduk) like '%konsul%' and ru.departemenId in (:listDepartemenId) and coalesce(pp.hargaDiscount,0) >= pp.hargaJual then coalesce(pp.hargaDiscount,0) " + "when :jenisDiskon = 1 and lower(pr.namaProduk) like '%konsul%' and ru.departemenId in (:listDepartemenId) and coalesce(pp.hargaDiscount,0) < pp.hargaJual then pp.hargaJual " - + "when :jenisDiskon = 1 and pr.id in (:listObatIdPegawai) and pp.strukResepId is not null and coalesce(pp.hargaDiscount,0) >= pp.hargaJual then coalesce(pp.hargaDiscount,0) " - + "when :jenisDiskon = 1 and pr.id in (:listObatIdPegawai) and pp.strukResepId is not null and coalesce(pp.hargaDiscount,0) < pp.hargaJual then pp.hargaJual " + "when :jenisDiskon = 2 and lower(pr.namaProduk) like '%konsul%' and ru.departemenId in (:listDepartemenId) and coalesce(pp.hargaDiscount,0) >= (pp.hargaJual/2) then coalesce(pp.hargaDiscount,0) " + "when :jenisDiskon = 2 and lower(pr.namaProduk) like '%konsul%' and ru.departemenId in (:listDepartemenId) and coalesce(pp.hargaDiscount,0) < (pp.hargaJual/2) then (pp.hargaJual/2) " + "when :jenisDiskon in (1,2) and pp.strukResepId is not null and coalesce(pp.hargaDiscount,0) >= (pp.hargaJual/10) then coalesce(pp.hargaDiscount,0) " @@ -175,19 +171,15 @@ public interface PelayananPasienDao extends PagingAndSortingRepository= pp.hargaJual then coalesce(pp.hargaDiscount,0) " + "when :jenisDiskon in (3,4) and pr.id in (:listProdukIdPasien) and coalesce(pp.hargaDiscount,0) < pp.hargaJual then pp.hargaJual " - + "when :jenisDiskon = 5 and ru.id = :poliKaryawanId and coalesce(pp.hargaDiscount,0) >= pp.hargaJual then coalesce(pp.hargaDiscount,0) " - + "when :jenisDiskon = 5 and ru.id = :poliKaryawanId and coalesce(pp.hargaDiscount,0) < pp.hargaJual then pp.hargaJual " - + "else coalesce(pp.hargaDiscount,0) end) as hargaDiskon," - + "(case when :jenisDiskon = 1 and pr.id in (:listObatIdPegawai) and pp.strukResepId is not null then 0.0 else pp.jasa end) as jasa) " - + "from PelayananPasien pp " + "left join pp.pasienDaftar apd " + "left join apd.pasienDaftar pd " - + "left join pp.produk pr " + "left join apd.ruangan ru " + "where pp.strukFk is null " - + "and pd.noRegistrasi = :noRegistrasi " + "order by pp.produkId") + + "when :jenisDiskon = 5 and ru.id = :ruanganId and coalesce(pp.hargaDiscount,0) >= pp.hargaJual then coalesce(pp.hargaDiscount,0) " + + "when :jenisDiskon = 5 and ru.id = :ruanganId and coalesce(pp.hargaDiscount,0) < pp.hargaJual then pp.hargaJual " + + "else coalesce(pp.hargaDiscount,0) end) as hargaDiskon) " + "from PelayananPasien pp " + + "left join pp.pasienDaftar apd " + "left join apd.pasienDaftar pd " + "left join pp.produk pr " + + "left join apd.ruangan ru " + "where pp.strukFk is null " + "and pd.noRegistrasi = :noRegistrasi " + + "order by pp.produkId") List> findLayananTagihan(@Param("noRegistrasi") String noRegistrasi, @Param("jenisDiskon") Integer jenisDiskon, @Param("listDepartemenId") List listIdDepartemen, - @Param("poliKaryawanId") Integer idPoliKaryawan, @Param("poliGigiKaryawanId") Integer idPoliGigiKaryawan, - @Param("listProdukIdPegawai") List listIdProdukPegawai, - @Param("listGigiIdPegawai") List listIdGigiPegawai, - @Param("listObatIdPegawai") List listIdObatPegawai, + @Param("ruanganId") Integer idRuangan, @Param("listProdukIdPegawai") List listIdProdukPegawai, @Param("listProdukIdPasien") List listIdProdukPasien); } diff --git a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PelayananPasienServiceImpl.java b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PelayananPasienServiceImpl.java index c4a6f345..2278f6ec 100644 --- a/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PelayananPasienServiceImpl.java +++ b/jasamedika-business/src/main/java/com/jasamedika/medifirst2000/service/impl/PelayananPasienServiceImpl.java @@ -259,14 +259,11 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel List result = new ArrayList<>(); List listIdProdukDiskonPegawai = splitDataSettingDatafixed("listProdukDiskonPegawai"); - List listIdProdukDiskonGigiPegawai = splitDataSettingDatafixed("listProdukDiskonGigiPegawai"); - List listIdProdukDiskonObatPegawai = splitDataSettingDatafixed("listProdukDiskonObatPegawai"); List listIdProdukDiskonPasien = splitDataSettingDatafixed("listProdukDiskonPasien"); List> data = pelayananPasienDao.findLayananTagihan(noRegistrasi, jenisDiskon, Arrays.asList(Master.Departemen.GRUP_RAWAT_JALAN), Master.Ruangan.KLINIK_KARYAWAN, - Master.Ruangan.KLINIK_GIGI_KARYAWAN, listIdProdukDiskonPegawai, listIdProdukDiskonGigiPegawai, - listIdProdukDiskonObatPegawai, listIdProdukDiskonPasien); + listIdProdukDiskonPegawai, listIdProdukDiskonPasien); List models = new ArrayList<>(); for (Map map : data) {