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

«  S2JDBC-Gen自動生成ソース   ::   コンテンツ   ::   diconファイルの作成  »

Managerクラスの作成

ノート

申請書ガジェットのManagerクラスの詳細は「申請書ガジェットManagerクラスプログラミング」を参照下さい。

Managerインターフェースの作成

jp.co.slcs.kaiden2.extension_imw.foundation.manager.PluginGadgetManagerを継承してGadgetTutorialManagerインターフェースを作成します。
申請書ガジェットに必要な最低限のDB操作メソッドはPluginGadgetManagerインターフェースで提供しています。
マネージャ固有のメソッドを実装する場合はGadgetTutorialManagerインターフェースに追加します。
package jp.co.slcs.kaiden2.tutorial.foundation.manager.tutorial;

import jp.co.slcs.kaiden2.extension_imw.foundation.manager.PluginGadgetManager;

/**
 * チュートリアルガジェットテーブルマネージャクラスのinterface.
 */
public interface GadgetTutorialManager extends PluginGadgetManager<GadgetTutorialManagerDto> {
    
    /** ガジェット表示用SQLファイル名. */
    static final String SELECT_SQLFILE_NM = "selectView.sql";
    
    /** 申請書コピー用SQLファイル名. */
    static final String SELECT_SQLFILE_NM_FOR_COPY = "selectView.sql";
}

Manager実装クラスの作成

GadgetTutorialManagerImplクラスを作成します。
package jp.co.slcs.kaiden2.tutorial.foundation.manager.tutorial.impl;

import java.util.List;
import javax.annotation.Resource;
import jp.co.slcs.kaiden2.base.foundation.util.CollectionUtil;
import jp.co.slcs.kaiden2.extension_imw.foundation.manager.AbstractWfManager;
import jp.co.slcs.kaiden2.extension_imw.foundation.manager.CriteriaForSqlDto;
import jp.co.slcs.kaiden2.tutorial.foundation.manager.tutorial.GadgetTutorialManager;
import jp.co.slcs.kaiden2.tutorial.foundation.manager.tutorial.GadgetTutorialManagerDto;
import jp.co.slcs.kaiden2.tutorial.foundation.model.service.K99tTutorialService;

/**
 * チュートリアルガジェットテーブルへの各種操作を提供するAPI.
 */

public class GadgetTutorialManagerImpl extends AbstractWfManager<GadgetTutorialManagerDto> implements
        GadgetTutorialManager {
    
    /** サービスクラス. */
    @Resource
    protected K99tTutorialService k99tTutorialService;
    
    /** 主キー検索. */
    @Override
    public GadgetTutorialManagerDto selectByPk(GadgetTutorialManagerDto criteria) {
        return super.selectByPkIgnoreAuthority(k99tTutorialService, criteria);
    }
    
    /** リスト検索. */
    @Override
    public List<GadgetTutorialManagerDto> selectList(GadgetTutorialManagerDto criteria) {
        return super.selectPkUsedUserDataId(k99tTutorialService, criteria);
    }
    
    /** 表示案件検索. */
    @Override
    public List<GadgetTutorialManagerDto> selectView(CriteriaForSqlDto criteria) {
        return super.selectBySqlForView(k99tTutorialService, SELECT_SQLFILE_NM, criteria);
    }
    
    /** 申請書コピー検索. */
    @Override
    public List<GadgetTutorialManagerDto> selectViewForCopy(CriteriaForSqlDto criteria) {
        return super.selectBySqlForViewForCopy(k99tTutorialService, SELECT_SQLFILE_NM_FOR_COPY, criteria);
    }
    
    /** 過去案件検索. */
    @Override
    public List<GadgetTutorialManagerDto> selectViewArchive(CriteriaForSqlDto criteria) {
        return null;
    }
    
    /** 一括挿入. */
    @Override
    public int entry(List<GadgetTutorialManagerDto> dataList) {
        return CollectionUtil.summaryInt(super.insertBatch(k99tTutorialService, dataList));
    }
    
    /** 一括更新. */
    @Override
    public int renew(List<GadgetTutorialManagerDto> dataList) {
        return CollectionUtil.summaryInt(super.renewBatch(k99tTutorialService, dataList));
    }
    
    /** 削除. */
    @Override
    public int remove(GadgetTutorialManagerDto data) {
        return super.deleteUsedUserDataId(k99tTutorialService, data);
    }
    
    /** 一括削除. */
    @Override
    public int removeAll(GadgetTutorialManagerDto data) {
        return super.deleteNoUsedUserDataId(k99tTutorialService, data);
    }
    
    /** 過去案件登録. */
    @Override
    public int matterArchiveRegister(CriteriaForSqlDto criteria, List<GadgetTutorialManagerDto> dataList) {
        return 0;
    }
    
    /** 過去案件処理時削除. */
    @Override
    public int matterArchivePostDelete(CriteriaForSqlDto criteria) {
        return super.deleteNoUsedUserDataId(k99tTutorialService, criteria);
    }
    
    /** 過去案件一括削除. */
    @Override
    public int removeAllArchive(CriteriaForSqlDto criteria) {
        return 0;
    }
}

