Addition of turnaround time tracking.

This commit is contained in:
lwark
2024-12-04 12:11:10 -06:00
parent 37c5c1d3eb
commit cc53b894b2
14 changed files with 136 additions and 78 deletions

View File

@@ -1,6 +1,8 @@
'''
Contains all operations for creating charts, graphs and visual effects.
'''
from datetime import timedelta
from PyQt6.QtWidgets import QWidget
import plotly, logging
from plotly.graph_objects import Figure
@@ -14,10 +16,15 @@ class CustomFigure(Figure):
df = None
def __init__(self, df: pd.DataFrame, modes: list, ytitle: str | None = None, parent: QWidget | None = None,
months: int = 6):
def __init__(self, df: pd.DataFrame, settings: dict, modes: list, ytitle: str | None = None, parent: QWidget | None = None):
super().__init__()
# self.settings = settings
try:
months = int(settings['months'])
except KeyError:
months = 6
self.df = df
self.update_xaxes(range=[settings['start_date'] - timedelta(days=1), settings['end_date']])
def save_figure(self, group_name: str = "plotly_output", parent: QWidget | None = None):
"""

View File

@@ -16,19 +16,23 @@ logger = logging.getLogger(f"submissions.{__name__}")
class IridaFigure(CustomFigure):
def __init__(self, df: pd.DataFrame, modes: list, ytitle: str | None = None, parent: QWidget | None = None,
months: int = 6):
def __init__(self, df: pd.DataFrame, modes: list, settings: dict, ytitle: str | None = None, parent: QWidget | None = None):
super().__init__(df=df, modes=modes)
self.construct_chart(df=df, modes=modes)
super().__init__(df=df, modes=modes, settings=settings)
try:
months = int(settings['months'])
except KeyError:
months = 6
self.construct_chart(df=df, modes=modes, start_date=settings['start_date'], end_date=settings['end_date'])
self.generic_figure_markers(modes=modes, ytitle=ytitle, months=months)
def construct_chart(self, df: pd.DataFrame, modes: list):
def construct_chart(self, df: pd.DataFrame, modes: list, start_date: date, end_date:date):
"""
Creates a plotly chart for controls from a pandas dataframe
Args:
end_date ():
start_date ():
df (pd.DataFrame): input dataframe of controls
modes (list): analysis modes to construct charts for
ytitle (str | None, optional): title on the y-axis. Defaults to None.

View File

@@ -13,9 +13,13 @@ logger = logging.getLogger(f"submissions.{__name__}")
class PCRFigure(CustomFigure):
def __init__(self, df: pd.DataFrame, modes: list, ytitle: str | None = None, parent: QWidget | None = None,
def __init__(self, df: pd.DataFrame, modes: list, settings: dict, ytitle: str | None = None, parent: QWidget | None = None,
months: int = 6):
super().__init__(df=df, modes=modes)
super().__init__(df=df, modes=modes, settings=settings)
try:
months = int(settings['months'])
except KeyError:
months = 6
# logger.debug(f"DF: {self.df}")
self.construct_chart(df=df)