5.9.0.0 (2015/09/04) [帳票のCSV出力対応] 外部の帳票出力ツールとの連携を行う場合等にCSV出力が必要になります。 RFIDと同じような仕掛けで、CSVデータとして帳票のデータを出力できるようにします。 システムリソースで指定するRFID及びCSVの出力パターンはplugin扱いとして、hayabusa.reportに配置していた RFIDのDEFAULTはpluginパッケージに移動します。 CSVの出力方式は単純なCSVと、Report & Form Warehouse用のヘッダを付ける2つのクラスを作成しておきます。 hayabusa.report.CSVPrintPointService hayabusa.report.AbstractCSVPrintPointService hayabusa.report.CSVPrintRequest hayabusa.report.ReportProcessing#FGRUN_G,FGRUN_H,FGRUN_I hayabusa.report.ReportProcessing#execute() hayabusa.report2.ExecQueue#CSV_PRINT,CSV_PRINT_EXCEL,CSV_PRINT_PDF hayabusa.report2.ExecQueue#setOutputName( final String outputDir, final String outputFile, final String type, final String yokyu ) hayabusa.report2.ExecProcess#csv() hayabusa.report2.ExecProcess#process() hayabusa.common.SystemData#REPORT_CSV_SERVICE_CLASS,REPORT_CSV_TEXT_ENCODE,REPORT_RFID_SERVICE_CLASS plugin.report.CSVPrintPointService_DEFAULT plugin.report.CSVPrintPointService_RFW plugin.report.RFIDPrintPointService_DEFAULT hayabusa.report.RFIDPrintPointService_DEFAULT ⇒廃止(pluginに移動) [XLSX対応] Ver.6で対応しているXLSX関係のクラスをfukurouに入れて、TableReader_Excelのみ対応を行います。 限定的な対応のため、V6とは若干EventReaderの呼び出しが異なります。 同時にコンパイルするJDKを1.6から1.7に変更し、POIは3.10にバージョンアップします。 POIバージョン変更の影響はhayabusa.report.HybsHSSFListenerクラスで、帳票発行を行っているTomcatではPOIの変更が必須です。 コンパイル時の警告は一旦無視しておきます。 標準的にXLSXを利用するにはfileDownload.jspの出力拡張子を変更する必要があり、対応できるような形に修正はしていますが、 外部ツールとの連携等を行っている可能性も僅かにあるので標準はXLSとしておきます。 readTableの入力はイベント方式採用でメモリ使用量を抑えています。 同様の目的のために、writeTalbeの出力はSXSSFのストリーミング方式を利用しています。。 jsp/common/fileDownload.jsp hayabusa.report.HybsHSSFListener (POIバージョン変更対応) hayabusa.io.AbstractTableReader#setTableDBColumn( final String[] names ) fukurou.util.StringUtil#csv2ArrayExt2( final String csvData , final int maxNo ) plugin.io.TableReader_Excel#readDBTable() plugin.io.TableWriter_Excel#writeDBTable() 以下新規作成 fukurou.util.FileInfo fukurou.util.ImageUtil fukurou.model.TableModelHelper fukurou.model.POIUtil fukurou.model.TextConverter fukurou.model.ExcelStyleFormat fukurou.model.EventReader fukurou.model.EventReader_TEXT fukurou.model.EventReader_XLS fukurou.model.EventReader_XLSX [eventScript.js] 6.3.6.1の対応と同じ。 realtimecheck.jsp の呼び出しイベントで、アドレスが、'../common/realtimecheck.jsp' になっていた為、jsp/common/gamen 以下の相対パスが異なる画面で常にエラーが 発生していました。 JavaScriptで絶対パスを取得して、つなげます。 ただし、パスに、jsp が含まれることを前提とします。 /jsp/common/eventScript.jsp [all.tagsの対応] 6.3.6.1の対応と同じ。 all.tags が、HTML5非対応なので、条件判定でNullエラーしない様に修正。 $().find化 すると、HTML5でも使用できるようになるが、ガントが横に並ばなくなる。 src/script/common/option/adjustGanttTable.js src/script/common/option/gantt.js#breakAdjust() [カラム名変更] DB検索画面で、SQL入力欄のカラム名(INSQL)が、カラムリソース未登録の為、警告が出ます。 他の画面で使用中の、カラム名(SQL_TEXT)に置き換えます。INSQL → SQL_TEXT jsp/common/gamen/03_DBSEARCH/changeSQL.jsp jsp/common/gamen/03_DBSEARCH/query.jsp