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*/