001/* 002 * Copyright (c) 2009 The openGion Project. 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.apache.org/licenses/LICENSE-2.0 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 013 * either express or implied. See the License for the specific language 014 * governing permissions and limitations under the License. 015 */ 016package org.opengion.hayabusa.report2; 017 018import org.opengion.fukurou.system.OgRuntimeException ; // 6.4.2.0 (2016/01/29) 019import java.io.File; 020 021//import org.opengion.fukurou.util.StringUtil; // 6.9.8.1 (2018/06/11) 7.4.4.0 (2021/06/30) Delete 022import org.opengion.hayabusa.db.DBTableModel; 023import static org.opengion.fukurou.system.HybsConst.BUFFER_MIDDLE; // 6.1.0.0 (2014/12/26) refactoring 024 025/** 026 * 帳票処理要求を管理するキューオブジェクトです。 027 * このオブジェクトでは、帳票の定義及びデータと、処理中に発生したエラーメッセージを管理します。 028 * また、このキューを生成したオブジェクトもこのオブジェクトにセットされます。 029 * 030 * @og.group 帳票システム 031 * 032 * @version 4.0 033 * @author Hiroki.Nakamura 034 * @since JDK1.6 035 */ 036public class ExecQueue { 037 038 /** 実行方法 {@value} */ 039 protected static final String OUT_ODS_ONLY = "1"; // 変換のみ 040 /** 実行方法 {@value} */ 041 protected static final String OUT_PRINT_ONLY = "2"; // (印刷のみ) 042 /** 実行方法 {@value} */ 043 protected static final String OUT_ODS_PRINT = "3"; // プリンタ出力 044 /** 実行方法 {@value} */ 045 protected static final String OUT_ODS_PDF = "P"; // PDF出力 046 /** 実行方法 {@value} */ 047 protected static final String OUT_ODS_PRINT_PDF = "Q"; // PDF+印刷 048 /** 実行方法 {@value} */ 049 protected static final String OUT_ODS_EXCEL = "E"; // Excel出力 050 /** 実行方法 {@value} */ 051 protected static final String OUT_ODS_ODS = "S"; // ODS出力 4.3.3.4 (2008/11/01) 追加 052 053 // 7.4.4.0 (2021/06/30) openGionV8事前準備(EXCEL取込廃止、RFID出力廃止) 054 // /** 実行方法 {@value} */ 055 // protected static final String IN_INPUT_ONLY = "5"; // (取込のみ) 056 // /** 実行方法 {@value} */ 057 // protected static final String IN_EXEC_ONLY = "6"; // (PG起動) 058 // /** 実行方法 {@value} */ 059 // protected static final String IN_INPUT_EXEC = "7"; // 取込・PG起動 060 // /** 実行方法 {@value} */ 061 // protected static final String RFID_PRINT = "A"; // RFID(通常印刷) 062 // /** 実行方法 {@value} */ 063 // protected static final String RFID_ALLPRINT = "B"; // RFID(全印刷) 064 // /** 実行方法 {@value} */ 065 // protected static final String RFID_ALLERASE = "C"; // RFID(全消去) 066 // /** 実行方法 {@value} */ 067 // protected static final String RFID_SEQERASE = "D"; // RFID(連続消去) 068 069 // 5.9.0.0 (2015/09/04) CSV出力対応 070 /** 実行方法 {@value} */ 071 protected static final String CSV_PRINT = "G"; 072 /** 実行方法 {@value} */ 073 protected static final String CSV_PRINT_EXCEL = "H"; 074 /** 実行方法 {@value} */ 075 protected static final String CSV_PRINT_PDF = "I"; 076 /** 実行方法 {@value} */ 077 protected static final String CSV_PRINT_EXCEL2 = "J"; // 5.9.4.2 (2016/01/15) EXCEL2追加 078 079 /** 最大シート数 {@value} */ 080// protected static final int MAX_SHEETS_PER_FILE = 256; // 5.1.2.0 (2010/01/01) 081 protected static final int MAX_SHEETS_PER_FILE = 999; // 7.1.0.0 (2020/01/27) 256シート制限を999にしておく。 082 083 private String ykno ; 084 private String systemId ; 085 private DBTableModel body ; 086 private DBTableModel header ; 087 private DBTableModel footer ; 088 private String listId ; 089 private String pdfPasswd ; 090 private String lang ; 091 private String threadId ; 092 private String templateName; 093 private String outputType ; 094 private String printerName ; 095 private String outputName ; 096 private boolean fglocal ; 097 private boolean fgcut ; 098 private QueueManager manager ; 099 private String prgdir ; // 4.3.3.0 (2008/10/01) 板金RFID対応。 100 private String prgfile ; // 4.3.3.0 (2008/10/01) 101 private String prtid ; // 4.3.3.0 (2008/10/01) 102 103 private String grpid ; // 5.9.2.2 (2015/11/20) 104 private String dmngrp ; // 5.9.2.2 (2015/11/20) 105 private int pageCnt ; // 5.1.2.0 (2010/01/01) 処理したページ数 106 private int rowCnt ; // 5.1.2.0 (2010/01/01) 処理した行数 107 private boolean isDataEnd ; // 5.1.2.0 (2010/01/01) 全データが処理されたか (メソッド名と同じ変数名変更) 108 109 private boolean useSheetName; // 5.7.6.2 (2014/05/16) PAGEBREAKカラムの値を、シート名として使うかどうか。 110// private String fgnoml = "0"; // 5.10.0.0 (2018/06/08) メール不要フラグ 111 //private boolean fgnoml ; // 6.9.8.1 (2018/06/11) 帳票エラーメールの改修(メール不要フラグ=trueで不要、falseが必要) 7.4.4.0 (2021/06/30) Delete 112 113 private final StringBuilder errMsg = new StringBuilder( BUFFER_MIDDLE ); 114 115 /** 116 * デフォルトコンストラクター 117 * 118 * @og.rev 6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor. 119 */ 120 public ExecQueue() { super(); } // これも、自動的に呼ばれるが、空のメソッドを作成すると警告されるので、明示的にしておきます。 121 122 /** 123 * 要求NOをセットします。 124 * 125 * @param ykno 要求NO 126 */ 127 public void setYkno( final String ykno ) { 128 this.ykno = ykno; 129 } 130 131 /** 132 * 要求NOを取得します。 133 * 134 * @return 要求NO 135 */ 136 public String getYkno() { 137 return ykno; 138 } 139 140 /** 141 * システムIDをセットします。 142 * 143 * @param systemId システムID 144 */ 145 public void setSystemId( final String systemId ) { 146 this.systemId = systemId; 147 } 148 149 /** 150 * システムIDを取得します。 151 * 152 * @return StringシステムID 153 */ 154 public String getSystemId() { 155 return systemId; 156 } 157 158 /** 159 * ボディー部分のDBTableModelをセットします。 160 * 161 * @param body DBTableModelオブジェクト 162 */ 163 public void setBody( final DBTableModel body ) { 164 this.body = body; 165 } 166 167 /** 168 * ボディー部分のDBTableModelを取得します。 169 * 170 * @return ボディー部分のDBTableModelオブジェクト 171 */ 172 public DBTableModel getBody() { 173 return body; 174 } 175 176 /** 177 * ヘッダー部分のDBTableModelをセットします。 178 * 179 * @param header DBTableModelオブジェクト 180 */ 181 public void setHeader( final DBTableModel header ) { 182 this.header = header; 183 } 184 185 /** 186 * ヘッダー部分のDBTableModelを取得します。 187 * 188 * @return ヘッダー部分のDBTableModelオブジェクト 189 */ 190 public DBTableModel getHeader() { 191 return header; 192 } 193 194 /** 195 * フッター部分のDBTableModelをセットします。 196 * 197 * @param footer DBTableModelオブジェクト 198 */ 199 public void setFooter( final DBTableModel footer ) { 200 this.footer = footer; 201 } 202 203 /** 204 * フッター部分のDBTableModelを取得します。 205 * 206 * @return フッター部分のDBTableModelオブジェクト 207 */ 208 public DBTableModel getFooter() { 209 return footer; 210 } 211 212 /** 213 * 帳票IDをセットします。 214 * 215 * @param listId 帳票ID 216 */ 217 public void setListId( final String listId ) { 218 this.listId = listId; 219 } 220 221 /** 222 * 帳票IDを取得します。 223 * 224 * @return 帳票ID 225 */ 226 public String getListId() { 227 return listId; 228 } 229 230 /** 231 * PDFパスワードをセットします。 232 * 233 * @param pdfPasswd PDFパスワード 234 */ 235 public void setPdfPasswd( final String pdfPasswd ) { 236 this.pdfPasswd = pdfPasswd; 237 } 238 239 /** 240 * PDFパスワードを取得します。 241 * 242 * @return PDFパスワード 243 */ 244 public String getPdfPasswd() { 245 return pdfPasswd; 246 } 247 248 /** 249 * 言語をセットします。 250 * 251 * @param lang 言語 252 */ 253 public void setLang( final String lang ) { 254 this.lang = lang; 255 } 256 257 /** 258 * 言語を取得します。 259 * 260 * @return 言語 261 */ 262 public String getLang() { 263 return lang; 264 } 265 266 /** 267 * 雛形ファイル名をセットします。 268 * 269 * @param templateName 雛形ファイル名 270 */ 271 public void setTemplateName( final String templateName ) { 272 this.templateName = templateName; 273 } 274 275 /** 276 * 雛形ファイル名を取得します。 277 * 278 * @return 帳票雛形ファイル名 279 */ 280 public String getTemplateName() { 281 return templateName; 282 } 283 284 /** 285 * 実行方法をセットします。 286 * 287 * @param outputType 実行方法 288 */ 289 public void setOutputType( final String outputType ) { 290 this.outputType = outputType; 291 } 292 293 /** 294 * 出力タイプを取得します。 295 * 296 * @return 出力タイプ 297 */ 298 public String getOutputType() { 299 return outputType; 300 } 301 302 /** 303 * プリンター名をセットします。 304 * 305 * @param printerName プリンター名 306 */ 307 public void setPrinterName( final String printerName ) { 308 this.printerName = printerName; 309 } 310 311 /** 312 * プリンター名を取得します。 313 * 314 * @return プリンタ名 315 */ 316 public String getPrinterName() { 317 return printerName; 318 } 319 320 /** 321 * 処理要求を処理するスレッドIDをセットします。 322 * 323 * @param threadId スレッドID 324 */ 325 public void setThreadId( final String threadId ) { 326 this.threadId = threadId; 327 } 328 329 /** 330 * 処理要求を処理するスレッドIDを取得します。 331 * 332 * @return スレッドID 333 */ 334 public String getThreadId() { 335 return threadId; 336 } 337 338 /** 339 * 出力ファイル名をセットします。 340 * 341 * @param outputName 出力ファイル名 342 */ 343 public void setOutputName( final String outputName ) { 344 this.outputName = outputName; 345 } 346 347 /** 348 * 出力ファイル名を設定します。 349 * GE50に設定されていない場合は第四引数(要求番号)を利用する。 350 * その場合、タイプに応じた拡張子が自動設定される。 351 * 352 * ".xls" : OUT_ODS_EXCEL 353 * ".pdf" : OUT_ODS_PDF , OUT_ODS_PRINT_PDF 354 * ".ods" : OUT_ODS_ODS 355 // * ".xml" : RFID_PRINT , RFID_ALLPRINT , RFID_ALLERASE , RFID_SEQERASE 7.4.4.0 (2021/06/30) Delete 356 * ".csv" : CSV_PINT , CSV_PRINT_EXCEL , CSV_PRINT_PDF 357 * 358 * @og.rev 4.3.3.4 (2008/11/01) ODS出力対応 359 * @og.rev 5.4.3.0 (2011/12/26) RFIDデフォルト対応 360 * @og.rev 5.4.4.1 (2012/02/03) RFID拡張子変更 361 * @og.rev 5.9.0.0 (2015/09/04) CSV対応 362 * @og.rev 7.4.4.0 (2021/06/30) openGionV8事前準備(RFID出力廃止) 363 * 364 * @param outputDir 出力ディレクトリ名 365 * @param outputFile 出力ファイル名 366 * @param type タイプ 367 * @param yokyu 要求番号(ファイル名が指定されていない場合のファイル名) 368 * 369 */ 370 public void setOutputName( final String outputDir, final String outputFile, final String type, final String yokyu ){ 371 final StringBuilder filePath = new StringBuilder( BUFFER_MIDDLE ); 372 filePath.append( outputDir ).append( File.separator ); // 6.0.2.5 (2014/10/31) char を append する。 373 374 if( outputFile == null || outputFile.isEmpty() ){ // ファイル名が指定されていない場合は要求番号を利用する。 375 if( OUT_ODS_EXCEL.equals( type ) ){ 376 filePath.append( yokyu ); 377 filePath.append( ".xls" ); 378 } 379 else if( OUT_ODS_PDF.equals( type ) || OUT_ODS_PRINT_PDF.equals( type ) ){ 380 filePath.append( yokyu ); 381 filePath.append( ".pdf" ); 382 } 383 // 4.3.3.4 (2008/11/01) 追加 384 else if( OUT_ODS_ODS.equals ( type ) ){ 385 filePath.append( yokyu ); 386 filePath.append( ".ods" ); 387 } 388 // 5.4.3.0 (2011/12/26) 追加 389 // 5.4.4.2 (2012/02/03) .txtではなく.xml 390 // 7.4.4.0 (2021/06/30) Delete 391 //else if( ExecQueue.RFID_PRINT.equals( type ) || ExecQueue.RFID_ALLPRINT.equals( type ) 392 // || ExecQueue.RFID_ALLERASE.equals( type ) || ExecQueue.RFID_SEQERASE.equals( type ) ) { 393 // filePath.append( yokyu ); 394 // filePath.append( ".xml" ); //txt-xml 395 //} 396 // 5.9.0.0 (2015/09/04) 追加 397 // 5.9.4.2 (2016/01/13) EXCEL2追加 398 else if( ExecQueue.CSV_PRINT.equals( type ) || ExecQueue.CSV_PRINT_EXCEL.equals( type ) 399 || ExecQueue.CSV_PRINT_PDF.equals( type ) || ExecQueue.CSV_PRINT_EXCEL2.equals( type ) ) { 400 filePath.append( yokyu ); 401 filePath.append( ".csv" ); 402 } 403 } 404 else { 405 filePath.append( outputFile ); 406 } 407 408 this.outputName = filePath.toString(); 409 } 410 411 /** 412 * 出力ファイル名を取得します。 413 * 414 * @og.rev 5.1.2.0 (2010/01/01) 256シートを超える場合に対応。2ファイル目以降は、_1、_2・・・をファイル名の後ろにつける 415 * @og.rev 6.3.9.0 (2015/11/06) コンストラクタで初期化されていないフィールドを null チェックなしで利用している(findbugs) 416 * 417 * @return 出力先ファイル名 418 * @og.rtnNotNull 419 */ 420 public String getOutputName() { 421 // 6.3.9.0 (2015/11/06) コンストラクタで初期化されていないフィールドを null チェックなしで利用している(findbugs) 422 if( outputName == null ) { 423 final String errMsg = "#setOutputName(String) または、#setOutputName(String,String,String,String)を先に実行しておいてください。" ; 424 throw new OgRuntimeException( errMsg ); 425 } 426 427 if( pageCnt <= MAX_SHEETS_PER_FILE ) { 428 return outputName; 429 } 430 else { 431 final StringBuilder fileName = new StringBuilder( BUFFER_MIDDLE ); 432 433 final int idx = outputName.lastIndexOf( '.' ); 434 final String name = outputName.substring( 0, idx ); 435 final String suffix = outputName.substring( idx ); 436 final int addNo = (int)Math.ceil( (double)pageCnt/(double)MAX_SHEETS_PER_FILE ) - 1; 437 438 fileName.append( name ).append( '_' ).append( addNo ).append( suffix ); // 6.0.2.5 (2014/10/31) char を append する。 439 440 return fileName.toString(); 441 } 442 } 443 444 /** 445 * 実行ファイルディレクトリを指定します。 446 * 447 * @og.rev 4.3.3.0 (2008/10/01) 板金RFID対応 448 * 449 * @param dir ディレクトリ 450 */ 451 public void setPrgDir( final String dir ) { 452 this.prgdir = dir; 453 } 454 455 /** 456 * 実行ファイルディレクトリを取得します。 457 * 458 * @og.rev 4.3.3.0 (2008/10/01) 板金RFID対応 459 * 460 * @return プログラムディレクトリ 461 */ 462 public String getPrgDir() { 463 return prgdir; 464 } 465 466 /** 467 * 実行ファイル名をセットします。 468 * 469 * @og.rev 4.3.3.0 (2008/10/01) 板金RFID対応 470 * @param file ファイル名 471 */ 472 public void setPrgFile( final String file ) { 473 this.prgfile = file; 474 } 475 476 /** 477 * 実行ファイル名を取得します。 478 * 479 * @og.rev 4.3.3.0 (2008/10/01) 板金RFID対応 480 * 481 * @return プログラムファイル名 482 */ 483 public String getPrgFile() { 484 return prgfile; 485 } 486 487 /** 488 * プリンタIDをセットします。 489 * 490 * @og.rev 4.3.3.0 (2008/10/01) 板金RFID対応 491 * @param id プリンタID 492 */ 493 public void setPrtId( final String id ) { 494 this.prtid = id; 495 } 496 497 /** 498 * プリンタIDを取得します。 499 * 500 * @og.rev 4.3.3.0 (2008/10/01) 板金RFID対応 501 * 502 * @return プリンタID 503 */ 504 public String getPrtId() { 505 return prtid; 506 } 507 508 /** 509 * グループIDをセットします。 510 * 511 * @og.rev 5.9.2.2 (2015/11/20) 512 * 513 * @param id グループID 514 */ 515 public void setGrpId( final String id ) { 516 this.grpid = id; 517 } 518 519 /** 520 * グループIDを取得します。 521 * 522 * @og.rev 5.9.2.2 (2015/11/20) 523 * 524 * @return グループID 525 */ 526 public String getGrpId() { 527 return grpid; 528 } 529 530 /** 531 * デーモングループをセットします。 532 * 533 * @og.rev 5.9.2.2 (2015/11/20) 534 * 535 * @param name デーモングループ 536 */ 537 public void setDmnGrp( final String name ) { 538 this.dmngrp = name; 539 } 540 541 /** 542 * デーモングループを取得します。 543 * 544 * @og.rev 5.9.2.2 (2015/11/20) 545 * 546 * @return デーモングループ 547 */ 548 public String getDmnGrp() { 549 return dmngrp; 550 } 551 552 /** 553 * ローカルリソース使用フラグをセットします(初期値:false)。 554 * 555 * @param fglocal ローカルリソース使用フラグ[true:使用する/false:使用しない] 556 */ 557 public void setFglocal( final boolean fglocal ) { 558 this.fglocal = fglocal; 559 } 560 561 /** 562 * ローカルリソース使用フラグを取得します。 563 * 564 * @return ロールリソース使用フラグ[true:使用する/false:使用しない] 565 */ 566 public boolean isFglocal() { 567 return fglocal; 568 } 569 570 /** 571 * ページエンドカットフラグをセットします(初期値:false)。 572 * 573 * @param fgcut ページエンドカットの使用可否[true:使用/false:通常] 574 */ 575 public void setFgcut( final boolean fgcut ) { 576 this.fgcut = fgcut; 577 } 578 579 /** 580 * ページエンドカットフラグを取得します。 581 * 582 * @return ページエンドカットフラグ 583 */ 584 public boolean isFgcut() { 585 return fgcut; 586 } 587 588 /** 589 * PAGEBREAKカラムの値を、シート名として使うかどうかをセットします(初期値:false)。 590 * 591 * @og.rev 5.7.6.2 (2014/05/16) 新規追加 592 * 593 * @param useSheetName PAGEBREAKカラムのシート名使用可否[true:使用/false:使用しない] 594 */ 595 public void setUseSheetName( final boolean useSheetName ) { 596 this.useSheetName = useSheetName; 597 } 598 599 /** 600 * PAGEBREAKカラムの値を、シート名として使うかどうかを取得します。 601 * 602 * @og.rev 5.7.6.2 (2014/05/16) 新規追加 603 * 604 * @return PAGEBREAKカラムのシート名使用可否[true:使用/false:使用しない] 605 */ 606 public boolean isUseSheetName() { 607 return useSheetName; 608 } 609 610 /** 611 * キューマネージャーをセットします。 612 * 613 * @param manager キューマネージャー 614 */ 615 public void setManager( final QueueManager manager ) { 616 this.manager = manager; 617 } 618 619 /** 620 * 帳票処理データをセットします。 621 * 既にテーブルモデルがセットされている場合は、再セットしません。 622 * 623 */ 624 public void setData() { 625 if( body == null && manager != null ) { 626 manager.set( this ); 627 } 628 } 629 630 /** 631 * キューを実行中の状態に更新します。 632 * 633 */ 634 public void setExecute() { 635 if( manager != null ) { 636 manager.execute( this ); 637 } 638 } 639 640 /** 641 * キューを完了済の状態に更新します。 642 * 643 */ 644 public void setComplete() { 645 if( manager != null ) { 646 manager.complete( this ); 647 } 648 } 649 650 /** 651 * キューをエラーの状態に更新します。 652 */ 653 public void setError() { 654 if( manager != null ) { 655 manager.error( this ); 656 } 657 } 658 659 /** 660 * エラーメッセージをセットします。 661 * 662 * @param msg エラーメッセージ 663 */ 664 public void addMsg( final String msg ) { 665 errMsg.append( msg ); 666 } 667 668 /** 669 * エラーメッセージを取得します。 670 * 671 * @return エラーメッセージ 672 * @og.rtnNotNull 673 */ 674 public String getMsg() { 675 return errMsg.toString(); 676 } 677 678 /** 679 * 処理したページ数を引数の分だけカウントアップします。 680 * 681 * これは、256シート以上を印刷する場合、ファイル名に"_"を付けて 682 * 出力する機能と、GE50のSUPAGEカラムに印刷ページ数をセットするのに 683 * 使用しています。 684 * openOfficeのシート制限は解除されていますが、SUPAGEカラムが 685 * NUMBER(3) でDB定義されているため、1000以上のページを、GE50 に 686 * セットすると、エラーになります。 687 * DB定義を変更するまでの間、最大ページ数を、999 としておきます。 688 * 689 * @og.rev 5.1.2.0 (2010/01/01) 新規追加 690 * @og.rev 7.1.0.0 (2020/01/27) 256シート制限を999にしておく。 691 * 692 * @param pgs カウントアップするページ数 693 */ 694 public void addExecPageCnt( final int pgs ) { 695 pageCnt += pgs; 696 697 // 7.1.0.0 (2020/01/27) 256シート制限を999にしておく。 698 if( pageCnt > MAX_SHEETS_PER_FILE ) { pageCnt = MAX_SHEETS_PER_FILE; } 699 } 700 701 /** 702 * 処理したページ数を返します。 703 * 704 * @og.rev 5.1.2.0 (2010/01/01) 新規追加 705 * 706 * @return 処理したページ数 707 */ 708 public int getExecPagesCnt() { 709 return pageCnt; 710 } 711 712 /** 713 * 処理した行数をセットします。 714 * 715 * @og.rev 5.1.2.0 (2010/01/01) 新規追加 716 * 717 * @param rws 処理した行数 718 */ 719 public void setExecRowCnt( final int rws ) { 720 rowCnt = rws; 721 } 722 723 /** 724 * 処理した行数を返します。 725 * 726 * @og.rev 5.1.2.0 (2010/01/01) 新規追加 727 * 728 * @return 処理した行数 729 */ 730 public int getExecRowCnt() { 731 return rowCnt; 732 } 733 734 /** 735 * 全ての行が処理されたかをセットします(初期値:false)。 736 * 737 * これは、処理結果が、256シートを超えていた場合、再度残りのデータについて 738 * 処理を行うかどうかの判定するために、利用します。 739 * 740 * @og.rev 5.1.2.0 (2010/01/01) 新規追加 741 * 742 * @param flag 全ての行が処理されたか 743 */ 744 public void setEnd( final boolean flag ) { 745 isDataEnd = flag; 746 } 747 748 /** 749 * 全ての行が処理されているかを返します。 750 * 751 * これは、処理結果が、256シートを超えていた場合、再度残りのデータについて 752 * 処理を行うかどうかの判定するために、利用します。 753 * 754 * @og.rev 5.1.2.0 (2010/01/01) 新規追加 755 * 756 * @return 全ての行が処理されたか 757 */ 758 public boolean isEnd() { 759 return isDataEnd; 760 } 761 762 // /** 763 // * FGNOMI(メール不要フラグ)を設定します(初期値=false:送信する)。 764 // * 765 // * 帳票エラー時のメール送信は帳票IDの正規表現でコントロール可能でしたが、 766 // * ID単位に未送信フラグを持たせてコントロール可能にします。 767 // * 帳票の動作にDBのカラム追加が伴うためバージョンを5.10系に上げます。 768 // * エラーメールが不要の場合は、"true", もしくは、1文字の場合のみ、"0" 以外の場合が、 769 // * メール不要として、エラーメールを送信しません。 770 // * 771 // * @og.rev 5.10.0.0 (2018/06/08) 新規追加 772 // * @og.rev 6.9.8.1 (2018/06/11) 帳票エラーメールの改修(メール不要フラグ=trueで不要、falseが必要) 773 // * @og.rev 7.4.4.0 (2021/06/30) openGionV8事前準備(GE54.FGNOML廃止) 774 // * 775// // * @param fgnoml 776 // * @param flag メール不要フラグ 777 // */ 778// // public void setFgnoml( final String fgnoml) { 779 // 7.4.4.0 (2021/06/30) Delete 780 // public void setFgnoml( final String flag ) { 781// // this.fgnoml = fgnoml; 782 // fgnoml = StringUtil.nval( flag,fgnoml ); // true,TRUE,0以外の1文字の場合、true、それ以外は、初期値 783 // } 784 785 // /** 786 // * FGNOMI(メール不要フラグ)を取得します。 787 // * 788 // * @og.rev 5.10.0.0 (2018/06/08) 新規追加 789 // * @og.rev 6.9.8.1 (2018/06/11) 帳票エラーメールの改修(メール不要フラグ=trueで不要、falseが必要) 790 // * @og.rev 7.4.4.0 (2021/06/30) openGionV8事前準備(GE54.FGNOML廃止) 791 // * 792// // * @return fgnomi 793 // * @return メール不要フラグ [true:メール不要/false:エラーメール送信する] 794 // */ 795// // public String getFgnoml() { 796 // 7.4.4.0 (2021/06/30) Delete 797 // public boolean isFgnoml() { 798// // return this.fgnoml; 799 // return fgnoml; 800 // } 801}