from datetime import date from typing import Any import nh3 from django.db.models import Q from django.utils import timezone from rest_framework import serializers from rest_framework.validators import UniqueTogetherValidator from . import catalogo from .empresas_questor import normalizar_codigo_empresa, resolve_nome_empresa from .indicadores import calculo as indicadores_calculo from .nao_conformidades import classificacao as nc_classificacao from .models import ( CONCILIACAO_ARQUIVO_MAX_BYTES, AcessoGeral, AcessoGeralSecao, AjudaAplicacao, CategoriaEvento, CompromissoAgenda, ConciliacaoFornecedor, ContabilAchado, ContabilApuracao, ContabilApuracaoReprocessamento, ContabilConta, ContabilLinhaAnaliseVertical, ContabilLinhaDre, ContabilObservacao, ContabilObservacaoEdicao, Departamento, EmpresaQuestor, Favorito, FuncaoTelefonia, ImportacaoPlanoSaude, ImportacaoPlanoSaudeAlteracao, ImportacaoPlanoSaudeAuditoria, ImportacaoPlanoSaudeLinha, ImportacaoPlanoSaudeDePaula, ImportacaoPlanoSaudeDePaulaAlteracao, ImportacaoPlanoSaudeDePaulaAuditoria, ImportacaoPlanoSaudeDePaulaLinha, IndicadorApuracao, IndicadorApuracaoColaborador, IndicadorApuracaoEmpresa, IndicadorApuracaoResposta, IndicadorContabilComponente, IndicadorContabilDefinicao, IndicadorCriterio, IndicadorDepartamento, IndicadorDepartamentoGerente, IndicadorPercentualTipo, LinkFerramenta, LinkFerramentaFavorito, NaoConformidadeImportacao, NCAcao, NCAcompanhamento, NCOcorrencia, NotificacaoDispensada, ParametroFiscalCustoContratacao, PerfilAcesso, Ramal, RamalAusencia, RegraCusteioPlanoSaude, RegraCusteioPlanoSaudeDePaula, TelefoneExterno, Usuario, WidgetUsuario, ) from .custo_contratacao.calculo import EntradaSimulacaoEmpregado from .dashboard_contabil import formula as dashboard_contabil_formula from .planos_saude.leiaute_sistema import formata_valor_br, parse_valor_br from .planos_saude.pipeline import CUSTEIOS_VALIDOS, OPERADORAS, TIPOS_LANCAMENTO_VALIDOS, TIPOS_PESSOA_VALIDOS from .planos_saude.regras_empresa import REGRAS_EMPRESA # Allowlist compartilhada por todo campo de texto rico com imagens embutidas # (Observações de Acesso Geral, ver "Acessos Gerais" no CLAUDE.md; texto de # "Mais informações" de uma aplicação, ver "Ajuda de aplicação") — o conteúdo # vem de um