Beispiel #1
0
 def produto_onchange(self, record):
     result = record.copy()
     product = Produto().get(key=record['produto'])
     if len(product) != 0:
         product = product[0]
         for key in ['quantidade', 'valor_unitario', 'valor_total']:
             record[key] = to_decimal(record[key])
             if record[key] <= to_decimal(0):
                 record[key] = to_decimal(1)
         if to_decimal(record['desconto']) > to_decimal(0):
             desconto = (100-to_decimal(record['desconto']))/100
         else:
             desconto = to_decimal(1)
         desconto = to_decimal(desconto)
         quantidade = to_decimal(record['quantidade'])
         unidade = record['unidade']
         if not record['unidade']:
             unidade = product['unidade_medida_compra']
         terminal = terminal_id
         result['valor_unitario'] = Produto().get_sale_price(product['id'], terminal, quantidade, unidade)#fazer a funcao de preço de compra
         result['valor_total'] = quantidade * result['valor_unitario'] * desconto
         result['iva'] = product['iva']
         result['unidade'] = unidade
         #este
         result['direito_deducao'] = product['deducao']
     else:
         result={}
     return result
class Test_Venda_Spec(unittest.TestCase):
	def setUp(self):
		self.cliente = Cliente("Ela", "Casa dela")
		self.produto = Produto('Samsung Galaxy', 'SAMSUNG', 'I8150', 3)
		self.produto.inserir_numeros_de_serie(["HWWx3", "HXD#F","LKJ#2"])
	
	def test_vender_aparelho(self):
		venda = Venda("Ela", "Casa dela","Samsung Galaxy", "SAMSUNG", "I8150", "26/10/2012")
		self.produto.estoque[0].numeros_de_serie[0] |should| equal_to("HWWx3")
		venda.fazer_venda() 

		venda.nome_cli |should| equal_to("Ela")
		venda.lista_vendas_2[0] |should| equal_to("LKJ#2")
		venda.lista_vendas_1[0].marca_prod |should| equal_to("SAMSUNG")

	def test_impossivel_vender_produto_so_tem_no_mostruario(self):
		venda = Venda("Ela", "Casa dela","Samsung Galaxy", "SAMSUNG", "I8150", "26/10/2012")
		venda.fazer_venda()
		venda.fazer_venda() 
		venda.fazer_venda() |should| equal_to("impossivel vender")
	
	def test_esta_na_garantia(self):
		self.venda = Venda("Ela", "Casa dela","Samsung Galaxy", "SAMSUNG", "I8150", "26/10/2012")
		self.venda.fazer_venda()
		self.venda.lista_vendas_1[0].nome_cli |should| equal_to("Ela")
		self.venda.lista_vendas_1[0].descricao_prod |should| equal_to('Samsung Galaxy')
		self.venda.consultar_garantia("26/10/2012") |should| equal_to("Ainda está na garantia!")

	def test_esta_fora_da_garantia(self):
		self.venda = Venda("Ela", "Casa dela","Samsung Galaxy", "SAMSUNG", "I8150", "26/10/2012")
		self.venda.fazer_venda()
		self.venda.consultar_garantia("26/10/2016") |should| equal_to("Esta fora da garantia")
Beispiel #3
0
 def ean_onchange(self, record):
     result = record.copy()
     product = Produto(where='referencia = {ean}'.format(ean=record['ean'])).get()
     if len(product) != 0:
         product = product[0]
         for key in ['quantidade', 'valor_unitario', 'valor_total']:
             result[key]= to_decimal(result[key]) 
             if result[key] <= to_decimal(0):
                 result[key] = to_decimal(1)
         if to_decimal(result['desconto']) > to_decimal(0):
             desconto = to_decimal((100-to_decimal(result['desconto']))/100)
         else:
             desconto = to_decimal(1)
         unidade = record['unidade']
         if not record['unidade']:
             unidade = product['unidade_medida_compra']
         result['valor_unitario'] = to_decimal(Produto().get_sale_price(produto=product['id'], quantidade=result['quantidade'], unidade=unidade, terminal = get_terminal('MiniMercado')))
         result['valor_total'] = to_decimal(result['quantidade']) * result['valor_unitario'] * desconto
         result['iva'] = to_decimal(product['iva'])
         result['unidade'] = product['unidade_medida_padrao']
         result['produto'] = product['id']
         #este
         result['direito_deducao'] = product['deducao']
     else:
         result = {}
     return result
