intra-mart Accel Kaiden! / プログラミングガイド

第2版 2014-08-01

«  4.3.3.3. 申請書ガジェットManagerクラスプログラミング   ::   コンテンツ   ::   4.4. 勤務管理モジュール  »

4.3.3.4. IM-Workflow 案件番号採番機能の作成

intra-mart Accel Kaiden! では、IM-Workflow の案件番号を採番している処理を新規で作成し、申請書マスタメンテナンス機能で申請書に紐づけることができます。
実装方法を以下に解説していきます。

4.3.3.4.1. 案件番号採番処理

案件採番処理を作成します。
jp.co.slcs.kaiden2.extension_imw.foundation.util.imw.ImwNumberingインターフェースを実装し、String型の案件番号を返却してください。

下記のサンプルでは、IM-Workflow の標準で採番される案件番号の先頭”p”を付与して返却しています。
package jp.co.slcs.kaiden2.tutorial.foundation.util.imw;

import java.util.Map;
import jp.co.intra_mart.foundation.workflow.exception.WorkflowException;
import jp.co.intra_mart.foundation.workflow.util.WorkflowNumberingManager;
import jp.co.slcs.kaiden2.base.foundation.exception.KaidenRuntimeException;
import jp.co.slcs.kaiden2.extension_imw.foundation.model.dto.ActionProcessParameterDto;
import jp.co.slcs.kaiden2.extension_imw.foundation.util.imw.ImwNumbering;

/**
 * 案件番号採番拡張クラス サンプル.
 */
public class ImwNumberingExtensionSample implements ImwNumbering {
    
    /**
     * 案件番号を採番処理を行い、結果を返却.
     */
    @Override
    public String getNewMatterNumber(ActionProcessParameterDto _parameter, Map<String, Object> _userParameter) {
        // IM-Workflow標準で採番される案件番号にプリフィックスを付与する
        String matterNumber = null;
        String prefix = "p";
        try {
            matterNumber = prefix + WorkflowNumberingManager.getNumber();
        } catch (WorkflowException e) {
            throw KaidenRuntimeException.makeInstance(e);
        }
        return matterNumber;
    }
    
}

4.3.3.4.2. 案件番号採番処理の設定ファイル

案件番号採番処理設定ファイルに設定を追加します。
設定ファイルは「WEB-INF/classes/jp/co/slcs/kaiden2/product_workflow/ImwNumberingSettings.xml」です。

idタグにDIコンテナへの登録名、messageIdには申請書マスタメンテナンス画面の案件番号採番クラスドロップダウンに表示されるメッセージIDを指定してください。
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<imwNumberingSettings xmlns="http://kaiden.slcs.co.jp/xmlschema/imwNumberingSettings">
  <!-- 案件番号採番号クラス -->
  <wofkflowMatterNumberingClasses>
    <wofkflowMatterNumberingClass>
      <!-- 案件番号採番号クラス (DIコンテナへの登録名) -->
      <id>imwNumbering</id>
      <!-- 説明(product_workflow_message.xmlのエントリー-->
      <messageId>PWKF.defultNumberingClass</messageId>
    </wofkflowMatterNumberingClass>
    <wofkflowMatterNumberingClass>
      <!-- 案件番号採番号クラス (DIコンテナへの登録名) -->
      <id>imwNumberingExt</id>
      <messageId>TTRL.extensionNumberingClass</messageId>
    </wofkflowMatterNumberingClass>
  </wofkflowMatterNumberingClasses>
</imwNumberingSettings>

コラム

ここではdiconファイルの編集に関する記述は省略しています。
「imwNumbering」と紐づけて、作成した案件番号採番処理のクラスをdiconに設定してください。

コラム

ここではメッセージファイルの編集に関する記述は省略しています。

«  4.3.3.3. 申請書ガジェットManagerクラスプログラミング   ::   コンテンツ   ::   4.4. 勤務管理モジュール  »