Compare commits

...

247 Commits

Author SHA1 Message Date
adesyawal
3ff831ba0f Merge branch 'ade/bug-fixing/hapus-logbook' into dev/no-cron 2026-02-02 13:53:29 +07:00
adesyawal
721ab27230 Merge branch 'ade/monitoring-absensi/bug-fixing-absen-tunggal' into dev/no-cron 2026-01-18 09:48:34 +07:00
adesyawal
595eca562e Merge branch 'ade/bug-remun/perbaikan-recursive-fixed-pay' into dev/no-cron 2026-01-08 09:59:22 +07:00
adesyawal
5e8bf2c63e Merge branch 'ade/monitoring-absen/shift-pm3' into dev/no-cron 2026-01-06 13:24:14 +07:00
adesyawal
3b02961fe8 Merge branch 'ade/monitor-absen/shift-pm2' into dev/no-cron 2026-01-06 09:36:05 +07:00
adesyawal
2722fb4bf2 Merge branch 'ade/monitor-absen/shift-pm' into dev/no-cron 2026-01-06 08:31:04 +07:00
adesyawal
b3a764d44b Merge branch 'ade/monitoring/check-health4' into dev/no-cron 2025-12-31 13:42:50 +07:00
adesyawal
c0418561b9 Merge branch 'ade/monitoring/check-health3' into dev/no-cron 2025-12-31 11:46:43 +07:00
adesyawal
0e86d29e9e Merge branch 'ade/monitoring/check-health2' into dev/no-cron 2025-12-31 11:38:47 +07:00
adesyawal
e686531c67 Merge branch 'ade/sdm-absensi/realisasi-absensi' into dev/no-cron 2025-12-29 10:00:01 +07:00
adesyawal
83a2b2a9c2 Merge branch 'ade/logbook-tarif/penyesuainruangan70persen' into dev/no-cron 2025-12-02 13:08:32 +07:00
adesyawal
917202aa69 Merge branch 'ade/logbook-tarif/ekslusi-dentalicious' into dev/no-cron 2025-11-28 15:26:09 +07:00
adesyawal
6edb2f5c8f Merge branch 'ade/bug-fixing/master-shift-on-cuti' into dev/no-cron 2025-11-06 15:03:29 +07:00
adesyawal
1d2935cc7d Merge branch 'ade/bug-fixing/level-unitkerja-direktur' into dev/no-cron 2025-10-27 14:31:59 +07:00
adesyawal
75400201c0 Merge branch 'ade/mastershift-holidayservice-monitoringabsensi' into dev/no-cron 2025-10-22 08:32:18 +07:00
adesyawal
4e63e3aa62 Merge branch 'ade/logbook/rekap-logbook-tarif' into dev/no-cron 2025-10-03 22:05:57 +07:00
adesyawal
70153def40 Merge branch 'ade/bug-fixing/cuti-pegawai-baru' into dev/no-cron 2025-09-30 19:42:03 +07:00
adesyawal
4f14067ca2 Merge branch 'ade/bug-fixing/intervensi-cuti' into dev/no-cron 2025-09-30 10:50:58 +07:00
adesyawal
df5d9cd80c Merge branch 'dev-ade/sdm/intervensi-cuti' into dev/no-cron 2025-09-16 14:59:06 +07:00
adesyawal
552da97946 Merge branch 'ade/bug-fixing/hak-akses-diskon-total' into dev/no-cron 2025-08-13 07:51:18 +07:00
adesyawal
bfe3d9b4ea Merge branch 'dev/billing/diskonpegawai' into dev/no-cron 2025-06-18 08:53:02 +07:00
adesyawal
a529a2b1bd Merge remote-tracking branch 'origin/sdm/remunerasi/bug-fixing-pelayan-findPelayananBedah' into dev/no-cron 2025-06-08 16:04:36 +07:00
adesyawal
6ac2a159ad Merge branch 'dev/sdm/remunerasi' into dev/no-cron 2025-06-07 04:09:32 +07:00
adesyawal
899fbf8500 Merge branch 'dev/remunerasi/bugfixingakumulasipersen' into dev/no-cron 2025-05-19 13:47:36 +07:00
adesyawal
1e92229cee Merge branch 'dev/remunerasi/vinchia' into dev/no-cron 2025-04-09 11:23:05 +07:00
adesyawal
672ed064a6 Merge branch 'dev/pegawai/ws-example-ade-v2' into dev/no-cron 2025-03-21 12:41:53 +07:00
Salman Manoe
999f983037 Merge branch 'dev/remun/persalinan-total-tarif' into dev/no-cron 2025-03-19 10:59:30 +07:00
Salman Manoe
750db3e48c Merge branch 'dev/reporting/kehadiran-bpk' into dev/no-cron 2025-03-19 10:03:01 +07:00
Salman Manoe
8b7c2e044e Merge branch 'dev/remun/persalinan-total-tarif' into dev/no-cron 2025-03-18 16:29:11 +07:00
Salman Manoe
1aa20c9312 Merge branch 'dev/kepegawaian/monitoring-presensi' into dev/no-cron 2025-03-17 13:57:37 +07:00
Salman Manoe
d00c749678 Merge branch 'dev/remun/logbook-paruh-waktu' into dev/no-cron 2025-03-13 09:42:30 +07:00
Salman Manoe
c57b975766 Merge branch 'dev/remun/logbook-paruh-waktu' into dev/no-cron 2025-03-12 11:22:32 +07:00
Salman Manoe
9ae0a74d88 Merge branch 'dev/remun/logbook-tarif' into dev/no-cron 2025-03-11 13:49:37 +07:00
Salman Manoe
5181636e98 Merge branch 'dev/remun/logbook-tarif' into dev/no-cron 2025-03-06 16:47:11 +07:00
Salman Manoe
b2aa9e86df Merge branch 'dev/remun/fixed-pay-anestesi' into dev/no-cron 2025-03-06 08:46:43 +07:00
Salman Manoe
c6c39e9b33 Merge branch 'dev/remun/logbook-tarif' into dev/no-cron 2025-03-05 08:28:28 +07:00
Salman Manoe
b0383b8775 Merge branch 'dev/technical-debt/lombok-domain' into dev/no-cron 2025-03-04 11:22:59 +07:00
Salman Manoe
9e5b3da46a Merge branch 'dev/kepegawaian/kategori-pppk' into dev/no-cron 2025-03-03 13:49:14 +07:00
Salman Manoe
eb37d939f2 Merge branch 'dev/kepegawaian/nim-ppds' into dev/no-cron 2025-03-03 13:49:02 +07:00
Salman Manoe
591b45f81b Merge branch 'dev/kepegawaian/no-penugasan-klinis' into dev/no-cron 2025-02-28 13:49:30 +07:00
Salman Manoe
6646f2d221 Merge branch 'dev/remun/logbook-tarif' into dev/no-cron 2025-02-27 11:55:39 +07:00
Salman Manoe
db0980a3af Merge branch 'dev/remun/logbook-tarif' into dev/no-cron 2025-02-26 14:04:02 +07:00
Salman Manoe
9245a29163 Merge branch 'dev/remun/logbook-tarif' into dev/no-cron 2025-02-25 09:48:58 +07:00
Salman Manoe
54ad57638d Merge branch 'dev/kepegawaian/golongan-pppk' into dev/no-cron 2025-02-25 08:30:22 +07:00
Salman Manoe
2b0b41a640 Merge branch 'dev/kepegawaian/golongan-pppk' into dev/no-cron 2025-02-24 15:06:56 +07:00
Salman Manoe
941550bff7 Merge branch 'dev/remun/logbook-tarif' into dev/no-cron 2025-02-24 14:35:29 +07:00
Salman Manoe
e1f8c37474 Update RemunerasiServiceImpl.java
Penerapan filter produk perawat tidak dapat diklaim dokter
2025-02-24 14:35:13 +07:00
Salman Manoe
89aea236d1 Merge branch 'dev/kepegawaian/golongan-pppk' into dev/no-cron 2025-02-24 09:06:02 +07:00
Salman Manoe
8aec55c690 Update service kepegawaian
Penerapan golongan pppk untuk endpoints view terdampak
2025-02-24 09:05:40 +07:00
Salman Manoe
8228ab1060 Merge branch 'dev/kepegawaian/golongan-pppk' into dev/no-cron 2025-02-22 14:18:50 +07:00
Salman Manoe
a421e0919b Merge branch 'dev/remun/logbook-tarif' into dev/no-cron 2025-02-17 14:20:57 +07:00
Salman Manoe
569e318696 Merge branch 'dev/remun/logbook-tarif' into dev/no-cron 2025-02-14 16:31:05 +07:00
Salman Manoe
9288df1b93 Merge branch 'dev/remun/logbook-tarif' into dev/no-cron 2025-02-14 13:37:36 +07:00
Salman Manoe
5f01d45298 Merge branch 'dev/remun/logbook-tarif' into dev/no-cron 2025-02-14 09:04:19 +07:00
Salman Manoe
a16ea96f5e Merge branch 'dev/master/data-fix' into dev/no-cron 2025-02-13 11:34:51 +07:00
Salman Manoe
0f9f9ea7b8 Merge branch 'dev/master/data-fix' into dev/no-cron 2025-02-12 16:41:44 +07:00
Salman Manoe
c42d6de78a Merge branch 'dev/pegawai/monitoring-jatah-cuti' into dev/no-cron 2025-02-12 14:07:24 +07:00
Salman Manoe
8290ec8925 Merge branch 'dev/pegawai/monitoring-jatah-cuti' into dev/no-cron 2025-02-11 15:01:06 +07:00
Salman Manoe
2ff0764f85 Merge branch 'dev/pegawai/monitoring-jatah-cuti' into dev/no-cron 2025-02-06 10:43:25 +07:00
Salman Manoe
9c16096352 Merge branch 'dev/pegawai/monitoring-jatah-cuti' into dev/no-cron 2025-02-05 12:35:02 +07:00
Salman Manoe
b6968e2c15 Merge branch 'dev/remun/logbook-tarif' into dev/no-cron 2025-02-05 07:19:14 +07:00
Salman Manoe
72129f9d4b Merge branch 'dev/pegawai/dokter-mitra' into dev/no-cron 2025-02-03 11:58:47 +07:00
Salman Manoe
0424b2566c Merge branch 'dev/remun/logbook-tarif' into dev/no-cron 2025-01-31 10:01:36 +07:00
Salman Manoe
2a05bf5bcd Merge branch 'dev/pegawai/cuti' into dev/no-cron 2025-01-30 11:50:35 +07:00
Salman Manoe
37827489e9 Merge branch 'dev/pegawai/presensi' into dev/no-cron 2025-01-30 08:16:07 +07:00
Salman Manoe
e2235fd5ef Merge branch 'dev/remun/logbook-tarif' into dev/no-cron 2025-01-30 08:14:02 +07:00
Salman Manoe
9076fb7691 Merge branch 'dev/pegawai/peserta-didik' into dev/no-cron 2025-01-23 13:35:40 +07:00
Salman Manoe
38790890c1 Merge branch 'dev/pegawai/cuti' into dev/no-cron 2025-01-23 07:48:28 +07:00
Salman Manoe
59984f64c2 Update PegawaiServiceImpl.java
Fix conflict fitur mitra rsab dan peserta didik fellowship
2025-01-22 16:51:39 +07:00
Salman Manoe
16fd2d7eed Merge branch 'dev/pegawai/cuti' into dev/no-cron 2025-01-22 16:46:57 +07:00
Salman Manoe
e76d2c8de4 Merge branch 'dev/pegawai/peserta-didik' into dev/no-cron 2025-01-22 15:12:27 +07:00
Salman Manoe
2b4de73b1d Merge branch 'dev/pegawai/peserta-didik' into dev/no-cron 2025-01-22 14:48:41 +07:00
Salman Manoe
1b004a9459 Merge branch 'dev/pegawai/dokter-mitra' into dev/no-cron 2025-01-22 13:25:27 +07:00
Salman Manoe
c45ee3f864 Merge branch 'dev/pegawai/cuti' into dev/no-cron 2025-01-22 13:24:55 +07:00
Salman Manoe
29fe69e5ee Update JatahCutiDanIzinServiceImpl.java
Penerapan TMT SK cuti 2024 menghapus jatah cuti bersama untuk cuti tahunan di tanggal cuti bersama
2025-01-22 13:18:33 +07:00
Salman Manoe
d9b48b1ade Merge branch 'dev/pegawai/cuti' into dev/no-cron 2025-01-21 11:33:53 +07:00
Salman Manoe
9b9429578a Update service jatah cuti dan izin
Penerapan cuti tahunan di cuti bersama tidak memengaruhi jata cuti bersama yang bisa ditangguhkan
2025-01-21 11:33:41 +07:00
Salman Manoe
6b721fbefa Merge branch 'dev/pegawai/cuti' into dev/no-cron 2025-01-20 16:28:23 +07:00
Salman Manoe
51690008f8 Merge branch 'dev/remun/logbook-tarif' into dev/no-cron 2025-01-17 17:05:24 +07:00
Salman Manoe
119d15ef43 Merge branch 'dev/pegawai/cuti' into dev/no-cron 2025-01-17 16:57:47 +07:00
Salman Manoe
4c6b8d5cc9 Merge branch 'dev/pegawai/peserta-didik' into dev/no-cron 2025-01-15 09:55:17 +07:00
Salman Manoe
3003eaa3fc Update jdbc.development.properties
Update koneksi database terbaru
2025-01-14 17:51:13 +07:00
Salman Manoe
c32ab9b8f0 Merge branch 'dev/pegawai/cuti' into dev/no-cron 2025-01-14 17:16:52 +07:00
Salman Manoe
bb20d132e9 Merge branch 'dev/pegawai/cuti' into dev/no-cron 2025-01-14 11:02:41 +07:00
Salman Manoe
07fce88c88 Merge branch 'dev/pegawai/presensi' into dev/no-cron 2025-01-03 14:12:21 +07:00
Salman Manoe
7ab4449dfd Merge branch 'dev/pegawai/presensi' into dev/no-cron 2025-01-03 10:23:10 +07:00
Salman Manoe
6ef72d517f Merge branch 'dev/remun/logbook-tarif' into dev/no-cron 2025-01-02 11:11:50 +07:00
Salman Manoe
e50f184fac Merge branch 'dev/remun/logbook-tarif' into dev/no-cron 2024-12-31 22:43:10 +07:00
Salman Manoe
fbb81bee8f Merge branch 'dev/remun/logbook-tarif' into dev/no-cron 2024-12-31 09:53:58 +07:00
Salman Manoe
229fe3b4e3 Merge branch 'dev/remun/logbook-tarif' into dev/no-cron 2024-12-19 08:10:45 +07:00
Salman Manoe
9046914d43 Merge branch 'dev/verif-remun/log' into dev/no-cron 2024-12-02 14:19:05 +07:00
Salman Manoe
395d2b5dcb Merge branch 'dev/remun/exclude-dokter-luar' into dev/no-cron 2024-12-02 14:18:57 +07:00
Salman Manoe
a438d0d69e Merge branch 'dev/remun/exclude-dokter-luar' into dev/no-cron 2024-11-26 10:54:24 +07:00
Salman Manoe
0a7f3b3278 Update RemunerasiServiceImpl.java
Penyesuaian aturan remunerasi khusus dr. budi
2024-11-26 10:54:13 +07:00
Salman Manoe
2a9553a71c Merge branch 'dev/pegawai/jadwal-kerja' into dev/no-cron 2024-11-20 14:49:21 +07:00
Salman Manoe
9c49ef2d3a Merge branch 'dev/paket/validasi-voucher' into dev/no-cron 2024-11-18 13:34:14 +07:00
Salman Manoe
b168e9f975 Merge branch 'dev/master/paket-persalinan' into dev/no-cron 2024-11-13 10:07:28 +07:00
Salman Manoe
85358c109c Merge branch 'dev/remun/log-verif' into dev/no-cron 2024-11-13 10:07:23 +07:00
Salman Manoe
c542de42c5 Merge branch 'dev/pegawai/presensi/compreface' into dev/no-cron 2024-11-11 18:41:24 +07:00
Salman Manoe
b0253b19ad Merge branch 'dev/remun/kinerja/hapus' into dev/no-cron 2024-11-11 11:38:35 +07:00
Salman Manoe
be6f648ab5 Merge branch 'dev/remun/kinerja/hapus' into dev/no-cron 2024-11-11 11:14:57 +07:00
Salman Manoe
f9b3e5c8c1 Merge branch 'dev/remun/kinerja/hapus' into dev/no-cron 2024-11-07 13:23:21 +07:00
Salman Manoe
c2d473df77 Merge branch 'dev/remun/kinerja/hapus' into dev/no-cron 2024-11-06 07:10:41 +07:00
Salman Manoe
48ea078a6f Merge branch 'dev/report/konsultasi-kosong' into dev/no-cron 2024-11-01 10:51:37 +07:00
Salman Manoe
031b150c21 Merge branch 'dev/pelayanan/operasi-elektif' into dev/no-cron 2024-10-30 14:38:23 +07:00
Salman Manoe
3cbae93bb3 Merge branch 'dev/remun/kontrak' into dev/no-cron 2024-10-29 13:55:13 +07:00
Salman Manoe
49fe2ac9d1 Merge branch 'dev/logbook/terapis' into dev/no-cron 2024-10-22 08:58:30 +07:00
Salman Manoe
f6fce67de4 Merge branch 'dev/logbook/terapis' into dev/no-cron 2024-10-21 10:30:59 +07:00
Salman Manoe
339a0d8d53 Update RemunerasiServiceImpl.java
Penyesuaian persentase terapis mulai tanggal pelayanan 21 oktober 2024
2024-10-21 10:30:38 +07:00
Salman Manoe
a3d034330c Merge branch 'dev/remun/logbook/rekap' into dev/no-cron 2024-10-21 08:57:16 +07:00
Salman Manoe
3b5827a778 Merge branch 'dev/logbook/diskon' into dev/no-cron 2024-10-07 10:36:34 +07:00
Salman Manoe
c94c670514 Merge branch 'dev/logbook/diskon' into dev/no-cron 2024-10-07 09:04:36 +07:00
Salman Manoe
2e10986727 Update RemunerasiServiceImpl.java
Perbaikan keterangan dan hitung harga jasa fixed pay dan diskon pegawai
2024-10-07 09:03:26 +07:00
Salman Manoe
9006fb3847 Merge branch 'dev/logbook/diskon' into dev/no-cron 2024-10-04 20:35:28 +07:00
Salman Manoe
4a52b174c4 Merge branch 'dev/logbook/diskon' into dev/no-cron 2024-10-03 11:26:21 +07:00
Salman Manoe
cf9a9123fd Merge branch 'dev/logbook/diskon' into dev/no-cron 2024-10-02 20:58:00 +07:00
Salman Manoe
5e24ccd97b Merge branch 'dev/logbook/diskon' into dev/no-cron 2024-09-27 14:37:57 +07:00
Salman Manoe
8f5c44aa15 Update service pelayanan pasien
Penyesuaian hitungan dan tampilan logbook dokter karena persentase diskon pegawai
2024-09-27 14:37:39 +07:00
Salman Manoe
98025620ed Merge branch 'dev/logbook/diskon' into dev/no-cron 2024-09-26 17:01:47 +07:00
Salman Manoe
5ddfb6b7a1 Update service pelayanan pasien
Penyesuaian hitungan dan tampilan logbook dokter karena persentase diskon pegawai
2024-09-26 17:01:00 +07:00
Salman Manoe
69f4e3863e Merge branch 'dev/integrasi/superapp' into dev/no-cron 2024-09-02 10:26:45 +07:00
Salman Manoe
c99f33cb8e Merge branch 'dev/no-cron' of ssh://172.16.55.31/volume1/git/SC-be-java into dev/no-cron 2024-09-02 07:59:06 +07:00
Salman Manoe
59a5c79570 Merge branch 'dev/auth/ketua-komite' into dev/no-cron 2024-08-23 10:15:19 +07:00
Salman Manoe
c9f2cc461e Merge branch 'dev/auth/ketua-komite' into dev/no-cron 2024-08-23 10:02:38 +07:00
Salman Manoe
185696d128 Update service monitoring absensi
Penambahan hak akses view ketua komite nakes lain untuk monitoring presensi pegawai
2024-08-23 10:02:07 +07:00
Salman Manoe
9300f5d5d0 Merge branch 'dev/auth/ketua-komite' into dev/no-cron 2024-08-23 09:54:42 +07:00
Salman Manoe
ec03f97ac9 Update service monitoring absensi
Penambahan hak akses view ketua komite nakes lain untuk monitoring presensi pegawai
2024-08-23 09:54:23 +07:00
Salman Manoe
f3de461e50 Merge branch 'dev/auth/ketua-komite' into dev/no-cron 2024-08-23 09:35:37 +07:00
Salman Manoe
808f642c5b Update service monitoring absensi
Penambahan hak akses view ketua komite nakes lain untuk monitoring presensi pegawai
2024-08-23 09:35:10 +07:00
Salman Manoe
b4aabc34f6 Merge branch 'dev/auth/ketua-komite' into dev/no-cron 2024-08-22 14:38:10 +07:00
Salman Manoe
1512fb8e93 Merge branch 'dev/security/login' into dev/no-cron 2024-08-22 10:55:12 +07:00
Salman Manoe
901a4cb562 Update jdbc.development.properties
Penyesuaian database terbaru
2024-08-21 09:28:26 +07:00
Salman Manoe
a4190c4a46 Update jdbc.development.properties
Penyesuaian database terbaru
2024-08-20 22:49:06 +07:00
Salman Manoe
2ceae20e67 Merge branch 'dev/etl/pasien' into dev/no-cron 2024-08-20 10:06:27 +07:00
Salman Manoe
868c7a5069 Clean branch
Hapus schedule cron untuk dev env
2024-08-07 10:18:23 +07:00
Salman Manoe
db82abf1f3 Merge branch 'dev/etl/pasien' into dev/no-cron 2024-08-07 10:04:28 +07:00
Salman Manoe
dadc5f0636 Merge branch 'dev/remun/logbook' into dev/no-cron 2024-08-05 10:43:47 +07:00
Salman Manoe
d63b8be3b6 Merge branch 'dev/remun/logbook' into dev/no-cron 2024-08-01 14:06:36 +07:00
Salman Manoe
bf15ffb315 Merge branch 'dev/remun/logbook-dokter' into dev/no-cron 2024-07-16 08:20:42 +07:00
Salman Manoe
65915c77b4 Merge branch 'dev/integrasi/superapp' into dev/no-cron 2024-07-03 13:20:09 +07:00
Salman Manoe
ec979efb8a Merge branch 'dev/integrasi/superapp' into dev/no-cron 2024-07-03 11:06:16 +07:00
Salman Manoe
f096fc6552 Merge branch 'dev/integrasi/superapp' into dev/no-cron 2024-07-03 10:20:22 +07:00
Salman Manoe
14872c79c4 Update service remunerasi
Pembuatan API authorization integrasi get data pegawai by email pengguna superapp
2024-07-03 10:20:01 +07:00
Salman Manoe
e05a0fb623 Merge branch 'dev/remun/logbook-tarif' into dev/no-cron 2024-06-27 11:43:19 +07:00
Salman Manoe
7a21c119f3 Merge branch 'dev/remun/logbook-tarif' into dev/no-cron 2024-06-25 08:38:58 +07:00
Salman Manoe
eed0063c39 Merge branch 'dev/pelayanan/operasi-elektif' into dev/no-cron 2024-06-13 07:37:29 +07:00
Salman Manoe
10b97b03c4 Merge branch 'dev/remun/android-logbook' into dev/no-cron 2024-06-07 13:57:21 +07:00
Salman Manoe
4b3e255750 Merge branch 'dev/remun/logbook-dg-jam-kerja' into dev/no-cron 2024-05-31 16:11:13 +07:00
Salman Manoe
43f1bad1b3 Merge branch 'dev/remun/rekap-logbook' into dev/no-cron 2024-05-31 08:56:41 +07:00
Salman Manoe
ba885acdeb Merge branch 'dev/remun/logbook-nonjkn-dg-jam' into dev/no-cron 2024-05-28 09:04:45 +07:00
Salman Manoe
fb2e8342fd Merge branch 'dev/remun/logbook-nonjkn-dg-jam' into dev/no-cron 2024-05-22 11:01:52 +07:00
Salman Manoe
27c81723c6 Merge branch 'dev/remun/logbook-nonjkn-dg-jam' into dev/no-cron 2024-05-20 10:28:48 +07:00
Salman Manoe
d5b4ba4348 Merge branch 'dev/remun/logbook-nonjkn-dg-jam' into dev/no-cron 2024-05-17 07:49:04 +07:00
Salman Manoe
796eeb4d7f Merge branch 'dev/kepegawaian/cetak-cuti' into dev/no-cron 2024-05-14 13:24:06 +07:00
Salman Manoe
a382710068 Merge branch 'dev/remun/logbook-nonjkn-dg-jam' into dev/no-cron 2024-05-14 11:36:52 +07:00
Salman Manoe
f781cfe831 Merge branch 'dev/remun/amarilys' into dev/no-cron 2024-05-13 14:37:38 +07:00
Salman Manoe
b93e4ff37b Merge branch 'dev/remun/detail-logbook' into dev/no-cron 2024-04-24 12:53:57 +07:00
Salman Manoe
644d2d48a7 Merge branch 'dev/remun/konkin-magang' into dev/no-cron 2024-04-23 13:52:29 +07:00
Salman Manoe
7929f7f6d9 Merge branch 'dev/ddl' into dev/no-cron 2024-04-23 10:10:17 +07:00
Salman Manoe
207dfd6398 Merge branch 'dev/remun/paket/nonjkn' into dev/no-cron 2024-04-23 10:00:45 +07:00
Salman Manoe
c514c2a96b Merge branch 'dev/remun/kontrak' into dev/no-cron 2024-03-28 08:20:52 +07:00
Salman Manoe
c983cbce42 Merge branch 'dev/cetakan/cuti' into dev/no-cron 2024-03-26 08:33:57 +07:00
Salman Manoe
ee94233b78 Merge branch 'dev/ddl' into dev/no-cron 2024-03-25 14:17:41 +07:00
Salman Manoe
05386f7502 Merge branch 'dev/cetak/pelimpahan-tugas' into dev/no-cron 2024-03-22 10:07:49 +07:00
Salman Manoe
56017dad3b Merge branch 'dev/remun/diskon-dokter' into dev/no-cron 2024-03-21 07:29:18 +07:00
Salman Manoe
93f06fffa8 Merge branch 'dev/cetak/pelimpahan-tugas' into dev/no-cron 2024-03-20 16:19:52 +07:00
Salman Manoe
d17bb44bbe Update suratPelimpahanTugas.jrxml
Perbaikan stretch di cetakan pelimpahan tugas saat pengajuan cuti
2024-03-20 16:18:49 +07:00
Salman Manoe
6402a15401 Merge branch 'dev/master/unit-kerja' into dev/no-cron 2024-03-19 11:50:49 +07:00
Salman Manoe
3e71c9be66 Merge branch 'dev/remun/proporsi-dokter' into dev/no-cron 2024-03-18 17:41:12 +07:00
Salman Manoe
575c321b5b Merge branch 'dev/remun/diskon-dokter' into dev/no-cron 2024-03-18 16:44:59 +07:00
Salman Manoe
c198a51053 Merge branch 'dev/ddl' into dev/no-cron 2024-03-18 16:44:08 +07:00
Salman Manoe
6abb17bd98 Merge branch 'dev/remun/diskon-dokter' into dev/no-cron 2024-03-18 10:30:46 +07:00
Salman Manoe
304a0b3b90 Update PelayananPasienServiceImpl.java
Custom rule - dokter PA tidak boleh klaim asisten spesialis
2024-03-18 10:30:01 +07:00
Salman Manoe
6f0e42e4d5 Merge branch 'dev/remun/diskon-dokter' into dev/no-cron 2024-03-09 14:51:49 +07:00
Salman Manoe
c15ef0d58e Merge branch 'dev/remun/diskon-dokter' into dev/no-cron 2024-03-09 01:09:09 +07:00
Salman Manoe
21bb7613c1 Update service pelayanan pasien
Perbaikan diskon di Rp0,- komponen tetapi tetap dapat kinerja dari aturan remun + kombinasi diskon
2024-03-09 01:09:00 +07:00
Salman Manoe
df77e91abb Merge branch 'dev/remun/diskon-dokter' into dev/no-cron 2024-03-09 00:23:51 +07:00
Salman Manoe
72d23ca54b Merge branch 'dev/remun/mapping-produk-fixed-pay' into dev/no-cron 2024-03-08 22:34:34 +07:00
Salman Manoe
33f0e974c8 Merge branch 'dev/ddl' into dev/no-cron 2024-03-08 10:42:00 +07:00
Salman Manoe
b9cf5f78a8 Merge branch 'dev/remun/diskon-dokter' into dev/no-cron 2024-03-06 13:41:12 +07:00
Salman Manoe
4cc62200e1 Merge branch 'dev/remun/diskon-dokter' into dev/no-cron 2024-03-04 14:54:40 +07:00
Salman Manoe
f50f87abc9 Merge branch 'dev/remun/diskon-dokter' into dev/no-cron 2024-02-29 10:21:34 +07:00
Salman Manoe
982adacde9 Merge branch 'dev/ddl' into dev/no-cron 2024-02-28 14:43:48 +07:00
Salman Manoe
ea225ec801 Merge branch 'dev/remun/diskon-dokter' into dev/no-cron 2024-02-28 10:32:21 +07:00
Salman Manoe
125356bb30 Merge branch 'dev/remun/diskon-dokter' into dev/no-cron 2024-02-27 14:19:45 +07:00
Salman Manoe
eea995ca66 Update service pelayanan pasien
Penerapan formula hitung harga jasa dampak diskon jasa medis dokter
2024-02-27 14:19:07 +07:00
Salman Manoe
cacea10dc6 Merge branch 'dev/pegawai/tmt-str' into dev/no-cron 2024-02-26 10:32:26 +07:00
Salman Manoe
5ec1f7e54c Merge branch 'dev/ddl' into dev/no-cron 2024-02-21 12:45:49 +07:00
Salman Manoe
9c91272095 Merge branch 'dev/pegawai/slip-gaji' into dev/no-cron 2024-02-21 12:44:03 +07:00
Salman Manoe
8539116e41 Merge branch 'dev/pegawai/tmt-str' into dev/no-cron 2024-02-20 13:11:54 +07:00
Salman Manoe
42b4683917 Merge branch 'dev/pegawai/tmt-str' into dev/no-cron 2024-02-20 11:00:00 +07:00
Salman Manoe
04dd894142 Merge branch 'dev/pegawai/slip-gaji' into dev/no-cron 2024-02-20 08:15:46 +07:00
Salman Manoe
4635199b23 Merge branch 'dev/pegawai/slip-gaji' into dev/no-cron 2024-02-19 16:58:13 +07:00
Salman Manoe
80562fbbb0 Merge branch 'dev/pegawai/tmt-str' into dev/no-cron 2024-02-19 11:41:17 +07:00
Salman Manoe
bd5a8f2c6b Merge branch 'dev/pegawai/slip-gaji' into dev/no-cron 2024-02-16 19:06:47 +07:00
Salman Manoe
0f916e6193 Merge branch 'dev/pegawai/tmt-str' into dev/no-cron 2024-02-16 11:14:12 +07:00
Salman Manoe
fe0417faff Merge branch 'dev/pegawai/tmt-str' into dev/no-cron 2024-02-15 13:08:51 +07:00
Salman Manoe
f50b000baa Merge branch 'master' into dev-deploy 2024-02-13 14:12:41 +07:00
Salman Manoe
fae942fd6e Merge branch 'dev-remun-diskondpjp' into dev-deploy 2024-02-07 14:42:53 +07:00
Salman Manoe
8e150ac343 Merge branch 'dev-sdm-slipgaji' into dev-deploy 2024-02-06 15:06:27 +07:00
Salman Manoe
0a02ff5dfa Merge branch 'master' into dev-deploy 2024-02-01 20:30:40 +07:00
Salman Manoe
ddbea13e6c Merge branch 'master' into dev-deploy 2024-01-30 13:37:27 +07:00
Salman Manoe
7a95cc1a2c Merge branch 'master' into dev-deploy 2024-01-27 21:12:55 +07:00
Salman Manoe
230cbf0bd6 Merge branch 'master' into dev-deploy 2024-01-26 09:18:22 +07:00
Salman Manoe
54da6a8b67 Merge branch 'master' into dev-deploy 2024-01-15 09:41:57 +07:00
Salman Manoe
0b93e5daa1 Merge branch 'master' into dev-deploy 2024-01-10 17:39:28 +07:00
Salman Manoe
7a9f9e4bad Merge branch 'master' into dev-deploy 2024-01-09 14:54:44 +07:00
Salman Manoe
50c382e45c Merge branch 'master' into dev-deploy 2023-12-26 03:10:27 +07:00
Salman Manoe
0beb57a54e Merge branch 'master' into dev-deploy 2023-12-21 22:04:38 +07:00
Salman Manoe
19fef620df Merge branch 'master' into dev-deploy 2023-12-07 11:25:51 +07:00
Salman Manoe
5a502be7aa Merge branch 'master' into dev-deploy 2023-12-01 10:05:59 +07:00
Salman Manoe
1ca831f64d Merge branch 'master' into dev-deploy 2023-12-01 09:34:25 +07:00
Salman Manoe
e6555891d2 Merge branch 'master' into dev-deploy 2023-11-29 14:41:50 +07:00
Salman Manoe
ddb5ead583 Merge branch 'master' into dev-deploy 2023-11-29 13:54:01 +07:00
Salman Manoe
c69023d15c Merge branch 'master' into dev-deploy 2023-11-28 08:45:31 +07:00
Salman Manoe
3c30152909 Merge branch 'master' into dev-deploy 2023-11-24 20:25:04 +07:00
Salman Manoe
266f9eda22 Merge branch 'master' into dev-deploy 2023-11-24 18:50:50 +07:00
Salman Manoe
7ac208b9ec Merge branch 'master' into dev-deploy 2023-11-22 18:54:41 +07:00
Salman Manoe
ab600639bf Merge branch 'master' into dev-deploy 2023-11-22 14:46:28 +07:00
Salman Manoe
9615075469 Merge branch 'master' into dev-deploy 2023-11-21 16:07:50 +07:00
Salman Manoe
15844ad25d Merge branch 'master' into dev-deploy 2023-11-21 14:48:57 +07:00
Salman Manoe
b65cb22ce8 Merge branch 'master' into dev-deploy 2023-11-21 13:41:31 +07:00
Salman Manoe
bcaa03d0d3 Merge branch 'master' into dev-deploy 2023-11-21 10:47:23 +07:00
Salman Manoe
c4d1954815 Merge branch 'master' into dev-deploy 2023-11-20 16:15:28 +07:00
Salman Manoe
3ec3d5e820 Merge branch 'master' into dev-deploy 2023-11-19 19:59:42 +07:00
Salman Manoe
2cb88f0aa2 Merge branch 'master' into dev-deploy 2023-11-19 18:56:08 +07:00
Salman Manoe
637de9dc9d Merge branch 'master' into dev-deploy 2023-11-19 16:53:17 +07:00
Salman Manoe
f310e8fabf Merge branch 'master' into dev-deploy 2023-11-16 13:39:47 +07:00
Salman Manoe
61059cfcb3 Merge branch 'master' into dev-deploy 2023-11-14 14:10:22 +07:00
Salman Manoe
2ad71df75a Update web.xml 2023-11-13 15:40:58 +07:00
Salman Manoe
bd4aad38d7 Clean all scheduler server testing 2023-11-08 13:09:11 +07:00
Salman Manoe
2c5548a21e Merge branch 'master' into dev-deploy 2023-11-08 12:51:26 +07:00
Salman Manoe
e66f0cbe31 Merge branch 'master' into dev-deploy 2023-11-08 08:37:25 +07:00
Salman Manoe
4d7259c6ea Merge branch 'master' into dev-deploy 2023-11-03 20:11:49 +07:00
Salman Manoe
ec3fc666ca Merge branch 'master' into dev-deploy 2023-11-02 16:03:27 +07:00
Salman Manoe
f89fbfd7a9 Merge branch 'master' into dev-deploy 2023-11-02 14:20:14 +07:00
Salman Manoe
c1a51a8486 Merge branch 'master' into dev-deploy 2023-11-02 09:01:19 +07:00
Salman Manoe
67b1b136c8 Merge branch 'master' into dev-deploy 2023-10-25 16:35:56 +07:00
Salman Manoe
5674a02f19 Merge branch 'master' into dev-deploy 2023-10-24 17:36:08 +07:00
Salman Manoe
293ee89579 Merge branch 'master' into dev-deploy 2023-10-21 12:30:27 +07:00
Salman Manoe
afe9989b3f Merge branch 'master' into dev-deploy 2023-10-19 08:42:40 +07:00
Salman Manoe
ad408172c4 Merge remote-tracking branch 'origin/master' into dev-deploy 2023-10-13 07:30:08 +07:00
Salman Manoe
05b7b70f71 Merge branch 'dev' into dev-deploy 2023-10-12 00:00:42 +07:00
Salman Manoe
32dbdeb171 Merge branch 'dev' into dev-deploy 2023-10-11 23:28:57 +07:00
Salman Manoe
ff73222da7 Update web.xml 2023-10-11 21:39:55 +07:00
Salman Manoe
a801a75ebf Merge branch 'dev' into dev-deploy 2023-10-11 21:38:51 +07:00
Salman Manoe
bfa5fcca98 Initial commit
Konfigurasi deploy testing dan exclude scheduler
2023-10-11 19:47:46 +07:00
15 changed files with 223 additions and 810 deletions

