def ajax(): _limit = int(request.args.get('limit', '10')) _offset = int(request.args.get('offset', '0')) _sort_order = request.args.get('sort_order', '') _sort_direction = request.args.get('sort_direction', 'asc') _id_cliente = to_int_or_none(request.args.get('id_cliente', '')) _id_veiculo = to_int_or_none(request.args.get('id_veiculo', '')) _data_notificacao = from_str_to_date_or_none( request.args.get('data_notificacao', '')) _limit = _offset + _limit items = [] filtro = get_filter(_id_cliente, _id_veiculo, _data_notificacao) try: fetch = Lembrete.query.filter(filtro) fetch = Lembrete.sorting_data(fetch, _sort_order, _sort_direction) fetch = fetch.slice(_offset, _limit).all() for dado in fetch: items.append(Lembrete.to_dict(dado, lembrete_colunas)) except Exception as ex: print(ex) return Response(response=json.dumps(items), status=200, mimetype="application/json")
def ajax(): _limit = int(request.args.get('limit','10')) _offset = int(request.args.get('offset','0')) _sort_order = request.args.get('sort_order', '') _sort_direction = request.args.get('sort_direction', 'asc') _numero_ordem = to_int_or_none( request.args.get("numero_ordem") ) _id_cliente = to_int_or_none( request.args.get('id_cliente', '') ) _id_veiculo = to_int_or_none( request.args.get('id_veiculo', '') ) _id_tecnico = to_int_or_none( request.args.get('id_tecnico', '') ) _data = from_str_to_date_or_none( request.args.get('data', '') ) _tipo = request.args.get('tipo', '') _limit = _offset + _limit items = [] filtro = get_filter(_numero_ordem, _id_cliente, _id_veiculo, _id_tecnico, _data, _tipo) try: fetch = Historico.query.filter( filtro ) fetch = Historico.sorting_data(fetch, _sort_order, _sort_direction) fetch = fetch.slice(_offset, _limit).all() for dado in fetch: items.append( Historico.to_dict(dado, historico_colunas) ) except Exception as ex: print(ex) return Response(response=json.dumps( items ), status=200, mimetype="application/json")
def count(): _id_cliente = to_int_or_none(request.args.get('id_cliente', '')) _id_modelo = to_int_or_none(request.args.get('id_modelo', '')) _placa = request.args.get('placa', '') count = 0 filtro = get_filter(_id_cliente, _id_modelo, _placa) try: count = Veiculo.query.filter( filtro ).count() except Exception as ex: print(ex) return Response(response=json.dumps( {"count":count} ), status=200, mimetype="application/json")
def form(pk): #Pega os dados dos campos na tela contexto = {} contexto['model'] = {} if request.method == 'POST': id_cliente = to_int_or_none(request.form.get('id_cliente')) id_modelo = to_int_or_none(request.form.get('id_modelo')) placa = request.form.get('placa') pais = request.form.get('pais') cor = request.form.get('cor') combustivel = request.form.get('combustivel') renavam = request.form.get('renavam') chassi = request.form.get('chassi') ano = request.form.get('ano') #Criar dicionário com os dados dicionario = { 'id_cliente':id_cliente, 'id_modelo':id_modelo, 'placa':placa, 'pais':pais, 'cor':cor, 'combustivel':combustivel, 'renavam':renavam, 'chassi':chassi, 'ano':ano, } if pk: dicionario['id'] = pk veiculo = Veiculo(**dicionario) mensagem = None try: contexto['tipo_mensagem'] = 'success' if pk: db.session.merge(veiculo) else: db.session.add(veiculo) db.session.commit() id_cadastro = veiculo.id if pk: flash( u'Veículo {0} atualizado com sucesso.'.format(id_cadastro), 'success') else: flash( u'Veículo {0} cadastrado com sucesso.'.format(id_cadastro), 'success') return redirect(url_for('veiculo.index')) except Exception as ex: print(ex) contexto['mensagem'] = u'Erro ao cadastrar veículo.' contexto['tipo_mensagem'] = 'danger' elif pk: data = Veiculo.query.filter_by(id=pk).one() contexto['model'] = Veiculo.to_dict(data, veiculo_colunas) return render_template('veiculo/cadastro.html', **contexto)
def count(): _id_cliente = to_int_or_none(request.args.get('id_cliente', '')) _id_veiculo = to_int_or_none(request.args.get('id_veiculo', '')) _data_notificacao = from_str_to_date_or_none( request.args.get('data_notificacao', '')) count = 0 filtro = get_filter(_id_cliente, _id_veiculo, _data_notificacao) try: count = Lembrete.query.filter(filtro).count() except Exception as ex: print(ex) return Response(response=json.dumps({"count": count}), status=200, mimetype="application/json")
def count(): _numero_ordem = to_int_or_none( request.args.get("numero_ordem") ) _id_cliente = to_int_or_none( request.args.get('id_cliente', '') ) _id_veiculo = to_int_or_none( request.args.get('id_veiculo', '') ) _id_tecnico = to_int_or_none( request.args.get('id_tecnico', '') ) _data = from_str_to_date_or_none( request.args.get('data', '') ) _tipo = request.args.get('tipo', '') count = 0 filtro = get_filter(_numero_ordem, _id_cliente, _id_veiculo, _id_tecnico, _data, _tipo) try: count = Historico.query.filter( filtro ).count() except Exception as ex: print(ex) return Response(response=json.dumps( {"count":count} ), status=200, mimetype="application/json")
def form(pk): #Pega os dados dos campos na tela contexto = {} contexto['model'] = {} if request.method == 'POST': id_cliente = to_int_or_none(request.form.get("id_cliente")) id_veiculo = to_int_or_none(request.form.get("id_veiculo")) data_notificacao = from_str_to_datetime_or_none( request.form.get("data_notificacao")) texto = request.form.get("texto") #Criar dicionário com os dados dicionario = { 'id_cliente': id_cliente, 'id_veiculo': id_veiculo, 'data_notificacao': data_notificacao, 'texto': texto, } if pk: dicionario['id'] = pk lembrete = Lembrete(**dicionario) if not lembrete.id: db.session.add(lembrete) db.session.flush() db.session.refresh(lembrete) mensagem = None try: db.session.commit() id_cadastro = lembrete.id if pk: flash( 'Lembrete {0} atualizado com sucesso.'.format(id_cadastro), 'success') else: flash( 'Lembrete {0} cadastrado com sucesso.'.format(id_cadastro), 'success') return redirect(url_for('lembrete.index')) except Exception as ex: print(ex) contexto['mensagem'] = u'Erro ao cadastrar lembrete.' contexto['tipo_mensagem'] = 'danger' elif pk: data = Lembrete.query.filter_by(id=pk).one() contexto['model'] = Lembrete.to_dict(data, lembrete_colunas) return render_template('lembrete/cadastro.html', **contexto)
def count(): _nome = request.args.get('nome', '') _id_monta = to_int_or_none(request.args.get('id_monta')) count = 0 filtro = get_filter(_nome, _id_monta) try: count = Modelo.query.filter(filtro).count() except Exception as ex: print(ex) return Response(response=json.dumps({"count": count}), status=200, mimetype="application/json")
def ajax(): _limit = int(request.args.get('limit','10')) _offset = int(request.args.get('offset','0')) _sort_order = request.args.get('sort_order', '') _sort_direction = request.args.get('sort_direction', 'asc') _id_cliente = to_int_or_none(request.args.get('id_cliente', '')) _id_modelo = to_int_or_none(request.args.get('id_modelo', '')) _placa = request.args.get('placa', '') _limit = _offset + _limit items = [] filtro = get_filter(_id_cliente, _id_modelo, _placa) try: fetch = Veiculo.query.filter( filtro ) fetch = Veiculo.sorting_data(fetch, _sort_order, _sort_direction) fetch = fetch.slice(_offset, _limit).all() colunas = [ col.name for col in Veiculo.__table__._columns ] for dado in fetch: items.append( Veiculo.to_dict(dado, veiculo_colunas) ) except Exception as ex: print(ex) return Response(response=json.dumps( items ), status=200, mimetype="application/json")
def form(pk): #Pega os dados dos campos na tela contexto = {} contexto['model'] = {} if request.method == 'POST': nome = request.form.get("nome") codvei_ea = to_int_or_none(request.form.get("codvei_ea")) id_monta = int(request.form.get("id_monta")) #Criar dicionário com os dados dicionario = { "nome": nome, "codvei_ea": codvei_ea, "id_monta": id_monta } if pk: dicionario['id'] = pk modelo = Modelo(**dicionario) mensagem = None try: contexto['tipo_mensagem'] = 'success' if pk: db.session.merge(modelo) else: db.session.add(modelo) db.session.commit() id_cadastro = modelo.id if pk: flash( u'Modelo {0} atualizado com sucesso.'.format(id_cadastro), 'success') else: flash( u'Modelo {0} cadastrado com sucesso.'.format(id_cadastro), 'success') return redirect(url_for('modelo.index')) except Exception as ex: print(ex) contexto['mensagem'] = u'Erro ao cadastrar modelo.' contexto['tipo_mensagem'] = 'danger' elif pk: data = Modelo.query.filter_by(id=pk).one() contexto['model'] = Modelo.to_dict(data, modelo_colunas) return render_template('modelo/cadastro.html', **contexto)
def form(pk): #Pega os dados dos campos na tela contexto = {} contexto['model'] = {} if request.method == 'POST': nome = request.form.get('nome') rg = request.form.get('rg') cpf = request.form.get('cpf') endereco = request.form.get('endereco') complemento = request.form.get('complemento') bairro = request.form.get('bairro') cidade = request.form.get('cidade') cep = request.form.get('cep') estado = request.form.get('estado') pais = request.form.get('pais') telefone = request.form.get('telefone') fax = request.form.get('fax') celular = request.form.get('celular') telefone_comercial = request.form.get('telefone_comercial') fax_comercial = request.form.get('fax_comercial') email = request.form.get('email') bip = request.form.get('bip') data_nascimento = from_str_to_datetime_or_none( request.form.get('data_nascimento')) mes = to_int_or_none(request.form.get('mes')) if data_nascimento: mes = data_nascimento.month else: mes = 0 #Criar dicionário com os dados dicionario = { "nome": nome, "rg": rg, "cpf": cpf, "endereco": endereco, "complemento": complemento, "bairro": bairro, "cidade": cidade, "cep": cep, "estado": estado, "pais": pais, "telefone": telefone, "fax": fax, "celular": celular, "telefone_comercial": telefone_comercial, "fax_comercial": fax_comercial, "email": email, "bip": bip, "data_nascimento": data_nascimento, "mes": mes } if pk: dicionario['id'] = pk cliente = Cliente(**dicionario) mensagem = None try: contexto['tipo_mensagem'] = 'success' if pk: db.session.merge(cliente) else: db.session.add(cliente) db.session.commit() id_cadastro = cliente.id if pk: flash( u'Cliente {0} atualizado com sucesso.'.format(id_cadastro), 'success') else: flash( u'Cliente {0} cadastrado com sucesso.'.format(id_cadastro), 'success') return redirect(url_for('cliente.index')) except Exception as ex: print(ex) contexto['mensagem'] = u'Erro ao cadastrar cliente.' contexto['tipo_mensagem'] = 'danger' elif pk: data = Cliente.query.filter_by(id=pk).one() contexto['model'] = Cliente.to_dict(data, cliente_colunas) return render_template('cliente/cadastro.html', **contexto)
def form(pk): #Pega os dados dos campos na tela contexto = {} contexto['model'] = { "items":[], "vistoria":{} } contexto['tupla_tipo_historico'] = tupla_tipo_historico contexto['get_tipo'] = get_tipo contexto['tipo_servico'] = tupla_tipo_item[0][0] contexto['tipo_falha'] = tupla_tipo_item[1][0] contexto['tipo_peca'] = tupla_tipo_item[2][0] if request.method == 'POST': id_cliente = to_int_or_none( request.form.get("id_cliente") ) id_veiculo = to_int_or_none( request.form.get("id_veiculo") ) id_tecnico = to_int_or_none( request.form.get("id_tecnico") ) numero_ordem = to_int_or_none( request.form.get("numero_ordem") ) sistema = to_int_or_none( request.form.get("sistema") ) data = from_str_to_datetime_or_none( request.form.get("data") ) tipo = request.form.get("tipo") valor_total = to_float_or_zero( request.form.get("valor_total") ) observacao = request.form.get("observacao") kilometragem = to_float_or_zero(request.form.get("kilometragem")) veiculo = Veiculo.query.filter_by(id=id_veiculo).one() if veiculo: placa = veiculo.placa #Criar dicionário com os dados dicionario = { 'id_cliente':id_cliente, 'id_veiculo':id_veiculo, 'id_tecnico':id_tecnico, 'numero_ordem':numero_ordem, 'placa':placa, 'sistema':sistema, 'data':data, 'tipo':tipo, 'valor_total':valor_total, 'observacao':observacao, } if pk: dicionario['id'] = pk historico = Historico(**dicionario) if not historico.id: db.session.add(historico) db.session.flush() db.session.refresh(historico) if not numero_ordem: historico.numero_ordem = historico.id items = to_int_or_none( request.form.get("items") ) list_items = [] print('*'*10) print(historico.id) print('*'*10) if items: for i in range(items): idx = str(i) if request.form.get('item_descricao_'+ idx): id = to_int_or_none( request.form.get('item_id_'+idx) ) ordem = to_int_or_none( request.form.get('item_ordem_'+idx) ) tipo = request.form.get('item_tipo_'+idx) descricao = request.form.get('item_descricao_'+idx) quantidade = to_int_or_none( request.form.get('item_quantidade_'+idx) ) valor = to_float_or_zero( request.form.get('item_valor_'+idx) ) item_dict = { 'id':id, 'ordem':ordem, 'tipo':tipo, 'descricao':descricao, 'quantidade':quantidade, 'valor':valor, 'id_historico': historico.id } list_items.append( HistoricoItem(**item_dict) ) mensagem = None try: dados_vistoria = { 'id':historico.id, 'kilometragem':kilometragem, 'observacao':'' } vistoria = Vistoria(**dados_vistoria) try: db.session.merge(vistoria) except Exception as e: db.session.add(vistoria) contexto['tipo_mensagem'] = 'success' if pk: db.session.merge(historico) else: db.session.add(historico) pk_items = [] for item in list_items: # salvando os items item.ordem = len(pk_items) if item.id: db.session.merge(item) else: db.session.add(item) pk_items.append( item.id ) # excluindo os items apagados que não foram passados na requisição items_deletar = HistoricoItem.query.filter( and_( ~HistoricoItem.id.in_( pk_items), HistoricoItem.id_historico==historico.id ) ).all() if items_deletar: for item_delete in items_deletar: db.session.delete(item_delete) db.session.commit() id_cadastro = historico.id if pk: flash( u'Histórico {0} atualizado com sucesso.'.format(id_cadastro), 'success') else: flash( u'Histórico {0} cadastrado com sucesso.'.format(id_cadastro), 'success') return redirect(url_for('historico.index')) except Exception as ex: print(ex) contexto['mensagem'] = u'Erro ao cadastrar histórico.' contexto['tipo_mensagem'] = 'danger' elif pk: data = Historico.query.filter_by(id=pk).one() contexto['model'] = Historico.to_dict(data, historico_colunas) return render_template('historico/cadastro.html', **contexto)