Beispiel #4
0
    def iniciar(self):
        '''Enviar 3 produtos e listar os produtos no banco de dados (recebidos do servidor)'''
        try:
            with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
                s.connect((HOST, PORT))
                print("Conectado!")

                C1 = Cor('verde')
                C2 = Cor('branco')
                C3 = Cor('preto')
                P1 = Produto(1, 'produto1', 200, [C1, C3])
                P2 = Produto(2, 'produto2', 300, [C1, C2])
                P3 = Produto(3, 'produto3', 400, [C2, C3])

                #Enviar/adicionar produtos
                Cliente.enviarProduto(P1, s)
                Cliente.enviarProduto(P2, s)
                Cliente.enviarProduto(P3, s)
                # Receber a lista do servidor
                L = Cliente.receberLista(s)
                print(L)

                #Fim
                Cliente.terminar(s)
                print('Fim do cliente')

        except Exception as E:
            print('Erro na conexao...{0}'.format(E))
Beispiel #5
0
    def vender():
        descricao = input("Informe a descricao da venda: ")
        Produto.exibir_produtos(True)
        produto_escolhido = mycolProduto.find(
            {"_id": ObjectId(input("Informe o ID do produto escolhido: "))})
        Funcionario.exibir_funcionarios()
        funcionario_escolhido = mycolFuncionario.find({
            "_id":
            ObjectId(input("Informe o ID do funcionario escolhido: "))
        })
        Cliente.exibir_clientes()
        cliente_escolhido = mycolCliente.find(
            {"_id": ObjectId(input("Informe o ID do cliente escolhido: "))})
        data = date.today().strftime("%d/%m/%Y")

        data_saida_produto = {
            "$set": {
                "data_saida": date.today().strftime("%d/%m/%Y")
            }
        }
        mycolProduto.update_one(produto_escolhido[0], data_saida_produto)
        cli = cliente_escolhido[0]
        venda = {
            "descricao": descricao,
            "produto": [produto_escolhido[0]],
            "funcionario": funcionario_escolhido[0],
            "cliente": cli,
            "data": data
        }
        mycolVendas.insert_one(venda)

        return print("Venda realizada com sucesso!")
Beispiel #6
0
 def gera_movimentos(self, key, window_id):
     if key in ['None', None]:
         key = get_actions(action='save',
                           key=None,
                           model_name=model.__model_name__,
                           internal=True)
     record_id = key
     from produto import Produto
     from linha_distribuicao import LinhaDistribuicao
     produtos = Produto(where="para_distribuicao='True'").get()
     if len(produtos) > 0:
         for produto in produtos:
             valor_unitario = to_decimal(Produto().get_sale_price(
                 produto=produto['id'],
                 quantidade=to_decimal('1'),
                 unidade=produto['unidade_medida_padrao'],
                 terminal=get_terminal('Distribuicao')))
             LinhaDistribuicao(distribuicao=record_id,
                               ean=produto['referencia'],
                               unidade=produto['unidade_medida_padrao'],
                               valor_unitario=valor_unitario,
                               iva=produto['iva'],
                               valor_total=valor_unitario,
                               quant_in=to_decimal('0'),
                               quant_out=to_decimal('0'),
                               user=session['user'],
                               produto=produto['id']).put()
     return form_edit(key=key, window_id=window_id)
Beispiel #7
0
def main():
    cli = Cliente(1, "Pablo Silva", 100, "200.100.345-35", 1)

    p1 = Produto(1, 100, "Feijão Tropeiro", 6.5)
    it1 = ItemNotaFiscal(1, 1, 1, p1)

    p2 = Produto(2, 200, "Feijao Preto", 6.5)
    it2 = ItemNotaFiscal(2, 2, 2, p2)

    p3 = Produto(3, 300, "Bolacha Fortaleza", 2.5)
    it3 = ItemNotaFiscal(3, 3, 1, p3)

    p4 = Produto(3, 300, "Bolacha Maria", 3)
    it4 = ItemNotaFiscal(4, 4, 2, p4)

    nf = NotaFiscal(1, 100, cli)

    nf.adicionarItem(it1)

    nf.adicionarItem(it2)

    nf.adicionarItem(it3)

    nf.adicionarItem(it4)

    nf.calcularNotaFiscal()

    nf.imprimirNotaFiscal()
