uCosminexus 電子フォームワークフロー 解説

[目次][用語][索引][前へ][次へ]

付録C.5 案件処理フレームワーククラス

ここでは,案件処理フレームワーククラスの補足情報を説明します。なお,このクラスは,BLC帳票の処理の場合に使用できます。

<この項の構成>
(1) 概要
(2) 案件処理フレームワークの適用

(1) 概要

案件処理フレームワークとは,BLC帳票の案件ステータス管理を含んだ案件処理を実装するためのフレームワークです。案件のステータス管理を行う案件ステータスクラス,および案件の処理を行う案件処理実行クラスを継承し,メソッドをオーバーライドすることによって実現されます。

また,次のようなこともできます。

(2) 案件処理フレームワークの適用

案件処理フレームワークの使用環境では,すべての帳票が案件処理フレームワークの処理の対象となります。このため,案件処理フレームワークを適用しない帳票を利用する場合は,適用する帳票だけが処理の対象となるようなプログラムを作成する必要があります。

案件処理フレームワークを適用しない帳票を利用する場合は,次の例のようなユーザプログラムを開発してください。

この例では,案件処理フレームワークを適用するかどうかを帳票IDと帳票Verから判定するメソッドを作成しています。適用しない帳票の場合は,案件処理フレームワーク関連の処理をしないでreturnします。

public class MyPIStatus extends BLCPIStatus {//BLCPIStatusを継承したクラス
    public void initPIStatus(BLCInfo blcInfo, BLCPIInfo blcPIInfo, Connection con, HashMap hmParam) 
                throws BLCException {//initPIStatusをオーバーライドしたメソッド
      (中略)
        //帳票が案件フレームワーク対応かチェックする。
        if (checkForm(blcPIInfo.getBLCSystemInfo("BLC_FormID"),
            blcPIInfo.getBLCSystemInfo("BLC_FormVer")) != true){
            //案件フレームワーク非対応の場合:処理しない
            return;
        }
      (以下,案件ステータスの初期化処理を記述:略)
    }
  (中略)
    /**
     * 帳票が案件フレームワーク対応かチェックする。
     * @param 帳票ID
     * @param 帳票Ver
     * @return true:案件フレームワーク対応,false:案件フレームワーク非対応
     */
    private boolean checkForm(String formID,String formVer){ //案件フレームワーク対応帳票判定メソッド
        boolean l_flg = false;
        try{
            if (formID == null || formVer == null){
                // 帳票ID,ver取得不能の場合
                l_flg = false;
            }
            // 案件フレームワーク対応帳票ID,Ver
            String l_strFormID = "SampleConsultation";
            String l_strFormVer = "1";
            if (formID.equals(l_strFormID)){
                if (formVer.equals(l_strFormVer)){
                    // 帳票ID,Verが一致すれば,案件フレームワーク対象とする。
                    l_flg = true;
                }
            }
        } catch( Exception l_exp ){
            l_flg = false;
        } finally{
            return l_flg;
        }
    }
}