2 * Copyright (c) 2009 The openGion Project.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
13 * either express or implied. See the License for the specific language
14 * governing permissions and limitations under the License.
16 package org.opengion.hayabusa.report2;
18 // import java.io.File;
19 import java.util.Map; // 8.0.3.0 (2021/12/17)
21 import org.opengion.fukurou.system.OgRuntimeException ; // 6.4.2.0 (2016/01/29)
22 //import org.opengion.fukurou.util.StringUtil; // 6.9.8.1 (2018/06/11) 7.4.4.0 (2021/06/30) Delete
23 import org.opengion.hayabusa.db.DBTableModel;
24 import static org.opengion.fukurou.system.HybsConst.BUFFER_MIDDLE; // 6.1.0.0 (2014/12/26) refactoring
25 import static org.opengion.fukurou.system.HybsConst.CR ; // 8.0.3.0 (2021/12/17)
26 import static org.opengion.fukurou.system.HybsConst.FS ; // 8.0.3.0 (2021/12/17)
29 * 帳票処理要求を管理するキューオブジェクトです。
30 * このオブジェクトでは、帳票の定義及びデータと、処理中に発生したエラーメッセージを管理します。
31 * また、このキューを生成したオブジェクトもこのオブジェクトにセットされます。
36 * @author Hiroki.Nakamura
39 public class ExecQueue {
41 /** 実行方法(FGRUN) {@value} */
42 protected static final String OUT_ODS_ONLY = "1"; // 変換のみ
43 /** 実行方法(FGRUN) {@value} */
44 protected static final String OUT_PRINT_ONLY = "2"; // (印刷のみ)
45 /** 実行方法(FGRUN) {@value} */
46 protected static final String OUT_ODS_PRINT = "3"; // プリンタ出力
47 /** 実行方法(FGRUN) {@value} */
48 protected static final String OUT_ODS_PDF = "P"; // PDF出力
49 /** 実行方法(FGRUN) {@value} */
50 protected static final String OUT_ODS_PRINT_PDF = "Q"; // PDF+印刷
51 /** 実行方法(FGRUN) {@value} */
52 protected static final String OUT_ODS_EXCEL = "E"; // Excel出力
53 /** 実行方法(FGRUN) {@value} */
54 protected static final String OUT_ODS_XLSX = "F"; // 8.0.1.0 (2021/10/29) Excel2007形式
55 /** 実行方法(FGRUN) {@value} */
56 protected static final String OUT_ODS_ODS = "S"; // ODS出力 4.3.3.4 (2008/11/01) 追加
58 /** 8.0.3.0 (2021/12/17) 実行方法(FGRUN)をタイプ:拡張子に変換するMap */
59 private static final Map<String,String> FGRUN2TYPE = Map.of(
60 OUT_ODS_EXCEL , ".xls" , OUT_ODS_XLSX , ".xlsx" ,
61 OUT_ODS_PDF , ".pdf" , OUT_ODS_PRINT_PDF , ".pdf" ,
65 // 7.4.4.0 (2021/06/30) openGionV8事前準備(EXCEL取込廃止、RFID出力廃止)
66 // /** 実行方法 {@value} */
67 // protected static final String IN_INPUT_ONLY = "5"; // (取込のみ)
68 // /** 実行方法 {@value} */
69 // protected static final String IN_EXEC_ONLY = "6"; // (PG起動)
70 // /** 実行方法 {@value} */
71 // protected static final String IN_INPUT_EXEC = "7"; // 取込・PG起動
72 // /** 実行方法 {@value} */
73 // protected static final String RFID_PRINT = "A"; // RFID(通常印刷)
74 // /** 実行方法 {@value} */
75 // protected static final String RFID_ALLPRINT = "B"; // RFID(全印刷)
76 // /** 実行方法 {@value} */
77 // protected static final String RFID_ALLERASE = "C"; // RFID(全消去)
78 // /** 実行方法 {@value} */
79 // protected static final String RFID_SEQERASE = "D"; // RFID(連続消去)
81 // // 8.0.1.0 (2021/10/29) CSV出力対応(ユリニタ帳票)は、一旦保留にします。
82 // // 5.9.0.0 (2015/09/04) CSV出力対応
83 // /** 実行方法 {@value} */
84 // protected static final String CSV_PRINT = "G";
85 // /** 実行方法 {@value} */
86 // protected static final String CSV_PRINT_EXCEL = "H";
87 // /** 実行方法 {@value} */
88 // protected static final String CSV_PRINT_PDF = "I";
89 // /** 実行方法 {@value} */
90 // protected static final String CSV_PRINT_EXCEL2 = "J"; // 5.9.4.2 (2016/01/15) EXCEL2追加
92 /** 最大シート数 {@value} */
93 // protected static final int MAX_SHEETS_PER_FILE = 256; // 5.1.2.0 (2010/01/01)
94 protected static final int MAX_SHEETS_PER_FILE = 999; // 7.1.0.0 (2020/01/27) 256シート制限を999にしておく。
96 private DBTableModel body ;
97 private DBTableModel header ;
98 private DBTableModel footer ;
100 private String[] bodyTypes ; // 8.0.3.0 (2021/12/17)
102 private String systemId ;
103 private String ykno ;
104 private String listId ;
105 private String outputName ;
106 private String pdfPasswd ;
107 private String lang ;
108 private String outputType ; // 実行方法(FGRUN)
109 private String threadId ;
110 private String templateName;
111 private String printerName ;
112 private boolean fglocal ;
113 private boolean fgcut ;
114 private QueueManager manager ;
115 // private String prgdir ; // 4.3.3.0 (2008/10/01) 板金RFID対応。
116 // private String prgfile ; // 4.3.3.0 (2008/10/01)
117 // private String prtid ; // 4.3.3.0 (2008/10/01)
119 // private String grpid ; // 5.9.2.2 (2015/11/20)
120 // private String dmngrp ; // 5.9.2.2 (2015/11/20)
121 private int pageCnt ; // 5.1.2.0 (2010/01/01) 処理したページ数
122 private int rowCnt ; // 5.1.2.0 (2010/01/01) 処理した行数
123 private boolean isDataEnd ; // 5.1.2.0 (2010/01/01) 全データが処理されたか (メソッド名と同じ変数名変更)
125 private boolean useSheetName; // 5.7.6.2 (2014/05/16) PAGEBREAKカラムの値を、シート名として使うかどうか。
126 // private String fgnoml = "0"; // 5.10.0.0 (2018/06/08) メール不要フラグ
127 //private boolean fgnoml ; // 6.9.8.1 (2018/06/11) 帳票エラーメールの改修(メール不要フラグ=trueで不要、falseが必要) 7.4.4.0 (2021/06/30) Delete
129 private final StringBuilder errMsgBuf = new StringBuilder( BUFFER_MIDDLE );
134 * @og.rev 6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.
136 public ExecQueue() { super(); } // これも、自動的に呼ばれるが、空のメソッドを作成すると警告されるので、明示的にしておきます。
143 public void setYkno( final String ykno ) {
152 public String getYkno() {
159 * @param systemId システムID
161 public void setSystemId( final String systemId ) {
162 this.systemId = systemId;
168 * @return StringシステムID
170 public String getSystemId() {
175 * ボディー部分のDBTableModelをセットします。
177 * @param body DBTableModelオブジェクト
179 public void setBody( final DBTableModel body ) {
184 * ボディー部分のDBTableModelを取得します。
186 * @return ボディー部分のDBTableModelオブジェクト
188 public DBTableModel getBody() {
193 * ボディー部分のテキスト区分の配列をセットします。
195 * @og.rev 8.0.3.0 (2021/12/17) 新規追加
197 * @param bodyTypes ボディー部分のテキスト区分の配列
199 public void setBodyTypes( final String[] bodyTypes ) {
200 this.bodyTypes = bodyTypes;
204 * ボディー部分のテキスト区分の配列を取得します。
206 * @og.rev 8.0.3.0 (2021/12/17) 新規追加
208 * @return ボディー部分のテキスト区分の配列
210 public String[] getBodyTypes() {
215 * ヘッダー部分のDBTableModelをセットします。
217 * @param header DBTableModelオブジェクト
219 public void setHeader( final DBTableModel header ) {
220 this.header = header;
224 * ヘッダー部分のDBTableModelを取得します。
226 * @return ヘッダー部分のDBTableModelオブジェクト
228 public DBTableModel getHeader() {
233 * フッター部分のDBTableModelをセットします。
235 * @param footer DBTableModelオブジェクト
237 public void setFooter( final DBTableModel footer ) {
238 this.footer = footer;
242 * フッター部分のDBTableModelを取得します。
244 * @return フッター部分のDBTableModelオブジェクト
246 public DBTableModel getFooter() {
255 public void setListId( final String listId ) {
256 this.listId = listId;
264 public String getListId() {
271 * @param pdfPasswd PDFパスワード
273 public void setPdfPasswd( final String pdfPasswd ) {
274 this.pdfPasswd = pdfPasswd;
282 public String getPdfPasswd() {
291 public void setLang( final String lang ) {
300 public String getLang() {
307 * @param templateName 雛形ファイル名
309 public void setTemplateName( final String templateName ) {
310 this.templateName = templateName;
318 public String getTemplateName() {
323 * 実行方法(FGRUN)をセットします。
325 * @param outputType 実行方法(FGRUN)
327 public void setOutputType( final String outputType ) {
328 this.outputType = outputType;
332 * 出力タイプ:実行方法(FGRUN)を取得します。
334 * @return 出力タイプ:実行方法(FGRUN)
336 public String getOutputType() {
343 * @param printerName プリンター名
345 public void setPrinterName( final String printerName ) {
346 this.printerName = printerName;
354 public String getPrinterName() {
359 * 処理要求を処理するスレッドIDをセットします。
361 * @param threadId スレッドID
363 public void setThreadId( final String threadId ) {
364 this.threadId = threadId;
368 * 処理要求を処理するスレッドIDを取得します。
372 public String getThreadId() {
379 * @param outputName 出力ファイル名
381 public void setOutputName( final String outputName ) {
382 this.outputName = outputName;
387 * GE50に設定されていない場合は第四引数(要求番号)を利用する。
388 * その場合、タイプ:実行方法(FGRUN)に応じた拡張子が自動設定される。
390 * ".xls" : OUT_ODS_EXCEL
391 * ".xlsx" : OUT_ODS_XLSX // 8.0.1.0 (2021/10/29)
392 * ".pdf" : OUT_ODS_PDF , OUT_ODS_PRINT_PDF
393 * ".ods" : OUT_ODS_ODS
394 // * ".xml" : RFID_PRINT , RFID_ALLPRINT , RFID_ALLERASE , RFID_SEQERASE 7.4.4.0 (2021/06/30) Delete
395 // * ".csv" : CSV_PRINT , CSV_PRINT_EXCEL , CSV_PRINT_PDF
397 * @og.rev 4.3.3.4 (2008/11/01) ODS出力対応
398 * @og.rev 5.4.3.0 (2011/12/26) RFIDデフォルト対応
399 * @og.rev 5.4.4.1 (2012/02/03) RFID拡張子変更
400 * @og.rev 5.9.0.0 (2015/09/04) CSV対応
401 * @og.rev 7.4.4.0 (2021/06/30) openGionV8事前準備(RFID出力廃止)
402 * @og.rev 8.0.1.0 (2021/10/29) CSV出力対応(ユリニタ帳票)は、一旦保留にします。
403 * @og.rev 8.0.1.0 (2021/10/29) OUT_ODS_XLSX (Excel2007形式) 評価用
405 * @param outputDir 出力ディレクトリ名
406 * @param outputFile 出力ファイル名
407 // * @param type タイプ:実行方法(FGRUN)
408 * @param fgrun 実行方法(FGRUN)
409 * @param yokyu 要求番号(ファイル名が指定されていない場合のファイル名)
412 // public void setOutputName( final String outputDir, final String outputFile, final String type, final String yokyu ){
413 public void setOutputName( final String outputDir, final String outputFile, final String fgrun, final String yokyu ){
414 final StringBuilder filePath = new StringBuilder( BUFFER_MIDDLE );
415 // filePath.append( outputDir ).append( File.separator ); // 6.0.2.5 (2014/10/31) char を append する。
416 filePath.append( outputDir ).append( FS ); // 6.0.2.5 (2014/10/31) char を append する。
418 if( outputFile == null || outputFile.isEmpty() ){ // ファイル名が指定されていない場合は要求番号を利用する。
419 final String type = FGRUN2TYPE.getOrDefault( fgrun,".txt" );
420 filePath.append( yokyu );
421 filePath.append( type );
423 // if( OUT_ODS_EXCEL.equals( type ) ){
424 // filePath.append( yokyu );
425 // filePath.append( ".xls" );
427 // else if( OUT_ODS_XLSX.equals( type ) ){ // 8.0.1.0 (2021/10/29)
428 // filePath.append( yokyu );
429 // filePath.append( ".xlsx" );
431 // else if( OUT_ODS_PDF.equals( type ) || OUT_ODS_PRINT_PDF.equals( type ) ){
432 // filePath.append( yokyu );
433 // filePath.append( ".pdf" );
435 // // 4.3.3.4 (2008/11/01) 追加
436 // else if( OUT_ODS_ODS.equals ( type ) ){
437 // filePath.append( yokyu );
438 // filePath.append( ".ods" );
440 // 5.4.3.0 (2011/12/26) 追加
441 // 5.4.4.2 (2012/02/03) .txtではなく.xml
442 // 7.4.4.0 (2021/06/30) Delete
443 //else if( ExecQueue.RFID_PRINT.equals( type ) || ExecQueue.RFID_ALLPRINT.equals( type )
444 // || ExecQueue.RFID_ALLERASE.equals( type ) || ExecQueue.RFID_SEQERASE.equals( type ) ) {
445 // filePath.append( yokyu );
446 // filePath.append( ".xml" ); //txt-xml
448 // 5.9.0.0 (2015/09/04) 追加
449 // 5.9.4.2 (2016/01/13) EXCEL2追加
450 // 8.0.1.0 (2021/10/29) CSV出力対応(ユリニタ帳票)は、一旦保留にします。
451 // else if( ExecQueue.CSV_PRINT.equals( type ) || ExecQueue.CSV_PRINT_EXCEL.equals( type )
452 // || ExecQueue.CSV_PRINT_PDF.equals( type ) || ExecQueue.CSV_PRINT_EXCEL2.equals( type ) ) {
453 // filePath.append( yokyu );
454 // filePath.append( ".csv" );
458 filePath.append( outputFile );
461 this.outputName = filePath.toString();
467 * @og.rev 5.1.2.0 (2010/01/01) 256シートを超える場合に対応。2ファイル目以降は、_1、_2・・・をファイル名の後ろにつける
468 * @og.rev 6.3.9.0 (2015/11/06) コンストラクタで初期化されていないフィールドを null チェックなしで利用している(findbugs)
473 public String getOutputName() {
474 // 6.3.9.0 (2015/11/06) コンストラクタで初期化されていないフィールドを null チェックなしで利用している(findbugs)
475 if( outputName == null ) {
476 final String errMsg = "#setOutputName(…)を先に実行しておいてください。" ;
477 throw new OgRuntimeException( errMsg );
480 if( pageCnt <= MAX_SHEETS_PER_FILE ) {
484 final StringBuilder fileName = new StringBuilder( BUFFER_MIDDLE );
486 final int idx = outputName.lastIndexOf( '.' );
487 final String name = outputName.substring( 0, idx );
488 final String suffix = outputName.substring( idx );
489 final int addNo = (int)Math.ceil( (double)pageCnt/(double)MAX_SHEETS_PER_FILE ) - 1;
491 fileName.append( name ).append( '_' ).append( addNo ).append( suffix ); // 6.0.2.5 (2014/10/31) char を append する。
493 return fileName.toString();
498 // * 実行ファイルディレクトリを指定します。
500 // * @og.rev 4.3.3.0 (2008/10/01) 板金RFID対応
501 // * @og.rev 8.0.3.0 (2021/12/17) 未使用なので削除
503 // * @param dir ディレクトリ
505 // public void setPrgDir( final String dir ) {
506 // this.prgdir = dir;
510 // * 実行ファイルディレクトリを取得します。
512 // * @og.rev 4.3.3.0 (2008/10/01) 板金RFID対応
513 // * @og.rev 8.0.3.0 (2021/12/17) 未使用なので削除
515 // * @return プログラムディレクトリ
517 // public String getPrgDir() {
524 // * @og.rev 4.3.3.0 (2008/10/01) 板金RFID対応
525 // * @og.rev 8.0.3.0 (2021/12/17) 未使用なので削除
527 // * @param file ファイル名
529 // public void setPrgFile( final String file ) {
530 // this.prgfile = file;
536 // * @og.rev 4.3.3.0 (2008/10/01) 板金RFID対応
537 // * @og.rev 8.0.3.0 (2021/12/17) 未使用なので削除
539 // * @return プログラムファイル名
541 // public String getPrgFile() {
548 // * @og.rev 4.3.3.0 (2008/10/01) 板金RFID対応
549 // * @og.rev 8.0.3.0 (2021/12/17) 未使用なので削除
551 // * @param id プリンタID
553 // public void setPrtId( final String id ) {
560 // * @og.rev 4.3.3.0 (2008/10/01) 板金RFID対応
561 // * @og.rev 8.0.3.0 (2021/12/17) 未使用なので削除
565 // public String getPrtId() {
570 // * グループIDをセットします。
572 // * @og.rev 5.9.2.2 (2015/11/20)
573 // * @og.rev 8.0.3.0 (2021/12/17) 未使用なので削除
575 // * @param id グループID
577 // public void setGrpId( final String id ) {
584 // * @og.rev 5.9.2.2 (2015/11/20)
585 // * @og.rev 8.0.3.0 (2021/12/17) 未使用なので削除
587 // * @return グループID
589 // public String getGrpId() {
594 // * デーモングループをセットします。
596 // * @og.rev 5.9.2.2 (2015/11/20)
597 // * @og.rev 8.0.3.0 (2021/12/17) 未使用なので削除
599 // * @param name デーモングループ
601 // public void setDmnGrp( final String name ) {
602 // this.dmngrp = name;
606 // * デーモングループを取得します。
608 // * @og.rev 5.9.2.2 (2015/11/20)
609 // * @og.rev 8.0.3.0 (2021/12/17) 未使用なので削除
611 // * @return デーモングループ
613 // public String getDmnGrp() {
618 * ローカルリソース使用フラグをセットします(初期値:false)。
620 * @param fglocal ローカルリソース使用フラグ[true:使用する/false:使用しない]
622 public void setFglocal( final boolean fglocal ) {
623 this.fglocal = fglocal;
627 * ローカルリソース使用フラグを取得します。
629 * @return ロールリソース使用フラグ[true:使用する/false:使用しない]
631 public boolean isFglocal() {
636 * ページエンドカットフラグをセットします(初期値:false)。
638 * @param fgcut ページエンドカットの使用可否[true:使用/false:通常]
640 public void setFgcut( final boolean fgcut ) {
645 * ページエンドカットフラグを取得します。
647 * @return ページエンドカットフラグ
649 public boolean isFgcut() {
654 * PAGEBREAKカラムの値を、シート名として使うかどうかをセットします(初期値:false)。
656 * @og.rev 5.7.6.2 (2014/05/16) 新規追加
658 * @param useSheetName PAGEBREAKカラムのシート名使用可否[true:使用/false:使用しない]
660 public void setUseSheetName( final boolean useSheetName ) {
661 this.useSheetName = useSheetName;
665 * PAGEBREAKカラムの値を、シート名として使うかどうかを取得します。
667 * @og.rev 5.7.6.2 (2014/05/16) 新規追加
669 * @return PAGEBREAKカラムのシート名使用可否[true:使用/false:使用しない]
671 public boolean isUseSheetName() {
678 * @param manager キューマネージャー
680 public void setManager( final QueueManager manager ) {
681 this.manager = manager;
686 * 既にテーブルモデルがセットされている場合は、再セットしません。
689 public void setData() {
690 if( body == null && manager != null ) {
699 public void setExecute() {
700 if( manager != null ) {
701 manager.execute( this );
709 public void setComplete() {
710 if( manager != null ) {
711 manager.complete( this );
718 public void setError() {
719 if( manager != null ) {
720 manager.error( this );
727 * @param msg エラーメッセージの可変変数
729 public void addMsg( final String msg ) {
730 // errMsg.append( msg );
731 errMsgBuf.append( msg ).append( CR );
740 public String getMsg() {
741 return errMsgBuf.toString();
745 * 処理したページ数を引数の分だけカウントアップします。
747 * これは、256シート以上を印刷する場合、ファイル名に"_"を付けて
748 * 出力する機能と、GE50のSUPAGEカラムに印刷ページ数をセットするのに
750 * openOfficeのシート制限は解除されていますが、SUPAGEカラムが
751 * NUMBER(3) でDB定義されているため、1000以上のページを、GE50 に
753 * DB定義を変更するまでの間、最大ページ数を、999 としておきます。
755 * @og.rev 5.1.2.0 (2010/01/01) 新規追加
756 * @og.rev 7.1.0.0 (2020/01/27) 256シート制限を999にしておく。
758 * @param pgs カウントアップするページ数
760 public void addExecPageCnt( final int pgs ) {
763 // 7.1.0.0 (2020/01/27) 256シート制限を999にしておく。
764 if( pageCnt > MAX_SHEETS_PER_FILE ) { pageCnt = MAX_SHEETS_PER_FILE; }
770 * @og.rev 5.1.2.0 (2010/01/01) 新規追加
774 public int getExecPagesCnt() {
781 * @og.rev 5.1.2.0 (2010/01/01) 新規追加
785 public void setExecRowCnt( final int rws ) {
792 * @og.rev 5.1.2.0 (2010/01/01) 新規追加
796 public int getExecRowCnt() {
801 * 全ての行が処理されたかをセットします(初期値:false)。
803 * これは、処理結果が、256シートを超えていた場合、再度残りのデータについて
804 * 処理を行うかどうかの判定するために、利用します。
806 * @og.rev 5.1.2.0 (2010/01/01) 新規追加
808 * @param flag 全ての行が処理されたか
810 public void setEnd( final boolean flag ) {
815 * 全ての行が処理されているかを返します。
817 * これは、処理結果が、256シートを超えていた場合、再度残りのデータについて
818 * 処理を行うかどうかの判定するために、利用します。
820 * @og.rev 5.1.2.0 (2010/01/01) 新規追加
822 * @return 全ての行が処理されたか
824 public boolean isEnd() {
829 * テンポラリ出力のキーとなる文字列を生成して返します。
831 * systemId + FS + listId + FS + ykno を連結します。
833 * @og.rev 8.0.3.0 (2021/12/17) 新規追加
835 * @return テンポラリ出力のキーとなる文字列
837 public String getTempKey() {
838 return systemId + FS + listId + FS + ykno;
842 // * FGNOMI(メール不要フラグ)を設定します(初期値=false:送信する)。
844 // * 帳票エラー時のメール送信は帳票IDの正規表現でコントロール可能でしたが、
845 // * ID単位に未送信フラグを持たせてコントロール可能にします。
846 // * 帳票の動作にDBのカラム追加が伴うためバージョンを5.10系に上げます。
847 // * エラーメールが不要の場合は、"true", もしくは、1文字の場合のみ、"0" 以外の場合が、
848 // * メール不要として、エラーメールを送信しません。
850 // * @og.rev 5.10.0.0 (2018/06/08) 新規追加
851 // * @og.rev 6.9.8.1 (2018/06/11) 帳票エラーメールの改修(メール不要フラグ=trueで不要、falseが必要)
852 // * @og.rev 7.4.4.0 (2021/06/30) openGionV8事前準備(GE54.FGNOML廃止)
854 // // * @param fgnoml
855 // * @param flag メール不要フラグ
857 // // public void setFgnoml( final String fgnoml) {
858 // 7.4.4.0 (2021/06/30) Delete
859 // public void setFgnoml( final String flag ) {
860 // // this.fgnoml = fgnoml;
861 // fgnoml = StringUtil.nval( flag,fgnoml ); // true,TRUE,0以外の1文字の場合、true、それ以外は、初期値
865 // * FGNOMI(メール不要フラグ)を取得します。
867 // * @og.rev 5.10.0.0 (2018/06/08) 新規追加
868 // * @og.rev 6.9.8.1 (2018/06/11) 帳票エラーメールの改修(メール不要フラグ=trueで不要、falseが必要)
869 // * @og.rev 7.4.4.0 (2021/06/30) openGionV8事前準備(GE54.FGNOML廃止)
871 // // * @return fgnomi
872 // * @return メール不要フラグ [true:メール不要/false:エラーメール送信する]
874 // // public String getFgnoml() {
875 // 7.4.4.0 (2021/06/30) Delete
876 // public boolean isFgnoml() {
877 // // return this.fgnoml;