Files
cpone_midleware/internal/db/query.sql.go

136 lines
3.9 KiB
Go

// Code generated by sqlc. DO NOT EDIT.
// versions:
// sqlc v1.31.1
// source: query.sql
package db
import (
"context"
"database/sql"
"strings"
)
const mappingHargaPeriode10 = `-- 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 (/*SLICE:layanan_ids*/?)
AND (
? IS NULL
OR layanan_dept.LayananID LIKE ?
OR layanan.Nama LIKE ?
)
ORDER BY layanan.Nama, layanan.JenisLayananID
`
type MappingHargaPeriode10Params struct {
LayananIds []sql.NullString `json:"layanan_ids"`
Search sql.NullString `json:"search"`
}
type MappingHargaPeriode10Row struct {
Tariflayananid int64 `json:"tariflayananid"`
Layananid sql.NullString `json:"layananid"`
Namalayanan sql.NullString `json:"namalayanan"`
Jenislayananid sql.NullInt64 `json:"jenislayananid"`
Namajenislayanan sql.NullString `json:"namajenislayanan"`
Kelas string `json:"kelas"`
Namakelas string `json:"namakelas"`
Harga sql.NullString `json:"harga"`
Tipediskonrj string `json:"tipediskonrj"`
Diskonrj string `json:"diskonrj"`
Tipediskonri string `json:"tipediskonri"`
Diskonri string `json:"diskonri"`
Tipeshare sql.NullString `json:"tipeshare"`
Sharedokter sql.NullString `json:"sharedokter"`
Sharers sql.NullString `json:"sharers"`
Shareext sql.NullString `json:"shareext"`
Sharelain sql.NullString `json:"sharelain"`
Asaltarif string `json:"asaltarif"`
}
// 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.
func (q *Queries) MappingHargaPeriode10(ctx context.Context, arg MappingHargaPeriode10Params) ([]MappingHargaPeriode10Row, error) {
query := mappingHargaPeriode10
var queryParams []interface{}
if len(arg.LayananIds) > 0 {
for _, v := range arg.LayananIds {
queryParams = append(queryParams, v)
}
query = strings.Replace(query, "/*SLICE:layanan_ids*/?", strings.Repeat(",?", len(arg.LayananIds))[1:], 1)
} else {
query = strings.Replace(query, "/*SLICE:layanan_ids*/?", "NULL", 1)
}
queryParams = append(queryParams, arg.Search)
queryParams = append(queryParams, arg.Search)
queryParams = append(queryParams, arg.Search)
rows, err := q.db.QueryContext(ctx, query, queryParams...)
if err != nil {
return nil, err
}
defer rows.Close()
var items []MappingHargaPeriode10Row
for rows.Next() {
var i MappingHargaPeriode10Row
if err := rows.Scan(
&i.Tariflayananid,
&i.Layananid,
&i.Namalayanan,
&i.Jenislayananid,
&i.Namajenislayanan,
&i.Kelas,
&i.Namakelas,
&i.Harga,
&i.Tipediskonrj,
&i.Diskonrj,
&i.Tipediskonri,
&i.Diskonri,
&i.Tipeshare,
&i.Sharedokter,
&i.Sharers,
&i.Shareext,
&i.Sharelain,
&i.Asaltarif,
); err != nil {
return nil, err
}
items = append(items, i)
}
if err := rows.Close(); err != nil {
return nil, err
}
if err := rows.Err(); err != nil {
return nil, err
}
return items, nil
}