add itai model and irt report download code commit.
This commit is contained in:
120
test.py
120
test.py
@@ -101,3 +101,123 @@ class DocumentHandler:
|
||||
# return redirect(url_for('view_documents'))
|
||||
|
||||
#return render_template('upload.html')
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# old itr report code
|
||||
@app.route('/itr_report', methods=['GET'])
|
||||
def itr_report():
|
||||
yearGetter = YearGet()
|
||||
|
||||
connection = pymysql.connect(**db_config)
|
||||
try:
|
||||
selected_year = request.args.get('year')
|
||||
|
||||
if selected_year:
|
||||
# Fetch ITR data for the selected year
|
||||
query = "SELECT * FROM itr WHERE year = %s"
|
||||
df = pd.read_sql(query, connection, params=[selected_year])
|
||||
|
||||
if df.empty:
|
||||
return "No records found for the selected year."
|
||||
|
||||
# Transpose DataFrame: vertical fields, horizontal records
|
||||
df_transposed = df.transpose()
|
||||
df_transposed.insert(0, 'Field', df_transposed.index)
|
||||
|
||||
# Rename columns as Record 1, Record 2, etc.
|
||||
record_cols = {i: f'Record {i}' for i in df_transposed.columns if isinstance(i, int)}
|
||||
df_transposed.rename(columns=record_cols, inplace=True)
|
||||
df_transposed.reset_index(drop=True, inplace=True)
|
||||
|
||||
output = io.BytesIO()
|
||||
with pd.ExcelWriter(output, engine='xlsxwriter') as writer:
|
||||
df_transposed.to_excel(writer, index=False, sheet_name='ITR_Vertical')
|
||||
|
||||
# Format for better readability (optional)
|
||||
workbook = writer.book
|
||||
worksheet = writer.sheets['ITR_Vertical']
|
||||
worksheet.set_column(0, 0, 30) # Field column wider
|
||||
|
||||
output.seek(0)
|
||||
return send_file(
|
||||
output,
|
||||
mimetype='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
|
||||
as_attachment=True,
|
||||
download_name=f"ITR_Report_{selected_year}.xlsx"
|
||||
)
|
||||
|
||||
else:
|
||||
# Render dropdown form with available years
|
||||
with connection.cursor() as cursor:
|
||||
cursor.execute("SELECT DISTINCT year FROM itr ORDER BY year DESC")
|
||||
years = [row[0] for row in cursor.fetchall()]
|
||||
return render_template("itr_reports.html", years=years)
|
||||
|
||||
finally:
|
||||
connection.close()
|
||||
|
||||
|
||||
|
||||
# --------------\
|
||||
|
||||
@app.route('/itr_report', methods=['GET'])
|
||||
def itr_report():
|
||||
yearGetter = YearGet()
|
||||
|
||||
|
||||
selected_year = request.args.get('year')
|
||||
|
||||
if selected_year:
|
||||
# Fetch ITR data for the selected year
|
||||
query = "SELECT * FROM itr WHERE year = %s"
|
||||
df = pd.read_sql(query, connection, params=[selected_year])
|
||||
|
||||
if df.empty:
|
||||
return "No records found for the selected year."
|
||||
|
||||
|
||||
|
||||
# Transpose DataFrame: vertical fields, horizontal records
|
||||
df_transposed = df.transpose()
|
||||
df_transposed.insert(0, 'Field', df_transposed.index)
|
||||
|
||||
# Rename columns as Record 1, Record 2, etc.
|
||||
record_cols = {i: f'Record {i}' for i in df_transposed.columns if isinstance(i, int)}
|
||||
df_transposed.rename(columns=record_cols, inplace=True)
|
||||
df_transposed.reset_index(drop=True, inplace=True)
|
||||
|
||||
output = io.BytesIO()
|
||||
with pd.ExcelWriter(output, engine='xlsxwriter') as writer:
|
||||
df_transposed.to_excel(writer, index=False, sheet_name='ITR_Vertical')
|
||||
|
||||
# Format for better readability (optional)
|
||||
workbook = writer.book
|
||||
worksheet = writer.sheets['ITR_Vertical']
|
||||
worksheet.set_column(0, 0, 30) # Field column wider
|
||||
|
||||
output.seek(0)
|
||||
return send_file(
|
||||
output,
|
||||
mimetype='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
|
||||
as_attachment=True,
|
||||
download_name=f"ITR_Report_{selected_year}.xlsx"
|
||||
)
|
||||
|
||||
else:
|
||||
# Render dropdown form with available years
|
||||
with connection.cursor() as cursor:
|
||||
# cursor.execute("SELECT DISTINCT year FROM itr ORDER BY year DESC")
|
||||
# years = [row[0] for row in cursor.fetchall()]
|
||||
|
||||
years = yearGetter.get_year_by_model("GetITRYears")
|
||||
yearGetter.close()
|
||||
|
||||
print("---- year --",years)
|
||||
|
||||
|
||||
return render_template("itr_reports.html", years=years)
|
||||
|
||||
Reference in New Issue
Block a user