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