5.2.1. プロジェクトマスタ検索¶
プロジェクトマスタ検索のサンプルソースです。
本サンプルソースは「intra-mart Accel Kaiden! ワークフローモジュール 2.0.2」から抜粋したソースです。
5.2.1.1. 一覧¶
src └─main ├─generated │ └─jp │ └─co │ └─slcs │ └─kaiden2 │ └─product_workflow │ └─foundation │ └─model │ ├─entity │ │ K30mProject.java │ │ K30mProjectNames.java │ └─service │ K30mProjectCondition.java │ K30mProjectService.java ├─java │ └─jp │ └─co │ └─slcs │ └─kaiden2 │ └─product_workflow │ ├─feature │ │ ├─action │ │ │ └─kaiden │ │ │ └─master │ │ │ ProjectSearchAction.java │ │ ├─dto │ │ │ └─kaiden │ │ │ └─master │ │ │ ProjectSearchDto.java │ │ └─form │ │ └─kaiden │ │ └─master │ │ ProjectSearchForm.java │ └─foundation │ ├─manager │ │ └─project │ │ │ ProjectCriteriaDto.java │ │ │ ProjectManager.java │ │ │ ProjectManagerDto.java │ │ │ ProjectManagerDtoFieldName.java │ │ └─impl │ │ ProjectManagerImpl.java │ └─taglib │ MstSearchProject.java ├─resources │ └─META-INF │ ├─sql │ │ └─jp │ │ └─co │ │ └─slcs │ │ └─kaiden2 │ │ └─product_workflow │ │ └─foundation │ │ └─model │ │ └─service │ │ └─K30mProjectService │ │ selectView.sql │ └─tld │ └─kaidenMstSearchWorkflow │ KaidenMstSearchWorkflow.tld └─webapp └─WEB-INF └─classes └─jp └─co └─slcs └─kaiden2 └─product_workflow └─feature └─action └─kaiden └─master ProjectSearchSettings.xml
5.2.1.2. Java¶
5.2.1.2.1. Action¶
Pathsrc/main/java/jp/co/slcs/kaiden2/product_workflow/feature/action/kaiden/master/ProjectSearchAction.javapackage jp.co.slcs.kaiden2.product_workflow.feature.action.kaiden.master; import net.arnx.jsonic.JSON; import org.seasar.struts.annotation.ActionForm; import org.seasar.struts.annotation.Execute; import java.sql.Timestamp; import java.util.ArrayList; import java.util.List; import java.util.Map; import javax.annotation.Resource; import jp.co.slcs.kaiden2.base.foundation.conf.GenericFlag; import jp.co.slcs.kaiden2.base.foundation.exception.KaidenSystemException; import jp.co.slcs.kaiden2.base.foundation.helper.ContextHelper; import jp.co.slcs.kaiden2.base.foundation.helper.DateHelper; import jp.co.slcs.kaiden2.base.foundation.manager.KeywordsCriteriaDto; import jp.co.slcs.kaiden2.base.foundation.master.AbstractMasterSearchAction; import jp.co.slcs.kaiden2.base.foundation.master.GenericSearchSettingsDto; import jp.co.slcs.kaiden2.base.foundation.model.dto.KaidenDto; import jp.co.slcs.kaiden2.base.foundation.util.ConvertForJsonSource; import jp.co.slcs.kaiden2.base.foundation.util.HtmlEncodeUtil; import jp.co.slcs.kaiden2.base.foundation.util.StringUtil; import jp.co.slcs.kaiden2.product_workflow.feature.dto.kaiden.master.ProjectSearchDto; import jp.co.slcs.kaiden2.product_workflow.feature.form.kaiden.master.ProjectSearchForm; import jp.co.slcs.kaiden2.product_workflow.foundation.manager.project.ProjectManager; /** * プロジェクトマスタ検索(Action). * * @author Sumitomo Life Information Systems Co.,Ltd. */ public class ProjectSearchAction extends AbstractMasterSearchAction { /** ProjectSearchDto. */ @Resource public ProjectSearchDto projectSearchDto; /** ProjectSearchForm. */ @ActionForm @Resource public ProjectSearchForm projectSearchForm; /** ProjectManager. */ @Resource public ProjectManager projectManager; /** ContextHelper. */ @Resource public ContextHelper contextHelper; /** DateHelper. */ @Resource public DateHelper dateHelper; /** * 検索. * <p> * 以下の設定ファイルに従って検索を行う.<br /> * WEB-INF/classes/jp/co/slcs/kaiden2/product_workflow/feature/action/kaiden/master/ProjectSearchSettings.xml * </p> * <p> * 検索条件は以下の通り * </p> * <table border="1"> * <tr> * <th>フィールド</th> * <th>条件</th> * <th>値の取得元</th> * <th>省略</th> * </tr> * <tr> * <td>会社コード</td> * <td>完全一致</td> * <td>画面リクエスト</td> * <td>不可</td> * </tr> * <tr> * <td>プロジェクトコード</td> * <td>完全一致</td> * <td>画面リクエスト</td> * <td>可</td> * </tr> * <tr> * <td>ロケールID</td> * <td>完全一致</td> * <td>ログインユーザのロケールID</td> * <td>-</td> * </tr> * <tr> * <td>検索基準日</td> * <td>開始日-終了日の範囲</td> * <td>画面リクエスト</td> * <td>可(省略時はシステム日付を利用)</td> * </tr> * </table> * * @return 汎用検索JSP * @throws KaidenSystemException XML読み込み例外 */ @SuppressWarnings("unchecked") @Execute(validator = false) public String index() throws KaidenSystemException { searchDto = projectSearchDto; searchDto.searchKeywords = projectSearchForm.searchKeyword; // 設定ファイル読み込み searchDto.settings = new GenericSearchSettingsDto(readSetting(ProjectSearchAction.class)); // キーワード条件 KeywordsCriteriaDto keywordsCriteria = createKeywordCriteria(projectSearchForm.searchKeyword, projectSearchDto.settings); List<Map<String, Object>> searchResult = new ArrayList<Map<String, Object>>(); // 検索条件の作成 SearchCriteria criteria = new SearchCriteria(); if (StringUtil.isNotEmpty(projectSearchForm.searchCriteriaCompany)) { criteria.companyCd = projectSearchForm.searchCriteriaCompany; if (StringUtil.isNotEmpty(projectSearchForm.searchCriteriaDate)) { criteria.searchCriteriaDate = dateHelper.toTimestamp(projectSearchForm.searchCriteriaDate); } else { criteria.searchCriteriaDate = dateHelper.getNowTimestamp(); } if (StringUtil.isNotEmpty(projectSearchForm.projectCd)) { criteria.projectCd = projectSearchForm.projectCd; } if ("true".equals(projectSearchForm.includeDisabled)) { criteria.deleteFlag = null; } else { criteria.deleteFlag = GenericFlag.OFF.getCode(); } criteria.localeId = contextHelper.getLoginUserLocale().toString(); Map<String, Object> ret = projectManager.selectListKeywordFilterIgnoreAuthCompany(criteria, getOrder(searchDto.settings.orderJson), keywordsCriteria); ConvertForJsonSource conv = new ConvertForJsonSource(); for (Object dto : (List<Object>) ret.get("resultList")) { Map<String, Object> row = conv.dtoConvert((KaidenDto) dto); row.put("rowDataJson", HtmlEncodeUtil.escapeHtmlValue(JSON.encode(row))); searchResult.add(row); } } projectSearchDto.searchResult = searchResult; return GENERIC_SEARCH_JSP; } /** * 検索条件. * * @author Sumitomo Life Information Systems Co.,Ltd. */ public static class SearchCriteria extends KaidenDto { /** 会社コード. */ public String companyCd; /** プロジェクトコード. */ public String projectCd; /** 削除フラグ. */ public String deleteFlag; /** ロケールID. */ public String localeId; /** 検索基準日. */ public Timestamp searchCriteriaDate; } }
5.2.1.2.2. Dto¶
Pathsrc/main/java/jp/co/slcs/kaiden2/product_workflow/feature/dto/kaiden/master/ProjectSearchDto.javapackage jp.co.slcs.kaiden2.product_workflow.feature.dto.kaiden.master; import jp.co.slcs.kaiden2.base.foundation.master.AbstractMasterSearchDto; /** * プロジェクトマスタ検索(DTO). * * @author Sumitomo Life Information Systems Co.,Ltd. */ public class ProjectSearchDto extends AbstractMasterSearchDto { }
5.2.1.2.3. Form¶
Pathsrc/main/java/jp/co/slcs/kaiden2/product_workflow/feature/form/kaiden/master/ProjectSearchForm.javapackage jp.co.slcs.kaiden2.product_workflow.feature.form.kaiden.master; import jp.co.slcs.kaiden2.base.foundation.master.AbstractMasterSearchForm; /** * プロジェクトマスタ検索(From). * * @author Sumitomo Life Information Systems Co.,Ltd. */ public class ProjectSearchForm extends AbstractMasterSearchForm { /** プロジェクトコード. */ public String projectCd; }
5.2.1.2.4. Manager¶
Pathsrc/main/java/jp/co/slcs/kaiden2/product_workflow/foundation/manager/project/ProjectManager.javapackage jp.co.slcs.kaiden2.product_workflow.foundation.manager.project; import static jp.co.slcs.kaiden2.product_workflow.foundation.manager.project.ProjectManagerDtoFieldName.COMPANY_CD; import static jp.co.slcs.kaiden2.product_workflow.foundation.manager.project.ProjectManagerDtoFieldName.PARENT_COMPANY_CD; import static jp.co.slcs.kaiden2.product_workflow.foundation.manager.project.ProjectManagerDtoFieldName.PARENT_PROJECT_CD; import static jp.co.slcs.kaiden2.product_workflow.foundation.manager.project.ProjectManagerDtoFieldName.PROJECT_CD; import java.util.List; import java.util.Map; import jp.co.slcs.kaiden2.base.foundation.exception.KaidenIllegalParametersException; import jp.co.slcs.kaiden2.base.foundation.helper.PropertyHelper; import jp.co.slcs.kaiden2.base.foundation.helper.ValidateMapHelper; import jp.co.slcs.kaiden2.base.foundation.master.TermMasterManager; import jp.co.slcs.kaiden2.base.foundation.master.TermMasterManagerForJob; import jp.co.slcs.kaiden2.base.foundation.util.StringUtil; import jp.co.slcs.kaiden2.base.foundation.util.validate.KaidenAbstractValidator; import jp.co.slcs.kaiden2.base.foundation.util.validate.KaidenValidateResult; import jp.co.slcs.kaiden2.base.foundation.util.validate.KaidenValidatorIF; import jp.co.slcs.kaiden2.base.foundation.util.validate.model.dto.ValidateDefsDto; import jp.co.slcs.kaiden2.product_workflow.foundation.conf.ProductWorkflowProp; import org.seasar.framework.container.SingletonS2Container; /** * プロジェクトマネージャのinterface. * * @author Sumitomo Life Information Systems Co.,Ltd. */ public interface ProjectManager extends TermMasterManager<ProjectManagerDto>, TermMasterManagerForJob<ProjectManagerDto> { /** * プロジェクトコードの最大長. */ public static final int PROJECT_CD_LEN = 100; /** * プロジェクト名の最大長. */ public static final int PROJECT_NAME_LEN = 250; /** * 新規登録用の検証定義リストを返却します. * * @return バリデート実行クラス用パラメタDTOリスト */ public List<ValidateDefsDto> getValidateDefsDtoList4Entry(); /** * 更新登録用の検証定義リストを返却します. * * @return バリデート実行クラス用パラメタDTOリスト */ public List<ValidateDefsDto> getValidateDefsDtoList4Renew(); /** * カスタムバリデート_自プロジェクト・上位プロジェクト同一チェック. * <p> * 自プロジェクトと上位プロジェクトが同一コードの場合はエラーとする。 * </p> */ class CustomValidateNotEqualParent extends KaidenAbstractValidator implements KaidenValidatorIF { /** コンストラクタ. */ public CustomValidateNotEqualParent() { super(); } /** * {@inheritDoc} * <p> * チェックエラーとなる条件<br> * <ul> * <li>自プロジェクト・上位プロジェクト同一チェック。</li> * <li>自プロジェクトと上位プロジェクトが同一コードの場合はエラーとする。</li> * </ul> * 以下の場合、チェックを行いません。 * <ul> * <li>自プロジェクトコード・自会社コードのいずれかが設定されていない場合</li> * <li>上位プロジェクトコード・上位会社コードの両方が未設定の場合</li> * </ul> * 以下の場合、パラメーターエラーとします。 * <ul> * <li>上位プロジェクトコード・上位会社コードの片方が未設定の場合</li> * </ul> * </p> */ @Override public KaidenValidateResult executeValidate(Map<String, Object> valueMap, String fieldKey, String[] args, Map<String, String> surfaces) { KaidenValidateResult result = super.makeNewValidateResult(fieldKey, surfaces); ValidateMapHelper validateMapHelper = SingletonS2Container.getComponent(ValidateMapHelper.class); String thisCompanyCd = validateMapHelper.getValueForString(valueMap, COMPANY_CD); String thisProjectCd = validateMapHelper.getValueForString(valueMap, PROJECT_CD); // 自プロジェクトコードまたは自会社コードが設定されていない場合は、エラーとしない if (StringUtil.isEmptyAnyOne(thisCompanyCd, thisProjectCd)) { return result; } String parentCompanyCd = validateMapHelper.getValueForString(valueMap, PARENT_COMPANY_CD); String parentProjectCd = validateMapHelper.getValueForString(valueMap, PARENT_PROJECT_CD); // 上位プロジェクトコードと上位会社コードの両方が未設定の場合、エラーとしない if (StringUtil.isEmpty(parentCompanyCd, parentProjectCd)) { return result; } // 上位プロジェクトコード・上位会社コードの片方が未設定の場合、パラメーターエラー if (StringUtil.isEmptyAnyOne(thisCompanyCd, thisProjectCd)) { throw KaidenIllegalParametersException.makeInstance(); } // 自プロジェクトコードと上位プロジェクトコードが同一かつ、自会社コードと上位会社コードが同一の場合、チェックエラー if (thisCompanyCd.equals(parentCompanyCd) && thisProjectCd.equals(parentProjectCd)) { PropertyHelper propertyHelper = SingletonS2Container.getComponent(PropertyHelper.class); String fieldName = validateMapHelper.getSurfaces(valueMap, surfaces, PARENT_PROJECT_CD); result.setErrorStatus(true); result.setValidateClass(this.getClass()); result.setFieldKey(PARENT_PROJECT_CD); result.setFieldNm(fieldName); result.setMainMessageKey(ProductWorkflowProp.M.Project.W001); result.setMainMessage(propertyHelper.getMessage(ProductWorkflowProp.M.Project.W001, fieldName)); } return result; } } }
5.2.1.2.5. Manager(実装)¶
Pathsrc/main/java/jp/co/slcs/kaiden2/product_workflow/foundation/manager/project/impl/ProjectManagerImpl.javapackage jp.co.slcs.kaiden2.product_workflow.foundation.manager.project.impl; import static jp.co.slcs.kaiden2.base.foundation.model.conf.EntityCommonFieldLength.TERM_CD_LEN; import static jp.co.slcs.kaiden2.base.foundation.model.conf.EntityCommonFieldNames.EXTENSION_A; import static jp.co.slcs.kaiden2.base.foundation.model.conf.EntityCommonFieldNames.EXTENSION_B; import static jp.co.slcs.kaiden2.base.foundation.model.conf.EntityCommonFieldNames.EXTENSION_C; import static jp.co.slcs.kaiden2.base.foundation.model.conf.EntityCommonFieldNames.EXTENSION_D; import static jp.co.slcs.kaiden2.base.foundation.model.conf.EntityCommonFieldNames.EXTENSION_E; import static jp.co.slcs.kaiden2.base.foundation.model.conf.EntityCommonFieldNames.EXTENSION_F; import static jp.co.slcs.kaiden2.base.foundation.model.conf.EntityCommonFieldNames.EXTENSION_G; import static jp.co.slcs.kaiden2.base.foundation.model.conf.EntityCommonFieldNames.EXTENSION_H; import static jp.co.slcs.kaiden2.base.foundation.model.conf.EntityCommonFieldNames.EXTENSION_I; import static jp.co.slcs.kaiden2.base.foundation.model.conf.EntityCommonFieldNames.EXTENSION_J; import static jp.co.slcs.kaiden2.base.foundation.util.validate.conf.ConstValidationIdKaidenBase.VALID_COMPANY_EXISTS; import static jp.co.slcs.kaiden2.base.foundation.util.validate.conf.ConstValidationIdKaidenBase.VALID_DATE; import static jp.co.slcs.kaiden2.base.foundation.util.validate.conf.ConstValidationIdKaidenBase.VALID_DATE_MIN; import static jp.co.slcs.kaiden2.base.foundation.util.validate.conf.ConstValidationIdKaidenBase.VALID_FLAG; import static jp.co.slcs.kaiden2.base.foundation.util.validate.conf.ConstValidationIdKaidenBase.VALID_KAIDEN_ID; import static jp.co.slcs.kaiden2.base.foundation.util.validate.conf.ConstValidationIdKaidenBase.VALID_LOCALE; import static jp.co.slcs.kaiden2.base.foundation.util.validate.conf.ConstValidationIdKaidenBase.VALID_MAX_LENGTH; import static jp.co.slcs.kaiden2.base.foundation.util.validate.conf.ConstValidationIdKaidenBase.VALID_REQUIRED; import static jp.co.slcs.kaiden2.product_workflow.foundation.manager.project.ProjectManagerDtoFieldName.COMPANY_CD; import static jp.co.slcs.kaiden2.product_workflow.foundation.manager.project.ProjectManagerDtoFieldName.COMPANY_NAME; import static jp.co.slcs.kaiden2.product_workflow.foundation.manager.project.ProjectManagerDtoFieldName.DELETE_FLAG; import static jp.co.slcs.kaiden2.product_workflow.foundation.manager.project.ProjectManagerDtoFieldName.END_DATE; import static jp.co.slcs.kaiden2.product_workflow.foundation.manager.project.ProjectManagerDtoFieldName.LOCALE_ID; import static jp.co.slcs.kaiden2.product_workflow.foundation.manager.project.ProjectManagerDtoFieldName.PARENT_COMPANY_CD; import static jp.co.slcs.kaiden2.product_workflow.foundation.manager.project.ProjectManagerDtoFieldName.PARENT_PROJECT_CD; import static jp.co.slcs.kaiden2.product_workflow.foundation.manager.project.ProjectManagerDtoFieldName.PARENT_PROJECT_NAME; import static jp.co.slcs.kaiden2.product_workflow.foundation.manager.project.ProjectManagerDtoFieldName.PROJECT_CD; import static jp.co.slcs.kaiden2.product_workflow.foundation.manager.project.ProjectManagerDtoFieldName.PROJECT_NAME; import static jp.co.slcs.kaiden2.product_workflow.foundation.manager.project.ProjectManagerDtoFieldName.START_DATE; import static jp.co.slcs.kaiden2.product_workflow.foundation.manager.project.ProjectManagerDtoFieldName.TERM_CD; import static jp.co.slcs.kaiden2.product_workflow.foundation.util.validate.conf.ConstValidationIdKaidenProductWorkflow.VALID_PROJECT_EXISTS; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; import java.util.List; import java.util.Map; import javax.annotation.Resource; import jp.co.slcs.kaiden2.base.foundation.conf.GenericFlag; import jp.co.slcs.kaiden2.base.foundation.exception.KaidenApplicationException; import jp.co.slcs.kaiden2.base.foundation.exception.KaidenDuplicationEntryException; import jp.co.slcs.kaiden2.base.foundation.exception.KaidenHaventAuthorityToCompanyException; import jp.co.slcs.kaiden2.base.foundation.exception.KaidenIllegalParametersException; import jp.co.slcs.kaiden2.base.foundation.exception.KaidenOptimisticLockException; import jp.co.slcs.kaiden2.base.foundation.exception.KaidenSystemException; import jp.co.slcs.kaiden2.base.foundation.exception.KaidenValidateException; import jp.co.slcs.kaiden2.base.foundation.manager.AbstractTermMasterManager; import jp.co.slcs.kaiden2.base.foundation.manager.AuthorityCriteriaDto; import jp.co.slcs.kaiden2.base.foundation.manager.KeywordsCriteriaDto; import jp.co.slcs.kaiden2.base.foundation.manager.common.IterateBusinessLogicIF; import jp.co.slcs.kaiden2.base.foundation.model.dto.KaidenDto; import jp.co.slcs.kaiden2.base.foundation.model.dto.OrderDto; import jp.co.slcs.kaiden2.base.foundation.util.CollectionUtil; import jp.co.slcs.kaiden2.base.foundation.util.StringUtil; import jp.co.slcs.kaiden2.base.foundation.util.validate.KaidenValidateResult; import jp.co.slcs.kaiden2.base.foundation.util.validate.conf.ErrorMode; import jp.co.slcs.kaiden2.base.foundation.util.validate.model.dto.ValidateDefsDto; import jp.co.slcs.kaiden2.product_workflow.foundation.manager.project.ProjectManager; import jp.co.slcs.kaiden2.product_workflow.foundation.manager.project.ProjectManagerDto; import jp.co.slcs.kaiden2.product_workflow.foundation.model.service.K30mProjectService; import org.seasar.framework.beans.util.Beans; /** * プロジェクトマスタへの各種操作を提供するAPI.<br> * <br> * <p> * 本APIは、主にデータベース操作を行いますが、より業務的な機能を付加した操作を提供します。<br> * 使用する際には、{@link ProjectManagerDto}クラスまたはそのリストをパラメータとして渡すと、<br> * {@link ProjectManagerDto}クラスまたはそのリストが戻り値として返却されます。<br> * (一部例外あり。各APIを参照。)<br> * <br> * <b>機能一覧(共通)</b> * <table border="1"> * <tr> * <td>機能概要</td> * <td>メソッド</td> * <td>カテゴリ</td> * <td>備考</td> * </tr> * <tr> * <td>主キー検索</td> * <td>select</td> * <td>主キー検索</td> * <td> </td> * </tr> * <tr> * <td>主キー検索(認可設定無視)</td> * <td>selectIgnoreAuthCompany</td> * <td>主キー検索</td> * <td> </td> * </tr> * <tr> * <td>汎用検索</td> * <td>selectList</td> * <td>汎用検索</td> * <td> </td> * </tr> * <tr> * <td>汎用検索(認可設定無視)</td> * <td>selectListIgnoreAuthCompany</td> * <td>汎用検索</td> * <td> </td> * </tr> * <tr> * <td>ロケール検索</td> * <td>selectLocales</td> * <td>ロケール検索</td> * <td> </td> * </tr> * <tr> * <td>ロケール検索(認可設定無視)</td> * <td>selectLocalesIgnoreAuthCompany</td> * <td>ロケール検索</td> * <td> </td> * </tr> * <tr> * <td>参照検索</td> * <td>selectListWithReference</td> * <td>参照検索</td> * <td> </td> * </tr> * <tr> * <td>参照検索(認可設定無視)</td> * <td>selectListWithReferenceIgnoreAuthCompany</td> * <td>参照検索</td> * <td> </td> * </tr> * <tr> * <td>キーワード検索</td> * <td>selectListKeywordFilter</td> * <td>キーワード検索</td> * <td> </td> * </tr> * <tr> * <td>キーワード検索(認可設定無視)</td> * <td>selectListKeywordFilterIgnoreAuthCompany</td> * <td>キーワード検索</td> * <td> </td> * </tr> * <tr> * <td>有効化</td> * <td>toEnabled</td> * <td>削除フラグ更新</td> * <td> </td> * </tr> * <tr> * <td>有効化(認可設定無視)</td> * <td>toEnabledIgnoreAuthCompany</td> * <td>削除フラグ更新</td> * <td> </td> * </tr> * <tr> * <td>無効化</td> * <td>toDisabled</td> * <td>削除フラグ更新</td> * <td> </td> * </tr> * <tr> * <td>無効化(認可設定無視)</td> * <td>toDisabledIgnoreAuthCompany</td> * <td>削除フラグ更新</td> * <td> </td> * </tr> * <tr> * <td>登録</td> * <td>entry</td> * <td>登録</td> * <td> </td> * </tr> * <tr> * <td>登録(認可設定無視)</td> * <td>entryIgnoreAuthCompany</td> * <td>登録</td> * <td> </td> * </tr> * <tr> * <td>削除</td> * <td>remove</td> * <td>削除</td> * <td> </td> * </tr> * <tr> * <td>削除(認可設定無視)</td> * <td>removeIgnoreAuthCompany</td> * <td>削除</td> * <td> </td> * </tr> * <tr> * <td>更新</td> * <td>renew</td> * <td>更新</td> * <td> </td> * </tr> * <tr> * <td>更新(認可設定無視)</td> * <td>renewIgnoreAuthCompany</td> * <td>更新</td> * <td> </td> * </tr> * </table> * <br> * <br> * <b>機能一覧(期間化)</b> * <table border="1"> * <tr> * <td>機能概要</td> * <td>メソッド</td> * <td>カテゴリ</td> * <td>備考</td> * </tr> * <tr> * <td>期間検索</td> * <td>selectTerms</td> * <td>期間検索</td> * <td> </td> * </tr> * <tr> * <td>期間検索(認可設定無視)</td> * <td>selectTermsIgnoreAuthCompany</td> * <td>期間検索</td> * <td> </td> * </tr> * <tr> * <td>基準日指定検索</td> * <td>selectListIncluedsSearchDate</td> * <td>基準日指定検索</td> * <td> </td> * </tr> * <tr> * <td>基準日指定検索(認可設定無視)</td> * <td>selectListIncluedsSearchDateIgnoreAuthCompany</td> * <td>基準日指定検索</td> * <td> </td> * </tr> * <tr> * <td>期間分割</td> * <td>divideTerm</td> * <td>期間分割</td> * <td><b> </b></td> * </tr> * <tr> * <td>期間分割(認可設定無視)</td> * <td>divideTermIgnoreAuthCompany</td> * <td>期間分割</td> * <td><b> </b></td> * </tr> * <tr> * <td>期間変更</td> * <td>moveTerm</td> * <td>期間変更</td> * <td> </td> * </tr> * <tr> * <td>期間変更(認可設定無視)</td> * <td>moveTermIgnoreAuthCompany</td> * <td>期間変更</td> * <td> </td> * </tr> * </table> * <br> * <br> * 機能に対するI/Oを以下に示します。(上記一覧のカテゴリ単位)<br> * <br> * 【IN】 * <table border="1"> * <tr> * <td align="right">●</td> * <td>:必須</td> * </tr> * <tr> * <td align="right">△</td> * <td>:任意、検索時完全一致条件</td> * </tr> * <tr> * <td align="right">▲</td> * <td>:任意、検索時部分一致条件</td> * </tr> * <tr> * <td align="right">×</td> * <td>:不要(設定されていても無視します。)</td> * </tr> * <tr> * <td align="right">☆</td> * <td>:各APIの説明を参照</td> * </tr> * <tr> * <td align="right">-</td> * <td>:対象外</td> * </tr> * </table> * <br> * 【OUT】 * <table border="1"> * <tr> * <td align="right">○</td> * <td>:あり</td> * </tr> * <tr> * <td align="right">×</td> * <td>:なし</td> * </tr> * <tr> * <td align="right">-</td> * <td>:対象外</td> * </tr> * </table> * <br> * <b>DTOクラスとメソッドのI/Oマトリクス(共通)</b> * <table border="1"> * <tr> * <td rowspan="2" align="center"><b>DTOフィールド論理名</b></td> * <td rowspan="2" align="center"><b>DTOフィールド名</b></td> * <td colspan="2" align="center"><b>主キー<br> * 検索</b></td> * <td colspan="2" align="center"><b>汎用<br> * 検索</b></td> * <td colspan="2" align="center"><b>ロケール<br> * 検索</b></td> * <td colspan="2" align="center"><b>参照<br> * 検索</b></td> * <td colspan="2" align="center"><b>キーワード<br> * 検索</b></td> * <td colspan="2" align="center"><b>削除フラグ<br> * 更新</b></td> * <td colspan="2" align="center"><b>登録</b></td> * <td colspan="2" align="center"><b>削除</b></td> * <td colspan="2" align="center"><b>更新</b></td> * </tr> * <tr> * <td align="center"><b>I</b></td> * <td align="center"><b>O</b></td> * <td align="center"><b>I</b></td> * <td align="center"><b>O</b></td> * <td align="center"><b>I</b></td> * <td align="center"><b>O</b></td> * <td align="center"><b>I</b></td> * <td align="center"><b>O</b></td> * <td align="center"><b>I</b></td> * <td align="center"><b>O</b></td> * <td align="center"><b>I</b></td> * <td align="center"><b>O</b></td> * <td align="center"><b>I</b></td> * <td align="center"><b>O</b></td> * <td align="center"><b>I</b></td> * <td align="center"><b>O</b></td> * <td align="center"><b>I</b></td> * <td align="center"><b>O</b></td> * </tr> * <tr> * <td><b>会社コード(*)</b></td> * <td><b>companyCd</b></td> * <td align="center">●</td> * <td align="center">○</td> * <td align="center">△</td> * <td align="center">○</td> * <td align="center">●</td> * <td align="center">○</td> * <td align="center">△</td> * <td align="center">○</td> * <td align="center">△</td> * <td align="center">○</td> * <td align="center">●</td> * <td align="center">-</td> * <td align="center">●</td> * <td align="center">-</td> * <td align="center">●</td> * <td align="center">-</td> * <td align="center">●</td> * <td align="center">-</td> * </tr> * <tr> * <td><b>プロジェクトコード(*)</b></td> * <td><b>projectCd</b></td> * <td align="center">●</td> * <td align="center">○</td> * <td align="center">△</td> * <td align="center">○</td> * <td align="center">●</td> * <td align="center">○</td> * <td align="center">△</td> * <td align="center">○</td> * <td align="center">△</td> * <td align="center">○</td> * <td align="center">●</td> * <td align="center">-</td> * <td align="center">●</td> * <td align="center">-</td> * <td align="center">●</td> * <td align="center">-</td> * <td align="center">●</td> * <td align="center">-</td> * </tr> * <tr> * <td><b>期間コード(*)</b></td> * <td><b>termCd</b></td> * <td align="center">●</td> * <td align="center">○</td> * <td align="center">△</td> * <td align="center">○</td> * <td align="center">●</td> * <td align="center">○</td> * <td align="center">△</td> * <td align="center">○</td> * <td align="center">△</td> * <td align="center">○</td> * <td align="center">●</td> * <td align="center">-</td> * <td align="center">×</td> * <td align="center">-</td> * <td align="center">×</td> * <td align="center">-</td> * <td align="center">●</td> * <td align="center">-</td> * </tr> * <tr> * <td><b>ロケールID(*)</b></td> * <td><b>localeId</b></td> * <td align="center">●</td> * <td align="center">○</td> * <td align="center">△</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">△</td> * <td align="center">○</td> * <td align="center">△</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">-</td> * <td align="center">●</td> * <td align="center">-</td> * <td align="center">×</td> * <td align="center">-</td> * <td align="center">●</td> * <td align="center">-</td> * </tr> * <tr> * <td>開始日</td> * <td>startDate</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">△</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">-</td> * <td align="center">●</td> * <td align="center">-</td> * <td align="center">×</td> * <td align="center">-</td> * <td align="center">×</td> * <td align="center">-</td> * </tr> * <tr> * <td>終了日</td> * <td>endDate</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">△</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">-</td> * <td align="center">●</td> * <td align="center">-</td> * <td align="center">×</td> * <td align="center">-</td> * <td align="center">×</td> * <td align="center">-</td> * </tr> * <tr> * <td>プロジェクト名称</td> * <td>projectName</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">△</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">▲</td> * <td align="center">○</td> * <td align="center">▲</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">-</td> * <td align="center">△</td> * <td align="center">-</td> * <td align="center">×</td> * <td align="center">-</td> * <td align="center">△</td> * <td align="center">-</td> * </tr> * <tr> * <td>削除フラグ</td> * <td>deleteFlag</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">△</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">△</td> * <td align="center">○</td> * <td align="center">△</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">-</td> * <td align="center">△</td> * <td align="center">-</td> * <td align="center">×</td> * <td align="center">-</td> * <td align="center">×</td> * <td align="center">-</td> * </tr> * <tr> * <td>会社コード(上位)</td> * <td>parentCompanyCd</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">△</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">▲</td> * <td align="center">○</td> * <td align="center">▲</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">-</td> * <td align="center">△</td> * <td align="center">-</td> * <td align="center">×</td> * <td align="center">-</td> * <td align="center">△</td> * <td align="center">-</td> * </tr> * <tr> * <td>プロジェクトコード(上位)</td> * <td>parentProjectCd</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">△</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">▲</td> * <td align="center">○</td> * <td align="center">▲</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">-</td> * <td align="center">△</td> * <td align="center">-</td> * <td align="center">×</td> * <td align="center">-</td> * <td align="center">△</td> * <td align="center">-</td> * </tr> * <tr> * <td>予備項目A~J</td> * <td>extensionA~J</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">△</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">▲</td> * <td align="center">○</td> * <td align="center">▲</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">-</td> * <td align="center">△</td> * <td align="center">-</td> * <td align="center">×</td> * <td align="center">-</td> * <td align="center">△</td> * <td align="center">-</td> * </tr> * <tr> * <td>登録日時</td> * <td>entryTs</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">△</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">-</td> * <td align="center">△</td> * <td align="center">-</td> * <td align="center">×</td> * <td align="center">-</td> * <td align="center">×</td> * <td align="center">-</td> * </tr> * <tr> * <td>登録者コード</td> * <td>entryUserCd</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">△</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">-</td> * <td align="center">△</td> * <td align="center">-</td> * <td align="center">×</td> * <td align="center">-</td> * <td align="center">×</td> * <td align="center">-</td> * </tr> * <tr> * <td>更新カウンタ</td> * <td>renewCnt</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">△</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">-</td> * <td align="center">△</td> * <td align="center">-</td> * <td align="center">×</td> * <td align="center">-</td> * <td align="center">☆</td> * <td align="center">-</td> * </tr> * <tr> * <td>更新日時</td> * <td>renewTs</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">△</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">-</td> * <td align="center">△</td> * <td align="center">-</td> * <td align="center">×</td> * <td align="center">-</td> * <td align="center">×</td> * <td align="center">-</td> * </tr> * <tr> * <td>更新者コード</td> * <td>renewUserCd</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">△</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">-</td> * <td align="center">△</td> * <td align="center">-</td> * <td align="center">×</td> * <td align="center">-</td> * <td align="center">×</td> * <td align="center">-</td> * </tr> * <tr> * <td>組織名称</td> * <td>companyName</td> * <td align="center">-</td> * <td align="center">-</td> * <td align="center">-</td> * <td align="center">-</td> * <td align="center">-</td> * <td align="center">-</td> * <td align="center">▲</td> * <td align="center">○</td> * <td align="center">▲</td> * <td align="center">○</td> * <td align="center">-</td> * <td align="center">-</td> * <td align="center">-</td> * <td align="center">-</td> * <td align="center">-</td> * <td align="center">-</td> * <td align="center">-</td> * <td align="center">-</td> * </tr> * <tr> * <td>プロジェクト名称(上位)</td> * <td>parentProjectName</td> * <td align="center">-</td> * <td align="center">-</td> * <td align="center">-</td> * <td align="center">-</td> * <td align="center">-</td> * <td align="center">-</td> * <td align="center">▲</td> * <td align="center">○</td> * <td align="center">▲</td> * <td align="center">○</td> * <td align="center">-</td> * <td align="center">-</td> * <td align="center">-</td> * <td align="center">-</td> * <td align="center">-</td> * <td align="center">-</td> * <td align="center">-</td> * <td align="center">-</td> * </tr> * <tr> * <td>検索基準日</td> * <td>searchCriteriaDate</td> * <td align="center">-</td> * <td align="center">-</td> * <td align="center">-</td> * <td align="center">-</td> * <td align="center">-</td> * <td align="center">-</td> * <td align="center">☆</td> * <td align="center">-</td> * <td align="center">☆</td> * <td align="center">-</td> * <td align="center">-</td> * <td align="center">-</td> * <td align="center">-</td> * <td align="center">-</td> * <td align="center">-</td> * <td align="center">-</td> * <td align="center">-</td> * <td align="center">-</td> * </tr> * </table> * <br> * <b>DTOクラスとメソッドのI/Oマトリクス(期間化)</b> * <table border="1"> * <tr> * <td rowspan="2" align="center"><b>DTOフィールド論理名</b></td> * <td rowspan="2" align="center"><b>DTOフィールド名</b></td> * <td colspan="2" align="center"><b>期間検索</b></td> * <td colspan="2" align="center"><b>基準日指定検索</b></td> * <td colspan="2" align="center"><b>期間分割</b></td> * <td colspan="2" align="center"><b>期間変更</b></td> * </tr> * <tr> * <td align="center"><b>I</b></td> * <td align="center"><b>O</b></td> * <td align="center"><b>I</b></td> * <td align="center"><b>O</b></td> * <td align="center"><b>I</b></td> * <td align="center"><b>O</b></td> * <td align="center"><b>I</b></td> * <td align="center"><b>O</b></td> * </tr> * <tr> * <td><b>会社コード(*)</b></td> * <td><b>companyCd</b></td> * <td align="center">●</td> * <td align="center">○</td> * <td align="center">△</td> * <td align="center">○</td> * <td align="center">●</td> * <td align="center">-</td> * <td align="center">●</td> * <td align="center">-</td> * </tr> * <tr> * <td><b>プロジェクトコード(*)</b></td> * <td><b>projectCd</b></td> * <td align="center">●</td> * <td align="center">○</td> * <td align="center">△</td> * <td align="center">○</td> * <td align="center">●</td> * <td align="center">-</td> * <td align="center">●</td> * <td align="center">-</td> * </tr> * <tr> * <td><b>期間コード(*)</b></td> * <td><b>termCd</b></td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">●</td> * <td align="center">-</td> * <td align="center">●</td> * <td align="center">-</td> * </tr> * <tr> * <td><b>ロケールID(*)</b></td> * <td><b>localeId</b></td> * <td align="center">●</td> * <td align="center">○</td> * <td align="center">△</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">-</td> * <td align="center">×</td> * <td align="center">-</td> * </tr> * <tr> * <td>開始日</td> * <td>startDate</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">-</td> * <td align="center">×</td> * <td align="center">-</td> * </tr> * <tr> * <td>終了日</td> * <td>endDate</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">-</td> * <td align="center">×</td> * <td align="center">-</td> * </tr> * <tr> * <td>プロジェクト名称</td> * <td>projectName</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">△</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">-</td> * <td align="center">×</td> * <td align="center">-</td> * </tr> * <tr> * <td>削除フラグ</td> * <td>deleteFlag</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">△</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">-</td> * <td align="center">×</td> * <td align="center">-</td> * </tr> * <tr> * <td>会社コード(上位)</td> * <td>parentCompanyCd</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">△</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">-</td> * <td align="center">×</td> * <td align="center">-</td> * </tr> * <tr> * <td>プロジェクトコード(上位)</td> * <td>parentProjectCd</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">△</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">-</td> * <td align="center">×</td> * <td align="center">-</td> * </tr> * <tr> * <td>予備項目A~J</td> * <td>extensionA~J</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">△</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">-</td> * <td align="center">×</td> * <td align="center">-</td> * </tr> * <tr> * <td>登録日時</td> * <td>entryTs</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">△</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">-</td> * <td align="center">×</td> * <td align="center">-</td> * </tr> * <tr> * <td>登録者コード</td> * <td>entryUserCd</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">△</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">-</td> * <td align="center">×</td> * <td align="center">-</td> * </tr> * <tr> * <td>更新カウンタ</td> * <td>renewCnt</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">△</td> * <td align="center">○</td> * <td align="center">☆</td> * <td align="center">-</td> * <td align="center">☆</td> * <td align="center">-</td> * </tr> * <tr> * <td>更新日時</td> * <td>renewTs</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">△</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">-</td> * <td align="center">×</td> * <td align="center">-</td> * </tr> * <tr> * <td>更新者コード</td> * <td>renewUserCd</td> * <td align="center">×</td> * <td align="center">○</td> * <td align="center">△</td> * <td align="center">○</td> * <td align="center">×</td> * <td align="center">-</td> * <td align="center">×</td> * <td align="center">-</td> * </tr> * <tr> * <td>組織名称</td> * <td>companyName</td> * <td align="center">×</td> * <td align="center">×</td> * <td align="center">×</td> * <td align="center">×</td> * <td align="center">×</td> * <td align="center">-</td> * <td align="center">×</td> * <td align="center">-</td> * </tr> * <tr> * <td>プロジェクト名称(上位)</td> * <td>parentProjectName</td> * <td align="center">×</td> * <td align="center">×</td> * <td align="center">×</td> * <td align="center">×</td> * <td align="center">×</td> * <td align="center">-</td> * <td align="center">×</td> * <td align="center">-</td> * </tr> * <tr> * <td>検索基準日</td> * <td>searchCriteriaDate</td> * <td align="center">×</td> * <td align="center">-</td> * <td align="center">●</td> * <td align="center">-</td> * <td align="center">×</td> * <td align="center">-</td> * <td align="center">×</td> * <td align="center">-</td> * </tr> * </table> * <br> * <br> * テーブルのPK項目にはフィールド名に(*)を付与しています。<br> * </p> * * @author Sumitomo Life Information Systems Co.,Ltd. */ public class ProjectManagerImpl extends AbstractTermMasterManager<ProjectManagerDto> implements ProjectManager { /** K30mProjectService. */ @Resource protected K30mProjectService k30mProjectService; /** * {@inheritDoc} */ @Override public ProjectManagerDto select(ProjectManagerDto criteria, AuthorityCriteriaDto authCriteria) { return super.select(k30mProjectService, criteria, authCriteria); } /** * {@inheritDoc} */ @Override public ProjectManagerDto selectIgnoreAuthCompany(ProjectManagerDto criteria) { return super.selectIgnoreAuthCompany(k30mProjectService, criteria); } /** * {@inheritDoc} */ @Override public List<ProjectManagerDto> selectList(ProjectManagerDto criteria, AuthorityCriteriaDto authCriteria, List<OrderDto> order) { return super.selectList(k30mProjectService, criteria, authCriteria, order); } /** * {@inheritDoc} */ @Override public List<ProjectManagerDto> selectListIgnoreAuthCompany(ProjectManagerDto criteria, List<OrderDto> order) { return super.selectListIgnoreAuthority(k30mProjectService, criteria, order); } /** * {@inheritDoc} */ @Override public List<ProjectManagerDto> selectListWithReference(KaidenDto criteria, List<OrderDto> order, AuthorityCriteriaDto authCriteria) { String[] likeTarget = {PROJECT_NAME, EXTENSION_A, EXTENSION_B, EXTENSION_C, EXTENSION_D, EXTENSION_E, EXTENSION_F, EXTENSION_G, EXTENSION_H, EXTENSION_I, EXTENSION_J, COMPANY_NAME, PARENT_PROJECT_NAME}; return super.selectBySql(k30mProjectService, "selectView.sql", criteria, order, authCriteria, likeTarget); } /** * {@inheritDoc} */ @Override public List<ProjectManagerDto> selectListWithReferenceIgnoreAuthCompany(KaidenDto criteria, List<OrderDto> order) { String[] likeTarget = {PROJECT_NAME, EXTENSION_A, EXTENSION_B, EXTENSION_C, EXTENSION_D, EXTENSION_E, EXTENSION_F, EXTENSION_G, EXTENSION_H, EXTENSION_I, EXTENSION_J, COMPANY_NAME, PARENT_PROJECT_NAME}; return super.selectBySqlIgnoreAuthority(k30mProjectService, "selectView.sql", criteria, order, likeTarget); } /** * {@inheritDoc} */ @Override public Map<String, Object> selectListKeywordFilter(KaidenDto criteria, List<OrderDto> order, KeywordsCriteriaDto keywordsCriteria, AuthorityCriteriaDto authCriteria) { String[] likeTarget = {PROJECT_NAME, EXTENSION_A, EXTENSION_B, EXTENSION_C, EXTENSION_D, EXTENSION_E, EXTENSION_F, EXTENSION_G, EXTENSION_H, EXTENSION_I, EXTENSION_J, COMPANY_NAME, PARENT_PROJECT_NAME}; return super.selectListByKeywords(k30mProjectService, "selectView.sql", criteria, order, keywordsCriteria, authCriteria, likeTarget); } /** * {@inheritDoc} */ @Override public Map<String, Object> selectListKeywordFilterIgnoreAuthCompany(KaidenDto criteria, List<OrderDto> order, KeywordsCriteriaDto keywordsCriteria) { String[] likeTarget = {PROJECT_NAME, EXTENSION_A, EXTENSION_B, EXTENSION_C, EXTENSION_D, EXTENSION_E, EXTENSION_F, EXTENSION_G, EXTENSION_H, EXTENSION_I, EXTENSION_J, COMPANY_NAME, PARENT_PROJECT_NAME}; return super.selectListByKeywordsIgnoreAuthority(k30mProjectService, "selectView.sql", criteria, order, keywordsCriteria, likeTarget); } /** * {@inheritDoc} * * @throws KaidenOptimisticLockException */ @Override public void toEnabled(ProjectManagerDto criteria, AuthorityCriteriaDto authCriteria) throws KaidenHaventAuthorityToCompanyException, KaidenOptimisticLockException { super.toEnabled(k30mProjectService, criteria, authCriteria); } /** * {@inheritDoc} * * @throws KaidenOptimisticLockException */ @Override public void toEnabledIgnoreAuthCompany(ProjectManagerDto criteria) throws KaidenOptimisticLockException { super.toEnabledIgnoreAuthCompany(k30mProjectService, criteria); } /** * {@inheritDoc} */ @Override public void toDisabled(ProjectManagerDto criteria, AuthorityCriteriaDto authCriteria) throws KaidenHaventAuthorityToCompanyException, KaidenOptimisticLockException { super.toDisabled(k30mProjectService, criteria, authCriteria); } /** * {@inheritDoc} */ @Override public void toDisabledIgnoreAuthCompany(ProjectManagerDto criteria) throws KaidenOptimisticLockException { super.toDisabledIgnoreAuthCompany(k30mProjectService, criteria); } /** * {@inheritDoc} */ @Override public List<ProjectManagerDto> selectLocales(ProjectManagerDto criteria, AuthorityCriteriaDto authCriteria) { return super.selectLocales(k30mProjectService, criteria, authCriteria); } /** * {@inheritDoc} */ @Override public List<ProjectManagerDto> selectLocalesIgnoreAuthCompany(ProjectManagerDto criteria) { return super.selectLocalesIgnoreAuthCompany(k30mProjectService, criteria); } /** * {@inheritDoc} */ @Override public List<ProjectManagerDto> selectTerms(ProjectManagerDto criteria, AuthorityCriteriaDto authCriteria) { return super.selectTerms(k30mProjectService, criteria, authCriteria); } /** * {@inheritDoc} */ @Override public List<ProjectManagerDto> selectTermsIgnoreAuthCompany(ProjectManagerDto criteria) { return super.selectTermsIgnoreAuthCompany(k30mProjectService, criteria); } /** * {@inheritDoc} */ @Override public int entry(List<ProjectManagerDto> dataList, AuthorityCriteriaDto authCriteria) throws KaidenHaventAuthorityToCompanyException, KaidenDuplicationEntryException { return super.entry(k30mProjectService, dataList, authCriteria); } /** * {@inheritDoc} */ @Override public int entryIgnoreAuthCompany(List<ProjectManagerDto> dataList) throws KaidenDuplicationEntryException { return super.entryIgnoreAuthCompany(k30mProjectService, dataList); } /** * {@inheritDoc} */ @Override public int remove(ProjectManagerDto criteria, AuthorityCriteriaDto authCriteria) throws KaidenHaventAuthorityToCompanyException { return super.remove(k30mProjectService, criteria, authCriteria); } /** * {@inheritDoc} */ @Override public int removeIgnoreAuthCompany(ProjectManagerDto criteria) { return super.removeIgnoreAuthCompany(k30mProjectService, criteria); } /** * {@inheritDoc} */ @Override public int renew(List<ProjectManagerDto> dataList, AuthorityCriteriaDto authCriteria) throws KaidenHaventAuthorityToCompanyException, KaidenOptimisticLockException { return super.renew(k30mProjectService, dataList, authCriteria); } /** * {@inheritDoc} */ @Override public int renewIgnoreAuthCompany(List<ProjectManagerDto> dataList) throws KaidenOptimisticLockException { return super.renewIgnoreAuthCompany(k30mProjectService, dataList); } /** * {@inheritDoc} */ @Override public void divideTerm(ProjectManagerDto criteria, Date divideDate, AuthorityCriteriaDto authCriteria) throws KaidenHaventAuthorityToCompanyException, KaidenOptimisticLockException, KaidenValidateException { super.divideTerm(k30mProjectService, criteria, divideDate, authCriteria); } /** * {@inheritDoc} */ @Override public void divideTerm(ProjectManagerDto criteria, Date divideDate, AuthorityCriteriaDto authCriteria, String deleteFlag2nd) throws KaidenHaventAuthorityToCompanyException, KaidenOptimisticLockException, KaidenValidateException { String termCd2nd = super.divideTerm(k30mProjectService, criteria, divideDate, authCriteria); if (StringUtil.isNotEmpty(deleteFlag2nd)) { ProjectManagerDto criteria2nd = Beans.createAndCopy(ProjectManagerDto.class, criteria).execute(); criteria2nd.termCd = termCd2nd; if (GenericFlag.isOn(deleteFlag2nd)) { toDisabled(criteria2nd, authCriteria); } else if (GenericFlag.isOff(deleteFlag2nd)) { toEnabled(criteria2nd, authCriteria); } else { throw KaidenIllegalParametersException.makeInstance(); } } } /** * {@inheritDoc} */ @Override public void divideTermIgnoreAuthCompany(ProjectManagerDto criteria, Date divideDate) throws KaidenOptimisticLockException, KaidenValidateException { super.divideTermIgnoreAuthCompany(k30mProjectService, criteria, divideDate); } /** * {@inheritDoc} */ @Override public void divideTermIgnoreAuthCompany(ProjectManagerDto criteria, Date divideDate, String deleteFlag2nd) throws KaidenOptimisticLockException, KaidenValidateException { String termCd2nd = super.divideTermIgnoreAuthCompany(k30mProjectService, criteria, divideDate); if (StringUtil.isNotEmpty(deleteFlag2nd)) { ProjectManagerDto criteria2nd = Beans.createAndCopy(ProjectManagerDto.class, criteria).execute(); criteria2nd.termCd = termCd2nd; if (GenericFlag.isOn(deleteFlag2nd)) { toDisabledIgnoreAuthCompany(criteria2nd); } else if (GenericFlag.isOff(deleteFlag2nd)) { toEnabledIgnoreAuthCompany(criteria2nd); } else { throw KaidenIllegalParametersException.makeInstance(); } } } /** * {@inheritDoc} */ @Override public void moveTerm(ProjectManagerDto criteria, Date newStartDate, Date newEndDate, AuthorityCriteriaDto authCriteria) throws KaidenHaventAuthorityToCompanyException, KaidenOptimisticLockException, KaidenValidateException { super.moveTerm(k30mProjectService, criteria, newStartDate, newEndDate, authCriteria); } /** * {@inheritDoc} */ @Override public void moveTermIgnoreAuthCompany(ProjectManagerDto criteria, Date newStartDate, Date newEndDate) throws KaidenOptimisticLockException, KaidenValidateException { super.moveTermIgnoreAuthCompany(k30mProjectService, criteria, newStartDate, newEndDate); } /** * {@inheritDoc} */ @Override public Class<? extends KaidenDto> getDtoClass() { return super.dtoClass; } /** * {@inheritDoc} */ @Override protected List<String> getDuplicationCheckField() { return Arrays.asList(new String[] {COMPANY_CD, PROJECT_CD}); } /** * {@inheritDoc} */ @Override public List<ProjectManagerDto> selectListIncluedsSearchDate(ProjectManagerDto criteria, AuthorityCriteriaDto authCriteria, List<OrderDto> order) { return super.selectListIncluedsSearchDate(k30mProjectService, criteria, authCriteria, order); } /** * {@inheritDoc} */ @Override public List<ProjectManagerDto> selectListIncluedsSearchDateIgnoreAuthCompany(ProjectManagerDto criteria, List<OrderDto> order) { return super.selectListIncluedsSearchDateIgnoreAuthCompany(k30mProjectService, criteria, order); } /** * {@inheritDoc} * <p> * {@link #getValidateDefsDtoList4Entry()}で取得した定義を基にバリデートを実行します。 * </p> */ @Override public List<KaidenValidateResult> validate4Entry(List<?> dtoList, Map<String, String> surfaces) { if (dtoList == null) { throw KaidenIllegalParametersException.makeInstance(); } return makeValidateExecuter(dtoList, surfaces, getValidateDefsDtoList4Entry()).executeAll( ErrorMode.ERROR_CONTINUE); } /** * {@inheritDoc} * <p> * {@link #getValidateDefsDtoList4Renew()}で取得した定義を基にバリデートを実行します。 * </p> */ @Override public List<KaidenValidateResult> validate4Renew(List<?> dtoList, Map<String, String> surfaces) { if (dtoList == null) { throw KaidenIllegalParametersException.makeInstance(); } return makeValidateExecuter(dtoList, surfaces, getValidateDefsDtoList4Renew()).executeAll( ErrorMode.ERROR_CONTINUE); } /** * {@inheritDoc} * <p> * 以下のバリデート定義のリストを返却します。 * </p> * <table border="1"> * <tr> * <th>項目名</th> * <th>検証内容</th> * </tr> * <tr> * <td>会社コード</td> * <td>必須、マスタ存在確認</td> * </tr> * <tr> * <td>プロジェクトコード</td> * <td>必須、皆伝コード、100桁</td> * </tr> * <tr> * <td>ロケールID</td> * <td>必須、ロケール妥当性</td> * </tr> * <tr> * <td>開始日</td> * <td>必須、日付(システム期間内)</td> * </tr> * <tr> * <td>終了日</td> * <td>必須、日付(システム期間内)、開始日・終了日大小チェック</td> * </tr> * <tr> * <td>プロジェクト名</td> * <td>必須、250文字</td> * </tr> * <tr> * <td>プロジェクトコード(上位プロジェクト)</td> * <td>半角英数、マスタ存在確認</td> * </tr> * <tr> * <td>会社コード(上位プロジェクト)</td> * <td>半角英数、マスタ存在確認※プロジェクトコード(上位プロジェクト)のマスタ存在確認に利用</td> * </tr> * <tr> * <td>削除フラグ</td> * <td>フラグ妥当性</td> * </tr> * <tr> * <td>プロジェクトコード(上位プロジェクト</td> * <td>自身のプロジェクトと上位プロジェクトの同一チェック</td> * </tr> * </table> */ @Override public List<ValidateDefsDto> getValidateDefsDtoList4Entry() { List<ValidateDefsDto> result = new ArrayList<ValidateDefsDto>(); // 会社コード result.add(new ValidateDefsDto(COMPANY_CD, VALID_REQUIRED)); result.add(new ValidateDefsDto(COMPANY_CD, VALID_COMPANY_EXISTS, COMPANY_CD, "", "true")); // プロジェクトコード result.add(new ValidateDefsDto(PROJECT_CD, VALID_REQUIRED)); result.add(new ValidateDefsDto(PROJECT_CD, VALID_MAX_LENGTH, String.valueOf(PROJECT_CD_LEN))); result.add(new ValidateDefsDto(PROJECT_CD, VALID_KAIDEN_ID)); // ロケールid result.add(new ValidateDefsDto(LOCALE_ID, VALID_REQUIRED)); result.add(new ValidateDefsDto(LOCALE_ID, VALID_LOCALE)); // 開始日 result.add(new ValidateDefsDto(START_DATE, VALID_REQUIRED)); result.add(new ValidateDefsDto(START_DATE, VALID_DATE)); // 終了日 result.add(new ValidateDefsDto(END_DATE, VALID_REQUIRED)); result.add(new ValidateDefsDto(END_DATE, VALID_DATE)); result.add(new ValidateDefsDto(END_DATE, VALID_DATE_MIN, START_DATE)); // プロジェクト名称 result.add(new ValidateDefsDto(PROJECT_NAME, VALID_REQUIRED)); result.add(new ValidateDefsDto(PROJECT_NAME, VALID_MAX_LENGTH, String.valueOf(PROJECT_NAME_LEN))); // プロジェクトコード(上位) result.add(new ValidateDefsDto(PARENT_PROJECT_CD, VALID_PROJECT_EXISTS, PARENT_PROJECT_CD, PARENT_COMPANY_CD, "", "true")); result.add(new ValidateDefsDto(PARENT_PROJECT_CD, new CustomValidateNotEqualParent())); // 削除フラグ result.add(new ValidateDefsDto(DELETE_FLAG, VALID_FLAG)); return result; } /** * {@inheritDoc} * <p> * 以下のバリデート定義のリストを返却します。 * </p> * <table border="1"> * <tr> * <th>項目名</th> * <th>検証内容</th> * </tr> * <tr> * <td>会社コード</td> * <td>必須、マスタ存在確認</td> * </tr> * <tr> * <td>プロジェクトコード</td> * <td>必須、皆伝コード、100桁</td> * </tr> * <tr> * <td>期間コード</td> * <td>必須、皆伝コード、50桁</td> * </tr> * <tr> * <td>ロケールID</td> * <td>必須、ロケール妥当性</td> * </tr> * <tr> * <td>開始日</td> * <td>必須、日付(システム期間内)</td> * </tr> * <tr> * <td>終了日</td> * <td>必須、日付(システム期間内)、開始日・終了日大小チェック</td> * </tr> * <tr> * <td>プロジェクト名</td> * <td>必須、250文字</td> * </tr> * <tr> * <td>プロジェクトコード(上位プロジェクト)</td> * <td>半角英数、マスタ存在確認</td> * </tr> * <tr> * <td>会社コード(上位プロジェクト)</td> * <td>半角英数、マスタ存在確認※プロジェクトコード(上位プロジェクト)のマスタ存在確認に利用</td> * </tr> * <tr> * <td>プロジェクトコード(上位プロジェクト</td> * <td>自身のプロジェクトと上位プロジェクトの同一チェック</td> * </tr> * </table> */ @Override public List<ValidateDefsDto> getValidateDefsDtoList4Renew() { List<ValidateDefsDto> result = new ArrayList<ValidateDefsDto>(); // 会社コード result.add(new ValidateDefsDto(COMPANY_CD, VALID_REQUIRED)); result.add(new ValidateDefsDto(COMPANY_CD, VALID_COMPANY_EXISTS, COMPANY_CD, "", "true")); // プロジェクトコード result.add(new ValidateDefsDto(PROJECT_CD, VALID_REQUIRED)); result.add(new ValidateDefsDto(PROJECT_CD, VALID_MAX_LENGTH, String.valueOf(PROJECT_CD_LEN))); result.add(new ValidateDefsDto(PROJECT_CD, VALID_KAIDEN_ID)); // 期間コード result.add(new ValidateDefsDto(TERM_CD, VALID_REQUIRED)); result.add(new ValidateDefsDto(TERM_CD, VALID_MAX_LENGTH, String.valueOf(TERM_CD_LEN))); result.add(new ValidateDefsDto(TERM_CD, VALID_KAIDEN_ID)); // ロケールid result.add(new ValidateDefsDto(LOCALE_ID, VALID_REQUIRED)); result.add(new ValidateDefsDto(LOCALE_ID, VALID_LOCALE)); // 開始日 result.add(new ValidateDefsDto(START_DATE, VALID_REQUIRED)); result.add(new ValidateDefsDto(START_DATE, VALID_DATE)); // 終了日 result.add(new ValidateDefsDto(END_DATE, VALID_REQUIRED)); result.add(new ValidateDefsDto(END_DATE, VALID_DATE)); result.add(new ValidateDefsDto(END_DATE, VALID_DATE_MIN, START_DATE)); // プロジェクト名称 result.add(new ValidateDefsDto(PROJECT_NAME, VALID_REQUIRED)); result.add(new ValidateDefsDto(PROJECT_NAME, VALID_MAX_LENGTH, String.valueOf(PROJECT_NAME_LEN))); // プロジェクトコード(上位) result.add(new ValidateDefsDto(PARENT_PROJECT_CD, VALID_PROJECT_EXISTS, PARENT_PROJECT_CD, PARENT_COMPANY_CD, "", "true")); result.add(new ValidateDefsDto(PARENT_PROJECT_CD, new CustomValidateNotEqualParent())); return result; } /** {@inheritDoc} */ @Override public Class<ProjectManagerDto> getMainManagerDtoClass() { return ProjectManagerDto.class; } /** {@inheritDoc} */ @Override public List<ProjectManagerDto> selectListIgnoreAuthCompanyWithLock(ProjectManagerDto criteria, List<OrderDto> order) { Map<String, Object> criteriaMap = k30mProjectService.getCriteria(criteria); return complementEndDateForDisp(CollectionUtil.createListAndCopy(ProjectManagerDto.class, k30mProjectService.genericSelectList4Update(criteriaMap, order))); } /** {@inheritDoc} */ @Override public List<String> getPkFileds() { return k30mProjectService.getPkFiled(); } /** * {@inheritDoc} */ @Override public void executeIterateLogic(ProjectManagerDto criteria, List<OrderDto> order, IterateBusinessLogicIF<ProjectManagerDto> logic) throws KaidenSystemException, KaidenApplicationException { super.iterateLogic(k30mProjectService, criteria, order, logic); } }
5.2.1.2.6. ManagerDto¶
Pathsrc/main/java/jp/co/slcs/kaiden2/product_workflow/foundation/manager/project/ProjectCriteriaDto.javapackage jp.co.slcs.kaiden2.product_workflow.foundation.manager.project; import java.sql.Timestamp; import jp.co.slcs.kaiden2.base.foundation.master.TermMasterMaintenanceCriteriaDto; /** * プロジェクトマスタ 検索条件DTO. * * @author Sumitomo Life Information Systems Co.,Ltd. */ public class ProjectCriteriaDto extends TermMasterMaintenanceCriteriaDto { /** 会社コード. */ // public String companyCd; //親クラスで定義済み /** プロジェクトコード. */ public String projectCd; /** 期間コード. */ public String termCd; /** ロケールID. */ // public String localeId;//親クラスで定義済み /** 開始日. */ public Timestamp startDate; /** 終了日. */ public Timestamp endDate; /** プロジェクト名称. */ public String projectName; /** 削除フラグ. */ // public String deleteFlag; //親クラスで定義済み /** プロジェクトコード(上位). */ public String parentProjectCd; /** 予備項目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 String companyName; /** プロジェクト名称(上位). */ public String parentProjectName; }
Pathsrc/main/java/jp/co/slcs/kaiden2/product_workflow/foundation/manager/project/ProjectManagerDto.javapackage jp.co.slcs.kaiden2.product_workflow.foundation.manager.project; import java.sql.Timestamp; import jp.co.slcs.kaiden2.base.foundation.model.dto.KaidenMasterManagerDto; /** * プロジェクトDTO. * * @author Sumitomo Life Information Systems Co.,Ltd. */ public class ProjectManagerDto extends KaidenMasterManagerDto { /** 会社コード. */ public String companyCd; /** プロジェクトコード. */ public String projectCd; /** 期間コード. */ public String termCd; /** ロケールID. */ public String localeId; /** 開始日. */ public Timestamp startDate; /** 終了日. */ public Timestamp endDate; /** プロジェクト名称. */ public String projectName; /** 削除フラグ. */ public String deleteFlag; /** 会社コード(上位). */ public String parentCompanyCd; /** プロジェクトコード(上位). */ public String parentProjectCd; /** 予備項目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 companyName; /** プロジェクト名称(上位). */ public String parentProjectName; }
Pathsrc/main/java/jp/co/slcs/kaiden2/product_workflow/foundation/manager/project/ProjectManagerDtoFieldName.javapackage jp.co.slcs.kaiden2.product_workflow.foundation.manager.project; import jp.co.slcs.kaiden2.base.foundation.model.conf.EntityCommonFieldNames; import jp.co.slcs.kaiden2.base.foundation.model.conf.EntityExtensionFieldNames; /** * プロジェクトマスタDTO フィールド名定義クラス. * * @author Sumitomo Life Information Systems Co.,Ltd. */ public final class ProjectManagerDtoFieldName implements EntityExtensionFieldNames { /** * コンストラクタ. */ private ProjectManagerDtoFieldName() { } /** 会社コード. */ public static final String COMPANY_CD = EntityCommonFieldNames.COMPANY_CD; /** プロジェクトコード. */ public static final String PROJECT_CD = "projectCd"; /** 期間コード. */ public static final String TERM_CD = EntityCommonFieldNames.TERM_CD; /** ロケールid. */ public static final String LOCALE_ID = EntityCommonFieldNames.LOCALE_ID; /** プロジェクト名称. */ public static final String PROJECT_NAME = "projectName"; /** 開始日. */ public static final String START_DATE = EntityCommonFieldNames.START_DATE; /** 終了日. */ public static final String END_DATE = EntityCommonFieldNames.END_DATE; /** 削除フラグ. */ public static final String DELETE_FLAG = EntityCommonFieldNames.DELETE_FLAG; /** 会社コード(上位). */ public static final String PARENT_COMPANY_CD = "parentCompanyCd"; /** プロジェクトコード(上位). */ public static final String PARENT_PROJECT_CD = "parentProjectCd"; /** 会社名称(他マスタ名称). */ public static final String COMPANY_NAME = "companyName"; /** プロジェクト名称(上位). */ public static final String PARENT_PROJECT_NAME = "parentProjectName"; }
5.2.1.2.7. Taglib¶
Pathsrc/main/java/jp/co/slcs/kaiden2/product_workflow/foundation/taglib/MstSearchProject.javapackage jp.co.slcs.kaiden2.product_workflow.foundation.taglib; import jp.co.slcs.kaiden2.base.foundation.taglib.AbstractMstSearch; import jp.co.slcs.kaiden2.product_workflow.foundation.manager.project.ProjectManagerDtoFieldName; /** * プロジェクトマスタ検索. * * @author Sumitomo Life Information Systems Co.,Ltd. */ public class MstSearchProject extends AbstractMstSearch { /** シリアルバージョンUID. */ private static final long serialVersionUID = 1L; /** * {@inheritDoc} */ @Override protected String getSearchUrl() { return "projectSearch"; } /** * 検索条件:プロジェクトコードを設定. * * @param searchCriteriaProjectCd 検索条件:プロジェクトコード */ public void setSearchCriteriaProjectCd(String searchCriteriaProjectCd) { super.addSearchReCriteria(ProjectManagerDtoFieldName.PROJECT_CD, searchCriteriaProjectCd); } }
5.2.1.3. Java(S2JDBC)¶
5.2.1.3.1. Entity¶
Pathsrc/main/generated/jp/co/slcs/kaiden2/product_workflow/foundation/model/entity/K30mProject.javapackage jp.co.slcs.kaiden2.product_workflow.foundation.model.entity; import java.io.Serializable; import java.sql.Timestamp; import javax.annotation.Generated; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; import jp.co.slcs.kaiden2.base.foundation.model.entity.GenerateEntity; /** * プロジェクト. * * @author Sumitomo Life Information Systems Co.,Ltd. */ @Entity @Table(name = "k30m_project") @Generated(value = {"S2JDBC-Gen 2.4.46", "org.seasar.extension.jdbc.gen.internal.model.EntityModelFactoryImpl" }) public final class K30mProject extends GenerateEntity implements Serializable { /** シリアルバージョンUID. */ private static final long serialVersionUID = 1L; /** 会社コード. */ @Id @Column(name = "company_cd", columnDefinition = "varchar2(100)", nullable = false, unique = false) public String companyCd; /** プロジェクトコード. */ @Id @Column(name = "project_cd", columnDefinition = "varchar2(100)", nullable = false, unique = false) public String projectCd; /** 期間コード. */ @Id @Column(name = "term_cd", columnDefinition = "varchar2(50)", nullable = false, unique = false) public String termCd; /** ロケールid. */ @Id @Column(name = "locale_id", columnDefinition = "varchar2(50)", nullable = false, unique = false) public String localeId; /** 開始日. */ @Column(name = "start_date", columnDefinition = "timestamp(6)", nullable = false, unique = false) public Timestamp startDate; /** 終了日. */ @Column(name = "end_date", columnDefinition = "timestamp(6)", nullable = false, unique = false) public Timestamp endDate; /** プロジェクト名. */ @Column(name = "project_name", columnDefinition = "varchar2(1000)", nullable = false, unique = false) public String projectName; /** 削除フラグ. */ @Column(name = "delete_flag", columnDefinition = "varchar2(1)", nullable = false, unique = false) public String deleteFlag; /** 会社コード(上位プロジェクト). */ @Column(name = "parent_company_cd", columnDefinition = "varchar2(100)", nullable = true, unique = false) public String parentCompanyCd; /** プロジェクトコード(上位プロジェクト). */ @Column(name = "parent_project_cd", columnDefinition = "varchar2(100)", nullable = true, unique = false) public String parentProjectCd; /** 予備項目a. */ @Column(name = "extension_a", columnDefinition = "varchar2(1000)", nullable = true, unique = false) public String extensionA; /** 予備項目b. */ @Column(name = "extension_b", columnDefinition = "varchar2(1000)", nullable = true, unique = false) public String extensionB; /** 予備項目c. */ @Column(name = "extension_c", columnDefinition = "varchar2(1000)", nullable = true, unique = false) public String extensionC; /** 予備項目d. */ @Column(name = "extension_d", columnDefinition = "varchar2(1000)", nullable = true, unique = false) public String extensionD; /** 予備項目e. */ @Column(name = "extension_e", columnDefinition = "varchar2(1000)", nullable = true, unique = false) public String extensionE; /** 予備項目f. */ @Column(name = "extension_f", columnDefinition = "varchar2(1000)", nullable = true, unique = false) public String extensionF; /** 予備項目g. */ @Column(name = "extension_g", columnDefinition = "varchar2(1000)", nullable = true, unique = false) public String extensionG; /** 予備項目h. */ @Column(name = "extension_h", columnDefinition = "varchar2(1000)", nullable = true, unique = false) public String extensionH; /** 予備項目i. */ @Column(name = "extension_i", columnDefinition = "varchar2(1000)", nullable = true, unique = false) public String extensionI; /** 予備項目j. */ @Column(name = "extension_j", columnDefinition = "varchar2(1000)", nullable = true, unique = false) public String extensionJ; }
5.2.1.3.2. Names¶
Pathsrc/main/generated/jp/co/slcs/kaiden2/product_workflow/foundation/model/entity/K30mProjectNames.javapackage jp.co.slcs.kaiden2.product_workflow.foundation.model.entity; import java.sql.Timestamp; import javax.annotation.Generated; import org.seasar.extension.jdbc.name.PropertyName; /** * {@link K30mProject}の名称クラス. * * @author Sumitomo Life Information Systems Co.,Ltd. */ @Generated(value = {"S2JDBC-Gen 2.4.46", "org.seasar.extension.jdbc.gen.internal.model.NamesModelFactoryImpl" }) public final class K30mProjectNames { /** * デフォルトコンストラクタ. */ private K30mProjectNames() { super(); } /** * companyCdのプロパティ名を返却. * * @return companyCdのプロパティ名 */ public static PropertyName<String> companyCd() { return new PropertyName<String>("companyCd"); } /** * projectCdのプロパティ名を返却. * * @return projectCdのプロパティ名 */ public static PropertyName<String> projectCd() { return new PropertyName<String>("projectCd"); } /** * termCdのプロパティ名を返却. * * @return termCdのプロパティ名 */ public static PropertyName<String> termCd() { return new PropertyName<String>("termCd"); } /** * localeIdのプロパティ名を返却. * * @return localeIdのプロパティ名 */ public static PropertyName<String> localeId() { return new PropertyName<String>("localeId"); } /** * startDateのプロパティ名を返却. * * @return startDateのプロパティ名 */ public static PropertyName<Timestamp> startDate() { return new PropertyName<Timestamp>("startDate"); } /** * endDateのプロパティ名を返却. * * @return endDateのプロパティ名 */ public static PropertyName<Timestamp> endDate() { return new PropertyName<Timestamp>("endDate"); } /** * projectNameのプロパティ名を返却. * * @return projectNameのプロパティ名 */ public static PropertyName<String> projectName() { return new PropertyName<String>("projectName"); } /** * deleteFlagのプロパティ名を返却. * * @return deleteFlagのプロパティ名 */ public static PropertyName<String> deleteFlag() { return new PropertyName<String>("deleteFlag"); } /** * parentCompanyCdのプロパティ名を返却. * * @return parentCompanyCdのプロパティ名 */ public static PropertyName<String> parentCompanyCd() { return new PropertyName<String>("parentCompanyCd"); } /** * parentProjectCdのプロパティ名を返却. * * @return parentProjectCdのプロパティ名 */ public static PropertyName<String> parentProjectCd() { return new PropertyName<String>("parentProjectCd"); } /** * extensionAのプロパティ名を返却. * * @return extensionAのプロパティ名 */ public static PropertyName<String> extensionA() { return new PropertyName<String>("extensionA"); } /** * extensionBのプロパティ名を返却. * * @return extensionBのプロパティ名 */ public static PropertyName<String> extensionB() { return new PropertyName<String>("extensionB"); } /** * extensionCのプロパティ名を返却. * * @return extensionCのプロパティ名 */ public static PropertyName<String> extensionC() { return new PropertyName<String>("extensionC"); } /** * extensionDのプロパティ名を返却. * * @return extensionDのプロパティ名 */ public static PropertyName<String> extensionD() { return new PropertyName<String>("extensionD"); } /** * extensionEのプロパティ名を返却. * * @return extensionEのプロパティ名 */ public static PropertyName<String> extensionE() { return new PropertyName<String>("extensionE"); } /** * extensionFのプロパティ名を返却. * * @return extensionFのプロパティ名 */ public static PropertyName<String> extensionF() { return new PropertyName<String>("extensionF"); } /** * extensionGのプロパティ名を返却. * * @return extensionGのプロパティ名 */ public static PropertyName<String> extensionG() { return new PropertyName<String>("extensionG"); } /** * extensionHのプロパティ名を返却. * * @return extensionHのプロパティ名 */ public static PropertyName<String> extensionH() { return new PropertyName<String>("extensionH"); } /** * extensionIのプロパティ名を返却. * * @return extensionIのプロパティ名 */ public static PropertyName<String> extensionI() { return new PropertyName<String>("extensionI"); } /** * extensionJのプロパティ名を返却. * * @return extensionJのプロパティ名 */ public static PropertyName<String> extensionJ() { return new PropertyName<String>("extensionJ"); } /** * entryTsのプロパティ名を返却. * * @return entryTsのプロパティ名 */ public static PropertyName<Timestamp> entryTs() { return new PropertyName<Timestamp>("entryTs"); } /** * entryUserCdのプロパティ名を返却. * * @return entryUserCdのプロパティ名 */ public static PropertyName<String> entryUserCd() { return new PropertyName<String>("entryUserCd"); } /** * renewCntのプロパティ名を返却. * * @return renewCntのプロパティ名 */ public static PropertyName<Long> renewCnt() { return new PropertyName<Long>("renewCnt"); } /** * renewTsのプロパティ名を返却. * * @return renewTsのプロパティ名 */ public static PropertyName<Timestamp> renewTs() { return new PropertyName<Timestamp>("renewTs"); } /** * renewUserCdのプロパティ名を返却. * * @return renewUserCdのプロパティ名 */ public static PropertyName<String> renewUserCd() { return new PropertyName<String>("renewUserCd"); } /** * @author S2JDBC-Gen */ public static class _K30mProjectNames extends PropertyName<K30mProject> { /** * インスタンスを構築. */ public _K30mProjectNames() { } /** * インスタンスを構築. * * @param name 名前 */ public _K30mProjectNames(final String name) { super(name); } /** * インスタンスを構築. * * @param parent 親 * @param name 名前 */ public _K30mProjectNames(final PropertyName<?> parent, final String name) { super(parent, name); } /** * companyCdのプロパティ名を返却. * * @return companyCdのプロパティ名 */ public PropertyName<String> companyCd() { return new PropertyName<String>(this, "companyCd"); } /** * projectCdのプロパティ名を返却. * * @return projectCdのプロパティ名 */ public PropertyName<String> projectCd() { return new PropertyName<String>(this, "projectCd"); } /** * termCdのプロパティ名を返却. * * @return termCdのプロパティ名 */ public PropertyName<String> termCd() { return new PropertyName<String>(this, "termCd"); } /** * localeIdのプロパティ名を返却. * * @return localeIdのプロパティ名 */ public PropertyName<String> localeId() { return new PropertyName<String>(this, "localeId"); } /** * startDateのプロパティ名を返却. * * @return startDateのプロパティ名 */ public PropertyName<Timestamp> startDate() { return new PropertyName<Timestamp>(this, "startDate"); } /** * endDateのプロパティ名を返却. * * @return endDateのプロパティ名 */ public PropertyName<Timestamp> endDate() { return new PropertyName<Timestamp>(this, "endDate"); } /** * projectNameのプロパティ名を返却. * * @return projectNameのプロパティ名 */ public PropertyName<String> projectName() { return new PropertyName<String>(this, "projectName"); } /** * deleteFlagのプロパティ名を返却. * * @return deleteFlagのプロパティ名 */ public PropertyName<String> deleteFlag() { return new PropertyName<String>(this, "deleteFlag"); } /** * parentCompanyCdのプロパティ名を返却. * * @return parentCompanyCdのプロパティ名 */ public PropertyName<String> parentCompanyCd() { return new PropertyName<String>(this, "parentCompanyCd"); } /** * parentProjectCdのプロパティ名を返却. * * @return parentProjectCdのプロパティ名 */ public PropertyName<String> parentProjectCd() { return new PropertyName<String>(this, "parentProjectCd"); } /** * extensionAのプロパティ名を返却. * * @return extensionAのプロパティ名 */ public PropertyName<String> extensionA() { return new PropertyName<String>(this, "extensionA"); } /** * extensionBのプロパティ名を返却. * * @return extensionBのプロパティ名 */ public PropertyName<String> extensionB() { return new PropertyName<String>(this, "extensionB"); } /** * extensionCのプロパティ名を返却. * * @return extensionCのプロパティ名 */ public PropertyName<String> extensionC() { return new PropertyName<String>(this, "extensionC"); } /** * extensionDのプロパティ名を返却. * * @return extensionDのプロパティ名 */ public PropertyName<String> extensionD() { return new PropertyName<String>(this, "extensionD"); } /** * extensionEのプロパティ名を返却. * * @return extensionEのプロパティ名 */ public PropertyName<String> extensionE() { return new PropertyName<String>(this, "extensionE"); } /** * extensionFのプロパティ名を返却. * * @return extensionFのプロパティ名 */ public PropertyName<String> extensionF() { return new PropertyName<String>(this, "extensionF"); } /** * extensionGのプロパティ名を返却. * * @return extensionGのプロパティ名 */ public PropertyName<String> extensionG() { return new PropertyName<String>(this, "extensionG"); } /** * extensionHのプロパティ名を返却. * * @return extensionHのプロパティ名 */ public PropertyName<String> extensionH() { return new PropertyName<String>(this, "extensionH"); } /** * extensionIのプロパティ名を返却. * * @return extensionIのプロパティ名 */ public PropertyName<String> extensionI() { return new PropertyName<String>(this, "extensionI"); } /** * extensionJのプロパティ名を返却. * * @return extensionJのプロパティ名 */ public PropertyName<String> extensionJ() { return new PropertyName<String>(this, "extensionJ"); } /** * entryTsのプロパティ名を返却. * * @return entryTsのプロパティ名 */ public PropertyName<Timestamp> entryTs() { return new PropertyName<Timestamp>(this, "entryTs"); } /** * entryUserCdのプロパティ名を返却. * * @return entryUserCdのプロパティ名 */ public PropertyName<String> entryUserCd() { return new PropertyName<String>(this, "entryUserCd"); } /** * renewCntのプロパティ名を返却. * * @return renewCntのプロパティ名 */ public PropertyName<Long> renewCnt() { return new PropertyName<Long>(this, "renewCnt"); } /** * renewTsのプロパティ名を返却. * * @return renewTsのプロパティ名 */ public PropertyName<Timestamp> renewTs() { return new PropertyName<Timestamp>(this, "renewTs"); } /** * renewUserCdのプロパティ名を返却. * * @return renewUserCdのプロパティ名 */ public PropertyName<String> renewUserCd() { return new PropertyName<String>(this, "renewUserCd"); } } }
5.2.1.3.3. Service¶
Pathsrc/main/generated/jp/co/slcs/kaiden2/product_workflow/foundation/model/service/K30mProjectService.javapackage jp.co.slcs.kaiden2.product_workflow.foundation.model.service; import javax.annotation.Generated; import jp.co.slcs.kaiden2.base.foundation.model.service.GenerateService; import jp.co.slcs.kaiden2.product_workflow.foundation.model.entity.K30mProject; /** * {@link K30mProject}のサービスクラス. * * @author Sumitomo Life Information Systems Co.,Ltd. */ @Generated(value = {"S2JDBC-Gen 2.4.46", "org.seasar.extension.jdbc.gen.internal.model.ServiceModelFactoryImpl" }) public final class K30mProjectService extends GenerateService<K30mProject> { // }
5.2.1.3.4. Condition¶
Pathsrc/main/generated/jp/co/slcs/kaiden2/product_workflow/foundation/model/service/K30mProjectCondition.javapackage jp.co.slcs.kaiden2.product_workflow.foundation.model.service; import java.sql.Timestamp; import javax.annotation.Generated; import org.seasar.extension.jdbc.where.ComplexWhere; import org.seasar.extension.jdbc.where.condition.AbstractEntityCondition; import org.seasar.extension.jdbc.where.condition.NotNullableCondition; import org.seasar.extension.jdbc.where.condition.NotNullableStringCondition; import org.seasar.extension.jdbc.where.condition.NullableStringCondition; /** * {@link K30mProject}の条件クラス. * * @author Sumitomo Life Information Systems Co.,Ltd. */ @Generated(value = {"S2JDBC-Gen 2.4.46", "org.seasar.extension.jdbc.gen.internal.model.ConditionModelFactoryImpl" }) public final class K30mProjectCondition extends AbstractEntityCondition<K30mProjectCondition> { /** * インスタンスを構築. */ public K30mProjectCondition() { } /** * インスタンスを構築. * * @param prefix プレフィックス * @param where 検索条件 */ public K30mProjectCondition(String prefix, ComplexWhere where) { super(prefix, where); } /** companyCdの条件. */ public NotNullableStringCondition<K30mProjectCondition> companyCd = new NotNullableStringCondition<K30mProjectCondition>("companyCd", this); /** projectCdの条件. */ public NotNullableStringCondition<K30mProjectCondition> projectCd = new NotNullableStringCondition<K30mProjectCondition>("projectCd", this); /** termCdの条件. */ public NotNullableStringCondition<K30mProjectCondition> termCd = new NotNullableStringCondition<K30mProjectCondition>("termCd", this); /** localeIdの条件. */ public NotNullableStringCondition<K30mProjectCondition> localeId = new NotNullableStringCondition<K30mProjectCondition>("localeId", this); /** startDateの条件. */ public NotNullableCondition<K30mProjectCondition, Timestamp> startDate = new NotNullableCondition<K30mProjectCondition, Timestamp>("startDate", this); /** endDateの条件. */ public NotNullableCondition<K30mProjectCondition, Timestamp> endDate = new NotNullableCondition<K30mProjectCondition, Timestamp>("endDate", this); /** projectNameの条件. */ public NotNullableStringCondition<K30mProjectCondition> projectName = new NotNullableStringCondition<K30mProjectCondition>("projectName", this); /** deleteFlagの条件. */ public NotNullableStringCondition<K30mProjectCondition> deleteFlag = new NotNullableStringCondition<K30mProjectCondition>("deleteFlag", this); /** parentCompanyCdの条件. */ public NullableStringCondition<K30mProjectCondition> parentCompanyCd = new NullableStringCondition<K30mProjectCondition>("parentCompanyCd", this); /** parentProjectCdの条件. */ public NullableStringCondition<K30mProjectCondition> parentProjectCd = new NullableStringCondition<K30mProjectCondition>("parentProjectCd", this); /** extensionAの条件. */ public NullableStringCondition<K30mProjectCondition> extensionA = new NullableStringCondition<K30mProjectCondition>("extensionA", this); /** extensionBの条件. */ public NullableStringCondition<K30mProjectCondition> extensionB = new NullableStringCondition<K30mProjectCondition>("extensionB", this); /** extensionCの条件. */ public NullableStringCondition<K30mProjectCondition> extensionC = new NullableStringCondition<K30mProjectCondition>("extensionC", this); /** extensionDの条件. */ public NullableStringCondition<K30mProjectCondition> extensionD = new NullableStringCondition<K30mProjectCondition>("extensionD", this); /** extensionEの条件. */ public NullableStringCondition<K30mProjectCondition> extensionE = new NullableStringCondition<K30mProjectCondition>("extensionE", this); /** extensionFの条件. */ public NullableStringCondition<K30mProjectCondition> extensionF = new NullableStringCondition<K30mProjectCondition>("extensionF", this); /** extensionGの条件. */ public NullableStringCondition<K30mProjectCondition> extensionG = new NullableStringCondition<K30mProjectCondition>("extensionG", this); /** extensionHの条件. */ public NullableStringCondition<K30mProjectCondition> extensionH = new NullableStringCondition<K30mProjectCondition>("extensionH", this); /** extensionIの条件. */ public NullableStringCondition<K30mProjectCondition> extensionI = new NullableStringCondition<K30mProjectCondition>("extensionI", this); /** extensionJの条件. */ public NullableStringCondition<K30mProjectCondition> extensionJ = new NullableStringCondition<K30mProjectCondition>("extensionJ", this); /** entryTsの条件. */ public NotNullableCondition<K30mProjectCondition, Timestamp> entryTs = new NotNullableCondition<K30mProjectCondition, Timestamp>("entryTs", this); /** entryUserCdの条件. */ public NotNullableStringCondition<K30mProjectCondition> entryUserCd = new NotNullableStringCondition<K30mProjectCondition>("entryUserCd", this); /** renewCntの条件. */ public NotNullableCondition<K30mProjectCondition, Long> renewCnt = new NotNullableCondition<K30mProjectCondition, Long>("renewCnt", this); /** renewTsの条件. */ public NotNullableCondition<K30mProjectCondition, Timestamp> renewTs = new NotNullableCondition<K30mProjectCondition, Timestamp>("renewTs", this); /** renewUserCdの条件. */ public NotNullableStringCondition<K30mProjectCondition> renewUserCd = new NotNullableStringCondition<K30mProjectCondition>("renewUserCd", this); }
5.2.1.4. SQL¶
5.2.1.4.1. 検索¶
Pathsrc/main/resources/META-INF/sql/jp/co/slcs/kaiden2/product_workflow/foundation/model/service/K30mProjectService/selectView.sqlselect prj.company_cd , prj.project_cd , prj.term_cd , prj.locale_id , prj.start_date , prj.end_date , prj.project_name , prj.delete_flag , prj.parent_company_cd , prj.parent_project_cd , prj.extension_a , prj.extension_b , prj.extension_c , prj.extension_d , prj.extension_e , prj.extension_f , prj.extension_g , prj.extension_h , prj.extension_i , prj.extension_j , prj.entry_ts , prj.entry_user_cd , prj.renew_cnt , prj.renew_ts , prj.renew_user_cd , dept.department_name as company_name , parent.project_name as parent_project_name from k30m_project prj left join ( select imm_department.company_cd , imm_department.department_set_cd , imm_department.department_cd , imm_department.locale_id , imm_department.start_date , imm_department.end_date , imm_department.department_name from imm_department) dept on prj.company_cd = dept.company_cd and prj.company_cd = dept.department_set_cd and prj.company_cd = dept.department_cd and prj.locale_id = dept.locale_id /*IF searchCriteriaDate != null*/ and dept.start_date <= /*searchCriteriaDate*/'2000/01/01' and dept.end_date > /*searchCriteriaDate*/'2000/01/01' --ELSE and dept.start_date <= prj.start_date --ELSE and dept.end_date > prj.start_date /*END*/ left join k30m_project parent on prj.parent_company_cd = parent.company_cd and prj.parent_project_cd = parent.project_cd and prj.locale_id = parent.locale_id /*IF searchCriteriaDate != null*/ and parent.start_date <= /*searchCriteriaDate*/'2000/01/01' and parent.end_date > /*searchCriteriaDate*/'2000/01/01' --ELSE and parent.start_date <= prj.start_date --ELSE and parent.end_date > prj.start_date /*END*/ /*BEGIN*/ where /*IF companyCd != null*/ prj.company_cd in/*companyCd*/('comp') /*END*/ /*IF projectCd != null*/ and prj.project_cd = /*projectCd*/'projectCd' /*END*/ /*IF termCd != null*/ and prj.term_cd = /*termCd*/'termCd' /*END*/ /*IF localeId != null*/ and prj.locale_id = /*localeId*/'localeId' /*END*/ /*IF searchCriteriaDate != null*/ and prj.start_date <= /*searchCriteriaDate*/'1900/01/01' and prj.end_date > /*searchCriteriaDate*/'2999/12/31' /*END*/ /*IF projectName != null*/ and prj.project_name like /*projectName*/'%' ESCAPE '$' /*END*/ /*IF deleteFlag != null*/ and prj.delete_flag = /*deleteFlag*/'0' /*END*/ /*IF parentCompanyCd != null*/ and prj.parent_company_cd = /*parentCompanyCd*/'parentCompanyCd' /*END*/ /*IF parentProjectCd != null*/ and prj.parent_project_cd = /*parentProjectCd*/'parentProjectCd' /*END*/ /*IF extensionA != null*/ and prj.extension_a like /*extensionA*/'extensionA' ESCAPE '$' /*END*/ /*IF extensionB != null*/ and prj.extension_b like /*extensionB*/'extensionB' ESCAPE '$' /*END*/ /*IF extensionC != null*/ and prj.extension_c like /*extensionC*/'extensionC' ESCAPE '$' /*END*/ /*IF extensionD != null*/ and prj.extension_d like /*extensionD*/'extensionD' ESCAPE '$' /*END*/ /*IF extensionE != null*/ and prj.extension_e like /*extensionE*/'extensionE' ESCAPE '$' /*END*/ /*IF extensionF != null*/ and prj.extension_f like /*extensionF*/'extensionF' ESCAPE '$' /*END*/ /*IF extensionG != null*/ and prj.extension_g like /*extensionG*/'extensionG' ESCAPE '$' /*END*/ /*IF extensionH != null*/ and prj.extension_h like /*extensionH*/'extensionH' ESCAPE '$' /*END*/ /*IF extensionI != null*/ and prj.extension_i like /*extensionI*/'extensionI' ESCAPE '$' /*END*/ /*IF extensionJ != null*/ and prj.extension_j like /*extensionJ*/'extensionJ' ESCAPE '$' /*END*/ /*IF companyName != null*/ and dept.department_name like /*companyName*/'companyName' ESCAPE '$' /*END*/ /*IF parentProjectName != null*/ and parent.project_name like /*parentProjectName*/'parentProjectName' ESCAPE '$' /*END*/ /*END*/ /*IF orderBy != null*/ ORDER BY /*$orderBy*/company_cd /*END*/
5.2.1.5. Taglib¶
Pathsrc/main/resources/META-INF/tld/kaidenMstSearchWorkflow/KaidenMstSearchWorkflow.tld<?xml version="1.0" encoding="UTF-8" ?> <taglib xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xml="http://www.w3.org/XML/1998/namespace" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd" version="2.1"> <display-name>KAIDEN product_workflow Components Master Search Tag library</display-name> <tlib-version>1.0</tlib-version> <short-name>master search product_workflow</short-name> <uri>http://kaiden.slcs.co.jp/taglib/master_search/workflow</uri> <tag> <name>project</name> <tag-class>jp.co.slcs.kaiden2.product_workflow.foundation.taglib.MstSearchProject</tag-class> <body-content>empty</body-content> <attribute> <name>searchCriteriaDate</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>searchCriteriaCompany</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>searchCriteriaProjectCd</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>resultChain</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>resultValue</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>primaryTarget</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>includeDisabled</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> <!-- 以下 kaidenui text と同様 --> <attribute> <name>name</name> <required>true</required> <rtexprvalue>true</rtexprvalue> <type>String</type> </attribute> <attribute> <name>surfaceKey</name> <required>false</required> <rtexprvalue>true</rtexprvalue> <type>String</type> </attribute> <attribute> <name>mode</name> <required>true</required> <rtexprvalue>true</rtexprvalue> <type>String</type> </attribute> <attribute> <name>value</name> <required>false</required> <rtexprvalue>true</rtexprvalue> <type>String</type> </attribute> <attribute> <name>formated</name> <required>false</required> <rtexprvalue>true</rtexprvalue> <type>String</type> </attribute> <attribute> <name>imeMode</name> <required>false</required> <rtexprvalue>true</rtexprvalue> <type>String</type> </attribute> <dynamic-attributes>true</dynamic-attributes> </tag> <tag> <name>expType</name> <tag-class>jp.co.slcs.kaiden2.product_workflow.foundation.taglib.MstSearchExpType</tag-class> <body-content>empty</body-content> <attribute> <name>searchCriteriaDate</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>searchCriteriaCompany</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>searchCriteriaExpTypeCd</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>resultChain</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>resultValue</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>primaryTarget</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>includeDisabled</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> <!-- 以下 kaidenui text と同様 --> <attribute> <name>name</name> <required>true</required> <rtexprvalue>true</rtexprvalue> <type>String</type> </attribute> <attribute> <name>surfaceKey</name> <required>false</required> <rtexprvalue>true</rtexprvalue> <type>String</type> </attribute> <attribute> <name>mode</name> <required>true</required> <rtexprvalue>true</rtexprvalue> <type>String</type> </attribute> <attribute> <name>value</name> <required>false</required> <rtexprvalue>true</rtexprvalue> <type>String</type> </attribute> <attribute> <name>formated</name> <required>false</required> <rtexprvalue>true</rtexprvalue> <type>String</type> </attribute> <attribute> <name>imeMode</name> <required>false</required> <rtexprvalue>true</rtexprvalue> <type>String</type> </attribute> <dynamic-attributes>true</dynamic-attributes> </tag> <tag> <name>allowance</name> <tag-class>jp.co.slcs.kaiden2.product_workflow.foundation.taglib.MstSearchAllowance</tag-class> <body-content>empty</body-content> <attribute> <name>searchCriteriaDate</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>searchCriteriaCompany</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>searchCriteriaAllowanceCd</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>allowanceCriteriaUserCd</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>currencyCd</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>resultChain</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>resultValue</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>primaryTarget</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>includeDisabled</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> <!-- 以下 kaidenui text と同様 --> <attribute> <name>name</name> <required>true</required> <rtexprvalue>true</rtexprvalue> <type>String</type> </attribute> <attribute> <name>surfaceKey</name> <required>false</required> <rtexprvalue>true</rtexprvalue> <type>String</type> </attribute> <attribute> <name>mode</name> <required>true</required> <rtexprvalue>true</rtexprvalue> <type>String</type> </attribute> <attribute> <name>value</name> <required>false</required> <rtexprvalue>true</rtexprvalue> <type>String</type> </attribute> <attribute> <name>formated</name> <required>false</required> <rtexprvalue>true</rtexprvalue> <type>String</type> </attribute> <attribute> <name>imeMode</name> <required>false</required> <rtexprvalue>true</rtexprvalue> <type>String</type> </attribute> <dynamic-attributes>true</dynamic-attributes> </tag> <tag> <name>account</name> <tag-class>jp.co.slcs.kaiden2.product_workflow.foundation.taglib.MstSearchAccount</tag-class> <body-content>empty</body-content> <attribute> <name>searchCriteriaDate</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>searchCriteriaCompany</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>searchCriteriaAccountCd</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>resultChain</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>resultValue</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>primaryTarget</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>includeDisabled</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> <!-- 以下 kaidenui text と同様 --> <attribute> <name>name</name> <required>true</required> <rtexprvalue>true</rtexprvalue> <type>String</type> </attribute> <attribute> <name>surfaceKey</name> <required>false</required> <rtexprvalue>true</rtexprvalue> <type>String</type> </attribute> <attribute> <name>mode</name> <required>true</required> <rtexprvalue>true</rtexprvalue> <type>String</type> </attribute> <attribute> <name>value</name> <required>false</required> <rtexprvalue>true</rtexprvalue> <type>String</type> </attribute> <attribute> <name>formated</name> <required>false</required> <rtexprvalue>true</rtexprvalue> <type>String</type> </attribute> <attribute> <name>imeMode</name> <required>false</required> <rtexprvalue>true</rtexprvalue> <type>String</type> </attribute> <dynamic-attributes>true</dynamic-attributes> </tag> <tag> <name>vendor</name> <tag-class>jp.co.slcs.kaiden2.product_workflow.foundation.taglib.MstSearchVendor</tag-class> <body-content>empty</body-content> <attribute> <name>searchCriteriaDate</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>searchCriteriaCompany</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>searchCriteriaCustomerCd</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>resultChain</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>resultValue</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>primaryTarget</name> <required>true</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>includeDisabled</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> <!-- 以下 kaidenui text と同様 --> <attribute> <name>name</name> <required>true</required> <rtexprvalue>true</rtexprvalue> <type>String</type> </attribute> <attribute> <name>surfaceKey</name> <required>false</required> <rtexprvalue>true</rtexprvalue> <type>String</type> </attribute> <attribute> <name>mode</name> <required>true</required> <rtexprvalue>true</rtexprvalue> <type>String</type> </attribute> <attribute> <name>value</name> <required>false</required> <rtexprvalue>true</rtexprvalue> <type>String</type> </attribute> <attribute> <name>formated</name> <required>false</required> <rtexprvalue>true</rtexprvalue> <type>String</type> </attribute> <attribute> <name>imeMode</name> <required>false</required> <rtexprvalue>true</rtexprvalue> <type>String</type> </attribute> <dynamic-attributes>true</dynamic-attributes> </tag> </taglib>
5.2.1.6. XML¶
Pathsrc/main/webapp/WEB-INF/classes/jp/co/slcs/kaiden2/product_workflow/feature/action/kaiden/master/ProjectSearchSettings.xml<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <genericSearchSettings xmlns="http://kaiden.slcs.co.jp/xmlschema/genericSearchSettings"> <!-- 検索画面に表示する最大件数 --> <limit>20</limit> <!-- 検索画面の行番号ラベルID --> <rownumberSurfaceKey></rownumberSurfaceKey><!-- デフォルトを利用 --> <!-- 検索画面のカラム設定 --> <listCols> <listCol> <!-- 対象マスタのフィールドキー --> <fieldKey>projectCd</fieldKey> <!-- キーワード検索対象とするか否か --> <keywordSearchTarget>true</keywordSearchTarget> <!-- 表示幅 --> <width>100px</width> <!-- 表示位置 --> <align></align> <!-- ヘッダラベルID --> <headerSurfaceKey>PWKF.projectCd</headerSurfaceKey> <!-- ソート可否 --> <sortable>false</sortable> </listCol> <listCol> <fieldKey>projectName</fieldKey> <keywordSearchTarget>true</keywordSearchTarget> <width>150px</width> <align></align> <headerSurfaceKey>PWKF.projectName</headerSurfaceKey> <sortable>false</sortable> </listCol> <listCol> <fieldKey>parentProjectCd</fieldKey> <keywordSearchTarget>true</keywordSearchTarget> <width>100px</width> <align></align> <headerSurfaceKey>PWKF.master.project.parentProjectCd</headerSurfaceKey> <sortable>false</sortable> </listCol> <listCol> <fieldKey>parentProjectName</fieldKey> <keywordSearchTarget>true</keywordSearchTarget> <width>150px</width> <align></align> <headerSurfaceKey>PWKF.master.project.parentProjectName</headerSurfaceKey> <sortable>false</sortable> </listCol> </listCols> <!-- 検索画面のソート順 --> <orders> <order> <fieldKey>projectCd</fieldKey> <type>asc</type> </order> </orders> </genericSearchSettings>