from nsj_integracao_api_client.service.cfg.base import _entidades_base

_entidades_tribo_materiais = [
    *_entidades_base,
    'ns.tipi',
    'pedidos.configuracoes_aprovacoes',
    'pedidos.empresas_concorrentes',
    'pedidos.potenciais_portfolios',
    'estoque.mva',
    'estoque.tabelasdeprecoscategorias',
    'estoque.tabelasdeprecosfamilias',
    'pedidos.pessoas_empresasconcorrentes',
    'pedidos.produtos_faixas_comissoes',
    'estoque.rotas_pessoas',
    'estoque.regrasdepagamento',
    'estoque.produtosconvunidades',
    'pedidos.equipes',
    'pedidos.pessoas_produtos_consumidos',
    'pedidos.equipes_vendedores',
    'ns.pessoasparcelamentos',
    'pedidos.produtos_faixas_precos_vigencias',
    'pedidos.produtos_faixas_precos',
    'pedidos.produtos_faixas_precos_segmentos',
    'estoque.classificacoesfragilidade',
    'ns.conjuntosfichas',
    'ns.pessoasformaspagamentos',
    'pedidos.tipos_objecoes',
    'pedidos.clientesvendedores',
    'estoque.itens',
    'estoque.locaisdeestoques',
    'estoque.rotas',
    'ns.contatos',
    'financas.titulos',
    'estoque.locaisdeestoquesoperacoes',
    'estoque.unidades',
    'ns.estabelecimentosconjuntos',
    'ns.telefones',
    'estoque.beneficios_fiscais',
    'estoque.produtos',
    'ns.cfop',
    'estoque.romaneios',
    'estoque.romaneios_notas',
    'estoque.romaneios_notas_itens',
    'compras.associacoesitensnotas',
    'estoque.categoriasdeprodutos',
    'estoque.familias',
    'estoque.operacoes',
    'estoque.tabelasdeprecos',
    'estoque.tabelasdeprecosentidades',
    'estoque.tabelasdeprecositens',
    'estoque.tabelasdeprecosuf',
    'estoque.tabelasdeprecosestabelecimentos',
    'estoque.motoristas',
    'pedidos.configuracoes',
    'pedidos.formasdepagamentosativas',
    'pedidos.locaisdeestoquevendedores',
    'pedidos.operacoesestabelecimentos',
    'pedidos.parcelamentosativos',
    'pedidos.produtosvendedores',
    'pedidos.tabelasdeprecosvendedores',
    'scritta.tabicms',
    'ns.conjuntos',
    'ns.conjuntosclientes',
    'ns.df_enderecos_retiradasentregas',
    'ns.contatosemails',
    'ns.df_fretes',
    'ns.df_fretes_volumes',
    'ns.df_linhas_impostos',
    'ns.df_pagamentos',
    'ns.df_parcelas',
    'ns.df_vendedores',
    'ns.formaspagamentos',
    'estoque.veiculos',
    'ns.conjuntosprodutos',
    'estoque.saldoslocaisdeestoques',
    'ns.enderecos',
    'ns.configuracoes',
    'ns.df_docfis',
    'estoque.entregadores',
    'estoque.perfiltrib_est',
    'estoque.perfiltrib_fed',
    'estoque.figurastributarias',
    'ns.feriados',
    'ns.pessoas',
    'crm.segmentosatuacao',
    'ns.pessoasmunicipios',
    'ns.usuarios',
    'estoque.figurastributariastemplates',
    'estoque.perfiltrib_est_validades',
    'estoque.romaneios_entregas',
    'estoque.perfiltrib_fed_validades',
    'estoque.perfiltrib_fed_validades_impostos',
    'estoque.romaneios_entregadores',
    'estoque.perfiltrib_est_validades_impostos',
]

