intra-mart Accel Kaiden! GadgetBuilder 設定ガイド 第16版 2024-04-01

5.7. 「案件検索(取消用)」を使用して申請書を取り消す場合の注意点

5.7.1. 概要

カスタマイズしたGadgetBuilderを使用した申請書を取り消す場合の取り消し処理の実装方法及び、申請書を取消対象外にする方法を説明します。
申請書を取り消す方法については『intra-mart Accel Kaiden! 経費旅費 / 管理者操作ガイド』-「リファレンス」-「申請書を取り消す方法」を参照してください。

5.7.2. 申請書を取り消す場合の取り消し処理の実装方法

「案件検索(取消用)」を使用して申請書を取り消した際、固有の処理を実施したい場合は次の通りカスタマイズしてください。
コンダクターを作成し、コンダクター設定に作成したコンダクターを登録すると、「案件検索(取消用)」で定義されている「コンダクター実行イベント」内で登録したコンダクターが実行されます。
「コンダクター実行イベント」については「イベント処理」を参照してください。

5.7.2.1. コンダクターの作成

「AbstractAppCancelConductor」を継承したコンダクターを作成し、固有の処理を実装します。
package jp.co.slcs.kaiden.v2.product_workflow.feature.conductor.gadget.builder.impl;

import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
import jp.co.slcs.kaiden.v2.base.foundation.exception.KaidenApplicationException;
import jp.co.slcs.kaiden.v2.base.foundation.exception.KaidenSystemException;
import jp.co.slcs.kaiden.v2.product_workflow.feature.conductor.gadget.builder.AbstractAppCancelConductor;

/**
 * サンプルコンダクター.
 */
@Component
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
public class SampleConductor extends AbstractAppCancelConductor {
    
    /**
     * {@inheritDoc}
     */
    @Override
    public void matterEnd(Map<String, Object> gadgetData, List<Map<String, Object>> blockData,
            Map<String, Object> param, Map<String, String> args)
            throws KaidenSystemException, KaidenApplicationException {
        
        // 案件終了時の任意の処理を実装
    }
}

5.7.2.2. コンダクター設定の登録

コンダクター設定の登録を行います。
  • コンダクター設定
No. 論理名 物理名 長さ 必須 PK 備考
1 コンダクタータイプ conductor_type varchar2 100 Y PK 「CancelMatter」を指定します。
2 コンダクターコード conductor_cd varchar2 100 Y PK 作成したコンダクターのクラス名を指定します。
3 コンダクター名 conductor_name varchar2 1000 Y    
4 実行順 sort_key number 15      
insert into k10c_conductor(conductor_type, conductor_cd, conductor_name, sort_key, entry_ts, entry_user_cd, renew_cnt, renew_ts, renew_user_cd) values ('CancelMatter', 'sampleConductor', 'サンプルコンダクター', '100', to_timestamp('2023-06-30 00:00:00', 'yyyy-mm-dd hh24:mi:ss'), 'system', '1', to_timestamp('2023-06-30 00:00:00', 'yyyy-mm-dd hh24:mi:ss'), 'system');

5.7.3. 申請書を取消対象外にする方法

ガジェット取り消し不可テーブルにデータを登録すると、登録したガジェットを含む申請書は「案件検索(取消用)」の検索対象外になり、申請書取消機能で取り消すことができません。

5.7.3.1. ガジェット取消不可テーブルの登録

ガジェット取消不可テーブルの登録を行います。
  • ガジェット取消不可テーブル
No. 論理名 物理名 長さ 必須 PK 備考
1 ガジェットクラス gadget_class varchar2 100 Y PK  
2 ガジェットバリエーション gadget_variation varchar2 100 Y PK  
3 削除フラグ delete_flag varchar2 1 Y   「0」を設定します。
insert into k10m_gadget_not_cancel(gadget_class, gadget_variation, delete_flag, entry_ts, entry_user_cd, renew_cnt, renew_ts, renew_user_cd) values ('sample', 'c01', '0', to_timestamp('2023-06-30 00:00:00', 'yyyy-mm-dd hh24:mi:ss'), 'system', '1', to_timestamp('2023-06-30 00:00:00', 'yyyy-mm-dd hh24:mi:ss'), 'system');