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
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
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')
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')
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
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')
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()
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)