# Existe
cfg_materiais_diretorio = [
    'compras.associacoesitensnotas',
    'crm.parcelamentos',
    'crm.parcelas',
    'estoque.categoriasdeprodutos',
    'estoque.familias',
    'estoque.figurastributarias',
    'estoque.figurastributariastemplates',
    'estoque.itens',
    'estoque.locaisdeestoques',
    'estoque.locaisdeestoquesoperacoes',
    'estoque.mva',
    'estoque.operacoes',
    'estoque.perfiltrib_est',
    'estoque.perfiltrib_est_validades',
    'estoque.perfiltrib_est_validades_impostos',
    'estoque.perfiltrib_fed',
    'estoque.perfiltrib_fed_validades',
    'estoque.perfiltrib_fed_validades_impostos',
    'estoque.produtos',
    'estoque.produtosconvunidades',
    'estoque.romaneios',
    'estoque.romaneios_notas',
    'estoque.saldoslocaisdeestoques',
    'estoque.tabelasdeprecos',
    'estoque.tabelasdeprecoscategorias',
    'estoque.tabelasdeprecosentidades',
    'estoque.tabelasdeprecosestabelecimentos',
    'estoque.tabelasdeprecosfamilias',
    'estoque.tabelasdeprecositens',
    'estoque.tabelasdeprecosuf',
    'estoque.unidades',
    'financas.titulos',
    'ns.cfop',
    'ns.configuracaoacessoapi',
    'ns.configuracoes',
    'ns.conjuntos',
    'ns.conjuntosclientes',
    'ns.conjuntosfichas',
    'ns.conjuntosprodutos',
    'ns.contaspadroes',
    'ns.contatos',
    'ns.contatosemails',
    'ns.df_docfis',
    'ns.df_enderecos_retiradasentregas',
    'ns.df_fretes',
    'ns.df_fretes_volumes',
    'ns.df_linhas',
    'ns.df_linhas_impostos',
    'ns.df_pagamentos',
    'ns.df_parcelas',
    'ns.df_vendedores',
    'ns.empresas',
    'ns.enderecos',
    'ns.estabelecimentos',
    'ns.estabelecimentosconjuntos',
    'ns.followups',
    'ns.formaspagamentos',
    'ns.gruposdeusuariosacessos',
    'ns.gruposempresariais',
    'ns.ipienquadramentos',
    'ns.locaisdeuso',
    'ns.numeros_docfis',
    'ns.perfisusuario',
    'ns.pessoas',
    'ns.pessoasformaspagamentos',
    'ns.pessoasparcelamentos',
    'ns.rateios',
    'ns.telefones',
    'ns.tipi',
    'ns.usuarios',
    'pedidos.clientesvendedores',
    'pedidos.configuracoes',
    'pedidos.configuracoes_aprovacoes',
    'pedidos.empresas_concorrentes',
    'pedidos.formasdepagamentosativas',
    'pedidos.locaisdeestoquevendedores',
    'pedidos.operacoesestabelecimentos',
    'pedidos.parcelamentosativos',
    'pedidos.pessoas_empresasconcorrentes',
    'pedidos.pessoas_produtos_consumidos',
    'pedidos.potenciais_portfolios',
    'pedidos.produtos_faixas_comissoes',
    'pedidos.produtos_faixas_precos',
    'pedidos.produtos_faixas_precos_segmentos',
    'pedidos.produtos_faixas_precos_vigencias',
    'pedidos.produtosvendedores',
    'pedidos.tabelasdeprecosvendedores',
    'pedidos.tipos_objecoes',
    'scritta.tabicms',
]


if __name__ == '__main__':
    print(len(_entidades_tribo_materiais))
    print(f" a mais: {set(_entidades_tribo_materiais) - set(cfg_materiais_diretorio)}")
    print(f" a menos: {set(cfg_materiais_diretorio) - set(_entidades_tribo_materiais)}")


# @TODO Revisar com equipe
# a mais: {'estoque.romaneios_notas_itens', 'ns.feriados', 'estoque.motoristas', 'estoque.veiculos', 'estoque.rotas', 'pedidos.equipes', 'estoque.romaneios_entregas', 'estoque.entregadores', 'estoque.romaneios_entregadores', 'estoque.regrasdepagamento', 'estoque.rotas_pessoas', 'pedidos.equipes_vendedores', 'estoque.classificacoesfragilidade', 'ns.pessoasmunicipios'}
# a menos: {'ns.ipienquadramentos', 'ns.configuracaoacessoapi', 'ns.followups', 'ns.rateios', 'crm.parcelas', 'ns.usuarios', 'ns.contaspadroes', 'ns.locaisdeuso', 'ns.gruposdeusuariosacessos', 'ns.numeros_docfis', 'ns.perfisusuario', 'crm.parcelamentos', 'ns.df_linhas'}