技術情報

IDを採番する方法

-- 2013.01.29 GroupSession Version4.1.0 --

はじめに

GroupSessionでは各種IDを採番するために採番マスタを使用しています。

ここではのその採番マスタから新しいIDを取得する方法について説明します。


前提条件

このドキュメントは、Java、Apache Struts、Jakarta Antについての知識がある事を前提とします。


新しいIDの取得方法

新しいIDを各プラグイン側で取得する方法を「Hello World!」プラグインを作成する方法で作成したソースファイルを元に説明します。


IDを採番するにはまず、jp.groupsession.v2.cmn.dao.MlCountMtControllerを取得します。
jp.groupsession.v2.struts.AbstractGsActionを継承していればgetCountMtController()メソッドから取得できます。

次にMlCountMtControllerクラスのgetSaibanNumber(String, String, int)メソッドを実行することでIDを採番することができます。

MlCountMtControllerクラスでは第1・第2引数毎に採番を行うので、他の採番レコードと重複しないように指定する必要があります。

既にGroupSessionで使用されている採番IDは採番ID一覧を参照してください。

HelloWorldAction.java

package jp.groupsession.v2.newplugin.helloworld;
  import java.sql.Connection;
  import javax.servlet.http.HttpServletRequest;
  import javax.servlet.http.HttpServletResponse;
  import javax.servlet.http.HttpSession;
  import jp.groupsession.v2.cmn.GSConst;
  import jp.groupsession.v2.cmn.dao.BaseUserModel;
  import jp.groupsession.v2.cmn.dao.MlCountMtController;
  import jp.groupsession.v2.struts.AbstractGsAction;
  import org.apache.struts.action.ActionForm;
  import org.apache.struts.action.ActionForward;
  import org.apache.struts.action.ActionMapping;
  /**
   * [機  能] HelloWorldのアクションクラス
   * [解  説]
   * [備  考]
   *
   * @author JTS
   */
  public class HelloWorldAction extends AbstractGsAction {

      /**
       * [機  能] アクションを実行する
       * [解  説]
       * [備  考]
       * @param map ActionMapping
       * @param form ActionForm
       * @param req HttpServletRequest
       * @param res HttpServletResponse
       * @param con DB Connection
       * @return ActionForward
       * @throws Exception 実行時例外
       */
      public ActionForward executeAction(ActionMapping map,
                                          ActionForm form,
                                          HttpServletRequest req,
                                          HttpServletResponse res,
                                          Connection con)
          throws Exception {

          //HttpServletRequestからHttpSessionを取得します。
          HttpSession session = req.getSession();
          //セッション情報からログインユーザの情報を取得します。
          BaseUserModel usModel =
             (BaseUserModel) session.getAttribute(GSConst.SESSION_KEY);

          //セッション情報からユーザSIDを取得
          int usrSid = usModel.getUsrsid();
          //採番マスタコントローラーを取得
          MlCountMtController cntCon = getCountMtController(req);
          //採番マスタからHelloWorldIDを取得
          long newId = cntCon.getSaibanNumber("helloworld", "group", usrSid);

          return map.getInputForward();
      }
  }

採番ID一覧

NO採番ID採番IDサブ内容備考
1"common"""共通
2"common""mygroup"マイグループSIDマイグループ登録時のSID
3"main"""メイン
4"user""user"ユーザSID
5"user""group"グループSID
6"user""position"役職SID
7"user""category"カテゴリSID
8"user""label"ラベルSID
9"pset"""個人設定
10"binary""bin"バイナリーSID
11"schedule""sch"スケジュールSIDスケジュール毎のSID
12"schedule""sch_gp"スケジュールグループSID同時登録時のリレーション用SID
13"circular""cir"回覧板SID回覧板毎のSID
14"smail""mail"ショートメールSID
15"smail""hina"雛形SID
16"bulletin""forum"フォーラムSID掲示板のフォーラム毎のSID
17"bulletin""thread"スレッドSID掲示板のスレッド毎のSID
18"bulletin""write"投稿SID掲示板の投稿毎のSID
19"search""keyword"検索関連項目SID
20"ringi""rngid"稟議SID
21"ringi""rngtplid"稟議テンプレートSID
22"ringi""rngcntplid"経路テンプレートSID
23"reserve""yoyaku"施設予約SID
24"reserve""group"施設グループSID
25"reserve""sisetu"施設SID
26"timecard""tcdzone"時間帯SID
27"main""hlt"休日テンプレートSID
28"project""prj"プロジェクトSIDプロジェクトで使用
29"project""todo"TODO SIDプロジェクトで使用
30"project""プロジェクトSID+""kanri"管理番号プロジェクトで使用
31"project""TODO SID+""history"変更履歴SIDプロジェクトで使用
32"project""TODO SID+""comment"TODOコメントSIDプロジェクトで使用
33"address""address"アドレス帳SIDアドレス帳で使用
34"address""industry"業種SIDアドレス帳で使用
35"address""company"会社SIDアドレス帳で使用
36"address""cobase"会社拠点SIDアドレス帳で使用
37"address""label"ラベルSIDアドレス帳で使用
38"address""contact"コンタクト履歴SIDアドレス帳で使用
39"address""contactGrp"コンタクト履歴グループSIDアドレス帳で使用
40"address""position"役職SIDアドレス帳で使用
41"bookmark""bmk"ブックマークSIDブックマークで使用
42"bookmark""url"URLSIDブックマークで使用
43"bookmark""label"ラベルSIDブックマークで使用
44"ringi""category"稟議テンプレートカテゴリSID稟議で使用

Copyright 日本トータルシステム株式会社