intra-mart Accel Kaiden! プログラミングガイド 第12版 2020-04-01

5.4.2. 経費区分マスタインポート

経費区分マスタインポートのサンプルソースです。
本サンプルソースは「intra-mart Accel Kaiden! ワークフローモジュール 2.0.2」から抜粋したソースです。

5.4.2.1. 一覧

src
└─main
    ├─generated
    │  └─jp
    │      └─co
    │          └─slcs
    │              └─kaiden2
    │                  └─product_workflow
    │                      └─foundation
    │                          └─model
    │                              ├─entity
    │                              │      K30mExpType.java
    │                              │      K30mExpTypeNames.java
    │                              └─service
    │                                      K30mExpTypeCondition.java
    │                                      K30mExpTypeService.java
    ├─java
    │  └─jp
    │      └─co
    │          └─slcs
    │              └─kaiden2
    │                  └─product_workflow
    │                      ├─feature
    │                      │  └─job
    │                      │      └─kaiden
    │                      │          └─exptype
    │                      │              │  ExpTypeJobConstants.java
    │                      │              │  ExpTypeProp.java
    │                      │              └─imp
    │                      │                      ExpTypeImportJob.java
    │                      └─foundation
    │                          ├─manager
    │                          │  └─exptype
    │                          │      │  ExpTypeManager.java
    │                          │      │  ExpTypeManagerDto.java
    │                          │      │  ExpTypeManagerDtoFieldName.java
    │                          │      └─impl
    │                          │              ExpTypeManagerImpl.java
    │                          └─model
    │                              └─xml_schema
    │                                  └─exptype_import_settings
    │                                          ExpTypeImportSettings.java
    ├─resources
    │  └─META-INF
    │      └─sql
    │          └─jp
    │              └─co
    │                  └─slcs
    │                      └─kaiden2
    │                          └─product_workflow
    │                              └─foundation
    │                                  └─model
    │                                      └─service
    │                                          └─K30mExpTypeService
    │                                                  selectView.sql
    └─webapp
        └─WEB-INF
            └─classes
                └─jp
                    └─co
                        └─slcs
                            └─kaiden2
                                └─product_workflow
                                    └─foundation
                                        └─model
                                            └─xml_schema
                                                └─exptype_import_settings
                                                        ExpTypeImportSettings.xml

5.4.2.2. Java

5.4.2.2.1. Job

  • Path
    src/main/java/jp/co/slcs/kaiden2/product_workflow/feature/job/kaiden/exptype/imp/ExpTypeImportJob.java
package jp.co.slcs.kaiden2.product_workflow.feature.job.kaiden.exptype.imp;

import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import jp.co.slcs.kaiden2.base.foundation.job.AbstractTermMasterImportJob;
import jp.co.slcs.kaiden2.base.foundation.job.KaidenJobProcessType;
import jp.co.slcs.kaiden2.base.foundation.master.TermMasterManagerForJob;
import jp.co.slcs.kaiden2.base.foundation.model.dto.KaidenDto;
import jp.co.slcs.kaiden2.base.foundation.model.xml_schema.generic_jop_process_result.GenericJobProcessResult;
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.feature.job.kaiden.exptype.ExpTypeJobConstants;
import jp.co.slcs.kaiden2.product_workflow.foundation.manager.exptype.ExpTypeManager;
import jp.co.slcs.kaiden2.product_workflow.foundation.model.xml_schema.exptype_import_settings.ExpTypeImportSettings;
import org.seasar.framework.container.SingletonS2Container;

/**
 * 経費区分マスタImporter.
 * 
 * @author Sumitomo Life Information Systems Co.,Ltd.
 */
public class ExpTypeImportJob extends AbstractTermMasterImportJob<ExpTypeImportSettings, GenericJobProcessResult> {
    
    /** ExpTypeManager. */
    private final ExpTypeManager expTypeManager;
    
