Update service pelayanan pasien

Perbaikan diskon di Rp0,- komponen tetapi tetap dapat kinerja dari aturan remun + kombinasi diskon
This commit is contained in:
Salman Manoe 2024-03-09 01:09:00 +07:00
parent bebc6a753d
commit 6052668914
2 changed files with 71 additions and 25 deletions

View File

@ -207,17 +207,26 @@ public interface PelayananPasienDao extends JpaRepository<PelayananPasien, Strin
+ "case when lower(ru.namaRuangan) like '%eksekutif%' then 'Eksekutif' else 'Reguler' end as jenisRuangan,"
+ "ru.departemenId as idDepartemen," + "pd.noRec as idPasienDaftar,pd.pasienId as pasienId,"
+ "sum(case when ppp.ObjectJenisPetugasPeId = 4 and ppd.komponenHargaId = 35 then ppd.hargaDiscount else 0.0 end) as diskonD,"
+ "sum(case when ppd.komponenHargaId = 35 then ppd.hargaDiscount else 0.0 end) as totalDiskonD,"
+ "sum(case when ppp.ObjectJenisPetugasPeId = 4 and ppd.komponenHargaId = 35 then ppd.persenDiskon else 0.0 end) as persenDiskonD,"
+ "sum(case when ppp.ObjectJenisPetugasPeId = 4 and ppd.komponenHargaId = 35 then ppd.persenDiskonSayatan else 0.0 end) as persenDiskonSayatanD,"
+ "sum(case when ppp.ObjectJenisPetugasPeId = 13 and ppd.komponenHargaId = 22 then ppd.hargaDiscount else 0.0 end) as diskonAs,"
+ "sum(case when ppd.komponenHargaId = 22 then ppd.hargaDiscount else 0.0 end) as totalDiskonAs,"
+ "sum(case when ppp.ObjectJenisPetugasPeId = 13 and ppd.komponenHargaId = 22 then ppd.persenDiskon else 0.0 end) as persenDiskonAs,"
+ "sum(case when ppp.ObjectJenisPetugasPeId = 13 and ppd.komponenHargaId = 22 then ppd.persenDiskonSayatan else 0.0 end) as persenDiskonSayatanAs,"
+ "sum(case when ppp.ObjectJenisPetugasPeId = 6 and ppd.komponenHargaId = 21 then ppd.hargaDiscount else 0.0 end) as diskonAn,"
+ "sum(case when ppd.komponenHargaId = 21 then ppd.hargaDiscount else 0.0 end) as totalDiskonAn,"
+ "sum(case when ppp.ObjectJenisPetugasPeId = 6 and ppd.komponenHargaId = 21 then ppd.persenDiskon else 0.0 end) as persenDiskonAn,"
+ "sum(case when ppp.ObjectJenisPetugasPeId = 6 and ppd.komponenHargaId = 21 then ppd.persenDiskonSayatan else 0.0 end) as persenDiskonSayatanAn) "
+ "sum(case when ppp.ObjectJenisPetugasPeId = 6 and ppd.komponenHargaId = 21 then ppd.persenDiskonSayatan else 0.0 end) as persenDiskonSayatanAn,"
+ "sum(case when ppd.komponenHargaId = 35 then ppd.hargaDiscount else 0.0 end) as totalDiskonD,"
+ "sum(case when ppd.komponenHargaId = 35 then ppd.hargaJual else 0.0 end) as totalHargaD,"
+ "sum(case when ppd.komponenHargaId = 35 then ppd.persenDiskon else 0.0 end) as totalPersenDiskonD,"
+ "sum(case when ppd.komponenHargaId = 35 then ppd.persenDiskonSayatan else 0.0 end) as totalPersenDiskonSayatanD,"
+ "sum(case when ppd.komponenHargaId = 22 then ppd.hargaDiscount else 0.0 end) as totalDiskonAs,"
+ "sum(case when ppd.komponenHargaId = 22 then ppd.hargaJual else 0.0 end) as totalHargaAs,"
+ "sum(case when ppd.komponenHargaId = 22 then ppd.persenDiskon else 0.0 end) as totalPersenDiskonAs,"
+ "sum(case when ppd.komponenHargaId = 22 then ppd.persenDiskonSayatan else 0.0 end) as totalPersenDiskonSayatanAs,"
+ "sum(case when ppd.komponenHargaId = 21 then ppd.hargaDiscount else 0.0 end) as totalDiskonAn,"
+ "sum(case when ppd.komponenHargaId = 21 then ppd.hargaJual else 0.0 end) as totalHargaAn,"
+ "sum(case when ppd.komponenHargaId = 21 then ppd.persenDiskon else 0.0 end) as totalPersenDiskonAn,"
+ "sum(case when ppd.komponenHargaId = 21 then ppd.persenDiskonSayatan else 0.0 end) as totalPersenDiskonSayatanAn) "
+ "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 "
+ "left join pp.kelas kls " + "left join pd.kelompokPasien kp " + "left join apd.ruangan ru "

