intra-mart Accel Kaiden! プログラミングガイド 第16版 2022-03-31

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

  • Path
    src/main/java/jp/co/slcs/kaiden2/product_workflow/feature/action/kaiden/master/ProjectSearchAction.java
package 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

  • Path
    src/main/java/jp/co/slcs/kaiden2/product_workflow/feature/dto/kaiden/master/ProjectSearchDto.java
package 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

  • Path
    src/main/java/jp/co/slcs/kaiden2/product_workflow/feature/form/kaiden/master/ProjectSearchForm.java
package 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

  • Path
    src/main/java/jp/co/slcs/kaiden2/product_workflow/foundation/manager/project/ProjectManager.java
package 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(実装)

  • Path
    src/main/java/jp/co/slcs/kaiden2/product_workflow/foundation/manager/project/impl/ProjectManagerImpl.java
package 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>&nbsp;</td>
 * </tr>
 * <tr>
 * <td>主キー検索(認可設定無視)</td>
 * <td>selectIgnoreAuthCompany</td>
 * <td>主キー検索</td>
 * <td>&nbsp;</td>
 * </tr>
 * <tr>
 * <td>汎用検索</td>
 * <td>selectList</td>
 * <td>汎用検索</td>
 * <td>&nbsp;</td>
 * </tr>
 * <tr>
 * <td>汎用検索(認可設定無視)</td>
 * <td>selectListIgnoreAuthCompany</td>
 * <td>汎用検索</td>
 * <td>&nbsp;</td>
 * </tr>
 * <tr>
 * <td>ロケール検索</td>
 * <td>selectLocales</td>
 * <td>ロケール検索</td>
 * <td>&nbsp;</td>
 * </tr>
 * <tr>
 * <td>ロケール検索(認可設定無視)</td>
 * <td>selectLocalesIgnoreAuthCompany</td>
 * <td>ロケール検索</td>
 * <td>&nbsp;</td>
 * </tr>
 * <tr>
 * <td>参照検索</td>
 * <td>selectListWithReference</td>
 * <td>参照検索</td>
 * <td>&nbsp;</td>
 * </tr>
 * <tr>
 * <td>参照検索(認可設定無視)</td>
 * <td>selectListWithReferenceIgnoreAuthCompany</td>
 * <td>参照検索</td>
 * <td>&nbsp;</td>
 * </tr>
 * <tr>
 * <td>キーワード検索</td>
 * <td>selectListKeywordFilter</td>
 * <td>キーワード検索</td>
 * <td>&nbsp;</td>
 * </tr>
 * <tr>
 * <td>キーワード検索(認可設定無視)</td>
 * <td>selectListKeywordFilterIgnoreAuthCompany</td>
 * <td>キーワード検索</td>
 * <td>&nbsp;</td>
 * </tr>
 * <tr>
 * <td>有効化</td>
 * <td>toEnabled</td>
 * <td>削除フラグ更新</td>
 * <td>&nbsp;</td>
 * </tr>
 * <tr>
 * <td>有効化(認可設定無視)</td>
 * <td>toEnabledIgnoreAuthCompany</td>
 * <td>削除フラグ更新</td>
 * <td>&nbsp;</td>
 * </tr>
 * <tr>
 * <td>無効化</td>
 * <td>toDisabled</td>
 * <td>削除フラグ更新</td>
 * <td>&nbsp;</td>
 * </tr>
 * <tr>
 * <td>無効化(認可設定無視)</td>
 * <td>toDisabledIgnoreAuthCompany</td>
 * <td>削除フラグ更新</td>
 * <td>&nbsp;</td>
 * </tr>
 * <tr>
 * <td>登録</td>
 * <td>entry</td>
 * <td>登録</td>
 * <td>&nbsp;</td>
 * </tr>
 * <tr>
 * <td>登録(認可設定無視)</td>
 * <td>entryIgnoreAuthCompany</td>
 * <td>登録</td>
 * <td>&nbsp;</td>
 * </tr>
 * <tr>
 * <td>削除</td>
 * <td>remove</td>
 * <td>削除</td>
 * <td>&nbsp;</td>
 * </tr>
 * <tr>
 * <td>削除(認可設定無視)</td>
 * <td>removeIgnoreAuthCompany</td>
 * <td>削除</td>
 * <td>&nbsp;</td>
 * </tr>
 * <tr>
 * <td>更新</td>
 * <td>renew</td>
 * <td>更新</td>
 * <td>&nbsp;</td>
 * </tr>
 * <tr>
 * <td>更新(認可設定無視)</td>
 * <td>renewIgnoreAuthCompany</td>
 * <td>更新</td>
 * <td>&nbsp;</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>&nbsp;</td>
 * </tr>
 * <tr>
 * <td>期間検索(認可設定無視)</td>
 * <td>selectTermsIgnoreAuthCompany</td>
 * <td>期間検索</td>
 * <td>&nbsp;</td>
 * </tr>
 * <tr>
 * <td>基準日指定検索</td>
 * <td>selectListIncluedsSearchDate</td>
 * <td>基準日指定検索</td>
 * <td>&nbsp;</td>
 * </tr>
 * <tr>
 * <td>基準日指定検索(認可設定無視)</td>
 * <td>selectListIncluedsSearchDateIgnoreAuthCompany</td>
 * <td>基準日指定検索</td>
 * <td>&nbsp;</td>
 * </tr>
 * <tr>
 * <td>期間分割</td>
 * <td>divideTerm</td>
 * <td>期間分割</td>
 * <td><b>&nbsp;</b></td>
 * </tr>
 * <tr>
 * <td>期間分割(認可設定無視)</td>
 * <td>divideTermIgnoreAuthCompany</td>
 * <td>期間分割</td>
 * <td><b>&nbsp;</b></td>
 * </tr>
 * <tr>
 * <td>期間変更</td>
 * <td>moveTerm</td>
 * <td>期間変更</td>
 * <td>&nbsp;</td>
 * </tr>
 * <tr>
 * <td>期間変更(認可設定無視)</td>
 * <td>moveTermIgnoreAuthCompany</td>
 * <td>期間変更</td>
 * <td>&nbsp;</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

  • Path
    src/main/java/jp/co/slcs/kaiden2/product_workflow/foundation/manager/project/ProjectCriteriaDto.java
package 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;
}
  • Path
    src/main/java/jp/co/slcs/kaiden2/product_workflow/foundation/manager/project/ProjectManagerDto.java
package 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;
    
}
  • Path
    src/main/java/jp/co/slcs/kaiden2/product_workflow/foundation/manager/project/ProjectManagerDtoFieldName.java
package 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

  • Path
    src/main/java/jp/co/slcs/kaiden2/product_workflow/foundation/taglib/MstSearchProject.java
package 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

  • Path
    src/main/generated/jp/co/slcs/kaiden2/product_workflow/foundation/model/entity/K30mProject.java
package 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

  • Path
    src/main/generated/jp/co/slcs/kaiden2/product_workflow/foundation/model/entity/K30mProjectNames.java
package 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

  • Path
    src/main/generated/jp/co/slcs/kaiden2/product_workflow/foundation/model/service/K30mProjectService.java
package 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

  • Path
    src/main/generated/jp/co/slcs/kaiden2/product_workflow/foundation/model/service/K30mProjectCondition.java
package 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. 検索

  • Path
    src/main/resources/META-INF/sql/jp/co/slcs/kaiden2/product_workflow/foundation/model/service/K30mProjectService/selectView.sql
select
  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

  • Path
    src/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

  • Path
    src/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>