164 lines
5.7 KiB
Go
164 lines
5.7 KiB
Go
// Code generated by sqlc. DO NOT EDIT.
|
|
// versions:
|
|
// sqlc v1.30.0
|
|
// source: logistica_disponiveis.sql
|
|
|
|
package generated
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/jackc/pgx/v5/pgtype"
|
|
)
|
|
|
|
const countProfissionaisDisponiveisLogistica = `-- name: CountProfissionaisDisponiveisLogistica :one
|
|
SELECT COUNT(p.id)
|
|
FROM cadastro_profissionais p
|
|
WHERE p.regiao = $1
|
|
AND ($2::text = '' OR p.nome ILIKE '%' || $2 || '%')
|
|
AND NOT EXISTS (
|
|
SELECT 1 FROM convites_diarios cd
|
|
WHERE cd.profissional_id = p.id
|
|
AND cd.data = CAST($3 AS DATE)
|
|
AND cd.status IN ('PENDENTE', 'ACEITO')
|
|
)
|
|
`
|
|
|
|
type CountProfissionaisDisponiveisLogisticaParams struct {
|
|
Regiao pgtype.Text `json:"regiao"`
|
|
Column2 string `json:"column_2"`
|
|
Column3 pgtype.Date `json:"column_3"`
|
|
}
|
|
|
|
func (q *Queries) CountProfissionaisDisponiveisLogistica(ctx context.Context, arg CountProfissionaisDisponiveisLogisticaParams) (int64, error) {
|
|
row := q.db.QueryRow(ctx, countProfissionaisDisponiveisLogistica, arg.Regiao, arg.Column2, arg.Column3)
|
|
var count int64
|
|
err := row.Scan(&count)
|
|
return count, err
|
|
}
|
|
|
|
const getProfissionaisDisponiveisLogistica = `-- name: GetProfissionaisDisponiveisLogistica :many
|
|
SELECT p.id, p.usuario_id, p.nome, p.funcao_profissional_id, p.endereco, p.cidade, p.uf, p.whatsapp, p.cep, p.numero, p.complemento, p.bairro, p.cpf_cnpj_titular, p.banco, p.agencia, p.conta, p.conta_pix, p.carro_disponivel, p.tem_estudio, p.qtd_estudio, p.tipo_cartao, p.observacao, p.qual_tec, p.educacao_simpatia, p.desempenho_evento, p.disp_horario, p.media, p.tabela_free, p.extra_por_equipamento, p.equipamentos, p.email, p.avatar_url, p.criado_em, p.atualizado_em, p.regiao, f.nome as funcao_nome
|
|
FROM cadastro_profissionais p
|
|
LEFT JOIN funcoes_profissionais f ON p.funcao_profissional_id = f.id
|
|
WHERE p.regiao = $1
|
|
AND ($2::text = '' OR p.nome ILIKE '%' || $2 || '%')
|
|
AND NOT EXISTS (
|
|
SELECT 1 FROM convites_diarios cd
|
|
WHERE cd.profissional_id = p.id
|
|
AND cd.data = CAST($3 AS DATE)
|
|
AND cd.status IN ('PENDENTE', 'ACEITO')
|
|
)
|
|
ORDER BY p.nome ASC
|
|
LIMIT $4 OFFSET $5
|
|
`
|
|
|
|
type GetProfissionaisDisponiveisLogisticaParams struct {
|
|
Regiao pgtype.Text `json:"regiao"`
|
|
Column2 string `json:"column_2"`
|
|
Column3 pgtype.Date `json:"column_3"`
|
|
Limit int32 `json:"limit"`
|
|
Offset int32 `json:"offset"`
|
|
}
|
|
|
|
type GetProfissionaisDisponiveisLogisticaRow struct {
|
|
ID pgtype.UUID `json:"id"`
|
|
UsuarioID pgtype.UUID `json:"usuario_id"`
|
|
Nome string `json:"nome"`
|
|
FuncaoProfissionalID pgtype.UUID `json:"funcao_profissional_id"`
|
|
Endereco pgtype.Text `json:"endereco"`
|
|
Cidade pgtype.Text `json:"cidade"`
|
|
Uf pgtype.Text `json:"uf"`
|
|
Whatsapp pgtype.Text `json:"whatsapp"`
|
|
Cep pgtype.Text `json:"cep"`
|
|
Numero pgtype.Text `json:"numero"`
|
|
Complemento pgtype.Text `json:"complemento"`
|
|
Bairro pgtype.Text `json:"bairro"`
|
|
CpfCnpjTitular pgtype.Text `json:"cpf_cnpj_titular"`
|
|
Banco pgtype.Text `json:"banco"`
|
|
Agencia pgtype.Text `json:"agencia"`
|
|
Conta pgtype.Text `json:"conta"`
|
|
ContaPix pgtype.Text `json:"conta_pix"`
|
|
CarroDisponivel pgtype.Bool `json:"carro_disponivel"`
|
|
TemEstudio pgtype.Bool `json:"tem_estudio"`
|
|
QtdEstudio pgtype.Int4 `json:"qtd_estudio"`
|
|
TipoCartao pgtype.Text `json:"tipo_cartao"`
|
|
Observacao pgtype.Text `json:"observacao"`
|
|
QualTec pgtype.Int4 `json:"qual_tec"`
|
|
EducacaoSimpatia pgtype.Int4 `json:"educacao_simpatia"`
|
|
DesempenhoEvento pgtype.Int4 `json:"desempenho_evento"`
|
|
DispHorario pgtype.Int4 `json:"disp_horario"`
|
|
Media pgtype.Numeric `json:"media"`
|
|
TabelaFree pgtype.Text `json:"tabela_free"`
|
|
ExtraPorEquipamento pgtype.Bool `json:"extra_por_equipamento"`
|
|
Equipamentos pgtype.Text `json:"equipamentos"`
|
|
Email pgtype.Text `json:"email"`
|
|
AvatarUrl pgtype.Text `json:"avatar_url"`
|
|
CriadoEm pgtype.Timestamptz `json:"criado_em"`
|
|
AtualizadoEm pgtype.Timestamptz `json:"atualizado_em"`
|
|
Regiao pgtype.Text `json:"regiao"`
|
|
FuncaoNome pgtype.Text `json:"funcao_nome"`
|
|
}
|
|
|
|
func (q *Queries) GetProfissionaisDisponiveisLogistica(ctx context.Context, arg GetProfissionaisDisponiveisLogisticaParams) ([]GetProfissionaisDisponiveisLogisticaRow, error) {
|
|
rows, err := q.db.Query(ctx, getProfissionaisDisponiveisLogistica,
|
|
arg.Regiao,
|
|
arg.Column2,
|
|
arg.Column3,
|
|
arg.Limit,
|
|
arg.Offset,
|
|
)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer rows.Close()
|
|
var items []GetProfissionaisDisponiveisLogisticaRow
|
|
for rows.Next() {
|
|
var i GetProfissionaisDisponiveisLogisticaRow
|
|
if err := rows.Scan(
|
|
&i.ID,
|
|
&i.UsuarioID,
|
|
&i.Nome,
|
|
&i.FuncaoProfissionalID,
|
|
&i.Endereco,
|
|
&i.Cidade,
|
|
&i.Uf,
|
|
&i.Whatsapp,
|
|
&i.Cep,
|
|
&i.Numero,
|
|
&i.Complemento,
|
|
&i.Bairro,
|
|
&i.CpfCnpjTitular,
|
|
&i.Banco,
|
|
&i.Agencia,
|
|
&i.Conta,
|
|
&i.ContaPix,
|
|
&i.CarroDisponivel,
|
|
&i.TemEstudio,
|
|
&i.QtdEstudio,
|
|
&i.TipoCartao,
|
|
&i.Observacao,
|
|
&i.QualTec,
|
|
&i.EducacaoSimpatia,
|
|
&i.DesempenhoEvento,
|
|
&i.DispHorario,
|
|
&i.Media,
|
|
&i.TabelaFree,
|
|
&i.ExtraPorEquipamento,
|
|
&i.Equipamentos,
|
|
&i.Email,
|
|
&i.AvatarUrl,
|
|
&i.CriadoEm,
|
|
&i.AtualizadoEm,
|
|
&i.Regiao,
|
|
&i.FuncaoNome,
|
|
); err != nil {
|
|
return nil, err
|
|
}
|
|
items = append(items, i)
|
|
}
|
|
if err := rows.Err(); err != nil {
|
|
return nil, err
|
|
}
|
|
return items, nil
|
|
}
|