Added SQL, dao and app - not functional

This commit is contained in:
Tesouraria CRSP
2024-11-26 10:57:25 -03:00
parent 158ec60b58
commit d6357803b8
25 changed files with 1580 additions and 0 deletions

213
app.py Normal file
View File

@@ -0,0 +1,213 @@
from flask import Flask, request, render_template, redirect, url_for, jsonify
from functions.database import execute_query
app = Flask(__name__)
# Rota para criar um novo militante
@app.route('/militantes/novo', methods=['GET', 'POST'])
def novo_militante():
if request.method == 'POST':
nome = request.form['nome']
cpf = request.form['cpf']
email = request.form['email']
telefone = request.form['telefone']
endereco = request.form['endereco']
filiado = request.form.get('filiado', False)
query = '''
INSERT INTO militantes (nome, cpf, email, telefone, endereco, filiado)
VALUES (%s, %s, %s, %s, %s, %s)
'''
execute_query(query, (nome, cpf, email, telefone, endereco, filiado))
return redirect(url_for('listar_militantes'))
return render_template('novo_militante.html')
# Rota para listar militantes
@app.route('/militantes')
def listar_militantes():
query = 'SELECT * FROM militantes'
militantes = execute_query(query)
return render_template('listar_militantes.html', militantes=militantes)
# Rota para criar uma nova cota mensal
@app.route('/cotas/novo', methods=['GET', 'POST'])
def nova_cota():
if request.method == 'POST':
militante_id = request.form['militante_id']
valor_antigo = request.form['valor_antigo']
valor_novo = request.form['valor_novo']
data_alteracao = request.form['data_alteracao']
query = '''
INSERT INTO cotas_mensais (militante_id, valor_antigo, valor_novo, data_alteracao)
VALUES (%s, %s, %s, %s)
'''
execute_query(query, (militante_id, valor_antigo, valor_novo, data_alteracao))
return redirect(url_for('listar_cotas'))
return render_template('nova_cota.html')
# Rota para listar cotas mensais
@app.route('/cotas')
def listar_cotas():
query = 'SELECT * FROM cotas_mensais'
cotas = execute_query(query)
return render_template('listar_cotas.html', cotas=cotas)
# Rota para criar um novo pagamento
@app.route('/pagamentos/novo', methods=['GET', 'POST'])
def novo_pagamento():
if request.method == 'POST':
militante_id = request.form['militante_id']
tipo_pagamento_id = request.form['tipo_pagamento_id']
valor = request.form['valor']
data_pagamento = request.form['data_pagamento']
query = '''
INSERT INTO pagamentos (militante_id, tipo_pagamento_id, valor, data_pagamento)
VALUES (%s, %s, %s, %s)
'''
execute_query(query, (militante_id, tipo_pagamento_id, valor, data_pagamento))
return redirect(url_for('listar_pagamentos'))
return render_template('novo_pagamento.html')
# Rota para listar pagamentos
@app.route('/pagamentos')
def listar_pagamentos():
query = 'SELECT * FROM pagamentos'
pagamentos = execute_query(query)
return render_template('listar_pagamentos.html', pagamentos=pagamentos)
# Rota para criar um novo material vendido
@app.route('/materiais/novo', methods=['GET', 'POST'])
def novo_material():
if request.method == 'POST':
militante_id = request.form['militante_id']
tipo_material_id = request.form['tipo_material_id']
descricao = request.form['descricao']
valor = request.form['valor']
data_venda = request.form['data_venda']
query = '''
INSERT INTO materiais_vendidos (militante_id, tipo_material_id, descricao, valor, data_venda)
VALUES (%s, %s, %s, %s, %s)
'''
execute_query(query, (militante_id, tipo_material_id, descricao, valor, data_venda))
return redirect(url_for('listar_materiais'))
return render_template('novo_material.html')
# Rota para listar materiais vendidos
@app.route('/materiais')
def listar_materiais():
query = 'SELECT * FROM materiais_vendidos'
materiais = execute_query(query)
return render_template('listar_materiais.html', materiais=materiais)
# Rota para criar uma nova venda de jornais avulsos
@app.route('/jornais/novo', methods=['GET', 'POST'])
def nova_venda_jornal():
if request.method == 'POST':
militante_id = request.form['militante_id']
quantidade = request.form['quantidade']
valor_total = request.form['valor_total']
data_venda = request.form['data_venda']
query = '''
INSERT INTO vendas_jornais_avulsos (militante_id, quantidade, valor_total, data_venda)
VALUES (%s, %s, %s, %s)
'''
execute_query(query, (militante_id, quantidade, valor_total, data_venda))
return redirect(url_for('listar_vendas_jornal'))
return render_template('nova_venda_jornal.html')
# Rota para listar vendas de jornais avulsos
@app.route('/jornais')
def listar_vendas_jornal():
query = 'SELECT * FROM vendas_jornais_avulsos'
vendas = execute_query(query)
return render_template('listar_vendas_jornal.html', vendas=vendas)
# Rota para criar uma nova assinatura anual
@app.route('/assinaturas/novo', methods=['GET', 'POST'])
def nova_assinatura():
if request.method == 'POST':
militante_id = request.form['militante_id']
tipo_material_id = request.form['tipo_material_id']
quantidade = request.form['quantidade']
valor_total = request.form['valor_total']
data_inicio = request.form['data_inicio']
data_fim = request.form['data_fim']
query = '''
INSERT INTO assinaturas_anuais (militante_id, tipo_material_id, quantidade, valor_total, data_inicio, data_fim)
VALUES (%s, %s, %s, %s, %s, %s)
'''
execute_query(query, (militante_id, tipo_material_id, quantidade, valor_total, data_inicio, data_fim))
return redirect(url_for('listar_assinaturas'))
return render_template('nova_assinatura.html')
# Rota para listar assinaturas anuais
@app.route('/assinaturas')
def listar_assinaturas():
query = 'SELECT * FROM assinaturas_anuais'
assinaturas = execute_query(query)
return render_template('listar_assinaturas.html', assinaturas=assinaturas)
# Rota para criar um novo relatório de cotas mensais
@app.route('/relatorios/cotas/novo', methods=['GET', 'POST'])
def novo_relatorio_cotas():
if request.method == 'POST':
setor_id = request.form['setor_id']
comite_id = request.form['comite_id']
total_cotas = request.form['total_cotas']
data_relatorio = request.form['data_relatorio']
query = '''
INSERT INTO relatorio_cotas_mensais (setor_id, comite_id, total_cotas, data_relatorio)
VALUES (%s, %s, %s, %s)
'''
execute_query(query, (setor_id, comite_id, total_cotas, data_relatorio))
return redirect(url_for('listar_relatorios_cotas'))
return render_template('novo_relatorio_cotas.html')
# Rota para listar relatórios de cotas mensais
@app.route('/relatorios/cotas')
def listar_relatorios_cotas():
query = 'SELECT * FROM relatorio_cotas_mensais'
relatorios = execute_query(query)
return render_template('listar_relatorios_cotas.html', relatorios=relatorios)
# Rota para criar um novo relatório de vendas de materiais
@app.route('/relatorios/vendas/novo', methods=['GET', 'POST'])
def novo_relatorio_vendas():
if request.method == 'POST':
setor_id = request.form['setor_id']
comite_id = request.form['comite_id']
total_vendas = request.form['total_vendas']
data_relatorio = request.form['data_relatorio']
query = '''
INSERT INTO relatorio_vendas_materiais (setor_id, comite_id, total_vendas, data_relatorio)
VALUES (%s, %s, %s, %s)
'''
execute_query(query, (setor_id, comite_id, total_vendas, data_relatorio))
return redirect(url_for('listar_relatorios_vendas'))
return render_template('novo_relatorio_vendas.html')
# Rota para listar relatórios de vendas de materiais
@app.route('/relatorios/vendas')
def listar_relatorios_vendas():
query = 'SELECT * FROM relatorio_vendas_materiais'
relatorios = execute_query(query)
return render_template('listar_relatorios_vendas.html', relatorios=relatorios)
# Iniciar o servidor Flask
if __name__ == '__main__':
app.run(debug=True)