Beispiel #8
0
def main():

    cliente = Cliente(1, "José Simão da Silva", 1234, "200.100.345-34", 1)
    #informações do cliente

    p1 = Produto(1, 100, "Arroz Agulha",
                 5.50)  #infomarções do produto e da compra do produto
    it1 = ItemNotaFiscal(1, 1, 10, p1)

    p2 = Produto(2, 200, "Feijao Mulatinho",
                 8.50)  #infomarções do produto e da compra do produto
    it2 = ItemNotaFiscal(2, 2, 10, p2)

    p3 = Produto(3, 300, "Macarrao Fortaleza",
                 4.50)  #infomarções do produto e da compra do produto
    it3 = ItemNotaFiscal(3, 3, 10, p3)

    nf = NotaFiscal(1, 100, cliente)

    nf.adicionarItem(it1)

    nf.adicionarItem(it2)

    nf.adicionarItem(it3)

    nf.calcularNotaFiscal()

    nf.imprimirNotaFiscal()
Beispiel #9
0
def main():

    cli = Cliente(1, "Jose Maria", 100, "200.100.345-34", 1)

    p1 = Produto(1, 100, "Arroz Agulha", 5.5)
    it1 = ItemNotaFiscal(1, 1, 10, p1)

    p2 = Produto(2, 200, "Feijao Mulatinho", 8.5)
    it2 = ItemNotaFiscal(2, 2, 10, p2)

    p3 = Produto(3, 300, "Macarao Fortaleza", 4.5)
    it3 = ItemNotaFiscal(3, 3, 10, p3)

    nf = NotaFiscal(1, 100, cli)

    nf.adicionarItem(it1)

    nf.adicionarItem(it2)

    nf.adicionarItem(it3)

    nf.calcularNotaFiscal()

    #print("Valor Nota Fiscal= " + str(nf.valorNota))

    nf.imprimirNotaFiscal()
Beispiel #10
0
def cadastro(nome, marca, valor, peso, quant):
    """
    Cadsdtro de produto
    #>>> cadastro("notebook", "sony", 1000, 4, 10)
    #'Produto cadastrado com sucesso'
    """
    produto = Produto(nome, marca, valor, peso, quant)
    print produto.__quantidade_maxima
    print produto.gravar("text")
class TestesProduto(unittest.TestCase):
    def setUp(self):
        self.sabonete = Produto("Dove", 1, 5)
        self.lapis = Produto("Lápis", 2, 1)
        self.caneta = Produto("Bic", 3, 2)
        self.tinteiro = Produto("Tinteiro", 3, 200)

    def test_produtosIguais(self):
        self.assertTrue(self.caneta.produtosIguais(self.tinteiro))
        self.assertFalse(self.caneta.produtosIguais(self.sabonete))
Beispiel #12
0
    def encher_carrinho(self):
        self.__l_carrinho.clear()

        while True:
            c_produto = str(input('Insira o nome do produto: ')).title()
            c_produto = Produto.produto_dados(c_produto)
            Produto.ver_estoque(c_produto)

            if c_produto:
                if c_produto.estoque:
                    while True:
                        cont = 0
                        quant = int(
                            input(
                                f'Quantidade de {c_produto.nome} X {c_produto.quant} : '
                            ))
                        if quant > 0 and c_produto.quant >= quant:
                            while cont < quant:
                                cont += 1
                                self.l_carrinho.append(c_produto)
                            break
                        elif quant <= 0:
                            print('Insira uma quantidade válida.')
                        else:
                            print(
                                f'A quantidade pedida é maior que a quantidade em estoque.'
                            )
                            print(
                                f'O produto {c_produto.nome} tem em estoque {c_produto.quant} unidade(s).'
                            )
                            op = int(
                                input(f'1- Tentar novamente | 0- Cancelar: '))
                            if op != 1:
                                break
                else:
                    print('Produto faltando.')

            if not self.l_carrinho:
                op = int(input('1- Continuar comprando | 0- Sair: '))
                if op == 0:
                    break
            else:
                op = int(
                    input(
                        '1- Continuar Comprando | 2- Ir para o Caixa | 0- Desfazer Carrinho: '
                    ))
                if op == 2:
                    comprar = Compra(self)
                    comprar.comprar()
                    break
                elif op == 0:
                    self.l_carrinho.clear()
                    break
    def inserir(self, produto: Produto):

        if produto.tipo == 'fruta':
            produto.id_tipo = 1
        elif produto.tipo == 'verdura':
            produto.id_tipo = 2
        else:
            produto.id_tipo = 3

        sql = f" insert into produto value (default, {produto.id_tipo}, '{produto.nome}', '{produto.valor}' )"     
        self.cursor.execute(sql)
        self.conexao.commit()
