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

    log__.debug("START");

    int rngSid = paramMdl.getRngSid();
    UDate now = new UDate();

    // 稟議情報の更新
    RngRndataModel rngMdl = new RngRndataModel();
    rngMdl.setRngSid(rngSid);
    rngMdl.setRngTitle(paramMdl.getRng030Title());
    rngMdl.setRngContent(paramMdl.getRng030Content());
    rngMdl.setRngMakedate(now);
    rngMdl.setRngApplicate(userSid);
    rngMdl.setRngAppldate(now);
    rngMdl.setRngStatus(RngConst.RNG_STATUS_REQUEST);
    rngMdl.setRngCompflg(0);
    rngMdl.setRngAdmcomment(null);
    rngMdl.setRngEuid(userSid);
    rngMdl.setRngEdate(now);

    RngRndataDao rngDao = new RngRndataDao(con__);
    rngDao.update(rngMdl);

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

    // 削除されたユーザを除外する
    int delCnt = channelDao.deleteChannelForDelUser(rngSid);
    if (delCnt > 0) {
      List<Integer> apprUserList = channelDao.getApprUserList(rngSid);
      int sort = 1;
      for (int apprUserSid : apprUserList) {
        channelDao.updateChannelSort(rngSid, apprUserSid, sort);
        sort++;
      }
    }
    // 最初の承認者の稟議経路情報を更新する
    channelMdl.setRncStatus(RngConst.RNG_RNCSTATUS_CONFIRM);
    channelMdl.setRncRcvdate(now);
    channelMdl.setRncChkdate(null);
    channelDao.updateFirstChannel(channelMdl);

    // 稟議添付情報の登録を行う
    RngBiz biz = new RngBiz(con__, cntCon);
    biz.insertRngBin(
        rngSid,
        userSid,
        now,
        appRootPath,
        tempDir,
        RngConst.RNG_CMDMODE_EDIT,
        RngBiz.APPLMODE_REAPPL);

    log__.debug("End");
  }