From a3905d118e915c79cb4b5052243884cb01104b69 Mon Sep 17 00:00:00 2001
From: = <=>
Date: Tue, 25 Apr 2023 17:09:30 -0400
Subject: [PATCH] Readded consolidated reports with Return reports as well. It
ain't pretty but it works.
---
.gitignore | 2 +-
assets/checkedCircle.svg | 44 ---------------------------
assets/copy.svg | 60 -------------------------------------
assets/excel.svg | 6 ----
assets/extract.ico | Bin 7077 -> 0 bytes
assets/extract.svg | 1 -
assets/fileSearch.svg | 4 ---
assets/folder.svg | 2 --
assets/maximize.svg | 24 ---------------
assets/process.svg | 1 -
assets/settings.svg | 62 ---------------------------------------
settings.json | 1 +
src/__init__.py | 0
src/il_extract.py | 28 ++++++++++--------
src/il_reports.py | 29 ++++++++++++------
src/settings.json | 1 -
todo.md | 17 +++++++----
17 files changed, 48 insertions(+), 234 deletions(-)
delete mode 100644 assets/checkedCircle.svg
delete mode 100644 assets/copy.svg
delete mode 100644 assets/excel.svg
delete mode 100644 assets/extract.ico
delete mode 100644 assets/extract.svg
delete mode 100644 assets/fileSearch.svg
delete mode 100644 assets/folder.svg
delete mode 100644 assets/maximize.svg
delete mode 100644 assets/process.svg
delete mode 100644 assets/settings.svg
create mode 100644 settings.json
create mode 100644 src/__init__.py
delete mode 100644 src/settings.json
diff --git a/.gitignore b/.gitignore
index 695edac..aabeb30 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,7 +1,7 @@
build/
venv/
dist/
-IL_InputFiles/
+InputFiles/
__pycache__/
*.spec
diff --git a/assets/checkedCircle.svg b/assets/checkedCircle.svg
deleted file mode 100644
index e3afbdc..0000000
--- a/assets/checkedCircle.svg
+++ /dev/null
@@ -1,44 +0,0 @@
-
-
-
-
diff --git a/assets/copy.svg b/assets/copy.svg
deleted file mode 100644
index f23e8f2..0000000
--- a/assets/copy.svg
+++ /dev/null
@@ -1,60 +0,0 @@
-
-
-
diff --git a/assets/excel.svg b/assets/excel.svg
deleted file mode 100644
index 99c6cd6..0000000
--- a/assets/excel.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-
diff --git a/assets/extract.ico b/assets/extract.ico
deleted file mode 100644
index faab094f52e1df2a7ae8ba76422413aba6c26f88..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 7077
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
diff --git a/assets/extract.svg b/assets/extract.svg
deleted file mode 100644
index c392432..0000000
--- a/assets/extract.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/assets/fileSearch.svg b/assets/fileSearch.svg
deleted file mode 100644
index 6e04a1c..0000000
--- a/assets/fileSearch.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
diff --git a/assets/folder.svg b/assets/folder.svg
deleted file mode 100644
index 5488499..0000000
--- a/assets/folder.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/assets/maximize.svg b/assets/maximize.svg
deleted file mode 100644
index 1d60cee..0000000
--- a/assets/maximize.svg
+++ /dev/null
@@ -1,24 +0,0 @@
-
\ No newline at end of file
diff --git a/assets/process.svg b/assets/process.svg
deleted file mode 100644
index e20b6ba..0000000
--- a/assets/process.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/assets/settings.svg b/assets/settings.svg
deleted file mode 100644
index 4debab2..0000000
--- a/assets/settings.svg
+++ /dev/null
@@ -1,62 +0,0 @@
-
-
-
diff --git a/settings.json b/settings.json
new file mode 100644
index 0000000..7a24d73
--- /dev/null
+++ b/settings.json
@@ -0,0 +1 @@
+{"debug": true, "consolidatedBasePath": ".", "defaultLocations": {"ach": "Z:/Business Solutions/Griff/Code/InfoLeaseExtract/InputFiles", "disp": "", "gl": "", "lb": "Z:/Business Solutions/Griff/Code/InfoLeaseExtract/InputFiles", "minv": "", "niv": "", "ren": "", "pymt": "Z:/Business Solutions/Griff/Code/InfoLeaseExtract/InputFiles", "uap": "", "pastdue": ""}}
\ No newline at end of file
diff --git a/src/__init__.py b/src/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/src/il_extract.py b/src/il_extract.py
index 23a746f..2dae845 100644
--- a/src/il_extract.py
+++ b/src/il_extract.py
@@ -11,8 +11,8 @@ from logging import debug, DEBUG, basicConfig
with open("settings.json") as s:
settings = json.loads(s.read())
- if settings["debug"]:
- basicConfig(filename='debug.log', encoding='utf-8', level=DEBUG)
+ #if settings["debug"]:
+ basicConfig(filename='debug.log', mode='w', encoding='utf-8', level=DEBUG)
debug("\n\n\n########################### VERSION = 3.10 ###########################\n\n\n")
debug("Running main.py...")
@@ -290,14 +290,16 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
debug(f"report_type_change | inputFile: {self.inputFile}")
debug(f"report_type_change | outputFile: {self.outputFile}")
self.check_ready_to_process()
-
-# Defines the app
-app = QtWidgets.QApplication(sys.argv)
-# Sets the style
-app.setStyle("Fusion")
-# Builds the main window
-window = MainWindow()
-window.setWindowTitle("IL Extract")
-window.show()
-# Starts the app
-app.exec()
+
+
+if __name__ == "__main__":
+ # Defines the app
+ app = QtWidgets.QApplication(sys.argv)
+ # Sets the style
+ app.setStyle("Fusion")
+ # Builds the main window
+ window = MainWindow()
+ window.setWindowTitle("IL Extract")
+ window.show()
+ # Starts the app
+ app.exec()
diff --git a/src/il_reports.py b/src/il_reports.py
index fb93196..5867d1f 100644
--- a/src/il_reports.py
+++ b/src/il_reports.py
@@ -8,7 +8,7 @@ import numpy as np
from glob import glob
from logging import debug, DEBUG, basicConfig, warn, error
-# V3.1 | 01/19/23
+# V3.2 | 04/21/23
with open("settings.json") as s:
settings = json.loads(s.read())
@@ -70,10 +70,14 @@ class ILReport:
sheet_name = "CREDIT CARDS"
elif re.search("(?i)lockbox", self.location) != None:
sheet_name = "LOCKBOX"
+ elif re.search("(?i)PBP_EPAY_RETURNS_BER", self.location) != None:
+ sheet_name = "RETURNS ACH"
elif re.search("(?i)epay", self.location) != None:
sheet_name = "PAY BY PHONE"
elif re.search("(?i)wires", self.location) != None:
sheet_name = "WIRES"
+ elif re.search("(?i)RETURNS_BER", self.location) != None:
+ sheet_name = "RETURNS Portal"
else:
return None
@@ -102,18 +106,25 @@ class ILReport:
# We need to read the dataframe in the current monthly report
# Check that we are not adding matching data
# Save the new report
- current_data: DataFrame = pd.read_excel(month_summary_file[0], sheet_name=sheet_name)
- new_data_len = len(dataframe_to_append)
- cur_first_col = current_data.iloc[len(current_data)-new_data_len:,0].to_list()
- new_first_col = dataframe_to_append.iloc[:,0].to_list()
- if cur_first_col == new_first_col:
- debug(f"Consolidated Report | Data is same as previous! Skipping!")
- return None
+ #FIXME: This is so hacky it's embaressing
+ add_headers = False
+ try:
+ current_data: DataFrame = pd.read_excel(month_summary_file[0], sheet_name=sheet_name)
+ new_data_len = len(dataframe_to_append)
+ cur_first_col = current_data.iloc[len(current_data)-new_data_len:,0].to_list()
+ new_first_col = dataframe_to_append.iloc[:,0].to_list()
+ if cur_first_col == new_first_col:
+ debug(f"Consolidated Report | Data is same as previous! Skipping!")
+ return None
+ except ValueError as ve:
+ ve == ValueError(f"Worksheet named '{sheet_name} not found")
+ current_data = []
+ add_headers = True
# We need to find the start cols (where the new data should go)
try:
with pd.ExcelWriter(save_path, engine='openpyxl', mode='a',if_sheet_exists="overlay") as writer:
debug(f"Consolidated Report | {sheet_name}: Saving data as: {report_name}")
- dataframe_to_append.to_excel(writer, index=False, sheet_name=sheet_name,startrow=len(current_data),header=False)
+ dataframe_to_append.to_excel(writer, index=False, sheet_name=sheet_name,startrow=len(current_data),header=add_headers)
except Exception as e:
error(f"[E] Failed to append to consolidated report! {sheet_name}:\n{e}")
diff --git a/src/settings.json b/src/settings.json
deleted file mode 100644
index a0bfaa5..0000000
--- a/src/settings.json
+++ /dev/null
@@ -1 +0,0 @@
-{"debug": false, "consolidatedBasePath": "leafnow.com/shared/cashapps", "defaultLocations": {"ach": "", "disp": "", "gl": "", "lb": "", "minv": "", "niv": "", "ren": "", "pymt": "", "uap": "", "pastdue": ""}}
\ No newline at end of file
diff --git a/todo.md b/todo.md
index 1c382b1..6ba7a89 100644
--- a/todo.md
+++ b/todo.md
@@ -2,19 +2,24 @@
## Priority
- [ ] Bring back in consolidated reports
- - [ ] ACH
- - [ ] CHECKS_LIVE
- - [ ] CREDIT
- - [ ] LOCKBOX
- - [ ] PAY BY PHONE
- - [ ] WIRES
+ - [X] ACH
+ - [X] CHECKS_LIVE
+ - [X] CREDIT
+ - [X] LOCKBOX
+ - [X] PAY BY PHONE
+ - [X] WIRES
- [ ] RETURNS ACH
- [ ] RETURNS Portal *(new addition)*
- [ ] Adjust pyinstaller spec for new file structure
+- [ ] Function to recap year
+- [ ] Fix Logging
+
## Feature Goals
- [ ] Year Walkthrough report
+- [ ] 'In Progress' notification/spinner
+- Speed up ACH/All
Generate monthly consolidated reports for each month in a year
- Must generate IL Extract report where nesseary