Beispiel #14
0
 def Confirmar(self, key, window_id):
     # Gera movimento de Stock (entra no armazem por contrapartida de fornecedores)
     self.kargs = get_model_record(model=self, key=key)
     self.kargs['estado'] = 'Confirmado'
     self.kargs['numero'] = base_models.Sequence().get_sequence('entrada')
     periodo = None
     from periodo import Periodo
     periodos = Periodo().get()
     for p in periodos:
         lista_datas = generate_dates(start_date=p['data_inicial'], end_date=p['data_final'])
         if str(format_date(self.kargs['data'])) in lista_datas:
             periodo = p['id']
     from armazem import Armazem
     armazem_fornecedor = Armazem(where="tipo='fornecedor'").get()[0]['id']
     from stock import Stock
     stock = Stock(data=self.kargs['data'], numero=base_models.Sequence().get_sequence('stock'), num_doc=self.kargs['numero'], descricao='Nossa Nota de Entrada', documento='entrada', periodo=periodo, estado='Confirmado', user=self.kargs['user']).put()
     from linha_entrada import LinhaEntrada
     record_lines = LinhaEntrada(where="entrada = '{entrada}'".format(entrada=self.kargs['id'])).get()
     if record_lines:
         from linha_stock import LinhaStock
         from produto import Produto
         for line in record_lines:
             quantidade = to_decimal(line['quantidade'])
             product = Produto().get(key=line['produto'])[0]
             descricao = product['nome']
             LinhaStock(stock=stock, descricao=descricao, produto=line['produto'], armazem=self.kargs['armazem'], quant_saida=to_decimal(0), quant_entrada=quantidade, user=self.kargs['user']).put()
             LinhaStock(stock=stock, descricao=descricao, produto=line['produto'], armazem=armazem_fornecedor, quant_saida=quantidade, quant_entrada=to_decimal(0), user=self.kargs['user']).put()
         self.put()
         ctx_dict = get_context(window_id)
         ctx_dict['main_key'] = self.kargs['id']
         set_context(window_id, ctx_dict)
         return form_edit(window_id=window_id).show()
     else:
         return error_message('Não pode confirmar entradas sem linhas de Entrada! \n')
 def listar_by_tipo_id(self, id_tipo):
     sql = f" select * from produto p , tipo_produto tp where p.fk_tipo_produto = tp.cd_tipo_produto and fk_tipo_produto = {id_tipo}"     
     self.cursor.execute(sql)
     lista = []
     for a in self.cursor.fetchall():
         lista.append(Produto(a[2], a[5], a[3]))
     return lista
Beispiel #16
0
 def save(self, event):
     codigo = self.codigoValue.get()
     if len(codigo) > 1:
         vendas = self.vendasValue.get()
         caixa = self.caixaValue.get()
         info = self.info.get("1.0", tk.END)[:-1]
         pdb[codigo] = Produto(codigo, caixa, info, vendas, datetime.now())
Beispiel #17
0
def main():

    try:
        total = 0
        maiores_mil = 0
        mais_barato = None
        produtos = []
        leitura = ''
        i = 0

        while leitura != 'P':
            nome = input('Digite o nome do produto: ')
            preco = float(input('Digite o preco do produto: ').replace(',', '.'))
            produtos.append(Produto(nome, preco))
            total += produtos[i].getPreco()

            if produtos[i].getPreco() > 1000:
                maiores_mil += 1

            if mais_barato == None:
                mais_barato = produtos[i]
            elif preco < mais_barato.getPreco():
                mais_barato = produtos[i]

            leitura = input('Se deseja continura insira qualquer tecla.\n' \
                        'Se deseja parar o programa insira [P/p]: ').upper()
            i+=1

        print(f'\nTotal gasto: {total} \nQuantos produtos custam mais que 1000:'
              f' {maiores_mil} \nProduto mais barato: {mais_barato.getNome()}')

    except ValueError:
        print('Dado invalido.')