View File

@ -3626,6 +3626,15 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
}
return builder.build();
}
double totalDiskonD = Double.parseDouble(d.get("totalDiskonD").toString());
double totalPersenDiskonSayatanD = Double.parseDouble(d.get("totalPersenDiskonSayatanD").toString());
double totalHargaD = Double.parseDouble(d.get("totalHargaD").toString());
double totalDiskonAs = Double.parseDouble(d.get("totalDiskonAs").toString());
double totalPersenDiskonSayatanAs = Double.parseDouble(d.get("totalPersenDiskonSayatanAs").toString());
double totalHargaAs = Double.parseDouble(d.get("totalHargaAs").toString());
double totalDiskonAn = Double.parseDouble(d.get("totalDiskonAn").toString());
double totalPersenDiskonSayatanAn = Double.parseDouble(d.get("totalPersenDiskonSayatanAn").toString());
double totalHargaAn = Double.parseDouble(d.get("totalHargaAn").toString());
if (Double.parseDouble(d.get("persenDiskonD").toString()) > 0.0
&& Double.parseDouble(d.get("diskonD").toString()) >= 0.0
&& Double.parseDouble(d.get("persenDiskonAs").toString()) > 0.0
@ -3636,9 +3645,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
&& Double.parseDouble(d.get("persenDiskonSayatanD").toString()) >= 0 && Double
.parseDouble(d.get("persenDiskonSayatanAs").toString()) >= 0
&& Double.parseDouble(d.get("persenDiskonSayatanAn").toString()) >= 0))) {
double totalDiskon = Double.parseDouble(d.get("totalDiskonD").toString())
+ Double.parseDouble(d.get("totalDiskonAs").toString())
+ Double.parseDouble(d.get("totalDiskonAn").toString());
double totalDiskon = 0.0;
if (Double.parseDouble(d.get("totalPersenDiskonD").toString()) > 0)
totalDiskon += totalDiskonD - (totalPersenDiskonSayatanD * totalHargaD / 100);
if (Double.parseDouble(d.get("totalPersenDiskonAs").toString()) > 0)
totalDiskon += totalDiskonAs - (totalPersenDiskonSayatanAs * totalHargaAs / 100);
if (Double.parseDouble(d.get("totalPersenDiskonAn").toString()) > 0)
totalDiskon += totalDiskonAn - (totalPersenDiskonSayatanAn * totalHargaAn / 100);
double hargaJualSetelahDiskon = hargaJual - totalDiskon;
double hargaJasa = persenRemunerasi * hargaJualSetelahDiskon;
double persenRemunOperator = 100.00 - Double.parseDouble(d.get("persenDiskonD").toString());
@ -3673,9 +3686,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
&& (CommonUtil.isNullOrEmpty(d.get("idSayatan")) || (CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))
&& Double.parseDouble(d.get("persenDiskonSayatanD").toString()) >= 0 && Double
.parseDouble(d.get("persenDiskonSayatanAs").toString()) >= 0))) {
double totalDiskon = Double.parseDouble(d.get("totalDiskonD").toString())
+ Double.parseDouble(d.get("totalDiskonAs").toString())
+ Double.parseDouble(d.get("totalDiskonAn").toString());
double totalDiskon = 0.0;
if (Double.parseDouble(d.get("totalPersenDiskonD").toString()) > 0)
totalDiskon += totalDiskonD - (totalPersenDiskonSayatanD * totalHargaD / 100);
if (Double.parseDouble(d.get("totalPersenDiskonAs").toString()) > 0)
totalDiskon += totalDiskonAs - (totalPersenDiskonSayatanAs * totalHargaAs / 100);
if (Double.parseDouble(d.get("totalPersenDiskonAn").toString()) > 0)
totalDiskon += totalDiskonAn - (totalPersenDiskonSayatanAn * totalHargaAn / 100);
double hargaJualSetelahDiskon = hargaJual - totalDiskon;
double hargaJasa = persenRemunerasi * hargaJualSetelahDiskon;
double persenRemunOperator = 100.00 - Double.parseDouble(d.get("persenDiskonD").toString());
@ -3706,9 +3723,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
&& (CommonUtil.isNullOrEmpty(d.get("idSayatan")) || (CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))
&& Double.parseDouble(d.get("persenDiskonSayatanD").toString()) >= 0 && Double
.parseDouble(d.get("persenDiskonSayatanAn").toString()) >= 0))) {
double totalDiskon = Double.parseDouble(d.get("totalDiskonD").toString())
+ Double.parseDouble(d.get("totalDiskonAs").toString())
+ Double.parseDouble(d.get("totalDiskonAn").toString());
double totalDiskon = 0.0;
if (Double.parseDouble(d.get("totalPersenDiskonD").toString()) > 0)
totalDiskon += totalDiskonD - (totalPersenDiskonSayatanD * totalHargaD / 100);
if (Double.parseDouble(d.get("totalPersenDiskonAs").toString()) > 0)
totalDiskon += totalDiskonAs - (totalPersenDiskonSayatanAs * totalHargaAs / 100);
if (Double.parseDouble(d.get("totalPersenDiskonAn").toString()) > 0)
totalDiskon += totalDiskonAn - (totalPersenDiskonSayatanAn * totalHargaAn / 100);
double hargaJualSetelahDiskon = hargaJual - totalDiskon;
double hargaJasa = persenRemunerasi * hargaJualSetelahDiskon;
double persenRemunOperator = 100.00 - Double.parseDouble(d.get("persenDiskonD").toString());
@ -3739,9 +3760,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
&& (CommonUtil.isNullOrEmpty(d.get("idSayatan")) || (CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))
&& Double.parseDouble(d.get("persenDiskonSayatanAs").toString()) >= 0 && Double
.parseDouble(d.get("persenDiskonSayatanAn").toString()) >= 0))) {
double totalDiskon = Double.parseDouble(d.get("totalDiskonD").toString())
+ Double.parseDouble(d.get("totalDiskonAs").toString())
+ Double.parseDouble(d.get("totalDiskonAn").toString());
double totalDiskon = 0.0;
if (Double.parseDouble(d.get("totalPersenDiskonD").toString()) > 0)
totalDiskon += totalDiskonD - (totalPersenDiskonSayatanD * totalHargaD / 100);
if (Double.parseDouble(d.get("totalPersenDiskonAs").toString()) > 0)
totalDiskon += totalDiskonAs - (totalPersenDiskonSayatanAs * totalHargaAs / 100);
if (Double.parseDouble(d.get("totalPersenDiskonAn").toString()) > 0)
totalDiskon += totalDiskonAn - (totalPersenDiskonSayatanAn * totalHargaAn / 100);
double hargaJualSetelahDiskon = hargaJual - totalDiskon;
double hargaJasa = persenRemunerasi * hargaJualSetelahDiskon;
double persenRemunAsisten = 100.00 - Double.parseDouble(d.get("persenDiskonAs").toString());
@ -3771,9 +3796,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
&& Double.parseDouble(d.get("diskonAn").toString()) <= 0.0
&& (CommonUtil.isNullOrEmpty(d.get("idSayatan")) || (CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))
&& Double.parseDouble(d.get("persenDiskonSayatanD").toString()) >= 0))) {
double totalDiskon = Double.parseDouble(d.get("totalDiskonD").toString())
+ Double.parseDouble(d.get("totalDiskonAs").toString())
+ Double.parseDouble(d.get("totalDiskonAn").toString());
double totalDiskon = 0.0;
if (Double.parseDouble(d.get("totalPersenDiskonD").toString()) > 0)
totalDiskon += totalDiskonD - (totalPersenDiskonSayatanD * totalHargaD / 100);
if (Double.parseDouble(d.get("totalPersenDiskonAs").toString()) > 0)
totalDiskon += totalDiskonAs - (totalPersenDiskonSayatanAs * totalHargaAs / 100);
if (Double.parseDouble(d.get("totalPersenDiskonAn").toString()) > 0)
totalDiskon += totalDiskonAn - (totalPersenDiskonSayatanAn * totalHargaAn / 100);
double hargaJualSetelahDiskon = hargaJual - totalDiskon;
double hargaJasa = persenRemunerasi * hargaJualSetelahDiskon;
double persenRemunOperator = 100.00 - Double.parseDouble(d.get("persenDiskonD").toString());
@ -3795,9 +3824,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
&& Double.parseDouble(d.get("diskonAn").toString()) <= 0.0
&& (CommonUtil.isNullOrEmpty(d.get("idSayatan")) || (CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))
&& Double.parseDouble(d.get("persenDiskonSayatanAs").toString()) >= 0))) {
double totalDiskon = Double.parseDouble(d.get("totalDiskonD").toString())
+ Double.parseDouble(d.get("totalDiskonAs").toString())
+ Double.parseDouble(d.get("totalDiskonAn").toString());
double totalDiskon = 0.0;
if (Double.parseDouble(d.get("totalPersenDiskonD").toString()) > 0)
totalDiskon += totalDiskonD - (totalPersenDiskonSayatanD * totalHargaD / 100);
if (Double.parseDouble(d.get("totalPersenDiskonAs").toString()) > 0)
totalDiskon += totalDiskonAs - (totalPersenDiskonSayatanAs * totalHargaAs / 100);
if (Double.parseDouble(d.get("totalPersenDiskonAn").toString()) > 0)
totalDiskon += totalDiskonAn - (totalPersenDiskonSayatanAn * totalHargaAn / 100);
double hargaJualSetelahDiskon = hargaJual - totalDiskon;
double hargaJasa = persenRemunerasi * hargaJualSetelahDiskon;
double persenRemunAsisten = 100.00 - Double.parseDouble(d.get("persenDiskonAs").toString());
@ -3819,9 +3852,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
&& Double.parseDouble(d.get("diskonAs").toString()) <= 0.0
&& (CommonUtil.isNullOrEmpty(d.get("idSayatan")) || (CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))
&& Double.parseDouble(d.get("persenDiskonSayatanAn").toString()) >= 0))) {
double totalDiskon = Double.parseDouble(d.get("totalDiskonD").toString())
+ Double.parseDouble(d.get("totalDiskonAs").toString())
+ Double.parseDouble(d.get("totalDiskonAn").toString());
double totalDiskon = 0.0;
if (Double.parseDouble(d.get("totalPersenDiskonD").toString()) > 0)
totalDiskon += totalDiskonD - (totalPersenDiskonSayatanD * totalHargaD / 100);
if (Double.parseDouble(d.get("totalPersenDiskonAs").toString()) > 0)
totalDiskon += totalDiskonAs - (totalPersenDiskonSayatanAs * totalHargaAs / 100);
if (Double.parseDouble(d.get("totalPersenDiskonAn").toString()) > 0)
totalDiskon += totalDiskonAn - (totalPersenDiskonSayatanAn * totalHargaAn / 100);
double hargaJualSetelahDiskon = hargaJual - totalDiskon;
double hargaJasa = persenRemunerasi * hargaJualSetelahDiskon;
double persenRemunAnestesi = 100.00 - Double.parseDouble(d.get("persenDiskonAn").toString());