예제 #1
0
  /**
   * <br>
   * [機 能] PDFファイルダウンロード処理 <br>
   * [解 説] <br>
   * [備 考]
   *
   * @param map アクションマッピング
   * @param form アクションフォーム
   * @param req リクエスト
   * @param res レスポンス
   * @param con コネクション
   * @return ActionForward
   * @throws SQLException SQL実行時例外
   * @throws IOException ファイルの書き出しに失敗
   * @throws IOToolsException テンポラリディレクトリの削除に失敗
   * @throws TempFileException 添付ファイル情報の取得に失敗
   * @throws Exception 実行例外
   */
  private ActionForward __doDownLoadPdf(
      ActionMapping map,
      Rsv010Form form,
      HttpServletRequest req,
      HttpServletResponse res,
      Connection con)
      throws SQLException, IOException, IOToolsException, TempFileException, Exception {

    log__.debug("ファイルダウンロード処理(PDF)");
    // データ取得
    __doInit(map, form, req, res, con);

    RequestModel reqMdl = getRequestModel(req);

    // アプリケーションルートパス取得
    String appRootPath = getAppRootPath();
    // プラグイン固有のテンポラリパス取得
    CommonBiz cmnBiz = new CommonBiz();
    String outTempDir =
        IOTools.replaceFileSep(
            cmnBiz.getTempDir(getTempPath(req), GSConstReserve.PLUGIN_ID_RESERVE, reqMdl)
                + "expsyupdf/");

    Rsv010Biz biz = new Rsv010Biz(reqMdl, con);
    // PDF生成
    Rsv010ParamModel paramMdl = new Rsv010ParamModel();
    paramMdl.setParam(form);
    RsvSyuPdfModel pdfMdl = biz.createRsvSyuPdf(paramMdl, con, appRootPath, outTempDir);
    paramMdl.setFormData(form);

    String outBookName = pdfMdl.getFileName();
    String saveFileName = pdfMdl.getSaveFileName();

    String outFilePath = IOTools.setEndPathChar(outTempDir) + saveFileName;

    // ログ出力処理
    AbstractReserveBiz rsvBiz = new AbstractReserveBiz(con);
    GsMessage gsMsg = new GsMessage(req);
    String logCode = "週間 施設グループ PDF出力 " + form.getRsvSelectedGrpSid();
    rsvBiz.outPutLog(
        map, req, res, gsMsg.getMessage("cmn.pdf"), GSConstLog.LEVEL_TRACE, outBookName, logCode);

    TempFileUtil.downloadAtachment(req, res, outFilePath, outBookName, Encoding.UTF_8);
    // TEMPディレクトリ削除
    IOTools.deleteDir(IOTools.setEndPathChar(outTempDir));

    return null;
  }
예제 #2
0
  /**
   * <br>
   * [機 能] 添付ファイルダウンロードの処理 <br>
   * [解 説] <br>
   * [備 考]
   *
   * @param map アクションマッピング
   * @param form アクションフォーム
   * @param req リクエスト
   * @param res レスポンス
   * @param con コネクション
   * @throws SQLException SQL実行例外
   * @throws Exception 実行時例外
   * @return ActionForward
   */
  private ActionForward __doDownLoad(
      ActionMapping map,
      Rng020Form form,
      HttpServletRequest req,
      HttpServletResponse res,
      Connection con)
      throws SQLException, Exception {

    RequestModel reqMdl = getRequestModel(req);
    CommonBiz cmnBiz = new CommonBiz();
    String tempDir = cmnBiz.getTempDir(getTempPath(req), RngConst.PLUGIN_ID_RINGI, reqMdl);
    Rng020Biz biz = new Rng020Biz(reqMdl);
    tempDir = biz.getTemplateFileDir(tempDir);
    String fileId = form.getRng020TemplateFileId();

    // オブジェクトファイルを取得
    ObjectFile objFile = new ObjectFile(tempDir, fileId.concat(GSConstCommon.ENDSTR_OBJFILE));
    Object fObj = objFile.load();
    Cmn110FileModel fMdl = (Cmn110FileModel) fObj;
    // 添付ファイル保存用のパスを取得する(フルパス)
    String filePath = tempDir + fileId.concat(GSConstCommon.ENDSTR_SAVEFILE);
    filePath = IOTools.replaceFileSep(filePath);

    GsMessage gsMsg = new GsMessage(reqMdl);
    String msg = gsMsg.getMessage("cmn.download");

    // ログ出力処理
    RngBiz rngBiz = new RngBiz(con);
    rngBiz.outPutLog(map, msg, GSConstLog.LEVEL_INFO, fMdl.getFileName(), reqMdl);

    // 時間のかかる処理の前にコネクションを破棄
    JDBCUtil.closeConnectionAndNull(con);
    // ファイルをダウンロードする
    TempFileUtil.downloadAtachment(req, res, filePath, fMdl.getFileName(), Encoding.UTF_8);

    return null;
  }