Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CSV Reports #1270

Open
wants to merge 14 commits into
base: develop
Choose a base branch
from
8 changes: 4 additions & 4 deletions frontend/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion frontend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@
"eslint-plugin-prettier": "^5.0.0",
"eslint-plugin-react": "^7.33.2",
"eslint-plugin-react-hooks": "^4.6.0",
"prettier": "^3.3.2",
"prettier": "^3.3.3",
"sass": "^1.57.1"
}
}
80 changes: 80 additions & 0 deletions frontend/src/components/reports/Routine.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,16 @@ export const RoutineReportsMenu = {
},
],
},
{
title: <FormattedMessage id="sidenav.label.statusreport.csv" />,
icon: IbmWatsonDiscovery,
SideNavMenuItem: [
{
link: "/RoutineReport?type=patient&report=CSVPatientStatusReport",
label: <FormattedMessage id="sidenav.label.statusreport.csv" />,
},
],
},
{
title: <FormattedMessage id="sidenav.title.aggregatereport" />,
icon: Microscope,
Expand All @@ -41,6 +51,25 @@ export const RoutineReportsMenu = {
},
],
},
{
title: <FormattedMessage id="sidenav.title.aggregatereport.csv" />,
icon: Microscope,
SideNavMenuItem: [
{
link: "/RoutineReport?type=indicator&report=CSVStatisticsReport",
label: <FormattedMessage id="sidenav.label.statisticsreport.csv" />,
},
{
//When i try to change it CSVSummaryOfAllTest it appear nothing
link: "/RoutineReport?type=indicator&report=indicatorHaitiLNSPAllTests",
label: <FormattedMessage id="sidenav.label.testsummary.csv" />,
},
{
link: "/RoutineReport?type=indicator&report=indicatorCDILNSPHIV",
label: <FormattedMessage id="sideNav.label.hivtestsummary.csv" />,
},
],
},
{
title: <FormattedMessage id="sideNav.title.rejectionreport" />,
icon: IbmWatsonNaturalLanguageUnderstanding,
Expand Down Expand Up @@ -69,6 +98,24 @@ export const RoutineReportsMenu = {
},
],
},
{
title: <FormattedMessage id="sideNav.title.activityreport.csv" />,
icon: IbmWatsonNaturalLanguageUnderstanding,
SideNavMenuItem: [
{
link: "/RoutineReport?type=indicator&report=activityReportByTest",
label: <FormattedMessage id="sideNav.label.bytesttype.csv" />,
},
{
link: "/RoutineReport?type=indicator&report=activityReportByPanel",
label: <FormattedMessage id="sideNav.label.bypaneltype.csv" />,
},
{
link: "/RoutineReport?type=indicator&report=activityReportByTestSection",
label: <FormattedMessage id="sideNav.label.byunit.csv" />,
},
],
},
{
title: (
<FormattedMessage
Expand All @@ -84,6 +131,21 @@ export const RoutineReportsMenu = {
},
],
},
{
title: (
<FormattedMessage
id="sideNav.title.referredtestreport.csv"
defaultMessage="Referred Out Tests Report CSV "
/>
),
icon: IbmWatsonNaturalLanguageUnderstanding,
SideNavMenuItem: [
{
link: "/RoutineReport?type=patient&report=referredOut",
label: <FormattedMessage id="sideNav.label.referredtestreport" />,
},
],
},
{
title: <FormattedMessage id="sideNav.title.noncomformityreports" />,
icon: IbmWatsonNaturalLanguageUnderstanding,
Expand All @@ -102,6 +164,24 @@ export const RoutineReportsMenu = {
},
],
},
{
title: <FormattedMessage id="sideNav.title.noncomformityreports.csv" />,
icon: IbmWatsonNaturalLanguageUnderstanding,
SideNavMenuItem: [
{
link: "/RoutineReport?type=patient&report=haitiNonConformityByDate",
label: (
<FormattedMessage id="sideNav.label.noncomformityreportsbydate.csv" />
),
},
{
link: "/RoutineReport?type=patient&report=haitiNonConformityBySectionReason",
label: (
<FormattedMessage id="sideNav.label.noncomformityreportsbyunit.csv" />
),
},
],
},
{
title: <FormattedMessage id="sideNav.title.delayedvalidation" />,
icon: IbmWatsonNaturalLanguageUnderstanding,
Expand Down
18 changes: 15 additions & 3 deletions frontend/src/components/reports/routine/Index.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,14 @@ export const RoutineReports = (props) => {
id={"openreports.patientTestStatus"}
/>
)}

{type === "patient" && report === "referredOut" && <ReferredOut />}

{type === "patient" && report === "CSVPatientStatusReport" && (
<PatientStatusReport
report={"CSVPatientStatusReport"}
id={"sidenav.label.statusreport.csv"}
/>
)}
{type === "patient" && report === "referredOut" && <ReferredOut />
}
{type === "patient" && report === "haitiNonConformityBySectionReason" && (
<ReportByDate
report={"haitiNonConformityBySectionReason"}
Expand Down Expand Up @@ -51,10 +56,17 @@ export const RoutineReports = (props) => {
report === "activityReportByTestSection") && (
<ReportByDate report={report} />
)}


{type === "indicator" && report === "statisticsReport" && (
<StatisticsReport />
)}
{/* it return pdf format */}
{type === "indicator" && report === "CSVStatisticsReport" && (
<StatisticsReport report={"CSVStatisticsReport"}
id={"sidenav.label.statisticsreport.csv"}/>

)}

{type === "indicator" && report === "indicatorHaitiLNSPAllTests" && (
<ReportByDate
Expand Down
15 changes: 15 additions & 0 deletions frontend/src/languages/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
"label.button.confirmAction": "Confirm Action",
"label.button.confirmTitle": "Are You Sure ?",
"label.button.generatePrintableVersion": "Generate Printable Version",
"label.button.generateCSVVersion": "Generate CSV Version",
"label.button.viewReport": "View Report",
"label.routine.Reports": "Routine Reports",
"label.audittrail.Reports": "Audit Trail Reports",
Expand Down Expand Up @@ -298,21 +299,34 @@
"sidenav.label.admin.Listplugin": "List Plugins",
"sidenav.title.statusreport": "Patient Status Report",
"sidenav.label.statusreport": "Patient Status Report",
"sidenav.label.statusreport.csv": "Patient Status CSV Report",
"sidenav.title.aggregatereport": "Aggregate Reports",
"sidenav.title.aggregatereport.csv": "Aggregate CSV Reports",
"sidenav.label.statisticsreport": "Statistics Report",
"sidenav.label.statisticsreport.csv": "Statistics CSV Report",
"sideNav.title.rejectionreport": "Rejection Report",
"sideNav.label.rejectionreport": "Rejection Report",
"sidenav.label.testsummary": "Summary of All Tests",
"sidenav.label.testsummary.csv": "Summary of All Tests CSV",
"sideNav.label.hivtestsummary": "HIV Test Summary",
"sideNav.label.hivtestsummary.csv": "HIV Test Summary CSV",
"sideNav.title.activityreport": "Activity Report",
"sideNav.title.activityreport.csv": "Activity CSV Report",
"sideNav.title.referredtestreport": "Referred Out Tests Report",
"sideNav.title.referredtestreport.csv": "Referred Out Tests CSV Report",
"sideNav.title.noncomformityreports": "Non conformity Reports",
"sideNav.title.noncomformityreports.csv": "Non conformity CSV Reports",
"sideNav.label.bytesttype": "By Test Type",
"sideNav.label.bytesttype.csv": "CSV export By Test Type",
"sideNav.label.bypaneltype": "By Panel Type",
"sideNav.label.bypaneltype.csv": "CSV export By Panel Type",
"sideNav.label.byunit": "By Unit",
"sideNav.label.byunit.csv": "CSV export By Unit",
"sideNav.label.referredtestreport": "Referred Out Tests Report",
"sideNav.label.noncomformityreportsbydate": "By Date",
"sideNav.label.noncomformityreportsbydate.csv": "CSV export By Date",
"sideNav.label.noncomformityreportsbyunit": "By Unit and Reason",
"sideNav.label.noncomformityreportsbyunit.csv": "CSV export By Unit and Reason",
"sideNav.title.delayedvalidation": "Delayed Validation",
"sideNav.label.delayedvalidation": "Delayed Validation",
"sideNav.title.audittrail": "Audit Trail",
Expand Down Expand Up @@ -491,6 +505,7 @@
"dashboard.rejected.orders.subtitle": "Rejected By Lab Today",
"dashboard.unprints.results.label": "UnPrinted Results",
"dashboard.unprints.results.subtitle.label": "UnPrinted Results Today",
"landingpage.welcome": "Welcome",
"label.electronic.orders": "Electronic Orders",
"patient.dob": "Date of Birth",
"patient.male": "Male",
Expand Down
14 changes: 14 additions & 0 deletions frontend/src/languages/fr.json
Original file line number Diff line number Diff line change
Expand Up @@ -275,21 +275,34 @@
"sidenav.label.admin.pluginFile": "Fichiers de plugin",
"sidenav.title.statusreport": "Rapport sur l'état du patient",
"sidenav.label.statusreport": "Rapport sur l'état du patient",
"sidenav.label.statusreport.csv": "Rapport sur l'état du patient en format CSV",
"sidenav.title.aggregatereport": "Rapports globaux",
"sidenav.title.aggregatereport.csv": "Rapports globaux en format CSV",
"sidenav.label.statisticsreport": "Rapport Statistiques",
"sidenav.label.statisticsreport.csv": "Rapport Statistiques en format CSV",
"sidenav.label.testsummary": "Résumé de tous les tests",
"sidenav.label.testsummary.csv": "Résumé de tous les tests en format CSV",
"sideNav.label.hivtestsummary": "Résumé du test VIH",
"sideNav.label.hivtestsummary.csv": "Résumé du test VIH en format CSV",
"sideNav.title.rejectionreport": "Rapport de rejet",
"sideNav.label.rejectionreport": "Rapport de rejet",
"sideNav.title.activityreport": "Rapport d'activité",
"sideNav.title.activityreport.csv": "Rapport d'activité en format CSV",
"sideNav.title.referredtestreport": "Rapport de tests référencés",
"sideNav.title.referredtestreport.csv": "Rapport de tests référencés CSV format",
"sideNav.title.noncomformityreports": "Rapports de non-conformité",
"sideNav.title.noncomformityreports.csv": "Rapports de non-conformité CSV format",
"sideNav.label.bytesttype": "Par type de test",
"sideNav.label.bytesttype": "CSV exportation Par type de test",
"sideNav.label.bypaneltype": "Par type de panneau",
"sideNav.label.bypaneltype.csv": "CSV exportation Par type de panneau",
"sideNav.label.byunit": "Par unité",
"sideNav.label.byunit.csv": "CSV exportation Par unité",
"sideNav.label.referredtestreport": "Rapport de tests référencés",
"sideNav.label.noncomformityreportsbydate": "Par date",
"sideNav.label.noncomformityreportsbydate.csv": "CSV exportation Par date",
"sideNav.label.noncomformityreportsbyunit": "Par unité et raison",
"sideNav.label.noncomformityreportsbyunit.csv": "CSV exportation Par unité et raison",
"sideNav.title.delayedvalidation": "Validation retardée",
"sideNav.label.delayedvalidation": "Validation retardée",
"sideNav.title.audittrail": "Piste d'audit",
Expand Down Expand Up @@ -471,6 +484,7 @@
"dashboard.rejected.orders.subtitle": "Rejeté par le laboratoire aujourd'hui",
"dashboard.unprints.results.label": "Résultats non imprimés",
"dashboard.unprints.results.subtitle.label": "Résultats non imprimés aujourd'hui",
"landingpage.welcome": "Bienvenue!",
"label.electronic.orders": "Commandes électroniques",
"patient.dob": "Date de naissance",
"patient.male": "Mâle",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
package org.openelisglobal.reports.action.implementation;

import java.sql.SQLException;
import org.jfree.util.Log;
import org.openelisglobal.internationalization.MessageUtil;
import org.openelisglobal.reports.action.implementation.reportBeans.CSVSampleRejectionColumnBuilder;
import org.openelisglobal.reports.form.ReportForm;

public class CSVActivityByPanelTypeReport extends CSVSampleExportReport
implements IReportParameterSetter, IReportCreator {

@Override
public void setRequestParameters(ReportForm form) {
try {
form.setReportName(getReportNameForParameterPage());
form.setUseLowerDateRange(Boolean.TRUE);
form.setUseUpperDateRange(Boolean.TRUE);
} catch (RuntimeException e) {
Log.error("Error in ExportProjectByDate.setRequestParemeters: ", e);
}
}

protected String getReportNameForParameterPage() {
return MessageUtil.getMessage("openreports.mgt.rejection");
}

@Override
protected String reportFileName() {
return "SampleRejection";
}

@Override
protected void createReportParameters() {
super.createReportParameters();
}

@Override
public void initializeReport(ReportForm form) {
super.initializeReport();
errorFound = false;

lowDateStr = form.getLowerDateRange();
highDateStr = form.getUpperDateRange();
dateRange = new DateRange(lowDateStr, highDateStr);

createReportParameters();
errorFound = !validateSubmitParameters();
if (errorFound) {
return;
}

createReportItems();
}

/** creating the list for generation to the report */
private void createReportItems() {
try {
csvColumnBuilder = new CSVSampleRejectionColumnBuilder(dateRange);
csvColumnBuilder.buildDataSource();
} catch (SQLException e) {
Log.error("Error in " + this.getClass().getSimpleName() + ".createReportItems: ", e);
add1LineErrorMessage("report.error.message.general.error");
}
}

private boolean validateSubmitParameters() {
return dateRange.validateHighLowDate("report.error.message.date.received.missing");
}
}
Loading
Loading