Ich wollte den Inhalt der Ausgabe-CSV bearbeiten, während ich die Standard-CSV-Download-Funktion verwendete.
Da es nicht auf der Support-Seite war, werde ich beschreiben, was ich überprüft habe.
8.2.0
Es wird anscheinend nicht empfohlen, dies für die von Wagby erstellte Anwendung zu tun. Wenn es mit einem ETL-Tool separat verarbeitet werden kann, ist dies möglicherweise einfacher.
Es ist erforderlich, eine Klasse zu erstellen, die das automatisch generierte Java erbt, und den Inhalt der CSV-Ausgabemethode zu ändern.
Zu erbende Klasse: Download Modellname ProcessBean
DownloadTestProcessBean.java
public Object outputAllData(DbDownloadProcessor out, Map paramMap, boolean getallmodelitem) {
...
// Output header line
Collection<String> targetitems =
(Collection<String>) getParameter("targetitems");
String[] _data = ((jp.jasminesoft.wagby.app.test.TestPCSVHelper)p.appctx.getBean("TestPCSVHelper")).toCsvDataHeader(null, colMap, (ActionParameter)p, getallmodelitem, targetitems);
out.write(_data);
...
}
Eine CSV ohne Header kann erstellt werden, indem eine Methode erstellt wird, die die durch Überschreiben der obigen Methode beschriebene Verarbeitung der Headerausgabe löscht.
Dieser Prozess kann sich ändern, wenn die Wagby-Version aktualisiert wird. Überprüfen Sie daher besser, ob sich der geerbte Prozess beim Aktualisieren der Version geändert hat.
Da es nicht auf der Support-Seite vorgestellt wird, scheint es sich nicht um einen benutzerdefinierten Standardpunkt zu handeln, aber zum Zeitpunkt des Lesens und der Ausgabe jeder Zeile wird ein Javascript aufgerufen, und es ist möglich, den Inhalt dort zu bearbeiten.
Javascript-Name: Modellname + Helper_beforeShowInDownload.js
TestHelper_beforeShowInDownload.js
/**
*Von Java aufgerufene Methoden
*/
function process() {
//Der Inhalt des Geschäftsmodells kann neu geschrieben werden
test.id = "hoge";
}
Zu diesem Zeitpunkt speichert nicht nur die Spaltenausgabe in CSV, sondern auch das Geschäftsmodell alle Datensätze des Modells.
Recommended Posts