// 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 }