From 74586f9820941e3c143f6c429d69ce4fa5b6d7c1 Mon Sep 17 00:00:00 2001 From: Josef Rokos Date: Mon, 8 Sep 2014 15:25:08 +0200 Subject: [PATCH] =?UTF-8?q?Do=20sestav=20=C5=BE=C3=A1dosti=20o=20slu=C5=BE?= =?UTF-8?q?ebn=C3=AD=20cestu=20a=20vy=C3=BA=C4=8Dtov=C3=A1n=C3=AD=20vstupu?= =?UTF-8?q?je=20podpis=20u=C5=BEivatele=20a=20podpis=20schvalovatele.=20cl?= =?UTF-8?q?oses=20#132?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../isspst/reporting/DefinitionFiller.java | 44 -------------- .../bukova/isspst/reporting/ParamFiller.java | 54 ++++++++++++++++++ .../isspst/reporting/ReportController.java | 10 +++- .../webapp/WEB-INF/reports/tripBill.jasper | Bin 39514 -> 41904 bytes .../webapp/WEB-INF/reports/tripBill.jrxml | 18 +++++- .../WEB-INF/reports/tripRequirement.jasper | Bin 50596 -> 53914 bytes .../WEB-INF/reports/tripRequirement.jrxml | 22 ++++++- .../webapp/WEB-INF/spring/root-context.xml | 8 +-- 8 files changed, 103 insertions(+), 53 deletions(-) delete mode 100644 src/main/java/info/bukova/isspst/reporting/DefinitionFiller.java create mode 100644 src/main/java/info/bukova/isspst/reporting/ParamFiller.java diff --git a/src/main/java/info/bukova/isspst/reporting/DefinitionFiller.java b/src/main/java/info/bukova/isspst/reporting/DefinitionFiller.java deleted file mode 100644 index 9ab25c62..00000000 --- a/src/main/java/info/bukova/isspst/reporting/DefinitionFiller.java +++ /dev/null @@ -1,44 +0,0 @@ -package info.bukova.isspst.reporting; - -import java.util.Arrays; -import java.util.List; -import java.util.Map; - -import org.springframework.beans.factory.annotation.Autowired; - -public class DefinitionFiller { - - @Autowired - ReportDefinition definition; - - @SuppressWarnings("unchecked") - private void setData(Object data) { - if (data instanceof List) { - definition.setDataSet((List)data); - } else { - definition.setSingleObject(data); - } - } - - public void fillDefinition(Report report, Object data) { - definition.clear(); - definition.setReport(report); - setData(data); - } - - public void fillDefinition(Report report, Object data, Map params) { - fillDefinition(report, data); - definition.setParams(params); - } - - public void fillDefinition(Report report, Object data, String[] columns) { - fillDefinition(report, data); - definition.setFieldsToPrint(Arrays.asList(columns)); - } - - public void fillDefinition(Report report, Object data, String[] columns, Map params) { - fillDefinition(report, data, params); - definition.setFieldsToPrint(Arrays.asList(columns)); - } - -} diff --git a/src/main/java/info/bukova/isspst/reporting/ParamFiller.java b/src/main/java/info/bukova/isspst/reporting/ParamFiller.java new file mode 100644 index 00000000..ae17f290 --- /dev/null +++ b/src/main/java/info/bukova/isspst/reporting/ParamFiller.java @@ -0,0 +1,54 @@ +package info.bukova.isspst.reporting; + +import info.bukova.isspst.data.AuthItem; +import info.bukova.isspst.data.TripBill; +import info.bukova.isspst.data.User; +import info.bukova.isspst.data.UserSettingsData; +import info.bukova.isspst.services.requirement.TripRequirementService; +import info.bukova.isspst.services.users.UserService; +import info.bukova.isspst.storage.FileStorage; + +import org.springframework.beans.factory.annotation.Autowired; + +public class ParamFiller { + + @Autowired + private ReportDefinition definition; + @Autowired + private UserService userService; + @Autowired + private FileStorage storage; + @Autowired + private TripRequirementService tripReqService; + + public void fill() { + if (definition.getDataSet() == null || definition.getDataSet().isEmpty()) { + return; + } + + if ((definition.getDataSet().get(0) instanceof TripBill) + && definition.getReport().isSingleRecord()) { + if (userService.getUserSettings().getSignatureFile() != null + && !userService.getUserSettings().getSignatureFile().isEmpty()) { + definition.setParam("P_USER_SIGNATURE", storage.serverPath(userService.getUserSettings().getSignatureFile())); + } + + TripBill tb = (TripBill)definition.getDataSet().get(0); + tripReqService.loadAuthItems(tb.getRequirement()); + AuthItem lastAuth = tb.getRequirement().getAuthorization().get(tb.getRequirement().getAuthorization().size() - 1); + + definition.setParam("P_APPROVE_DATE", lastAuth.getAuthDate()); + + User u = lastAuth.getApprover(); + + UserSettingsData approverSettings = userService.getUserSettings(u); + + if (approverSettings != null + && approverSettings.getSignatureFile() != null + && !approverSettings.getSignatureFile().isEmpty()) { + definition.setParam("P_APPROVER_SIGNATURE", storage.serverPath(approverSettings.getSignatureFile())); + } + } + } + +} diff --git a/src/main/java/info/bukova/isspst/reporting/ReportController.java b/src/main/java/info/bukova/isspst/reporting/ReportController.java index 18888238..5e06b347 100644 --- a/src/main/java/info/bukova/isspst/reporting/ReportController.java +++ b/src/main/java/info/bukova/isspst/reporting/ReportController.java @@ -6,6 +6,8 @@ import java.io.OutputStream; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @@ -17,7 +19,10 @@ public class ReportController { private ReportDefinition reportDefinition; @Autowired private GeneratorFactory factory; + @Autowired + private ParamFiller paramFiller; private static final String ERROR_MESSAGE = "Generator returned no data!
%s"; + private final static Logger logger = LoggerFactory.getLogger(ReportController.class); private void writeError(OutputStream stream, Throwable e) { writeError(stream, e.toString()); @@ -45,6 +50,7 @@ public class ReportController { throw new ReportException("Definition is null"); } + paramFiller.fill(); Generator gen = factory.createGenerator(reportDefinition); byte[] data = gen.generate(); response.setContentType(contentType); @@ -54,13 +60,13 @@ public class ReportController { os.flush(); os.close(); } catch (IOException e) { - e.printStackTrace(); + logger.error("I/O error: " + e.getMessage()); } catch (ReportException e) { + logger.error("Report generation error: " + e.getMessage()); writeError(os, e); } finally { if (os != null) { try { - os.flush(); os.close(); } catch (IOException e) { e.printStackTrace(); diff --git a/src/main/webapp/WEB-INF/reports/tripBill.jasper b/src/main/webapp/WEB-INF/reports/tripBill.jasper index ddf3e5131ac9495411de70650e893ae334d321a2..3777829c09ac82e0c07ddba7d87e0bc53f8c0766 100644 GIT binary patch literal 41904 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 literal 39514 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 g3LXX)#E - - + + + @@ -360,6 +361,19 @@ tuzemské pracovní cesty]]> + + + + + + + + + + + + + diff --git a/src/main/webapp/WEB-INF/reports/tripRequirement.jasper b/src/main/webapp/WEB-INF/reports/tripRequirement.jasper index 2362b89f77e6da7b15c2dbf7457272418c2a195f..fb065a3537495619186c3ea5e513a251d814e311 100644 GIT binary patch delta 11014 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 THK4!p?a{;ZcUe|-YSjM$9$-<2 delta 8856 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 - +