Beispiel #18
0
 def consultar(self):
     self.cursor.execute(
         "SELECT idProduto, codigo, descricao, valorUnitario FROM produto")
     resultados = self.cursor.fetchall()
     produtos = []
     for linha in resultados:
         produtos.append(Produto(linha[0], linha[1], linha[2], linha[3]))
     return produtos
def find_all_produtos():
    cursor.execute("SELECT * FROM Produto;")
    resultados = cursor.fetchall()
    produtos = []
    for result in resultados:  # Transforma o resultado em lista de produto
        produtos.append(
            Produto(result[0], result[1], float(result[2]), result[3]))
    return (produtos)
Beispiel #20
0
def busca_produtos_no_arquivo():
    with open("produtos.txt") as arquivo:
        produtos = []
        for linha in arquivo:
            linha = linha.split("|")
            produto = Produto(linha[0], linha[1], linha[2], linha[3].strip())
            produtos.append(produto)
        arquivo.close()
    return produtos
Beispiel #21
0
 def Confirmar(self, key, window_id):
     # Gera movimento contabilistico (conta de mercadorias contra conta de gastos)
     # Gera movimento de Stock (sai de armazem por contrapartida de cliente)
     if key in ['None', None]:
         key = get_actions(action='save', key=None, model_name=model.__model_name__, internal=True)
     record_id = key
     record = model.get(key=record_id)[0]
     record['user'] = session['user']
     record['estado'] = 'Confirmado'
     record['numero'] = base_models.Sequence().get_sequence('quebra')
     from diario import Diario
     diario = Diario(where="tipo='stock'").get()[0]['id']
     periodo = None
     from periodo import Periodo
     periodos = Periodo().get()
     for p in periodos:
         lista_datas = generate_dates(start_date=p['data_inicial'], end_date=p['data_final'])
         if str(format_date(record['data'])) in lista_datas:
             periodo = p['id']
     if not periodo:
         return error_message('não existe periodo definido para a data em questão! \n')
     from armazem import Armazem
     armazem_cliente = Armazem(where="tipo='cliente'").get()[0]['id']
     from movimento import Movimento
     movimento = Movimento(data=record['data'], numero=base_models.Sequence().get_sequence('movimento'), num_doc=record['numero'], descricao='Nosso Talão de Quebra', diario=diario, documento='quebra', periodo=periodo, estado='Confirmado', user=session['user'], active=False).put()
     from stock import Stock
     stock = Stock(data=record['data'], numero=base_models.Sequence().get_sequence('stock'), num_doc=record['numero'], descricao='Nosso Talão de Quebra', documento='quebra', periodo=periodo, estado='Confirmado', user=session['user']).put()
     Quebra(**record).put()
     from linha_quebra import LinhaQuebra
     record_lines = LinhaQuebra(where="quebra = '{quebra}'".format(quebra=record['id'])).get()
     if record_lines:
         from linha_movimento import LinhaMovimento
         from linha_stock import LinhaStock
         from produto import Produto
         from familia_produto import FamiliaProduto
         for line in record_lines:
             # tambem depois considerar a verificação se o total está bem calculado e logs se o preço unitário for modificado
             quantidade = to_decimal(line['quantidade'])
             product = Produto().get(key=line['produto'])[0]
             conta_mercadorias = product['conta_mercadorias']
             conta_gastos = product['conta_gastos']
             taxa_iva = product['iva']
             armazem_vendas = None
             familia = FamiliaProduto().get(key=product['familia'])
             if familia:
                 familia = familia[0]
                 if familia['armazem_vendas']:
                     armazem_vendas = familia['armazem_vendas']
             descricao = product['nome']
             total_sem_iva = line['valor_total']/(1+taxa_iva)
             LinhaMovimento(movimento=movimento, descricao=descricao, conta=conta_gastos, quant_debito=quantidade, debito=line['valor_total'], quant_credito=0.0, credito=0.0, user=session['user']).put()
             LinhaMovimento(movimento=movimento, descricao=descricao, conta=conta_mercadorias, quant_debito=0.0, debito=0.0, quant_credito=quantidade, credito=line['valor_total'], user=session['user']).put()
             LinhaStock(stock=stock, descricao=descricao, produto=line['produto'], armazem=armazem_vendas, quant_saida=quantidade, quant_entrada=0.0, user=session['user']).put()
             LinhaStock(stock=stock, descricao=descricao, produto=line['produto'], armazem=armazem_cliente, quant_saida=0.0, quant_entrada=quantidade, user=session['user']).put()
         return form_edit(key = key, window_id = window_id)
     else:
         return error_message('Não pode confirmar talões sem linhas de Talão! \n')
    def cadastrar(self):

        print('\n==================CADASTRO PRODUTO =======================')
        nome = input(' Informe o nome: ')
        marca = input('Informe a marca: ')
        quantidade = float(input("Informe a quantidade: "))
        valor = float(input('Informe o valor: '))

        produto_novo = Produto(nome, marca, quantidade, valor)
