Browse Source

sqlvar exportfilename fuer Exportdateinamen auswerten #33694

kern5.2
Meikel Bisping 2 weeks ago
parent
commit
0ca2db28e1
  1. 27
      src/de/superx/common/Maske.java
  2. 16
      src/de/superx/servlet/SuperXmlTabelle.java

27
src/de/superx/common/Maske.java

@ -2576,16 +2576,23 @@ public class Maske extends NamedIdObject implements Serializable { @@ -2576,16 +2576,23 @@ public class Maske extends NamedIdObject implements Serializable {
}
/**
* Normalerweise Maskenname nur bei JasperReports der Stylesheetname
*
* @return
*/
public String getExportName() {
String result = getName();
if (selectedTableStylesheet != null && selectedTableStylesheet.getFilename().indexOf(".jrxml") > -1)
result = selectedTableStylesheet.getCaption();
return result;
}
* Normalerweise Maskenname nur bei JasperReports der Stylesheetname
*
* @return
*/
public String getExportName() {
String result = getName();
if (selectedTableStylesheet != null && selectedTableStylesheet.getFilename().indexOf(".jrxml") > -1) result = selectedTableStylesheet.getCaption();
if (map.containsKey("exportfilename"))
{
if (map.get("exportfilename")==null||map.get("exportfilename").toString().trim().equals(""))
{
throw new IllegalStateException("Die Maske definiert exportfilename, dieser ist aber leer. Masken-SQL prüfen");
}
result=map.get("exportfilename").toString();
}
return result;
}
public String getFullTableXml(String mandantenId, SxUser sxuser, HttpServletRequest request, Locale locale)
throws TransformerConfigurationException, TemplateException, IOException, SQLException,

16
src/de/superx/servlet/SuperXmlTabelle.java

@ -511,7 +511,7 @@ public class SuperXmlTabelle extends AbstractSuperXServlet { @@ -511,7 +511,7 @@ public class SuperXmlTabelle extends AbstractSuperXServlet {
response.reset();
//response.setContentType("application/vnd.ms-excel");
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setHeader("Content-disposition", "attachment; filename=" + FileUtils.removeProblemChars(maske.getName()) + ".xlsx");
response.setHeader("Content-disposition", "attachment; filename=" + FileUtils.removeProblemChars(maske.getExportName()) + ".xlsx");
response.setHeader("Cache-Control", "expires=0");
response.setContentLength(outStream.size());
ServletOutputStream sos;
@ -716,7 +716,7 @@ public class SuperXmlTabelle extends AbstractSuperXServlet { @@ -716,7 +716,7 @@ public class SuperXmlTabelle extends AbstractSuperXServlet {
SuperXManager.setLastXmlMandantid(request.getSession().getAttribute("MandantenID").toString());
XmlTransformer xmlTransformer = new XmlTransformer(getServletConfig(), request, response, getMandantenID(), getBrowser());
xmlTransformer.setMaske(maske);
xmlTransformer.transform(maske.getName(), maske.getTmpFiles(), currentXml, desiredLocale, maske.getSelectedTableStylesheetFilename(), "text/html",
xmlTransformer.transform(maske.getExportName(), maske.getTmpFiles(), currentXml, desiredLocale, maske.getSelectedTableStylesheetFilename(), "text/html",
ServletHelper.getParameter(request, "encrypt"));
@ -931,7 +931,7 @@ public class SuperXmlTabelle extends AbstractSuperXServlet { @@ -931,7 +931,7 @@ public class SuperXmlTabelle extends AbstractSuperXServlet {
// neu MB
if (maske.getSelectedTableStylesheetFilename() != null && maske.getSelectedTableStylesheetFilename().equals("tabelle_xml.xsl")) {
response.setContentType("application/x-xml; charset=" + SqlStringUtils.getEncoding());
response.setHeader("Content-disposition", "attachment; filename=" + FileUtils.removeProblemChars(maske.getName()) + ".xml");
response.setHeader("Content-disposition", "attachment; filename=" + FileUtils.removeProblemChars(maske.getExportName()) + ".xml");
response.setHeader("Cache-Control", "expires=0");
// hier wird für xml-output localiziert für andere
// formate in xmlTransformer könnte
@ -1021,7 +1021,7 @@ public class SuperXmlTabelle extends AbstractSuperXServlet { @@ -1021,7 +1021,7 @@ public class SuperXmlTabelle extends AbstractSuperXServlet {
// open browser download dialogue
response.setContentType("application/x-xml; charset=" + SqlStringUtils.getEncoding());
response.setHeader("Content-disposition", "attachment; filename=" + FileUtils.removeProblemChars(maske.getName()) + filename_extension);
response.setHeader("Content-disposition", "attachment; filename=" + FileUtils.removeProblemChars(maske.getExportName()) + filename_extension);
response.setHeader("Cache-Control", "expires=0");
}
}
@ -1029,7 +1029,7 @@ public class SuperXmlTabelle extends AbstractSuperXServlet { @@ -1029,7 +1029,7 @@ public class SuperXmlTabelle extends AbstractSuperXServlet {
getServletConfig(), request, response,
getMandantenID(), getBrowser());
xmlTransformer.setMaske(maske);
xmlTransformer.transform(maske.getName(),
xmlTransformer.transform(maske.getExportName(),
maske.getTmpFiles(), currentXml, desiredLocale,
maske.getSelectedTableStylesheetFilename(),
maske.getSelectedTableStylesheetContenttype(contenttype),
@ -1075,7 +1075,7 @@ public class SuperXmlTabelle extends AbstractSuperXServlet { @@ -1075,7 +1075,7 @@ public class SuperXmlTabelle extends AbstractSuperXServlet {
if (SxPools.get(getMandantenID()).getRepository().containsKey("K_CSV_Excel_ISO")&&SxPools.get(getMandantenID()).getRepository().get("K_CSV_Excel_ISO").toString().equals("1"))
{
outp = new String(csv.toString().getBytes("iso-8859-1"));
response.setHeader("Content-disposition", "attachment; filename=" + FileUtils.removeProblemChars(maske.getName()) + ".csv");
response.setHeader("Content-disposition", "attachment; filename=" + FileUtils.removeProblemChars(maske.getExportName()) + ".csv");
response.setHeader("Cache-Control", "expires=0");
response.setHeader("ContentType", "text/plain"); //; charset=ISO-8859-1
sendBackIso(csv.toString(), "text/csv; charset=ISO-8859-1");
@ -1084,7 +1084,7 @@ public class SuperXmlTabelle extends AbstractSuperXServlet { @@ -1084,7 +1084,7 @@ public class SuperXmlTabelle extends AbstractSuperXServlet {
{
//Format bis 2024.06:
response.setHeader("Content-disposition", "attachment; filename=" + FileUtils.removeProblemChars(maske.getName()) + ".csv");
response.setHeader("Content-disposition", "attachment; filename=" + FileUtils.removeProblemChars(maske.getExportName()) + ".csv");
response.setHeader("Cache-Control", "expires=0");
sendBack(csv.toString(), "text/csv");
@ -1936,7 +1936,7 @@ public class SuperXmlTabelle extends AbstractSuperXServlet { @@ -1936,7 +1936,7 @@ public class SuperXmlTabelle extends AbstractSuperXServlet {
String filename_extension=".jrxml";
OutputStream out = response.getOutputStream();
// open browser download dialogue
response.setHeader("Content-disposition", "attachment; filename=" + FileUtils.removeProblemChars(maske.getName()) + filename_extension);
response.setHeader("Content-disposition", "attachment; filename=" + FileUtils.removeProblemChars(maske.getExportName()) + filename_extension);
response.setHeader("Cache-Control", "expires=0");
String jrxmlFileContent = de.memtext.util.FileUtils.getFileContentsWithEncoding(jrxmlFilePath, SqlStringUtils.getEncoding());

Loading…
Cancel
Save