Beispiel #1
0
  /**
   * <br>
   * [機 能] 稟議の却下を行う <br>
   * [解 説] <br>
   * [備 考]
   *
   * @param paramMdl パラメータ情報
   * @param cntCon MlCountMtController
   * @param userSid セッションユーザSID
   * @param appRootPath アプリケーションのルートパス
   * @param tempDir テンポラリディレクトリ
   * @param pluginConfig プラグイン情報
   * @param smailPluginUseFlg ショートメールプラグイン有効フラグ
   * @param reqMdl リクエスト情報
   * @throws Exception 実行例外
   */
  public void denialRingi(
      Rng030ParamModel paramMdl,
      MlCountMtController cntCon,
      int userSid,
      String appRootPath,
      String tempDir,
      PluginConfig pluginConfig,
      boolean smailPluginUseFlg,
      RequestModel reqMdl)
      throws Exception {
    log__.debug("START");

    // 現在時刻
    UDate now = new UDate();

    int rngSid = paramMdl.getRngSid();

    // 稟議経路情報の更新
    RngChannelDao channelDao = new RngChannelDao(con__);
    RngChannelModel channelMdl = __createChannelModel(paramMdl, userSid, now);
    channelMdl.setRncComment(paramMdl.getRng030Comment());
    channelMdl.setRncStatus(RngConst.RNG_RNCSTATUS_DENIAL);
    channelMdl.setRncChkdate(now);
    channelDao.updateChannel(channelMdl);

    // 稟議添付情報の更新
    __updateRngBin(con__, cntCon, rngSid, userSid, appRootPath, tempDir, now);

    RngBiz rngBiz = new RngBiz(con__);
    rngBiz.getRingiListeners(pluginConfig);

    // 稟議を却下状態で完了する
    RngRndataDao rngDao = new RngRndataDao(con__);
    RngRndataModel rngData = __createRndataModel(paramMdl, userSid, now);
    rngData.setRngStatus(RngConst.RNG_STATUS_REJECT);
    rngData.setRngAdmcomment(null);
    rngDao.completeRingi(rngData, true);

    // 最終確認者の受信日を更新する
    channelDao.updateRcvdateForConfirmUser(rngSid, userSid, now);

    IRingiListener[] listenerList = rngBiz.getRingiListeners(pluginConfig);

    // リスナーに定義された稟議完了時の処理を行う
    RingiListenerModel listenerMdl =
        rngBiz.createListenerModel(
            con__, cntCon, rngSid, appRootPath, pluginConfig, smailPluginUseFlg);
    String url = rngBiz.createThreadUrl(reqMdl, rngData.getRngSid());
    // URLを設定
    listenerMdl.setRngUrl(url);

    if (!rngBiz.isCheckRngAconfSmlNot(con__)) {
      RngAconfModel rngAdmMdl = rngBiz.getRngAconf(con__);
      listenerMdl.setSmlNtf(rngAdmMdl.getRarSmlNtf());

      for (IRingiListener listener : listenerList) {
        listener.doRejectRingi(listenerMdl, reqMdl);
      }
    }

    log__.debug("End");
  }