Beispiel #23
0
    def cadastrarProdutoCarrinho(self):
        carrinho = Carrinho()
        user = Usuarios()
        produto = Produto()

        user.autenticaUser(self.txtusuario.get(), self.txtsenha.get())
        produto.selectProduto(0, self.txtproduto.get())

        carrinho.idusuario = user.idusuario
        carrinho.idproduto = produto.idproduto

        print(carrinho.idusuario, carrinho.idproduto)

        if carrinho.idusuario > 0 and carrinho.idproduto > 0:
            self.lblmsg3["text"] = carrinho.insertCarrinho(
                carrinho.idusuario, carrinho.idproduto)
        else:
            self.lblmsg3[
                "text"] = "produto não inserido no carrinho, autentique o usuario e selecione o produto"
def CadastroGeral(listaProdutos):
    t = tenis.Tenis()
    t.set_modelo(validacao.validaCadastroModelo())
    t.set_numeracao(validacao.validaCadastroNumeracao())
    t.set_cor(validacao.validaCadastroCor())

    prod = Produto()
    prod.set_quantidade(validacao.validaCadastroQuantidade())
    prod.set_valor(validacao.validaCadastroValor())
    prod.set_tenis(t)

    listaProdutos.append(prod)
    def cadastrar_produtos(self):

        while True:
            nome = input(
                "Digite o nome do produto ou R para retornar ao Menu Inicial:")
            if nome == "R":
                break
            preco_unitario = float(input("Digite o preço do produto:"))
            self.produtos.append(Produto(nome, preco_unitario))
            print("Ok! Próximo produto.")
Beispiel #26
0
def cadastrarProduto():
    global produto
    req_data = request.get_json()

    id = len(produto)
    produto_desc = req_data['produto']
    preco = req_data['preco']
    new_produto = Produto(id, produto_desc, preco)
    produto.append(new_produto)
    res = {'status': 'ok'}
    return jsonify(res)
Beispiel #27
0
def produto(id=None):
    try:
        data = request.get_json()

        if request.method == 'POST':
            insert_produto(
                Produto(None, data['nome'], float(data['preco']),
                        data['descricao']))
            db_commit()
            return jsonify({'message': 'Sucesso'}), 201

        if request.method == 'GET':  # Retorna produtos
            if id != None:
                produto = find_produto(id)
                return jsonify({
                    'message': '',
                    'produto': objeto_to_dicionario(produto)
                })
            produtos = find_all_produtos(
            )  # "produtos" é do tipo object, é necessario converter para dict para ser serializado para json
            return jsonify({
                'message': '',
                'produtos': objetos_to_dicionarios(produtos)
            }), 200

        if request.method == 'DELETE':
            delete_produto(id)
            db_commit()
            return jsonify({'message': 'Sucesso'}), 200

        if request.method == 'PUT':
            update_produto(
                id,
                Produto(data['codigo'], data['nome'], float(data['preco']),
                        data['descricao']))
            db_commit()
            return jsonify({'message': 'Sucesso'}), 200

    except:  # Erro de sintaxe do cliente
        db_rollback()
        return jsonify({'message': 'Erro'}), 400
