api
viewsets
- class CalendarioCronogramaViewset(**kwargs)[source]
Bases:
ReadOnlyModelViewSetViewSet para consulta de etapas de cronograma em formato de calendário.
Endpoints: -
GET /etapas-por-mes/— Etapas agrupadas por mês/ano. -GET /datas-bloqueadas-armazenavel/— Datas bloqueadas (tipo armazenável).Utilizado pelo frontend para exibir cronogramas em visualização de calendário.
- get_queryset()[source]
Retorna etapas de cronograma filtradas por mês/ano.
Valida os parâmetros
meseano(obrigatórios) e filtra apenas cronogramas com status ASSINADO_CODAE, ALTERACAO_CODAE ou SOLICITADO_ALTERACAO.
- permission_classes = (<class 'src.dados_comuns.permissions.PermissaoParaVisualizarCalendarioCronograma'>,)
- queryset = <QuerySet de EtapasDoCronograma>
- serializer_class
- class CronogramaModelViewSet(**kwargs)[source]
Bases:
ViewSetActionPermissionMixin,ModelViewSetViewSet para CRUD e gerenciamento de Cronogramas.
Endpoints principais: -
GET /— Lista cronogramas (com filtros por número, empresa, produto, status). -POST /— Cria um novo cronograma (rascunho). -GET /dashboard/— Dashboard agrupado por status. -GET /dashboard-com-filtro/— Dashboard com filtros. -PATCH /<uuid>/fornecedor-assina-cronograma/— Assinatura do fornecedor. -PATCH /<uuid>/abastecimento-assina/— Assinatura DILOG Abastecimento. -PATCH /<uuid>/codae-assina/— Assinatura CODAE. -GET /<uuid>/gerar-pdf-cronograma/— Geração de PDF. -GET /rascunhos/— Lista cronogramas em rascunho. -GET /listagem-relatorio/— Relatório de cronogramas com filtros.Permissões são definidas dinamicamente por
permission_action_classeseViewSetActionPermissionMixin.- abastecimento_assina(request, uuid)[source]
Registra a assinatura da DILOG Abastecimento no cronograma.
Valida a senha do usuário antes de prosseguir. Avança o fluxo do cronograma para ASSINADO_DILOG_ABASTECIMENTO.
- codae_assina(request, uuid)[source]
Registra a assinatura da CODAE no cronograma.
Valida a senha do usuário antes de prosseguir. Avança o fluxo do cronograma para ASSINADO_CODAE (última etapa do fluxo).
- dados_cronograma_ficha_recebimento(request, uuid)[source]
Retorna os dados completos do cronograma para a ficha de recebimento.
- dados_cronograma_pos_recebimento(request, uuid)[source]
Dados do cronograma (produto, processo SEI, unidade de medida) para preenchimento automático no cadastro do Termo de Recebimento Definitivo (Pós-Recebimento).
- dados_dashboard(request, query_set, use_raw)[source]
Monta os dados do dashboard agrupados por status.
Aceita parâmetros
limit,offsetestatusvia query params.- Return type:
- dashboard(request)[source]
Dashboard de cronogramas agrupados por status.
Retorna os cronogramas mais recentes de cada status (ASSINADO_E_ENVIADO_AO_FORNECEDOR, ASSINADO_FORNECEDOR, ASSINADO_DILOG_ABASTECIMENTO, ASSINADO_CODAE) com até 6 registros por grupo.
- dashboard_com_filtro(request)[source]
Dashboard de cronogramas com filtros.
Similar ao
dashboard, mas permite filtrar por número do cronograma, nome do produto e nome do fornecedor via query params.
- detalhar_com_log(request, uuid=None)[source]
Retorna os detalhes do cronograma com o histórico de logs.
- filter_backends = (<class 'django_filters.rest_framework.backends.DjangoFilterBackend'>,)
- filterset_class
alias of
CronogramaFilter
- fornecedor_assina(request, uuid=None)[source]
Registra a assinatura do fornecedor no cronograma.
Valida a senha do usuário antes de prosseguir. Avança o fluxo do cronograma para ASSINADO_FORNECEDOR.
- gerar_pdf_cronograma(request, uuid=None)[source]
Gera o PDF do cronograma.
Para cronogramas Ponto a Ponto (FLV) utiliza o template específico
get_pdf_cronograma_ponto_a_ponto_flv. Para os demais, utiliza o templateget_pdf_cronogramapadrão.
- gerar_relatorio_pdf_async(request)[source]
Solicita a geração assíncrona de relatório de cronogramas em PDF.
Os filtros (situação, data_inicial, data_final) são passados via query params.
- gerar_relatorio_xlsx_async(request)[source]
Solicita a geração assíncrona de relatório de cronogramas em XLSX.
Os filtros (situação, data_inicial, data_final) são passados via query params.
- get_default_sql(workflow, query_set, use_raw)[source]
Busca cronogramas por status ordenados pelo log mais recente.
Se
use_raw=Trueutiliza SQL raw; caso contrário ordena em memória via Python.
- get_serializer_class()[source]
Retorna o serializer adequado conforme a ação.
retrieve/list: CronogramaSerializer (leitura).createcomponto_a_ponto=True: CronogramaPontoAPontoCreateSerializer.demais ações: CronogramaCreateSerializer.
- list(request, *args, **kwargs)[source]
Lista cronogramas com paginação.
Para usuários do perfil ADMINISTRADOR_EMPRESA que são fornecedores, filtra apenas os cronogramas da sua empresa.
- lista_cronogramas_ficha_recebimento(request)[source]
Lista cronogramas aptos para gerar ficha de recebimento.
Retorna apenas cronogramas com status ASSINADO_CODAE.
- lista_cronogramas_para_cadastro(request)[source]
Lista cronogramas para usar em campos de seleção em cadastros.
Para fornecedores, retorna apenas os cronogramas da sua empresa.
- lista_cronogramas_pos_recebimento(request)[source]
Cronogramas vinculados ao contrato selecionado (query param
contrato_id) para o cadastro do Termo de Recebimento Definitivo (Pós-Recebimento).
- lista_relatorio(request, *args, **kwargs)[source]
Retorna listagem de cronogramas para relatório com filtros.
Aceita filtros por
situacao(lista),data_inicialedata_finalvia query params. Aplica paginação e retorna totalizadores por status.
- lookup_field = 'uuid'
- pagination_class
alias of
PreRecebimentoPagination
- permission_action_classes = {'create': [<class 'src.dados_comuns.permissions.PermissaoParaCriarCronograma'>], 'delete': [<class 'src.dados_comuns.permissions.PermissaoParaCriarCronograma'>]}
- permission_classes = (<class 'src.dados_comuns.permissions.PermissaoParaVisualizarCronograma'>,)
- queryset = <QuerySet de Cronograma>
- serializer_class
alias of
CronogramaSerializer
- class InterrupcaoProgramadaEntregaViewSet(**kwargs)[source]
Bases:
CreateModelMixin,ListModelMixin,DestroyModelMixin,GenericViewSetViewSet para cadastro e listagem de Interrupções Programadas de Entregas.
Retorna lista de datas bloqueadas para cadastro de etapas (tipo ARMAZENAVEL).
- get_serializer_class()[source]
Retorna o serializer conforme a ação.
create: InterrupcaoProgramadaEntregaCreateSerializer.demais: InterrupcaoProgramadaEntregaSerializer (leitura).
- lookup_field = 'uuid'
- permission_classes = (<class 'src.dados_comuns.permissions.PermissaoParaVisualizarCalendarioCronograma'>,)
- queryset = <QuerySet de InterrupcaoProgramadaEntrega>
- class SolicitacaoDeAlteracaoCronogramaViewSet(**kwargs)[source]
Bases:
ModelViewSetViewSet para CRUD e gerenciamento de solicitações de alteração de cronograma.
Permite que fornecedores e CODAE criem solicitações de alteração de cronogramas já assinados. Inclui fluxo de aprovação com análise da DILOG Abastecimento e DILOG, ciência do cronograma e dashboard.
Endpoints principais: -
GET /— Lista solicitações (ordenadas por prioridade do perfil). -POST /— Cria nova solicitação de alteração. -GET /dashboard/— Dashboard por status. -PATCH /<uuid>/cronograma-ciente/— Confirma ciência do cronograma. -PATCH /<uuid>/analise-abastecimento/— Análise DILOG Abastecimento. -PATCH /<uuid>/analise-dilog/— Análise DILOG. -PATCH /<uuid>/fornecedor-ciente/— Ciência do fornecedor.Permissões são ajustadas por ação via
get_permissions().- analise_abastecimento(request, uuid)[source]
Análise da solicitação pela DILOG Abastecimento.
Recebe o parâmetro
aprovado(bool) no body. SeTrue, aprova a solicitação; seFalse, reprova com justificativa (campojustificativa_abastecimento).
- analise_dilog(request, uuid)[source]
Análise final da solicitação pela DILOG.
Recebe o parâmetro
aprovado(bool) no body. Se aprovada, substitui as etapas e programações do cronograma original pelas novas. Se reprovada, registra a justificativa (campojustificativa_dilog).
- cronograma_ciente(request, uuid)[source]
Registra a ciência do cronograma sobre a alteração solicitada.
Recebe as novas etapas e programações de recebimento, substitui as anteriores e avança o fluxo da solicitação.
- dashboard(request)[source]
Dashboard de solicitações de alteração agrupadas por status.
Os status exibidos variam conforme o perfil do usuário logado (fornecedor, DILOG Abastecimento, DILOG, CODAE, etc.).
- dashboard_com_filtro(request)[source]
Dashboard com filtros por parâmetros de consulta.
Aceita os mesmos filtros do
SolicitacaoAlteracaoCronogramaFiltervia query params (número do cronograma, fornecedor, data, status).
- filter_backends = (<class 'django_filters.rest_framework.backends.DjangoFilterBackend'>,)
- filterset_class
alias of
SolicitacaoAlteracaoCronogramaFilter
- fornecedor_ciente(request, uuid)[source]
Registra a ciência do fornecedor sobre a alteração.
Avança o fluxo da solicitação e, se o cronograma não estiver no status
ASSINADO_CODAE, finaliza a solicitação de alteração.
- get_permissions()[source]
Retorna as permissões específicas para cada ação.
list/retrieve: PermissaoParaVisualizarSolicitacoesAlteracaoCronograma.create: PermissaoParaCriarSolicitacoesAlteracaoCronograma.
- get_queryset()[source]
Retorna as solicitações de alteração.
Para fornecedores, filtra apenas as solicitações dos cronogramas da sua empresa.
- get_serializer_class()[source]
Retorna o serializer adequado conforme a ação.
list: SolicitacaoAlteracaoCronogramaSerializer (resumo).retrieve: SolicitacaoAlteracaoCronogramaCompletoSerializer (detalhes + logs).demais: SolicitacaoDeAlteracaoCronogramaCreateSerializer.
- list(request, *args, **kwargs)[source]
Lista solicitações de alteração ordenadas por prioridade do perfil.
Utiliza o ServiceQuerysetAlteracaoCronograma para ordenar: primeiro os status prioritários do perfil, depois os demais.
- lookup_field = 'uuid'
- pagination_class
alias of
PreRecebimentoPagination
- permission_classes = (<class 'rest_framework.permissions.IsAuthenticated'>,)
filters
- class CronogramaFilter(data=None, queryset=None, *, request=None, prefix=None)[source]
Bases:
FilterSetFiltros para listagem de Cronogramas.
Permite filtrar por: -
uuid: UUID exato. -numero: Parte do número do cronograma. -nome_empresa: Nome fantasia da empresa fornecedora. -nome_produto: Nome do produto (via ficha técnica). -data_inicial/data_final: Intervalo de datas programadas (etapas). -status: Um ou mais status do workflow. -armazem/empresa: UUIDs dos respectivos modelos.- base_filters = {'armazem': <django_filters.filters.ModelMultipleChoiceFilter object>, 'data_final': <django_filters.filters.DateFilter object>, 'data_inicial': <django_filters.filters.DateFilter object>, 'empresa': <django_filters.filters.ModelMultipleChoiceFilter object>, 'nome_empresa': <django_filters.filters.CharFilter object>, 'nome_produto': <django_filters.filters.CharFilter object>, 'numero': <django_filters.filters.CharFilter object>, 'status': <django_filters.filters.MultipleChoiceFilter object>, 'uuid': <django_filters.filters.CharFilter object>}
- declared_filters = {'armazem': <django_filters.filters.ModelMultipleChoiceFilter object>, 'data_final': <django_filters.filters.DateFilter object>, 'data_inicial': <django_filters.filters.DateFilter object>, 'empresa': <django_filters.filters.ModelMultipleChoiceFilter object>, 'nome_empresa': <django_filters.filters.CharFilter object>, 'nome_produto': <django_filters.filters.CharFilter object>, 'numero': <django_filters.filters.CharFilter object>, 'status': <django_filters.filters.MultipleChoiceFilter object>, 'uuid': <django_filters.filters.CharFilter object>}
- class SolicitacaoAlteracaoCronogramaFilter(data=None, queryset=None, *, request=None, prefix=None)[source]
Bases:
FilterSetFiltros para listagem de Solicitações de Alteração de Cronograma.
Permite filtrar por: -
numero_cronograma: Número do cronograma original. -fornecedor: Nome fantasia do fornecedor. -data: Intervalo de data de criação (DateFromToRangeFilter). -status: Um ou mais status do fluxo de alteração.- base_filters = {'data': <django_filters.filters.DateFromToRangeFilter object>, 'fornecedor': <django_filters.filters.CharFilter object>, 'numero_cronograma': <django_filters.filters.CharFilter object>, 'status': <django_filters.filters.MultipleChoiceFilter object>}
- declared_filters = {'data': <django_filters.filters.DateFromToRangeFilter object>, 'fornecedor': <django_filters.filters.CharFilter object>, 'numero_cronograma': <django_filters.filters.CharFilter object>, 'status': <django_filters.filters.MultipleChoiceFilter object>}
services
- class ServiceDashboardSolicitacaoAlteracaoCronogramaProfiles(original_queryset, filter_class, serializer_class, request)[source]
Bases:
BaseServiceDashboardMapeamento de status do dashboard por perfil de usuário.
Define quais status de
CronogramaAlteracaoWorkflowsão exibidos no dashboard de solicitações de alteração para cada perfil (DILOG Abastecimento, DILOG Diretoria, DILOG Cronograma, etc.).- STATUS_POR_PERFIL = {'ADMINISTRADOR_CODAE_GABINETE': ['EM_ANALISE', 'APROVADO_DILOG', 'REPROVADO_DILOG', 'ALTERACAO_ENVIADA_FORNECEDOR', 'FORNECEDOR_CIENTE'], 'COORDENADOR_CODAE_DILOG_LOGISTICA': ['EM_ANALISE', 'APROVADO_DILOG', 'REPROVADO_DILOG', 'ALTERACAO_ENVIADA_FORNECEDOR', 'FORNECEDOR_CIENTE'], 'DILOG_ABASTECIMENTO': ['CRONOGRAMA_CIENTE', 'APROVADO_DILOG_ABASTECIMENTO', 'REPROVADO_DILOG_ABASTECIMENTO', 'ALTERACAO_ENVIADA_FORNECEDOR', 'FORNECEDOR_CIENTE'], 'DILOG_CRONOGRAMA': ['EM_ANALISE', 'APROVADO_DILOG', 'REPROVADO_DILOG', 'ALTERACAO_ENVIADA_FORNECEDOR', 'FORNECEDOR_CIENTE'], 'DILOG_DIRETORIA': ['APROVADO_DILOG_ABASTECIMENTO', 'REPROVADO_DILOG_ABASTECIMENTO', 'APROVADO_DILOG', 'REPROVADO_DILOG', 'ALTERACAO_ENVIADA_FORNECEDOR', 'FORNECEDOR_CIENTE'], 'DILOG_QUALIDADE': ['EM_ANALISE', 'APROVADO_DILOG', 'REPROVADO_DILOG', 'ALTERACAO_ENVIADA_FORNECEDOR', 'FORNECEDOR_CIENTE'], 'DILOG_VISUALIZACAO': ['EM_ANALISE', 'APROVADO_DILOG', 'REPROVADO_DILOG', 'ALTERACAO_ENVIADA_FORNECEDOR', 'FORNECEDOR_CIENTE']}
- class ServiceQuerysetAlteracaoCronograma(request)[source]
Bases:
objectGerencia a ordenação de solicitações de alteração por prioridade.
Define quais status são prioritários para cada perfil de usuário e monta uma QuerySet ordenada: primeiro os registros com status prioritário, depois os demais, ambos ordenados por criado_em.
- STATUS_PRIORITARIO = {'ADMINISTRADOR_EMPRESA': ['ALTERACAO_ENVIADA_FORNECEDOR'], 'COORDENADOR_CODAE_DILOG_LOGISTICA': ['EM_ANALISE'], 'DILOG_ABASTECIMENTO': ['CRONOGRAMA_CIENTE'], 'DILOG_CRONOGRAMA': ['EM_ANALISE'], 'DILOG_DIRETORIA': ['APROVADO_DILOG_ABASTECIMENTO', 'REPROVADO_DILOG_ABASTECIMENTO'], 'DILOG_QUALIDADE': [], 'DILOG_VISUALIZACAO': [], 'USUARIO_EMPRESA': ['ALTERACAO_ENVIADA_FORNECEDOR']}
validators
helpers
- aplicar_filtros_etapa(etapa_data, data_inicio_obj, data_fim_obj, situacoes, tem_filtro_situacao)[source]
Aplica os filtros de data e situação a uma etapa do relatório.
- converter_para_numero(quantidade_str)[source]
Converte string formatada para número float.
Exemplo:
"10.000,00 kg"→10000.00. Retorna None se a conversão falhar.
- cria_etapas_de_cronograma(etapas, cronograma=None)[source]
Cria registros de EtapasDoCronograma a partir de uma lista de dicionários.
Retorna a lista das etapas criadas, já persistidas no banco.
- cria_programacao_de_cronograma(programacoes, cronograma=None)[source]
Cria registros de ProgramacaoDoRecebimentoDoCronograma.
Retorna a lista das programações criadas, já persistidas no banco.
- extrair_numero_quantidade(quantidade_str)[source]
Extrai apenas os números da string de quantidade, removendo unidades.
Exemplo:
"10.000,00 kg"→"10.000,00".
- filtrar_etapas(serialized_data, filtros)[source]
Filtra uma lista de cronogramas por data e situação das etapas.
- parse_date(date_str)[source]
Converte string de data DD/MM/YYYY para datetime.date.
Retorna None se a string for inválida.
- passa_filtro_data_etapa(etapa_data, data_inicio_obj, data_fim_obj)[source]
Verifica se a data da etapa está dentro do intervalo informado.
- passa_filtro_situacao(etapa_data, situacoes)[source]
Verifica se a etapa atende ao filtro de situação selecionado.
- processar_situacao_a_receber(situacoes, fichas_recebimento, tem_fichas_com_ocorrencia, tem_fichas_sem_ocorrencia, incluir_etapa, fichas_finais)[source]
Processa o filtro de situação “A Receber” nas fichas de recebimento.
- processar_situacao_ocorrencia(situacoes, tem_fichas_com_ocorrencia, tem_fichas_sem_ocorrencia, fichas_recebimento, incluir_etapa, fichas_finais)[source]
Processa o filtro de situação “Ocorrência” nas fichas de recebimento.
- processar_situacao_recebido(situacoes, tem_fichas_sem_ocorrencia, fichas_recebimento, incluir_etapa, fichas_finais)[source]
Processa o filtro de situação “Recebido” nas fichas de recebimento.
- totalizador_relatorio_cronograma(data)[source]
Calcula a quantidade de itens por status do cronograma.
Aceita tanto um QuerySet (usando ORM) quanto uma lista de dicionários já serializados, mantendo o mesmo formato de saída.
Retorna dicionário ordenado de forma decrescente pela quantidade, onde a chave é o título do status e o valor é a contagem.
- Return type:
dict[str,int]
serializers
- class CronogramaComLogSerializer(*args, **kwargs)[source]
Bases:
ModelSerializer- class Meta[source]
Bases:
object- fields = ('uuid', 'numero', 'status', 'criado_em', 'alterado_em', 'contrato', 'empresa', 'qtd_total_programada', 'unidade_medida', 'armazem', 'etapas', 'programacoes_de_recebimento', 'ficha_tecnica', 'tipo_embalagem_secundaria', 'custo_unitario_produto', 'logs', 'observacoes', 'numero_empenho', 'qtd_total_empenho', 'ponto_a_ponto')
- model
alias of
Cronograma
- class CronogramaDetalhePosRecebimentoSerializer(*args, **kwargs)[source]
Bases:
ModelSerializerDados do cronograma para preenchimento automático do cadastro do Termo de Recebimento Definitivo (Pós-Recebimento).
Produto e unidade de medida vêm da ficha técnica; o número do processo SEI vem do contrato vinculado ao cronograma. As relações são opcionais (blank/null) e os campos são protegidos contra ausência.
- class CronogramaFichaDeRecebimentoSerializer(*args, **kwargs)[source]
Bases:
ModelSerializer- class Meta[source]
Bases:
object- fields = ('uuid', 'fornecedor', 'contrato', 'pregao_chamada_publica', 'ata', 'produto', 'marca', 'qtd_total_programada', 'peso_liquido_embalagem_primaria', 'peso_liquido_embalagem_secundaria', 'embalagem_primaria', 'embalagem_secundaria', 'categoria', 'etapas', 'documentos_de_recebimento', 'sistema_vedacao_embalagem_secundaria', 'programa_leve_leite', 'numero_chamada_publica')
- model
alias of
Cronograma
- class CronogramaMensalAssinadoSerializer(*args, **kwargs)[source]
Bases:
ModelSerializerSerializer para listar cronogramas mensal Ponto a Ponto assinados
- class Meta[source]
Bases:
object- fields = ('uuid', 'numero', 'produto_nome', 'fornecedor_nome', 'numero_contrato')
- model
alias of
Cronograma
- class CronogramaRascunhosSerializer(*args, **kwargs)[source]
Bases:
ModelSerializer- class Meta[source]
Bases:
object- fields = ('uuid', 'numero', 'alterado_em', 'ponto_a_ponto')
- model
alias of
Cronograma
- class CronogramaRelatorioSerializer(*args, **kwargs)[source]
Bases:
ModelSerializer- class Meta[source]
Bases:
object- fields = ('uuid', 'numero', 'numero_contrato', 'numero_processo', 'produto', 'empresa', 'qtd_total_programada', 'armazem', 'status', 'marca', 'custo_unitario_produto', 'etapas', 'programa_leve_leite', 'modalidade')
- model
alias of
Cronograma
- class CronogramaSerializer(*args, **kwargs)[source]
Bases:
ModelSerializer- class Meta[source]
Bases:
object- fields = ('uuid', 'numero', 'status', 'criado_em', 'alterado_em', 'contrato', 'empresa', 'qtd_total_programada', 'unidade_medida', 'armazem', 'etapas', 'programacoes_de_recebimento', 'ficha_tecnica', 'tipo_embalagem_secundaria', 'custo_unitario_produto', 'observacoes', 'numero_empenho', 'qtd_total_empenho', 'ponto_a_ponto')
- model
alias of
Cronograma
- class CronogramaSimplesSerializer(*args, **kwargs)[source]
Bases:
ModelSerializer- class Meta[source]
Bases:
object- fields = ('uuid', 'numero', 'pregao_chamada_publica', 'nome_produto', 'programa_leve_leite', 'ponto_a_ponto')
- model
alias of
Cronograma
- class EtapaCronogramaRelatorioSerializer(*args, **kwargs)[source]
Bases:
ModelSerializer- class Meta[source]
Bases:
object- fields = ('numero_cronograma', 'produto', 'empresa', 'marca', 'qtd_total_programada', 'unidade_medida', 'custo_unitario_produto', 'armazem', 'status_cronograma', 'etapa', 'parte', 'data_programada', 'quantidade', 'total_embalagens', 'situacao')
- model
alias of
EtapasDoCronograma
- class EtapasDoCronogramaCalendarioSerializer(*args, **kwargs)[source]
Bases:
ModelSerializer- class Meta[source]
Bases:
object- fields = ('uuid', 'nome_produto', 'uuid_cronograma', 'numero_cronograma', 'nome_fornecedor', 'data_programada', 'numero_empenho', 'etapa', 'parte', 'quantidade', 'status', 'unidade_medida', 'programa_leve_leite')
- model
alias of
EtapasDoCronograma
- class EtapasDoCronogramaFichaDeRecebimentoSerializer(*args, **kwargs)[source]
Bases:
ModelSerializer- class Meta[source]
Bases:
object- fields = ('uuid', 'numero_empenho', 'qtd_total_empenho', 'etapa', 'parte', 'data_programada', 'quantidade', 'total_embalagens', 'desvinculada_recebimento', 'houve_ocorrencia', 'houve_reposicao', 'fichas_recebimento', 'foi_recebida', 'unidade_medida')
- model
alias of
EtapasDoCronograma
- class EtapasDoCronogramaSerializer(*args, **kwargs)[source]
Bases:
ModelSerializer- class Meta[source]
Bases:
object- fields = ('uuid', 'numero_empenho', 'qtd_total_empenho', 'etapa', 'parte', 'data_programada', 'quantidade', 'total_embalagens', 'quantidade_estimada_disponivel')
- model
alias of
EtapasDoCronograma
- class InterrupcaoProgramadaEntregaCreateSerializer(*args, **kwargs)[source]
Bases:
ModelSerializer- class Meta[source]
Bases:
object- fields = ['data', 'motivo', 'descricao_motivo', 'tipo_calendario']
- model
alias of
InterrupcaoProgramadaEntrega
- class InterrupcaoProgramadaEntregaSerializer(*args, **kwargs)[source]
Bases:
ModelSerializer- class Meta[source]
Bases:
object- fields = ['uuid', 'data', 'motivo', 'motivo_display', 'descricao_motivo', 'tipo_calendario', 'tipo_calendario_display']
- model
alias of
InterrupcaoProgramadaEntrega
- class PainelCronogramaSerializer(*args, **kwargs)[source]
Bases:
ModelSerializer- class Meta[source]
Bases:
object- fields = ('uuid', 'numero', 'status', 'empresa', 'produto', 'log_mais_recente', 'programa_leve_leite', 'ponto_a_ponto')
- model
alias of
Cronograma
- class PainelSolicitacaoAlteracaoCronogramaSerializer(*args, **kwargs)[source]
Bases:
Serializer- class Meta[source]
Bases:
object- fields = ('uuid', 'status', 'total', 'dados')
- model
alias of
SolicitacaoAlteracaoCronograma
- class PainelSolicitacaoAlteracaoCronogramaSerializerItem(*args, **kwargs)[source]
Bases:
ModelSerializer- class Meta[source]
Bases:
object- fields = ('uuid', 'numero_solicitacao', 'empresa', 'status', 'cronograma', 'produto', 'log_mais_recente', 'programa_leve_leite', 'ponto_a_ponto')
- model
alias of
SolicitacaoAlteracaoCronograma
- class ProgramacaoDoRecebimentoDoCronogramaSerializer(*args, **kwargs)[source]
Bases:
ModelSerializer- class Meta[source]
Bases:
object- fields = ('uuid', 'data_programada', 'tipo_carga')
- model
alias of
ProgramacaoDoRecebimentoDoCronograma
- class SolicitacaoAlteracaoCronogramaCompletoSerializer(*args, **kwargs)[source]
Bases:
ModelSerializer- class Meta[source]
Bases:
object- fields = ('uuid', 'numero_solicitacao', 'fornecedor', 'status', 'criado_em', 'cronograma', 'etapas_antigas', 'etapas_novas', 'justificativa', 'logs')
- model
alias of
SolicitacaoAlteracaoCronograma
- class SolicitacaoAlteracaoCronogramaSerializer(*args, **kwargs)[source]
Bases:
ModelSerializer- class Meta[source]
Bases:
object- fields = ('uuid', 'numero_solicitacao', 'fornecedor', 'status', 'criado_em', 'cronograma', 'programa_leve_leite')
- model
alias of
SolicitacaoAlteracaoCronograma
serializers_create
- class CronogramaCreateSerializer(*args, **kwargs)[source]
Bases:
ModelSerializer- class Meta[source]
Bases:
object- exclude = ('id', 'numero', 'status')
- model
alias of
Cronograma
- create(validated_data)[source]
We have a bit of extra checking around this in order to provide descriptive messages when something goes wrong, but this method is essentially just:
return ExampleModel.objects.create(**validated_data)
If there are many to many fields present on the instance then they cannot be set until the model is instantiated, in which case the implementation is like so:
example_relationship = validated_data.pop(‘example_relationship’) instance = ExampleModel.objects.create(**validated_data) instance.example_relationship = example_relationship return instance
The default implementation also does not handle nested relationships. If you want to support writable nested relationships you’ll need to write an explicit .create() method.
- class CronogramaPontoAPontoCreateSerializer(*args, **kwargs)[source]
Bases:
ModelSerializerSerializer para criação de cronogramas FLV Ponto a Ponto. - Omitidos: Armazém, Embalagem Secundária e Programações de Recebimento. - Numeração com sufixo “P”.
- class Meta[source]
Bases:
object- fields = ('uuid', 'numero', 'contrato', 'empresa', 'qtd_total_programada', 'unidade_medida', 'ficha_tecnica', 'custo_unitario_produto', 'observacoes', 'numero_empenho', 'qtd_total_empenho', 'etapas', 'cadastro_finalizado', 'password')
- model
alias of
Cronograma
- create(validated_data)[source]
We have a bit of extra checking around this in order to provide descriptive messages when something goes wrong, but this method is essentially just:
return ExampleModel.objects.create(**validated_data)
If there are many to many fields present on the instance then they cannot be set until the model is instantiated, in which case the implementation is like so:
example_relationship = validated_data.pop(‘example_relationship’) instance = ExampleModel.objects.create(**validated_data) instance.example_relationship = example_relationship return instance
The default implementation also does not handle nested relationships. If you want to support writable nested relationships you’ll need to write an explicit .create() method.
- class EtapasDoCronogramaCreateSerializer(*args, **kwargs)[source]
Bases:
ModelSerializer- class Meta[source]
Bases:
object- exclude = ('id', 'cronograma')
- model
alias of
EtapasDoCronograma
- class EtapasDoCronogramaPontoAPontoCreateSerializer(*args, **kwargs)[source]
Bases:
ModelSerializerSerializer simplificado para etapas do cronograma Ponto a Ponto (FLV). Omitidos campos de empenho e total de embalagens.
- class Meta[source]
Bases:
object- fields = ('uuid', 'etapa', 'data_programada', 'quantidade')
- model
alias of
EtapasDoCronograma
- class ProgramacaoDoRecebimentoDoCronogramaCreateSerializer(*args, **kwargs)[source]
Bases:
ModelSerializer- class Meta[source]
Bases:
object- exclude = ('id', 'cronograma')
- model
alias of
ProgramacaoDoRecebimentoDoCronograma
- class SolicitacaoDeAlteracaoCronogramaCreateSerializer(*args, **kwargs)[source]
Bases:
ModelSerializer- class Meta[source]
Bases:
object- exclude = ('id', 'usuario_solicitante', 'etapas_antigas', 'etapas_novas')
- model
alias of
SolicitacaoAlteracaoCronograma
- create(validated_data)[source]
We have a bit of extra checking around this in order to provide descriptive messages when something goes wrong, but this method is essentially just:
return ExampleModel.objects.create(**validated_data)
If there are many to many fields present on the instance then they cannot be set until the model is instantiated, in which case the implementation is like so:
example_relationship = validated_data.pop(‘example_relationship’) instance = ExampleModel.objects.create(**validated_data) instance.example_relationship = example_relationship return instance
The default implementation also does not handle nested relationships. If you want to support writable nested relationships you’ll need to write an explicit .create() method.