alteracao_tipo_alimentacao_cei
admin
- class AlteracaoCardapioCEIModelAdmin(model, admin_site)[source]
Bases:
ModelAdminAdmin do Django para solicitações de alteração do tipo de alimentação CEI.
Configura a listagem administrativa de
AlteracaoCardapioCEI, exibindo o UUID, a data e o status de cada solicitação, habilitando filtro por status e incorporando o inline de substituições no formulário de edição.- inlines
Inlines exibidos no formulário de edição. Valor:
[SubstituicoesCEIInLine].- Type:
list
- list_display
Colunas exibidas na listagem do admin. Valores:
["uuid", "data", "status"].- Type:
list[str]
- list_filter
Filtros laterais disponíveis na listagem. Valores:
["status"].- Type:
list[str]
- class SubstituicoesCEIInLine(parent_model, admin_site)[source]
Bases:
TabularInlineInline do Django para substituições de alimentação no período escolar CEI.
Exibe e permite editar instâncias de
SubstituicaoAlimentacaoNoPeriodoEscolarCEIdiretamente no formulário deAlteracaoCardapioCEI.- model
Modelo gerenciado pelo inline. Valor:
SubstituicaoAlimentacaoNoPeriodoEscolarCEI.- Type:
Model
- extra
Número de formulários extras exibidos para novos registros. Valor:
1.- Type:
int
models
- class AlteracaoCardapioCEI(*args, **kwargs)[source]
Bases:
ExportModelOperationsMixin('alteracao_cardapio_cei'),CriadoEm,CriadoPor,TemChaveExterna,TemData,TemObservacao,FluxoAprovacaoPartindoDaEscola,TemIdentificadorExternoAmigavel,Logs,TemPrioridade,SolicitacaoForaDoPrazo,EhAlteracaoCardapio,TemTerceirizadaConferiuGestaoAlimentacaoModelo responsável por armazenar Solicitações de Alteração do Tipo de Alimentação para escolas do tipo CEI.
Representa uma solicitação formal de troca do tipo de alimentação servida em determinado(s) período(s) escolar(es), com data inicial e final delimitadas. Para as CEIs, as solicitações de alteração do tipo de alimentação são divididas por faixas etárias.
O que é uma Alteração do Tipo de Alimentação?
É uma solicitação de troca do tipo de alimentação servida em um determinado dia.
Quais os tipos de Alteração do Tipo de Alimentação possíveis?
- RPL (Refeição por Lanche)
substitui a refeição do dia por um lanche
cada escola só pode pedir uma RPL por mês
exemplo: no dia dos aniversariantes do mês, a escola pode solicitar uma RPL para substituir a refeição por um lanche especial.
na Medição Inicial, o lançamento de lanche neste dia é dobrado e a refeição é zerada.
- LPR (Lanche por Refeição)
substitui o lanche do dia por uma refeição
não há limite de solicitações de LPR por mês
na Medição Inicial, o lançamento de lanche neste dia é zerado e a refeição é dobrada.
esta solicitação raramente é utilizada, pois as escolas preferem lanche que refeição.
Não há lanche emergencial para CEIs.
- Tipos de unidade contempladas:
CEI DIRET
CEU CEI
CCI/CIPS
- Exceções não contempladas:
EMEF
EMEI
CEMEI
etc.
- DESCRICAO
Descrição legível do tipo de solicitação. Utilizado no dashboard de Gestão de Alimentação para identificar o tipo de cada solicitação. O valor é a string
"Alteração do Tipo de Alimentação CEI".- Type:
str
- criado_em: datetime.datetime
Origem:
dados_comuns/behaviors.pyDescrição: Timestamp preenchido automaticamente na criação do registro.
- criado_por: perfil.Usuario | None
Origem:
dados_comuns/behaviors.pyDescrição: Usuário responsável pela criação do registro. O campo ainda permite null e blank.
- criado_por_id: int | None
Origem:
dados_comuns/behaviors.pyDescrição: Identificador do usuário responsável pela criação do registro.
Corresponde à chave primária de
perfil.Usuario. Pode serNone(campo permitenulleblank).
- data: datetime.date
Origem:
dados_comuns/behaviors.pyDescrição: Data da solicitação de alteração do tipo de alimentação CEI.
Diferentemente da alteração padrão (que usa intervalo), a alteração CEI refere-se a um único dia.
- escola: escola.Escola | None
Origem:
EhAlteracaoCardapioDescrição: Escola que efetuou a solicitação de alteração do tipo de alimentação. O campo ainda permite null e blank.
- escola_id: int | None
Origem:
EhAlteracaoCardapioDescrição: Identificador da escola que efetuou a solicitação de alteração do tipo de alimentação.
Corresponde à chave primária de
escola.Escola. Pode serNone(campo permitenulleblank).
- foi_solicitado_fora_do_prazo: bool
Origem:
dados_comuns/behaviors.pyDescrição: Indica se a solicitação foi criada fora do prazo regular de antecedência.
Quando
True, significa que o pedido foi criado com 5 dias úteis ou menos de antecedência.
- id: int
Origem:
django.db.models.ModelDescrição: Identificador interno do registro no banco de dados.
Corresponde à chave primária gerada automaticamente pelo Django.
- motivo: cardapio.MotivoAlteracaoCardapio | None
Origem:
EhAlteracaoCardapioDescrição: Motivo associado à solicitação de alteração do tipo de alimentação. O campo ainda permite null e blank.
- motivo_id: int | None
Origem:
EhAlteracaoCardapioDescrição: Identificador do motivo associado à solicitação de alteração do tipo de alimentação.
- Motivos disponíveis para CEI:
RPL (Refeição por Lanche)
LPR (Lanche por Refeição)
Corresponde à chave primária de
MotivoAlteracaoCardapio. Pode serNone(campo permitenulleblank).
- observacao: str
Origem:
dados_comuns/behaviors.pyDescrição: Campo de texto livre para registrar observações complementares da solicitação.
Pode ser uma string vazia, pois o campo permite
blank.
- substituicoes_cei_periodo_escolar: django.db.models.QuerySet[SubstituicaoAlimentacaoNoPeriodoEscolarCEI]
Relação reversa 1:N com
SubstituicaoAlimentacaoNoPeriodoEscolarCEI.Representa todas as substituições de tipo de alimentação vinculadas à solicitação CEI, organizadas por período escolar e faixa etária.
- rastro_dre: escola.DiretoriaRegional | None
Origem:
FluxoAprovacaoPartindoDaEscolaDescrição: Diretoria Regional de Educação vinculada ao rastro histórico da solicitação.
Representa a DRE da escola no momento em que o rastro do pedido foi salvo.
- rastro_dre_id: int | None
Origem:
FluxoAprovacaoPartindoDaEscolaDescrição: Identificador da DRE vinculada ao rastro histórico da solicitação.
Corresponde à chave primária de
escola.DiretoriaRegional. Pode serNone(campo permitenulleblank).
- rastro_escola: escola.Escola | None
Origem:
FluxoAprovacaoPartindoDaEscolaDescrição: Escola registrada no rastro histórico da solicitação.
Representa a escola vinculada ao pedido no momento em que o rastro foi salvo.
- rastro_escola_id: int | None
Origem:
FluxoAprovacaoPartindoDaEscolaDescrição: Identificador da escola registrada no rastro histórico da solicitação.
Corresponde à chave primária de
escola.Escola. Pode serNone(campo permitenulleblank).
- rastro_lote: escola.Lote | None
Origem:
FluxoAprovacaoPartindoDaEscolaDescrição: Lote registrado no rastro histórico da solicitação.
Representa o lote da escola no momento em que o rastro foi salvo.
- rastro_lote_id: int | None
Origem:
FluxoAprovacaoPartindoDaEscolaDescrição: Identificador do lote registrado no rastro histórico da solicitação.
Corresponde à chave primária de
escola.Lote. Pode serNone(campo permitenulleblank).
- rastro_terceirizada: terceirizada.Terceirizada | None
Origem:
FluxoAprovacaoPartindoDaEscolaDescrição: Terceirizada registrada no rastro histórico da solicitação.
Representa a empresa terceirizada vinculada ao lote da escola no momento em que o rastro foi salvo.
- rastro_terceirizada_id: int | None
Origem:
FluxoAprovacaoPartindoDaEscolaDescrição: Identificador da terceirizada registrada no rastro histórico da solicitação.
Corresponde à chave primária de
terceirizada.Terceirizada. Pode serNone(campo permitenulleblank).
- status: str
Origem:
django_xworkflows.models.StateFieldDescrição: Estado atual da solicitação dentro do workflow de aprovação partindo da escola.
Armazena um dos valores definidos em
PedidoAPartirDaEscolaWorkflow, comoRASCUNHO,DRE_A_VALIDARouCODAE_AUTORIZADO.
- terceirizada_conferiu_gestao: bool
Origem:
dados_comuns/behaviors.pyDescrição: Indica se a terceirizada marcou ciência da solicitação na Gestão de Alimentação.
Quando
True, registra que a empresa conferiu o pedido sem necessariamente alterar o status do workflow.
- get_status_display()
Origem:
django_xworkflows.models.StateFieldDescrição: Relacionado ao campo
statusdo workflow.Retorna a representação legível (label) do status atual da instância.
O valor retornado corresponde ao texto definido em
statesdo workflow, sendo mais apropriado para exibição em interfaces (ex: telas e relatórios).- Returns:
Texto legível do status
- Return type:
str
Exemplo:
CODAE_AUTORIZADOretorna"CODAE autorizou pedido".
- uuid: uuid.UUID
Origem:
dados_comuns/behaviors.pyDescrição: Identificador único do registro.
Gerado automaticamente no momento da criação, sendo utilizado como identificador externo amigável.
Pode ser utilizado em integrações externas e URLs públicas, evitando a exposição do identificador interno (ID).
- exception NotUpdated
Bases:
ObjectNotUpdated,DatabaseError
- codae_autoriza
Autoriza a solicitação de Gestão de Alimentação como CODAE pedida com mais de 5 dias úteis de antecedência. Só é possível autorizar uma solicitação que foi validada pela Diretoria Regional.
Este método é herdado de django_xworkflows.
- Possui um hook (
_codae_autoriza_hook) para, após a autorização: criar uma entrada de log específico para esta ação, utilizando o método
salvar_log_transicao.enviar e-mail para as partes interessadas notificando sobre a autorização.
- Possui um hook (
- codae_autoriza_questionamento
CODAE autoriza a solicitação de Gestão de Alimentação pedida com menos de 5 dias úteis de antecedência, mediante resposta positiva do questionamento para a empresa terceirizada que atende a escola. Só é possível autorizar uma solicitação que foi validada pela Diretoria Regional.
- Uma solicitação pode ser autorizada se:
teve uma resposta positiva do questionamento pela empresa terceirizada que atende a escola, ou seja, resposta_sim_nao=True no log de questionamento.
Este método é herdado de django_xworkflows.
- Possui um hook (
_codae_autoriza_hook) para, após a autorização: criar uma entrada de log específico para esta ação, utilizando o método
salvar_log_transicao.enviar e-mail para as partes interessadas notificando sobre a autorização.
- codae_nega
CODAE nega a solicitação de Gestão de Alimentação. Só é possível negar uma solicitação que foi validada pela Diretoria Regional.
- Uma solicitação pode ser negada se, por exemplo:
infringir alguma regra do edital
tiver algum dado incorreto ou inconsistente (por exemplo, um Kit Lanche não pode ser solicitado para um “passeio” nas dependências da escola. É apenas para passeios externos.)
Este método é herdado de django_xworkflows.
- Possui um hook (
_codae_recusou_hook) para, após a negação: criar uma entrada de log específico para esta ação, utilizando o método
salvar_log_transicao.enviar e-mail para as partes interessadas notificando sobre a negação.
- codae_nega_questionamento
CODAE nega a solicitação de Gestão de Alimentação pedida com menos de 5 dias úteis de antecedência. Só é possível negar uma solicitação que foi validada pela Diretoria Regional.
- Uma solicitação pode ser negada se:
não tiver uma resposta positiva do questionamento pela empresa terceirizada que atende a escola, ou seja, resposta_sim_nao=False no log de questionamento.
Este método é herdado de django_xworkflows.
- Possui um hook (
_codae_recusou_hook) para, após a negação: criar uma entrada de log específico para esta ação, utilizando o método
salvar_log_transicao.enviar e-mail para as partes interessadas notificando sobre a negação.
- codae_questiona
CODAE questiona a empresa terceirizada se é possível atender a solicitação de Gestão de Alimentação pedida com menos de 5 dias úteis de antecedência. Só é possível questionar uma solicitação que foi validada pela Diretoria Regional.
Uma solicitação pedida com menos de 5 dias úteis de antecedência não pode ser autorizada imediatamente, pois a empresa terceirizada que atende a escola precisa confirmar se é possível atender a solicitação nesse prazo. Portanto, o CODAE questiona a solicitação para obter essa confirmação.
- Exceção (pode ser autorizado imediatamente, sem questionamento):
Alteração do Tipo de Alimentação - Lanche Emergencial
Este método é herdado de django_xworkflows.
- Possui um hook (
_codae_questiona_hook) para, após o questionamento: criar uma entrada de log específico para esta ação, utilizando o método
salvar_log_transicao.
- dre_nao_valida
DRE não valida a solicitação de Gestão de Alimentação.
Este método é herdado de django_xworkflows.
- Possui um hook (
_dre_nao_valida_hook) para, após a não validação: criar uma entrada de log específico para esta ação, utilizando o método
salvar_log_transicao.enviar e-mail para as partes interessadas notificando sobre a não validação.
- Possui um hook (
- dre_pede_revisao
Deprecado.
Este método é herdado de django_xworkflows.
- dre_valida
DRE valida a solicitação de Gestão de Alimentação.
Este método é herdado de django_xworkflows.
- Possui um hook (
_dre_valida_hook) para, após a validação: criar uma entrada de log específico para esta ação, utilizando o método
salvar_log_transicao.
- Possui um hook (
- escola_revisa
Deprecado.
Este método é herdado de django_xworkflows.
- inicia_fluxo
Inicia o fluxo da solicitação de Gestão de Alimentação (envia a solicitação para DRE validar).
Só é possível iniciar uma solicitação que esteja em RASCUNHO.
Este método é herdado de django_xworkflows.
- Possui um hook (
_inicia_fluxo_hook) para, após o início do fluxo: definir o campo
foi_solicitado_fora_do_prazocom base na prioridade da solicitação.salvar os rastros históricos da solicitação (escola, DRE, lote e terceirizada).
criar uma entrada de log específico para esta ação, utilizando o método
salvar_log_transicao.
- Possui um hook (
- property numero_alunos
Retorna o total de alunos somando todas as faixas etárias das substituições vinculadas.
- Returns:
Soma da quantidade de alunos em todas as faixas etárias das
SubstituicaoAlimentacaoNoPeriodoEscolarCEIdesta alteração, ouNonese não houver faixas etárias cadastradas.- Return type:
int | None
- property path
Retorna o caminho relativo do relatório desta solicitação no frontend.
- Returns:
URL relativa no formato
"alteracao-do-tipo-de-alimentacao/relatorio?uuid=<uuid>&tipoSolicitacao=solicitacao-cei".- Return type:
str
- salvar_log_transicao(status_evento, usuario, **kwargs)[source]
Registra no log a transição de status da solicitação.
Cria uma entrada em
LogSolicitacoesUsuarioassociada a esta alteração de cardápio CEI.- Parameters:
status_evento (int) – Código do evento de status.
usuario (django.contrib.auth.models.AbstractUser) – Usuário responsável pela transição.
**kwargs –
Parâmetros opcionais do log. justificativa (str): Texto justificando a transição. resposta_sim_nao (bool): Indica resposta booleana associada
ao log. O padrão é
False.
- Returns:
None
- solicitacao_dict_para_relatorio(label_data, data_log, instituicao)[source]
Serializa os dados da solicitação CEI para uso em relatórios.
Retorna um dicionário com as informações relevantes da alteração de cardápio CEI, incluindo rastreamentos históricos, data, motivo e substituições por faixa etária.
- Parameters:
label_data (str) – Rótulo descritivo para o campo de data no relatório.
data_log (datetime.date) – Data do log de referência exibida no relatório.
instituicao (object) – Instituição solicitante, mantida por compatibilidade de assinatura.
- Returns:
Dicionário com os campos utilizados no relatório.
- Return type:
dict
- property substituicoes
Retorna um atalho para
substituicoes_cei_periodo_escolar.- Returns:
Manager reverso das substituições de alimentação CEI vinculadas.
- Return type:
django.db.models.Manager
- property susbstituicoes_dict
Retorna as substituições de alimentação CEI serializadas como lista de dicionários.
Cada item inclui o período escolar, os tipos de alimentação substituídos, o tipo resultante e as faixas etárias com quantidades e matriculados.
- Returns:
Lista de dicionários com os campos
periodo,tipos_alimentacao_de,tipos_alimentacao_para,faixas_etarias,total_alunosetotal_matriculados.- Return type:
list[dict]
- terceirizada_responde_questionamento
A empresa terceirizada responde ao questionamento da CODAE sobre a possibilidade de atendimento da solicitação.
Só é possível responder um questionamento quando a solicitação está em CODAE_QUESTIONADO.
Caso a empresa responda que sim (resposta_sim_nao=True), a solicitação pode ser autorizada normalmente pela CODAE, mesmo tendo sido pedida com menos de 5 dias úteis de antecedência.
Caso a empresa responda que não (resposta_sim_nao=False), a solicitação deve ser negada pela CODAE, pois a empresa, pelo contrato, tem o direito de negar solicitações pedidas com menos de 5 dias úteis de antecedência.
Este método é herdado de django_xworkflows.
- Possui um hook (
_terceirizada_responde_questionamento_hook) para, após a resposta: criar uma entrada de log específico para esta ação, utilizando o método
salvar_log_transicao.registrar no log a justificativa informada e a resposta booleana em
resposta_sim_nao.
- Possui um hook (
- terceirizada_toma_ciencia
Deprecado.
Este método é herdado de django_xworkflows.
Antigamente, este método era utilizado para registrar a ciência da empresa terceirizada sobre a solicitação.
O status final do fluxo era TERCEIRIZADA_TOMOU_CIENCIA.
- Atualmente:
o status final é CODAE_AUTORIZADO.
o status TERCEIRIZADA_TOMOU_CIENCIA foi deprecado.
a empresa toma ciência sem alterar o status da solicitação, através do campo
terceirizada_conferiu_gestao.
- property tipo
Retorna a descrição legível do tipo da solicitação.
- Returns:
String
"Alteração do Tipo de Alimentação".- Return type:
str
- class SubstituicaoAlimentacaoNoPeriodoEscolarCEI(*args, **kwargs)[source]
Bases:
ExportModelOperationsMixin('substituicao_cei_alimentacao_periodo_escolar'),TemChaveExternaRepresenta uma substituição de tipo de alimentação em um período escolar específico para CEI.
Está vinculada a uma
AlteracaoCardapioCEIe define quais tipos de alimentação serão substituídos e por qual tipo resultante em um determinado período escolar. As quantidades de alunos impactados são especificadas por faixa etária emFaixaEtariaSubstituicaoAlimentacaoCEI.- Exemplos:
no período INTEGRAL, substituir REFEIÇÃO por LANCHE para faixas etárias específicas.
no período MANHA, substituir LANCHE por REFEIÇÃO para faixas etárias determinadas.
- alteracao_cardapio: cardapio.AlteracaoCardapioCEI | None
Origem:
django.db.models.ForeignKeyDescrição: Solicitação de alteração do tipo de alimentação CEI à qual esta substituição pertence.
Pode ser
Noneporque o campo permitenulleblank.
- alteracao_cardapio_id: int | None
Origem:
django.db.models.ForeignKeyDescrição: Identificador da solicitação de alteração do tipo de alimentação CEI associada a esta substituição.
Corresponde à chave primária de
AlteracaoCardapioCEI. Pode serNoneporque o campo permitenulleblank.
- faixas_etarias: django.db.models.QuerySet[FaixaEtariaSubstituicaoAlimentacaoCEI]
Relação reversa 1:N com
FaixaEtariaSubstituicaoAlimentacaoCEI.Representa as faixas etárias com suas respectivas quantidades e matriculados para esta substituição de período escolar.
- id: int
Origem:
django.db.models.ModelDescrição: Identificador interno do registro no banco de dados.
Corresponde à chave primária gerada automaticamente pelo Django.
- periodo_escolar: escola.PeriodoEscolar
Origem:
django.db.models.ForeignKeyDescrição: Período escolar ao qual a substituição de alimentação se aplica.
Exemplo: manhã, tarde, noite ou integral, conforme os períodos cadastrados para a unidade.
- periodo_escolar_id: int
Origem:
django.db.models.ForeignKeyDescrição: Identificador do período escolar ao qual esta substituição se aplica.
Corresponde à chave primária de
escola.PeriodoEscolar.
- tipo_alimentacao_para: cardapio.TipoAlimentacao | None
Origem:
django.db.models.ForeignKeyDescrição: Tipo de alimentação que passará a ser oferecido no lugar dos tipos originais.
Diferentemente da alteração padrão (que usa M2M), a alteração CEI utiliza uma ForeignKey, permitindo apenas um tipo de alimentação de destino por substituição. Pode ser
Noneporque o campo permitenulleblank.
- tipo_alimentacao_para_id: int | None
Origem:
django.db.models.ForeignKeyDescrição: Identificador do tipo de alimentação resultante desta substituição.
Corresponde à chave primária de
TipoAlimentacao. Pode serNoneporque o campo permitenulleblank.
- tipos_alimentacao_de: django.db.models.Manager[TipoAlimentacao]
Origem:
django.db.models.ManyToManyFieldDescrição: Conjunto de tipos de alimentação originais que serão substituídos nesta solicitação.
Trata-se de uma relação muitos-para-muitos com
TipoAlimentacao.
- uuid: uuid.UUID
Origem:
dados_comuns/behaviors.pyDescrição: Identificador único do registro.
Gerado automaticamente no momento da criação, sendo utilizado como identificador externo.
- exception NotUpdated
Bases:
ObjectNotUpdated,DatabaseError
- class FaixaEtariaSubstituicaoAlimentacaoCEI(*args, **kwargs)[source]
Bases:
ExportModelOperationsMixin('faixa_etaria_substituicao_alimentacao_cei'),TemChaveExterna,TemFaixaEtariaEQuantidade,MatriculadosQuandoCriadoRepresenta a quantidade de alunos de uma faixa etária em uma substituição de alimentação CEI.
Está vinculada a
SubstituicaoAlimentacaoNoPeriodoEscolarCEIe detalha quantos alunos de cada faixa etária são afetados pela substituição, juntamente com o número de matriculados no momento da criação da solicitação.- faixa_etaria: escola.FaixaEtaria
Origem:
dados_comuns/behaviors.pyDescrição: Faixa etária a que se refere esta entrada de substituição de alimentação CEI.
Exemplo: de 0 a 1 ano, de 1 a 2 anos, etc.
- faixa_etaria_id: int
Origem:
dados_comuns/behaviors.pyDescrição: Identificador da faixa etária associada a esta entrada.
Corresponde à chave primária de
escola.FaixaEtaria.
- id: int
Origem:
django.db.models.ModelDescrição: Identificador interno do registro no banco de dados.
Corresponde à chave primária gerada automaticamente pelo Django.
- matriculados_quando_criado: int
Origem:
dados_comuns/behaviors.pyDescrição: Número de alunos matriculados nesta faixa etária no momento em que a solicitação foi criada.
Mantém um registro histórico da matrícula, independentemente de alterações posteriores.
- quantidade: int
Origem:
dados_comuns/behaviors.pyDescrição: Quantidade de alunos desta faixa etária afetados pela substituição de alimentação.
- substituicao_alimentacao: cardapio.SubstituicaoAlimentacaoNoPeriodoEscolarCEI
Origem:
django.db.models.ForeignKeyDescrição: Substituição de alimentação no período escolar CEI à qual esta faixa etária pertence.
- substituicao_alimentacao_id: int
Origem:
django.db.models.ForeignKeyDescrição: Identificador da substituição de alimentação no período escolar CEI associada a esta faixa etária.
Corresponde à chave primária de
SubstituicaoAlimentacaoNoPeriodoEscolarCEI.
- uuid: uuid.UUID
Origem:
dados_comuns/behaviors.pyDescrição: Identificador único do registro.
Gerado automaticamente no momento da criação, sendo utilizado como identificador externo.
- exception NotUpdated
Bases:
ObjectNotUpdated,DatabaseError
api
serializers
- class AlteracaoCardapioCEISerializer(*args, **kwargs)[source]
Bases:
AlteracaoCardapioSerializerBaseSerializa a representacao detalhada de uma alteracao de cardapio CEI.
Inclui substituicoes por periodo com faixas etarias, motivo, escola, logs e dados de rastreabilidade usados nas respostas completas da API.
- Viewsets que utilizam este serializer:
AlteracoesCardapioCEIViewSet: retornado porget_serializer_class()em todas as acoes de leitura e nas actions customizadas que respondem com o objeto serializado, excetocreate,updateepartial_update.
- class Meta[source]
Bases:
object- exclude = ('id',)
- model
alias of
AlteracaoCardapioCEI
- class FaixaEtariaSubstituicaoAlimentacaoCEISerializer(*args, **kwargs)[source]
Bases:
ModelSerializerSerializa uma faixa etaria com quantidade e matriculados de uma substituicao CEI.
Expoe os campos publicos de
FaixaEtariaSubstituicaoAlimentacaoCEIutilizados nas respostas aninhadas em substituicoes de periodo escolar CEI.- Viewsets que utilizam este serializer:
Nenhum diretamente.
Uso indireto em
AlteracoesCardapioCEIViewSet, aninhado emSubstituicoesAlimentacaoNoPeriodoEscolarCEISerializernas respostas de leitura.
- class SubstituicoesAlimentacaoNoPeriodoEscolarCEISerializer(*args, **kwargs)[source]
Bases:
SubstituicoesAlimentacaoNoPeriodoEscolarSerializerBaseSerializa substituicoes completas de alimentacao por periodo escolar para CEI.
Complementa o serializer base com o tipo de alimentacao de destino (FK) e as faixas etarias detalhadas, alem de injetar o total de alunos por faixa no periodo escolar via
to_representation.- Viewsets que utilizam este serializer:
Nenhum diretamente.
Uso indireto em
AlteracoesCardapioCEIViewSet, aninhado emAlteracaoCardapioCEISerializernas respostas de leitura.
- to_representation(instance)[source]
Adiciona o total de alunos por faixa etaria no periodo escolar.
Consulta o metodo
alunos_por_periodo_e_faixa_etariada escola para enriquecer cada faixa etaria com o campototal_alunos_no_periodo.- Parameters:
instance (SubstituicaoAlimentacaoNoPeriodoEscolarCEI) – Substituicao a ser representada.
- Returns:
Representacao da substituicao com o campo
total_alunos_no_periodoadicionado a cada faixa etaria encontrada na consulta. Faixas nao encontradas no dicionario de alunos sao ignoradas silenciosamente.- Return type:
dict
serializers_create
- class AlteracaoCardapioCEISerializerCreate(*args, **kwargs)[source]
Bases:
AlteracaoCardapioSerializerCreateBaseSerializa a criacao e atualizacao completas de alteracoes de cardapio CEI.
Valida datas e regras de negocio especificas para CEI (incluindo duplicidade de RPL), resolve relacionamentos por UUID e cria as substituicoes por periodo e faixa etaria associadas ao pedido.
- Viewsets que utilizam este serializer:
AlteracoesCardapioCEIViewSet: retornado porget_serializer_class()nas actionscreate,updateepartial_update.
- class Meta[source]
Bases:
object- exclude = ('id', 'status')
- model
alias of
AlteracaoCardapioCEI
- serializer_substituicao
alias of
SubstituicoesAlimentacaoNoPeriodoEscolarCEISerializerCreate
- validate_data(data)[source]
Aplica as validacoes de negocio especificas para a data da solicitacao CEI.
- Parameters:
data (datetime.date) – Data informada na solicitacao.
- Returns:
A mesma data recebida, apos passar pelas validacoes de prazo, ano corrente e duplicidade de RPL.
- Return type:
datetime.date
- Raises:
ValidationError – Quando a data viola alguma das regras de negocio aplicadas.
- class FaixaEtariaSubstituicaoAlimentacaoCEISerializerCreate(*args, **kwargs)[source]
Bases:
ModelSerializerSerializa a escrita de uma faixa etaria de substituicao de alimentacao CEI.
Recebe referencias por UUID para a substituicao de periodo escolar e para a faixa etaria ao criar a solicitacao CEI.
- Viewsets que utilizam este serializer:
Nenhum diretamente.
Uso indireto em
AlteracoesCardapioCEIViewSet, aninhado emSubstituicoesAlimentacaoNoPeriodoEscolarCEISerializerCreatenas actionscreate,updateepartial_update.
- class SubstituicoesAlimentacaoNoPeriodoEscolarCEISerializerCreate(*args, **kwargs)[source]
Bases:
SubstituicoesAlimentacaoNoPeriodoEscolarSerializerCreateBaseSerializa a escrita completa de substituicoes por periodo escolar para CEI.
Complementa o serializer base com o tipo de alimentacao de destino (FK) e as faixas etarias detalhadas, criando todos os relacionamentos vinculados.
- Viewsets que utilizam este serializer:
Nenhum diretamente.
Uso indireto em
AlteracoesCardapioCEIViewSet, aninhado emAlteracaoCardapioCEISerializerCreatenas actionscreate,updateepartial_update.
- create(validated_data)[source]
Cria uma substituicao de alimentacao CEI com relacionamentos M2M e faixas etarias.
- Parameters:
validated_data (dict) – Dados validados pelo serializer, incluindo
tipos_alimentacao_deefaixas_etarias.- Returns:
Instancia criada com os tipos de alimentacao de origem vinculados e as faixas etarias associadas.
- Return type:
viewsets
- class AlteracoesCardapioCEIViewSet(**kwargs)[source]
Bases:
AlteracoesCardapioViewSetViewSet para gerenciar solicitacoes de Alteracao do Tipo de Alimentacao CEI.
Herda todas as actions de fluxo de
AlteracoesCardapioViewSet(inicio de pedido, validacao DRE, autorizacao CODAE, cancelamento, etc.) e sobrescreve o queryset, os serializers e as actions de listagem por perfil para operar sobreAlteracaoCardapioCEI.- Tipos de unidade contemplados:
CEI DIRET
CEU CEI
CCI/CIPS
- get_serializer_class()[source]
Retorna a classe de serializer adequada para a acao atual.
Para as acoes
create,updateepartial_update: utilizaAlteracaoCardapioCEISerializerCreate.Para as demais acoes: utiliza
AlteracaoCardapioCEISerializer.
- Returns:
Classe de serializer a ser utilizada na acao corrente.
- Return type:
type
- minhas_solicitacoes(request)[source]
- Retorna as solicitacoes de Alteracao de Tipo de Alimentacao CEI do usuario logado que estao em RASCUNHO.
permissao: Escola terceirizada.
Os resultados sao paginados.
- Parameters:
request (Request) – Objeto da requisicao HTTP contendo o usuario autenticado.
- Returns:
Resposta paginada com a lista de alteracoes de cardapio CEI em rascunho do usuario.
- Return type:
Response
- queryset = <QuerySet de AlteracaoCardapioCEI>
Retorna objetos de Alteração do Tipo de Alimentação.
- relatorio(request, uuid=None)[source]
- Gera e retorna o relatorio da Alteracao do Tipo de Alimentacao CEI em formato PDF.
permissao: qualquer usuario autenticado com acesso a solicitacao.
- Parameters:
request (Request) – Objeto da requisicao HTTP.
uuid (str, optional) – UUID da instancia de
AlteracaoCardapioCEI. Padrao: None.
- Returns:
Resposta contendo o PDF do relatorio gerado.
- Return type:
HttpResponse
- solicitacoes_codae(request, filtro_aplicado='sem_filtro')[source]
- Retorna todas as solicitacoes de Alteracao de Tipo de Alimentacao CEI para a CODAE:
com status DRE_VALIDADO, para a CODAE autorizar, negar ou pedir questionamento a empresa do lote;
utilizado em tela para dividir as solicitacoes por prioridade (proximas ao vencimento, prazo limite, prazo regular).
permissao: CODAE Gestao de Alimentacao.
Filtra opcionalmente por diretoria regional e/ou lote via query params.
- Parameters:
request (Request) – Objeto da requisicao HTTP. Aceita
diretoria_regionalelotecomo query params opcionais.filtro_aplicado (str) – Filtro de status aplicado as solicitacoes. Padrao:
constants.SEM_FILTRO.
- Returns:
Lista serializada das alteracoes de cardapio CEI encontradas.
- Return type:
Response
- solicitacoes_diretoria_regional(request, filtro_aplicado='sem_filtro')[source]
- Retorna as solicitacoes de Alteracao do Tipo de Alimentacao CEI das escolas vinculadas a DRE do usuario:
com status DRE_A_VALIDAR, para a DRE validar ou nao validar;
utilizado em tela para dividir as solicitacoes por prioridade (proximas ao vencimento, prazo limite, prazo regular).
permissao: Diretoria Regional.
Filtra opcionalmente por lote via query param.
- Parameters:
request (Request) – Objeto da requisicao HTTP contendo o usuario autenticado. Aceita
lotecomo query param opcional.filtro_aplicado (str) – Filtro de status aplicado as solicitacoes. Padrao:
constants.SEM_FILTRO.
- Returns:
Lista serializada das alteracoes de cardapio CEI encontradas para a DRE.
- Return type:
Response
- solicitacoes_terceirizada(request, filtro_aplicado='sem_filtro')[source]
- Retorna as solicitacoes de Alteracao do Tipo de Alimentacao CEI da terceirizada do usuario.
permissao: empresa terceirizada.
Os resultados sao paginados.
- Parameters:
request (Request) – Objeto da requisicao HTTP contendo o usuario autenticado.
filtro_aplicado (str) – Filtro de status aplicado as solicitacoes. Padrao:
constants.SEM_FILTRO.
- Returns:
Resposta paginada com a lista de alteracoes de cardapio CEI da terceirizada.
- Return type:
Response
managers
Managers customizados para o modelo AlteracaoCardapioCEI.
Cada manager aplica um filtro diferente sobre o queryset padrão, segmentando as alterações de cardápio CEI por janela temporal.
- class AlteracoesCardapioCEIDestaSemanaManager(*args, **kwargs)[source]
Bases:
ManagerManager que retorna alterações de cardápio CEI com data nos próximos 7 dias.