Beispiel #28
0
    def deletarProdutoCarrinho(self):
        carrinho = Carrinho()
        user = Usuarios()
        produto = Produto()
        carrinho.idusuario = self.user.log
        carrinho.idproduto = self.produto.idproduto

        self.lblmsg3["text"] = self.carrinho.deleteCarrinhoProduto(
            self.carrinho.idusuario, self.carrinho.idproduto)

        if self.lblmsg3["text"] == "delete carrinhoProduto sucesso":
            self.txtprodutocarrinho.delete(0, END)
    def enviarProduto(self):
        '''Cria e envia um produto (aleatoriamente) usando o socket conn'''
        self._conn.send(b'adicionar')
        resposta = self._conn.recv(2048)
        print(resposta.decode())
        cod = random.randint(1,10000)
        preco = random.randint(1,2000)
        P = Produto(cod, 'nome-' + str(cod), preco, [Cor('azul'), Cor('branco')])

        self._conn.send(str.encode(json.dumps(P, cls=MyEncoder)))
        resposta = self._conn.recv(2048)
        print(resposta.decode())
Beispiel #30
0
    def Adicionar(self, produtoInputModel):
        produto_itens = []
        for produto_item in produtoInputModel['produto_itens']:
            codigo_insumo = produto_item['insumo']['codigo_insumo']
            insumo = self.repositorio_insumo.ObterPorCodigo(codigo_insumo)
            quantidade = produto_item['quantidade']
            produto_itens.append(ProdutoItem(insumo, quantidade))

        produto = Produto(produtoInputModel['codigo_produto'],
                          produtoInputModel['descricao'], produto_itens)
        self.produtos.append(produto)
        self.Salvar()
Beispiel #31
0
 def consultar_por_nota(self, nota_id):
     self.cursor.execute(
         "SELECT i.idItemNotaFiscal, i.sequencial, i.quantidade, p.idProduto, p.codigo, p.descricao, p.valorUnitario FROM itemnotafiscal AS i JOIN produto AS p ON (p.idProduto = i.Produto_idProduto) WHERE i.NotaFiscal_idNotaFiscal = {}"
         .format(nota_id))
     resultados = self.cursor.fetchall()
     itens = []
     for linha in resultados:
         itens.append(
             ItemNotaFiscal(linha[0], linha[1], linha[2],
                            Produto(linha[3], linha[4], linha[5],
                                    linha[6])))
     return itens
Beispiel #32
0
def api_newProduto():
    global myProduto
    req_data = request.get_json()

    id = req_data['id']
    nome = req_data['nome']
    preco = req_data['preco']

    new_produto = Produto(id, nome, preco)
    myProduto.append(new_produto)
    res = {'status': 'ok'}
    return jsonify(res)
class ProdutoSpec(unittest.TestCase):

    def setUp(self):
        self.um_produto = Produto(10,'Toalha')

    def test_cadastrar_produto(self):
        #um_produto = Produto(10,'Toalha')
        self.um_produto.codigo |should| equal_to(10)
        self.um_produto.descricao |should| equal_to('Toalha')
        self.um_produto.estoque |should| equal_to(0)

    def test_incrementar_estoque(self):
        #self.um_produto = Produto(10,'Toalha')
        self.um_produto.incrementar_estoque(10)
        self.um_produto.incrementar_estoque(50)
        self.um_produto.estoque |should| equal_to(60)

    def test_decrementar_estoque(self):
        #self.um_produto = Produto(10,'Toalha')
        self.um_produto.incrementar_estoque(10)
        self.um_produto.decrementar_estoque(5)
        self.um_produto.estoque |should| equal_to(5)

    def test_listar_produtos(self):
        produto1 = Produto(1,'A')
        produto2 = Produto(2,'A')
        produto3 = Produto(3,'A')
        Produto.listar_produtos() |should| include(produto1)
