|
| 1 | +from flask import Flask, render_template, request, send_file |
| 2 | +from docx import Document |
| 3 | +from datetime import datetime |
| 4 | +import os |
| 5 | + |
| 6 | +app = Flask(__name__) |
| 7 | + |
| 8 | +@app.route('/') |
| 9 | +def index(): |
| 10 | + return render_template('index.html') |
| 11 | + |
| 12 | +@app.route('/processar_formulario', methods=['POST']) |
| 13 | +def processar_formulario(): |
| 14 | + nome = request.form['nome'] |
| 15 | + equipamento = request.form['equipamento'] |
| 16 | + inicio = request.form['inicio'] |
| 17 | + final = request.form['final'] |
| 18 | + estoque_utilizado = request.form['estoqueUtilizado'] |
| 19 | + removido_voltou = request.form['removidoVoltou'] |
| 20 | + motivo_remocao = request.form.get('motivoRemocao', '') |
| 21 | + |
| 22 | + # Create a Word document and write the data |
| 23 | + document = Document('./template.docx') |
| 24 | + |
| 25 | + document.add_paragraph(f'Nome: {nome}') |
| 26 | + document.add_paragraph(f'Equipamento: {equipamento}') |
| 27 | + document.add_paragraph(f'Período: {inicio} - {final}') |
| 28 | + document.add_paragraph(f'Estoque Utilizado: {estoque_utilizado}') |
| 29 | + |
| 30 | + document.add_paragraph('Algo foi removido e voltou ao estoque? ' + ('Sim' if removido_voltou == 'sim' else 'Não')) |
| 31 | + |
| 32 | + if removido_voltou == 'sim': |
| 33 | + document.add_paragraph(f'Motivo da Remoção: {motivo_remocao}') |
| 34 | + |
| 35 | + # Get current date |
| 36 | + data_atual = datetime.now() |
| 37 | + |
| 38 | + # Format the date as a string |
| 39 | + formato_data = "%d-%m-%Y" |
| 40 | + data_formatada = data_atual.strftime(formato_data) |
| 41 | + |
| 42 | + caminho = './relatorios/' |
| 43 | + |
| 44 | + # Check that the directory does not exist before creating |
| 45 | + if not os.path.exists(caminho): |
| 46 | + os.makedirs(caminho) |
| 47 | + print(f'The folder at {caminho} was created successfully.') |
| 48 | + |
| 49 | + documento = "{}{}.docx".format(caminho, data_formatada) |
| 50 | + |
| 51 | + document.save(documento) |
| 52 | + |
| 53 | + return send_file(documento, as_attachment=True) |
| 54 | + |
| 55 | +if __name__ == '__main__': |
| 56 | + app.run(debug=True) |
0 commit comments