136 lines
3.9 KiB
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
|
|
}
|