Beispiel #34
0
class TestPessoa(unittest.TestCase):
    def setUp(self):
        self.pessoa = Pessoa("0", "Bruno", 27997743714, "Rua qualquer")
        self.produto = Produto(0,"miojo",3,5,3.2,40)
        self.fornecedor = Fornecedor("Casas Bahia","Rua 1", 999, 0, 122)
        self.compra = Compra(1,111,0,0,"12/01/2015")
        self.venda = Venda(0,"13/01/2015",0,1)

    def testAtributosPessoa(self):
        self.assertEqual(self.pessoa.getCod(), "0")
        self.assertEqual(self.pessoa.getNome(), "Bruno")
        self.assertEqual(self.pessoa.getTel(), 27997743714)
        self.assertEqual(self.pessoa.getEnd(), "Rua qualquer")

    def testAtributosProduto(self):
        self.assertEqual(self.produto.getCod(), 0)
        self.assertEqual(self.produto.getDesc(), "miojo")
        self.assertEqual(self.produto.getEstmin(), 3)
        self.assertEqual(self.produto.getQtdatual(), 5)
        self.assertEqual(self.produto.getCusto(), 3.2)
        self.assertEqual(self.produto.getPctlucro(), 40)

    def testAtributosFornecedor(self):
         self.assertEqual(self.fornecedor.getNome(), "Casas Bahia")
         self.assertEqual(self.fornecedor.getEnd(), "Rua 1")
         self.assertEqual(self.fornecedor.getTel(), 999)
         self.assertEqual(self.fornecedor.getCod(), 0)
         self.assertEqual(self.fornecedor.getCnpj(), 122)

    def testAtributosCompra(self):
        self.assertEqual(self.compra.getQtd(), 1)
        self.assertEqual(self.compra.getNotaf(), 111)
        self.assertEqual(self.compra.getCodfornec(), 0)
        self.assertEqual(self.compra.getCodprod(), 0)
        self.assertEqual(self.compra.getDtcompra(), "12/01/2015")

    def testAtributosVenda(self):
        self.assertEqual(self.venda.getCliente(), 0)
        self.assertEqual(self.venda.getDt(), "13/01/2015")
        self.assertEqual(self.venda.getProd(), 0)
        self.assertEqual(self.venda.getQtd(), 1)
 def setUp(self):
     self.um_produto = Produto(10,'Toalha')
	def test_consultar_produto(self):
		produto = Produto('Samsung Galaxy W wonder', 'SAMSUNG', 'I8150', 3)
		produto.inserir_numeros_de_serie(["HWWx3", "HXD#F","LKJ#2"])
		produto.consultar_produto() |should| equal_to(('Samsung Galaxy W wonder', 'SAMSUNG',
'I8150', 3))
 def test_listar_produtos(self):
     produto1 = Produto(1,'A')
     produto2 = Produto(2,'A')
     produto3 = Produto(3,'A')
     Produto.listar_produtos() |should| include(produto1)
Beispiel #38
0
 def setUp(self):
     self.pessoa = Pessoa("0", "Bruno", 27997743714, "Rua qualquer")
     self.produto = Produto(0,"miojo",3,5,3.2,40)
     self.fornecedor = Fornecedor("Casas Bahia","Rua 1", 999, 0, 122)
     self.compra = Compra(1,111,0,0,"12/01/2015")
     self.venda = Venda(0,"13/01/2015",0,1)
	def test_gerar_numero_de_serie_nao_deve_passar(self):
		produto = Produto('Samsung Galaxy W wonder', 'SAMSUNG', 'I8150', 3)
		produto.inserir_numeros_de_serie(["HWWx3", "HXD#F","LKJ#2", "4565"]) |should| equal_to("Quantidade acima ou abaixo do permitido")
	def test_consultar_total_de_produtos_disponiveis_na_loja(self):
		produto_1 = Produto('IPHONE 5', 'APPLE', 'H2O9*', 3)
		produto_2 = Produto('Samsung Galaxy S3', 'SAMSUNG', 'BI9X40', 4)
		produto_1.total_de_aparelhos_disponiveis() |should| equal_to(10)
	def setUp(self):
		self.cliente = Cliente("Ela", "Casa dela")
		self.produto = Produto('Samsung Galaxy', 'SAMSUNG', 'I8150', 3)
		self.produto.inserir_numeros_de_serie(["HWWx3", "HXD#F","LKJ#2"])
	def test_verificar_quantidade_de_aparelhos(self):
		produto_1 = Produto('Samsung Galaxy SE', 'SAMSUNG', 'I9140', 10)
		produto_1.disponibilidade_do_aparelho("SAMSUNG", "I9140") |should| equal_to(10)
def cadastrarProduto(descricao, preco, codigoFornecedor):
    produto1 = Produto()
    return produto1.cadastrarProduto(descricao, preco, codigoFornecedor)
def deletarProduto(codigoProduto):
    produto2 = Produto()
    return produto2.deletarProduto(codigoProduto)