Initial CPONE middleware implementation

This commit is contained in:
2026-08-18 13:41:38 +07:00
commit 676d930561
17 changed files with 1000 additions and 0 deletions

41
sqlc/query.sql Normal file
View File

@@ -0,0 +1,41 @@
-- sqlc does not support dynamic table identifiers. This query is a generation
-- template for one concrete period table; duplicate or generate per period as
-- needed, then keep the HTTP response mapping unchanged.
--
-- name: MappingHargaPeriode10 :many
SELECT
tarif.HargaLayananID AS TarifLayananID,
layanan_dept.LayananID,
layanan.Nama AS NamaLayanan,
layanan.JenisLayananID,
jenis.Nama AS NamaJenisLayanan,
'Default' AS Kelas,
'Default' AS NamaKelas,
tarif.Harga,
'Percentage' AS TipeDiskonRJ,
'0.00' AS DiskonRJ,
'Percentage' AS TipeDiskonRI,
'0.00' AS DiskonRI,
tarif.ShareTipe AS TipeShare,
tarif.ShareDokter,
tarif.ShareRS,
tarif.ShareExternal AS ShareExt,
tarif.ShareLain,
'+Layanan' AS AsalTarif
FROM layanandepartemen AS layanan_dept
INNER JOIN harga_layanan_10 AS tarif
ON tarif.LayananDepartemenID = layanan_dept.LayananDepartemenID
AND tarif.KelasID = 'Default'
AND tarif.NA = 'N'
LEFT JOIN masterlayanan AS layanan
ON layanan.LayananID = layanan_dept.LayananID
LEFT JOIN jenislayanan AS jenis
ON jenis.JenisLayananID = layanan.JenisLayananID
WHERE layanan_dept.NA = 'N'
AND layanan_dept.LayananID IN (sqlc.slice('layanan_ids'))
AND (
sqlc.narg('search') IS NULL
OR layanan_dept.LayananID LIKE sqlc.narg('search')
OR layanan.Nama LIKE sqlc.narg('search')
)
ORDER BY layanan.Nama, layanan.JenisLayananID;