DTO
- DTOクラスF
- アクセス権限フィルタpublic abstract class AbstractMasterA2Manager<DTO extends KaidenDto,F extends AuthorizedAccessDataFilterIF> extends AbstractGenericManager<DTO>
全マスタマネージャ共通基本方針
●項目・ロケールIDについて
【新規登録処理】
全ロケール分のデータをまとめて登録処理に渡してください。
ロケールごとに別々に登録処理メソッドを実行すると異なる期間コードが設定されます。
【更新処理】
全ロケール分のデータをまとめて更新処理に渡してください。
【削除処理】
引数のロケールは基本的に無視され、全ロケールに対して同じ処理を行います。
●項目・終了日について
終了日(END_DATE)には、+1日された日付がデータベースに登録されており、これはマネージャ内部で調整します。
マネージャは引数の終了日を+1日して検索・登録・更新等を行い、返却時に終了日を-1日します。
●項目・更新カウンタについて
更新処理メソッドの引数で、更新カウンタは必須項目となっています。
登録済みデータの更新カウンタと引数の更新カウンタが異なっている場合、排他エラーをスローします。
登録値は必ず登録済み更新カウンタ+1となります。
●更新処理・ロック取得について
主キーの昇順で並び替えた後、順番にロックを取得します。
この仕様を順守することで、デッドロックを回避します。
●検索処理・部分一致条件による検索について
部分一致条件を指定した検索APIを一部提供していますが、名称項目のみ指定可能としています。
コード項目は部分一致条件指定可能なAPIでも完全一致検索条件となります。
AbstractGenericManager.KeywordsSearchFilterImpl
修飾子とタイプ | フィールドと説明 |
---|---|
protected CommonSqlManager |
commonSqlManager
CommonSqlManager.
|
DateHelper |
dateHelper
DateHelper.
|
IdentifierHelper |
identifierHelper
IdentifierHelper.
|
protected KaidenSqlLoggingHelper |
kaidenSqlLoggingHelper
KaidenSqlLoggingHelper.
|
contextHelper, dtoClass, systemLocaleHelper
コンストラクタと説明 |
---|
AbstractMasterA2Manager() |
修飾子とタイプ | メソッドと説明 |
---|---|
protected DTO |
complementEndDateForDB(KaidenDto data)
終了日を翌日に設定.
|
protected DTO |
complementEndDateForDB(KaidenDto data,
List<String> fields)
対象の日付項目を翌日に設定.
|
protected List<DTO> |
complementEndDateForDB(List<DTO> dataList)
終了日を翌日に設定.
|
protected List<DTO> |
complementEndDateForDB(List<DTO> dataList,
List<String> fields)
対象の日付項目を翌日に設定.
|
protected DTO |
complementEndDateForDisp(DTO dataList)
終了日を前日に設定.
|
protected DTO |
complementEndDateForDisp(DTO data,
List<String> fields)
対象の日付項目を前日に設定.
|
protected List<DTO> |
complementEndDateForDisp(List<DTO> dataList)
終了日を前日に設定.
|
protected List<DTO> |
complementEndDateForDisp(List<DTO> dataList,
List<String> fields)
対象の日付項目を前日に設定.
|
protected <ENTITY> int |
entry(jp.co.slcs.kaiden.v2.base.foundation.model.service.GenerateService<ENTITY> service,
List<DTO> dataList,
F[] a2Filter)
登録.
|
protected <ENTITY> int |
entryIgnoreAuth(jp.co.slcs.kaiden.v2.base.foundation.model.service.GenerateService<ENTITY> service,
List<DTO> dataList)
登録(権限無視).
|
protected Map<String,Object> |
getDuplicationCheckCriteria(DTO data)
重複チェック検査用検索条件を返却.
|
protected abstract List<String> |
getDuplicationCheckField()
重複チェック確認フィールドをサブクラスから返却.
|
protected <ENTITY> boolean |
isPeriodOverlap(jp.co.slcs.kaiden.v2.base.foundation.model.service.GenerateService<ENTITY> service,
List<DTO> dataListForDB,
String[] eqFieldNames,
String[] neFieldNames)
期間重複チェック.
|
protected <ENTITY> boolean |
isPeriodOverlap(jp.co.slcs.kaiden.v2.base.foundation.model.service.GenerateService<ENTITY> service,
List<DTO> dataListForDB,
String startDateField,
String endDateField,
String[] eqFieldNames,
String[] neFieldNames)
期間重複チェック.
|
protected <ENTITY> void |
iterateLogic(jp.co.slcs.kaiden.v2.base.foundation.model.service.GenerateService<ENTITY> service,
DTO criteria,
List<OrderDto> order,
IterateBusinessLogicIF<DTO> logic)
反復処理.
|
KaidenValidateExecutor |
makeValidateExecuter(List<?> dtoList,
Map<String,String> surfaces,
List<ValidateDefsDto> datList)
バリデート実行クラスを返却します.
|
protected <ENTITY> int |
remove(jp.co.slcs.kaiden.v2.base.foundation.model.service.GenerateService<ENTITY> service,
DTO criteria,
F[] a2Filter)
削除.
|
protected <ENTITY> int |
removeIgnoreAuth(jp.co.slcs.kaiden.v2.base.foundation.model.service.GenerateService<ENTITY> service,
DTO criteria)
削除(権限無視).
|
protected <ENTITY> int |
removeNotExclude(jp.co.slcs.kaiden.v2.base.foundation.model.service.GenerateService<ENTITY> service,
DTO criteria,
F[] a2Filter)
条件除外なし削除.
|
protected <ENTITY> int |
removeNotExcludeIgnoreAuth(jp.co.slcs.kaiden.v2.base.foundation.model.service.GenerateService<ENTITY> service,
DTO criteria)
条件除外なし削除(認可設定無視).
|
protected <ENTITY> int |
renew(jp.co.slcs.kaiden.v2.base.foundation.model.service.GenerateService<ENTITY> service,
List<DTO> dataList,
F[] a2Filter)
更新.
|
protected <ENTITY> int |
renewIgnoreAuth(jp.co.slcs.kaiden.v2.base.foundation.model.service.GenerateService<ENTITY> service,
List<DTO> dataList)
更新(権限無視).
|
<ENTITY> DTO |
select(jp.co.slcs.kaiden.v2.base.foundation.model.service.GenerateService<ENTITY> service,
DTO criteria,
F[] a2Filter)
主キー検索.
|
<ENTITY> DTO |
selectIgnoreAuth(jp.co.slcs.kaiden.v2.base.foundation.model.service.GenerateService<ENTITY> service,
DTO criteria)
主キー検索(権限無視).
|
protected <ENTITY> List<DTO> |
selectList(jp.co.slcs.kaiden.v2.base.foundation.model.service.GenerateService<ENTITY> service,
KaidenDto criteria,
F[] a2Filter,
List<OrderDto> order)
汎用検索.
|
protected <ENTITY> List<DTO> |
selectListIgnoreAuthority(jp.co.slcs.kaiden.v2.base.foundation.model.service.GenerateService<ENTITY> service,
KaidenDto criteria,
List<OrderDto> order)
汎用検索(認可設定無視).
|
protected <ENTITY> List<DTO> |
selectLocales(jp.co.slcs.kaiden.v2.base.foundation.model.service.GenerateService<ENTITY> service,
DTO criteria,
F[] a2Filter)
ロケール検索.
|
protected <ENTITY> List<DTO> |
selectLocalesIgnoreAuth(jp.co.slcs.kaiden.v2.base.foundation.model.service.GenerateService<ENTITY> service,
DTO criteria)
ロケール検索(権限無視).
|
protected <ENTITY> void |
toDisabled(jp.co.slcs.kaiden.v2.base.foundation.model.service.GenerateService<ENTITY> service,
DTO criteria,
F[] a2Filter)
削除フラグをON.
|
protected <ENTITY> void |
toDisabledIgnoreAuth(jp.co.slcs.kaiden.v2.base.foundation.model.service.GenerateService<ENTITY> service,
DTO criteria)
削除フラグをON(権限無視).
|
protected <ENTITY> void |
toEnabled(jp.co.slcs.kaiden.v2.base.foundation.model.service.GenerateService<ENTITY> service,
DTO criteria,
F[] a2Filter)
削除フラグをOFF.
|
protected <ENTITY> void |
toEnabledIgnoreAuth(jp.co.slcs.kaiden.v2.base.foundation.model.service.GenerateService<ENTITY> service,
DTO criteria)
削除フラグをOFF(権限無視).
|
_getFilterTargetFields, delete, deleteBatch, getCount, getCount, getCount, getCountBySql, getCountBySql, getCountBySql, getCriteria4Sql, getCriteria4SqlParmitCompany, getCriteria4SqlParmitCompany, getPkCriteria4Sql, getPkCriteria4SqlParmitCompany, insert, insertBatch, parameterCheck, selectBeanMapListBySql, selectBeanMapListBySqlFilter, selectBeanMapListBySqlFilter, selectBeanMapListBySqlFilterIgnoreAuthority, selectBeanMapListBySqlIgnoreAuthority, selectByPk, selectByPk4Update, selectByPkIgnoreAuth4Update, selectByPkIgnoreAuthority, selectBySql, selectBySql, selectBySqlFilter, selectBySqlFilter, selectBySqlIgnoreAuthority, selectBySqlIgnoreAuthority, selectList, selectListByFilter, selectListByKeywords, selectListByKeywordsFilter, selectListByKeywordsIgnoreAuthority, selectListBySqlFilter, selectListBySqlFilterIgnoreAuthority, setFilterTargetField, update, update, updateBatch, updateBatch, updateBySqlFile, updateBySqlFile, updateBySqlFile, updateIncludesBatch, validAccessAuthority, validAccessAuthority
@Autowired public DateHelper dateHelper
@Autowired public IdentifierHelper identifierHelper
@Autowired protected KaidenSqlLoggingHelper kaidenSqlLoggingHelper
@Autowired protected CommonSqlManager commonSqlManager
protected abstract List<String> getDuplicationCheckField()
public <ENTITY> DTO select(jp.co.slcs.kaiden.v2.base.foundation.model.service.GenerateService<ENTITY> service, DTO criteria, F[] a2Filter)
検索条件のうち、主キーのみを利用して問い合わせします。
通常は、単一テーブルのみの検索となるため、直接関連するマスタ名称などは付与されません。
ENTITY
- エンティティservice
- 利用するサービスクラスcriteria
- 検索条件a2Filter
- アクセス権フィルタpublic <ENTITY> DTO selectIgnoreAuth(jp.co.slcs.kaiden.v2.base.foundation.model.service.GenerateService<ENTITY> service, DTO criteria)
会社認可、及びその他アクセス権による絞り込みを行わずに結果を返却します。
検索条件のうち、主キーのみを利用して問い合わせします。
通常は、単一テーブルのみの検索となるため、直接関連するマスタ名称などは付与されません。
ENTITY
- エンティティservice
- 利用するサービスクラスcriteria
- 検索条件protected <ENTITY> List<DTO> selectLocales(jp.co.slcs.kaiden.v2.base.foundation.model.service.GenerateService<ENTITY> service, DTO criteria, F[] a2Filter)
検索条件のうち、ロケールを除く主キーのみを利用して問い合わせします。
ENTITY
- エンティティservice
- 利用するサービスcriteria
- 検索条件a2Filter
- アクセス権フィルタprotected <ENTITY> List<DTO> selectLocalesIgnoreAuth(jp.co.slcs.kaiden.v2.base.foundation.model.service.GenerateService<ENTITY> service, DTO criteria)
会社認可、及びその他アクセス権による絞り込みを行わずに結果を返却します。
検索条件のうち、ロケールを除く主キーのみを利用して問い合わせします。
ENTITY
- エンティティservice
- 利用するサービスcriteria
- 検索条件protected <ENTITY> void toEnabledIgnoreAuth(jp.co.slcs.kaiden.v2.base.foundation.model.service.GenerateService<ENTITY> service, DTO criteria) throws KaidenOptimisticLockException
会社認可、及びその他アクセス権のチェックを行いません。
ロケールを除く主キーを元に更新します。
※引数の検索条件には主キーをすべて設定してください。
ENTITY
- エンティティservice
- 利用するサービスcriteria
- 条件KaidenOptimisticLockException
- 更新対象が見つからないprotected <ENTITY> void toEnabled(jp.co.slcs.kaiden.v2.base.foundation.model.service.GenerateService<ENTITY> service, DTO criteria, F[] a2Filter) throws KaidenHaventAuthorityException, KaidenOptimisticLockException
ロケールを除く主キーを元に更新します。
※引数の検索条件には主キーをすべて設定してください。
ENTITY
- エンティティservice
- 利用するサービスcriteria
- 条件a2Filter
- アクセス権フィルタ ※更新権・参照権の違いがある場合などは正しく更新権で判定してくださいKaidenHaventAuthorityException
- 当該データの更新権限がないKaidenOptimisticLockException
- 更新対象レコードが見つからないprotected <ENTITY> void toDisabledIgnoreAuth(jp.co.slcs.kaiden.v2.base.foundation.model.service.GenerateService<ENTITY> service, DTO criteria) throws KaidenOptimisticLockException
会社認可、及びその他アクセス権による絞り込みを行わずに結果を返却します。
ロケールを除く主キーを元に更新します。
※引数の検索条件には主キーをすべて設定してください。
ENTITY
- エンティティservice
- 利用するサービスcriteria
- 条件KaidenOptimisticLockException
- 更新対象が見つからないprotected <ENTITY> void toDisabled(jp.co.slcs.kaiden.v2.base.foundation.model.service.GenerateService<ENTITY> service, DTO criteria, F[] a2Filter) throws KaidenHaventAuthorityException, KaidenOptimisticLockException
ロケールを除く主キーを元に更新します。
※引数の検索条件には主キーをすべて設定してください。
ENTITY
- エンティティservice
- 利用するサービスcriteria
- 条件a2Filter
- アクセス権フィルタ ※更新権・参照権の違いがある場合などは正しく更新権で判定してくださいKaidenHaventAuthorityException
- 当該データの更新権限がないKaidenOptimisticLockException
- 更新対象が見つからないprotected <ENTITY> int remove(jp.co.slcs.kaiden.v2.base.foundation.model.service.GenerateService<ENTITY> service, DTO criteria, F[] a2Filter) throws KaidenHaventAuthorityException
主キーからロケールを除外して削除します。
ENTITY
- エンティティservice
- 利用するサービスクラスcriteria
- 更新条件a2Filter
- アクセス権フィルタ ※更新権・参照権の違いがある場合などは正しく更新権で判定してくださいKaidenHaventAuthorityException
- 当該データの更新権限がないprotected <ENTITY> int removeIgnoreAuth(jp.co.slcs.kaiden.v2.base.foundation.model.service.GenerateService<ENTITY> service, DTO criteria)
会社認可、及びその他アクセス権のチェックを行いません。
主キーからロケールを除外して削除します。
ENTITY
- エンティティservice
- 利用するサービスクラスcriteria
- 更新条件protected <ENTITY> int removeNotExclude(jp.co.slcs.kaiden.v2.base.foundation.model.service.GenerateService<ENTITY> service, DTO criteria, F[] a2Filter) throws KaidenHaventAuthorityException
主キーからロケール、期間コードを除外しないで、パラメータ通りの削除条件で削除処理を行います。
ENTITY
- エンティティservice
- 利用するサービスクラスcriteria
- 更新条件a2Filter
- アクセス権フィルタ ※更新権・参照権の違いがある場合などは正しく更新権で判定してくださいKaidenHaventAuthorityException
- 当該データの更新権限がないprotected <ENTITY> int removeNotExcludeIgnoreAuth(jp.co.slcs.kaiden.v2.base.foundation.model.service.GenerateService<ENTITY> service, DTO criteria)
主キーからロケール、期間コードを除外しないで、パラメータ通りの削除条件で削除処理を行います。
ENTITY
- エンティティservice
- 利用するサービスクラスcriteria
- 更新条件protected <ENTITY> int renew(jp.co.slcs.kaiden.v2.base.foundation.model.service.GenerateService<ENTITY> service, List<DTO> dataList, F[] a2Filter) throws KaidenHaventAuthorityException, KaidenOptimisticLockException
ENTITY
- エンティティservice
- 利用するサービスクラスdataList
- 更新データa2Filter
- アクセス権フィルタ ※更新権・参照権の違いがある場合などは正しく更新権で判定してくださいKaidenHaventAuthorityException
- 当該データの更新権限がないKaidenOptimisticLockException
- 楽観排他エラーprotected <ENTITY> int renewIgnoreAuth(jp.co.slcs.kaiden.v2.base.foundation.model.service.GenerateService<ENTITY> service, List<DTO> dataList) throws KaidenOptimisticLockException
会社認可、及びその他アクセス権のチェックを行いません。
ENTITY
- エンティティservice
- 利用するサービスクラスdataList
- 更新データKaidenOptimisticLockException
- 楽観排他エラーprotected <ENTITY> int entry(jp.co.slcs.kaiden.v2.base.foundation.model.service.GenerateService<ENTITY> service, List<DTO> dataList, F[] a2Filter) throws KaidenHaventAuthorityException, KaidenDuplicationEntryException
ENTITY
- エンティティservice
- 利用するサービスクラスdataList
- 登録データa2Filter
- アクセス権フィルタ ※更新権・参照権の違いがある場合などは正しく更新権で判定してくださいKaidenHaventAuthorityException
- 当該データの更新権限がないKaidenDuplicationEntryException
- 重複チェックエラーprotected <ENTITY> int entryIgnoreAuth(jp.co.slcs.kaiden.v2.base.foundation.model.service.GenerateService<ENTITY> service, List<DTO> dataList) throws KaidenDuplicationEntryException
会社認可、及びその他アクセス権のチェックを行いません。
ENTITY
- エンティティservice
- 利用するサービスクラスdataList
- 登録データKaidenDuplicationEntryException
- 重複チェックエラーprotected Map<String,Object> getDuplicationCheckCriteria(DTO data)
data
- 登録予定のデータprotected List<DTO> complementEndDateForDisp(List<DTO> dataList)
dataList
- 対象データprotected List<DTO> complementEndDateForDisp(List<DTO> dataList, List<String> fields)
画面表示用の日付項目補正を行います。
指定された日付項目をマイナス1日して戻します。
dataList
- 対象データfields
- 対象日付項目フィールド名protected DTO complementEndDateForDisp(DTO dataList)
dataList
- 対象データprotected DTO complementEndDateForDisp(DTO data, List<String> fields)
画面表示用の日付項目補正を行います。
指定された日付項目をマイナス1日して戻します。
data
- 対象データfields
- 対象日付項目フィールド名protected List<DTO> complementEndDateForDB(List<DTO> dataList)
dataList
- 対象データprotected List<DTO> complementEndDateForDB(List<DTO> dataList, List<String> fields)
DBアクセス用の日付項目補正を行います。
指定された日付項目をプラス1日して戻します。
dataList
- 対象データfields
- 対象日付項目フィールド名protected DTO complementEndDateForDB(KaidenDto data)
data
- 対象データprotected DTO complementEndDateForDB(KaidenDto data, List<String> fields)
DBアクセス用の日付項目補正を行います。
指定された日付項目をプラス1日して戻します。
data
- 対象データfields
- 対象日付項目フィールド名protected <ENTITY> boolean isPeriodOverlap(jp.co.slcs.kaiden.v2.base.foundation.model.service.GenerateService<ENTITY> service, List<DTO> dataListForDB, String[] eqFieldNames, String[] neFieldNames)
登録することで期間が重複してしまわないかをチェックします。
データリストの終了日データは既に+1日されていることとします。
ENTITY
- エンティティservice
- 利用するサービスクラスdataListForDB
- 登録データeqFieldNames
- イコール条件フィールド名neFieldNames
- Notイコール条件フィールド名protected <ENTITY> boolean isPeriodOverlap(jp.co.slcs.kaiden.v2.base.foundation.model.service.GenerateService<ENTITY> service, List<DTO> dataListForDB, String startDateField, String endDateField, String[] eqFieldNames, String[] neFieldNames)
登録(または更新)データリスト、開始日フィールド名、終了日フィールド名、イコール条件フィールド名、Notイコール条件フィールド名をパラメータで受け取ります。
登録することで期間が重複してしまわないかをチェックします。
データリストの終了日データは既に+1日されていることとします。
ENTITY
- エンティティservice
- 利用するサービスクラスdataListForDB
- 登録データstartDateField
- 開始日フィールド名endDateField
- 終了日フィールド名eqFieldNames
- イコール条件フィールド名neFieldNames
- Notイコール条件フィールド名public KaidenValidateExecutor makeValidateExecuter(List<?> dtoList, Map<String,String> surfaces, List<ValidateDefsDto> datList)
dtoList
- 検証対象surfaces
- メッセージ置換用ラベル(フィールドキー、ラベル内容)datList
- バリデート実行クラス用パラメータDTOリストprotected <ENTITY> List<DTO> selectListIgnoreAuthority(jp.co.slcs.kaiden.v2.base.foundation.model.service.GenerateService<ENTITY> service, KaidenDto criteria, List<OrderDto> order)
検索条件はすべてイコール検索です
selectListIgnoreAuthority
クラス内 AbstractGenericManager<DTO extends KaidenDto>
ENTITY
- エンティティservice
- 利用するサービスクラスcriteria
- 検索条件order
- ソート順protected <ENTITY> List<DTO> selectList(jp.co.slcs.kaiden.v2.base.foundation.model.service.GenerateService<ENTITY> service, KaidenDto criteria, F[] a2Filter, List<OrderDto> order)
検索条件はすべてイコール検索です
通常は、単一テーブルのみの検索となるため、直接関連するマスタ名称などは付与されません。
ENTITY
- エンティティservice
- 利用するサービスクラスcriteria
- 検索条件a2Filter
- アクセス権フィルタorder
- ソート順protected <ENTITY> void iterateLogic(jp.co.slcs.kaiden.v2.base.foundation.model.service.GenerateService<ENTITY> service, DTO criteria, List<OrderDto> order, IterateBusinessLogicIF<DTO> logic) throws KaidenSystemException, KaidenApplicationException
ENTITY
- エンティティservice
- 利用するサービスクラスcriteria
- 検索条件order
- ORDER BYlogic
- 反復処理ロジックインスタンスKaidenSystemException
- システム例外KaidenApplicationException
- アプリケーションエラーCopyright © 2023 Sumitomo Life Information Systems Co., Ltd. All Rights Reserved.