    /**
     * コンストラクタ.
     */
    public ExpTypeImportJob() {
        super(KaidenJobProcessType.IMPORT, ExpTypeJobConstants.KAIDEN_JOB_ID_IMPORT, ErrorMode.ERROR_CONTINUE);
        expTypeManager = SingletonS2Container.getComponent("expTypeManager");
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    protected ExpTypeImportSettings readSettingsForImport() {
        return super.read(ExpTypeImportSettings.class);
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    protected GenericJobProcessResult getGenericJobProcessResult() {
        return new GenericJobProcessResult();
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    protected LinkedHashMap<String, Map<String, String>> getSurfacesMap() {
        LinkedHashMap<String, Map<String, String>> surfacesMap = new LinkedHashMap<String, Map<String, String>>();
        surfacesMap.put(createUniqueKey(TARGET_MASTER_KEY), ExpTypeJobConstants.EXPTYPE_MST_SURFACES);
        return surfacesMap;
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    protected List<ValidateDefsDto> addValidateRuleSub() {
        return expTypeManager.getValidateDefsDtoList4Entry();
    }
    
    /** {@inheritDoc} */
    @Override
    protected <DTO> TermMasterManagerForJob<? extends KaidenDto> getDefaultManager() {
        return expTypeManager;
    }
    
}
  • Path
    src/main/java/jp/co/slcs/kaiden2/product_workflow/feature/job/kaiden/exptype/ExpTypeJobConstants.java
package jp.co.slcs.kaiden2.product_workflow.feature.job.kaiden.exptype;

import java.util.LinkedHashMap;
import jp.co.slcs.kaiden2.base.foundation.job.KaidenJobIdIF;

/**
 * 経費区分マスタImporter/expoter定数.
 * 
 * @author Sumitomo Life Information Systems Co.,Ltd.
 */
public final class ExpTypeJobConstants {
    
    /**
     * コンストラクタ.
     */
    private ExpTypeJobConstants() {
    }
    
    /** 処理対象機能皆伝ジョブID:経費区分マスタ. */
    public static final KaidenJobIdIF KAIDEN_JOB_ID_IMPORT = ExpTypeProp.KaidenJobID.KAIDEN_JOB_ID_IMPORT;
    /** 経費区分マスタラベル定義. */
    public static final LinkedHashMap<String, String> EXPTYPE_MST_SURFACES = ExpTypeProp.Surfaces.getSurfaces();
    /** 経費区分マスタファイルIndex. */
    public static final int DATA_FILE_INDEX = 0;
}
  • Path
    src/main/java/jp/co/slcs/kaiden2/product_workflow/feature/job/kaiden/exptype/ExpTypeProp.java
package jp.co.slcs.kaiden2.product_workflow.feature.job.kaiden.exptype;

import java.util.LinkedHashMap;
import jp.co.slcs.kaiden2.base.foundation.conf.BaseProp;
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.job.KaidenJobIdIF;
import jp.co.slcs.kaiden2.base.foundation.job.SurfacesIF;
import jp.co.slcs.kaiden2.product_workflow.foundation.conf.ExtensionsProp;
import jp.co.slcs.kaiden2.product_workflow.foundation.conf.ProductWorkflowProp;
import jp.co.slcs.kaiden2.product_workflow.foundation.manager.exptype.ExpTypeManagerDtoFieldName;
import org.seasar.framework.container.SingletonS2Container;

/**
 * 経費区分マスタDBカラムプロパティ.
 * 
 * @author Sumitomo Life Information Systems Co.,Ltd.
 */
public final class ExpTypeProp {
    
    /**
     * 経費区分マスタDBカラム.
     * 
     * @author Sumitomo Life Information Systems Co.,Ltd.
     */
    public static final class C {
        
        /** 皆伝ジョブID. */
        public static final String KAIDEN_JOB_ID_IMPORT = "kaiden-job-master-import-exptype";
        /** 会社コード. */
        public static final String COMPANY_CD = ExpTypeManagerDtoFieldName.COMPANY_CD;
        /** 経費区分コード. */
        public static final String EXPTYPE_CD = ExpTypeManagerDtoFieldName.EXP_TYPE_CD;
        /** 期間コード. */
        public static final String TERM_CD = ExpTypeManagerDtoFieldName.TERM_CD;
        /** ロケールid. */
        public static final String LOCALE_ID = ExpTypeManagerDtoFieldName.LOCALE_ID;
        /** 経費区分名称. */
        public static final String EXPTYPE_NAME = ExpTypeManagerDtoFieldName.EXP_TYPE_NAME;
        /** 開始日. */
        public static final String START_DATE = ExpTypeManagerDtoFieldName.START_DATE;
        /** 終了日. */
        public static final String END_DATE = ExpTypeManagerDtoFieldName.END_DATE;
        /** 経費区分カテゴリ. */
        public static final String EXP_TYPE_CATEGORY = ExpTypeManagerDtoFieldName.EXP_TYPE_CATEGORY;
        /** 勘定科目コード. */
        public static final String ACCOUNT_CD = ExpTypeManagerDtoFieldName.ACCOUNT_CD;
        /** 税区分コード. */
        public static final String TAX_TYPE_CD = ExpTypeManagerDtoFieldName.TAX_TYPE_CD;
        /** ソートキー. */
        public static final String SORT_KEY = ExpTypeManagerDtoFieldName.SORT_KEY;
        /** 削除フラグ. */
        public static final String DELETE_FLAG = ExpTypeManagerDtoFieldName.DELETE_FLAG;
    }
    
    /**
     * 経費区分マスタDBカラム名称.
     * 
     * @author Sumitomo Life Information Systems Co.,Ltd.
     */
    public static final class S {
        
        /** ジョブ名称. */
        public static final String JOB_NAME_IMPORT = ProductWorkflowProp.S.ExpTypeJob.JOB_NAME_IMPORT;
        /** 会社コード. */
        public static final String COMPANY_CD = BaseProp.S.COMPANY_CD;
        /** 経費区分コード. */
        public static final String EXPTYPE_CD = ProductWorkflowProp.S.EXP_TYPE_CD;
        /** 期間コード. */
        public static final String TERM_CD = BaseProp.S.TERM_CD;
        /** ロケールid. */
        public static final String LOCALE_ID = BaseProp.S.LOCALE_ID;
        /** 経費区分名称. */
        public static final String EXPTYPE_NAME = ProductWorkflowProp.S.EXP_TYPE_NAME;
        /** 開始日. */
        public static final String START_DATE = BaseProp.S.START_DATE;
        /** 終了日. */
        public static final String END_DATE = BaseProp.S.END_DATE;
        /** 削除フラグ. */
        public static final String DELETE_FLAG = BaseProp.S.DELETE_FLAG;
        /** 経費区分カテゴリ. */
        public static final String EXP_TYPE_CATEGORY = ProductWorkflowProp.S.ExpType.EXP_TYPE_CATEGORY;
        /** 勘定科目コード. */
        public static final String ACCOUNT_CD = ProductWorkflowProp.S.ACCOUNT_CD;
        /** 税区分コード. */
        public static final String TAX_TYPE_CD = ProductWorkflowProp.S.TAX_TYPE_CD;
        /** ソートキー. */
        public static final String SORT_KEY = BaseProp.S.SORT_KEY;
    }
    
    /**
     * 経費区分マスタJob IDの列挙.
     * 
     * @author Sumitomo Life Information Systems Co.,Ltd.
     */
    public static enum KaidenJobID implements KaidenJobIdIF {
        
        /** 皆伝ジョブID. */
        KAIDEN_JOB_ID_IMPORT(ExpTypeProp.C.KAIDEN_JOB_ID_IMPORT, ExpTypeProp.S.JOB_NAME_IMPORT);
        
        /** 皆伝ジョブID. */
        private final String kaidenJobId;
        /** ジョブ名称用サーフェスキー. */
        private final String surfaceKey;
        
        /**
         * コンストラクタ.
         * 
         * @param kaidenJobId ジョブID
         * @param surfaceKey サーフィスキー
         */
        private KaidenJobID(String kaidenJobId, String surfaceKey) {
            this.kaidenJobId = kaidenJobId;
            this.surfaceKey = surfaceKey;
        }
        
        /**
         * {@inheritDoc}
         */
        @Override
        public String getKaidenJobId() {
            return kaidenJobId;
        }
        
        /**
         * {@inheritDoc}
         */
        @Override
        public String getKaidenJobName() {
            return SingletonS2Container.getComponent(PropertyHelper.class).getSurface(surfaceKey);
        }
    }
    
    /**
     * 経費区分マスタラベル定義の列挙.
     * 
     * @author Sumitomo Life Information Systems Co.,Ltd.
     */
    public enum Surfaces implements SurfacesIF {
        
        /** 会社コード. */
        COMPANY_CD(ExpTypeProp.C.COMPANY_CD, ExpTypeProp.S.COMPANY_CD),
        /** 経費区分コード. */
        EXPTYPE_CD(ExpTypeProp.C.EXPTYPE_CD, ExpTypeProp.S.EXPTYPE_CD),
        /** 期間コード. */
        TERM_CD(ExpTypeProp.C.TERM_CD, ExpTypeProp.S.TERM_CD),
        /** ロケールid. */
        LOCALE_ID(ExpTypeProp.C.LOCALE_ID, ExpTypeProp.S.LOCALE_ID),
        /** 経費区分名称. */
        EXPTYPE_NAME(ExpTypeProp.C.EXPTYPE_NAME, ExpTypeProp.S.EXPTYPE_NAME),
        /** 開始日. */
        START_DATE(ExpTypeProp.C.START_DATE, ExpTypeProp.S.START_DATE),
        /** 終了日. */
        END_DATE(ExpTypeProp.C.END_DATE, ExpTypeProp.S.END_DATE),
        /** 経費区分カテゴリ. */
        EXP_TYPE_CATEGORY(ExpTypeProp.C.EXP_TYPE_CATEGORY, ExpTypeProp.S.EXP_TYPE_CATEGORY),
        /** 勘定科目コード. */
        ACCOUNT_CD(ExpTypeProp.C.ACCOUNT_CD, ExpTypeProp.S.ACCOUNT_CD),
        /** 税区分コード. */
        TAX_TYPE_CD(ExpTypeProp.C.TAX_TYPE_CD, ExpTypeProp.S.TAX_TYPE_CD),
        /** ソートキー. */
        SORT_KEY(ExpTypeProp.C.SORT_KEY, ExpTypeProp.S.SORT_KEY),
        /** 削除フラグ. */
        DELETE_FLAG(ExpTypeProp.C.DELETE_FLAG, ExpTypeProp.S.DELETE_FLAG);
        
        /** ラベルキー. */
        private final String key;
        /** ラベル名称. */
        private final String name;
        
        /**
         * コンストラクタ.
         * 
         * @param columnName ラベルキー
         * @param surfaceKey サーフィスキー
         */
        private Surfaces(String columnName, String surfaceKey) {
            key = columnName;
            name = SingletonS2Container.getComponent(PropertyHelper.class).getSurface(surfaceKey);
        }
        
        /**
         * {@inheritDoc}
         */
        @Override
        public String getKey() {
            return key;
        }
        
        /**
         * {@inheritDoc}
         */
        @Override
        public String getValue() {
            return name;
        }
        
        /**
         * ラベルキーから自身を返却.
         * 
         * @param key ラベルキー値
         * @return 自身
         */
        public static Surfaces codeOf(String key) {
            for (Surfaces that : Surfaces.values()) {
                if (that.getKey().equals(key)) {
                    return that;
                }
            }
            throw KaidenIllegalParametersException.makeInstance();
        }
        
        /**
         * ラベル名称から自身を返却.
         * 
         * @param name ラベル名称
         * @return 自身
         */
        public static Surfaces nameOf(String name) {
            for (Surfaces that : Surfaces.values()) {
                if (that.getValue().equals(name)) {
                    return that;
                }
            }
            throw KaidenIllegalParametersException.makeInstance();
        }
        
        /**
         * ラベル定義を取得します.
         * 
         * @return ラベル定義
         */
        public static LinkedHashMap<String, String> getSurfaces() {
            
            LinkedHashMap<String, String> surfaces = new LinkedHashMap<String, String>();
            
            for (Surfaces exptypeSurfaces : Surfaces.values()) {
                surfaces.put(exptypeSurfaces.getKey(), exptypeSurfaces.getValue());
            }
            
            surfaces.putAll(ExtensionsProp.Surfaces.getSurfaces());
            
            return surfaces;
        }
    }
}

5.4.2.2.2. Manager

  • Path
    src/main/java/jp/co/slcs/kaiden2/product_workflow/foundation/manager/exptype/ExpTypeManager.java
package jp.co.slcs.kaiden2.product_workflow.foundation.manager.exptype;

import java.util.List;
import java.util.Map;
import jp.co.slcs.kaiden2.base.foundation.manager.KeywordsCriteriaDto;
import jp.co.slcs.kaiden2.base.foundation.master.TermMasterManagerForJob;
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.model.service.SqlResultFilterIF;
import jp.co.slcs.kaiden2.base.foundation.util.validate.model.dto.ValidateDefsDto;

/**
 * 経費区分マスタへの各種操作を提供するAPIのinterface.<br>
 * 
 * @author Sumitomo Life Information Systems Co.,Ltd.
 */
public interface ExpTypeManager extends TermMasterManagerForJob<ExpTypeManagerDto> {
    
    /** 経費区分コード. */
    public static final int EXP_TYPE_CD_LEN = 100;
    
    /** 経費区分名称. */
    public static final int EXP_TYPE_NAME_LEN = 250;
    
    /** 経費区分カテゴリ. */
    public static final int EXP_TYPE_CATEGORY_LEN = 250;
    
    /** 勘定科目コード. */
    public static final int ACCOUNT_CD_LEN = 100;
    
    /** 税区分コード. */
    public static final int TAX_TYPE_CD_LEN = 100;
    
    /** ソートキー. */
    public static final int SORT_KEY_LEN = 15;
    
    /**
     * 新規登録用の検証定義リストを返却します.
     * 
     * @return バリデート実行クラス用パラメタDTOリスト
     */
    public List<ValidateDefsDto> getValidateDefsDtoList4Entry();
    
    /**
     * 更新登録用の検証定義リストを返却します.
     * 
     * @return バリデート実行クラス用パラメタDTOリスト
     */
    public List<ValidateDefsDto> getValidateDefsDtoList4Renew();
    
    /**
     * マスタ検索部品向け 一覧取得.
     * 
     * @param criteria 検索条件
     * @param order ソート順
     * @param filter フィルタークラス
     * @return 検索結果
     */
    public Map<String, Object> selectList4MstSearch(KaidenDto criteria, List<OrderDto> order,
            KeywordsCriteriaDto keywordsCriteria, SqlResultFilterIF[] filter);
    
}

5.4.2.2.3. Manager(実装)

  • Path
    src/main/java/jp/co/slcs/kaiden2/product_workflow/foundation/manager/exptype/impl/ExpTypeManagerImpl.java
package jp.co.slcs.kaiden2.product_workflow.foundation.manager.exptype.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_INTEGER;
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.exptype.ExpTypeManagerDtoFieldName.ACCOUNT_CD;
import static jp.co.slcs.kaiden2.product_workflow.foundation.manager.exptype.ExpTypeManagerDtoFieldName.ACCOUNT_NAME;
import static jp.co.slcs.kaiden2.product_workflow.foundation.manager.exptype.ExpTypeManagerDtoFieldName.COMPANY_CD;
import static jp.co.slcs.kaiden2.product_workflow.foundation.manager.exptype.ExpTypeManagerDtoFieldName.COMPANY_NAME;
import static jp.co.slcs.kaiden2.product_workflow.foundation.manager.exptype.ExpTypeManagerDtoFieldName.DELETE_FLAG;
import static jp.co.slcs.kaiden2.product_workflow.foundation.manager.exptype.ExpTypeManagerDtoFieldName.END_DATE;
import static jp.co.slcs.kaiden2.product_workflow.foundation.manager.exptype.ExpTypeManagerDtoFieldName.EXP_TYPE_CATEGORY;
import static jp.co.slcs.kaiden2.product_workflow.foundation.manager.exptype.ExpTypeManagerDtoFieldName.EXP_TYPE_CD;
import static jp.co.slcs.kaiden2.product_workflow.foundation.manager.exptype.ExpTypeManagerDtoFieldName.EXP_TYPE_NAME;
import static jp.co.slcs.kaiden2.product_workflow.foundation.manager.exptype.ExpTypeManagerDtoFieldName.LOCALE_ID;
import static jp.co.slcs.kaiden2.product_workflow.foundation.manager.exptype.ExpTypeManagerDtoFieldName.SORT_KEY;
import static jp.co.slcs.kaiden2.product_workflow.foundation.manager.exptype.ExpTypeManagerDtoFieldName.START_DATE;
import static jp.co.slcs.kaiden2.product_workflow.foundation.manager.exptype.ExpTypeManagerDtoFieldName.TAX_TYPE_CD;
import static jp.co.slcs.kaiden2.product_workflow.foundation.manager.exptype.ExpTypeManagerDtoFieldName.TAX_TYPE_NAME;
import static jp.co.slcs.kaiden2.product_workflow.foundation.manager.exptype.ExpTypeManagerDtoFieldName.TERM_CD;
import static jp.co.slcs.kaiden2.product_workflow.foundation.util.validate.conf.ConstValidationIdKaidenProductWorkflow.VALID_ACCOUNT_EXISTS;
import static jp.co.slcs.kaiden2.product_workflow.foundation.util.validate.conf.ConstValidationIdKaidenProductWorkflow.VALID_TAX_TYPE_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.model.service.SqlResultFilterIF;
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.exptype.ExpTypeManager;
import jp.co.slcs.kaiden2.product_workflow.foundation.manager.exptype.ExpTypeManagerDto;
import jp.co.slcs.kaiden2.product_workflow.foundation.model.service.K30mExpTypeService;
import org.seasar.framework.beans.util.Beans;

/**
 * 経費区分マスタへの各種操作を提供するAPI.<br>
 * <br>
 * <p>
 * 本APIは、主にデータベース操作を行いますが、より業務的な機能を付加した操作を提供します。<br>
 * 使用する際には、{@link ExpTypeManagerDto}クラスまたはそのリストをパラメータとして渡すと、<br>
 * {@link ExpTypeManagerDto}クラスまたはそのリストが戻り値として返却されます。<br>
 * (一部例外あり。各APIを参照。)<br>
 * <br>
 * <b>機能一覧(共通)</b>
 * <table border="1">
 * <tr>
 * <th>機能概要</th>
 * <th>メソッド</th>
 * <th>カテゴリ</th>
 * <th>備考</th>
 * </tr>
 * <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>
 * <b>機能一覧(期間化)</b>
 * <table border="1">
 * <tr>
 * <th>機能概要</th>
 * <th>メソッド</th>
 * <th>カテゴリ</th>
 * <th>備考</th>
 * </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>&nbsp;</td>
 * </tr>
 * <tr>
 * <td>期間分割(認可設定無視)</td>
 * <td>divideTermIgnoreAuthCompany</td>
 * <td>期間分割</td>
 * <td>&nbsp;</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>
 * <th rowspan="2">DTOフィールド論理名</th>
 * <th rowspan="2">DTOフィールド名</th>
 * <th colspan="2">主キー<br>
 * 検索</th>
 * <th colspan="2">汎用<br>
 * 検索</th>
 * <th colspan="2">ロケール<br>
 * 検索</th>
 * <th colspan="2">参照<br>
 * 検索</th>
 * <th colspan="2">キーワード<br>
 * 検索</th>
 * <th colspan="2">削除フラグ<br>
 * 更新</th>
 * <th colspan="2">登録</th>
 * <th colspan="2">削除</th>
 * <th colspan="2">更新</th>
 * </tr>
 * <tr>
 * <th>I</th>
 * <th>O</th>
 * <th>I</th>
 * <th>O</th>
 * <th>I</th>
 * <th>O</th>
 * <th>I</th>
 * <th>O</th>
 * <th>I</th>
 * <th>O</th>
 * <th>I</th>
 * <th>O</th>
 * <th>I</th>
 * <th>O</th>
 * <th>I</th>
 * <th>O</th>
 * <th>I</th>
 * <th>O</th>
 * </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>expTypeCd</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>expTypeName</td>
 * <td align="center">×</td>
 * <td align="center">○</td>
 * <td align="center">△</td>
 * <td align="center">○</td>
 * <td align="center">×</td>
 * <td align="center">○</td>
 * <td align="center">▲</td>
 * <td align="center">○</td>
 * <td align="center">▲</td>
 * <td align="center">○</td>
 * <td align="center">×</td>
 * <td align="center">-</td>
 * <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>expTypeCategory</td>
 * <td align="center">×</td>
 * <td align="center">○</td>
 * <td align="center">△</td>
 * <td align="center">○</td>
 * <td align="center">×</td>
 * <td align="center">○</td>
 * <td align="center">▲</td>
 * <td align="center">○</td>
 * <td align="center">▲</td>
 * <td align="center">○</td>
 * <td align="center">×</td>
 * <td align="center">-</td>
 * <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>accountCd</td>
 * <td align="center">×</td>
 * <td align="center">○</td>
 * <td align="center">△</td>
 * <td align="center">○</td>
 * <td align="center">×</td>
 * <td align="center">○</td>
 * <td align="center">△</td>
 * <td align="center">○</td>
 * <td align="center">△</td>
 * <td align="center">○</td>
 * <td align="center">×</td>
 * <td align="center">-</td>
 * <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>taxTypeCd</td>
 * <td align="center">×</td>
 * <td align="center">○</td>
 * <td align="center">△</td>
 * <td align="center">○</td>
 * <td align="center">×</td>
 * <td align="center">○</td>
 * <td align="center">△</td>
 * <td align="center">○</td>
 * <td align="center">△</td>
 * <td align="center">○</td>
 * <td align="center">×</td>
 * <td align="center">-</td>
 * <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>sortKey</td>
 * <td align="center">×</td>
 * <td align="center">○</td>
 * <td align="center">△</td>
 * <td align="center">○</td>
 * <td align="center">×</td>
 * <td align="center">○</td>
 * <td align="center">△</td>
 * <td align="center">○</td>
 * <td align="center">△</td>
 * <td align="center">○</td>
 * <td align="center">×</td>
 * <td align="center">-</td>
 * <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>予備項目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>accountName</td>
 * <td align="center">×</td>
 * <td align="center">×</td>
 * <td align="center">×</td>
 * <td align="center">×</td>
 * <td align="center">×</td>
 * <td align="center">×</td>
 * <td align="center">▲</td>
 * <td align="center">○</td>
 * <td align="center">▲</td>
 * <td align="center">○</td>
 * <td align="center">×</td>
 * <td align="center">-</td>
 * <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>taxTypeName</td>
 * <td align="center">×</td>
 * <td align="center">×</td>
 * <td align="center">×</td>
 * <td align="center">×</td>
 * <td align="center">×</td>
 * <td align="center">×</td>
 * <td align="center">▲</td>
 * <td align="center">○</td>
 * <td align="center">▲</td>
 * <td align="center">○</td>
 * <td align="center">×</td>
 * <td align="center">-</td>
 * <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>
 * <th rowspan="2">DTOフィールド論理名</th>
 * <th rowspan="2">DTOフィールド名</th>
 * <th colspan="2">期間検索</th>
 * <th colspan="2">基準日指定<br>
 * 検索</th>
 * <th colspan="2">期間分割</th>
 * <th colspan="2">期間変更</th>
 * </tr>
 * <tr>
 * <th>I</th>
 * <th>O</th>
 * <th>I</th>
 * <th>O</th>
 * <th>I</th>
 * <th>O</th>
 * <th>I</th>
 * <th>O</th>
 * </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>expTypeCd</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>expTypeName</td>
 * <td align="center">×</td>
 * <td align="center">○</td>
 * <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>expTypeCategory</td>
 * <td align="center">×</td>
 * <td align="center">○</td>
 * <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>accountCd</td>
 * <td align="center">×</td>
 * <td align="center">○</td>
 * <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>taxTypeCd</td>
 * <td align="center">×</td>
 * <td align="center">○</td>
 * <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>sortKey</td>
 * <td align="center">×</td>
 * <td align="center">○</td>
 * <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>予備項目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>
 * <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>accountName</td>
 * <td align="center">×</td>
 * <td align="center">×</td>
 * <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>taxTypeName</td>
 * <td align="center">×</td>
 * <td align="center">×</td>
 * <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>
 * テーブルのPK項目にはフィールド名に(*)を付与しています。<br>
 * </p>
 * 
 * @author Sumitomo Life Information Systems Co.,Ltd.
 */
public class ExpTypeManagerImpl extends AbstractTermMasterManager<ExpTypeManagerDto> implements ExpTypeManager {
    
    /** K30mExpTypeService. */
    @Resource
    protected K30mExpTypeService k30mExpTypeService;
    
    /**
     * {@inheritDoc}
     */
    @Override
    public ExpTypeManagerDto select(ExpTypeManagerDto criteria, AuthorityCriteriaDto authCriteria) {
        return super.select(k30mExpTypeService, criteria, authCriteria);
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    public ExpTypeManagerDto selectIgnoreAuthCompany(ExpTypeManagerDto criteria) {
        return super.selectIgnoreAuthCompany(k30mExpTypeService, criteria);
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    public List<ExpTypeManagerDto> selectList(ExpTypeManagerDto criteria, AuthorityCriteriaDto authCriteria,
            List<OrderDto> order) {
        return super.selectList(k30mExpTypeService, criteria, authCriteria, order);
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    public List<ExpTypeManagerDto> selectListIgnoreAuthCompany(ExpTypeManagerDto criteria, List<OrderDto> order) {
        return super.selectListIgnoreAuthority(k30mExpTypeService, criteria, order);
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    public List<ExpTypeManagerDto> selectLocales(ExpTypeManagerDto criteria, AuthorityCriteriaDto authCriteria) {
        return super.selectLocales(k30mExpTypeService, criteria, authCriteria);
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    public List<ExpTypeManagerDto> selectLocalesIgnoreAuthCompany(ExpTypeManagerDto criteria) {
        return super.selectLocalesIgnoreAuthCompany(k30mExpTypeService, criteria);
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    public List<ExpTypeManagerDto> selectListWithReference(KaidenDto criteria, List<OrderDto> order,
            AuthorityCriteriaDto authCriteria) {
        String[] likeTarget = {EXP_TYPE_NAME, EXP_TYPE_CATEGORY, EXTENSION_A, EXTENSION_B, EXTENSION_C, EXTENSION_D,
                EXTENSION_E, EXTENSION_F, EXTENSION_G, EXTENSION_H, EXTENSION_I, EXTENSION_J, COMPANY_NAME,
                ACCOUNT_NAME, TAX_TYPE_NAME};
        return super.selectBySql(k30mExpTypeService, "selectView.sql", criteria, order, authCriteria, likeTarget);
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    public List<ExpTypeManagerDto> selectListWithReferenceIgnoreAuthCompany(KaidenDto criteria, List<OrderDto> order) {
        String[] likeTarget = {EXP_TYPE_NAME, EXP_TYPE_CATEGORY, EXTENSION_A, EXTENSION_B, EXTENSION_C, EXTENSION_D,
                EXTENSION_E, EXTENSION_F, EXTENSION_G, EXTENSION_H, EXTENSION_I, EXTENSION_J, COMPANY_NAME,
                ACCOUNT_NAME, TAX_TYPE_NAME};
        return super.selectBySqlIgnoreAuthority(k30mExpTypeService, "selectView.sql", criteria, order, likeTarget);
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    public Map<String, Object> selectListKeywordFilter(KaidenDto criteria, List<OrderDto> order,
            KeywordsCriteriaDto keywordsCriteria, AuthorityCriteriaDto authCriteria) {
        String[] likeTarget = {EXP_TYPE_NAME, EXP_TYPE_CATEGORY, EXTENSION_A, EXTENSION_B, EXTENSION_C, EXTENSION_D,
                EXTENSION_E, EXTENSION_F, EXTENSION_G, EXTENSION_H, EXTENSION_I, EXTENSION_J, COMPANY_NAME,
                ACCOUNT_NAME, TAX_TYPE_NAME};
        return super.selectListByKeywords(k30mExpTypeService, "selectView.sql", criteria, order, keywordsCriteria,
                authCriteria, likeTarget);
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    public Map<String, Object> selectListKeywordFilterIgnoreAuthCompany(KaidenDto criteria, List<OrderDto> order,
            KeywordsCriteriaDto keywordsCriteria) {
        String[] likeTarget = {EXP_TYPE_NAME, EXP_TYPE_CATEGORY, EXTENSION_A, EXTENSION_B, EXTENSION_C, EXTENSION_D,
                EXTENSION_E, EXTENSION_F, EXTENSION_G, EXTENSION_H, EXTENSION_I, EXTENSION_J, COMPANY_NAME,
                ACCOUNT_NAME, TAX_TYPE_NAME};
        return super.selectListByKeywordsIgnoreAuthority(k30mExpTypeService, "selectView.sql", criteria, order,
                keywordsCriteria, likeTarget);
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    public void toEnabled(ExpTypeManagerDto criteria, AuthorityCriteriaDto authCriteria)
            throws KaidenHaventAuthorityToCompanyException, KaidenOptimisticLockException {
        super.toEnabled(k30mExpTypeService, criteria, authCriteria);
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    public void toEnabledIgnoreAuthCompany(ExpTypeManagerDto criteria) throws KaidenOptimisticLockException {
        super.toEnabledIgnoreAuthCompany(k30mExpTypeService, criteria);
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    public void toDisabled(ExpTypeManagerDto criteria, AuthorityCriteriaDto authCriteria)
            throws KaidenHaventAuthorityToCompanyException, KaidenOptimisticLockException {
        super.toDisabled(k30mExpTypeService, criteria, authCriteria);
        
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    public void toDisabledIgnoreAuthCompany(ExpTypeManagerDto criteria) throws KaidenOptimisticLockException {
        super.toDisabledIgnoreAuthCompany(k30mExpTypeService, criteria);
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    public int entry(List<ExpTypeManagerDto> dataList, AuthorityCriteriaDto authCriteria)
            throws KaidenHaventAuthorityToCompanyException, KaidenDuplicationEntryException {
        return super.entry(k30mExpTypeService, dataList, authCriteria);
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    public int entryIgnoreAuthCompany(List<ExpTypeManagerDto> dataList) throws KaidenDuplicationEntryException {
        return super.entryIgnoreAuthCompany(k30mExpTypeService, dataList);
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    public int remove(ExpTypeManagerDto criteria, AuthorityCriteriaDto authCriteria)
            throws KaidenHaventAuthorityToCompanyException {
        return super.remove(k30mExpTypeService, criteria, authCriteria);
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    public int removeIgnoreAuthCompany(ExpTypeManagerDto criteria) {
        return super.removeIgnoreAuthCompany(k30mExpTypeService, criteria);
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    public int renew(List<ExpTypeManagerDto> dataList, AuthorityCriteriaDto authCriteria)
            throws KaidenHaventAuthorityToCompanyException, KaidenOptimisticLockException {
        return super.renew(k30mExpTypeService, dataList, authCriteria);
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    public int renewIgnoreAuthCompany(List<ExpTypeManagerDto> dataList) throws KaidenOptimisticLockException {
        return super.renewIgnoreAuthCompany(k30mExpTypeService, dataList);
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    public List<ExpTypeManagerDto> selectTerms(ExpTypeManagerDto criteria, AuthorityCriteriaDto authCriteria) {
        return super.selectTerms(k30mExpTypeService, criteria, authCriteria);
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    public List<ExpTypeManagerDto> selectTermsIgnoreAuthCompany(ExpTypeManagerDto criteria) {
        return super.selectTermsIgnoreAuthCompany(k30mExpTypeService, criteria);
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    public List<ExpTypeManagerDto> selectListIncluedsSearchDate(ExpTypeManagerDto criteria,
            AuthorityCriteriaDto authCriteria, List<OrderDto> order) {
        return super.selectListIncluedsSearchDate(k30mExpTypeService, criteria, authCriteria, order);
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    public List<ExpTypeManagerDto> selectListIncluedsSearchDateIgnoreAuthCompany(ExpTypeManagerDto criteria,
            List<OrderDto> order) {
        return super.selectListIncluedsSearchDateIgnoreAuthCompany(k30mExpTypeService, criteria, order);
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    public void divideTerm(ExpTypeManagerDto criteria, Date divideDate, AuthorityCriteriaDto authCriteria)
            throws KaidenHaventAuthorityToCompanyException, KaidenOptimisticLockException, KaidenValidateException {
        super.divideTerm(k30mExpTypeService, criteria, divideDate, authCriteria);
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    public void divideTerm(ExpTypeManagerDto criteria, Date divideDate, AuthorityCriteriaDto authCriteria,
            String deleteFlag2nd) throws KaidenHaventAuthorityToCompanyException, KaidenOptimisticLockException,
            KaidenValidateException {
        String termCd2nd = super.divideTerm(k30mExpTypeService, criteria, divideDate, authCriteria);
        if (StringUtil.isNotEmpty(deleteFlag2nd)) {
            ExpTypeManagerDto criteria2nd = Beans.createAndCopy(ExpTypeManagerDto.class, criteria).execute();
            criteria2nd.termCd = termCd2nd;
            if (GenericFlag.isOn(deleteFlag2nd)) {
                this.toDisabled(criteria2nd, authCriteria);
            } else if (GenericFlag.isOff(deleteFlag2nd)) {
                this.toEnabled(criteria2nd, authCriteria);
            } else {
                throw KaidenIllegalParametersException.makeInstance();
            }
        }
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    public void divideTermIgnoreAuthCompany(ExpTypeManagerDto criteria, Date divideDate)
            throws KaidenOptimisticLockException, KaidenValidateException {
        super.divideTermIgnoreAuthCompany(k30mExpTypeService, criteria, divideDate);
        
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    public void divideTermIgnoreAuthCompany(ExpTypeManagerDto criteria, Date divideDate, String deleteFlag2nd)
            throws KaidenOptimisticLockException, KaidenValidateException {
        String termCd2nd = super.divideTermIgnoreAuthCompany(k30mExpTypeService, criteria, divideDate);
        if (StringUtil.isNotEmpty(deleteFlag2nd)) {
            ExpTypeManagerDto criteria2nd = Beans.createAndCopy(ExpTypeManagerDto.class, criteria).execute();
            criteria2nd.termCd = termCd2nd;
            if (GenericFlag.isOn(deleteFlag2nd)) {
                this.toDisabledIgnoreAuthCompany(criteria2nd);
            } else if (GenericFlag.isOff(deleteFlag2nd)) {
                this.toEnabledIgnoreAuthCompany(criteria2nd);
            } else {
                throw KaidenIllegalParametersException.makeInstance();
            }
        }
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    public void moveTerm(ExpTypeManagerDto criteria, Date newStartDate, Date newEndDate,
            AuthorityCriteriaDto authCriteria) throws KaidenHaventAuthorityToCompanyException,
            KaidenOptimisticLockException, KaidenValidateException {
        super.moveTerm(k30mExpTypeService, criteria, newStartDate, newEndDate, authCriteria);
        
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    public void moveTermIgnoreAuthCompany(ExpTypeManagerDto criteria, Date newStartDate, Date newEndDate)
            throws KaidenOptimisticLockException, KaidenValidateException {
        super.moveTermIgnoreAuthCompany(k30mExpTypeService, criteria, newStartDate, newEndDate);
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    public Class<? extends KaidenDto> getDtoClass() {
        return super.dtoClass;
    }
    
    /**
     * 重複チェック確認フィールドを返却.
     * <p>
     * 新規登録時、登録済みデータと引数の登録データの重複チェックを行うフィールドを返します。
     * </p>
     * 
     * @return 重複チェック確認フィールドリスト
     */
    @Override
    protected List<String> getDuplicationCheckField() {
        return Arrays.asList(new String[] {COMPANY_CD, EXP_TYPE_CD});
    }
    
    /**
     * {@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>必須、250桁</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>必須、100桁、皆伝コード、マスタ存在確認</td>
     * </tr>
     * <tr>
     * <td>税区分コード</td>
     * <td>必須、100桁、皆伝コード、マスタ存在確認</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(EXP_TYPE_CD, VALID_REQUIRED));
        result.add(new ValidateDefsDto(EXP_TYPE_CD, VALID_MAX_LENGTH, String.valueOf(EXP_TYPE_CD_LEN)));
        result.add(new ValidateDefsDto(EXP_TYPE_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(EXP_TYPE_NAME, VALID_REQUIRED));
        result.add(new ValidateDefsDto(EXP_TYPE_NAME, VALID_MAX_LENGTH, String.valueOf(EXP_TYPE_NAME_LEN)));
        // 経費区分カテゴリ
        result.add(new ValidateDefsDto(EXP_TYPE_CATEGORY, VALID_MAX_LENGTH, String.valueOf(EXP_TYPE_CATEGORY_LEN)));
        // 開始日
        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(ACCOUNT_CD, VALID_REQUIRED));
        result.add(new ValidateDefsDto(ACCOUNT_CD, VALID_MAX_LENGTH, String.valueOf(ACCOUNT_CD_LEN)));
        result.add(new ValidateDefsDto(ACCOUNT_CD, VALID_KAIDEN_ID));
        result.add(new ValidateDefsDto(ACCOUNT_CD, VALID_ACCOUNT_EXISTS, ACCOUNT_CD, COMPANY_CD, "", "true"));
        // 税区分コード
        result.add(new ValidateDefsDto(TAX_TYPE_CD, VALID_REQUIRED));
        result.add(new ValidateDefsDto(TAX_TYPE_CD, VALID_MAX_LENGTH, String.valueOf(TAX_TYPE_CD_LEN)));
        result.add(new ValidateDefsDto(TAX_TYPE_CD, VALID_KAIDEN_ID));
        result.add(new ValidateDefsDto(TAX_TYPE_CD, VALID_TAX_TYPE_EXISTS, TAX_TYPE_CD, COMPANY_CD, "", "true"));
        // ソートキー
        result.add(new ValidateDefsDto(SORT_KEY, VALID_REQUIRED));
        result.add(new ValidateDefsDto(SORT_KEY, VALID_INTEGER, String.valueOf(SORT_KEY_LEN)));
        // 削除フラグ
        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>必須、250桁</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>必須、100桁、皆伝コード、マスタ存在確認</td>
     * </tr>
     * <tr>
     * <td>税区分コード</td>
     * <td>必須、100桁、皆伝コード、マスタ存在確認</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(EXP_TYPE_CD, VALID_REQUIRED));
        result.add(new ValidateDefsDto(EXP_TYPE_CD, VALID_MAX_LENGTH, String.valueOf(EXP_TYPE_CD_LEN)));
        result.add(new ValidateDefsDto(EXP_TYPE_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(EXP_TYPE_NAME, VALID_REQUIRED));
        result.add(new ValidateDefsDto(EXP_TYPE_NAME, VALID_MAX_LENGTH, String.valueOf(EXP_TYPE_NAME_LEN)));
        result.add(new ValidateDefsDto(EXP_TYPE_CATEGORY, VALID_MAX_LENGTH, String.valueOf(EXP_TYPE_CATEGORY_LEN)));
        // 開始日
        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(ACCOUNT_CD, VALID_REQUIRED));
        result.add(new ValidateDefsDto(ACCOUNT_CD, VALID_MAX_LENGTH, String.valueOf(ACCOUNT_CD_LEN)));
        result.add(new ValidateDefsDto(ACCOUNT_CD, VALID_KAIDEN_ID));
        result.add(new ValidateDefsDto(ACCOUNT_CD, VALID_ACCOUNT_EXISTS, ACCOUNT_CD, COMPANY_CD, "", "true"));
        // 税区分コード
        result.add(new ValidateDefsDto(TAX_TYPE_CD, VALID_REQUIRED));
        result.add(new ValidateDefsDto(TAX_TYPE_CD, VALID_MAX_LENGTH, String.valueOf(TAX_TYPE_CD_LEN)));
        result.add(new ValidateDefsDto(TAX_TYPE_CD, VALID_KAIDEN_ID));
        result.add(new ValidateDefsDto(TAX_TYPE_CD, VALID_TAX_TYPE_EXISTS, TAX_TYPE_CD, COMPANY_CD, "", "true"));
        // ソートキー
        result.add(new ValidateDefsDto(SORT_KEY, VALID_REQUIRED));
        result.add(new ValidateDefsDto(SORT_KEY, VALID_INTEGER, String.valueOf(SORT_KEY_LEN)));
        
        return result;
    }
    
    /** {@inheritDoc} */
    @Override
    public Class<ExpTypeManagerDto> getMainManagerDtoClass() {
        return ExpTypeManagerDto.class;
    }
    
    @Override
    public List<ExpTypeManagerDto> selectListIgnoreAuthCompanyWithLock(ExpTypeManagerDto criteria, List<OrderDto> order) {
        Map<String, Object> criteriaMap = k30mExpTypeService.getCriteria(criteria);
        return complementEndDateForDisp(CollectionUtil.createListAndCopy(ExpTypeManagerDto.class,
                k30mExpTypeService.genericSelectList4Update(criteriaMap, order)));
    }
    
    /** {@inheritDoc} */
    @Override
    public List<String> getPkFileds() {
        return k30mExpTypeService.getPkFiled();
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    public void executeIterateLogic(ExpTypeManagerDto criteria, List<OrderDto> order,
            IterateBusinessLogicIF<ExpTypeManagerDto> logic) throws KaidenSystemException, KaidenApplicationException {
        super.iterateLogic(k30mExpTypeService, criteria, order, logic);
    }
    
    @Override
    public Map<String, Object> selectList4MstSearch(KaidenDto criteria, List<OrderDto> order,
            KeywordsCriteriaDto keywordsCriteria, SqlResultFilterIF[] filter) {
        String[] likeTarget = {EXP_TYPE_NAME, EXP_TYPE_CATEGORY, EXTENSION_A, EXTENSION_B, EXTENSION_C, EXTENSION_D,
                EXTENSION_E, EXTENSION_F, EXTENSION_G, EXTENSION_H, EXTENSION_I, EXTENSION_J, COMPANY_NAME,
                ACCOUNT_NAME, TAX_TYPE_NAME};
        Map<String, Object> resultMap = super.selectListByKeywordsFilter(k30mExpTypeService, "selectView.sql",
                criteria, order, keywordsCriteria, likeTarget, filter);
        @SuppressWarnings("unchecked")
        List<ExpTypeManagerDto> newList = (List<ExpTypeManagerDto>) resultMap.get("resultList");
        resultMap.put("resultList", newList);
        
        return resultMap;
    }
}

5.4.2.2.4. ManagerDto

  • Path
    src/main/java/jp/co/slcs/kaiden2/product_workflow/foundation/manager/exptype/ExpTypeManagerDto.java
package jp.co.slcs.kaiden2.product_workflow.foundation.manager.exptype;

import java.math.BigDecimal;
import java.sql.Timestamp;
import jp.co.slcs.kaiden2.base.foundation.model.dto.KaidenMasterManagerDto;
import jp.co.slcs.kaiden2.product_workflow.foundation.manager.exptype.impl.ExpTypeManagerImpl;

/**
 * 経費区分マスタDTO.
 * <p>
 * マネージャクラス({@link ExpTypeManagerImpl})へ渡すパラメータ、及びマネージャからの結果返却で当クラスを使用します。
 * </p>
 * 
 * @author Sumitomo Life Information Systems Co.,Ltd.
 */
public class ExpTypeManagerDto extends KaidenMasterManagerDto {
    
    /** 会社コード. */
    public String companyCd;
    /** 経費区分コード. */
    public String expTypeCd;
    /** 期間コード. */
    public String termCd;
    /** ロケールid. */
    public String localeId;
    /** 経費区分名称. */
    public String expTypeName;
    /** 経費区分カテゴリ. */
    public String expTypeCategory;
    /** 開始日. */
    public Timestamp startDate;
    /** 終了日. */
    public Timestamp endDate;
    /** 勘定科目コード. */
    public String accountCd;
    /** 税区分コード. */
    public String taxTypeCd;
    /** ソートキー. */
    public Long sortKey;
    /** 削除フラグ. */
    public String deleteFlag;
    /** 予備項目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 accountName;
    /** 税区分名称(他マスタ名称). */
    public String taxTypeName;
    /** 税率(他マスタ). */
    public BigDecimal taxRate;
    
}
  • Path
    src/main/java/jp/co/slcs/kaiden2/product_workflow/foundation/manager/exptype/ExpTypeManagerDtoFieldName.java
package jp.co.slcs.kaiden2.product_workflow.foundation.manager.exptype;

import jp.co.slcs.kaiden2.base.foundation.model.conf.EntityCommonFieldNames;
import jp.co.slcs.kaiden2.product_workflow.foundation.manager.exptype.impl.ExpTypeManagerImpl;

/**
 * 経費区分マスタDTO フィールド名定義クラス.
 * <p>
 * マネージャクラス({@link ExpTypeManagerImpl})へ渡すパラメータ、及びマネージャからの結果返却で当クラスを使用します。
 * </p>
 * 
 * @author Sumitomo Life Information Systems Co.,Ltd.
 */
public final class ExpTypeManagerDtoFieldName extends EntityCommonFieldNames {
    
    /**
     * コンストラクタ.
     */
    private ExpTypeManagerDtoFieldName() {
    }
    
    /** 会社コード. */
    public static final String COMPANY_CD = EntityCommonFieldNames.COMPANY_CD;
    /** 経費区分コード. */
    public static final String EXP_TYPE_CD = "expTypeCd";
    /** 期間コード. */
    public static final String TERM_CD = EntityCommonFieldNames.TERM_CD;
    /** ロケールid. */
    public static final String LOCALE_ID = EntityCommonFieldNames.LOCALE_ID;
    /** 経費区分名称. */
    public static final String EXP_TYPE_NAME = "expTypeName";
    /** 経費区分カテゴリ. */
    public static final String EXP_TYPE_CATEGORY = "expTypeCategory";
    /** 開始日. */
    public static final String START_DATE = EntityCommonFieldNames.START_DATE;
    /** 終了日. */
    public static final String END_DATE = EntityCommonFieldNames.END_DATE;
    /** 勘定科目コード. */
    public static final String ACCOUNT_CD = "accountCd";
    /** 税区分コード. */
    public static final String TAX_TYPE_CD = "taxTypeCd";
    /** ソートキー. */
    public static final String SORT_KEY = EntityCommonFieldNames.SORT_KEY;
    /** 削除フラグ. */
    public static final String DELETE_FLAG = EntityCommonFieldNames.DELETE_FLAG;
    
    /** 会社名称(他マスタ名称). */
    public static final String COMPANY_NAME = "companyName";
    /** 勘定科目名称(他マスタ名称). */
    public static final String ACCOUNT_NAME = "accountName";
    /** 税区分名称(他マスタ名称). */
    public static final String TAX_TYPE_NAME = "taxTypeName";
    /** 税率(他マスタ). */
    public static final String TAX_RATE = "taxRate";
}

5.4.2.2.5. Settings

  • Path
    src/main/java/jp/co/slcs/kaiden2/product_workflow/foundation/model/xml_schema/exptype_import_settings/ExpTypeImportSettings.java
package jp.co.slcs.kaiden2.product_workflow.foundation.model.xml_schema.exptype_import_settings;

import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
import jp.co.slcs.kaiden2.base.foundation.model.xml_schema.generic_import_settings.GenericImportSettings;
import jp.co.slcs.kaiden2.product_workflow.foundation.manager.exptype.ExpTypeManagerDtoFieldName;

/**
 * 経費区分マスタ読込設定DTO.
 * 
 * @author Sumitomo Life Information Systems Co.,Ltd.
 */
@XmlRootElement
@XmlType(propOrder = {})
public class ExpTypeImportSettings extends GenericImportSettings {
    
    /** serialVersionUID. */
    private static final long serialVersionUID = 1L;
    
    /**
     * フィールド定義配列.
     */
    protected String[] filedNames = new String[] {ExpTypeManagerDtoFieldName.COMPANY_CD,
            ExpTypeManagerDtoFieldName.EXP_TYPE_CD, ExpTypeManagerDtoFieldName.LOCALE_ID,
            ExpTypeManagerDtoFieldName.START_DATE, ExpTypeManagerDtoFieldName.END_DATE,
            ExpTypeManagerDtoFieldName.EXP_TYPE_NAME, ExpTypeManagerDtoFieldName.EXP_TYPE_CATEGORY,
            ExpTypeManagerDtoFieldName.ACCOUNT_CD, ExpTypeManagerDtoFieldName.TAX_TYPE_CD,
            ExpTypeManagerDtoFieldName.SORT_KEY, ExpTypeManagerDtoFieldName.DELETE_FLAG};
    
    /** {@inheritDoc} */
    @Override
    protected void initOrders() {
        super.getOrders().add(new Order(ExpTypeManagerDtoFieldName.COMPANY_CD, Order.SORT_ASC));
        super.getOrders().add(new Order(ExpTypeManagerDtoFieldName.EXP_TYPE_CD, Order.SORT_ASC));
        super.getOrders().add(new Order(ExpTypeManagerDtoFieldName.LOCALE_ID, Order.SORT_ASC));
    }
    
    /** {@inheritDoc} */
    @Override
    protected void initPkFields() {
        super.getPkFields().add(ExpTypeManagerDtoFieldName.COMPANY_CD);
        super.getPkFields().add(ExpTypeManagerDtoFieldName.EXP_TYPE_CD);
        super.getPkFields().add(ExpTypeManagerDtoFieldName.LOCALE_ID);
    }
    
    /** {@inheritDoc} */
    @Override
    protected void initI18NFields() {
        super.getI18NFields().add(ExpTypeManagerDtoFieldName.EXP_TYPE_NAME);
    }
    
    /** {@inheritDoc} */
    @Override
    protected void initFieldsOrder() {
        for (String j : filedNames) {
            super.getFieldsOrder().add(j);
        }
    }
    
}

5.4.2.3. Java(S2JDBC)

5.4.2.3.1. Entity

  • Path
    src/main/generated/jp/co/slcs/kaiden2/product_workflow/foundation/model/entity/K30mExpType.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_exp_type")
@Generated(value = {"S2JDBC-Gen 2.4.46", "org.seasar.extension.jdbc.gen.internal.model.EntityModelFactoryImpl" })
public final class K30mExpType 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 = "exp_type_cd", columnDefinition = "varchar2(100)", nullable = false, unique = false)
    public String expTypeCd;

    /** 期間コード. */
    @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 = "exp_type_name", columnDefinition = "varchar2(1000)", nullable = false, unique = false)
    public String expTypeName;

    /** 経費区分カテゴリ. */
    @Column(name = "exp_type_category", columnDefinition = "varchar2(1000)", nullable = true, unique = false)
    public String expTypeCategory;

    /** 開始日. */
    @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 = "account_cd", columnDefinition = "varchar2(100)", nullable = false, unique = false)
    public String accountCd;

    /** 税区分コード. */
    @Column(name = "tax_type_cd", columnDefinition = "varchar2(100)", nullable = false, unique = false)
    public String taxTypeCd;

    /** ソートキー. */
    @Column(name = "sort_key", columnDefinition = "number(15,0)", nullable = false, unique = false)
    public Long sortKey;

    /** 削除フラグ. */
    @Column(name = "delete_flag", columnDefinition = "varchar2(1)", nullable = false, unique = false)
    public String deleteFlag;

    /** 予備項目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.4.2.3.2. Names

  • Path
    src/main/generated/jp/co/slcs/kaiden2/product_workflow/foundation/model/entity/K30mExpTypeNames.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 K30mExpType}の名称クラス.
 * 
 * @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 K30mExpTypeNames {
    
    /**
     * デフォルトコンストラクタ.
     */
     private K30mExpTypeNames() {
         super();
     }
    
    /**
     * companyCdのプロパティ名を返却.
     * 
     * @return companyCdのプロパティ名
     */
    public static PropertyName<String> companyCd() {
        return new PropertyName<String>("companyCd");
    }
    
    /**
     * expTypeCdのプロパティ名を返却.
     * 
     * @return expTypeCdのプロパティ名
     */
    public static PropertyName<String> expTypeCd() {
        return new PropertyName<String>("expTypeCd");
    }
    
    /**
     * 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");
    }
    
    /**
     * expTypeNameのプロパティ名を返却.
     * 
     * @return expTypeNameのプロパティ名
     */
    public static PropertyName<String> expTypeName() {
        return new PropertyName<String>("expTypeName");
    }
    
    /**
     * expTypeCategoryのプロパティ名を返却.
     * 
     * @return expTypeCategoryのプロパティ名
     */
    public static PropertyName<String> expTypeCategory() {
        return new PropertyName<String>("expTypeCategory");
    }
    
    /**
     * 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");
    }
    
    /**
     * accountCdのプロパティ名を返却.
     * 
     * @return accountCdのプロパティ名
     */
    public static PropertyName<String> accountCd() {
        return new PropertyName<String>("accountCd");
    }
    
    /**
     * taxTypeCdのプロパティ名を返却.
     * 
     * @return taxTypeCdのプロパティ名
     */
    public static PropertyName<String> taxTypeCd() {
        return new PropertyName<String>("taxTypeCd");
    }
    
    /**
     * sortKeyのプロパティ名を返却.
     * 
     * @return sortKeyのプロパティ名
     */
    public static PropertyName<Long> sortKey() {
        return new PropertyName<Long>("sortKey");
    }
    
    /**
     * deleteFlagのプロパティ名を返却.
     * 
     * @return deleteFlagのプロパティ名
     */
    public static PropertyName<String> deleteFlag() {
        return new PropertyName<String>("deleteFlag");
    }
    
    /**
     * 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 _K30mExpTypeNames extends PropertyName<K30mExpType> {
        
        /**
         * インスタンスを構築.
         */
        public _K30mExpTypeNames() {
        }
        
        /**
         * インスタンスを構築.
         * 
         * @param name 名前
         */
        public _K30mExpTypeNames(final String name) {
            super(name);
        }
        
        /**
         * インスタンスを構築.
         * 
         * @param parent 親
         * @param name 名前
         */
        public _K30mExpTypeNames(final PropertyName<?> parent, final String name) {
            super(parent, name);
        }
        
        /**
         * companyCdのプロパティ名を返却.
         *
         * @return companyCdのプロパティ名
         */
        public PropertyName<String> companyCd() {
            return new PropertyName<String>(this, "companyCd");
        }
        
        /**
         * expTypeCdのプロパティ名を返却.
         *
         * @return expTypeCdのプロパティ名
         */
        public PropertyName<String> expTypeCd() {
            return new PropertyName<String>(this, "expTypeCd");
        }
        
        /**
         * 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");
        }
        
        /**
         * expTypeNameのプロパティ名を返却.
         *
         * @return expTypeNameのプロパティ名
         */
        public PropertyName<String> expTypeName() {
            return new PropertyName<String>(this, "expTypeName");
        }
        
        /**
         * expTypeCategoryのプロパティ名を返却.
         *
         * @return expTypeCategoryのプロパティ名
         */
        public PropertyName<String> expTypeCategory() {
            return new PropertyName<String>(this, "expTypeCategory");
        }
        
        /**
         * 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");
        }
        
        /**
         * accountCdのプロパティ名を返却.
         *
         * @return accountCdのプロパティ名
         */
        public PropertyName<String> accountCd() {
            return new PropertyName<String>(this, "accountCd");
        }
        
        /**
         * taxTypeCdのプロパティ名を返却.
         *
         * @return taxTypeCdのプロパティ名
         */
        public PropertyName<String> taxTypeCd() {
            return new PropertyName<String>(this, "taxTypeCd");
        }
        
        /**
         * sortKeyのプロパティ名を返却.
         *
         * @return sortKeyのプロパティ名
         */
        public PropertyName<Long> sortKey() {
            return new PropertyName<Long>(this, "sortKey");
        }
        
        /**
         * deleteFlagのプロパティ名を返却.
         *
         * @return deleteFlagのプロパティ名
         */
        public PropertyName<String> deleteFlag() {
            return new PropertyName<String>(this, "deleteFlag");
        }
        
        /**
         * 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.4.2.3.3. Service

  • Path
    src/main/generated/jp/co/slcs/kaiden2/product_workflow/foundation/model/service/K30mExpTypeService.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.K30mExpType;

/**
 * {@link K30mExpType}のサービスクラス.
 * 
 * @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 K30mExpTypeService extends GenerateService<K30mExpType> {
    //
}

5.4.2.3.4. Condition

  • Path
    src/main/generated/jp/co/slcs/kaiden2/product_workflow/foundation/model/service/K30mExpTypeCondition.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 K30mExpType}の条件クラス.
 * 
 * @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 K30mExpTypeCondition extends
        AbstractEntityCondition<K30mExpTypeCondition> {
    
    /**
     * インスタンスを構築.
     */
    public K30mExpTypeCondition() {
    }
    
    /**
     * インスタンスを構築.
     * 
     * @param prefix プレフィックス
     * @param where 検索条件
     */
    public K30mExpTypeCondition(String prefix, ComplexWhere where) {
        super(prefix, where);
    }
    
    /** companyCdの条件. */
    public NotNullableStringCondition<K30mExpTypeCondition> companyCd =
        new NotNullableStringCondition<K30mExpTypeCondition>("companyCd", this);
    
    /** expTypeCdの条件. */
    public NotNullableStringCondition<K30mExpTypeCondition> expTypeCd =
        new NotNullableStringCondition<K30mExpTypeCondition>("expTypeCd", this);
    
    /** termCdの条件. */
    public NotNullableStringCondition<K30mExpTypeCondition> termCd =
        new NotNullableStringCondition<K30mExpTypeCondition>("termCd", this);
    
    /** localeIdの条件. */
    public NotNullableStringCondition<K30mExpTypeCondition> localeId =
        new NotNullableStringCondition<K30mExpTypeCondition>("localeId", this);
    
    /** expTypeNameの条件. */
    public NotNullableStringCondition<K30mExpTypeCondition> expTypeName =
        new NotNullableStringCondition<K30mExpTypeCondition>("expTypeName", this);
    
    /** expTypeCategoryの条件. */
    public NullableStringCondition<K30mExpTypeCondition> expTypeCategory =
        new NullableStringCondition<K30mExpTypeCondition>("expTypeCategory", this);
    
    /** startDateの条件. */
    public NotNullableCondition<K30mExpTypeCondition, Timestamp> startDate =
        new NotNullableCondition<K30mExpTypeCondition, Timestamp>("startDate", this);
    
    /** endDateの条件. */
    public NotNullableCondition<K30mExpTypeCondition, Timestamp> endDate =
        new NotNullableCondition<K30mExpTypeCondition, Timestamp>("endDate", this);
    
    /** accountCdの条件. */
    public NotNullableStringCondition<K30mExpTypeCondition> accountCd =
        new NotNullableStringCondition<K30mExpTypeCondition>("accountCd", this);
    
    /** taxTypeCdの条件. */
    public NotNullableStringCondition<K30mExpTypeCondition> taxTypeCd =
        new NotNullableStringCondition<K30mExpTypeCondition>("taxTypeCd", this);
    
    /** sortKeyの条件. */
    public NotNullableCondition<K30mExpTypeCondition, Long> sortKey =
        new NotNullableCondition<K30mExpTypeCondition, Long>("sortKey", this);
    
    /** deleteFlagの条件. */
    public NotNullableStringCondition<K30mExpTypeCondition> deleteFlag =
        new NotNullableStringCondition<K30mExpTypeCondition>("deleteFlag", this);
    
    /** extensionAの条件. */
    public NullableStringCondition<K30mExpTypeCondition> extensionA =
        new NullableStringCondition<K30mExpTypeCondition>("extensionA", this);
    
    /** extensionBの条件. */
    public NullableStringCondition<K30mExpTypeCondition> extensionB =
        new NullableStringCondition<K30mExpTypeCondition>("extensionB", this);
    
    /** extensionCの条件. */
    public NullableStringCondition<K30mExpTypeCondition> extensionC =
        new NullableStringCondition<K30mExpTypeCondition>("extensionC", this);
    
    /** extensionDの条件. */
    public NullableStringCondition<K30mExpTypeCondition> extensionD =
        new NullableStringCondition<K30mExpTypeCondition>("extensionD", this);
    
    /** extensionEの条件. */
    public NullableStringCondition<K30mExpTypeCondition> extensionE =
        new NullableStringCondition<K30mExpTypeCondition>("extensionE", this);
    
    /** extensionFの条件. */
    public NullableStringCondition<K30mExpTypeCondition> extensionF =
        new NullableStringCondition<K30mExpTypeCondition>("extensionF", this);
    
    /** extensionGの条件. */
    public NullableStringCondition<K30mExpTypeCondition> extensionG =
        new NullableStringCondition<K30mExpTypeCondition>("extensionG", this);
    
    /** extensionHの条件. */
    public NullableStringCondition<K30mExpTypeCondition> extensionH =
        new NullableStringCondition<K30mExpTypeCondition>("extensionH", this);
    
    /** extensionIの条件. */
    public NullableStringCondition<K30mExpTypeCondition> extensionI =
        new NullableStringCondition<K30mExpTypeCondition>("extensionI", this);
    
    /** extensionJの条件. */
    public NullableStringCondition<K30mExpTypeCondition> extensionJ =
        new NullableStringCondition<K30mExpTypeCondition>("extensionJ", this);
    
    /** entryTsの条件. */
    public NotNullableCondition<K30mExpTypeCondition, Timestamp> entryTs =
        new NotNullableCondition<K30mExpTypeCondition, Timestamp>("entryTs", this);
    
    /** entryUserCdの条件. */
    public NotNullableStringCondition<K30mExpTypeCondition> entryUserCd =
        new NotNullableStringCondition<K30mExpTypeCondition>("entryUserCd", this);
    
    /** renewCntの条件. */
    public NotNullableCondition<K30mExpTypeCondition, Long> renewCnt =
        new NotNullableCondition<K30mExpTypeCondition, Long>("renewCnt", this);
    
    /** renewTsの条件. */
    public NotNullableCondition<K30mExpTypeCondition, Timestamp> renewTs =
        new NotNullableCondition<K30mExpTypeCondition, Timestamp>("renewTs", this);
    
    /** renewUserCdの条件. */
    public NotNullableStringCondition<K30mExpTypeCondition> renewUserCd =
        new NotNullableStringCondition<K30mExpTypeCondition>("renewUserCd", this);
}

5.4.2.4. SQL

5.4.2.4.1. 検索

  • Path
    src/main/resources/META-INF/sql/jp/co/slcs/kaiden2/product_workflow/foundation/model/service/K30mExpTypeService/selectView.sql
select
  exp.company_cd 
, exp.exp_type_cd
, exp.term_cd
, exp.locale_id
, exp.exp_type_name
, exp.exp_type_category
, exp.start_date
, exp.end_date
, exp.account_cd
, exp.tax_type_cd
, exp.sort_key
, exp.delete_flag
, exp.extension_a
, exp.extension_b
, exp.extension_c
, exp.extension_d
, exp.extension_e
, exp.extension_f
, exp.extension_g
, exp.extension_h
, exp.extension_i
, exp.extension_j
, exp.entry_ts
, exp.entry_user_cd
, exp.renew_cnt
, exp.renew_ts
, exp.renew_user_cd
, dept.department_name as company_name
, account.account_name as account_name
, tax.tax_type_name as tax_type_name
, tax.tax_rate as tax_rate
from k30m_exp_type exp
   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  exp.company_cd = dept.company_cd
     and exp.company_cd = dept.department_set_cd
     and exp.company_cd = dept.department_cd
     and exp.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 <= exp.start_date 
     --ELSE and dept.end_date > exp.start_date 
     /*END*/
   left join k30m_account account
     on  exp.company_cd = account.company_cd
     and exp.account_cd = account.account_cd
     and exp.locale_id = account.locale_id
     /*IF searchCriteriaDate != null*/
     and account.start_date <= /*searchCriteriaDate*/'2000/01/01'
     and account.end_date > /*searchCriteriaDate*/'2000/01/01'
     --ELSE and account.start_date <= exp.start_date 
     --ELSE and account.end_date > exp.start_date 
     /*END*/
   left join k30m_tax_type tax
     on  exp.company_cd = tax.company_cd
     and exp.tax_type_cd = tax.tax_type_cd
     and exp.locale_id = tax.locale_id
     /*IF searchCriteriaDate != null*/
     and tax.start_date <= /*searchCriteriaDate*/'2000/01/01'
     and tax.end_date > /*searchCriteriaDate*/'2000/01/01'
     --ELSE and tax.start_date <= exp.start_date 
     --ELSE and tax.end_date > exp.start_date 
     /*END*/
/*BEGIN*/
where
/*IF companyCd != null*/
    exp.company_cd in/*companyCd*/('comp')
/*END*/
/*IF expTypeCd != null*/
  and exp.exp_type_cd = /*expTypeCd*/'expTypeCd'
/*END*/
/*IF termCd != null*/
  and exp.term_cd = /*termCd*/'termCd'
/*END*/
/*IF localeId != null*/
  and exp.locale_id = /*localeId*/'localeId'
/*END*/
/*IF expTypeName != null*/
  and exp.exp_type_name like /*expTypeName*/'%' ESCAPE '$'
/*END*/
/*IF expTypeCategory != null*/
  and exp.exp_type_category like /*expTypeCategory*/'expTypeCategory' ESCAPE '$'
/*END*/
/*IF searchCriteriaDate != null*/
  and exp.start_date <= /*searchCriteriaDate*/'1900/01/01'
  and exp.end_date    > /*searchCriteriaDate*/'2999/12/31'
/*END*/
/*IF accountCd != null*/
  and exp.account_cd = /*accountCd*/'accountCd'
/*END*/
/*IF taxTypeCd != null*/
  and exp.tax_type_cd = /*taxTypeCd*/'taxTypeCd'
/*END*/
/*IF sortKey != null*/
  and exp.sort_key = /*sortKey*/'0'
/*END*/
/*IF deleteFlag != null*/
  and exp.delete_flag = /*deleteFlag*/'0' 
/*END*/
/*IF extensionA != null*/
  and exp.extension_a like /*extensionA*/'extensionA' ESCAPE '$'
/*END*/
/*IF extensionB != null*/
  and exp.extension_b like /*extensionB*/'extensionB' ESCAPE '$'
/*END*/
/*IF extensionC != null*/
  and exp.extension_c like /*extensionC*/'extensionC' ESCAPE '$'
/*END*/
/*IF extensionD != null*/
  and exp.extension_d like /*extensionD*/'extensionD' ESCAPE '$'
/*END*/
/*IF extensionE != null*/
  and exp.extension_e like /*extensionE*/'extensionE' ESCAPE '$'
/*END*/
/*IF extensionF != null*/
  and exp.extension_f like /*extensionF*/'extensionF' ESCAPE '$'
/*END*/
/*IF extensionG != null*/
  and exp.extension_g like /*extensionG*/'extensionG' ESCAPE '$'
/*END*/
/*IF extensionH != null*/
  and exp.extension_h like /*extensionH*/'extensionH' ESCAPE '$'
/*END*/
/*IF extensionI != null*/
  and exp.extension_i like /*extensionI*/'extensionI' ESCAPE '$'
/*END*/
/*IF extensionJ != null*/
  and exp.extension_j like /*extensionJ*/'extensionJ' ESCAPE '$'
/*END*/ 
/*IF companyName != null*/
  and dept.department_name like /*companyName*/'companyName' ESCAPE '$'
/*END*/ 
/*IF accountName != null*/
  and account.account_name like /*accountName*/'accountName' ESCAPE '$'
/*END*/ 
/*IF taxTypeName != null*/
  and tax.tax_type_name like /*taxTypeName*/'taxTypeName' ESCAPE '$'
/*END*/ 
/*IF taxRate != null*/
  and tax.tax_rate = /*taxRate*/'0' 
/*END*/ 
/*END*/
/*IF orderBy != null*/
 ORDER BY /*$orderBy*/company_cd
/*END*/

5.4.2.5. XML

  • Path
    src/main/webapp/WEB-INF/classes/jp/co/slcs/kaiden2/product_workflow/foundation/model/xml_schema/exptype_import_settings/ExpTypeImportSettings.xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<genericImportSettings xmlns="http://kaiden.slcs.co.jp/xmlschema/genericImportSettings" xmlns:tns="http://kaiden.slcs.co.jp/xmlschema/genericImportSettings">

    <!-- デフォルト設定値 -->
    <defaultSettings>
        <import_mode>1</import_mode>
        <start_date></start_date>
        <end_date></end_date>
        <shift_date></shift_date>
        <company_cd></company_cd>
        <character>UTF-8</character>
        <delimiter>,</delimiter>
        <enclosing>&quot;</enclosing>
        <normal_log>true</normal_log>
        <target_files>
            <target_file>kaiden/import/exptype/exptype_import.csv</target_file>
        </target_files>
        <start_rows>1</start_rows>
        <archive_files>
            <archive_file>kaiden/archive/import/exptype/exptype_import_{YMDHMSN}.csv</archive_file>
        </archive_files>
        <delete_flag>false</delete_flag>
    </defaultSettings>

    <!-- 会社ごとの設定(サンプル) -->
    <!-- companySettings>
        <companySetting>
            <settings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="settings">
                <import_mode>1</import_mode>
                <start_date></start_date>
                <end_date></end_date>
                <shift_date>1</shift_date>
                <company_cd>sample_company_01</company_cd>
                <character>UTF-8</character>
                <delimiter>,</delimiter>
                <enclosing>&quot;</enclosing>
                <normal_log>true</normal_log>
                <target_files>
                    <target_file>sample_company_01_exptype.csv</target_file>
                </target_files>
                <start_rows>1</start_rows>
                <archive_files>
                    <archive_file>archive/sample_company_01_exptype.csv</archive_file>
                </archive_files>
                <delete_flag>true</delete_flag>
            </settings>
        </companySetting>
    </companySettings-->
</genericImportSettings>