Advertisement
Guest User

Untitled

a guest
Jul 8th, 2018
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.84 KB | None | 0 0
  1. from pypxlib import Table
  2. import sqlite3
  3. from pymongo import MongoClient
  4.  
  5. client = MongoClient('localhost', username='revenda', password='r3v3nd@', authSource='DigisatServer', port=12220)
  6. database = client["DigisatServer"]
  7. collection = database["ProdutosServicosEmpresa"]
  8.  
  9.  
  10. pipeline = [
  11.     {
  12.         u"$lookup": {
  13.             u"from": u"ProdutosServicos",
  14.             u"localField": u"ProdutoServicoReferencia",
  15.             u"foreignField": u"_id",
  16.             u"as": u"ProdutosServicos"
  17.         }
  18.     },
  19.     {
  20.         u"$lookup": {
  21.             u"from": u"Precos",
  22.             u"localField": u"PrecoReferencia",
  23.             u"foreignField": u"_id",
  24.             u"as": u"Precos"
  25.         }
  26.     }
  27. ]
  28.  
  29. cursor = collection.aggregate(
  30.     pipeline,
  31.     allowDiskUse = False
  32. )
  33. produtos = Table('banco/TABEST1.db')
  34. conn = sqlite3.connect('db.sqlite3')
  35. try:
  36.     for doc in cursor:
  37.         id = str(doc['ProdutosServicos'][0]['_id'])
  38.         cursor1 = conn.cursor()
  39.         cursor1.execute("SELECT * FROM produtos where mongo = '" + id + "';")
  40.         result = cursor1.fetchone()
  41.         if result == None:
  42.             barras = ''
  43.             caracteristica = ''
  44.             if 'CodigoBarras' in doc['ProdutosServicos'][0]:
  45.                 barras = doc['ProdutosServicos'][0]['CodigoBarras']
  46.  
  47.             if 'Caracteristica' in doc['ProdutosServicos'][0]:
  48.                 caracteristica = doc['ProdutosServicos'][0]['Caracteristica']
  49.  
  50.             dados = (None,  # Controle
  51.                      doc['ProdutosServicos'][0]['CodigoInterno'],  # Codigo
  52.                      barras,  # CodInterno
  53.                      doc['ProdutosServicos'][0]['Descricao'],  # Produto
  54.                      None,  # LkSetor
  55.                      caracteristica,  # Fabricante
  56.                      None,  # LkFornec
  57.                      doc['Precos'][0]['Custo']['Valor'],  # PrecoCusto
  58.                      None,  # CustoMedio
  59.                      doc['Precos'][0]['Venda']['Valor'],  # PrecoVenda
  60.                      0,  # Quantidade
  61.                      None,  # EstMinimo
  62.                      doc['ProdutosServicos'][0]['UnidadeMedida']['Sigla'],  # Unidade
  63.                      None,  # Lucro
  64.                      None,  # Comissao
  65.                      None,  # Moeda
  66.                      None,  # UltReaj
  67.                      None,  # Foto
  68.                      None,  # Obs
  69.                      0,  # NaoSaiTabela
  70.                      0,  # Inativo
  71.                      doc['NcmNbs']['Codigo'],  # CodIPI
  72.                      None,  # IPI
  73.                      None,  # CST
  74.                      None,  # ICMS
  75.                      100,  # BaseCalculo
  76.                      None,  # PesoBruto
  77.                      None,  # PesoLiq
  78.                      None,  # LkModulo
  79.                      None,  # Armazenamento
  80.                      None,  # QntEmbalagem
  81.                      None,  # ELV
  82.                      None,  # Previsao
  83.                      None,  # DataFoto
  84.                      None,  # DataInc
  85.                      1,  # LkUserInc
  86.                      None,  # CodEx
  87.                      None,  # IVA_ST
  88.                      None,  # PFC
  89.                      None,  # IPI_CST
  90.                      None,  # IPI_BaseCalc
  91.                      None,  # IPPT
  92.                      None,  # IAT
  93.                      None,  # DataUltMov
  94.                      None,  # EAD
  95.                      None,  # cEAN
  96.                      None,  # cEANTri
  97.                      None,  # cProdANP
  98.                      None  # CEST
  99.                      )
  100.             paradox = produtos.insert(dados)
  101.             insert = "INSERT INTO produtos (paradox, mongo) VALUES ({}, '{}')".format(int(paradox), id)
  102.             cursor1.execute(insert)
  103.         else:
  104.             print(result)
  105. finally:
  106.     conn.commit()
  107.     conn.close()
  108.     produtos.close()
  109.     client.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement