From df91f31f60cab375a57a8596a0087f23b282f791 Mon Sep 17 00:00:00 2001 From: Javier Moran Rua Date: Thu, 17 Dec 2009 18:21:52 +0100 Subject: [PATCH] ItEr39S13RFIntegracionSistemaXeracionInformesItEr38S19: Set up infrastructure for supporting reports (JasperReports) and add report for worked hours per worker. --- .../reports/dtos/HoursWorkedPerWorkerDTO.java | 143 ++++++++++ .../business/resources/daos/IWorkerDAO.java | 8 + .../business/resources/daos/WorkerDAO.java | 48 ++++ navalplanner-webapp/pom.xml | 35 +++ .../src/main/jasper/worker_report.jrxml | 269 ++++++++++++++++++ .../web/common/CustomMenuController.java | 4 +- .../web/reports/ComboboxOutputFormat.java | 48 ++++ .../HoursWorkedPerWorkerController.java | 109 +++++++ .../reports/HoursWorkedPerWorkerModel.java | 67 +++++ .../reports/HoursWorkedPerWorkerReport.java | 33 +++ .../reports/IHoursWorkedPerWorkerModel.java | 21 ++ .../web/reports/INavalplannerReport.java | 28 ++ .../web/reports/NavalplannerReport.java | 54 ++++ .../main/resources/logos/navalpro_logo.gif | Bin 0 -> 6888 bytes .../webapp/reports/combobox_output_format.zul | 32 +++ .../src/main/webapp/reports/worker_report.zul | 112 ++++++++ pom.xml | 6 + 17 files changed, 1016 insertions(+), 1 deletion(-) create mode 100644 navalplanner-business/src/main/java/org/navalplanner/business/reports/dtos/HoursWorkedPerWorkerDTO.java create mode 100644 navalplanner-webapp/src/main/jasper/worker_report.jrxml create mode 100644 navalplanner-webapp/src/main/java/org/navalplanner/web/reports/ComboboxOutputFormat.java create mode 100644 navalplanner-webapp/src/main/java/org/navalplanner/web/reports/HoursWorkedPerWorkerController.java create mode 100644 navalplanner-webapp/src/main/java/org/navalplanner/web/reports/HoursWorkedPerWorkerModel.java create mode 100644 navalplanner-webapp/src/main/java/org/navalplanner/web/reports/HoursWorkedPerWorkerReport.java create mode 100644 navalplanner-webapp/src/main/java/org/navalplanner/web/reports/IHoursWorkedPerWorkerModel.java create mode 100644 navalplanner-webapp/src/main/java/org/navalplanner/web/reports/INavalplannerReport.java create mode 100644 navalplanner-webapp/src/main/java/org/navalplanner/web/reports/NavalplannerReport.java create mode 100644 navalplanner-webapp/src/main/resources/logos/navalpro_logo.gif create mode 100644 navalplanner-webapp/src/main/webapp/reports/combobox_output_format.zul create mode 100644 navalplanner-webapp/src/main/webapp/reports/worker_report.zul diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/reports/dtos/HoursWorkedPerWorkerDTO.java b/navalplanner-business/src/main/java/org/navalplanner/business/reports/dtos/HoursWorkedPerWorkerDTO.java new file mode 100644 index 000000000..7b0fb9445 --- /dev/null +++ b/navalplanner-business/src/main/java/org/navalplanner/business/reports/dtos/HoursWorkedPerWorkerDTO.java @@ -0,0 +1,143 @@ +/* + * This file is part of ###PROJECT_NAME### + * + * Copyright (C) 2009 Fundación para o Fomento da Calidade Industrial e + * Desenvolvemento Tecnolóxico de Galicia + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +package org.navalplanner.business.reports.dtos; + +import java.util.Date; +import java.util.Set; + +import org.navalplanner.business.labels.entities.Label; +import org.navalplanner.business.resources.entities.Worker; +import org.navalplanner.business.workreports.entities.WorkReportLine; +import org.navalplanner.business.workreports.valueobjects.DescriptionValue; + +public class HoursWorkedPerWorkerDTO { + + private String workerName; + + private Date date; + + private Date clockStart; + + private Date clockFinish; + + private Integer numHours; + + private String orderElementCode; + + private String descriptionValues; + + private String labels; + + public HoursWorkedPerWorkerDTO( + Worker worker, + WorkReportLine workReportLine) { + + this.workerName = worker.getName(); + this.date = workReportLine.getDate(); + this.clockStart = workReportLine.getClockStart(); + this.clockFinish = workReportLine.getClockFinish(); + this.numHours = workReportLine.getNumHours(); + this.orderElementCode = workReportLine.getOrderElement().getCode(); + this.descriptionValues = descriptionValuesAsString(workReportLine.getDescriptionValues()); + this.labels = labelsAsString(workReportLine.getLabels()); + } + + private String labelsAsString(Set