示例#1
0
def api_lojas_mais_proximas(produto_id, cep_cliente):

    estoque = Estoque()

    lojas_encontradas = estoque.select_lojas_com_produto(produto_id)

    if len(lojas_encontradas) > 0:
        print 'sim'

        for f in lojas_encontradas:

            f['distancia'] = 0
            f['km'] = ''

            cep_loja = f['cep']

            ret_google = api_distancia_google(cep_loja, cep_cliente)

            if 'distance' in ret_google:

                distance = ret_google['distance']

                if 'value' in distance:
                    f['distancia'] = distance['value']
                    f['km'] = distance['text']

        return sorted(lojas_encontradas, key=lambda k: k['distancia'])

    return lojas_encontradas
示例#2
0
    def Inicializar(self, tipo):
        pasta = config.estoque['pasta']
        pasta_estoque_inicial = config.estoque['pasta_estoque_inicial']
        pasta_estoque_final = config.estoque['pasta_estoque_final']

        if tipo == TipoEstoque.INICIAL:
            arquivos_da_pasta = [
                arquivo
                for arquivo in listdir(f'./{pasta}/{pasta_estoque_inicial}')
                if isfile(join(f'./{pasta}/{pasta_estoque_inicial}', arquivo))
            ]
        else:
            arquivos_da_pasta = [
                arquivo
                for arquivo in listdir(f'./{pasta}/{pasta_estoque_final}')
                if isfile(join(f'./{pasta}/{pasta_estoque_final}', arquivo))
            ]

        arquivo_xlsx_estoque = next(
            (arquivo for arquivo in arquivos_da_pasta if '~' not in arquivo),
            None)
        if arquivo_xlsx_estoque == None:
            print(f'Não foi possível localizar o arquivo do {tipo}.')
            sys.exit()

        if tipo == TipoEstoque.INICIAL:
            caminho_completo_arquivo_xlsx = f'./{pasta}/{pasta_estoque_inicial}/{arquivo_xlsx_estoque}'
        else:
            caminho_completo_arquivo_xlsx = f'./{pasta}/{pasta_estoque_final}/{arquivo_xlsx_estoque}'

        workbook = openpyxl.load_workbook(caminho_completo_arquivo_xlsx)
        # sheet = workbook['estoque']
        sheet = workbook.active

        # descobrindo a quantidade de linhas com dados e armazenando na variável "total_linhas_dados"
        linha_inicial_dados = 4
        conteudo_celula = sheet['A' + str(linha_inicial_dados)].value
        total_linhas_dados = 0
        while (conteudo_celula != None):
            total_linhas_dados += 1
            conteudo_celula = sheet['A' + str(linha_inicial_dados +
                                              total_linhas_dados)].value

        # recupera os insumos e suas quantidades da planilha
        descricao = 'Inicial' if tipo == TipoEstoque.INICIAL else 'Final'
        data_da_contagem = str(sheet['B1'].value)
        hora_da_contagem = str(sheet['B2'].value)
        estoque = Estoque(descricao, data_da_contagem, hora_da_contagem)
        for x in range(linha_inicial_dados,
                       total_linhas_dados + linha_inicial_dados):
            codigo_insumo = str(sheet['A' + str(x)].value)
            insumo = self.repositorio_insumo.ObterPorCodigo(codigo_insumo)
            pacotes = sheet['C' + str(x)].value
            unidades = sheet['D' + str(x)].value
            estoque.adicionarItem(insumo, pacotes, unidades)

        return estoque
示例#3
0
 def teste_cadastrar_produtos(self):
     estoque = Estoque()
     produto = Produto('Computador', 'Dell', 'SN2011', 1500)
     estoque.cadastrar_produto(produto)
     estoque.lista_produtos |should| have(1).itens
     estoque.lista_produtos[0].descricao |should| equal_to('Computador')
     produto1 = Produto('Computador', 'CCE', 'SN2011', 1300)
     estoque.cadastrar_produto(produto1)
     estoque.lista_produtos |should| have(2).itens
     estoque.lista_produtos[1].marca |should| equal_to('CCE')
示例#4
0
 def teste_trocar_aparelho(self):
     estoque = Estoque()
     produto = Produto('Computador', 'Dell', 'SN2011', 1500)
     estoque.cadastrar_produto(produto)
     estoque.inserir_item_produto(0, 'powqieowqiepowq')
     estoque.inserir_item_produto(0, '11111111111111')
     estoque.vender_produto('Computador')
     estoque.lista_produtos[0].numero_serie[0] |should| equal_to('11111111111111')
示例#5
0
def test_insert_estoque(produto_id, loja_id, quantidade):

    print u'  - Inserindo Estoque'

    estoque = Estoque()
    ret = estoque.inserir(produto_id, loja_id, quantidade)

    if ret is True:
        print '  - OK'
    else:
        print '  - ERRO'

    print ' '

    return ret
示例#6
0
 def teste_inserir_item_produto(self):
     estoque = Estoque()
     produto = Produto('Computador', 'Dell', 'SN2011', 1500)
     estoque.cadastrar_produto(produto)
     produto1 = Produto('Computador', 'CCE', 'SN2011', 1300)
     estoque.cadastrar_produto(produto1)
     estoque.inserir_item_produto(0, 'powqieowqiepowq')
     estoque.lista_produtos[0].numero_serie |should| have(1).itens
     estoque.lista_produtos[0].numero_serie[0] |should| equal_to('powqieowqiepowq')
     estoque.inserir_item_produto(0, '11111111111111')
     estoque.lista_produtos[0].numero_serie |should| have(2).itens
     estoque.lista_produtos[0].numero_serie[1] |should| equal_to('11111111111111')
示例#7
0
 def teste_relacao_aparelhos(self):
     estoque = Estoque()
     produto = Produto('Computador', 'Dell', 'SN2011', 1500)
     estoque.cadastrar_produto(produto)
     produto1 = Produto('Mouse', 'CCE', 'SN2011', 1300)
     estoque.cadastrar_produto(produto1)
     estoque.inserir_item_produto(0, 'powqieowqiepowq')
     estoque.inserir_item_produto(0, '11111111111111')
     estoque.lista_produtos |should| have(2).itens
     estoque.lista_produtos[0].numero_serie |should| have(2).itens
     estoque.lista_produtos[1].numero_serie |should| have(0).itens
     estoque.relacao_aparelhos()
示例#8
0
 def teste_buscar_numero_serie(self):
     estoque = Estoque()
     produto = Produto('Computador', 'Dell', 'SN2011', 1500)
     estoque.cadastrar_produto(produto)
     produto1 = Produto('Mouse', 'CCE', 'SN2011', 1300)
     estoque.cadastrar_produto(produto1)
     estoque.inserir_item_produto(0, 'powqieowqiepowq')
     estoque.inserir_item_produto(0, '11111111111111')
     produto_encontrado = estoque.buscar_produto('Computador')
     estoque.buscar_numero_serie(produto_encontrado) |should| equal_to('powqieowqiepowq')
     produto_encontrado = estoque.buscar_produto('Mouse')
     estoque.buscar_numero_serie(produto_encontrado) |should| equal_to(None)