View File

@ -1,69 +0,0 @@
package com.jasamedika.medifirst2000.task.schedule;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.jasamedika.medifirst2000.service.MigrasiPasienService;
import com.jasamedika.medifirst2000.util.CommonUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpEntity;
import org.springframework.http.ResponseEntity;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.web.client.RestTemplate;
import java.net.URI;
import java.net.URISyntaxException;
import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import static com.jasamedika.medifirst2000.task.schedule.config.HeaderHandler.getHttpHeaders;
import static org.springframework.http.HttpMethod.GET;
/**
* @author salmanoe
* @version 1.0.0
* @since 11/10/2023
*/
@Component
public class MigrasiPasienTask {
private static final Logger LOGGER = LoggerFactory.getLogger(MigrasiPasienTask.class);
@Autowired
private RestTemplate restTemplate;
@Autowired
private ObjectMapper objectMapper;
@Autowired
private MigrasiPasienService migrasiPasienService;
@Value("${app.etl.migrasi.pasien}")
String baseUrl;
@Scheduled(cron = "0 0 18 * * ?")
public void newMigrate() {
LOGGER.info("Task MigrasiPasienTask.newMigrate {}", LocalDateTime.now());
migrasiPasienService.newMigrate();
}
@Scheduled(cron = "0 0 0 * * ?")
public void setStatusTerkirim() throws URISyntaxException {
LOGGER.info("Task MigrasiPasienTask.setStatusTerkirim {}", LocalDateTime.now());
URI uri = new URI(baseUrl + "/no-rekam-medis");
HttpEntity<Object> entity = new HttpEntity<>(null, getHttpHeaders());
ResponseEntity<Object> exchange = restTemplate.exchange(uri, GET, entity, Object.class);
if (CommonUtil.isNotNullOrEmpty(exchange.getBody())) {
Map<String, Object> dto = objectMapper.convertValue(exchange.getBody(), HashMap.class);
if (CommonUtil.isNotNullOrEmpty(dto) && CommonUtil.isNotNullOrEmpty(dto.get("response"))) {
List<String> noRekamMedisList = objectMapper.convertValue(dto.get("response"), List.class);
migrasiPasienService.setStatus(noRekamMedisList);
}
}
}
}

View File

@ -1,24 +0,0 @@
package com.jasamedika.medifirst2000.task.schedule.config;
import org.springframework.http.HttpHeaders;
import org.springframework.stereotype.Component;
import java.util.Collections;
import static org.springframework.http.MediaType.APPLICATION_JSON;
/**
* @author Salman
* @version 1.0.0
* @since 29/07/2024
*/
@Component
public class HeaderHandler {
public static HttpHeaders getHttpHeaders() {
HttpHeaders headers = new HttpHeaders();
headers.setAccept(Collections.singletonList(APPLICATION_JSON));
headers.setContentType(APPLICATION_JSON);
return headers;
}
}

View File

@ -1,38 +0,0 @@
package com.jasamedika.medifirst2000.task.schedule.config;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.TaskScheduler;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
import org.springframework.web.client.RestTemplate;
/**
* @author Salman
* @since 12 Jul 2023
*/
@Configuration
@EnableScheduling
@ComponentScan("com.jasamedika.medifirst2000.task")
public class ScheduleTaskConfig {
@Bean
public TaskScheduler taskScheduler() {
ThreadPoolTaskScheduler threadPoolTaskScheduler = new ThreadPoolTaskScheduler();
threadPoolTaskScheduler.setPoolSize(50);
threadPoolTaskScheduler.setThreadNamePrefix("BridgingThreadPoolTaskScheduler");
return threadPoolTaskScheduler;
}
@Bean
public ObjectMapper objectMapper() {
return new ObjectMapper();
}
@Bean
public RestTemplate restTemplate() {
return new RestTemplate();
}
}

View File

@ -15,7 +15,7 @@
</context-param> </context-param>
<context-param> <context-param>
<param-name>spring.profiles.default</param-name> <param-name>spring.profiles.default</param-name>
<param-value>localhost</param-value> <param-value>development</param-value>
</context-param> </context-param>
<listener> <listener>

View File

@ -784,7 +784,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
d.put("hargaJual", d.get("komponenTotalTarif")); d.put("hargaJual", d.get("komponenTotalTarif"));
d.put("isTermasukProporsi", true); d.put("isTermasukProporsi", true);
double hargaJual = Double.parseDouble(d.get("hargaJual").toString()); double hargaJual = Double.parseDouble(d.get("hargaJual").toString());
if (Boolean.parseBoolean(d.get("isSelisihPaket").toString())) if (Boolean.parseBoolean(d.get("isSelisihPaket").toString())
|| Double.parseDouble(d.get("persenDiskonPegawai").toString()) > 0.0)
hargaJual -= Double.parseDouble(d.get("hargaDiskon").toString()); hargaJual -= Double.parseDouble(d.get("hargaDiskon").toString());
if (drKsmUmumList.contains(idPegawai) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { if (drKsmUmumList.contains(idPegawai) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenRemunDokterUmumHD / 100, hargaJual, d, false); RemunHargaJasaDto hargaJasa = hargaJasa(persenRemunDokterUmumHD / 100, hargaJual, d, false);
@ -1962,8 +1963,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
SimpleDateFormat month = new SimpleDateFormat("MMM-yyyy", new Locale("in", "ID")); SimpleDateFormat month = new SimpleDateFormat("MMM-yyyy", new Locale("in", "ID"));
listData.forEach(d -> { listData.forEach(d -> {
if (CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) if (CommonUtil.isNotNullOrEmpty(d.get("idSayatan")))
d.put("keterangan", "Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) d.put("keterangan", "Diskon sayatan ke-" + d.get("urutanSayatan").toString() + " ("
+ "% komponen tarif, sayatan ke-" + d.get("urutanSayatan").toString()); + d.get("persenSayatan").toString() + "%)");
}); });
List<MapProdukPaket> paketList = mapProdukPaketDao.findAll(); List<MapProdukPaket> paketList = mapProdukPaketDao.findAll();
List<Integer> allProdukEntriId = paketList.stream().map(MapProdukPaket::getProdukEntriId) List<Integer> allProdukEntriId = paketList.stream().map(MapProdukPaket::getProdukEntriId)
@ -2162,8 +2163,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
private List<Map<String, Object>> transformPelayananKepalaPaketFixedPay(List<Map<String, Object>> listData) { private List<Map<String, Object>> transformPelayananKepalaPaketFixedPay(List<Map<String, Object>> listData) {
listData.forEach(d -> { listData.forEach(d -> {
if (CommonUtil.isNotNullOrEmpty(d.get("idSayatan"))) if (CommonUtil.isNotNullOrEmpty(d.get("idSayatan")))
d.put("keterangan", "Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) d.put("keterangan", "Diskon sayatan ke-" + d.get("urutanSayatan").toString() + " ("
+ "% komponen tarif, sayatan ke-" + d.get("urutanSayatan").toString()); + d.get("persenSayatan").toString() + "%)");
}); });
listData.forEach(d -> { listData.forEach(d -> {
double hargaJasa = Double.parseDouble(d.get("hargaJasaD").toString()) double hargaJasa = Double.parseDouble(d.get("hargaJasaD").toString())
@ -2255,18 +2256,32 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
String keteranganTambahan = ""; String keteranganTambahan = "";
if (Boolean.parseBoolean(d.get("isSelisihPaket").toString())) { if (Boolean.parseBoolean(d.get("isSelisihPaket").toString())) {
hargaJual -= Double.parseDouble(d.get("hargaDiskon").toString()); hargaJual -= Double.parseDouble(d.get("hargaDiskon").toString());
keteranganTambahan = " dan selisih paket karena diskon " if ("".equals(d.get("keterangan").toString())) {
+ nf.format(Double.parseDouble(d.get("hargaDiskon").toString())); keteranganTambahan = " Diskon selisih paket ("
+ nf.format(Double.parseDouble(d.get("hargaDiskon").toString())) + ")";
} else {
keteranganTambahan = " + diskon selisih paket ("
+ nf.format(Double.parseDouble(d.get("hargaDiskon").toString())) + ")";
}
}
if (Double.parseDouble(d.get("persenDiskonPegawai").toString()) > 0.0) {
if ("".equals(d.get("keterangan").toString())) {
hargaJual -= Double.parseDouble(d.get("hargaDiskon").toString());
keteranganTambahan = " Diskon pegawai (" + d.get("persenDiskonPegawai").toString() + "%)";
} else {
hargaJual -= Double.parseDouble(d.get("hargaDiskon").toString());
keteranganTambahan = " + diskon pegawai (" + d.get("persenDiskonPegawai").toString() + "%)";
}
} }
if (drKsmUmumList.contains(idPegawai) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { if (drKsmUmumList.contains(idPegawai) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenRemunDokterUmumHD / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenRemunDokterUmumHD / 100, hargaJual, d, true);
d.put("persenJasa", persenRemunDokterUmumHD + "%"); d.put("persenJasa", persenRemunDokterUmumHD + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if (terapisRehabMedik.contains(idPegawai)) { } else if (terapisRehabMedik.contains(idPegawai)) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenRemunTerapis / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenRemunTerapis / 100, hargaJual, d, true);
d.put("persenJasa", persenRemunTerapis + "%"); d.put("persenJasa", persenRemunTerapis + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan")))) || (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
@ -2276,8 +2291,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
double persenJasa = persenOperator / 100; double persenJasa = persenOperator / 100;
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasa * persenTarifIBS, hargaJual, d, false); RemunHargaJasaDto hargaJasa = hargaJasa(persenJasa * persenTarifIBS, hargaJual, d, false);
d.put("persenJasa", persenOperator + "%"); d.put("persenJasa", persenOperator + "%");
d.put("keterangan", d.put("keterangan", "Tarif jasa bedah (" + persenTarifJasaBedah + "%) " + keteranganTambahan
"Dari " + persenTarifJasaBedah + "% tarif" + hargaJasa.getKeterangan() + keteranganTambahan); + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan")))) || (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
@ -2287,8 +2302,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
double persenJasa = persenAsistenIBS / 100; double persenJasa = persenAsistenIBS / 100;
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasa * persenTarifIBS, hargaJual, d, false); RemunHargaJasaDto hargaJasa = hargaJasa(persenJasa * persenTarifIBS, hargaJual, d, false);
d.put("persenJasa", persenAsistenIBS + "%"); d.put("persenJasa", persenAsistenIBS + "%");
d.put("keterangan", d.put("keterangan", "Tarif jasa bedah (" + persenTarifJasaBedah + "%) " + keteranganTambahan
"Dari " + persenTarifJasaBedah + "% tarif" + hargaJasa.getKeterangan() + keteranganTambahan); + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan")))) || (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
@ -2298,8 +2313,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
double persenJasa = persenAnestesi / 100; double persenJasa = persenAnestesi / 100;
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasa * persenTarifIBS, hargaJual, d, false); RemunHargaJasaDto hargaJasa = hargaJasa(persenJasa * persenTarifIBS, hargaJual, d, false);
d.put("persenJasa", persenAnestesi + "%"); d.put("persenJasa", persenAnestesi + "%");
d.put("keterangan", d.put("keterangan", "Tarif jasa bedah (" + persenTarifJasaBedah + "%) " + keteranganTambahan
"Dari " + persenTarifJasaBedah + "% tarif" + hargaJasa.getKeterangan() + keteranganTambahan); + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan")))) || (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
@ -2309,10 +2324,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d, (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
false); false);
d.put("persenJasa", persenOperator + "%"); d.put("persenJasa", persenOperator + "%");
d.put("keterangan", d.put("keterangan", "Diskon sayatan ke-" + d.get("urutanSayatan").toString() + " ("
"Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) + "% tarif" + d.get("persenSayatan").toString() + "%) " + keteranganTambahan + hargaJasa.getKeterangan());
+ keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString()
+ hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan")))) || (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
@ -2322,10 +2335,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d, (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
false); false);
d.put("persenJasa", persenAsistenIBS + "%"); d.put("persenJasa", persenAsistenIBS + "%");
d.put("keterangan", d.put("keterangan", "Diskon sayatan ke-" + d.get("urutanSayatan").toString() + " ("
"Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) + "% tarif" + d.get("persenSayatan").toString() + "%) " + keteranganTambahan + hargaJasa.getKeterangan());
+ keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString()
+ hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan")))) || (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
@ -2335,96 +2346,94 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d, (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
false); false);
d.put("persenJasa", persenAnestesi + "%"); d.put("persenJasa", persenAnestesi + "%");
d.put("keterangan", d.put("keterangan", "Diskon sayatan ke-" + d.get("urutanSayatan").toString() + " ("
"Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) + "% tarif" + d.get("persenSayatan").toString() + "%) " + keteranganTambahan + hargaJasa.getKeterangan());
+ keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString()
+ hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan")))) || (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
&& DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenOperator / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenOperator / 100, hargaJual, d, true);
d.put("persenJasa", persenOperator + "%"); d.put("persenJasa", persenOperator + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan")))) || (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
&& ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenAsistenIBS / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenAsistenIBS / 100, hargaJual, d, true);
d.put("persenJasa", persenAsistenIBS + "%"); d.put("persenJasa", persenAsistenIBS + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan")))) || (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
&& DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d, true);
d.put("persenJasa", persenAnestesi + "%"); d.put("persenJasa", persenAnestesi + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if (RADIOLOGI.equals(d.get("idDepartemen"))) { } else if (RADIOLOGI.equals(d.get("idDepartemen"))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenRadiologi / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenRadiologi / 100, hargaJual, d, true);
d.put("persenJasa", persenRadiologi + "%"); d.put("persenJasa", persenRadiologi + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if (REHAB_MEDIK.equals(d.get("idDepartemen"))) { } else if (REHAB_MEDIK.equals(d.get("idDepartemen"))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenRehabMedik / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenRehabMedik / 100, hargaJual, d, true);
d.put("persenJasa", persenRehabMedik + "%"); d.put("persenJasa", persenRehabMedik + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if (KONSULTASI.equals(d.get("idGolonganProduk"))) { } else if (KONSULTASI.equals(d.get("idGolonganProduk"))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenKonsultasi / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenKonsultasi / 100, hargaJual, d, true);
d.put("persenJasa", persenKonsultasi + "%"); d.put("persenJasa", persenKonsultasi + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if (VISIT.equals(d.get("idGolonganProduk"))) { } else if (VISIT.equals(d.get("idGolonganProduk"))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenVisite / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenVisite / 100, hargaJual, d, true);
d.put("persenJasa", persenVisite + "%"); d.put("persenJasa", persenVisite + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if (drAnastesiList.contains(idPegawai) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { } else if (drAnastesiList.contains(idPegawai) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, true);
d.put("persenJasa", persenTindakan + "%"); d.put("persenJasa", persenTindakan + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if (drAnastesiList.contains(idPegawai) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { } else if (drAnastesiList.contains(idPegawai) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d, true);
d.put("persenJasa", persenAnestesi + "%"); d.put("persenJasa", persenAnestesi + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if (drKkGenetika.contains(idPegawai) } else if (drKkGenetika.contains(idPegawai)
&& idsLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString())) && idsLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString()))
&& (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) { && (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenRemunLabGenetika / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenRemunLabGenetika / 100, hargaJual, d, true);
d.put("persenJasa", persenRemunLabGenetika + "%"); d.put("persenJasa", persenRemunLabGenetika + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if (Arrays.asList(GENETIKA).contains(Integer.parseInt(d.get("idRuangan").toString()))) { } else if (Arrays.asList(GENETIKA).contains(Integer.parseInt(d.get("idRuangan").toString()))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenRemunLabGenetika / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenRemunLabGenetika / 100, hargaJual, d, true);
d.put("persenJasa", persenRemunLabGenetika + "%"); d.put("persenJasa", persenRemunLabGenetika + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if (drKkPatologiAnatomiList.contains(idPegawai)) { } else if (drKkPatologiAnatomiList.contains(idPegawai)) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenRemunDokterPA / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenRemunDokterPA / 100, hargaJual, d, true);
d.put("persenJasa", persenRemunDokterPA + "%"); d.put("persenJasa", persenRemunDokterPA + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if (LABORATORIUM.equals(d.get("idDepartemen"))) { } else if (LABORATORIUM.equals(d.get("idDepartemen"))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenLaboratorium / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenLaboratorium / 100, hargaJual, d, true);
d.put("persenJasa", persenLaboratorium + "%"); d.put("persenJasa", persenLaboratorium + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if (CommonUtil.isNotNullOrEmpty(d.get("idRuangan")) } else if (CommonUtil.isNotNullOrEmpty(d.get("idRuangan"))
&& Arrays.asList(ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString()))) { && Arrays.asList(ICU_NICU).contains(Integer.parseInt(d.get("idRuangan").toString()))) {
double persenJasa = persenTindakan / 100; double persenJasa = persenTindakan / 100;
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasa * persenTarifICU, hargaJual, d, false); RemunHargaJasaDto hargaJasa = hargaJasa(persenJasa * persenTarifICU, hargaJual, d, false);
d.put("persenJasa", persenTindakan + "%"); d.put("persenJasa", persenTindakan + "%");
d.put("keterangan", d.put("keterangan", "Tarif jasa ICU (" + persenTarifJasaICU + "%) " + keteranganTambahan
"Dari " + persenTarifJasaICU + "% tarif" + hargaJasa.getKeterangan() + keteranganTambahan); + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else { } else {
RemunHargaJasaDto hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, true);
d.put("persenJasa", persenTindakan + "%"); d.put("persenJasa", persenTindakan + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} }
} }
@ -2644,9 +2653,24 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
String keteranganTambahan = ""; String keteranganTambahan = "";
if (Boolean.parseBoolean(d.get("isSelisihPaket").toString())) { if (Boolean.parseBoolean(d.get("isSelisihPaket").toString())) {
hargaJual -= Double.parseDouble(d.get("hargaDiskon").toString()); hargaJual -= Double.parseDouble(d.get("hargaDiskon").toString());
keteranganTambahan = " dan selisih paket karena diskon " if ("".equals(d.get("keterangan").toString())) {
+ nf.format(Double.parseDouble(d.get("hargaDiskon").toString())); keteranganTambahan = " Diskon selisih paket ("
+ nf.format(Double.parseDouble(d.get("hargaDiskon").toString())) + ")";
} else {
keteranganTambahan = " + diskon selisih paket ("
+ nf.format(Double.parseDouble(d.get("hargaDiskon").toString())) + ")";
}
} }
if (Double.parseDouble(d.get("persenDiskonPegawai").toString()) > 0.0) {
if ("".equals(d.get("keterangan").toString())) {
hargaJual -= Double.parseDouble(d.get("hargaDiskon").toString());
keteranganTambahan = " Diskon pegawai (" + d.get("persenDiskonPegawai").toString() + "%)";
} else {
hargaJual -= Double.parseDouble(d.get("hargaDiskon").toString());
keteranganTambahan = " + diskon pegawai (" + d.get("persenDiskonPegawai").toString() + "%)";
}
}
if (CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien")) if (CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien"))
&& Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))) { && Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenBPJS / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenBPJS / 100, hargaJual, d, true);
@ -2655,7 +2679,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
* dari tarif total * dari tarif total
*/ */
d.put("persenJasa", persenBPJS + "%"); d.put("persenJasa", persenBPJS + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
/* /*
* Set harga jasa klaim jasa ffs pasien bpjs oleh dokter-dokter * Set harga jasa klaim jasa ffs pasien bpjs oleh dokter-dokter
* tertentu * tertentu
@ -2664,12 +2688,12 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
} else if (drKsmUmumList.contains(idPegawai) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { } else if (drKsmUmumList.contains(idPegawai) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasaDokterUmumHD / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenJasaDokterUmumHD / 100, hargaJual, d, true);
d.put("persenJasa", persenJasaDokterUmumHD + "%"); d.put("persenJasa", persenJasaDokterUmumHD + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if (terapisRehabMedik.contains(idPegawai)) { } else if (terapisRehabMedik.contains(idPegawai)) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasaTerapis / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenJasaTerapis / 100, hargaJual, d, true);
d.put("persenJasa", persenJasaTerapis + "%"); d.put("persenJasa", persenJasaTerapis + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan")))) || (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
@ -2679,10 +2703,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d, (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
false); false);
d.put("persenJasa", persenOperator + "%"); d.put("persenJasa", persenOperator + "%");
d.put("keterangan", d.put("keterangan", "Diskon sayatan ke-" + d.get("urutanSayatan").toString() + " ("
"Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) + "% tarif" + d.get("persenSayatan").toString() + "%) " + keteranganTambahan + hargaJasa.getKeterangan());
+ keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString()
+ hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan")))) || (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
@ -2692,10 +2714,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d, (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
false); false);
d.put("persenJasa", persenAsistenIBS + "%"); d.put("persenJasa", persenAsistenIBS + "%");
d.put("keterangan", d.put("keterangan", "Diskon sayatan ke-" + d.get("urutanSayatan").toString() + " ("
"Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) + "% tarif" + d.get("persenSayatan").toString() + "%) " + keteranganTambahan + hargaJasa.getKeterangan());
+ keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString()
+ hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan")))) || (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
@ -2705,88 +2725,86 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d, (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
false); false);
d.put("persenJasa", persenAnestesi + "%"); d.put("persenJasa", persenAnestesi + "%");
d.put("keterangan", d.put("keterangan", "Diskon sayatan ke-" + d.get("urutanSayatan").toString() + " ("
"Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) + "% tarif" + d.get("persenSayatan").toString() + "%) " + keteranganTambahan + hargaJasa.getKeterangan());
+ keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString()
+ hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan")))) || (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
&& DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenOperator / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenOperator / 100, hargaJual, d, true);
d.put("persenJasa", persenOperator + "%"); d.put("persenJasa", persenOperator + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan")))) || (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
&& ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenAsistenIBS / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenAsistenIBS / 100, hargaJual, d, true);
d.put("persenJasa", persenAsistenIBS + "%"); d.put("persenJasa", persenAsistenIBS + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan")))) || (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
&& DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d, true);
d.put("persenJasa", persenAnestesi + "%"); d.put("persenJasa", persenAnestesi + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if (RADIOLOGI.equals(d.get("idDepartemen"))) { } else if (RADIOLOGI.equals(d.get("idDepartemen"))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenRadiologi / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenRadiologi / 100, hargaJual, d, true);
d.put("persenJasa", persenRadiologi + "%"); d.put("persenJasa", persenRadiologi + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if (REHAB_MEDIK.equals(d.get("idDepartemen"))) { } else if (REHAB_MEDIK.equals(d.get("idDepartemen"))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenRehabMedik / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenRehabMedik / 100, hargaJual, d, true);
d.put("persenJasa", persenRehabMedik + "%"); d.put("persenJasa", persenRehabMedik + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if (KONSULTASI.equals(d.get("idGolonganProduk"))) { } else if (KONSULTASI.equals(d.get("idGolonganProduk"))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenKonsultasi / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenKonsultasi / 100, hargaJual, d, true);
d.put("persenJasa", persenKonsultasi + "%"); d.put("persenJasa", persenKonsultasi + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if (VISIT.equals(d.get("idGolonganProduk"))) { } else if (VISIT.equals(d.get("idGolonganProduk"))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenVisite / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenVisite / 100, hargaJual, d, true);
d.put("persenJasa", persenVisite + "%"); d.put("persenJasa", persenVisite + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if (drAnastesiList.contains(idPegawai) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { } else if (drAnastesiList.contains(idPegawai) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, true);
d.put("persenJasa", persenTindakan + "%"); d.put("persenJasa", persenTindakan + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if (drAnastesiList.contains(idPegawai) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { } else if (drAnastesiList.contains(idPegawai) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d, true);
d.put("persenJasa", persenAnestesi + "%"); d.put("persenJasa", persenAnestesi + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if (drKkGenetika.contains(idPegawai) } else if (drKkGenetika.contains(idPegawai)
&& idsLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString())) && idsLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString()))
&& (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) { && (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasaLabGenetika / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenJasaLabGenetika / 100, hargaJual, d, true);
d.put("persenJasa", persenJasaLabGenetika + "%"); d.put("persenJasa", persenJasaLabGenetika + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if (Arrays.asList(GENETIKA).contains(Integer.parseInt(d.get("idRuangan").toString()))) { } else if (Arrays.asList(GENETIKA).contains(Integer.parseInt(d.get("idRuangan").toString()))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasaLabGenetika / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenJasaLabGenetika / 100, hargaJual, d, true);
d.put("persenJasa", persenJasaLabGenetika + "%"); d.put("persenJasa", persenJasaLabGenetika + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if (drKkPatologiAnatomiList.contains(idPegawai)) { } else if (drKkPatologiAnatomiList.contains(idPegawai)) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasaDokterPA / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenJasaDokterPA / 100, hargaJual, d, true);
d.put("persenJasa", persenJasaDokterPA + "%"); d.put("persenJasa", persenJasaDokterPA + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if (LABORATORIUM.equals(d.get("idDepartemen"))) { } else if (LABORATORIUM.equals(d.get("idDepartemen"))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenLaboratorium / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenLaboratorium / 100, hargaJual, d, true);
d.put("persenJasa", persenLaboratorium + "%"); d.put("persenJasa", persenLaboratorium + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else { } else {
RemunHargaJasaDto hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, true);
d.put("persenJasa", persenTindakan + "%"); d.put("persenJasa", persenTindakan + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} }
} }
@ -2914,8 +2932,22 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
String keteranganTambahan = ""; String keteranganTambahan = "";
if (Boolean.parseBoolean(d.get("isSelisihPaket").toString())) { if (Boolean.parseBoolean(d.get("isSelisihPaket").toString())) {
hargaJual -= Double.parseDouble(d.get("hargaDiskon").toString()); hargaJual -= Double.parseDouble(d.get("hargaDiskon").toString());
keteranganTambahan = " dan selisih paket karena diskon " if ("".equals(d.get("keterangan").toString())) {
+ nf.format(Double.parseDouble(d.get("hargaDiskon").toString())); keteranganTambahan = " Diskon selisih paket ("
+ nf.format(Double.parseDouble(d.get("hargaDiskon").toString())) + ")";
} else {
keteranganTambahan = " + diskon selisih paket ("
+ nf.format(Double.parseDouble(d.get("hargaDiskon").toString())) + ")";
}
}
if (Double.parseDouble(d.get("persenDiskonPegawai").toString()) > 0.0) {
if ("".equals(d.get("keterangan").toString())) {
hargaJual -= Double.parseDouble(d.get("hargaDiskon").toString());
keteranganTambahan = " Diskon pegawai (" + d.get("persenDiskonPegawai").toString() + "%)";
} else {
hargaJual -= Double.parseDouble(d.get("hargaDiskon").toString());
keteranganTambahan = " + diskon pegawai (" + d.get("persenDiskonPegawai").toString() + "%)";
}
} }
if (CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien")) if (CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien"))
&& Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))) { && Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))) {
@ -2925,7 +2957,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
* dari tarif total * dari tarif total
*/ */
d.put("persenJasa", persenBPJS + "%"); d.put("persenJasa", persenBPJS + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
/* /*
* Set harga jasa klaim jasa ffs pasien bpjs oleh dokter-dokter * Set harga jasa klaim jasa ffs pasien bpjs oleh dokter-dokter
* tertentu * tertentu
@ -2934,18 +2966,18 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
} else if (drKsmUmumList.contains(idPegawai) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { } else if (drKsmUmumList.contains(idPegawai) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasaDokterUmumHD / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenJasaDokterUmumHD / 100, hargaJual, d, true);
d.put("persenJasa", persenJasaDokterUmumHD + "%"); d.put("persenJasa", persenJasaDokterUmumHD + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if (terapisRehabMedik.contains(idPegawai) && REHAB_MEDIK.equals(d.get("idDepartemen")) } else if (terapisRehabMedik.contains(idPegawai) && REHAB_MEDIK.equals(d.get("idDepartemen"))
&& "Eksekutif".equals(d.get("jenisRuangan"))) { && "Eksekutif".equals(d.get("jenisRuangan"))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasaLuarTerapis / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenJasaLuarTerapis / 100, hargaJual, d, true);
d.put("persenJasa", persenJasaLuarTerapis + "%"); d.put("persenJasa", persenJasaLuarTerapis + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if (terapisRehabMedik.contains(idPegawai)) { } else if (terapisRehabMedik.contains(idPegawai)) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasaTerapis / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenJasaTerapis / 100, hargaJual, d, true);
d.put("persenJasa", persenJasaTerapis + "%"); d.put("persenJasa", persenJasaTerapis + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan")))) || (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
@ -2955,10 +2987,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d, (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
false); false);
d.put("persenJasa", persenOperator + "%"); d.put("persenJasa", persenOperator + "%");
d.put("keterangan", d.put("keterangan", "Diskon sayatan ke-" + d.get("urutanSayatan").toString() + " ("
"Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) + "% tarif" + d.get("persenSayatan").toString() + "%) " + keteranganTambahan + hargaJasa.getKeterangan());
+ keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString()
+ hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan")))) || (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
@ -2968,10 +2998,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d, (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
false); false);
d.put("persenJasa", persenAsistenIBS + "%"); d.put("persenJasa", persenAsistenIBS + "%");
d.put("keterangan", d.put("keterangan", "Diskon sayatan ke-" + d.get("urutanSayatan").toString() + " ("
"Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) + "% tarif" + d.get("persenSayatan").toString() + "%) " + keteranganTambahan + hargaJasa.getKeterangan());
+ keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString()
+ hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan")))) || (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
@ -2981,88 +3009,86 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d, (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
false); false);
d.put("persenJasa", persenAnestesi + "%"); d.put("persenJasa", persenAnestesi + "%");
d.put("keterangan", d.put("keterangan", "Diskon sayatan ke-" + d.get("urutanSayatan").toString() + " ("
"Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) + "% tarif" + d.get("persenSayatan").toString() + "%) " + keteranganTambahan + hargaJasa.getKeterangan());
+ keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString()
+ hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan")))) || (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
&& DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenOperator / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenOperator / 100, hargaJual, d, true);
d.put("persenJasa", persenOperator + "%"); d.put("persenJasa", persenOperator + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan")))) || (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
&& ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenAsistenIBS / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenAsistenIBS / 100, hargaJual, d, true);
d.put("persenJasa", persenAsistenIBS + "%"); d.put("persenJasa", persenAsistenIBS + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan")))) || (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
&& DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d, true);
d.put("persenJasa", persenAnestesi + "%"); d.put("persenJasa", persenAnestesi + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if (RADIOLOGI.equals(d.get("idDepartemen"))) { } else if (RADIOLOGI.equals(d.get("idDepartemen"))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenRadiologi / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenRadiologi / 100, hargaJual, d, true);
d.put("persenJasa", persenRadiologi + "%"); d.put("persenJasa", persenRadiologi + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if (REHAB_MEDIK.equals(d.get("idDepartemen"))) { } else if (REHAB_MEDIK.equals(d.get("idDepartemen"))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenRehabMedik / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenRehabMedik / 100, hargaJual, d, true);
d.put("persenJasa", persenRehabMedik + "%"); d.put("persenJasa", persenRehabMedik + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if (KONSULTASI.equals(d.get("idGolonganProduk"))) { } else if (KONSULTASI.equals(d.get("idGolonganProduk"))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenKonsultasi / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenKonsultasi / 100, hargaJual, d, true);
d.put("persenJasa", persenKonsultasi + "%"); d.put("persenJasa", persenKonsultasi + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if (VISIT.equals(d.get("idGolonganProduk"))) { } else if (VISIT.equals(d.get("idGolonganProduk"))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenVisite / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenVisite / 100, hargaJual, d, true);
d.put("persenJasa", persenVisite + "%"); d.put("persenJasa", persenVisite + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if (drAnastesiList.contains(idPegawai) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { } else if (drAnastesiList.contains(idPegawai) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, true);
d.put("persenJasa", persenTindakan + "%"); d.put("persenJasa", persenTindakan + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if (drAnastesiList.contains(idPegawai) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { } else if (drAnastesiList.contains(idPegawai) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d, true);
d.put("persenJasa", persenAnestesi + "%"); d.put("persenJasa", persenAnestesi + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if (drKkGenetika.contains(idPegawai) } else if (drKkGenetika.contains(idPegawai)
&& idsLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString())) && idsLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString()))
&& (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) { && (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasaLabGenetika / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenJasaLabGenetika / 100, hargaJual, d, true);
d.put("persenJasa", persenJasaLabGenetika + "%"); d.put("persenJasa", persenJasaLabGenetika + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if (Arrays.asList(GENETIKA).contains(Integer.parseInt(d.get("idRuangan").toString()))) { } else if (Arrays.asList(GENETIKA).contains(Integer.parseInt(d.get("idRuangan").toString()))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasaLabGenetika / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenJasaLabGenetika / 100, hargaJual, d, true);
d.put("persenJasa", persenJasaLabGenetika + "%"); d.put("persenJasa", persenJasaLabGenetika + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if (drKkPatologiAnatomiList.contains(idPegawai)) { } else if (drKkPatologiAnatomiList.contains(idPegawai)) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasaDokterPA / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenJasaDokterPA / 100, hargaJual, d, true);
d.put("persenJasa", persenJasaDokterPA + "%"); d.put("persenJasa", persenJasaDokterPA + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if (LABORATORIUM.equals(d.get("idDepartemen"))) { } else if (LABORATORIUM.equals(d.get("idDepartemen"))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenLaboratorium / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenLaboratorium / 100, hargaJual, d, true);
d.put("persenJasa", persenLaboratorium + "%"); d.put("persenJasa", persenLaboratorium + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else { } else {
RemunHargaJasaDto hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, true);
d.put("persenJasa", persenTindakan + "%"); d.put("persenJasa", persenTindakan + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} }
} }
@ -3284,8 +3310,22 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
String keteranganTambahan = ""; String keteranganTambahan = "";
if (Boolean.parseBoolean(d.get("isSelisihPaket").toString())) { if (Boolean.parseBoolean(d.get("isSelisihPaket").toString())) {
hargaJual -= Double.parseDouble(d.get("hargaDiskon").toString()); hargaJual -= Double.parseDouble(d.get("hargaDiskon").toString());
keteranganTambahan = " dan selisih paket karena diskon " if ("".equals(d.get("keterangan").toString())) {
+ nf.format(Double.parseDouble(d.get("hargaDiskon").toString())); keteranganTambahan = " Diskon selisih paket ("
+ nf.format(Double.parseDouble(d.get("hargaDiskon").toString())) + ")";
} else {
keteranganTambahan = " + diskon selisih paket ("
+ nf.format(Double.parseDouble(d.get("hargaDiskon").toString())) + ")";
}
}
if (Double.parseDouble(d.get("persenDiskonPegawai").toString()) > 0.0) {
if ("".equals(d.get("keterangan").toString())) {
hargaJual -= Double.parseDouble(d.get("hargaDiskon").toString());
keteranganTambahan = " Diskon pegawai (" + d.get("persenDiskonPegawai").toString() + "%)";
} else {
hargaJual -= Double.parseDouble(d.get("hargaDiskon").toString());
keteranganTambahan = " + diskon pegawai (" + d.get("persenDiskonPegawai").toString() + "%)";
}
} }
if (CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien")) if (CommonUtil.isNotNullOrEmpty(d.get("idKelompokPasien"))
&& Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))) { && Arrays.asList(KELOMPOK_BPJS).contains(Integer.parseInt(d.get("idKelompokPasien").toString()))) {
@ -3295,7 +3335,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
* dari tarif total * dari tarif total
*/ */
d.put("persenJasa", persenBPJS + "%"); d.put("persenJasa", persenBPJS + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
/* /*
* Set harga jasa klaim jasa ffs pasien bpjs oleh dokter-dokter * Set harga jasa klaim jasa ffs pasien bpjs oleh dokter-dokter
* tertentu * tertentu
@ -3304,7 +3344,7 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
} else if (drKsmUmumList.contains(idPegawai) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { } else if (drKsmUmumList.contains(idPegawai) && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasaDokterUmumHD / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenJasaDokterUmumHD / 100, hargaJual, d, true);
d.put("persenJasa", persenJasaDokterUmumHD + "%"); d.put("persenJasa", persenJasaDokterUmumHD + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan")))) || (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
@ -3314,10 +3354,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d, (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
false); false);
d.put("persenJasa", persenOperatorIBS + "%"); d.put("persenJasa", persenOperatorIBS + "%");
d.put("keterangan", d.put("keterangan", "Diskon sayatan ke-" + d.get("urutanSayatan").toString() + " ("
"Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) + "% tarif" + d.get("persenSayatan").toString() + "%) " + keteranganTambahan + hargaJasa.getKeterangan());
+ keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString()
+ hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan")))) || (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
@ -3327,10 +3365,8 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d, (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
false); false);
d.put("persenJasa", persenAsistenIBS + "%"); d.put("persenJasa", persenAsistenIBS + "%");
d.put("keterangan", d.put("keterangan", "Diskon sayatan ke-" + d.get("urutanSayatan").toString() + " ("
"Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) + "% tarif" + d.get("persenSayatan").toString() + "%) " + keteranganTambahan + hargaJasa.getKeterangan());
+ keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString()
+ hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan")))) || (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
@ -3340,94 +3376,92 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
(hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d, (hargaJual - (Double.parseDouble(d.get("persenSayatan").toString()) / 100 * hargaJual)), d,
false); false);
d.put("persenJasa", persenAnestesi + "%"); d.put("persenJasa", persenAnestesi + "%");
d.put("keterangan", d.put("keterangan", "Diskon sayatan ke-" + d.get("urutanSayatan").toString() + " ("
"Dari " + (100.0 - Double.parseDouble(d.get("persenSayatan").toString())) + "% tarif" + d.get("persenSayatan").toString() + "%) " + keteranganTambahan + hargaJasa.getKeterangan());
+ keteranganTambahan + ", sayatan ke-" + d.get("urutanSayatan").toString()
+ hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan")))) || (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
&& DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenOperatorIBS / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenOperatorIBS / 100, hargaJual, d, true);
d.put("persenJasa", persenOperatorIBS + "%"); d.put("persenJasa", persenOperatorIBS + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan")))) || (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
&& ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) { && ASISTEN_SPESIALIS.equals(d.get("idJenisPelaksana"))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenAsistenIBS / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenAsistenIBS / 100, hargaJual, d, true);
d.put("persenJasa", persenAsistenIBS + "%"); d.put("persenJasa", persenAsistenIBS + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen")) } else if ((BEDAH_SENTRAL.equals(d.get("idDepartemen"))
|| (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan")))) || (RADIOLOGI.equals(d.get("idDepartemen")) && CATHLAB.equals(d.get("idRuangan"))))
&& DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d, true);
d.put("persenJasa", persenAnestesi + "%"); d.put("persenJasa", persenAnestesi + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if (RADIOLOGI.equals(d.get("idDepartemen"))) { } else if (RADIOLOGI.equals(d.get("idDepartemen"))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenRadiologi / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenRadiologi / 100, hargaJual, d, true);
d.put("persenJasa", persenRadiologi + "%"); d.put("persenJasa", persenRadiologi + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if (terapisRehabMedik.contains(idPegawai) && REHAB_MEDIK.equals(d.get("idDepartemen")) } else if (terapisRehabMedik.contains(idPegawai) && REHAB_MEDIK.equals(d.get("idDepartemen"))
&& "Eksekutif".equals(d.get("jenisRuangan"))) { && "Eksekutif".equals(d.get("jenisRuangan"))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasaTerapis / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenJasaTerapis / 100, hargaJual, d, true);
d.put("persenJasa", persenJasaTerapis + "%"); d.put("persenJasa", persenJasaTerapis + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if (REHAB_MEDIK.equals(d.get("idDepartemen"))) { } else if (REHAB_MEDIK.equals(d.get("idDepartemen"))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenRehabMedik / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenRehabMedik / 100, hargaJual, d, true);
d.put("persenJasa", persenRehabMedik + "%"); d.put("persenJasa", persenRehabMedik + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if (KONSULTASI.equals(d.get("idGolonganProduk"))) { } else if (KONSULTASI.equals(d.get("idGolonganProduk"))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenKonsultasi / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenKonsultasi / 100, hargaJual, d, true);
d.put("persenJasa", persenKonsultasi + "%"); d.put("persenJasa", persenKonsultasi + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if (VISIT.equals(d.get("idGolonganProduk"))) { } else if (VISIT.equals(d.get("idGolonganProduk"))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenVisite / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenVisite / 100, hargaJual, d, true);
d.put("persenJasa", persenVisite + "%"); d.put("persenJasa", persenVisite + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if (drAnastesiList.contains(idPegawai) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) { } else if (drAnastesiList.contains(idPegawai) && DOKTER_PEMERIKSA.equals(d.get("idJenisPelaksana"))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, true);
d.put("persenJasa", persenTindakan + "%"); d.put("persenJasa", persenTindakan + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if (drAnastesiList.contains(idPegawai) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) { } else if (drAnastesiList.contains(idPegawai) && DOKTER_ANASTESI.equals(d.get("idJenisPelaksana"))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenAnestesi / 100, hargaJual, d, true);
d.put("persenJasa", persenAnestesi + "%"); d.put("persenJasa", persenAnestesi + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if (drKkGenetika.contains(idPegawai) } else if (drKkGenetika.contains(idPegawai)
&& idsLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString())) && idsLabGenetikaLuarRuangan.contains(Integer.parseInt(d.get("idProduk").toString()))
&& (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) { && (date.before(new Date(1690822799000L)) || date.equals(new Date(1690822799000L)))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasaLabGenetika / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenJasaLabGenetika / 100, hargaJual, d, true);
d.put("persenJasa", persenJasaLabGenetika + "%"); d.put("persenJasa", persenJasaLabGenetika + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if (Arrays.asList(GENETIKA).contains(Integer.parseInt(d.get("idRuangan").toString()))) { } else if (Arrays.asList(GENETIKA).contains(Integer.parseInt(d.get("idRuangan").toString()))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasaLabGenetika / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenJasaLabGenetika / 100, hargaJual, d, true);
d.put("persenJasa", persenJasaLabGenetika + "%"); d.put("persenJasa", persenJasaLabGenetika + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if (drKkPatologiAnatomiList.contains(idPegawai)) { } else if (drKkPatologiAnatomiList.contains(idPegawai)) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenJasaDokterPA / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenJasaDokterPA / 100, hargaJual, d, true);
d.put("persenJasa", persenJasaDokterPA + "%"); d.put("persenJasa", persenJasaDokterPA + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else if (LABORATORIUM.equals(d.get("idDepartemen"))) { } else if (LABORATORIUM.equals(d.get("idDepartemen"))) {
RemunHargaJasaDto hargaJasa = hargaJasa(persenLaboratorium / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenLaboratorium / 100, hargaJual, d, true);
d.put("persenJasa", persenLaboratorium + "%"); d.put("persenJasa", persenLaboratorium + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} else { } else {
RemunHargaJasaDto hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, true); RemunHargaJasaDto hargaJasa = hargaJasa(persenTindakan / 100, hargaJual, d, true);
d.put("persenJasa", persenTindakan + "%"); d.put("persenJasa", persenTindakan + "%");
d.put("keterangan", hargaJasa.getKeterangan()); d.put("keterangan", keteranganTambahan + hargaJasa.getKeterangan());
d.put("hargaJasa", hargaJasa.getNilai()); d.put("hargaJasa", hargaJasa.getNilai());
} }
} }
@ -4367,9 +4401,9 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
if (KLINIK_KARYAWAN.equals(d.get("idRuangan")) || KLINIK_GIGI_KARYAWAN.equals(d.get("idRuangan"))) { if (KLINIK_KARYAWAN.equals(d.get("idRuangan")) || KLINIK_GIGI_KARYAWAN.equals(d.get("idRuangan"))) {
builder.nilai(0.0); builder.nilai(0.0);
if (isFrontNote) { if (isFrontNote) {
builder.keterangan("Dari diskon klinik karyawan/klinik gigi karyawan"); builder.keterangan("Diskon klinik karyawan/klinik gigi karyawan (100%)");
} else { } else {
builder.keterangan(" dan dari diskon klinik karyawan/klinik gigi karyawan"); builder.keterangan(" + diskon klinik karyawan/klinik gigi karyawan (100%)");
} }
return builder.build(); return builder.build();
} }
@ -4412,7 +4446,10 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
totalDiskon += totalDiskonAn - (totalPersenDiskonSayatanAn * totalHargaAn / 100); totalDiskon += totalDiskonAn - (totalPersenDiskonSayatanAn * totalHargaAn / 100);
double hargaJualSetelahDiskon = hargaJual - totalDiskon; double hargaJualSetelahDiskon = hargaJual - totalDiskon;
double hargaJasa = persenRemunerasi * hargaJualSetelahDiskon; double hargaJasa = persenRemunerasi * hargaJualSetelahDiskon;
if (CommonUtil.isNotNullOrEmpty(d.get("persenDiskonD")) if (CommonUtil.isNotNullOrEmpty(d.get("persenDiskonPegawai"))) {
builder.nilai(persenRemunerasi * hargaJual);
builder.keterangan("");
} else if (CommonUtil.isNotNullOrEmpty(d.get("persenDiskonD"))
&& Double.parseDouble(d.get("persenDiskonD").toString()) > 0.0 && Double.parseDouble(d.get("persenDiskonD").toString()) > 0.0
&& CommonUtil.isNotNullOrEmpty(d.get("diskonD")) && CommonUtil.isNotNullOrEmpty(d.get("diskonD"))
&& Double.parseDouble(d.get("diskonD").toString()) >= 0.0 && Double.parseDouble(d.get("diskonD").toString()) >= 0.0
@ -4443,19 +4480,15 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
double hargaJasaRemun = hargaJasaOperator + hargaJasaAsisten + hargaJasaAnestesi; double hargaJasaRemun = hargaJasaOperator + hargaJasaAsisten + hargaJasaAnestesi;
builder.nilai(hargaJasaRemun); builder.nilai(hargaJasaRemun);
if (isFrontNote) { if (isFrontNote) {
builder.keterangan("Dari pengurangan tarif dengan diskon " + nf.format(totalDiskon) builder.keterangan("Total diskon jasa (" + nf.format(totalDiskon) + ") + diskon jasa operator ("
+ " terlebih dahulu dan diakhiri dengan pengalian " + persenRemunOperator + d.get("persenDiskonD").toString() + "%) + diskon jasa asisten ("
+ "% ditambah pengalian " + persenRemunAsisten + "% ditambah pengalian " + persenRemunAnestesi + d.get("persenDiskonAs").toString() + "%) + diskon jasa anestesi ("
+ "% karena diskon komponen operator, asisten, dan anestesi berturut-turut " + d.get("persenDiskonAn").toString() + "%)");
+ d.get("persenDiskonD").toString() + "%, " + d.get("persenDiskonAs").toString() + "%, dan "
+ d.get("persenDiskonAn").toString() + "%");
} else { } else {
builder.keterangan(" dan dari pengurangan tarif dengan diskon " + nf.format(totalDiskon) builder.keterangan(" + total diskon jasa (" + nf.format(totalDiskon) + ") + diskon jasa operator ("
+ " terlebih dahulu dan diakhiri dengan pengalian " + persenRemunOperator + d.get("persenDiskonD").toString() + "%) + diskon jasa asisten ("
+ "% ditambah pengalian " + persenRemunAsisten + "% ditambah pengalian " + persenRemunAnestesi + d.get("persenDiskonAs").toString() + "%) + diskon jasa anestesi ("
+ "% karena diskon komponen operator, asisten, dan anestesi berturut-turut " + d.get("persenDiskonAn").toString() + "%)");
+ d.get("persenDiskonD").toString() + "%, " + d.get("persenDiskonAs").toString() + "%, dan "
+ d.get("persenDiskonAn").toString() + "%");
} }
} else if (CommonUtil.isNotNullOrEmpty(d.get("persenDiskonD")) } else if (CommonUtil.isNotNullOrEmpty(d.get("persenDiskonD"))
&& Double.parseDouble(d.get("persenDiskonD").toString()) > 0.0 && Double.parseDouble(d.get("persenDiskonD").toString()) > 0.0
@ -4483,17 +4516,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
double hargaJasaRemun = hargaJasaOperator + hargaJasaAsisten; double hargaJasaRemun = hargaJasaOperator + hargaJasaAsisten;
builder.nilai(hargaJasaRemun); builder.nilai(hargaJasaRemun);
if (isFrontNote) { if (isFrontNote) {
builder.keterangan("Dari pengurangan tarif dengan diskon " + nf.format(totalDiskon) builder.keterangan("Total diskon jasa (" + nf.format(totalDiskon) + ") + diskon jasa operator ("
+ " terlebih dahulu dan diakhiri dengan pengalian " + persenRemunOperator + d.get("persenDiskonD").toString() + "%) + diskon jasa asisten ("
+ "% ditambah pengalian " + persenRemunAsisten + d.get("persenDiskonAs").toString() + "%)");
+ "% karena diskon komponen operator dan asisten berturut-turut "
+ d.get("persenDiskonD").toString() + "% dan " + d.get("persenDiskonAs").toString() + "%");
} else { } else {
builder.keterangan(" dan dari pengurangan tarif dengan diskon " + nf.format(totalDiskon) builder.keterangan(" + total diskon jasa (" + nf.format(totalDiskon) + ") + diskon jasa operator ("
+ " terlebih dahulu dan diakhiri dengan pengalian " + persenRemunOperator + d.get("persenDiskonD").toString() + "%) + diskon jasa asisten ("
+ "% ditambah pengalian " + persenRemunAsisten + d.get("persenDiskonAs").toString() + "%)");
+ "% karena diskon komponen operator dan asisten berturut-turut "
+ d.get("persenDiskonD").toString() + "% dan " + d.get("persenDiskonAs").toString() + "%");
} }
} else if (CommonUtil.isNotNullOrEmpty(d.get("persenDiskonD")) } else if (CommonUtil.isNotNullOrEmpty(d.get("persenDiskonD"))
&& Double.parseDouble(d.get("persenDiskonD").toString()) > 0.0 && Double.parseDouble(d.get("persenDiskonD").toString()) > 0.0
@ -4521,17 +4550,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
double hargaJasaRemun = hargaJasaOperator + hargaJasaAnestesi; double hargaJasaRemun = hargaJasaOperator + hargaJasaAnestesi;
builder.nilai(hargaJasaRemun); builder.nilai(hargaJasaRemun);
if (isFrontNote) { if (isFrontNote) {
builder.keterangan("Dari pengurangan tarif dengan diskon " + nf.format(totalDiskon) builder.keterangan("Total diskon jasa (" + nf.format(totalDiskon) + ") + diskon jasa operator ("
+ " terlebih dahulu dan diakhiri dengan pengalian " + persenRemunOperator + d.get("persenDiskonD").toString() + "%) + diskon jasa anestesi ("
+ "% ditambah pengalian " + persenRemunAnestesi + d.get("persenDiskonAn").toString() + "%)");
+ "% karena diskon komponen operator dan anestesi berturut-turut "
+ d.get("persenDiskonD").toString() + "% dan " + d.get("persenDiskonAn").toString() + "%");
} else { } else {
builder.keterangan(" dan dari pengurangan tarif dengan diskon " + nf.format(totalDiskon) builder.keterangan(" + total diskon jasa (" + nf.format(totalDiskon) + ") + diskon jasa operator ("
+ " terlebih dahulu dan diakhiri dengan pengalian " + persenRemunOperator + d.get("persenDiskonD").toString() + "%) + diskon jasa anestesi ("
+ "% ditambah pengalian " + persenRemunAnestesi + d.get("persenDiskonAn").toString() + "%)");
+ "% karena diskon komponen operator dan anestesi berturut-turut "
+ d.get("persenDiskonD").toString() + "% dan " + d.get("persenDiskonAn").toString() + "%");
} }
} else if (CommonUtil.isNotNullOrEmpty(d.get("persenDiskonAs")) } else if (CommonUtil.isNotNullOrEmpty(d.get("persenDiskonAs"))
&& Double.parseDouble(d.get("persenDiskonAs").toString()) > 0.0 && Double.parseDouble(d.get("persenDiskonAs").toString()) > 0.0
@ -4559,17 +4584,13 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
double hargaJasaRemun = hargaJasaAsisten + hargaJasaAnestesi; double hargaJasaRemun = hargaJasaAsisten + hargaJasaAnestesi;
builder.nilai(hargaJasaRemun); builder.nilai(hargaJasaRemun);
if (isFrontNote) { if (isFrontNote) {
builder.keterangan("Dari pengurangan tarif dengan diskon " + nf.format(totalDiskon) builder.keterangan("Total diskon jasa (" + nf.format(totalDiskon) + ") + diskon jasa asisten ("
+ " terlebih dahulu dan diakhiri dengan pengalian " + persenRemunAsisten + d.get("persenDiskonAs").toString() + "%) + diskon jasa anestesi ("
+ "% ditambah pengalian " + persenRemunAnestesi + d.get("persenDiskonAn").toString() + "%)");
+ "% karena diskon komponen asisten dan anestesi berturut-turut "
+ d.get("persenDiskonAs").toString() + "% dan " + d.get("persenDiskonAn").toString() + "%");
} else { } else {
builder.keterangan(" dan dari pengurangan tarif dengan diskon " + nf.format(totalDiskon) builder.keterangan(" + total diskon jasa (" + nf.format(totalDiskon) + ") + diskon jasa asisten ("
+ " terlebih dahulu dan diakhiri dengan pengalian " + persenRemunAsisten + d.get("persenDiskonAs").toString() + "%) + diskon jasa anestesi ("
+ "% ditambah pengalian " + persenRemunAnestesi + d.get("persenDiskonAn").toString() + "%)");
+ "% karena diskon komponen asisten dan anestesi berturut-turut "
+ d.get("persenDiskonAs").toString() + "% dan " + d.get("persenDiskonAn").toString() + "%");
} }
} else if (CommonUtil.isNotNullOrEmpty(d.get("persenDiskonD")) } else if (CommonUtil.isNotNullOrEmpty(d.get("persenDiskonD"))
&& Double.parseDouble(d.get("persenDiskonD").toString()) > 0.0 && Double.parseDouble(d.get("persenDiskonD").toString()) > 0.0
@ -4590,13 +4611,11 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
? Double.parseDouble(d.get("persenDiskonD").toString()) : 0.0); ? Double.parseDouble(d.get("persenDiskonD").toString()) : 0.0);
builder.nilai(persenRemunOperator * hargaJasa / 100); builder.nilai(persenRemunOperator * hargaJasa / 100);
if (isFrontNote) { if (isFrontNote) {
builder.keterangan("Dari pengurangan tarif dengan diskon " + nf.format(totalDiskon) builder.keterangan("Total diskon jasa (" + nf.format(totalDiskon) + ") + diskon jasa operator ("
+ " terlebih dahulu dan diakhiri dengan pengalian " + persenRemunOperator + d.get("persenDiskonD").toString() + "%)");
+ "% karena diskon komponen operator " + d.get("persenDiskonD").toString() + "%");
} else { } else {
builder.keterangan(" dan dari pengurangan tarif dengan diskon " + nf.format(totalDiskon) builder.keterangan(" + total diskon jasa (" + nf.format(totalDiskon) + ") + diskon jasa operator ("
+ " terlebih dahulu dan diakhiri dengan pengalian " + persenRemunOperator + d.get("persenDiskonD").toString() + "%)");
+ "% karena diskon komponen operator " + d.get("persenDiskonD").toString() + "%");
} }
} else if (CommonUtil.isNotNullOrEmpty(d.get("persenDiskonAs")) } else if (CommonUtil.isNotNullOrEmpty(d.get("persenDiskonAs"))
&& Double.parseDouble(d.get("persenDiskonAs").toString()) > 0.0 && Double.parseDouble(d.get("persenDiskonAs").toString()) > 0.0
@ -4617,13 +4636,11 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
? Double.parseDouble(d.get("persenDiskonAs").toString()) : 0.0); ? Double.parseDouble(d.get("persenDiskonAs").toString()) : 0.0);
builder.nilai(persenRemunAsisten * hargaJasa / 100); builder.nilai(persenRemunAsisten * hargaJasa / 100);
if (isFrontNote) { if (isFrontNote) {
builder.keterangan("Dari pengurangan tarif dengan diskon " + nf.format(totalDiskon) builder.keterangan("Total diskon jasa (" + nf.format(totalDiskon) + ") + diskon jasa asisten ("
+ " terlebih dahulu dan diakhiri dengan pengalian " + persenRemunAsisten + d.get("persenDiskonAs").toString() + "%)");
+ "% karena diskon komponen asisten " + d.get("persenDiskonAs").toString() + "%");
} else { } else {
builder.keterangan(" dan dari pengurangan tarif dengan diskon " + nf.format(totalDiskon) builder.keterangan(" + total diskon jasa (" + nf.format(totalDiskon) + ") + diskon jasa asisten ("
+ " terlebih dahulu dan diakhiri dengan pengalian " + persenRemunAsisten + d.get("persenDiskonAs").toString() + "%)");
+ "% karena diskon komponen asisten " + d.get("persenDiskonAs").toString() + "%");
} }
} else if (CommonUtil.isNotNullOrEmpty(d.get("persenDiskonAn")) } else if (CommonUtil.isNotNullOrEmpty(d.get("persenDiskonAn"))
&& Double.parseDouble(d.get("persenDiskonAn").toString()) > 0.0 && Double.parseDouble(d.get("persenDiskonAn").toString()) > 0.0
@ -4644,19 +4661,16 @@ public class PelayananPasienServiceImpl extends BaseVoServiceImpl implements Pel
? Double.parseDouble(d.get("persenDiskonAn").toString()) : 0.0); ? Double.parseDouble(d.get("persenDiskonAn").toString()) : 0.0);
builder.nilai(persenRemunAnestesi * hargaJasa / 100); builder.nilai(persenRemunAnestesi * hargaJasa / 100);
if (isFrontNote) { if (isFrontNote) {
builder.keterangan("Dari pengurangan tarif dengan diskon " + nf.format(totalDiskon) builder.keterangan("Total diskon jasa (" + nf.format(totalDiskon) + ") + diskon jasa anestesi ("
+ " terlebih dahulu dan diakhiri dengan pengalian " + persenRemunAnestesi + d.get("persenDiskonAn").toString() + "%)");
+ "% karena diskon komponen anestesi " + d.get("persenDiskonAn").toString() + "%");
} else { } else {
builder.keterangan(" dan dari pengurangan tarif dengan diskon " + nf.format(totalDiskon) builder.keterangan(" + total diskon jasa (" + nf.format(totalDiskon) + ") + diskon jasa anestesi ("
+ " terlebih dahulu dan diakhiri dengan pengalian " + persenRemunAnestesi + d.get("persenDiskonAn").toString() + "%)");
+ "% karena diskon komponen anestesi " + d.get("persenDiskonAn").toString() + "%");
} }
} else { } else {
builder.nilai(persenRemunerasi * hargaJualSetelahDiskon); builder.nilai(persenRemunerasi * hargaJualSetelahDiskon);
if (totalDiskon > 0.0) { if (totalDiskon > 0.0) {
builder.keterangan( builder.keterangan(" + total diskon jasa (" + nf.format(totalDiskon) + ")");
" dan dari pengurangan tarif dengan diskon " + nf.format(totalDiskon) + " terlebih dahulu");
} else { } else {
builder.keterangan(""); builder.keterangan("");
} }

View File

@ -2,8 +2,8 @@ jdbc.driver = org.postgresql.Driver
hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect
hibernate.hbm2ddl = none hibernate.hbm2ddl = none
hibernate.format_sql = true hibernate.format_sql = false
hibernate.show_sql = true hibernate.show_sql = false
hikari.config.maximum.pool.size = 5 hikari.config.maximum.pool.size = 5

View File

@ -1,214 +0,0 @@
package com.jasamedika.medifirst2000.task.schedule;
import com.jasamedika.medifirst2000.dao.*;
import com.jasamedika.medifirst2000.entities.KelompokPasien;
import com.jasamedika.medifirst2000.entities.Pegawai;
import com.jasamedika.medifirst2000.entities.RekapLogbookDokter;
import com.jasamedika.medifirst2000.service.LogbookRemunService;
import com.jasamedika.medifirst2000.service.PelayananPasienService;
import com.jasamedika.medifirst2000.service.RekapLogbookDokterService;
import com.jasamedika.medifirst2000.service.RemunerasiService;
import com.jasamedika.medifirst2000.util.DateUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.YearMonth;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.*;
/**
* @author salmanoe
* @version 1.0.0
* @since 07/11/2023
*/
@Component
public class LogbookTask {
private static final Logger LOGGER = LoggerFactory.getLogger(LogbookTask.class);
@Autowired
private PelayananPasienPetugasDao pelayananPasienPetugasDao;
@Autowired
private RekapLogbookDokterDao rekapLogbookDokterDao;
@Autowired
private PelayananPasienService pelayananPasienService;
@Autowired
private RemunerasiService remunerasiService;
@Autowired
private RekapLogbookDokterService rekapLogbookDokterService;
@Autowired
private LogbookRemunService logbookRemunService;
@Scheduled(cron = "0 0 0 1-6 * ?")
public void saveRekapLogbookDokter() {
LOGGER.info("Start simpan rekapitulasi logbook dokter");
LocalDate localDate = LocalDate.now().minusMonths(1);
Date date = Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).toInstant());
Date tglAwal = DateUtil.startMonth(date);
Date tglAkhir = DateUtil.endMonth(date);
{
// Delete untuk pembaharuan data
rekapLogbookDokterService.deleteByPeriod(tglAwal, tglAkhir);
}
Set<Integer> idPegawaiByTglPelayanan = pelayananPasienPetugasDao.findPegawaiByTglPelayanan(tglAwal, tglAkhir);
DateFormat df = new SimpleDateFormat("yyyy-MM");
String bulan = df.format(date);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM");
YearMonth oct24 = YearMonth.parse("2024-10", formatter);
YearMonth month = YearMonth.parse(bulan, formatter);
List<RekapLogbookDokter> models = new ArrayList<>();
idPegawaiByTglPelayanan.forEach(idPegawai -> {
{
Map<String, Object> kinerjaDokter;
if (month.isBefore(oct24)) {
kinerjaDokter = pelayananPasienService.logbookRemunTarifDokter(idPegawai, bulan, null);
} else {
kinerjaDokter = remunerasiService.logbookRemunTarifDokter(idPegawai, bulan, null);
}
List<Map<String, Object>> remun = (List<Map<String, Object>>) kinerjaDokter.get("data");
List<Integer> listIdKelompokPasien = new ArrayList<>();
remun.forEach(r -> {
if (!listIdKelompokPasien.contains(Integer.parseInt(r.get("idKelompokPasien").toString())))
listIdKelompokPasien.add(Integer.parseInt(r.get("idKelompokPasien").toString()));
});
listIdKelompokPasien.forEach(idKelompokPasien -> {
double jumlah = remun.stream().filter(r -> idKelompokPasien.equals(r.get("idKelompokPasien")))
.mapToDouble(r -> Double.parseDouble(r.get("jumlah").toString())).sum();
double hargaJasa = remun.stream().filter(r -> idKelompokPasien.equals(r.get("idKelompokPasien")))
.mapToDouble(r -> Double.parseDouble(r.get("jumlahHargaJasa").toString())).sum();
RekapLogbookDokter rekapLogbookDokter = new RekapLogbookDokter();
rekapLogbookDokter.setKdProfile((short) 0);
rekapLogbookDokter.setStatusEnabled(true);
Pegawai pegawai = new Pegawai();
pegawai.setId(idPegawai);
rekapLogbookDokter.setPegawai(pegawai);
rekapLogbookDokter.setJenisLogbook("JKN");
KelompokPasien kelompokPasien = new KelompokPasien();
kelompokPasien.setId(idKelompokPasien);
rekapLogbookDokter.setKelompokPasien(kelompokPasien);
rekapLogbookDokter.setBulan(date);
rekapLogbookDokter.setJumlah(jumlah);
rekapLogbookDokter.setCapaian(hargaJasa);
models.add(rekapLogbookDokter);
});
}
{
List<Map<String, Object>> ffs;
if (month.isBefore(oct24)) {
ffs = pelayananPasienService.logbookFfsTarifDokter(idPegawai, bulan, null);
} else {
ffs = remunerasiService.logbookFfsTarifDokter(idPegawai, bulan, null);
}
List<String> listJenisRuangan = new ArrayList<>();
List<Integer> listIdKelompokPasien = new ArrayList<>();
ffs.forEach(r -> {
if (!listJenisRuangan.contains(r.get("jenisRuangan").toString()))
listJenisRuangan.add(r.get("jenisRuangan").toString());
if (!listIdKelompokPasien.contains(Integer.parseInt(r.get("idKelompokPasien").toString())))
listIdKelompokPasien.add(Integer.parseInt(r.get("idKelompokPasien").toString()));
});
listJenisRuangan.forEach(jenisRuangan -> listIdKelompokPasien.forEach(idKelompokPasien -> {
double jumlah = ffs.stream()
.filter(r -> jenisRuangan.equals(r.get("jenisRuangan"))
&& idKelompokPasien.equals(r.get("idKelompokPasien")))
.mapToDouble(r -> Double.parseDouble(r.get("jumlah").toString())).sum();
double hargaJasa = ffs.stream()
.filter(r -> jenisRuangan.equals(r.get("jenisRuangan"))
&& idKelompokPasien.equals(r.get("idKelompokPasien")))
.mapToDouble(r -> Double.parseDouble(r.get("jumlahHargaJasa").toString())).sum();
RekapLogbookDokter rekapLogbookDokter = new RekapLogbookDokter();
rekapLogbookDokter.setKdProfile((short) 0);
rekapLogbookDokter.setStatusEnabled(true);
Pegawai pegawai = new Pegawai();
pegawai.setId(idPegawai);
rekapLogbookDokter.setPegawai(pegawai);
rekapLogbookDokter.setJenisLogbook("NON_JKN");
rekapLogbookDokter.setJenisRuangan(jenisRuangan);
KelompokPasien kelompokPasien = new KelompokPasien();
kelompokPasien.setId(idKelompokPasien);
rekapLogbookDokter.setKelompokPasien(kelompokPasien);
rekapLogbookDokter.setBulan(date);
rekapLogbookDokter.setJumlah(jumlah);
rekapLogbookDokter.setCapaian(hargaJasa);
models.add(rekapLogbookDokter);
}));
}
{
List<Map<String, Object>> fixedPay;
if (month.isBefore(oct24)) {
fixedPay = pelayananPasienService.logbookFixedPayDokter(idPegawai, bulan, null);
} else {
fixedPay = remunerasiService.logbookFixedPayDokter(idPegawai, bulan, null);
}
List<String> listJenisRuangan = new ArrayList<>();
List<Integer> listIdKelompokPasien = new ArrayList<>();
List<String> listBulanIbuPulangRanap = new ArrayList<>();
fixedPay.forEach(r -> {
if (!listJenisRuangan.contains(r.get("jenisRuangan").toString()))
listJenisRuangan.add(r.get("jenisRuangan").toString());
if (!listIdKelompokPasien.contains(Integer.parseInt(r.get("idKelompokPasien").toString())))
listIdKelompokPasien.add(Integer.parseInt(r.get("idKelompokPasien").toString()));
if (!listBulanIbuPulangRanap.contains(r.get("bulanPulangIbu").toString()))
listBulanIbuPulangRanap.add(r.get("bulanPulangIbu").toString());
});
listJenisRuangan.forEach(jenisRuangan -> listIdKelompokPasien
.forEach(idKelompokPasien -> listBulanIbuPulangRanap.forEach(bulanIbuPulangRanap -> {
double jumlah = fixedPay.stream()
.filter(r -> jenisRuangan.equals(r.get("jenisRuangan"))
&& idKelompokPasien.equals(r.get("idKelompokPasien"))
&& bulanIbuPulangRanap.equals(r.get("bulanPulangIbu")))
.mapToDouble(r -> Double.parseDouble(r.get("jumlah").toString())).sum();
double hargaJasa = fixedPay.stream()
.filter(r -> jenisRuangan.equals(r.get("jenisRuangan"))
&& idKelompokPasien.equals(r.get("idKelompokPasien"))
&& bulanIbuPulangRanap.equals(r.get("bulanPulangIbu")))
.mapToDouble(r -> Double.parseDouble(r.get("jumlahHargaJasa").toString())).sum();
RekapLogbookDokter rekapLogbookDokter = new RekapLogbookDokter();
rekapLogbookDokter.setKdProfile((short) 0);
rekapLogbookDokter.setStatusEnabled(true);
Pegawai pegawai = new Pegawai();
pegawai.setId(idPegawai);
rekapLogbookDokter.setPegawai(pegawai);
rekapLogbookDokter.setJenisLogbook("FIXED_PAY");
rekapLogbookDokter.setJenisRuangan(jenisRuangan);
KelompokPasien kelompokPasien = new KelompokPasien();
kelompokPasien.setId(idKelompokPasien);
rekapLogbookDokter.setKelompokPasien(kelompokPasien);
rekapLogbookDokter.setBulanPulangIbu(bulanIbuPulangRanap);
rekapLogbookDokter.setBulan(date);
rekapLogbookDokter.setJumlah(jumlah);
rekapLogbookDokter.setCapaian(hargaJasa);
models.add(rekapLogbookDokter);
})));
}
});
rekapLogbookDokterDao.save(models);
LOGGER.info("Simpan rekapitulasi logbook dokter berhasil...!");
}
/*
@Scheduled(cron = "0 0 0 1-6 * ?")
public void saveRekapDetailLogbookDokter() {
logbookRemunService.generateRecap();
}
*/
@Scheduled(cron = "0 15 0 4-5 * ?")
public void saveRekapDetailLogbookDokter() {
logbookRemunService.generateRecap(null);
}
}

View File

@ -1,135 +0,0 @@
package com.jasamedika.medifirst2000.task.schedule;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.jasamedika.medifirst2000.dao.PasienDao;
import com.jasamedika.medifirst2000.dto.PesertaBpjsDto;
import com.jasamedika.medifirst2000.entities.Pasien;
import com.jasamedika.medifirst2000.util.CommonUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpEntity;
import org.springframework.http.ResponseEntity;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.client.RestTemplate;
import java.net.URI;
import java.time.LocalDateTime;
import java.util.*;
import java.util.stream.Collectors;
import static org.springframework.http.HttpMethod.GET;
import static org.springframework.http.HttpStatus.CREATED;
import static org.springframework.http.HttpStatus.OK;
/**
* @author salmanoe
* @version 1.0.0
* @since 11/10/2023
*/
@Component
public class PasienTask {
private static final Logger LOGGER = LoggerFactory.getLogger(PasienTask.class);
@Autowired
private ObjectMapper objectMapper;
@Autowired
private RestTemplate restTemplate;
@Autowired
private PasienDao pasienDao;
@Scheduled(cron = "0 0 0 * * *")
public void nikPesertaBpjs() {
LOGGER.info("Task PasienTask.nikPesertaBpjs {}", LocalDateTime.now());
adjustNikPesertaBpjs();
}
@Transactional
private void adjustNikPesertaBpjs() {
LOGGER.info("Adjusting NIK Peserta BPJS {}", LocalDateTime.now());
List<PesertaBpjsDto> listDtoUpdate = new ArrayList<>();
List<PesertaBpjsDto> listDtoNotUpdate = new ArrayList<>();
List<Pasien> pasienValidBpjs = pasienDao.findByValidBpjs();
for (Pasien pasien : pasienValidBpjs) {
try {
PesertaBpjsDto pesertaBpjsDto = cekKepesertaan(pasien.getNoBpjs());
if (pesertaBpjsDto.getKdProfile() == 0)
listDtoUpdate.add(pesertaBpjsDto);
if (pesertaBpjsDto.getKdProfile() == 1)
listDtoNotUpdate.add(pesertaBpjsDto);
Thread.sleep((long) (Math.random() * 1000 * 8));
} catch (Exception e) {
LOGGER.error("Error adjusting NIK Peserta BPJS {} -> {}", pasien.getNoBpjs(), e.getMessage());
}
}
{
List<String> listNoKartu = listDtoUpdate.stream().map(PesertaBpjsDto::getNoKartu)
.collect(Collectors.toList());
List<Pasien> availableValid = pasienValidBpjs.stream()
.filter(pasien -> listNoKartu.contains(pasien.getNoBpjs())).collect(Collectors.toList());
availableValid.forEach(pasien -> {
Optional<PesertaBpjsDto> first = listDtoUpdate.stream()
.filter(dto -> pasien.getNoBpjs().equals(dto.getNoKartu())).findFirst();
first.ifPresent(dto -> {
pasien.setKdProfile(dto.getKdProfile());
pasien.setNoIdentitas(dto.getNik());
});
});
if (CommonUtil.isNotNullOrEmpty(availableValid)) {
LOGGER.info("Save available valid data");
pasienDao.save(availableValid);
}
}
{
List<String> listNoKartu = listDtoNotUpdate.stream().map(PesertaBpjsDto::getNoKartu)
.collect(Collectors.toList());
List<Pasien> availableValid = pasienValidBpjs.stream()
.filter(pasien -> listNoKartu.contains(pasien.getNoBpjs())).collect(Collectors.toList());
availableValid.forEach(pasien -> {
Optional<PesertaBpjsDto> first = listDtoNotUpdate.stream()
.filter(dto -> pasien.getNoBpjs().equals(dto.getNoKartu())).findFirst();
first.ifPresent(dto -> pasien.setKdProfile(dto.getKdProfile()));
});
if (CommonUtil.isNotNullOrEmpty(availableValid)) {
LOGGER.info("Flag kdProfile can not update");
pasienDao.save(availableValid);
}
}
}
private PesertaBpjsDto cekKepesertaan(String noKartu) {
try {
LOGGER.info("Cek kepesertaan BPJS {} {}", noKartu, LocalDateTime.now());
URI uri = new URI("https://daftar.rsabhk.co.id/api/data/pasien/jaminan/bpjs/cek-kepesertaan/" + noKartu);
HttpEntity<Object> request = new HttpEntity<>(null);
ResponseEntity<Object> response = restTemplate.exchange(uri, GET, request, Object.class);
if (OK.equals(response.getStatusCode()) || CREATED.equals(response.getStatusCode())) {
Map<String, Object> responseBody = objectMapper.convertValue(response.getBody(), Map.class);
Map<String, Object> responseMap = objectMapper.convertValue(responseBody.get("response"),
HashMap.class);
Map<String, Object> responsePeserta = objectMapper.convertValue(responseMap.get("peserta"),
HashMap.class);
return PesertaBpjsDto.builder().noKartu(responsePeserta.get("noKartu").toString())
.nik(responsePeserta.get("nik").toString()).kdProfile((short) 0).build();
} else {
LOGGER.error("Error handshake cek kepesertaan BPJS {}", response.getStatusCode().getReasonPhrase());
return PesertaBpjsDto.builder().noKartu(noKartu).kdProfile((short) 1).build();
}
} catch (Exception e) {
LOGGER.error("Error cek kepesertaan BPJS {}", e.getMessage());
return PesertaBpjsDto.builder().noKartu(noKartu).kdProfile((short) 1).build();
}
}
}

View File

@ -1,39 +0,0 @@
package com.jasamedika.medifirst2000.task.schedule.config;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.TaskScheduler;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
import org.springframework.web.client.RestTemplate;
/**
* @author Salman
* @since 12 Jul 2023
*/
@Configuration
@EnableScheduling
@ComponentScan("com.jasamedika.medifirst2000.task")
public class ScheduleTaskConfig {
@Bean
public TaskScheduler taskScheduler() {
ThreadPoolTaskScheduler threadPoolTaskScheduler = new ThreadPoolTaskScheduler();
threadPoolTaskScheduler.setPoolSize(75);
threadPoolTaskScheduler.setThreadNamePrefix("PelayananThreadPoolTaskScheduler");
return threadPoolTaskScheduler;
}
@Bean
public ObjectMapper objectMapper() {
return new ObjectMapper();
}
@Bean
public RestTemplate restTemplate() {
return new RestTemplate();
}
}

View File

@ -15,7 +15,7 @@
</context-param> </context-param>
<context-param> <context-param>
<param-name>spring.profiles.default</param-name> <param-name>spring.profiles.default</param-name>
<param-value>pelayanan</param-value> <param-value>development</param-value>
</context-param> </context-param>
<listener> <listener>

View File

@ -15,7 +15,7 @@
</context-param> </context-param>
<context-param> <context-param>
<param-name>spring.profiles.default</param-name> <param-name>spring.profiles.default</param-name>
<param-value>mirroring</param-value> <param-value>development</param-value>
</context-param> </context-param>
<listener> <listener>

View File

@ -1,55 +0,0 @@
package com.jasamedika.medifirst2000.task.schedule;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import com.jasamedika.medifirst2000.service.KalenderService;
import com.jasamedika.medifirst2000.service.PegawaiJadwalKerjaService;
import com.jasamedika.medifirst2000.service.SlipGajiService;
/**
* @author Salman
* @since 12 Jul 2023
*/
@Component
public class ScheduleTask {
private static final Logger LOGGER = LoggerFactory.getLogger(ScheduleTask.class);
@Autowired
private KalenderService kalenderService;
@Autowired
private PegawaiJadwalKerjaService pegawaiJadwalKerjaService;
@Autowired
private SlipGajiService slipGajiService;
@Scheduled(cron = "0 0 23 30 6 ?")
public void generateKalender() {
LOGGER.info("Generate kalender tahun {}",
LocalDate.now().plusYears(1).format(DateTimeFormatter.ofPattern("yyyy")));
kalenderService.generateAndSaveKalender();
}
@Scheduled(cron = "0 0 0 1 * ?")
public void genarateJadwalPegawaiNonShift() {
LOGGER.info("Generate jadwal pegawai bulan {}", LocalDate.now().format(DateTimeFormatter.ofPattern("MM-yyyy")));
pegawaiJadwalKerjaService.autoSaveJadwalKerjaNonShift();
}
@Scheduled(cron = "0 0 0 1 * ?")
public void templateSlipGajiTask() {
LOGGER.info("Initiate template slip gaji bulan {}",
LocalDate.now().format(DateTimeFormatter.ofPattern("MM-yyyy")));
slipGajiService.init();
}
}

View File

@ -1,27 +0,0 @@
package com.jasamedika.medifirst2000.task.schedule.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.TaskScheduler;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
/**
* @author Salman
* @since 12 Jul 2023
*/
@Configuration
@EnableScheduling
@ComponentScan("com.jasamedika.medifirst2000.task")
public class ScheduleTaskConfig {
@Bean
public TaskScheduler taskScheduler() {
ThreadPoolTaskScheduler threadPoolTaskScheduler = new ThreadPoolTaskScheduler();
threadPoolTaskScheduler.setPoolSize(5);
threadPoolTaskScheduler.setThreadNamePrefix("SdmThreadPoolTaskScheduler");
return threadPoolTaskScheduler;
}
}

View File

@ -15,7 +15,7 @@
</context-param> </context-param>
<context-param> <context-param>
<param-name>spring.profiles.default</param-name> <param-name>spring.profiles.default</param-name>
<param-value>sdm</param-value> <param-value>development</param-value>
</context-param> </context-param>
<listener> <listener>

View File

@ -15,7 +15,7 @@
</context-param> </context-param>
<context-param> <context-param>
<param-name>spring.profiles.default</param-name> <param-name>spring.profiles.default</param-name>
<param-value>web</param-value> <param-value>development</param-value>
</context-param> </context-param>
<listener> <listener>