Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2017
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.56 KB | None | 0 0
  1. from django.db.models import Q
  2. from api.senior import models as modelErp
  3. from api.cotacao import models as modelCotacao
  4.  
  5. class SyncFornecedor():
  6. filtro = Q()
  7. dados_legado = modelErp.Fornecedor.objects.using('erp').all()
  8. qtd_registros = len(dados_legado)
  9. qtd_adicionados = 0
  10. qtd_atualizados = 0
  11. dados_adicionar = []
  12.  
  13. def run_sync(self):
  14.  
  15. for reg in self.dados_legado:
  16. data = {
  17. 'id_erp': reg.id,
  18. 'nome': reg.nome,
  19. 'tipo': reg.tipo,
  20. 'inscricao_estadual': reg.inscricao_estadual,
  21. 'inscricao_municipal': reg.inscricao_municipal,
  22. 'cpnj_cpf': reg.cpnj_cpf,
  23. 'endereco': reg.endereco,
  24. 'complemento': reg.complemento,
  25. 'bairro': reg.bairro,
  26. 'cep': reg.cep,
  27. 'cidade': reg.cidade,
  28. 'uf': reg.uf,
  29. 'telefone': reg.telefone,
  30. 'email': reg.email,
  31. 'nota': reg.nota,
  32. }
  33.  
  34. filtro = Q(id_erp=reg.id)
  35. existe = modelCotacao.Fornecedor.objects.filter(filtro).exists()
  36.  
  37. if existe:
  38. modelCotacao.Fornecedor.objects.filter(filtro).update(**data)
  39. self.qtd_atualizados += 1
  40. else:
  41. fornecedor = modelCotacao.Fornecedor(**data)
  42. self.dados_adicionar.append(fornecedor)
  43. self.qtd_adicionados += 1
  44.  
  45. if self.dados_adicionar:
  46. modelCotacao.Fornecedor.objects.bulk_create(self.dados_adicionar)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement