Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -54,6 +54,10 @@ def search_by_head(head):
|
|
54 |
def generate_ledger_pdf(head):
|
55 |
global ledger
|
56 |
try:
|
|
|
|
|
|
|
|
|
57 |
# Use a temporary directory to save the file
|
58 |
with tempfile.NamedTemporaryFile(delete=False, suffix=".pdf") as tmp_file:
|
59 |
pdf_file_path = tmp_file.name # Get the temporary file path
|
@@ -80,21 +84,24 @@ def generate_ledger_pdf(head):
|
|
80 |
|
81 |
# Filter records by head
|
82 |
filtered_ledger = ledger[ledger["Head"] == head]
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
pdf.
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
|
|
|
|
|
|
98 |
|
99 |
# Save PDF file
|
100 |
pdf.output(pdf_file_path)
|
|
|
54 |
def generate_ledger_pdf(head):
|
55 |
global ledger
|
56 |
try:
|
57 |
+
# Ensure the head is not empty
|
58 |
+
if head.strip() == "":
|
59 |
+
return None
|
60 |
+
|
61 |
# Use a temporary directory to save the file
|
62 |
with tempfile.NamedTemporaryFile(delete=False, suffix=".pdf") as tmp_file:
|
63 |
pdf_file_path = tmp_file.name # Get the temporary file path
|
|
|
84 |
|
85 |
# Filter records by head
|
86 |
filtered_ledger = ledger[ledger["Head"] == head]
|
87 |
+
if filtered_ledger.empty:
|
88 |
+
pdf.cell(0, 10, f"No records found for {head}", ln=True, align="C")
|
89 |
+
else:
|
90 |
+
pdf.set_font("Arial", size=12)
|
91 |
+
|
92 |
+
for _, row in filtered_ledger.iterrows():
|
93 |
+
pdf.cell(50, 10, str(row['Company Name']), border=1, align="C")
|
94 |
+
pdf.cell(40, 10, str(row['SP/Station']), border=1, align="C")
|
95 |
+
pdf.cell(30, 10, str(row['Invoice No']), border=1, align="C")
|
96 |
+
pdf.cell(30, 10, str(row['Date']), border=1, align="C")
|
97 |
+
pdf.cell(40, 10, f"{row['Amount']:.2f}", border=1, ln=True, align="C")
|
98 |
+
|
99 |
+
# Total amount for the head
|
100 |
+
total_amount = filtered_ledger["Amount"].sum()
|
101 |
+
pdf.ln(10) # Add some space before the total
|
102 |
+
pdf.set_font("Arial", 'B', 12)
|
103 |
+
pdf.cell(150, 10, "Total Amount", border=1, align="R")
|
104 |
+
pdf.cell(40, 10, f"{total_amount:.2f}", border=1, ln=True, align="C")
|
105 |
|
106 |
# Save PDF file
|
107 |
pdf.output(pdf_file_path)
|