ManagerDtoの作成

GadgetTutorialManagerDtoクラスを作成します。
対象テーブルのカラムと、同時に取得するカラムがある場合は定義します。
package jp.co.slcs.kaiden2.tutorial.foundation.manager.tutorial;

import java.math.BigDecimal;
import java.sql.Timestamp;
import jp.co.slcs.kaiden2.base.foundation.model.dto.KaidenDto;

/**
 * チュートリアルガジェットテーブルDTO.
 */
public class GadgetTutorialManagerDto extends KaidenDto {
    
    /** システム案件id. */
    public String systemMatterId;
    /** ユーザデータid. */
    public String userDataId;
    /** ガジェットクラス. */
    public String gadgetClass;
    /** ガジェットインスタンス. */
    public Long gadgetInstance;
    /** ガジェットid. */
    public String gadgetId;
    /** ガジェットバリエーション. */
    public String gadgetVariation;
    /** テキスト. */
    public String tutorialText;
    /** 通貨コード. */
    public String tutorialCurrencyCd;
    /** 金額. */
    public BigDecimal tutorialAmount;
    /** 予備項目a. */
    public String extensionA;
    /** 予備項目b. */
    public String extensionB;
    /** 予備項目c. */
    public String extensionC;
    /** 予備項目d. */
    public String extensionD;
    /** 予備項目e. */
    public String extensionE;
    /** 予備項目f. */
    public String extensionF;
    /** 予備項目g. */
    public String extensionG;
    /** 予備項目h. */
    public String extensionH;
    /** 予備項目i. */
    public String extensionI;
    /** 予備項目j. */
    public String extensionJ;
    /** 登録日時. */
    public Timestamp entryTs;
    /** 登録者コード. */
    public String entryUserCd;
    /** 更新カウンタ. */
    public Long renewCnt;
    /** 更新日時. */
    public Timestamp renewTs;
    /** 更新者コード. */
    public String renewUserCd;
    
    /** 通貨名称. */
    public String tutorialCurrencyName;
}

ノート

ManagerDtoクラスは検索条件の設定、取得結果の保持で使用します。

SQLファイルの作成

selectView.sqlの名前でSQLファイルを作成します。ファイル名はManagerインターフェースで宣言したものです。
配置場所は「WEB-INF/classes/META-INF/sql/jp/co/slcs/kaiden2/tutorial/foundation/model/service/K99tTutorialService」です。
select
    tu.system_matter_id,
    tu.user_data_id,
    tu.gadget_class,
    tu.gadget_instance,
    tu.gadget_id,
    tu.gadget_variation,
    tu.tutorial_text,
    tu.tutorial_currency_cd,
    tu.tutorial_amount,
    tu.extension_a,
    tu.extension_b,
    tu.extension_c,
    tu.extension_d,
    tu.extension_e,
    tu.extension_f,
    tu.extension_g,
    tu.extension_h,
    tu.extension_i,
    tu.extension_j,
    tu.entry_ts,
    tu.entry_user_cd,
    tu.renew_cnt,
    tu.renew_ts,
    tu.renew_user_cd,
    cu.currency_name as tutorial_currency_name
from
    k99t_tutorial tu
    inner join
        k20c_matter_control c1
    on
        tu.system_matter_id = c1.system_matter_id
    and
        tu.user_data_id = c1.user_data_id
    left outer join imm_currency cu
    on
        c1.search_criteria_company = cu.company_cd
    and
        tu.tutorial_currency_cd = cu.currency_cd
    and
        /*localeId*/'ja' = cu.locale_id
    and
        cu.delete_flag = '0'
where
    tu.system_matter_id =/*systemMatterId*/''
/*IF userDataId != null*/
and
    tu.user_data_id = /*userDataId*/''
/*END*/
/*IF gadgetClass != null*/
and
    tu.gadget_class = /*gadgetClass*/''
/*END*/
/*IF gadgetInstance != null*/
and
    tu.gadget_instance = /*gadgetInstance*/0
/*END*/
/*IF gadgetId != null*/
and
    tu.gadget_id = /*gadgetId*/''
/*END*/
/*IF searchCriteriaCompany != null*/
and
    c1.search_criteria_company = /*searchCriteriaCompany*/''
/*END*/
/*IF orderBy != null*/
 order by /*$orderBy*/system_matter_id
/*END*/

«  S2JDBC-Gen自動生成ソース   ::   コンテンツ   ::   diconファイルの作成  »