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

5.1.4. 旅程明細(複数通貨)

旅程明細(複数通貨)のサンプルソースです。
本サンプルソースは「intra-mart Accel Kaiden! ワークフローモジュール 2.0.2」から抜粋したソースです。

5.1.4.1. 一覧

src
└─main
    ├─generated
    │  └─jp
    │      └─co
    │          └─slcs
    │              └─kaiden2
    │                  └─product_workflow
    │                      └─foundation
    │                          └─model
    │                              ├─entity
    │                              │      K30tRouteDetail.java
    │                              │      K30tRouteDetailNames.java
    │                              │      K30tRouteDetailVal.java
    │                              │      K30tRouteDetailValNames.java
    │                              │      Ka30tRouteDetail.java
    │                              │      Ka30tRouteDetailNames.java
    │                              │      Ka30tRouteDetailVal.java
    │                              │      Ka30tRouteDetailValNames.java
    │                              └─service
    │                                      K30tRouteDetailCondition.java
    │                                      K30tRouteDetailService.java
    │                                      K30tRouteDetailValCondition.java
    │                                      K30tRouteDetailValService.java
    │                                      Ka30tRouteDetailCondition.java
    │                                      Ka30tRouteDetailService.java
    │                                      Ka30tRouteDetailValCondition.java
    │                                      Ka30tRouteDetailValService.java
    ├─java
    │  └─jp
    │      └─co
    │          └─slcs
    │              └─kaiden2
    │                  └─product_workflow
    │                      ├─feature
    │                      │  ├─action
    │                      │  │  └─kaiden
    │                      │  │      └─gadget
    │                      │  │              AbstractRouteDetailActionBase.java
    │                      │  │              RouteDetailV02Action.java
    │                      │  ├─conf
    │                      │  │  └─kaiden
    │                      │  │      └─gadget
    │                      │  │          └─routedetail
    │                      │  │                  RouteDetailFieldName.java
    │                      │  ├─form
    │                      │  │  └─kaiden
    │                      │  │      └─gadget
    │                      │  │              RouteDetailV02Form.java
    │                      │  └─logic
    │                      │      └─kaiden
    │                      │          └─gadget
    │                      │              └─routedetail
    │                      │                      AbstractRouteDetailLogicBase.java
    │                      │                      RouteDetailV02Logic.java
    │                      └─foundation
    │                          └─manager
    │                              └─routedetail
    │                                  │  RouteDetailManager.java
    │                                  │  RouteDetailManagerDto.java
    │                                  │  RouteDetailValManager.java
    │                                  │  RouteDetailValManagerDto.java
    │                                  │  RouteDetailValManagerDtoFieldName.java
    │                                  └─impl
    │                                          RouteDetailManagerImpl.java
    │                                          RouteDetailValManagerImpl.java
    ├─resources
    │  └─META-INF
    │      └─sql
    │          └─jp
    │              └─co
    │                  └─slcs
    │                      └─kaiden2
    │                          └─product_workflow
    │                              └─foundation
    │                                  ├─manager
    │                                  │  └─routedetail
    │                                  │      └─impl
    │                                  │          └─RouteDetailManagerImpl
    │                                  │                  selectForJournalSourceDtl.sql
    │                                  └─model
    │                                      └─service
    │                                          ├─K30tRouteDetailService
    │                                          │      selectView.sql
    │                                          │      selectViewForCopy.sql
    │                                          ├─K30tRouteDetailValService
    │                                          │      selectView.sql
    │                                          ├─Ka30tRouteDetailService
    │                                          │      selectViewForArchive.sql
    │                                          └─Ka30tRouteDetailValService
    │                                                  selectView.sql
    └─webapp
        └─WEB-INF
            └─view
                └─kaiden2
                    └─product_workflow
                        └─gadget
                            └─routeDetail
                                    routeDetailV02.jsp
                                    routeDetailV02_sp.jsp

5.1.4.2. Java

5.1.4.2.1. Action(基底)

  • Path
    src/main/java/jp/co/slcs/kaiden2/product_workflow/feature/action/kaiden/gadget/AbstractRouteDetailActionBase.java
package jp.co.slcs.kaiden2.product_workflow.feature.action.kaiden.gadget;

import static jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail.RouteDetailFieldName.ROUTE_DETAIL_COMPANY_AMOUNT;
import static jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail.RouteDetailFieldName.ROUTE_DETAIL_COMPANY_AMOUNT_SUM;
import static jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail.RouteDetailFieldName.ROUTE_DETAIL_COMPANY_CURRENCY_CD;
import static jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail.RouteDetailFieldName.ROUTE_DETAIL_COMPANY_RATE;
import static jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail.RouteDetailFieldName.ROUTE_DETAIL_TRANS_AMOUNT;
import static jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail.RouteDetailFieldName.ROUTE_DETAIL_TRANS_CURRENCY_CD;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.Map;
import java.util.Stack;
import jp.co.slcs.kaiden2.base.foundation.helper.NumberHelper;
import jp.co.slcs.kaiden2.base.foundation.model.dto.LogicResultDto;
import jp.co.slcs.kaiden2.base.foundation.util.ConvertForJsonSource;
import jp.co.slcs.kaiden2.base.foundation.util.ResponseWriter;
import jp.co.slcs.kaiden2.extension_imw.foundation.imw_page.AbstractImwPageForm;
import jp.co.slcs.kaiden2.extension_imw.foundation.manager.PluginLogicIF;
import jp.co.slcs.kaiden2.product_workflow.foundation.gadget.GadgetActionIF;
import net.arnx.jsonic.JSON;
import org.seasar.framework.container.SingletonS2Container;
import org.seasar.struts.annotation.Execute;

/**
 * 旅程明細ガジェットActionの抽象クラス.
 * 
 * @author Sumitomo Life Information Systems Co.,Ltd.
 */
public abstract class AbstractRouteDetailActionBase implements GadgetActionIF {
    
    /**
     * 対象ロジッククラスをサブクラスより返却.
     * 
     * @return ロジッククラス
     */
    @Override
    public abstract PluginLogicIF getLogic();
    
    /**
     * Fromをサブクラスより返却.
     * 
     * @return From
     */
    @Override
    public abstract AbstractImwPageForm getForm();
    
    /**
     * 申請画面のデータロード.
     * 
     * @return 検索結果
     */
    @Override
    @Execute(validator = false)
    public String loadApply() {
        ResponseWriter.writeJSon(JSON.encode(getViewData()));
        return null;
    }
    
    /**
     * 再申請画面のデータロード.
     * 
     * @return 検索結果
     */
    @Override
    @Execute(validator = false)
    public String loadReapply() {
        ResponseWriter.writeJSon(JSON.encode(getViewData()));
        return null;
    }
    
    /**
     * 一時保存画面のデータロード.
     * <p>
     * レスポンスに、JSON化した、ロジッククラスの戻り値{@link LogicResultDto}を出力
     * </p>
     * 
     * @return null
     */
    @Override
    @Execute(validator = false)
    public String loadTempsave() {
        ResponseWriter.writeJSon(JSON.encode(getViewData()));
        return null;
    }
    
    /**
     * 処理画面のデータロード.
     * <p>
     * レスポンスに、JSON化した、ロジッククラスの戻り値{@link LogicResultDto}を出力
     * </p>
     * 
     * @return null
     */
    @Override
    @Execute(validator = false)
    public String loadProcess() {
        ResponseWriter.writeJSon(JSON.encode(getViewData()));
        return null;
    }
    
    /**
     * 確認画面のデータロード.
     * <p>
     * レスポンスに、JSON化した、ロジッククラスの戻り値{@link LogicResultDto}を出力
     * </p>
     * 
     * @return null
     */
    @Override
    @Execute(validator = false)
    public String loadConfirm() {
        ResponseWriter.writeJSon(JSON.encode(getViewData()));
        return null;
    }
    
    /**
     * 処理詳細画面のデータロード.
     * <p>
     * レスポンスに、JSON化した、ロジッククラスの戻り値{@link LogicResultDto}を出力
     * </p>
     * 
     * @return null
     */
    @Override
    @Execute(validator = false)
    public String loadProcessDetail() {
        ResponseWriter.writeJSon(JSON.encode(getViewData()));
        return null;
    }
    
    /**
     * 画面表示用データを返却.
     * 
     * @return Managerからの返却値
     */
    @Override
    public LogicResultDto getViewData() {
        return getLogic().view(getForm(), getConvertor());
    }
    
    /**
     * 参照詳細画面のデータロード.
     * <p>
     * レスポンスに、JSON化した、ロジッククラスの戻り値{@link LogicResultDto}を出力
     * </p>
     * 
     * @return null
     */
    @Override
    @Execute(validator = false)
    public String loadReferenceDetail() {
        ResponseWriter.writeJSon(JSON.encode(getViewData()));
        return null;
    }
    
    /**
     * 確認詳細画面のデータロード.
     * <p>
     * レスポンスに、JSON化した、ロジッククラスの戻り値{@link LogicResultDto}を出力
     * </p>
     * 
     * @return null
     */
    @Override
    @Execute(validator = false)
    public String loadConfirmDetail() {
        ResponseWriter.writeJSon(JSON.encode(getViewData()));
        return null;
    }
    
    /**
     * 申請書コピーのデータロード.
     * <p>
     * レスポンスに、JSON化した、ロジッククラスの戻り値{@link LogicResultDto}を出力
     * </p>
     * 
     * @return null
     */
    @Override
    @Execute(validator = false)
    public String loadCopy() {
        ResponseWriter.writeJSon(JSON.encode(getLogic().viewForCopy(getForm(), getConvertor())));
        return null;
    }
    
    /**
     * 過去案件詳細画面のデータロード.
     * <p>
     * レスポンスに、JSON化した、ロジッククラスの戻り値{@link LogicResultDto}を出力
     * </p>
     * 
     * @return null
     */
    @Override
    @Execute(validator = false)
    public String loadArchiveMatterDetail() {
        ResponseWriter.writeJSon(JSON.encode(getLogic().viewArchive(getForm(), getConvertor())));
        return null;
    }
    
    /**
     * 書式変換設定を返却.
     * <p>
     * 標準では{@link #RouteDetailConvertor 旅程明細(標準)ガジェットの書式変換}を返却します。<br>
     * 書式を変更する場合は、サブクラスでオーバーライドしてください
     * </p>
     * 
     * @return 書式変換後データ
     */
    protected ConvertForJsonSource getConvertor() {
        return new RouteDetailConvertor(getForm());
    }
    
    /**
     * 旅程明細ガジェットの書式変換.
     * 
     * @author Sumitomo Life Information Systems Co.,Ltd.
     */
    private static class RouteDetailConvertor extends ConvertForJsonSource {
        
        /** リクエストパラメータ. */
        private AbstractImwPageForm frm;
        
        /** NumberHelper. */
        private NumberHelper numberHelper;
        
        /**
         * コンストラクタ.
         * 
         * @param frm リクエストパラメータ
         */
        public RouteDetailConvertor(AbstractImwPageForm frm) {
            this.frm = frm;
            numberHelper = SingletonS2Container.getComponent(NumberHelper.class);
        }
        
        /**
         * {@inheritDoc}
         * <p>
         * 本サブクラスでは、以下の書式変換を行う。<br>
         * <table border="1">
         * <tr>
         * <td>項目名</td>
         * <td>書式</td>
         * </tr>
         * <tr>
         * <td>取引通貨</td>
         * <td>スケールを通貨のスケールに変換</td>
         * </tr>
         * <tr>
         * <td>レート</td>
         * <td>スケールをレートスケールに変換</td>
         * </tr>
         * <tr>
         * <td>換算額</td>
         * <td>スケールを会社通貨のスケールに変換</td>
         * </tr>
         * <tr>
         * <td>会社通貨額合計</td>
         * <td>スケールを会社通貨のスケールに変換</td>
         * </tr>
         * </table>
         * </p>
         */
        @Override
        protected Map<String, Object> formatPlainValue(Map<String, Object> map, Stack<String> fldNameStack) {
            
            Map<String, Object> result = new HashMap<String, Object>(map);
            
            String currencyCd = (String) result.get(ROUTE_DETAIL_TRANS_CURRENCY_CD);
            String companyCurrencyCd = (String) result.get(ROUTE_DETAIL_COMPANY_CURRENCY_CD);
            // 取引通貨額の書式変換
            if (result.containsKey(ROUTE_DETAIL_TRANS_AMOUNT)) {
                BigDecimal amount = (BigDecimal) result.get(ROUTE_DETAIL_TRANS_AMOUNT);
                result.put(ROUTE_DETAIL_TRANS_AMOUNT,
                        numberHelper.formatCurrencyAmount4Input(amount, frm.searchCriteriaCompany, currencyCd));
            }
            // レートの書式変換
            if (result.containsKey(ROUTE_DETAIL_COMPANY_RATE)) {
                BigDecimal rate = (BigDecimal) result.get(ROUTE_DETAIL_COMPANY_RATE);
                result.put(ROUTE_DETAIL_COMPANY_RATE, numberHelper.formatRate4Input(rate));
            }
            // 換算額の書式変換
            if (result.containsKey(ROUTE_DETAIL_COMPANY_AMOUNT)) {
                BigDecimal companyAmount = (BigDecimal) result.get(ROUTE_DETAIL_COMPANY_AMOUNT);
                result.put(ROUTE_DETAIL_COMPANY_AMOUNT, numberHelper.formatCurrencyAmount4Input(companyAmount,
                        frm.searchCriteriaCompany, companyCurrencyCd));
            }
            // 会社通貨額合計の書式変換
            if (result.containsKey(ROUTE_DETAIL_COMPANY_AMOUNT_SUM)) {
                BigDecimal companyAmountSum = (BigDecimal) result.get(ROUTE_DETAIL_COMPANY_AMOUNT_SUM);
                result.put(ROUTE_DETAIL_COMPANY_AMOUNT_SUM, numberHelper.formatCurrencyAmount4Input(companyAmountSum,
                        frm.searchCriteriaCompany, companyCurrencyCd));
            }
            return result;
            
        }
        
        /**
         * {@inheritDoc}
         * <p>
         * 本サブクラスでは、以下の書式変換を行う。<br>
         * <table border="1">
         * <tr>
         * <td>項目名</td>
         * <td>書式</td>
         * </tr>
         * <tr>
         * <td>取引通貨</td>
         * <td>スケールを通貨のスケールに変換</td>
         * </tr>
         * <tr>
         * <td>レート</td>
         * <td>スケールをレートスケールに変換</td>
         * </tr>
         * <tr>
         * <td>換算額</td>
         * <td>スケールを会社通貨のスケールに変換</td>
         * </tr>
         * <tr>
         * <td>会社通貨額合計</td>
         * <td>スケールを会社通貨のスケールに変換</td>
         * </tr>
         * </table>
         * </p>
         */
        @Override
        protected Map<String, String> formatFormatedValue(Map<String, Object> map, Stack<String> fldNameStack) {
            Map<String, String> result = super.formatFormatedValue(map, fldNameStack);
            
            // 取引通貨額の書式変換
            if (map.containsKey(ROUTE_DETAIL_TRANS_AMOUNT)) {
                BigDecimal amount = (BigDecimal) map.get(ROUTE_DETAIL_TRANS_AMOUNT);
                Object currencyCd = map.get(ROUTE_DETAIL_TRANS_CURRENCY_CD);
                result.put(ROUTE_DETAIL_TRANS_AMOUNT,
                        numberHelper.formatCurrencyAmount4View(amount, frm.searchCriteriaCompany, (String) currencyCd));
            }
            // レートの書式変換
            if (map.containsKey(ROUTE_DETAIL_COMPANY_RATE)) {
                BigDecimal rate = (BigDecimal) map.get(ROUTE_DETAIL_COMPANY_RATE);
                result.put(ROUTE_DETAIL_COMPANY_RATE, numberHelper.formatRate4View(rate));
            }
            
            Object companyCurrencyCd = map.get(ROUTE_DETAIL_COMPANY_CURRENCY_CD);
            // 換算額の書式変換
            if (map.containsKey(ROUTE_DETAIL_COMPANY_AMOUNT)) {
                BigDecimal companyAmount = (BigDecimal) map.get(ROUTE_DETAIL_COMPANY_AMOUNT);
                result.put(ROUTE_DETAIL_COMPANY_AMOUNT, numberHelper.formatCurrencyAmount4View(companyAmount,
                        frm.searchCriteriaCompany, (String) companyCurrencyCd));
            }
            // 会社通貨額合計の書式変換
            if (map.containsKey(ROUTE_DETAIL_COMPANY_AMOUNT_SUM)) {
                BigDecimal companyAmountSum = (BigDecimal) map.get(ROUTE_DETAIL_COMPANY_AMOUNT_SUM);
                result.put(ROUTE_DETAIL_COMPANY_AMOUNT_SUM, numberHelper.formatCurrencyAmount4View(companyAmountSum,
                        frm.searchCriteriaCompany, (String) companyCurrencyCd));
            }
            return result;
        }
    }
}

5.1.4.2.2. Action

  • Path
    src/main/java/jp/co/slcs/kaiden2/product_workflow/feature/action/kaiden/gadget/RouteDetailV02Action.java
package jp.co.slcs.kaiden2.product_workflow.feature.action.kaiden.gadget;

import javax.annotation.Resource;
import jp.co.slcs.kaiden2.extension_imw.foundation.imw_page.AbstractImwPageForm;
import jp.co.slcs.kaiden2.extension_imw.foundation.manager.PluginLogicIF;
import jp.co.slcs.kaiden2.product_workflow.feature.form.kaiden.gadget.RouteDetailV02Form;
import jp.co.slcs.kaiden2.product_workflow.feature.logic.kaiden.gadget.routedetail.RouteDetailV02Logic;
import org.seasar.struts.annotation.ActionForm;

/**
 * 旅程明細(標準・外貨)ガジェット(Action).
 * 
 * @author Sumitomo Life Information Systems Co.,Ltd.
 */
public class RouteDetailV02Action extends AbstractRouteDetailActionBase {
    
    /**
     * RouteDetailV02Logic.
     */
    @Resource
    public RouteDetailV02Logic routeDetailV02Logic;
    
    /**
     * RouteDetailV02Form.
     */
    @ActionForm
    @Resource
    public RouteDetailV02Form routeDetailV02Form;
    
    /**
     * {@inheritDoc}
     */
    @Override
    public PluginLogicIF getLogic() {
        return routeDetailV02Logic;
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    public AbstractImwPageForm getForm() {
        return routeDetailV02Form;
    }
    
}

5.1.4.2.3. Form

  • Path
    src/main/java/jp/co/slcs/kaiden2/product_workflow/feature/form/kaiden/gadget/RouteDetailV02Form.java
package jp.co.slcs.kaiden2.product_workflow.feature.form.kaiden.gadget;

import jp.co.slcs.kaiden2.extension_imw.foundation.imw_page.AbstractImwPageForm;

/**
 * 旅程明細(標準・外貨)ガジェット(Form).
 * 
 * @author Sumitomo Life Information Systems Co.,Ltd.
 */
public class RouteDetailV02Form extends AbstractImwPageForm {
    
}

5.1.4.2.4. Logic(基底)

  • Path
    src/main/java/jp/co/slcs/kaiden2/product_workflow/feature/logic/kaiden/gadget/routedetail/AbstractRouteDetailLogicBase.java
package jp.co.slcs.kaiden2.product_workflow.feature.logic.kaiden.gadget.routedetail;

import static jp.co.slcs.kaiden2.base.foundation.util.StringUtil.isEmpty;
import static jp.co.slcs.kaiden2.base.foundation.util.StringUtil.isNotEmpty;
import static jp.co.slcs.kaiden2.base.foundation.util.validate.conf.ConstValidationIdKaidenBase.VALID_CURRENCY_AMNT;
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_DEPARTMENT_EXISTS;
import static jp.co.slcs.kaiden2.base.foundation.util.validate.conf.ConstValidationIdKaidenBase.VALID_DIGITS;
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_IMM_CURRENCY_EXISTS;
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_NUMERIC_MIN;
import static jp.co.slcs.kaiden2.extension_imw.foundation.conf.ImwEntityCommonFieldNames.GADGET_CLASS;
import static jp.co.slcs.kaiden2.extension_imw.foundation.conf.ImwEntityCommonFieldNames.GADGET_INSTANCE;
import static jp.co.slcs.kaiden2.extension_imw.foundation.conf.ImwEntityCommonFieldNames.SEARCH_CRITERIA_COMPANY;
import static jp.co.slcs.kaiden2.extension_imw.foundation.conf.ImwEntityCommonFieldNames.SYSTEM_MATTER_ID;
import static jp.co.slcs.kaiden2.extension_imw.foundation.conf.ImwEntityCommonFieldNames.USER_DATA_ID;
import static jp.co.slcs.kaiden2.extension_imw.foundation.conf.WorkflowConstants.LAST_RESULT_STATUS_APPROVEEND;
import static jp.co.slcs.kaiden2.extension_imw.foundation.conf.WorkflowConstants.LAST_RESULT_STATUS_MATTERCOMPLETE;
import static jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail.RouteDetailFieldName.ROUTE_DETAIL_ACCOUNT_CD;
import static jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail.RouteDetailFieldName.ROUTE_DETAIL_ACCOUNT_NAME;
import static jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail.RouteDetailFieldName.ROUTE_DETAIL_ARRIVAL_SPOT;
import static jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail.RouteDetailFieldName.ROUTE_DETAIL_COMPANY_AMOUNT;
import static jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail.RouteDetailFieldName.ROUTE_DETAIL_COMPANY_AMOUNT_SUM;
import static jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail.RouteDetailFieldName.ROUTE_DETAIL_COMPANY_CURRENCY_CD;
import static jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail.RouteDetailFieldName.ROUTE_DETAIL_COMPANY_CURRENCY_NAME;
import static jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail.RouteDetailFieldName.ROUTE_DETAIL_COMPANY_RATE;
import static jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail.RouteDetailFieldName.ROUTE_DETAIL_DEPARTMENT_CD;
import static jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail.RouteDetailFieldName.ROUTE_DETAIL_DEPARTMENT_NAME;
import static jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail.RouteDetailFieldName.ROUTE_DETAIL_DEPARTMENT_SET_CD;
import static jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail.RouteDetailFieldName.ROUTE_DETAIL_EXP_TYPE_CD;
import static jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail.RouteDetailFieldName.ROUTE_DETAIL_EXP_TYPE_NAME;
import static jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail.RouteDetailFieldName.ROUTE_DETAIL_PAYEE_NAME;
import static jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail.RouteDetailFieldName.ROUTE_DETAIL_PAY_METHOD_CD;
import static jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail.RouteDetailFieldName.ROUTE_DETAIL_PAY_METHOD_NAME;
import static jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail.RouteDetailFieldName.ROUTE_DETAIL_PAY_TYPE_CD;
import static jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail.RouteDetailFieldName.ROUTE_DETAIL_PAY_TYPE_NAME;
import static jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail.RouteDetailFieldName.ROUTE_DETAIL_PROJECT_CD;
import static jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail.RouteDetailFieldName.ROUTE_DETAIL_PROJECT_NAME;
import static jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail.RouteDetailFieldName.ROUTE_DETAIL_QUANTITY;
import static jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail.RouteDetailFieldName.ROUTE_DETAIL_ROUND_TRIP_FLAG;
import static jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail.RouteDetailFieldName.ROUTE_DETAIL_ROUTE_DATE;
import static jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail.RouteDetailFieldName.ROUTE_DETAIL_STARTING_SPOT;
import static jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail.RouteDetailFieldName.ROUTE_DETAIL_SUPPLEMENT;
import static jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail.RouteDetailFieldName.ROUTE_DETAIL_TAX_TYPE_CD;
import static jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail.RouteDetailFieldName.ROUTE_DETAIL_TAX_TYPE_NAME;
import static jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail.RouteDetailFieldName.ROUTE_DETAIL_TRANS_AMOUNT;
import static jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail.RouteDetailFieldName.ROUTE_DETAIL_TRANS_CURRENCY_CD;
import static jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail.RouteDetailFieldName.ROUTE_DETAIL_TRANS_CURRENCY_NAME;
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_EXP_TYPE_EXISTS;
import static jp.co.slcs.kaiden2.product_workflow.foundation.util.validate.conf.ConstValidationIdKaidenProductWorkflow.VALID_PAY_METHOD_EXISTS;
import static jp.co.slcs.kaiden2.product_workflow.foundation.util.validate.conf.ConstValidationIdKaidenProductWorkflow.VALID_PAY_TYPE_EXISTS;
import static jp.co.slcs.kaiden2.product_workflow.foundation.util.validate.conf.ConstValidationIdKaidenProductWorkflow.VALID_PROJECT_EXISTS;
import static jp.co.slcs.kaiden2.product_workflow.foundation.util.validate.conf.ConstValidationIdKaidenProductWorkflow.VALID_TAX_TYPE_EXISTS;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import javax.annotation.Resource;
import jp.co.slcs.kaiden2.base.foundation.conf.BaseProp;
import jp.co.slcs.kaiden2.base.foundation.conf.GenericFlag;
import jp.co.slcs.kaiden2.base.foundation.event.GadgetMediatorParams;
import jp.co.slcs.kaiden2.base.foundation.exception.KaidenApplicationException;
import jp.co.slcs.kaiden2.base.foundation.exception.KaidenSystemException;
import jp.co.slcs.kaiden2.base.foundation.helper.CompanySettingsHelper;
import jp.co.slcs.kaiden2.base.foundation.helper.IdentifierHelper;
import jp.co.slcs.kaiden2.base.foundation.model.dto.ErrorDetailDto;
import jp.co.slcs.kaiden2.base.foundation.model.dto.KaidenDto;
import jp.co.slcs.kaiden2.base.foundation.util.BeanUtil;
import jp.co.slcs.kaiden2.base.foundation.util.CollectionUtil;
import jp.co.slcs.kaiden2.base.foundation.util.ConvertForJsonSource;
import jp.co.slcs.kaiden2.base.foundation.util.JsonUtil;
import jp.co.slcs.kaiden2.base.foundation.util.StringUtil;
import jp.co.slcs.kaiden2.base.foundation.util.validate.CurrencyAmntValidator;
import jp.co.slcs.kaiden2.base.foundation.util.validate.DateValidator;
import jp.co.slcs.kaiden2.base.foundation.util.validate.DepartmentExistsValidator;
import jp.co.slcs.kaiden2.base.foundation.util.validate.DigitsValidator;
import jp.co.slcs.kaiden2.base.foundation.util.validate.FlagValidator;
import jp.co.slcs.kaiden2.base.foundation.util.validate.ImmCurrencyExistsValidator;
import jp.co.slcs.kaiden2.base.foundation.util.validate.MaxLengthValidator;
import jp.co.slcs.kaiden2.base.foundation.util.validate.NumericMinValidator;
import jp.co.slcs.kaiden2.extension_imw.foundation.conf.WorkflowConstants;
import jp.co.slcs.kaiden2.extension_imw.foundation.manager.CriteriaForSqlDto;
import jp.co.slcs.kaiden2.extension_imw.foundation.manager.PluginGadgetManager;
import jp.co.slcs.kaiden2.extension_imw.foundation.model.dto.MatterEndProcessDto;
import jp.co.slcs.kaiden2.extension_imw.foundation.model.dto.PluginGadgetDTO;
import jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail.RouteDetailFieldName;
import jp.co.slcs.kaiden2.product_workflow.feature.logic.kaiden.gadget.common.ClaimCompanyPayAmountIF;
import jp.co.slcs.kaiden2.product_workflow.feature.logic.kaiden.gadget.common.ClaimExpenceCountIF;
import jp.co.slcs.kaiden2.product_workflow.feature.logic.kaiden.gadget.common.ClaimExpenseAmountIF;
import jp.co.slcs.kaiden2.product_workflow.feature.logic.kaiden.gadget.common.ClaimExpenseDetailIF;
import jp.co.slcs.kaiden2.product_workflow.feature.logic.kaiden.gadget.common.ClaimPayMethodIF;
import jp.co.slcs.kaiden2.product_workflow.feature.logic.kaiden.gadget.common.ClaimTemporaryPayAmountIF;
import jp.co.slcs.kaiden2.product_workflow.foundation.conf.JournalDataTypeCd;
import jp.co.slcs.kaiden2.product_workflow.foundation.conf.ProductWorkflowProp;
import jp.co.slcs.kaiden2.product_workflow.foundation.gadget.AbstractExpensePluginGadgetLogic;
import jp.co.slcs.kaiden2.product_workflow.foundation.manager.journalsourcedtl.JournalSourceDtlManager;
import jp.co.slcs.kaiden2.product_workflow.foundation.manager.journalsourcedtl.JournalSourceDtlManagerDto;
import jp.co.slcs.kaiden2.product_workflow.foundation.manager.routedetail.RouteDetailManager;
import jp.co.slcs.kaiden2.product_workflow.foundation.manager.routedetail.RouteDetailManagerDto;
import jp.co.slcs.kaiden2.product_workflow.foundation.manager.routedetail.RouteDetailValManager;
import jp.co.slcs.kaiden2.product_workflow.foundation.manager.routedetail.RouteDetailValManagerDto;
import jp.co.slcs.kaiden2.product_workflow.foundation.util.validate.AccountExistsValidator;
import jp.co.slcs.kaiden2.product_workflow.foundation.util.validate.ExpTypeExistsValidator;
import jp.co.slcs.kaiden2.product_workflow.foundation.util.validate.PayMethodExistsValidator;
import jp.co.slcs.kaiden2.product_workflow.foundation.util.validate.PayTypeExistsValidator;
import jp.co.slcs.kaiden2.product_workflow.foundation.util.validate.ProjectExistsValidator;
import jp.co.slcs.kaiden2.product_workflow.foundation.util.validate.TaxTypeExistsValidator;
import org.seasar.framework.beans.util.Beans;
import org.seasar.util.beans.util.BeanMap;

/**
 * 旅程ガジェット用ロジックの抽象クラス.
 * 
 * @author Sumitomo Life Information Systems Co.,Ltd.
 */
public abstract class AbstractRouteDetailLogicBase extends AbstractExpensePluginGadgetLogic {
    
    /** ガジェットブロックキー: 旅程明細(ヘッダー). */
    protected static final String BLOCK_KEY_ROUTE_INFO_TABLE = "routeInfoTable";
    /** ガジェットブロックキー: 旅程明細(明細). */
    protected static final String BLOCK_KEY_ROUTE_DETAIL_TABLE = "routeDetailTable";
    
    /** 旅程日付項目長. */
    public static final int ROUTE_DATE_LEN = 100;
    /** 出発地項目長. */
    public static final int STARTING_SPOT_LEN = 250;
    /** 到着地項目長. */
    public static final int ARRIVAL_SPOT_LEN = 250;
    /** 補足項目長. */
    public static final int SUPPLEMENT_LEN = 1000;
    /** 経路検索id項目長. */
    public static final int ROUTE_SEARCH_ID_LEN = 100;
    /** 税率(整数部). */
    public static final int TAX_RATE_INT_LEN = 18;
    /** 税率(小数部). */
    public static final int TAX_RATE_DEC_LEN = 10;
    /** 会社通貨換算レート(整数部). */
    public static final int COMPANY_RATE_INT_LEN = 18;
    /** 会社通貨換算レート(小数部). */
    public static final int COMPANY_RATE_DEC_LEN = 10;
    /** 支払先項目長. */
    public static final int PAYEE_NAME_LEN = 250;
    /** 数量(整数部). */
    public static final int QUANTITY_INT_LEN = 18;
    /** 数量(小数部). */
    public static final int QUANTITY_DEC_LEN = 10;
    
    /** 旅程明細.予備項目A~Jの最大長. */
    public static final int ROUTE_EXTENSION_COMON_LEN = 250;
    
    /** RouteDetailManager. */
    @Resource
    protected RouteDetailManager routeDetailManager;
    
    /** RouteDetailValManager. */
    @Resource
    protected RouteDetailValManager routeDetailValManager;
    
    /** JournalSourceDtlManager. */
    @Resource
    protected JournalSourceDtlManager journalSourceDtlManager;
    
    /** CompanySettingsHelper. */
    @Resource
    protected CompanySettingsHelper companySettingsHelper;
    
    /** IdentifierHelper. */
    @Resource
    protected IdentifierHelper identifierHelper;
    
    /** コンストラクタ. */
    public AbstractRouteDetailLogicBase() {
        super();
    }
    
    /**
     * {@inheritDoc}
     * <p>
     * 旅程明細を登録します。
     * </p>
     */
    @Override
    public int apply(KaidenDto dto) throws KaidenSystemException, KaidenApplicationException {
        return insertTable();
    }
    
    /**
     * {@inheritDoc}
     * <p>
     * 対象となる旅程明細テーブルを削除後に、旅程明細テーブルを登録します。<br>
     * 削除条件のシステム案件IDは、"{@link WorkflowConstants#SYSTEM_MATTER_ID_TEMPORARY temporary}"を利用します。
     * </p>
     */
    @Override
    public int applyFromTempSave(KaidenDto dto) throws KaidenSystemException, KaidenApplicationException {
        deleteTable(true);
        return insertTable();
    }
    
    /**
     * {@inheritDoc}
     * <p>
     * 旅程明細を登録します。
     * </p>
     */
    @Override
    public int applyFromUnapply(KaidenDto dto) throws KaidenSystemException, KaidenApplicationException {
        return insertTable();
    }
    
    /**
     * {@inheritDoc}
     * <p>
     * 直前のユーザデータIDが設定されている場合に、旅程明細テーブルを登録します。
     * </p>
     */
    @Override
    public int approve(KaidenDto dto) throws KaidenSystemException, KaidenApplicationException {
        int rv = 0;
        if (StringUtil.isNotEmpty(super.getGadgetDto().beforeUserDataId)) {
            rv = insertTable();
        }
        return rv;
    }
    
    /**
     * {@inheritDoc}
     * <p>
     * 直前のユーザデータIDが設定されている場合に、旅程明細テーブルを登録します。
     * </p>
     */
    @Override
    public int approveEnd(KaidenDto dto) throws KaidenSystemException, KaidenApplicationException {
        int rv = 0;
        if (StringUtil.isNotEmpty(super.getGadgetDto().beforeUserDataId)) {
            rv = insertTable();
        }
        return rv;
    }
    
    /**
     * {@inheritDoc}
     * <p>
     * 本機能では何も処理を行わず、常に0を返却します。
     * </p>
     */
    @Override
    public int deny(KaidenDto dto) throws KaidenSystemException, KaidenApplicationException {
        return 0;
    }
    
    /**
     * {@inheritDoc}
     * <p>
     * 本機能では何も処理を行わず、常に0を返却します。
     * </p>
     */
    @Override
    public int discontinue(KaidenDto dto) throws KaidenSystemException, KaidenApplicationException {
        return 0;
    }
    
    /**
     * {@inheritDoc}
     * <p>
     * 本機能では何も処理を行わず、常に0を返却します。
     * </p>
     */
    @Override
    public int matterHandle(KaidenDto dto) throws KaidenSystemException, KaidenApplicationException {
        return 0;
    }
    
    /**
     * {@inheritDoc}
     * <p>
     * 本機能では何も処理を行わず、常に0を返却します。
     * </p>
     */
    @Override
    public int pullBack(KaidenDto dto) throws KaidenSystemException, KaidenApplicationException {
        return 0;
    }
    
    /**
     * {@inheritDoc}
     * <p>
     * 旅程明細を登録します。
     * </p>
     */
    @Override
    public int reapply(KaidenDto dto) throws KaidenSystemException, KaidenApplicationException {
        return insertTable();
    }
    
    /**
     * {@inheritDoc}
     * <p>
     * 直前のユーザデータIDが設定されている場合に、旅程明細テーブルを登録します。
     * </p>
     */
    @Override
    public int reserve(KaidenDto dto) throws KaidenSystemException, KaidenApplicationException {
        int rv = 0;
        if (StringUtil.isNotEmpty(super.getGadgetDto().beforeUserDataId)) {
            rv = insertTable();
        }
        return rv;
    }
    
    /**
     * {@inheritDoc}
     * <p>
     * 直前のユーザデータIDが設定されている場合に、旅程明細テーブルを登録します。
     * </p>
     */
    @Override
    public int reserveCancel(KaidenDto dto) throws KaidenSystemException, KaidenApplicationException {
        int rv = 0;
        if (StringUtil.isNotEmpty(super.getGadgetDto().beforeUserDataId)) {
            rv = insertTable();
        }
        return rv;
    }
    
    /**
     * {@inheritDoc}
     * <p>
     * 直前のユーザデータIDが設定されている場合に、旅程明細テーブルを登録します。
     * </p>
     */
    @Override
    public int sendBack(KaidenDto dto) throws KaidenSystemException, KaidenApplicationException {
        int rv = 0;
        if (StringUtil.isNotEmpty(super.getGadgetDto().beforeUserDataId)) {
            rv = insertTable();
        }
        return rv;
    }
    
    /**
     * {@inheritDoc}
     * <p>
     * 本機能では何も処理を行わず、常に0を返却します。
     * </p>
     */
    @Override
    public int sendBackToPullBack(KaidenDto dto) throws KaidenSystemException, KaidenApplicationException {
        return 0;
    }
    
    /**
     * {@inheritDoc}
     * <p>
     * 旅程明細を登録します。
     * </p>
     */
    @Override
    public int tempSaveCreate(KaidenDto dto) throws KaidenSystemException, KaidenApplicationException {
        return insertTable();
    }
    
    /**
     * {@inheritDoc}
     * <p>
     * 旅程明細テーブルの対象データを削除します。<br>
     * 削除条件のシステム案件IDは、"{@link WorkflowConstants#SYSTEM_MATTER_ID_TEMPORARY temporary}"を利用します。
     * </p>
     */
    @Override
    public int tempSaveDelete(KaidenDto dto) throws KaidenSystemException, KaidenApplicationException {
        return deleteTable(true);
    }
    
    /**
     * {@inheritDoc}
     * <p>
     * 対象となる旅程明細テーブルを削除後に、旅程明細テーブルを登録します。<br>
     * 削除条件のシステム案件IDは、"{@link WorkflowConstants#SYSTEM_MATTER_ID_TEMPORARY temporary}"を利用します。
     * </p>
     */
    @Override
    public int tempSaveUpdate(KaidenDto dto) throws KaidenSystemException, KaidenApplicationException {
        deleteTable(true);
        return insertTable();
    }
    
    /**
     * {@inheritDoc}
     * <p>
     * 本機能では何も処理を行わず、常に0を返却します。
     * </p>
     */
    @Override
    public int matterStart(KaidenDto dto) throws KaidenSystemException, KaidenApplicationException {
        return 0;
    }
    
    /**
     * {@inheritDoc}
     * <p>
     * 処理結果ステータスが[承認終了]、[最終承認]の場合に、仕訳連携用明細テーブルへのデータ登録処理を行います。<br>
     * ただし上記処理結果ステータスの場合でも、{@link #isRequiredCreateJournalData(JournalDataCreateType)}の判定結果によっては、<br>
     * 仕訳連携用明細テーブルへのデータ登録処理を行わない場合があります。<br>
     * 詳細は、{@link #isRequiredCreateJournalData(JournalDataCreateType)}を参照ください。
     * </p>
     */
    @Override
    public int matterEnd(KaidenDto dto) throws KaidenSystemException, KaidenApplicationException {
        
        PluginGadgetDTO pluginGadgetDTO = BeanUtil.toCast(PluginGadgetDTO.class, dto);
        MatterEndProcessDto matterEndProcessDto = BeanUtil.toCast(MatterEndProcessDto.class,
                pluginGadgetDTO.imwPluginParameterDto);
        
        String status = matterEndProcessDto.lastResultStatus;
        
        int rv = 0;
        
        if (LAST_RESULT_STATUS_MATTERCOMPLETE.equals(status) || LAST_RESULT_STATUS_APPROVEEND.equals(status)) {
            
            if (isRequiredCreateJournalData(JournalDataCreateType.DETAIL_COST)) {
                // 旅程明細データ取得キー
                CriteriaForSqlDto criteriaDto = new CriteriaForSqlDto();
                criteriaDto.systemMatterId = pluginGadgetDTO.systemMatterId;
                criteriaDto.userDataId = pluginGadgetDTO.userDataId;
                criteriaDto.gadgetClass = pluginGadgetDTO.gadgetClass;
                criteriaDto.gadgetInstance = pluginGadgetDTO.gadgetInstance;
                // 旅程明細データを取得
                List<BeanMap> beanMapList = routeDetailManager.selectForJournalSourceDtl(criteriaDto);
                List<JournalSourceDtlManagerDto> insList = CollectionUtil.toDtoList(JournalSourceDtlManagerDto.class,
                        beanMapList);
                
                // 仕訳連携用明細テーブル登録処理
                rv += insertTableJournalSourceDtl(insList, matterEndProcessDto);
            }
        }
        
        return rv;
    }
    
    /**
     * {@inheritDoc}
     * <p>
     * 本機能では何も処理を行わず、常に0を返却します。
     * </p>
     */
    @Override
    public int arrive(KaidenDto dto) throws KaidenSystemException, KaidenApplicationException {
        return 0;
    }
    
    /**
     * {@inheritDoc}
     * <p>
     * 対象となる旅程明細の履歴を含めた全てのデータを削除します。
     * </p>
     */
    @Override
    public int actvMatterDelete(KaidenDto dto) throws KaidenSystemException, KaidenApplicationException {
        return deleteTableIncludeBackground();
    }
    
    /**
     * {@inheritDoc} *
     * <p>
     * 対象となる(過去案件)旅程明細テーブルを一括削除します。
     * </p>
     */
    @Override
    public int arcMatterDelete(KaidenDto dto) throws KaidenSystemException, KaidenApplicationException {
        CriteriaForSqlDto criteria = super.convCriteriaForSqlDtoForArchive(super.getGadgetDto().imwPluginParameterDto);
        routeDetailValManager.removeAllArchive(criteria);
        int rv = routeDetailManager.removeAllArchive(criteria);
        return rv;
    }
    
    /**
     * {@inheritDoc}
     * <p>
     * 対象となる旅程明細の履歴を含めた全てのデータを削除します。
     * </p>
     */
    @Override
    public int cplMatterDelete(KaidenDto dto) throws KaidenSystemException, KaidenApplicationException {
        return deleteTableIncludeBackground();
    }
    
    /**
     * {@inheritDoc}
     * 
     * @see #viewMapFormated
     */
    @Override
    protected Map<String, Object> viewMap(PluginGadgetDTO conditionDto) throws KaidenSystemException {
        return viewMapFormated(conditionDto, null);
    }
    
    /**
     * {@inheritDoc}
     * <p>
     * データの取得は、{@link RouteDetailManager#selectList(RouteDetailManagerDto)}を利用します。
     * </p>
     */
    @Override
    protected Map<String, Object> viewMapFormated(PluginGadgetDTO conditionDto, ConvertForJsonSource converter)
            throws KaidenSystemException {
        
        RouteDetailManagerDto dto = Beans.createAndCopy(RouteDetailManagerDto.class, conditionDto).execute();
        List<RouteDetailManagerDto> listSelect = routeDetailManager.selectList(dto);
        LinkedHashMap<String, Object> rv = new LinkedHashMap<String, Object>();
        List<Map<String, Object>> lstDtoMap = new ArrayList<Map<String, Object>>();
        for (RouteDetailManagerDto src : listSelect) {
            if (converter == null) {
                lstDtoMap.add(BeanUtil.toMap(src, true));
            } else {
                lstDtoMap.add(converter.mapConvert(BeanUtil.toMap(src, true)));
            }
        }
        rv.put(BLOCK_KEY_ROUTE_DETAIL_TABLE, lstDtoMap);
        return rv;
    }
    
    /**
     * 旅程明細テーブル・旅程明細駅すぱあと検索テーブルデータ登録処理.
     * <p>
     * 旅程明細駅すぱあと検索テーブルについては、駅すぱあと連携をしていない場合は登録対象外です。
     * </p>
     * 
     * @return 更新カウント
     * @throws KaidenSystemException システムエラー
     */
    protected int insertTable() throws KaidenSystemException {
        // 旅程明細ガジェットデータをMap形式で取得
        List<RouteDetailManagerDto> dtos = JsonUtil.getDtoList(RouteDetailManagerDto.class,
                getJsonDataDetailBlock(BLOCK_KEY_ROUTE_DETAIL_TABLE));
        for (RouteDetailManagerDto dto : dtos) {
            if (GenericFlag.isOn(dto.routeLinkFlag)) {
                dto.routeSearchId = identifierHelper.get();
                
                // 旅程明細駅すぱあと検索テーブルへの登録
                RouteDetailValManagerDto valTarget = new RouteDetailValManagerDto();
                valTarget.routeSearchId = dto.routeSearchId;
                valTarget.commutationRoute = dto.commutationRoute;
                valTarget.searchCondition = dto.searchCondition;
                valTarget.routeInfo = dto.routeInfo;
                valTarget.assessDate = dto.assessDate;
                valTarget.tranceMeansFlag = dto.tranceMeansFlag;
                valTarget.assessFlag = dto.assessFlag;
                routeDetailValManager.entryIgnoreAuthCompany(valTarget);
            }
        }
        // 旅程明細テーブル登録
        return routeDetailManager.entry(dtos);
    }
    
    /**
     * 仕訳連携用明細テーブルデータ登録処理.
     * 
     * @param srcList 旅程明細テーブルデータリスト
     * @param matterEndProcessDto 案件終了処理用DTO
     * @return 更新カウント
     * @throws KaidenSystemException システムエラー
     */
    protected int insertTableJournalSourceDtl(List<JournalSourceDtlManagerDto> srcList,
            MatterEndProcessDto matterEndProcessDto) throws KaidenSystemException {
        for (JournalSourceDtlManagerDto srcDto : srcList) {
            // 仕訳データ区分をセット
            srcDto.journalDataTypeCd = JournalDataTypeCd.JOURNAL_DATA_TYPE_CD_COST.getCode();
        }
        
        // 仕訳連携用明細テーブル登録
        return journalSourceDtlManager.entry(srcList);
    }
    
    /**
     * 旅程明細テーブル・旅程明細駅すぱあと検索テーブルデータ削除処理.
     * <p>
     * 旅程明細駅すぱあと検索テーブルについては、駅すぱあと連携をしていない場合は、削除対象外です。
     * </p>
     * 
     * @param tempFlg 一時保存データフラグ
     * @return 更新カウント
     * @throws KaidenSystemException システムエラー
     */
    protected int deleteTable(boolean tempFlg) throws KaidenSystemException {
        RouteDetailManagerDto mngDto = new RouteDetailManagerDto();
        mngDto.systemMatterId = super.getGadgetDto().systemMatterId;
        mngDto.userDataId = super.getGadgetDto().userDataId;
        mngDto.gadgetClass = super.getGadgetDto().gadgetClass;
        mngDto.gadgetInstance = super.getGadgetDto().gadgetInstance;
        if (tempFlg) {
            mngDto.systemMatterId = WorkflowConstants.SYSTEM_MATTER_ID_TEMPORARY;
        }
        List<RouteDetailManagerDto> detailList = routeDetailManager.selectList(mngDto);
        for (RouteDetailManagerDto dto : detailList) {
            if (GenericFlag.isOn(dto.routeLinkFlag)) {
                
                // 旅程明細駅すぱあと検索テーブルの削除
                RouteDetailValManagerDto valTarget = new RouteDetailValManagerDto();
                valTarget.routeSearchId = dto.routeSearchId;
                routeDetailValManager.removeIgnoreAuthCompany(valTarget);
            }
        }
        return routeDetailManager.remove(mngDto);
    }
    
    /**
     * 旅程明細テーブル・旅程明細駅すぱあと検索テーブルデータ削除処理(履歴を含む).
     * <p>
     * 旅程明細駅すぱあと検索テーブルについては、駅すぱあと連携をしていない場合は、削除対象外です。
     * </p>
     * 
     * @return 更新カウント
     * @throws KaidenSystemException システムエラー
     */
    protected int deleteTableIncludeBackground() throws KaidenSystemException {
        RouteDetailManagerDto mngDto = new RouteDetailManagerDto();
        mngDto.systemMatterId = super.getGadgetDto().systemMatterId;
        mngDto.userDataId = null;
        mngDto.gadgetClass = super.getGadgetDto().gadgetClass;
        mngDto.gadgetInstance = super.getGadgetDto().gadgetInstance;
        List<RouteDetailManagerDto> detailList = routeDetailManager.selectList(mngDto);
        for (RouteDetailManagerDto dto : detailList) {
            if (GenericFlag.isOn(dto.routeLinkFlag)) {
                
                // 旅程明細駅すぱあと検索テーブルの削除
                RouteDetailValManagerDto valTarget = new RouteDetailValManagerDto();
                valTarget.routeSearchId = dto.routeSearchId;
                routeDetailValManager.removeIgnoreAuthCompany(valTarget);
            }
        }
        return routeDetailManager.removeAll(mngDto);
    }
    
    /**
     * {@inheritDoc}
     * 
     * @see #defineValidateForNormal(GadgetMediatorParams, boolean)
     */
    @Override
    protected void defineValidateForApply(GadgetMediatorParams params) throws KaidenSystemException,
            KaidenApplicationException {
        defineValidateForNormal(params, false);
    }
    
    /**
     * {@inheritDoc}
     * 
     * @see #defineValidateForNormal(GadgetMediatorParams, boolean)
     */
    @Override
    protected void defineValidateForApplyFromTempSave(GadgetMediatorParams params) throws KaidenSystemException,
            KaidenApplicationException {
        defineValidateForNormal(params, false);
    }
    
    /**
     * {@inheritDoc}
     * 
     * @see #defineValidateForNormal(GadgetMediatorParams, boolean)
     */
    @Override
    protected void defineValidateForApplyFromUnapply(GadgetMediatorParams params) throws KaidenSystemException,
            KaidenApplicationException {
        defineValidateForNormal(params, false);
    }
    
    /**
     * {@inheritDoc}
     * 
     * @see #defineValidateForNormal(GadgetMediatorParams, boolean)
     */
    @Override
    protected void defineValidateForApprove(GadgetMediatorParams params) throws KaidenSystemException,
            KaidenApplicationException {
        defineValidateForNormal(params, false);
    }
    
    /**
     * {@inheritDoc}
     * 
     * @see #defineValidateForNormal(GadgetMediatorParams, boolean)
     */
    @Override
    protected void defineValidateForApproveEnd(GadgetMediatorParams params) throws KaidenSystemException,
            KaidenApplicationException {
        defineValidateForNormal(params, false);
    }
    
    /**
     * {@inheritDoc}
     * 
     * @see #defineValidateForNormal(GadgetMediatorParams, boolean)
     */
    @Override
    protected void defineValidateForReapply(GadgetMediatorParams params) throws KaidenSystemException,
            KaidenApplicationException {
        defineValidateForNormal(params, false);
    }
    
    /**
     * {@inheritDoc}
     * 
     * @see #defineValidateForNormal(GadgetMediatorParams, boolean)
     */
    @Override
    protected void defineValidateForReserve(GadgetMediatorParams params) throws KaidenSystemException,
            KaidenApplicationException {
        if (StringUtil.isNotEmpty(super.getGadgetDto().beforeUserDataId)) {
            defineValidateForNormal(params, false);
        }
    }
    
    /**
     * {@inheritDoc}
     * 
     * @see #defineValidateForNormal(GadgetMediatorParams, boolean)
     */
    @Override
    protected void defineValidateForReserveCancel(GadgetMediatorParams params) throws KaidenSystemException,
            KaidenApplicationException {
        if (StringUtil.isNotEmpty(super.getGadgetDto().beforeUserDataId)) {
            defineValidateForNormal(params, false);
        }
    }
    
    /**
     * {@inheritDoc}
     * 
     * @see #defineValidateForNormal(GadgetMediatorParams, boolean)
     */
    @Override
    protected void defineValidateForSendBack(GadgetMediatorParams params) throws KaidenSystemException,
            KaidenApplicationException {
        if (StringUtil.isNotEmpty(super.getGadgetDto().beforeUserDataId)) {
            defineValidateForNormal(params, false);
        }
    }
    
    /**
     * {@inheritDoc}
     * 
     * @see #defineValidateForNormal(GadgetMediatorParams, boolean)
     */
    @Override
    protected void defineValidateForTempSaveCreate(GadgetMediatorParams params) throws KaidenSystemException,
            KaidenApplicationException {
        defineValidateForNormal(params, true);
    }
    
    /**
     * {@inheritDoc}
     * 
     * @see #defineValidateForNormal(GadgetMediatorParams, boolean)
     */
    @Override
    protected void defineValidateForTempSaveUpdate(GadgetMediatorParams params) throws KaidenSystemException,
            KaidenApplicationException {
        defineValidateForNormal(params, true);
    }
    
    /**
     * フィールドバリデート定義.
     * <p>
     * <table border="1">
     * <tr>
     * <td align="center">対象フィールド名</td>
     * <td align="center">検証内容</td>
     * <td align="center">モード</td>
     * </tr>
     * <tr>
     * <td>旅程日付</td>
     * <td>{@link DateValidator 日付型チェック}</td>
     * <td align="center">入力</td>
     * </tr>
     * <tr>
     * <td>出発地</td>
     * <td>{@link MaxLengthValidator 最大文字数チェック}</td>
     * <td align="center">入力</td>
     * </tr>
     * <tr>
     * <td>到着地</td>
     * <td>{@link MaxLengthValidator 最大文字数チェック}</td>
     * <td align="center">入力</td>
     * </tr>
     * <tr>
     * <td>補足</td>
     * <td>{@link MaxLengthValidator 最大文字数チェック}</td>
     * <td align="center">入力</td>
     * </tr>
     * <tr>
     * <td>往復フラグ</td>
     * <td>{@link FlagValidator フラグチェック}</td>
     * <td align="center">入力</td>
     * </tr>
     * <tr>
     * <td>経費区分コード</td>
     * <td>{@link ExpTypeExistsValidator 経費区分マスタ存在チェック}</td>
     * <td align="center">入力/表示</td>
     * </tr>
     * <tr>
     * <td>勘定科目コード</td>
     * <td>{@link AccountExistsValidator 勘定科目マスタ存在チェック}</td>
     * <td align="center">入力/表示</td>
     * </tr>
     * <tr>
     * <td>税区分コード</td>
     * <td>{@link TaxTypeExistsValidator 税区分マスタ存在チェック}</td>
     * <td align="center">入力/表示</td>
     * </tr>
     * <tr>
     * <td>取引通貨額</td>
     * <td>{@link CurrencyAmntValidator 通貨額チェック}</td>
     * <td align="center">入力</td>
     * </tr>
     * <tr>
     * <td>取引通貨コード</td>
     * <td>{@link ImmCurrencyExistsValidator 通貨存在チェック}</td>
     * <td align="center">入力/表示</td>
     * </tr>
     * <tr>
     * <td rowspan="2">会社通貨換算レート</td>
     * <td>{@link DigitsValidator 小数型チェック}</td>
     * <td align="center">入力</td>
     * </tr>
     * <tr>
     * <td>{@link NumericMinValidator 最小数値チェック}</td>
     * <td align="center">入力</td>
     * </tr>
     * <tr>
     * <td>会社通貨コード</td>
     * <td>{@link ImmCurrencyExistsValidator 通貨存在チェック}</td>
     * <td align="center">入力/表示</td>
     * </tr>
     * <tr>
     * <td>会社通貨額</td>
     * <td>{@link CurrencyAmntValidator 通貨額チェック}</td>
     * <td align="center">入力</td>
     * </tr>
     * <tr>
     * <td>支払分類コード</td>
     * <td>{@link PayTypeExistsValidator 支払分類マスタ存在チェック}</td>
     * <td align="center">入力/表示</td>
     * </tr>
     * <tr>
     * <td>支払方法コード</td>
     * <td>{@link PayMethodExistsValidator 支払方法マスタ存在チェック}</td>
     * <td align="center">入力/表示</td>
     * </tr>
     * <tr>
     * <td>支払先名</td>
     * <td>{@link MaxLengthValidator 最大文字数チェック}</td>
     * <td align="center">入力</td>
     * </tr>
     * <tr>
     * <td>組織コード</td>
     * <td>{@link DepartmentExistsValidator 組織コード存在チェック}</td>
     * <td align="center">入力/表示</td>
     * </tr>
     * <tr>
     * <td>プロジェクトコード</td>
     * <td>{@link ProjectExistsValidator プロジェクトマスタ存在チェック}</td>
     * <td align="center">入力/表示</td>
     * </tr>
     * <tr>
     * <td>数量</td>
     * <td>{@link DigitsValidator 小数型チェック}</td>
     * <td align="center">入力</td>
     * </tr>
     * <tr>
     * <td>会社通貨額合計</td>
     * <td>{@link CurrencyAmntValidator 通貨額チェック}</td>
     * <td align="center">入力</td>
     * </tr>
     * </table>
     * </p>
     * 
     * @param params ガジェットメディエータ処理情報クラス
     * @param tmpFlg 一時保存識別 (true:一時保存)
     * @throws KaidenSystemException システムエラーが発生
     * @throws KaidenApplicationException アプリケーションエラーが発生
     */
    protected void defineValidateForNormal(GadgetMediatorParams params, boolean tmpFlg) throws KaidenSystemException,
            KaidenApplicationException {
        
        if (fieldDefsMap.containsKey(BLOCK_KEY_ROUTE_DETAIL_TABLE)) {
            addValidateDefsRequired(BLOCK_KEY_ROUTE_DETAIL_TABLE, tmpFlg);
            // 旅程日付
            addValidateOnlyInput(ROUTE_DETAIL_ROUTE_DATE, VALID_DATE);
            // 出発地
            addValidateOnlyInput(ROUTE_DETAIL_STARTING_SPOT, VALID_MAX_LENGTH, getArgs(STARTING_SPOT_LEN));
            // 到着地
            addValidateOnlyInput(ROUTE_DETAIL_ARRIVAL_SPOT, VALID_MAX_LENGTH, getArgs(ARRIVAL_SPOT_LEN));
            // 補足
            addValidateOnlyInput(ROUTE_DETAIL_SUPPLEMENT, VALID_MAX_LENGTH, getArgs(SUPPLEMENT_LEN));
            // 往復フラグ
            addValidateOnlyInput(ROUTE_DETAIL_ROUND_TRIP_FLAG, VALID_FLAG);
            // 経費区分コード
            addValidate(ROUTE_DETAIL_EXP_TYPE_CD, VALID_EXP_TYPE_EXISTS, ROUTE_DETAIL_EXP_TYPE_CD,
                    getGadgetDto().searchCriteriaCampany, dateHelper.toYYYYMMDD(getGadgetDto().searchCriteriaDate));
            // 勘定科目コード
            addValidate(ROUTE_DETAIL_ACCOUNT_CD, VALID_ACCOUNT_EXISTS, ROUTE_DETAIL_ACCOUNT_CD,
                    getGadgetDto().searchCriteriaCampany, dateHelper.toYYYYMMDD(getGadgetDto().searchCriteriaDate));
            // 税区分コード
            addValidate(ROUTE_DETAIL_TAX_TYPE_CD, VALID_TAX_TYPE_EXISTS, ROUTE_DETAIL_TAX_TYPE_CD,
                    getGadgetDto().searchCriteriaCampany, dateHelper.toYYYYMMDD(getGadgetDto().searchCriteriaDate));
            // 取引通貨額
            addValidateOnlyInput(ROUTE_DETAIL_TRANS_AMOUNT, VALID_CURRENCY_AMNT,
                    getArgs(ROUTE_DETAIL_TRANS_CURRENCY_CD, SEARCH_CRITERIA_COMPANY));
            // 取引通貨コード
            addValidate(ROUTE_DETAIL_TRANS_CURRENCY_CD, VALID_IMM_CURRENCY_EXISTS, ROUTE_DETAIL_TRANS_CURRENCY_CD,
                    getGadgetDto().searchCriteriaCampany);
            // 会社通貨換算レート
            addValidateOnlyInput(ROUTE_DETAIL_COMPANY_RATE, VALID_DIGITS,
                    getArgs(COMPANY_RATE_INT_LEN, COMPANY_RATE_DEC_LEN));
            addValidateOnlyInput(ROUTE_DETAIL_COMPANY_RATE, VALID_NUMERIC_MIN, getArgs(0));
            // 会社通貨コード
            addValidate(ROUTE_DETAIL_COMPANY_CURRENCY_CD, VALID_IMM_CURRENCY_EXISTS, ROUTE_DETAIL_COMPANY_CURRENCY_CD,
                    getGadgetDto().searchCriteriaCampany);
            // 会社通貨額
            addValidateOnlyInput(ROUTE_DETAIL_COMPANY_AMOUNT, VALID_CURRENCY_AMNT,
                    getArgs(ROUTE_DETAIL_COMPANY_CURRENCY_CD, SEARCH_CRITERIA_COMPANY));
            // 支払分類コード
            addValidate(ROUTE_DETAIL_PAY_TYPE_CD, VALID_PAY_TYPE_EXISTS, ROUTE_DETAIL_PAY_TYPE_CD,
                    getGadgetDto().searchCriteriaCampany, dateHelper.toYYYYMMDD(getGadgetDto().searchCriteriaDate));
            // 支払方法コード
            addValidate(ROUTE_DETAIL_PAY_METHOD_CD, VALID_PAY_METHOD_EXISTS, ROUTE_DETAIL_PAY_METHOD_CD,
                    getGadgetDto().searchCriteriaCampany, dateHelper.toYYYYMMDD(getGadgetDto().searchCriteriaDate));
            // 支払先名
            addValidateOnlyInput(ROUTE_DETAIL_PAYEE_NAME, VALID_MAX_LENGTH, getArgs(PAYEE_NAME_LEN));
            // 組織コード
            addValidate(ROUTE_DETAIL_DEPARTMENT_CD, VALID_DEPARTMENT_EXISTS, getGadgetDto().searchCriteriaCampany,
                    ROUTE_DETAIL_DEPARTMENT_SET_CD, ROUTE_DETAIL_DEPARTMENT_CD,
                    dateHelper.toYYYYMMDD(getGadgetDto().searchCriteriaDate));
            // プロジェクトコード
            addValidate(ROUTE_DETAIL_PROJECT_CD, VALID_PROJECT_EXISTS, ROUTE_DETAIL_PROJECT_CD,
                    getGadgetDto().searchCriteriaCampany, dateHelper.toYYYYMMDD(getGadgetDto().searchCriteriaDate));
            // 数量
            addValidateOnlyInput(ROUTE_DETAIL_QUANTITY, VALID_DIGITS, getArgs(QUANTITY_INT_LEN, QUANTITY_DEC_LEN));
            // 会社通貨額合計
            addValidateOnlyInput(ROUTE_DETAIL_COMPANY_AMOUNT_SUM, VALID_CURRENCY_AMNT,
                    getArgs(ROUTE_DETAIL_COMPANY_CURRENCY_CD, SEARCH_CRITERIA_COMPANY));
        }
    }
    
    /**
     * ブロックの共通シングルバリデート定義MAPにエントリを追加.
     * 
     * @param fieldKey フィールドキー
     * @param validationId バリデートキー
     * @param args バリデート実行時アーギュメント
     */
    protected void addValidate(String fieldKey, String validationId, String... args) {
        super.addValidateDefsMap(BLOCK_KEY_ROUTE_DETAIL_TABLE, fieldKey, validationId, args);
    }
    
    /**
     * ブロックの共通シングルバリデート定義MAPにエントリを追加.
     * <p>
     * 当該フィールドが入力モードの時のみ、指定されたバリデート定義を追加します。
     * </p>
     * 
     * @param fieldKey フィールドキー
     * @param validationId バリデートキー
     * @param args バリデート実行時アーギュメント
     */
    protected void addValidateOnlyInput(String fieldKey, String validationId, String... args) {
        super.addValidateDefsMapOnlyInput(BLOCK_KEY_ROUTE_DETAIL_TABLE, fieldKey, validationId, args);
    }
    
    /**
     * {@inheritDoc}
     * <p>
     * システム案件idが未設定の場合(初回表示時など)は、空のリストを返却します。<br>
     * 設定されている場合は、{@link RouteDetailManager#selectView(CriteriaForSqlDto)}の取得結果を返却します。
     * </p>
     */
    @Override
    protected Map<String, Object> selectBlockDatasForView(CriteriaForSqlDto criteria) {
        Map<String, Object> result = new HashMap<String, Object>();
        
        if (StringUtil.isEmpty(criteria.systemMatterId)
                || (StringUtil.isEmpty(criteria.userDataId) && !criteria.searchFromArchiveFlag)) {
            result.put(BLOCK_KEY_ROUTE_DETAIL_TABLE, new ArrayList<RouteDetailManagerDto>());
        } else {
            result.put(BLOCK_KEY_ROUTE_DETAIL_TABLE, routeDetailManager.selectView(criteria));
        }
        return result;
    }
    
    /**
     * {@inheritDoc}
     * <p>
     * {@link RouteDetailManager#selectViewForCopy(CriteriaForSqlDto)}の取得結果を返却します。
     * </p>
     */
    @Override
    protected Map<String, Object> selectBlockDatasForCopy(CriteriaForSqlDto criteria) {
        Map<String, Object> result = new HashMap<String, Object>();
        result.put(BLOCK_KEY_ROUTE_DETAIL_TABLE, routeDetailManager.selectViewForCopy(criteria));
        return result;
    }
    
    /**
     * {@inheritDoc}
     * <p>
     * {@link RouteDetailManager#selectViewArchive(CriteriaForSqlDto)}の取得結果を返却します。
     * </p>
     */
    @Override
    protected Map<String, Object> selectBlockDatasForArchive(CriteriaForSqlDto criteria) {
        Map<String, Object> result = new HashMap<String, Object>();
        result.put(BLOCK_KEY_ROUTE_DETAIL_TABLE, routeDetailManager.selectViewArchive(criteria));
        return result;
    }
    
    /**
     * {@inheritDoc}
     * <p>
     * 取得した旅程明細のデータに対して、以下マスタの整合性チェックを行います。
     * <ul>
     * <li>[*1]通貨マスタ(imm_currency)</li>
     * <li>組織マスタ(imm_depaertment)</li>
     * <li>プロジェクトマスタ</li>
     * <li>支払分類マスタ</li>
     * <li>支払方法マスタ</li>
     * <li>経費区分マスタ</li>
     * <li>勘定科目マスタ</li>
     * <li>税区分マスタ</li>
     * </ul>
     * *1:取引通貨と会社通貨
     * </p>
     */
    @Override
    protected List<ErrorDetailDto> checkSelectedData(Map<String, Object> dataMap, ProcessType processType) {
        List<ErrorDetailDto> result = new ArrayList<ErrorDetailDto>();
        for (Entry<String, Object> dataEs : dataMap.entrySet()) {
            if (BLOCK_KEY_ROUTE_DETAIL_TABLE.equals(dataEs.getKey())) {
                @SuppressWarnings("unchecked")
                List<RouteDetailManagerDto> sqlResultList = CollectionUtil.castListContent(
                        (List<? extends KaidenDto>) dataEs.getValue(), RouteDetailManagerDto.class);
                for (RouteDetailManagerDto j : sqlResultList) {
                    // 取引通貨チェック
                    if (isNotEmpty(j.transCurrencyCd) && isEmpty(j.transCurrencyName)) {
                        String[] fieldId = getArgs(ROUTE_DETAIL_TRANS_CURRENCY_CD, ROUTE_DETAIL_TRANS_CURRENCY_NAME);
                        String masterName = propertyHelper.getSurface(contextHelper.getLoginUserLocale(),
                                BaseProp.S.CURRENCY);
                        String[] values = getArgs(j.transCurrencyCd, j.transCurrencyName);
                        String message = propertyHelper.getMessage(ProductWorkflowProp.M.W0005, masterName);
                        
                        result.add(new ErrorDetailDto(BLOCK_KEY_ROUTE_DETAIL_TABLE, fieldId, StringUtil
                                .toString(j.tupleId), masterName, values, message));
                    }
                    
                    // 会社通貨チェック
                    if (isNotEmpty(j.companyCurrencyCd) && isEmpty(j.companyCurrencyName)) {
                        String[] fieldId = getArgs(ROUTE_DETAIL_COMPANY_CURRENCY_CD, ROUTE_DETAIL_COMPANY_CURRENCY_NAME);
                        String masterName = propertyHelper.getSurface(contextHelper.getLoginUserLocale(),
                                BaseProp.S.CURRENCY);
                        String[] values = getArgs(j.companyCurrencyCd, j.companyCurrencyName);
                        String message = propertyHelper.getMessage(ProductWorkflowProp.M.W0005, masterName);
                        result.add(new ErrorDetailDto(BLOCK_KEY_ROUTE_DETAIL_TABLE, fieldId, StringUtil
                                .toString(j.tupleId), masterName, values, message));
                    }
                    
                    // 組織チェック
                    if (isNotEmpty(j.departmentSetCd) && isNotEmpty(j.departmentCd) && isEmpty(j.departmentName)) {
                        String[] fieldId = getArgs(ROUTE_DETAIL_DEPARTMENT_SET_CD, ROUTE_DETAIL_DEPARTMENT_CD,
                                ROUTE_DETAIL_DEPARTMENT_NAME);
                        String masterName = propertyHelper.getSurface(contextHelper.getLoginUserLocale(),
                                BaseProp.S.DEPARTMENT);
                        String[] values = getArgs(j.departmentSetCd, j.departmentCd, j.departmentName);
                        String message = propertyHelper.getMessage(ProductWorkflowProp.M.W0005, masterName);
                        result.add(new ErrorDetailDto(BLOCK_KEY_ROUTE_DETAIL_TABLE, fieldId, StringUtil
                                .toString(j.tupleId), masterName, values, message));
                    }
                    
                    // プロジェクトチェック
                    if (isNotEmpty(j.projectCd) && isEmpty(j.projectName)) {
                        String[] fieldId = getArgs(ROUTE_DETAIL_PROJECT_CD, ROUTE_DETAIL_PROJECT_NAME);
                        String masterName = propertyHelper.getSurface(contextHelper.getLoginUserLocale(),
                                ProductWorkflowProp.S.PROJECT);
                        String[] values = getArgs(j.projectCd, j.projectName);
                        String message = propertyHelper.getMessage(ProductWorkflowProp.M.W0005, masterName);
                        result.add(new ErrorDetailDto(BLOCK_KEY_ROUTE_DETAIL_TABLE, fieldId, StringUtil
                                .toString(j.tupleId), masterName, values, message));
                    }
                    
                    // 支払分類マスタチェック
                    if (isNotEmpty(j.payTypeCd) && isEmpty(j.payTypeName)) {
                        String[] fieldId = getArgs(ROUTE_DETAIL_PAY_TYPE_CD, ROUTE_DETAIL_PAY_TYPE_NAME);
                        String masterName = propertyHelper.getSurface(contextHelper.getLoginUserLocale(),
                                ProductWorkflowProp.S.PAY_TYPE);
                        String[] values = getArgs(j.payTypeCd, j.payTypeName);
                        String message = propertyHelper.getMessage(ProductWorkflowProp.M.W0005, masterName);
                        result.add(new ErrorDetailDto(BLOCK_KEY_ROUTE_DETAIL_TABLE, fieldId, StringUtil
                                .toString(j.tupleId), masterName, values, message));
                    }
                    
                    // 支払方法マスタチェック
                    if (isNotEmpty(j.payMethodCd) && isEmpty(j.payMethodName)) {
                        String[] fieldId = getArgs(ROUTE_DETAIL_PAY_METHOD_CD, ROUTE_DETAIL_PAY_METHOD_NAME);
                        String masterName = propertyHelper.getSurface(contextHelper.getLoginUserLocale(),
                                ProductWorkflowProp.S.PAY_METHOD);
                        String[] values = getArgs(j.payMethodCd, j.payMethodName);
                        String message = propertyHelper.getMessage(ProductWorkflowProp.M.W0005, masterName);
                        result.add(new ErrorDetailDto(BLOCK_KEY_ROUTE_DETAIL_TABLE, fieldId, StringUtil
                                .toString(j.tupleId), masterName, values, message));
                    }
                    
                    // 経費区分マスタチェック
                    if (isNotEmpty(j.expTypeCd) && isEmpty(j.expTypeName)) {
                        String[] fieldId = getArgs(ROUTE_DETAIL_EXP_TYPE_CD, ROUTE_DETAIL_EXP_TYPE_NAME);
                        String masterName = propertyHelper.getSurface(contextHelper.getLoginUserLocale(),
                                ProductWorkflowProp.S.EXP_TYPE);
                        String[] values = getArgs(j.expTypeCd, j.expTypeName);
                        String message = propertyHelper.getMessage(ProductWorkflowProp.M.W0005, masterName);
                        
                        if (!ProcessType.VIEW_FOR_MATTER_ARCHIVE.equals(processType)) {
                            // 勘定科目、税区分をクリア
                            j.accountCd = null;
                            j.accountName = null;
                            j.taxTypeCd = null;
                            j.taxTypeName = null;
                            // 税率、税抜金額、税額をクリア
                            j.taxRate = null;
                            j.companyAmountExcTax = null;
                            j.companyAmountTax = null;
                        }
                        
                        result.add(new ErrorDetailDto(BLOCK_KEY_ROUTE_DETAIL_TABLE, fieldId, StringUtil
                                .toString(j.tupleId), masterName, values, message));
                    }
                    
                    // 勘定科目マスタチェック
                    if (isNotEmpty(j.accountCd) && isEmpty(j.accountName)) {
                        String[] fieldId = getArgs(ROUTE_DETAIL_ACCOUNT_CD, ROUTE_DETAIL_ACCOUNT_NAME);
                        String masterName = propertyHelper.getSurface(contextHelper.getLoginUserLocale(),
                                ProductWorkflowProp.S.ACCOUNT);
                        String[] values = getArgs(j.accountCd, j.accountName);
                        String message = propertyHelper.getMessage(ProductWorkflowProp.M.W0005, masterName);
                        result.add(new ErrorDetailDto(BLOCK_KEY_ROUTE_DETAIL_TABLE, fieldId, StringUtil
                                .toString(j.tupleId), masterName, values, message));
                    }
                    
                    // 税区分マスタチェック
                    if (isNotEmpty(j.taxTypeCd) && isEmpty(j.taxTypeName)) {
                        String[] fieldId = getArgs(ROUTE_DETAIL_TAX_TYPE_CD, ROUTE_DETAIL_TAX_TYPE_NAME);
                        String masterName = propertyHelper.getSurface(contextHelper.getLoginUserLocale(),
                                ProductWorkflowProp.S.TAX_TYPE);
                        String[] values = getArgs(j.taxTypeCd, j.taxTypeName);
                        String message = propertyHelper.getMessage(ProductWorkflowProp.M.W0005, masterName);
                        
                        if (!ProcessType.VIEW_FOR_MATTER_ARCHIVE.equals(processType)) {
                            // 税率、税抜金額、税額をクリア
                            j.taxRate = null;
                            j.companyAmountExcTax = null;
                            j.companyAmountTax = null;
                        }
                        
                        result.add(new ErrorDetailDto(BLOCK_KEY_ROUTE_DETAIL_TABLE, fieldId, StringUtil
                                .toString(j.tupleId), masterName, values, message));
                    }
                }
            }
        }
        return result;
    }
    
    /**
     * {@inheritDoc}
     * <p>
     * 旅程明細テーブルの対象データを過去案件退避します。<br>
     * 駅すぱあと連携している場合は、旅程明細駅すぱあと検索情報テーブルも過去案件退避の対象となります。
     * </p>
     */
    @Override
    protected int matterArchiveRegister(KaidenDto dto, CriteriaForSqlDto criteria, Map<String, Object> dataMap) {
        // 旅程明細テーブル
        @SuppressWarnings("unchecked")
        List<RouteDetailManagerDto> listRoute = (List<RouteDetailManagerDto>) dataMap.get(BLOCK_KEY_ROUTE_DETAIL_TABLE);
        
        int rv = routeDetailManager.matterArchiveRegister(criteria, listRoute);
        
        List<RouteDetailValManagerDto> listVal = new ArrayList<RouteDetailValManagerDto>();
        for (RouteDetailManagerDto j : listRoute) {
            if (StringUtil.isNotEmpty(j.routeSearchId)) {
                RouteDetailValManagerDto val = new RouteDetailValManagerDto();
                val.routeSearchId = j.routeSearchId;
                val.routeSearchId = j.routeSearchId;
                val.commutationRoute = j.commutationRoute;
                val.searchCondition = j.searchCondition;
                val.routeInfo = j.routeInfo;
                val.assessDate = j.assessDate;
                val.tranceMeansFlag = j.tranceMeansFlag;
                val.assessFlag = j.assessFlag;
                val.localeId = criteria.localeId;
                listVal.add(val);
            }
        }
        routeDetailValManager.matterArchiveRegister(criteria, listVal);
        
        return rv;
    }
    
    /**
     * {@inheritDoc}
     * <p>
     * 固有処理として、対象となる旅程明細駅すぱあと検索情報テーブルのデータを削除します。
     * </p>
     */
    @Override
    protected void matterArchivePost(KaidenDto dto, CriteriaForSqlDto criteria) {
        routeDetailValManager.matterArchivePostDelete(criteria);
        super.matterArchivePost(dto, criteria);
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    protected List<PluginGadgetManager<? extends KaidenDto>> getDeleteTargetsForArchiveManagers() {
        List<PluginGadgetManager<? extends KaidenDto>> list = new ArrayList<PluginGadgetManager<? extends KaidenDto>>();
        list.add(routeDetailManager);
        return list;
    }
    
    /**
     * {@inheritDoc}
     * <p>
     * 使用していません
     * </p>
     * 
     * @deprecated
     */
    @Deprecated
    @Override
    protected List<String> getDtoPkDefList(String key) {
        List<String> list = new ArrayList<String>();
        list.add(SYSTEM_MATTER_ID);
        list.add(USER_DATA_ID);
        list.add(GADGET_CLASS);
        list.add(GADGET_INSTANCE);
        return list;
    }
    
    /**
     * 支払方法をガジェット間通信で取得.
     * 
     * @return 支払方法
     */
    protected String getGadgetCouplingPayMethod() {
        // 支払方法をガジェット間通信で取得
        Map<String, Object> args = new HashMap<String, Object>();
        String rv = StringUtil.nullToBlank(getSingleValue(String.class, args, ClaimPayMethodIF.class,
                ClaimPayMethodIF.METHOD_NM_GET_CLAIM_PAY_METHOD, ClaimPayMethodIF.RTN_KEY_PAY_METHOD_CD));
        return rv;
    }
    
    /**
     * {@link jp.co.slcs.kaiden2.product_workflow.feature.logic.kaiden.gadget.common.ClaimExpenceCountIF#getClaimExpenceCount(Map)}
     * の値を設定.
     * 
     * @param params アーギュメント
     * @return 費用明細の件数
     */
    public Map<String, Object> putClaimExpenceCount(Map<String, Object> params) {
        
        List<Map<String, Object>> blocjData = getJsonDataDetailBlock(BLOCK_KEY_ROUTE_DETAIL_TABLE);
        Map<String, Object> retMap = new HashMap<String, Object>();
        retMap.put(ClaimExpenceCountIF.RTN_KEY_CLAIM_EXPENCE_COUNT, blocjData.size());
        return retMap;
    }
    
    /**
     * {@link jp.co.slcs.kaiden2.product_workflow.feature.logic.kaiden.gadget.common.ClaimCompanyPayAmountIF#getClaimCompanyPayAmount(Map)}
     * の値を設定.
     * 
     * @param params アーギュメント
     * @return 会社支払額
     */
    public Map<String, Object> putClaimCompanyPayAmount(Map<String, Object> params) {
        List<Map<String, Object>> blocjData = getJsonDataDetailBlock(BLOCK_KEY_ROUTE_DETAIL_TABLE);
        Map<String, Object> retMap = new HashMap<String, Object>();
        BigDecimal sum = BigDecimal.ZERO;
        
        for (Map<String, Object> j : blocjData) {
            String strPaymentFlag = (String) j.get(RouteDetailFieldName.ROUTE_DETAIL_PAYMENT_FLAG);
            String strAmnt = StringUtil.toString(j.get(RouteDetailFieldName.ROUTE_DETAIL_COMPANY_AMOUNT_SUM));
            if (GenericFlag.isOff(strPaymentFlag)) {
                if (StringUtil.isNotEmpty(strAmnt)) {
                    sum = sum.add(new BigDecimal(strAmnt));
                }
            }
        }
        
        retMap.put(ClaimCompanyPayAmountIF.RTN_KEY_CLAIM_COMPANY_PAY_AMOUNT, sum);
        
        return retMap;
    }
    
    /**
     * {@link jp.co.slcs.kaiden2.product_workflow.feature.logic.kaiden.gadget.common.ClaimTemporaryPayAmountIF#getClaimTemporaryPayAmount(Map)}
     * の値を設定.
     * 
     * @param params アーギュメント
     * @return 従業員立替金額
     */
    public Map<String, Object> putClaimTemporaryPayAmount(Map<String, Object> params) {
        List<Map<String, Object>> blocjData = getJsonDataDetailBlock(BLOCK_KEY_ROUTE_DETAIL_TABLE);
        Map<String, Object> retMap = new HashMap<String, Object>();
        BigDecimal sum = BigDecimal.ZERO;
        
        for (Map<String, Object> j : blocjData) {
            String strPaymentFlag = (String) j.get(RouteDetailFieldName.ROUTE_DETAIL_PAYMENT_FLAG);
            String strAmnt = StringUtil.toString(j.get(RouteDetailFieldName.ROUTE_DETAIL_COMPANY_AMOUNT_SUM));
            if (GenericFlag.isOn(strPaymentFlag)) {
                if (StringUtil.isNotEmpty(strAmnt)) {
                    sum = sum.add(new BigDecimal(strAmnt));
                }
            }
        }
        
        retMap.put(ClaimTemporaryPayAmountIF.RTN_KEY_CLAIM_TEMPORARY_PAY_AMOUNT, sum);
        
        return retMap;
    }
    
    /**
     * {@link jp.co.slcs.kaiden2.product_workflow.feature.logic.kaiden.gadget.common.ClaimExpenseDetailIF#getClaimExpenseDetail(Map)}
     * の値を設定.
     * 
     * @param params アーギュメント
     * @return 費用明細
     */
    public Map<String, Object> putClaimExpenseDetail(Map<String, Object> params) {
        List<Map<String, Object>> blocjData = getJsonDataDetailBlock(BLOCK_KEY_ROUTE_DETAIL_TABLE);
        Map<String, Object> retMap = new HashMap<String, Object>();
        
        List<BigDecimal> list = new ArrayList<BigDecimal>();
        
        for (Map<String, Object> j : blocjData) {
            String strAmnt = StringUtil.toString(j.get(RouteDetailFieldName.ROUTE_DETAIL_COMPANY_AMOUNT_SUM));
            if (StringUtil.isNotEmpty(strAmnt)) {
                list.add(new BigDecimal(strAmnt));
            }
        }
        retMap.put(ClaimExpenseDetailIF.RTN_KEY_CLAIM_EXPENSE_DETAIL, list);
        
        return retMap;
    }
    
    /**
     * {@link jp.co.slcs.kaiden2.product_workflow.feature.logic.kaiden.gadget.common.ClaimExpenseAmountIF#getClaimExpenseAmount(Map)}
     * の値を設定.
     * 
     * @param params アーギュメント
     * @return 費用合計
     */
    public Map<String, Object> putClaimExpenseAmount(Map<String, Object> params) {
        List<Map<String, Object>> blocjData = getJsonDataDetailBlock(BLOCK_KEY_ROUTE_DETAIL_TABLE);
        Map<String, Object> retMap = new HashMap<String, Object>();
        BigDecimal sum = BigDecimal.ZERO;
        
        for (Map<String, Object> j : blocjData) {
            String strAmnt = StringUtil.toString(j.get(RouteDetailFieldName.ROUTE_DETAIL_COMPANY_AMOUNT_SUM));
            if (StringUtil.isNotEmpty(strAmnt)) {
                sum = sum.add(new BigDecimal(strAmnt));
            }
        }
        
        retMap.put(ClaimExpenseAmountIF.RTN_KEY_CLAIM_EXPENSE_AMOUNT, sum);
        
        return retMap;
    }
    
    /**
     * 往復フラグに基づくを数量を返却.
     * 
     * @param roundTripFlag 往復フラグ
     * @return 往復フラグに基づく数量
     */
    protected BigDecimal getQuantityFromRoundTrip(String roundTripFlag) {
        if (GenericFlag.isOff(roundTripFlag)) {
            return BigDecimal.ONE;
        } else if (GenericFlag.isOn(roundTripFlag)) {
            return new BigDecimal("2");
        }
        return null;
    }
}

5.1.4.2.5. Logic

  • Path
    src/main/java/jp/co/slcs/kaiden2/product_workflow/feature/logic/kaiden/gadget/routedetail/RouteDetailV02Logic.java
package jp.co.slcs.kaiden2.product_workflow.feature.logic.kaiden.gadget.routedetail;

import static jp.co.slcs.kaiden2.base.foundation.util.validate.conf.ConstValidationIdKaidenBase.VALID_NUMERIC_MIN;
import static jp.co.slcs.kaiden2.base.foundation.util.validate.conf.ConstValidationIdKaidenBase.VALID_REQUIRED_ANY;
import static jp.co.slcs.kaiden2.extension_imw.foundation.conf.ImwEntityCommonFieldNames.SEARCH_CRITERIA_COMPANY;
import static jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail.RouteDetailFieldName.ROUTE_DETAIL_COMPANY_AMOUNT;
import static jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail.RouteDetailFieldName.ROUTE_DETAIL_COMPANY_AMOUNT_SUM;
import static jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail.RouteDetailFieldName.ROUTE_DETAIL_COMPANY_CURRENCY_CD;
import static jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail.RouteDetailFieldName.ROUTE_DETAIL_COMPANY_RATE;
import static jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail.RouteDetailFieldName.ROUTE_DETAIL_DEPARTMENT_CD;
import static jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail.RouteDetailFieldName.ROUTE_DETAIL_PAYMENT_FLAG;
import static jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail.RouteDetailFieldName.ROUTE_DETAIL_PAY_METHOD_CD;
import static jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail.RouteDetailFieldName.ROUTE_DETAIL_PAY_TYPE_CD;
import static jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail.RouteDetailFieldName.ROUTE_DETAIL_PROJECT_CD;
import static jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail.RouteDetailFieldName.ROUTE_DETAIL_QUANTITY;
import static jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail.RouteDetailFieldName.ROUTE_DETAIL_ROUND_TRIP_FLAG;
import static jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail.RouteDetailFieldName.ROUTE_DETAIL_TRANS_AMOUNT;
import static jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail.RouteDetailFieldName.ROUTE_DETAIL_TRANS_CURRENCY_CD;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import jp.co.slcs.kaiden2.base.foundation.event.GadgetMediatorParams;
import jp.co.slcs.kaiden2.base.foundation.exception.KaidenApplicationException;
import jp.co.slcs.kaiden2.base.foundation.exception.KaidenSystemException;
import jp.co.slcs.kaiden2.base.foundation.gadget.GlobalComplenentJsonDataProcess;
import jp.co.slcs.kaiden2.base.foundation.helper.CurrencyHelper;
import jp.co.slcs.kaiden2.base.foundation.model.dto.OrderDto;
import jp.co.slcs.kaiden2.base.foundation.util.CollectionUtil;
import jp.co.slcs.kaiden2.base.foundation.util.StringUtil;
import jp.co.slcs.kaiden2.base.foundation.util.validate.NumericMinValidator;
import jp.co.slcs.kaiden2.base.foundation.util.validate.RequiredAnyValidator;
import jp.co.slcs.kaiden2.extension_imw.foundation.conf.ImwEntityCommonFieldNames;
import jp.co.slcs.kaiden2.product_workflow.feature.logic.kaiden.gadget.common.ClaimCompanyPayAmountIF;
import jp.co.slcs.kaiden2.product_workflow.feature.logic.kaiden.gadget.common.ClaimExpenceCountIF;
import jp.co.slcs.kaiden2.product_workflow.feature.logic.kaiden.gadget.common.ClaimExpenseAmountIF;
import jp.co.slcs.kaiden2.product_workflow.feature.logic.kaiden.gadget.common.ClaimExpenseDetailIF;
import jp.co.slcs.kaiden2.product_workflow.feature.logic.kaiden.gadget.common.ClaimTemporaryPayAmountIF;
import jp.co.slcs.kaiden2.product_workflow.foundation.manager.pay_type.PayTypeManager;
import jp.co.slcs.kaiden2.product_workflow.foundation.manager.pay_type.PayTypeManagerDto;

/**
 * 旅程情報(標準・外貨)ガジェット(Logic).
 * 
 * @author Sumitomo Life Information Systems Co.,Ltd.
 */
public class RouteDetailV02Logic extends AbstractRouteDetailLogicBase implements ClaimExpenseAmountIF,
        ClaimExpenseDetailIF, ClaimTemporaryPayAmountIF, ClaimCompanyPayAmountIF, ClaimExpenceCountIF {
    
    /** コンストラクタ. */
    public RouteDetailV02Logic() {
        super();
    }
    
    /** PayTypeManager. */
    @Resource
    protected PayTypeManager payTypeManager;
    
    /**
     * {@inheritDoc}
     * <p>
     * サブクラスで追加定義します。<br>
     * <table border="1">
     * <tr>
     * <td align="center">対象フィールド名</td>
     * <td align="center">検証内容</td>
     * <td align="center">モード</td>
     * </tr>
     * <tr>
     * <td>取引通貨額</td>
     * <td>{@link NumericMinValidator 最小数値チェック}</td>
     * <td align="center">入力</td>
     * </tr>
     * <tr>
     * <td>会社通貨額</td>
     * <td>{@link NumericMinValidator 最小数値チェック}</td>
     * <td align="center">入力</td>
     * </tr>
     * <tr>
     * <td>組織コード/プロジェクトコード</td>
     * <td>{@link RequiredAnyValidator 必須チェック(複数項目用)}</td>
     * <td align="center">入力</td>
     * </tr>
     * </table>
     * </p>
     */
    @Override
    protected void defineValidateForNormal(GadgetMediatorParams params, boolean tmpFlg) throws KaidenSystemException,
            KaidenApplicationException {
        
        super.defineValidateForNormal(params, tmpFlg);
        
        // 取引通貨額
        addValidateOnlyInput(ROUTE_DETAIL_TRANS_AMOUNT, VALID_NUMERIC_MIN, getArgs(0));
        // 会社通貨額
        addValidateOnlyInput(ROUTE_DETAIL_COMPANY_AMOUNT, VALID_NUMERIC_MIN, getArgs(0));
        
        if (!tmpFlg) {
            // 組織コード
            addValidateOnlyInput(ROUTE_DETAIL_DEPARTMENT_CD, VALID_REQUIRED_ANY, ROUTE_DETAIL_DEPARTMENT_CD,
                    ROUTE_DETAIL_PROJECT_CD);
            // プロジェクトコード
            addValidateOnlyInput(ROUTE_DETAIL_PROJECT_CD, VALID_REQUIRED_ANY, ROUTE_DETAIL_DEPARTMENT_CD,
                    ROUTE_DETAIL_PROJECT_CD);
        }
    }
    
    /**
     * {@inheritDoc}
     * <p>
     * 下記補完を行います。
     * </p>
     * <ul>
     * <li>会社通貨コード:{@link CurrencyHelper#getCompanyCurrencyCd(String)}を設定</li>
     * <li>数量:往復フラグに基づく数値を設定</li>
     * <li>立替フラグ:支払分類コードに紐づく立替フラグを支払分類マスタから取得して設定</li>
     * </ul>
     */
    @Override
    protected void complementJsonData(GadgetMediatorParams params) {
        List<Map<String, Object>> blockDat = getJsonDataDetailBlock(BLOCK_KEY_ROUTE_DETAIL_TABLE);
        
        String companyCurrencyCd = null;
        
        if (CollectionUtil.isNotEmpty(blockDat)) {
            for (Map<String, Object> j : blockDat) {
                // 会社通貨コード
                if (companyCurrencyCd == null) {
                    companyCurrencyCd = currencyHelper.getCompanyCurrencyCd((String) j.get(SEARCH_CRITERIA_COMPANY));
                }
                j.put(ROUTE_DETAIL_COMPANY_CURRENCY_CD, companyCurrencyCd);
                
                // 数量
                BigDecimal roundTripFlag = getQuantityFromRoundTrip((String) j.get(ROUTE_DETAIL_ROUND_TRIP_FLAG));
                j.put(ROUTE_DETAIL_QUANTITY, StringUtil.toString(roundTripFlag));
                
                // 立替フラグ
                if (StringUtil.isNotEmpty((String) j.get(ROUTE_DETAIL_PAY_TYPE_CD))) {
                    PayTypeManagerDto criteria = new PayTypeManagerDto();
                    criteria.companyCd = (String) j.get(SEARCH_CRITERIA_COMPANY);
                    criteria.payTypeCd = (String) j.get(ROUTE_DETAIL_PAY_TYPE_CD);
                    criteria.searchCriteriaDate = dateHelper.toTimestamp((String) j
                            .get(ImwEntityCommonFieldNames.SEARCH_CRITERIA_DATE));
                    List<PayTypeManagerDto> retList = payTypeManager.selectListIncluedsSearchDateIgnoreAuthCompany(
                            criteria, new ArrayList<OrderDto>());
                    if (CollectionUtil.isNotEmpty(retList)) {
                        j.put(ROUTE_DETAIL_PAYMENT_FLAG, retList.get(0).paymentFlag);
                    }
                }
            }
        }
    }
    
    /**
     * グローバルデータ補完処理をセット(ガジェット間通信を行うもの).
     * <p>
     * 以下の補完処理をセットしています。
     * <table border="1">
     * <tr>
     * <th>処理順</th>
     * <th>補完処理</th>
     * </tr>
     * <tr>
     * <td>100</td>
     * <td>{@link #globalComplementJsonData(GadgetMediatorParams)}</td>
     * </tr>
     * <tr>
     * <td>200</td>
     * <td>{@link #calculateJsonData(GadgetMediatorParams)}</td>
     * </tr>
     * </table>
     * </p>
     * 
     * @return グローバルデータ補完処理
     */
    @Override
    protected List<GlobalComplenentJsonDataProcess> setGlobalComplementJsonDataProcess() {
        List<GlobalComplenentJsonDataProcess> methodList = new ArrayList<GlobalComplenentJsonDataProcess>();
        methodList.add(new GlobalComplenentJsonDataProcess(100, "globalComplementJsonData"));
        methodList.add(new GlobalComplenentJsonDataProcess(200, "calculateJsonData"));
        return methodList;
    }
    
    /**
     * グローバルデータ補完処理.
     * <p>
     * 下記計算を行います。
     * </p>
     * <ul>
     * <li>会社通貨額:取引通貨額 * 通貨レートの計算結果</li>
     * <li>会社通貨額合計:会社通貨額 * 数量の計算結果</li>
     * </ul>
     * 
     * @param params ガジェットメディエータ処理情報
     */
    public void calculateJsonData(GadgetMediatorParams params) {
        List<Map<String, Object>> blockDat = getJsonDataDetailBlock(BLOCK_KEY_ROUTE_DETAIL_TABLE);
        
        if (CollectionUtil.isNotEmpty(blockDat)) {
            for (Map<String, Object> j : blockDat) {
                // 会社通貨額
                String companyAmount = StringUtil.toString(calcCompanyAmount((String) j.get(SEARCH_CRITERIA_COMPANY),
                        (String) j.get(ROUTE_DETAIL_TRANS_CURRENCY_CD), (String) j.get(ROUTE_DETAIL_TRANS_AMOUNT),
                        (String) j.get(ROUTE_DETAIL_COMPANY_RATE)));
                j.put(ROUTE_DETAIL_COMPANY_AMOUNT, companyAmount);
                
                // 会社通貨額合計
                j.put(ROUTE_DETAIL_COMPANY_AMOUNT_SUM,
                        calcCompanyAmountSum((String) j.get(SEARCH_CRITERIA_COMPANY), companyAmount,
                                (String) j.get(ROUTE_DETAIL_QUANTITY)));
            }
        }
    }
    
    /**
     * グローバルデータ補完処理.
     * <p>
     * 下記補完を行います。
     * </p>
     * <ul>
     * <li>支払方法コード:ガジェット間連携項目.支払方法コードを設定</li>
     * </ul>
     * 
     * @param params ガジェットメディエータ処理情報
     */
    public void globalComplementJsonData(GadgetMediatorParams params) {
        List<Map<String, Object>> blockDat = getJsonDataDetailBlock(BLOCK_KEY_ROUTE_DETAIL_TABLE);
        
        String gcPayMethodCd = null;
        
        if (CollectionUtil.isNotEmpty(blockDat)) {
            for (Map<String, Object> j : blockDat) {
                // 支払方法コード
                if (gcPayMethodCd == null) {
                    gcPayMethodCd = getGadgetCouplingPayMethod();
                }
                j.put(ROUTE_DETAIL_PAY_METHOD_CD, gcPayMethodCd);
            }
        }
    }
    
    /** {@inheritDoc} */
    @Override
    public Map<String, Object> getClaimExpenceCount(Map<String, Object> params) {
        return super.putClaimExpenceCount(params);
    }
    
    /** {@inheritDoc} */
    @Override
    public Map<String, Object> getClaimCompanyPayAmount(Map<String, Object> params) {
        return super.putClaimCompanyPayAmount(params);
    }
    
    /** {@inheritDoc} */
    @Override
    public Map<String, Object> getClaimTemporaryPayAmount(Map<String, Object> params) {
        return super.putClaimTemporaryPayAmount(params);
    }
    
    /** {@inheritDoc} */
    @Override
    public Map<String, Object> getClaimExpenseDetail(Map<String, Object> params) {
        return super.putClaimExpenseDetail(params);
    }
    
    /** {@inheritDoc} */
    @Override
    public Map<String, Object> getClaimExpenseAmount(Map<String, Object> params) {
        return super.putClaimExpenseAmount(params);
    }
    
}

5.1.4.2.6. FieldName

  • Path
    src/main/java/jp/co/slcs/kaiden2/product_workflow/feature/conf/kaiden/gadget/routedetail/RouteDetailFieldName.java
package jp.co.slcs.kaiden2.product_workflow.feature.conf.kaiden.gadget.routedetail;

import jp.co.slcs.kaiden2.extension_imw.foundation.conf.ImwEntityCommonFieldNames;

/**
 * 旅程明細ガジェット用 フィールド名定義クラス.
 * 
 * @author Sumitomo Life Information Systems Co.,Ltd.
 */
public final class RouteDetailFieldName extends ImwEntityCommonFieldNames {
    
    /**
     * コンストラクタ.
     */
    protected RouteDetailFieldName() {
    }
    
    /** 旅程日付. */
    public static final String ROUTE_DETAIL_ROUTE_DATE = "routeDate";
    /** 出発地. */
    public static final String ROUTE_DETAIL_STARTING_SPOT = "startingSpot";
    /** 到着地. */
    public static final String ROUTE_DETAIL_ARRIVAL_SPOT = "arrivalSpot";
    /** 補足. */
    public static final String ROUTE_DETAIL_SUPPLEMENT = "supplement";
    /** 経費区分コード. */
    public static final String ROUTE_DETAIL_EXP_TYPE_CD = "expTypeCd";
    /** 勘定科目コード. */
    public static final String ROUTE_DETAIL_ACCOUNT_CD = "accountCd";
    /** 税区分コード. */
    public static final String ROUTE_DETAIL_TAX_TYPE_CD = "taxTypeCd";
    /** 税率. */
    public static final String ROUTE_DETAIL_TAX_RATE = "taxRate";
    /** 数量. */
    public static final String ROUTE_DETAIL_QUANTITY = "quantity";
    /** 取引通貨コード. */
    public static final String ROUTE_DETAIL_TRANS_CURRENCY_CD = "transCurrencyCd";
    /** 取引通貨額. */
    public static final String ROUTE_DETAIL_TRANS_AMOUNT = "transAmount";
    /** 会社通貨換算レート. */
    public static final String ROUTE_DETAIL_COMPANY_RATE = "companyRate";
    /** 会社通貨コード. */
    public static final String ROUTE_DETAIL_COMPANY_CURRENCY_CD = "companyCurrencyCd";
    /** 会社通貨額. */
    public static final String ROUTE_DETAIL_COMPANY_AMOUNT = "companyAmount";
    /** 会社通貨税抜額. */
    public static final String ROUTE_DETAIL_COMPANY_AMOUNT_EXC_TAX = "companyAmountExcTax";
    /** 会社通貨税額. */
    public static final String ROUTE_DETAIL_COMPANY_AMOUNT_TAX = "companyAmountTax";
    /** 会社通貨額合計. */
    public static final String ROUTE_DETAIL_COMPANY_AMOUNT_SUM = "companyAmountSum";
    /** 支払分類コード. */
    public static final String ROUTE_DETAIL_PAY_TYPE_CD = "payTypeCd";
    /** 支払方法コード. */
    public static final String ROUTE_DETAIL_PAY_METHOD_CD = "payMethodCd";
    /** 支払先コード. */
    public static final String ROUTE_DETAIL_PAYEE_CD = "payeeCd";
    /** 支払先名. */
    public static final String ROUTE_DETAIL_PAYEE_NAME = "payeeName";
    /** 組織セットコード. */
    public static final String ROUTE_DETAIL_DEPARTMENT_SET_CD = "departmentSetCd";
    /** 組織コード. */
    public static final String ROUTE_DETAIL_DEPARTMENT_CD = "departmentCd";
    /** プロジェクトコード. */
    public static final String ROUTE_DETAIL_PROJECT_CD = "projectCd";
    /** 往復フラグ. */
    public static final String ROUTE_DETAIL_ROUND_TRIP_FLAG = "roundTripFlag";
    /** 経路情報連携済フラグ. */
    public static final String ROUTE_DETAIL_ROUTE_LINK_FLAG = "routeLinkFlag";
    /** 経路検索id. */
    public static final String ROUTE_DETAIL_ROUTE_SEARCH_ID = "routeSearchId";
    
    /** 会社名. */
    public static final String ROUTE_DETAIL_COMPANY_NAME = "companyName";
    /** 経費区分名称. */
    public static final String ROUTE_DETAIL_EXP_TYPE_NAME = "expTypeName";
    /** 勘定科目名称. */
    public static final String ROUTE_DETAIL_ACCOUNT_NAME = "accountName";
    /** 税区分名称. */
    public static final String ROUTE_DETAIL_TAX_TYPE_NAME = "taxTypeName";
    /** 取引通貨名称. */
    public static final String ROUTE_DETAIL_TRANS_CURRENCY_NAME = "transCurrencyName";
    /** 会社通貨名称. */
    public static final String ROUTE_DETAIL_COMPANY_CURRENCY_NAME = "companyCurrencyName";
    /** 支払分類名称. */
    public static final String ROUTE_DETAIL_PAY_TYPE_NAME = "payTypeName";
    /** 支払方法名称. */
    public static final String ROUTE_DETAIL_PAY_METHOD_NAME = "payMethodName";
    /** 組織セット名称. */
    public static final String ROUTE_DETAIL_DEPARTMENT_SET_NAME = "departmentSetName";
    /** 組織名称. */
    public static final String ROUTE_DETAIL_DEPARTMENT_NAME = "departmentName";
    /** プロジェクト名称. */
    public static final String ROUTE_DETAIL_PROJECT_NAME = "projectName";
    /** 立替フラグ. */
    public static final String ROUTE_DETAIL_PAYMENT_FLAG = "paymentFlag";
    
}

5.1.4.2.7. Manager

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

import java.util.List;
import jp.co.slcs.kaiden2.extension_imw.foundation.manager.CriteriaForSqlDto;
import jp.co.slcs.kaiden2.extension_imw.foundation.manager.PluginGadgetManager;
import org.seasar.util.beans.util.BeanMap;

/**
 * 旅程明細テーブルマネージャクラスのinterface.
 * 
 * @author Sumitomo Life Information Systems Co.,Ltd.
 */
public interface RouteDetailManager extends PluginGadgetManager<RouteDetailManagerDto> {
    
    /** {@link #selectView(CriteriaForSqlDto) 表示案件検索}用SQLファイル名. */
    static final String SELECT_SQLFILE_NM = "selectView.sql";
    
    /** {@link #selectViewForCopy(CriteriaForSqlDto) コピー案件検索}用SQLファイル名. */
    static final String SELECT_SQLFILE_NM_FOR_COPY = "selectViewForCopy.sql";
    
    /** {@link #selectForJournalSourceDtl(CriteriaForSqlDto) 仕訳連携用明細検索}用SQLファイル名. */
    static final String SELECT_FOR_JOURNAL_SOURCE_DTL = "selectForJournalSourceDtl.sql";
    
    /** {@link #selectViewArchive(CriteriaForSqlDto) 過去案件検索}用SQLファイル名. */
    static final String SELECT_SQLFILE_NMF_FOR_ARCHIVE = "selectViewForArchive.sql";
    
    /**
     * 仕訳連携用明細テーブル登録用データ取得.
     * 
     * @param criteria 検索条件
     * @return 検索結果
     */
    public List<BeanMap> selectForJournalSourceDtl(CriteriaForSqlDto criteria);
}
  • Path
    src/main/java/jp/co/slcs/kaiden2/product_workflow/foundation/manager/routedetail/RouteDetailValManager.java
package jp.co.slcs.kaiden2.product_workflow.foundation.manager.routedetail;

import java.util.List;
import jp.co.slcs.kaiden2.extension_imw.foundation.manager.CriteriaForSqlDto;

/**
 * 旅程明細駅すぱあと検索情報テーブルへの各種操作を提供するAPIのinterface.<br>
 * 
 * @author Sumitomo Life Information Systems Co.,Ltd.
 */
public interface RouteDetailValManager {
    
    /** {@link #matterArchivePostDelete(CriteriaForSqlDto) 過去案件一括削除)}用SQLファイル名. */
    static final String SELECT_SQLFILE_NM = "selectView.sql";
    
    /**
     * 主キー検索.
     * <p>
     * 検索条件のうち、主キー(経路検索id)のみを利用して問い合わせします。<br>
     * 主キー条件が未設定の場合、RunTimeExceptionがスローされます。
     * </p>
     * 
     * @param criteria 検索条件
     * @return 検索結果
     */
    public RouteDetailValManagerDto selectIgnoreAuthCompany(RouteDetailValManagerDto criteria);
    
    /**
     * 登録.
     * 
     * @param data 登録データ
     * @return 更新件数
     */
    public int entryIgnoreAuthCompany(RouteDetailValManagerDto data);
    
    /**
     * 削除.
     * 
     * @param criteria 削除条件
     * @return 削除件数
     */
    public int removeIgnoreAuthCompany(RouteDetailValManagerDto criteria);
    
    /**
     * 過去案件登録.
     * <p>
     * 引数の登録データリストを過去案件用テーブルへ移送します。<br>
     * </p>
     * 
     * @param dataList 登録データリスト
     * @param criteria 削除データ
     * @return 削除件数
     */
    public int matterArchiveRegister(CriteriaForSqlDto criteria, List<RouteDetailValManagerDto> dataList);
    
    /**
     * 過去案件処理時削除.
     * <p>
     * 引数のDTOのシステム案件IDに該当するデータを全件削除します。<br>
     * </p>
     * 
     * @param criteria 削除データ
     * @return 削除件数
     */
    public int matterArchivePostDelete(CriteriaForSqlDto criteria);
    
    /**
     * 過去案件一括削除.
     * <p>
     * 引数の削除データリストを全件削除します。<br>
     * </p>
     * 
     * @param criteria 削除条件
     * @return 削除件数
     */
    public int removeAllArchive(CriteriaForSqlDto criteria);
    
}

5.1.4.2.8. Manager(実装)

  • Path
    src/main/java/jp/co/slcs/kaiden2/product_workflow/foundation/manager/routedetail/impl/RouteDetailManagerImpl.java
package jp.co.slcs.kaiden2.product_workflow.foundation.manager.routedetail.impl;

import static jp.co.slcs.kaiden2.extension_imw.foundation.conf.ImwEntityCommonFieldNames.GADGET_CLASS;
import static jp.co.slcs.kaiden2.extension_imw.foundation.conf.ImwEntityCommonFieldNames.GADGET_INSTANCE;
import static jp.co.slcs.kaiden2.extension_imw.foundation.conf.ImwEntityCommonFieldNames.LOCALE_ID;
import static jp.co.slcs.kaiden2.extension_imw.foundation.conf.ImwEntityCommonFieldNames.SYSTEM_MATTER_ID;
import static jp.co.slcs.kaiden2.extension_imw.foundation.conf.ImwEntityCommonFieldNames.USER_DATA_ID;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Resource;
import jp.co.slcs.kaiden2.base.foundation.conf.OrderType;
import jp.co.slcs.kaiden2.base.foundation.model.dto.OrderDto;
import jp.co.slcs.kaiden2.base.foundation.util.CollectionUtil;
import jp.co.slcs.kaiden2.extension_imw.foundation.conf.ImwEntityCommonFieldNames;
import jp.co.slcs.kaiden2.extension_imw.foundation.manager.AbstractWfManager;
import jp.co.slcs.kaiden2.extension_imw.foundation.manager.CriteriaForSqlDto;
import jp.co.slcs.kaiden2.product_workflow.foundation.manager.routedetail.RouteDetailManager;
import jp.co.slcs.kaiden2.product_workflow.foundation.manager.routedetail.RouteDetailManagerDto;
import jp.co.slcs.kaiden2.product_workflow.foundation.model.service.K30tRouteDetailService;
import jp.co.slcs.kaiden2.product_workflow.foundation.model.service.Ka30tRouteDetailService;
import org.seasar.util.beans.util.BeanMap;

/**
 * 旅程明細テーブルへの各種操作を提供するAPI.
 * 本APIは、主にデータベース操作を行いますが、より業務的な機能を付加した操作を提供します。<br>
 * 検索系機能を使用する際には、{@link CriteriaForSqlDto}クラスをパラメータとして渡し、<br>
 * {@link RouteDetailManagerDto}リストが戻り値として返却されます。<br>
 * <br>
 * 更新系機能を使用する際には、{@link RouteDetailManagerDto}クラスまたはそのリストをパラメータとして渡し、<br>
 * 処理件数を数値型で返却します。<br>
 * <b>機能一覧(共通)</b>
 * <table border="1">
 * <tr>
 * <td>機能概要</td>
 * <td>メソッド</td>
 * <td>カテゴリ</td>
 * <td>備考</td>
 * </tr>
 * <tr>
 * <td>主キー検索</td>
 * <td>selectByPk</td>
 * <td>主キー検索</td>
 * <td><b>&nbsp;</b></td>
 * </tr>
 * <tr>
 * <td>リスト検索</td>
 * <td>selectList</td>
 * <td>主キー検索</td>
 * <td><b>&nbsp;</b></td>
 * </tr>
 * <tr>
 * <td>表示案件検索</td>
 * <td>selectView</td>
 * <td>リスト検索(マスタ情報付与)</td>
 * <td><b>&nbsp;</b></td>
 * </tr>
 * <tr>
 * <td>コピー案件検索</td>
 * <td>selectViewForCopy</td>
 * <td>リスト検索(マスタ情報付与)</td>
 * <td><b>&nbsp;</b></td>
 * </tr>
 * <tr>
 * <td>過去案件検索</td>
 * <td>selectViewArchive</td>
 * <td>リスト検索(マスタ情報付与)</td>
 * <td><b>&nbsp;</b></td>
 * </tr>
 * <tr>
 * <td>一括挿入</td>
 * <td>entry</td>
 * <td>登録</td>
 * <td><b>&nbsp;</b></td>
 * </tr>
 * <tr>
 * <td>一括更新</td>
 * <td>renew</td>
 * <td>更新</td>
 * <td><b>&nbsp;</b></td>
 * </tr>
 * <tr>
 * <td>削除</td>
 * <td>remove</td>
 * <td>削除</td>
 * <td><b>&nbsp;</b></td>
 * </tr>
 * <tr>
 * <td>一括削除</td>
 * <td>removeAll</td>
 * <td>削除</td>
 * <td>&nbsp;</td>
 * </tr>
 * <tr>
 * <td>過去案件登録</td>
 * <td>matterArchiveRegister</td>
 * <td>登録</td>
 * <td><b>&nbsp;</b></td>
 * </tr>
 * <tr>
 * <td>過去案件処理時削除</td>
 * <td>matterArchivePostDelete</td>
 * <td>削除</td>
 * <td><b>&nbsp;</b></td>
 * </tr>
 * <tr>
 * <td>過去案件一括削除</td>
 * <td>removeAllArchive</td>
 * <td>削除</td>
 * <td>&nbsp;</td>
 * </tr>
 * </table>
 * <br>
 * <br>
 * <b>機能別DTOクラスのI/Oマトリクス</b>
 * <table border="1">
 * <tr>
 * <td colspan="2" rowspan="2" align="center"><b>DTO</b></td>
 * <td colspan="2" align="center"><b>主キー<br>
 * 検索</b></td>
 * <td colspan="2" align="center"><b>リスト<br>
 * 検索</b></td>
 * <td colspan="2" align="center"><b>表示<br>
 * 案件<br>
 * 検索</b></td>
 * <td colspan="2" align="center"><b>コピー<br>
 * 案件<br>
 * 検索</b></td>
 * <td colspan="2" align="center"><b>過去<br>
 * 案件<br>
 * 検索</b></td>
 * <td colspan="2" align="center"><b>一括<br>
 * 挿入</b></td>
 * <td colspan="2" align="center"><b>一括<br>
 * 更新</b></td>
 * <td colspan="2" align="center"><b>削除</b></td>
 * <td colspan="2" align="center"><b>一括<br>
 * 削除</b></td>
 * <td colspan="2" align="center"><b>過去<br>
 * 案件<br>
 * 登録</b></td>
 * <td colspan="2" align="center"><b>過去<br>
 * 案件<br>
 * 処理時<br>
 * 削除</b></td>
 * <td colspan="2" align="center"><b>過去<br>
 * 案件<br>
 * 一括<br>
 * 削除</b></td>
 * </tr>
 * <tr>
 * <td align="center"><b>I</b></td>
 * <td align="center"><b>O</b></td>
 * <td align="center"><b>I</b></td>
 * <td align="center"><b>O</b></td>
 * <td align="center"><b>I</b></td>
 * <td align="center"><b>O</b></td>
 * <td align="center"><b>I</b></td>
 * <td align="center"><b>O</b></td>
 * <td align="center"><b>I</b></td>
 * <td align="center"><b>O</b></td>
 * <td align="center"><b>I</b></td>
 * <td align="center"><b>O</b></td>
 * <td align="center"><b>I</b></td>
 * <td align="center"><b>O</b></td>
 * <td align="center"><b>I</b></td>
 * <td align="center"><b>O</b></td>
 * <td align="center"><b>I</b></td>
 * <td align="center"><b>O</b></td>
 * <td align="center"><b>I</b></td>
 * <td align="center"><b>O</b></td>
 * <td align="center"><b>I</b></td>
 * <td align="center"><b>O</b></td>
 * <td align="center"><b>I</b></td>
 * <td align="center"><b>O</b></td>
 * </tr>
 * <tr>
 * <td colspan="2">{@link CriteriaForSqlDto}</td>
 * <td align="center">-</td>
 * <td align="center">-</td>
 * <td align="center">-</td>
 * <td align="center">-</td>
 * <td align="center">○</td>
 * <td align="center">-</td>
 * <td align="center">○</td>
 * <td align="center">-</td>
 * <td align="center">○</td>
 * <td align="center">-</td>
 * <td align="center">-</td>
 * <td align="center">-</td>
 * <td align="center">-</td>
 * <td align="center">-</td>
 * <td align="center">-</td>
 * <td align="center">-</td>
 * <td align="center">-</td>
 * <td align="center">-</td>
 * <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 colspan="2">{@link RouteDetailManagerDto}</td>
 * <td align="center">○</td>
 * <td align="center">○</td>
 * <td align="center">○</td>
 * <td align="center">○</td>
 * <td align="center">-</td>
 * <td align="center">○</td>
 * <td align="center">-</td>
 * <td align="center">○</td>
 * <td align="center">-</td>
 * <td align="center">○</td>
 * <td align="center">○</td>
 * <td align="center">-</td>
 * <td align="center">○</td>
 * <td align="center">-</td>
 * <td align="center">○</td>
 * <td align="center">-</td>
 * <td align="center">○</td>
 * <td align="center">-</td>
 * <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>
 * 
 * @author Sumitomo Life Information Systems Co.,Ltd.
 */

public class RouteDetailManagerImpl extends AbstractWfManager<RouteDetailManagerDto> implements RouteDetailManager {
    
    /** K30tRouteDetailService. */
    @Resource
    protected K30tRouteDetailService k30tRouteDetailService;
    
    /** Ka30tRouteDetailService. */
    @Resource
    protected Ka30tRouteDetailService ka30tRouteDetailService;
    
    /**
     * {@inheritDoc}
     */
    @Override
    public RouteDetailManagerDto selectByPk(RouteDetailManagerDto criteria) {
        return super.selectByPkIgnoreAuthority(k30tRouteDetailService, criteria);
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    public List<RouteDetailManagerDto> selectList(RouteDetailManagerDto criteria) {
        return super.selectPkUsedUserDataId(k30tRouteDetailService, criteria);
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    public List<RouteDetailManagerDto> selectView(CriteriaForSqlDto criteria) {
        List<OrderDto> order = new ArrayList<OrderDto>();
        order.add(new OrderDto(OrderType.ASC, ImwEntityCommonFieldNames.ROW_NUMBER));
        return super.selectBySqlForView(k30tRouteDetailService, SELECT_SQLFILE_NM, criteria, order);
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    public List<RouteDetailManagerDto> selectViewForCopy(CriteriaForSqlDto criteria) {
        List<OrderDto> order = new ArrayList<OrderDto>();
        order.add(new OrderDto(OrderType.ASC, ImwEntityCommonFieldNames.ROW_NUMBER));
        return super.selectBySqlForViewForCopy(k30tRouteDetailService, SELECT_SQLFILE_NM_FOR_COPY, criteria, order);
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    public List<BeanMap> selectForJournalSourceDtl(CriteriaForSqlDto criteria) {
        List<OrderDto> order = new ArrayList<OrderDto>();
        order.add(new OrderDto(OrderType.ASC, ImwEntityCommonFieldNames.ROW_NUMBER));
        return super.selectBySqlFileUsedBeanMap(SELECT_FOR_JOURNAL_SOURCE_DTL, criteria, order);
    }
    
    /**
     * {@inheritDoc}
     * <p>
     * (過去案件)旅程明細駅すぱあと検索情報テーブルも併せて取得するため、{@link RouteDetailManager#SELECT_SQLFILE_NMF_FOR_ARCHIVE SQLファイル}を利用します。
     * </p>
     */
    @Override
    public List<RouteDetailManagerDto> selectViewArchive(CriteriaForSqlDto criteria) {
        // CriteriaForSqlDto入力チェック
        String[] fieldNames = {SYSTEM_MATTER_ID, USER_DATA_ID, GADGET_CLASS, GADGET_INSTANCE, LOCALE_ID};
        this.validateCriteriaForSqlDto(criteria, fieldNames);
        criteria.archiveMonth = null;
        return super.selectBySqlIgnoreAuthority(ka30tRouteDetailService, SELECT_SQLFILE_NMF_FOR_ARCHIVE, criteria,
                ka30tRouteDetailService.makeOrderListFromPk());
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    public int entry(List<RouteDetailManagerDto> dataList) {
        return CollectionUtil.summaryInt(super.insertBatch(k30tRouteDetailService, dataList));
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    public int renew(List<RouteDetailManagerDto> dataList) {
        return CollectionUtil.summaryInt(super.renewBatch(k30tRouteDetailService, dataList));
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    public int remove(RouteDetailManagerDto data) {
        return super.deleteUsedUserDataId(k30tRouteDetailService, data);
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    public int removeAll(RouteDetailManagerDto data) {
        return super.deleteNoUsedUserDataId(k30tRouteDetailService, data);
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    public int matterArchiveRegister(CriteriaForSqlDto criteria, List<RouteDetailManagerDto> dataList) {
        return super.entryArchive(ka30tRouteDetailService, criteria, dataList);
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    public int matterArchivePostDelete(CriteriaForSqlDto criteria) {
        return super.deleteNoUsedUserDataId(k30tRouteDetailService, criteria);
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    public int removeAllArchive(CriteriaForSqlDto criteria) {
        return super.deleteNoUsedUserDataIdForArchive(ka30tRouteDetailService, criteria);
    }
    
}
  • Path
    src/main/java/jp/co/slcs/kaiden2/product_workflow/foundation/manager/routedetail/impl/RouteDetailValManagerImpl.java
package jp.co.slcs.kaiden2.product_workflow.foundation.manager.routedetail.impl;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import jp.co.slcs.kaiden2.base.foundation.exception.KaidenIllegalParametersException;
import jp.co.slcs.kaiden2.base.foundation.model.dto.OrderDto;
import jp.co.slcs.kaiden2.base.foundation.util.BeanUtil;
import jp.co.slcs.kaiden2.base.foundation.util.CollectionUtil;
import jp.co.slcs.kaiden2.extension_imw.foundation.conf.ImwEntityCommonFieldNames;
import jp.co.slcs.kaiden2.extension_imw.foundation.manager.CriteriaForSqlDto;
import jp.co.slcs.kaiden2.product_workflow.foundation.manager.routedetail.RouteDetailValManager;
import jp.co.slcs.kaiden2.product_workflow.foundation.manager.routedetail.RouteDetailValManagerDto;
import jp.co.slcs.kaiden2.product_workflow.foundation.model.entity.K30tRouteDetailVal;
import jp.co.slcs.kaiden2.product_workflow.foundation.model.entity.Ka30tRouteDetailVal;
import jp.co.slcs.kaiden2.product_workflow.foundation.model.service.K30tRouteDetailValService;
import jp.co.slcs.kaiden2.product_workflow.foundation.model.service.Ka30tRouteDetailValService;
import org.seasar.framework.beans.util.Beans;

/**
 * 旅程明細駅すぱあと検索情報テーブルへの各種操作を提供するAPI.<br>
 * 
 * @author Sumitomo Life Information Systems Co.,Ltd.
 */
public class RouteDetailValManagerImpl implements RouteDetailValManager {
    
    /** K30tRouteDetailValService. */
    @Resource
    protected K30tRouteDetailValService k30tRouteDetailValService;
    
    /** Ka30tRouteDetailValService. */
    @Resource
    protected Ka30tRouteDetailValService ka30tRouteDetailValService;
    
    /**
     * {@inheritDoc}
     */
    @Override
    public RouteDetailValManagerDto selectIgnoreAuthCompany(RouteDetailValManagerDto criteria) {
        if (criteria == null || criteria.routeSearchId == null) {
            throw KaidenIllegalParametersException.makeInstance();
        }
        Map<String, Object> criteriaMap = BeanUtil.toMap(criteria);
        List<K30tRouteDetailVal> selectList = k30tRouteDetailValService.genericSelectList(criteriaMap,
                new ArrayList<OrderDto>());
        if (CollectionUtil.isEmpty(selectList)) {
            return null;
        }
        
        return Beans.createAndCopy(RouteDetailValManagerDto.class, selectList.get(0)).execute();
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    public int entryIgnoreAuthCompany(RouteDetailValManagerDto data) {
        if (data == null) {
            throw KaidenIllegalParametersException.makeInstance();
        }
        
        K30tRouteDetailVal insData = Beans.createAndCopy(K30tRouteDetailVal.class, data).execute();
        return k30tRouteDetailValService.insert(insData);
        
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    public int removeIgnoreAuthCompany(RouteDetailValManagerDto criteria) {
        
        if (criteria == null || criteria.routeSearchId == null) {
            throw KaidenIllegalParametersException.makeInstance();
        }
        Map<String, Object> criteriaMap = BeanUtil.toMap(criteria);
        List<K30tRouteDetailVal> selectList = k30tRouteDetailValService.genericSelectList4Update(criteriaMap,
                new ArrayList<OrderDto>());
        if (CollectionUtil.isEmpty(selectList)) {
            return 0;
        }
        return k30tRouteDetailValService.delete(selectList.get(0));
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    public int matterArchiveRegister(CriteriaForSqlDto criteria, List<RouteDetailValManagerDto> dataList) {
        List<Ka30tRouteDetailVal> castListContent = new ArrayList<Ka30tRouteDetailVal>();
        for (RouteDetailValManagerDto j : dataList) {
            Ka30tRouteDetailVal data = Beans.createAndCopy(Ka30tRouteDetailVal.class, j).execute();
            data.localeId = criteria.localeId;
            data.archiveMonth = criteria.archiveMonth;
            castListContent.add(data);
        }
        return CollectionUtil.summaryInt(ka30tRouteDetailValService.insertBatch(castListContent));
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    public int matterArchivePostDelete(CriteriaForSqlDto criteria) {
        Map<String, Object> map = new HashMap<String, Object>();
        map.put(ImwEntityCommonFieldNames.SYSTEM_MATTER_ID, criteria.systemMatterId);
        map.put(ImwEntityCommonFieldNames.GADGET_CLASS, criteria.gadgetClass);
        map.put(ImwEntityCommonFieldNames.GADGET_INSTANCE, criteria.gadgetInstance);
        List<K30tRouteDetailVal> dataList = k30tRouteDetailValService.selectBySql(K30tRouteDetailVal.class,
                SELECT_SQLFILE_NM, map, k30tRouteDetailValService.makeOrderListFromPk());
        return CollectionUtil.summaryInt(k30tRouteDetailValService.deleteBatch(dataList));
    }
    
    /**
     * {@inheritDoc}
     */
    @Override
    public int removeAllArchive(CriteriaForSqlDto criteria) {
        Map<String, Object> map = new HashMap<String, Object>();
        map.put(ImwEntityCommonFieldNames.SYSTEM_MATTER_ID, criteria.systemMatterId);
        List<Ka30tRouteDetailVal> dataList = ka30tRouteDetailValService.selectBySql(Ka30tRouteDetailVal.class,
                SELECT_SQLFILE_NM, map, ka30tRouteDetailValService.makeOrderListFromPk());
        return CollectionUtil.summaryInt(ka30tRouteDetailValService.deleteBatch(dataList));
    }
    
}

5.1.4.2.9. ManagerDto

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

import java.math.BigDecimal;
import java.sql.Timestamp;
import jp.co.slcs.kaiden2.base.foundation.model.dto.KaidenDto;

/**
 * 旅程明細テーブルDTO.
 * 
 * @author Sumitomo Life Information Systems Co.,Ltd.
 */
public class RouteDetailManagerDto extends KaidenDto {
    
    /** システム案件id. */
    public String systemMatterId;
    /** ユーザデータid. */
    public String userDataId;
    /** ガジェットクラス. */
    public String gadgetClass;
    /** ガジェットインスタンス. */
    public Long gadgetInstance;
    /** タプルid. */
    public Long tupleId;
    /** ガジェットid. */
    public String gadgetId;
    /** ガジェットバリエーション. */
    public String gadgetVariation;
    /** 行番号. */
    public Long rowNumber;
    
    /** 旅程日付. */
    public Timestamp routeDate;
    /** 出発地. */
    public String startingSpot;
    /** 到着地. */
    public String arrivalSpot;
    /** 補足. */
    public String supplement;
    /** 経費区分コード. */
    public String expTypeCd;
    /** 勘定科目コード. */
    public String accountCd;
    /** 税区分コード. */
    public String taxTypeCd;
    /** 税率. */
    public BigDecimal taxRate;
    /** 数量. */
    public BigDecimal quantity;
    /** 取引通貨コード. */
    public String transCurrencyCd;
    /** 取引通貨額. */
    public BigDecimal transAmount;
    /** 会社通貨換算レート. */
    public BigDecimal companyRate;
    /** 会社通貨コード. */
    public String companyCurrencyCd;
    /** 会社通貨額. */
    public BigDecimal companyAmount;
    /** 会社通貨税抜額. */
    public BigDecimal companyAmountExcTax;
    /** 会社通貨税額. */
    public BigDecimal companyAmountTax;
    /** 会社通貨額合計. */
    public BigDecimal companyAmountSum;
    /** 支払分類コード. */
    public String payTypeCd;
    /** 支払方法コード. */
    public String payMethodCd;
    /** 支払先コード. */
    public String payeeCd;
    /** 支払先名. */
    public String payeeName;
    /** 組織セットコード. */
    public String departmentSetCd;
    /** 組織コード. */
    public String departmentCd;
    /** プロジェクトコード. */
    public String projectCd;
    /** 往復フラグ. */
    public String roundTripFlag;
    /** 経路情報連携済フラグ. */
    public String routeLinkFlag;
    /** 経路検索id. */
    public String routeSearchId;
    
    /** 予備項目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 searchCriteriaCompany;
    /** 取引通貨名称. */
    public String transCurrencyName;
    /** 会社通貨名称. */
    public String companyCurrencyName;
    /** 組織名称. */
    public String departmentName;
    /** プロジェクトマスタプロジェクト名称. */
    public String projectName;
    /** 経費区分名称. */
    public String expTypeName;
    /** 勘定科目名称. */
    public String accountName;
    /** 税区分名称. */
    public String taxTypeName;
    /** 支払分類名称. */
    public String payTypeName;
    /** 支払方法名称. */
    public String payMethodName;
    /** 立替フラグ. */
    public String paymentFlag;
    
    /** 定期区間. */
    public String commutationRoute;
    /** 検索条件. */
    public String searchCondition;
    /** 経路情報. */
    public String routeInfo;
    /** 評価判定基準日. */
    public Timestamp assessDate;
    /** 利用交通機関フラグ. */
    public String tranceMeansFlag;
    /** 評価フラグ. */
    public String assessFlag;
    
}
  • Path
    src/main/java/jp/co/slcs/kaiden2/product_workflow/foundation/manager/routedetail/RouteDetailValManagerDto.java
package jp.co.slcs.kaiden2.product_workflow.foundation.manager.routedetail;

import java.sql.Timestamp;
import jp.co.slcs.kaiden2.base.foundation.model.dto.KaidenMasterManagerDto;

/**
 * 旅程明細駅すぱあと検索情報テーブルマネージャDTO.
 * <p>
 * マネージャクラス({@link RouteDetailValManager})へ渡すパラメータ、及びマネージャからの結果返却で当クラスを使用します。
 * </p>
 * 
 * @author Sumitomo Life Information Systems Co.,Ltd.
 */
public class RouteDetailValManagerDto extends KaidenMasterManagerDto {
    
    /** 経路検索id. */
    public String routeSearchId;
    /** 定期区間. */
    public String commutationRoute;
    /** 検索条件. */
    public String searchCondition;
    /** 経路情報. */
    public String routeInfo;
    /** 評価判定基準日. */
    public Timestamp assessDate;
    /** 利用交通機関フラグ. */
    public String tranceMeansFlag;
    /** 評価フラグ. */
    public String assessFlag;
    /** 予備項目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;
    
    /** ロケールID. */
    public String localeId;
    
}
  • Path
    src/main/java/jp/co/slcs/kaiden2/product_workflow/foundation/manager/routedetail/RouteDetailValManagerDtoFieldName.java
package jp.co.slcs.kaiden2.product_workflow.foundation.manager.routedetail;

import jp.co.slcs.kaiden2.base.foundation.model.conf.EntityExtensionFieldNames;

/**
 * 旅程明細駅すぱあと検索情報テーブルDTO フィールド名定義クラス.
 * <p>
 * マネージャクラス({@link RouteDetailValManager})へ渡すパラメータ、及びマネージャからの結果返却で当クラスを使用します。
 * </p>
 * 
 * @author Sumitomo Life Information Systems Co.,Ltd.
 */
public final class RouteDetailValManagerDtoFieldName implements EntityExtensionFieldNames {
    
    /**
     * コンストラクタ.
     */
    private RouteDetailValManagerDtoFieldName() {
    }
    
    /** 経路検索ID. */
    public static final String ROUTE_SEARCH_ID = "routeSearchId";
    /** 定期区間. */
    public static final String COMMUTATION_ROUTE = "commutationRoute";
    /** 検索条件. */
    public static final String SEARCH_CONDITION = "searchCondition";
    /** 経路情報. */
    public static final String ROUTE_INFO = "routeInfo";
    /** 評価判定基準日. */
    public static final String ASSESS_DATE = "assessDate";
    /** 利用期間フラグ. */
    public static final String TRANCE_MEANS_FLAG = "tranceMeansFlag";
    /** 評価フラグ. */
    public static final String ASSESS_FLAG = "assessFlag";
    
}

5.1.4.3. Java(S2JDBC)

5.1.4.3.1. Entity

  • Path
    src/main/generated/jp/co/slcs/kaiden2/product_workflow/foundation/model/entity/K30tRouteDetail.java
package jp.co.slcs.kaiden2.product_workflow.foundation.model.entity;

import java.io.Serializable;
import java.math.BigDecimal;
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 = "k30t_route_detail")
@Generated(value = {"S2JDBC-Gen 2.4.46", "org.seasar.extension.jdbc.gen.internal.model.EntityModelFactoryImpl" })
public final class K30tRouteDetail extends GenerateEntity implements Serializable {
    
    /** シリアルバージョンUID. */
    private static final long serialVersionUID = 1L;

    /** システム案件id. */
    @Id
    @Column(name = "system_matter_id", columnDefinition = "varchar2(20)", nullable = false, unique = false)
    public String systemMatterId;

    /** ユーザデータid. */
    @Id
    @Column(name = "user_data_id", columnDefinition = "varchar2(20)", nullable = false, unique = false)
    public String userDataId;

    /** ガジェットクラス. */
    @Id
    @Column(name = "gadget_class", columnDefinition = "varchar2(100)", nullable = false, unique = false)
    public String gadgetClass;

    /** ガジェットインスタンス. */
    @Id
    @Column(name = "gadget_instance", columnDefinition = "number(18,0)", nullable = false, unique = false)
    public Long gadgetInstance;

    /** タプルid. */
    @Id
    @Column(name = "tuple_id", columnDefinition = "number(18,0)", nullable = false, unique = false)
    public Long tupleId;

    /** ガジェットid. */
    @Column(name = "gadget_id", columnDefinition = "varchar2(220)", nullable = false, unique = false)
    public String gadgetId;

    /** ガジェットバリエーション. */
    @Column(name = "gadget_variation", columnDefinition = "varchar2(100)", nullable = false, unique = false)
    public String gadgetVariation;

    /** 行番号. */
    @Column(name = "row_number", columnDefinition = "number(18,0)", nullable = false, unique = false)
    public Long rowNumber;

    /** 旅程日付. */
    @Column(name = "route_date", columnDefinition = "timestamp(6)", nullable = true, unique = false)
    public Timestamp routeDate;

    /** 出発地. */
    @Column(name = "starting_spot", columnDefinition = "varchar2(1000)", nullable = true, unique = false)
    public String startingSpot;

    /** 到着地. */
    @Column(name = "arrival_spot", columnDefinition = "varchar2(1000)", nullable = true, unique = false)
    public String arrivalSpot;

    /** 補足. */
    @Column(name = "supplement", columnDefinition = "varchar2(4000)", nullable = true, unique = false)
    public String supplement;

    /** 経費区分コード. */
    @Column(name = "exp_type_cd", columnDefinition = "varchar2(100)", nullable = true, unique = false)
    public String expTypeCd;

    /** 勘定科目コード. */
    @Column(name = "account_cd", columnDefinition = "varchar2(100)", nullable = true, unique = false)
    public String accountCd;

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

    /** 税率. */
    @Column(name = "tax_rate", columnDefinition = "number(28,10)", nullable = true, unique = false)
    public BigDecimal taxRate;

    /** 数量. */
    @Column(name = "quantity", columnDefinition = "number(28,10)", nullable = true, unique = false)
    public BigDecimal quantity;

    /** 取引通貨コード. */
    @Column(name = "trans_currency_cd", columnDefinition = "varchar2(100)", nullable = true, unique = false)
    public String transCurrencyCd;

    /** 取引通貨額. */
    @Column(name = "trans_amount", columnDefinition = "number(28,10)", nullable = true, unique = false)
    public BigDecimal transAmount;

    /** 会社通貨換算レート. */
    @Column(name = "company_rate", columnDefinition = "number(28,10)", nullable = true, unique = false)
    public BigDecimal companyRate;

    /** 会社通貨コード. */
    @Column(name = "company_currency_cd", columnDefinition = "varchar2(100)", nullable = true, unique = false)
    public String companyCurrencyCd;

    /** 会社通貨額. */
    @Column(name = "company_amount", columnDefinition = "number(28,10)", nullable = true, unique = false)
    public BigDecimal companyAmount;

    /** 会社通貨税抜額. */
    @Column(name = "company_amount_exc_tax", columnDefinition = "number(28,10)", nullable = true, unique = false)
    public BigDecimal companyAmountExcTax;

    /** 会社通貨税額. */
    @Column(name = "company_amount_tax", columnDefinition = "number(28,10)", nullable = true, unique = false)
    public BigDecimal companyAmountTax;

    /** 会社通貨額合計. */
    @Column(name = "company_amount_sum", columnDefinition = "number(28,10)", nullable = true, unique = false)
    public BigDecimal companyAmountSum;

    /** 支払分類コード. */
    @Column(name = "pay_type_cd", columnDefinition = "varchar2(100)", nullable = true, unique = false)
    public String payTypeCd;

    /** 支払方法コード. */
    @Column(name = "pay_method_cd", columnDefinition = "varchar2(100)", nullable = true, unique = false)
    public String payMethodCd;

    /** 支払先コード. */
    @Column(name = "payee_cd", columnDefinition = "varchar2(100)", nullable = true, unique = false)
    public String payeeCd;

    /** 支払先名. */
    @Column(name = "payee_name", columnDefinition = "varchar2(1000)", nullable = true, unique = false)
    public String payeeName;

    /** 組織セットコード. */
    @Column(name = "department_set_cd", columnDefinition = "varchar2(100)", nullable = true, unique = false)
    public String departmentSetCd;

    /** 組織コード. */
    @Column(name = "department_cd", columnDefinition = "varchar2(100)", nullable = true, unique = false)
    public String departmentCd;

    /** プロジェクトコード. */
    @Column(name = "project_cd", columnDefinition = "varchar2(100)", nullable = true, unique = false)
    public String projectCd;

    /** 往復フラグ. */
    @Column(name = "round_trip_flag", columnDefinition = "varchar2(1)", nullable = false, unique = false)
    public String roundTripFlag;

    /** 経路情報連携済フラグ. */
    @Column(name = "route_link_flag", columnDefinition = "varchar2(1)", nullable = false, unique = false)
    public String routeLinkFlag;

    /** 経路検索id. */
    @Column(name = "route_search_id", columnDefinition = "varchar2(100)", nullable = true, unique = false)
    public String routeSearchId;

    /** 予備項目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;
}
  • Path
    src/main/generated/jp/co/slcs/kaiden2/product_workflow/foundation/model/entity/K30tRouteDetailVal.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.Lob;
import javax.persistence.Table;
import jp.co.slcs.kaiden2.base.foundation.model.entity.GenerateEntity;

/**
 * 旅程明細駅すぱあと検索情報テーブル.
 * 
 * @author Sumitomo Life Information Systems Co.,Ltd.
 */
@Entity
@Table(name = "k30t_route_detail_val")
@Generated(value = {"S2JDBC-Gen 2.4.46", "org.seasar.extension.jdbc.gen.internal.model.EntityModelFactoryImpl" })
public final class K30tRouteDetailVal extends GenerateEntity implements Serializable {
    
    /** シリアルバージョンUID. */
    private static final long serialVersionUID = 1L;

    /** 経路検索id. */
    @Id
    @Column(name = "route_search_id", columnDefinition = "varchar2(100)", nullable = false, unique = true)
    public String routeSearchId;

    /** 定期区間. */
    @Lob
    @Column(name = "commutation_route", columnDefinition = "clob", nullable = true, unique = false)
    public String commutationRoute;

    /** 検索条件. */
    @Lob
    @Column(name = "search_condition", columnDefinition = "clob", nullable = true, unique = false)
    public String searchCondition;

    /** 経路情報. */
    @Lob
    @Column(name = "route_info", columnDefinition = "clob", nullable = true, unique = false)
    public String routeInfo;

    /** 評価判定基準日. */
    @Column(name = "assess_date", columnDefinition = "timestamp(6)", nullable = true, unique = false)
    public Timestamp assessDate;

    /** 利用交通機関フラグ. */
    @Column(name = "trance_means_flag", columnDefinition = "varchar2(10)", nullable = false, unique = false)
    public String tranceMeansFlag;

    /** 評価フラグ. */
    @Column(name = "assess_flag", columnDefinition = "varchar2(10)", nullable = false, unique = false)
    public String assessFlag;

    /** 予備項目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;
}
  • Path
    src/main/generated/jp/co/slcs/kaiden2/product_workflow/foundation/model/entity/Ka30tRouteDetail.java
package jp.co.slcs.kaiden2.product_workflow.foundation.model.entity;

import java.io.Serializable;
import java.math.BigDecimal;
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 = "ka30t_route_detail")
@Generated(value = {"S2JDBC-Gen 2.4.46", "org.seasar.extension.jdbc.gen.internal.model.EntityModelFactoryImpl" })
public final class Ka30tRouteDetail extends GenerateEntity implements Serializable {
    
    /** シリアルバージョンUID. */
    private static final long serialVersionUID = 1L;

    /** システム案件id. */
    @Id
    @Column(name = "system_matter_id", columnDefinition = "varchar2(20)", nullable = false, unique = false)
    public String systemMatterId;

    /** ユーザデータid. */
    @Id
    @Column(name = "user_data_id", columnDefinition = "varchar2(20)", nullable = false, unique = false)
    public String userDataId;

    /** ガジェットクラス. */
    @Id
    @Column(name = "gadget_class", columnDefinition = "varchar2(100)", nullable = false, unique = false)
    public String gadgetClass;

    /** ガジェットインスタンス. */
    @Id
    @Column(name = "gadget_instance", columnDefinition = "number(18,0)", nullable = false, unique = false)
    public Long gadgetInstance;

    /** タプルid. */
    @Id
    @Column(name = "tuple_id", columnDefinition = "number(18,0)", nullable = false, unique = false)
    public Long tupleId;

    /** ロケールid. */
    @Id
    @Column(name = "locale_id", columnDefinition = "varchar2(50)", nullable = false, unique = false)
    public String localeId;

    /** アーカイブ年月. */
    @Column(name = "archive_month", columnDefinition = "varchar2(6)", nullable = false, unique = false)
    public String archiveMonth;

    /** ガジェットid. */
    @Column(name = "gadget_id", columnDefinition = "varchar2(220)", nullable = false, unique = false)
    public String gadgetId;

    /** ガジェットバリエーション. */
    @Column(name = "gadget_variation", columnDefinition = "varchar2(100)", nullable = false, unique = false)
    public String gadgetVariation;

    /** 行番号. */
    @Column(name = "row_number", columnDefinition = "number(18,0)", nullable = false, unique = false)
    public Long rowNumber;

    /** 旅程日付. */
    @Column(name = "route_date", columnDefinition = "timestamp(6)", nullable = true, unique = false)
    public Timestamp routeDate;

    /** 出発地. */
    @Column(name = "starting_spot", columnDefinition = "varchar2(1000)", nullable = true, unique = false)
    public String startingSpot;

    /** 到着地. */
    @Column(name = "arrival_spot", columnDefinition = "varchar2(1000)", nullable = true, unique = false)
    public String arrivalSpot;

    /** 補足. */
    @Column(name = "supplement", columnDefinition = "varchar2(4000)", nullable = true, unique = false)
    public String supplement;

    /** 経費区分コード. */
    @Column(name = "exp_type_cd", columnDefinition = "varchar2(100)", nullable = true, unique = false)
    public String expTypeCd;

    /** 勘定科目コード. */
    @Column(name = "account_cd", columnDefinition = "varchar2(100)", nullable = true, unique = false)
    public String accountCd;

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

    /** 税率. */
    @Column(name = "tax_rate", columnDefinition = "number(28,10)", nullable = true, unique = false)
    public BigDecimal taxRate;

    /** 数量. */
    @Column(name = "quantity", columnDefinition = "number(28,10)", nullable = true, unique = false)
    public BigDecimal quantity;

    /** 取引通貨コード. */
    @Column(name = "trans_currency_cd", columnDefinition = "varchar2(100)", nullable = true, unique = false)
    public String transCurrencyCd;

    /** 取引通貨額. */
    @Column(name = "trans_amount", columnDefinition = "number(28,10)", nullable = true, unique = false)
    public BigDecimal transAmount;

    /** 会社通貨換算レート. */
    @Column(name = "company_rate", columnDefinition = "number(28,10)", nullable = true, unique = false)
    public BigDecimal companyRate;

    /** 会社通貨コード. */
    @Column(name = "company_currency_cd", columnDefinition = "varchar2(100)", nullable = true, unique = false)
    public String companyCurrencyCd;

    /** 会社通貨額. */
    @Column(name = "company_amount", columnDefinition = "number(28,10)", nullable = true, unique = false)
    public BigDecimal companyAmount;

    /** 会社通貨税抜額. */
    @Column(name = "company_amount_exc_tax", columnDefinition = "number(28,10)", nullable = true, unique = false)
    public BigDecimal companyAmountExcTax;

    /** 会社通貨税額. */
    @Column(name = "company_amount_tax", columnDefinition = "number(28,10)", nullable = true, unique = false)
    public BigDecimal companyAmountTax;

    /** 会社通貨額合計. */
    @Column(name = "company_amount_sum", columnDefinition = "number(28,10)", nullable = true, unique = false)
    public BigDecimal companyAmountSum;

    /** 支払分類コード. */
    @Column(name = "pay_type_cd", columnDefinition = "varchar2(100)", nullable = true, unique = false)
    public String payTypeCd;

    /** 支払方法コード. */
    @Column(name = "pay_method_cd", columnDefinition = "varchar2(100)", nullable = true, unique = false)
    public String payMethodCd;

    /** 支払先コード. */
    @Column(name = "payee_cd", columnDefinition = "varchar2(100)", nullable = true, unique = false)
    public String payeeCd;

    /** 支払先名. */
    @Column(name = "payee_name", columnDefinition = "varchar2(1000)", nullable = true, unique = false)
    public String payeeName;

    /** 組織セットコード. */
    @Column(name = "department_set_cd", columnDefinition = "varchar2(100)", nullable = true, unique = false)
    public String departmentSetCd;

    /** 組織コード. */
    @Column(name = "department_cd", columnDefinition = "varchar2(100)", nullable = true, unique = false)
    public String departmentCd;

    /** プロジェクトコード. */
    @Column(name = "project_cd", columnDefinition = "varchar2(100)", nullable = true, unique = false)
    public String projectCd;

    /** 往復フラグ. */
    @Column(name = "round_trip_flag", columnDefinition = "varchar2(1)", nullable = false, unique = false)
    public String roundTripFlag;

    /** 経路情報連携済フラグ. */
    @Column(name = "route_link_flag", columnDefinition = "varchar2(1)", nullable = false, unique = false)
    public String routeLinkFlag;

    /** 経路検索id. */
    @Column(name = "route_search_id", columnDefinition = "varchar2(100)", nullable = true, unique = false)
    public String routeSearchId;

    /** 経費区分名称. */
    @Column(name = "exp_type_name", columnDefinition = "varchar2(1000)", nullable = true, unique = false)
    public String expTypeName;

    /** 勘定科目名称. */
    @Column(name = "account_name", columnDefinition = "varchar2(1000)", nullable = true, unique = false)
    public String accountName;

    /** 税区分名. */
    @Column(name = "tax_type_name", columnDefinition = "varchar2(1000)", nullable = true, unique = false)
    public String taxTypeName;

    /** 取引通貨名. */
    @Column(name = "trans_currency_name", columnDefinition = "varchar2(1000)", nullable = true, unique = false)
    public String transCurrencyName;

    /** 会社通貨名. */
    @Column(name = "company_currency_name", columnDefinition = "varchar2(1000)", nullable = true, unique = false)
    public String companyCurrencyName;

    /** 支払分類名称. */
    @Column(name = "pay_type_name", columnDefinition = "varchar2(1000)", nullable = true, unique = false)
    public String payTypeName;

    /** 立替フラグ. */
    @Column(name = "payment_flag", columnDefinition = "varchar2(1)", nullable = true, unique = false)
    public String paymentFlag;

    /** 支払方法名称. */
    @Column(name = "pay_method_name", columnDefinition = "varchar2(1000)", nullable = true, unique = false)
    public String payMethodName;

    /** 組織名. */
    @Column(name = "department_name", columnDefinition = "varchar2(1000)", nullable = true, unique = false)
    public String departmentName;

    /** プロジェクト名. */
    @Column(name = "project_name", columnDefinition = "varchar2(1000)", nullable = true, unique = false)
    public String projectName;

    /** 予備項目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;
}
  • Path
    src/main/generated/jp/co/slcs/kaiden2/product_workflow/foundation/model/entity/Ka30tRouteDetailVal.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.Lob;
import javax.persistence.Table;
import jp.co.slcs.kaiden2.base.foundation.model.entity.GenerateEntity;

/**
 * (過去案件)旅程明細駅すぱあと検索情報テーブル.
 * 
 * @author Sumitomo Life Information Systems Co.,Ltd.
 */
@Entity
@Table(name = "ka30t_route_detail_val")
@Generated(value = {"S2JDBC-Gen 2.4.46", "org.seasar.extension.jdbc.gen.internal.model.EntityModelFactoryImpl" })
public final class Ka30tRouteDetailVal extends GenerateEntity implements Serializable {
    
    /** シリアルバージョンUID. */
    private static final long serialVersionUID = 1L;

    /** 経路検索id. */
    @Id
    @Column(name = "route_search_id", columnDefinition = "varchar2(100)", nullable = false, unique = false)
    public String routeSearchId;

    /** ロケールid. */
    @Id
    @Column(name = "locale_id", columnDefinition = "varchar2(50)", nullable = false, unique = false)
    public String localeId;

    /** アーカイブ年月. */
    @Column(name = "archive_month", columnDefinition = "varchar2(6)", nullable = false, unique = false)
    public String archiveMonth;

    /** 定期区間. */
    @Lob
    @Column(name = "commutation_route", columnDefinition = "clob", nullable = true, unique = false)
    public String commutationRoute;

    /** 検索条件. */
    @Lob
    @Column(name = "search_condition", columnDefinition = "clob", nullable = true, unique = false)
    public String searchCondition;

    /** 経路情報. */
    @Lob
    @Column(name = "route_info", columnDefinition = "clob", nullable = true, unique = false)
    public String routeInfo;

    /** 評価判定基準日. */
    @Column(name = "assess_date", columnDefinition = "timestamp(6)", nullable = true, unique = false)
    public Timestamp assessDate;

    /** 利用交通機関フラグ. */
    @Column(name = "trance_means_flag", columnDefinition = "varchar2(10)", nullable = false, unique = false)
    public String tranceMeansFlag;

    /** 評価フラグ. */
    @Column(name = "assess_flag", columnDefinition = "varchar2(10)", nullable = false, unique = false)
    public String assessFlag;

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

  • Path
    src/main/generated/jp/co/slcs/kaiden2/product_workflow/foundation/model/entity/K30tRouteDetailNames.java
package jp.co.slcs.kaiden2.product_workflow.foundation.model.entity;

import java.math.BigDecimal;
import java.sql.Timestamp;
import javax.annotation.Generated;
import org.seasar.extension.jdbc.name.PropertyName;

/**
 * {@link K30tRouteDetail}の名称クラス.
 * 
 * @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 K30tRouteDetailNames {
    
    /**
     * デフォルトコンストラクタ.
     */
     private K30tRouteDetailNames() {
         super();
     }
    
    /**
     * systemMatterIdのプロパティ名を返却.
     * 
     * @return systemMatterIdのプロパティ名
     */
    public static PropertyName<String> systemMatterId() {
        return new PropertyName<String>("systemMatterId");
    }
    
    /**
     * userDataIdのプロパティ名を返却.
     * 
     * @return userDataIdのプロパティ名
     */
    public static PropertyName<String> userDataId() {
        return new PropertyName<String>("userDataId");
    }
    
    /**
     * gadgetClassのプロパティ名を返却.
     * 
     * @return gadgetClassのプロパティ名
     */
    public static PropertyName<String> gadgetClass() {
        return new PropertyName<String>("gadgetClass");
    }
    
    /**
     * gadgetInstanceのプロパティ名を返却.
     * 
     * @return gadgetInstanceのプロパティ名
     */
    public static PropertyName<Long> gadgetInstance() {
        return new PropertyName<Long>("gadgetInstance");
    }
    
    /**
     * tupleIdのプロパティ名を返却.
     * 
     * @return tupleIdのプロパティ名
     */
    public static PropertyName<Long> tupleId() {
        return new PropertyName<Long>("tupleId");
    }
    
    /**
     * gadgetIdのプロパティ名を返却.
     * 
     * @return gadgetIdのプロパティ名
     */
    public static PropertyName<String> gadgetId() {
        return new PropertyName<String>("gadgetId");
    }
    
    /**
     * gadgetVariationのプロパティ名を返却.
     * 
     * @return gadgetVariationのプロパティ名
     */
    public static PropertyName<String> gadgetVariation() {
        return new PropertyName<String>("gadgetVariation");
    }
    
    /**
     * rowNumberのプロパティ名を返却.
     * 
     * @return rowNumberのプロパティ名
     */
    public static PropertyName<Long> rowNumber() {
        return new PropertyName<Long>("rowNumber");
    }
    
    /**
     * routeDateのプロパティ名を返却.
     * 
     * @return routeDateのプロパティ名
     */
    public static PropertyName<Timestamp> routeDate() {
        return new PropertyName<Timestamp>("routeDate");
    }
    
    /**
     * startingSpotのプロパティ名を返却.
     * 
     * @return startingSpotのプロパティ名
     */
    public static PropertyName<String> startingSpot() {
        return new PropertyName<String>("startingSpot");
    }
    
    /**
     * arrivalSpotのプロパティ名を返却.
     * 
     * @return arrivalSpotのプロパティ名
     */
    public static PropertyName<String> arrivalSpot() {
        return new PropertyName<String>("arrivalSpot");
    }
    
    /**
     * supplementのプロパティ名を返却.
     * 
     * @return supplementのプロパティ名
     */
    public static PropertyName<String> supplement() {
        return new PropertyName<String>("supplement");
    }
    
    /**
     * expTypeCdのプロパティ名を返却.
     * 
     * @return expTypeCdのプロパティ名
     */
    public static PropertyName<String> expTypeCd() {
        return new PropertyName<String>("expTypeCd");
    }
    
    /**
     * 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");
    }
    
    /**
     * taxRateのプロパティ名を返却.
     * 
     * @return taxRateのプロパティ名
     */
    public static PropertyName<BigDecimal> taxRate() {
        return new PropertyName<BigDecimal>("taxRate");
    }
    
    /**
     * quantityのプロパティ名を返却.
     * 
     * @return quantityのプロパティ名
     */
    public static PropertyName<BigDecimal> quantity() {
        return new PropertyName<BigDecimal>("quantity");
    }
    
    /**
     * transCurrencyCdのプロパティ名を返却.
     * 
     * @return transCurrencyCdのプロパティ名
     */
    public static PropertyName<String> transCurrencyCd() {
        return new PropertyName<String>("transCurrencyCd");
    }
    
    /**
     * transAmountのプロパティ名を返却.
     * 
     * @return transAmountのプロパティ名
     */
    public static PropertyName<BigDecimal> transAmount() {
        return new PropertyName<BigDecimal>("transAmount");
    }
    
    /**
     * companyRateのプロパティ名を返却.
     * 
     * @return companyRateのプロパティ名
     */
    public static PropertyName<BigDecimal> companyRate() {
        return new PropertyName<BigDecimal>("companyRate");
    }
    
    /**
     * companyCurrencyCdのプロパティ名を返却.
     * 
     * @return companyCurrencyCdのプロパティ名
     */
    public static PropertyName<String> companyCurrencyCd() {
        return new PropertyName<String>("companyCurrencyCd");
    }
    
    /**
     * companyAmountのプロパティ名を返却.
     * 
     * @return companyAmountのプロパティ名
     */
    public static PropertyName<BigDecimal> companyAmount() {
        return new PropertyName<BigDecimal>("companyAmount");
    }
    
    /**
     * companyAmountExcTaxのプロパティ名を返却.
     * 
     * @return companyAmountExcTaxのプロパティ名
     */
    public static PropertyName<BigDecimal> companyAmountExcTax() {
        return new PropertyName<BigDecimal>("companyAmountExcTax");
    }
    
    /**
     * companyAmountTaxのプロパティ名を返却.
     * 
     * @return companyAmountTaxのプロパティ名
     */
    public static PropertyName<BigDecimal> companyAmountTax() {
        return new PropertyName<BigDecimal>("companyAmountTax");
    }
    
    /**
     * companyAmountSumのプロパティ名を返却.
     * 
     * @return companyAmountSumのプロパティ名
     */
    public static PropertyName<BigDecimal> companyAmountSum() {
        return new PropertyName<BigDecimal>("companyAmountSum");
    }
    
    /**
     * payTypeCdのプロパティ名を返却.
     * 
     * @return payTypeCdのプロパティ名
     */
    public static PropertyName<String> payTypeCd() {
        return new PropertyName<String>("payTypeCd");
    }
    
    /**
     * payMethodCdのプロパティ名を返却.
     * 
     * @return payMethodCdのプロパティ名
     */
    public static PropertyName<String> payMethodCd() {
        return new PropertyName<String>("payMethodCd");
    }
    
    /**
     * payeeCdのプロパティ名を返却.
     * 
     * @return payeeCdのプロパティ名
     */
    public static PropertyName<String> payeeCd() {
        return new PropertyName<String>("payeeCd");
    }
    
    /**
     * payeeNameのプロパティ名を返却.
     * 
     * @return payeeNameのプロパティ名
     */
    public static PropertyName<String> payeeName() {
        return new PropertyName<String>("payeeName");
    }
    
    /**
     * departmentSetCdのプロパティ名を返却.
     * 
     * @return departmentSetCdのプロパティ名
     */
    public static PropertyName<String> departmentSetCd() {
        return new PropertyName<String>("departmentSetCd");
    }
    
    /**
     * departmentCdのプロパティ名を返却.
     * 
     * @return departmentCdのプロパティ名
     */
    public static PropertyName<String> departmentCd() {
        return new PropertyName<String>("departmentCd");
    }
    
    /**
     * projectCdのプロパティ名を返却.
     * 
     * @return projectCdのプロパティ名
     */
    public static PropertyName<String> projectCd() {
        return new PropertyName<String>("projectCd");
    }
    
    /**
     * roundTripFlagのプロパティ名を返却.
     * 
     * @return roundTripFlagのプロパティ名
     */
    public static PropertyName<String> roundTripFlag() {
        return new PropertyName<String>("roundTripFlag");
    }
    
    /**
     * routeLinkFlagのプロパティ名を返却.
     * 
     * @return routeLinkFlagのプロパティ名
     */
    public static PropertyName<String> routeLinkFlag() {
        return new PropertyName<String>("routeLinkFlag");
    }
    
    /**
     * routeSearchIdのプロパティ名を返却.
     * 
     * @return routeSearchIdのプロパティ名
     */
    public static PropertyName<String> routeSearchId() {
        return new PropertyName<String>("routeSearchId");
    }
    
    /**
     * 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 _K30tRouteDetailNames extends PropertyName<K30tRouteDetail> {
        
        /**
         * インスタンスを構築.
         */
        public _K30tRouteDetailNames() {
        }
        
        /**
         * インスタンスを構築.
         * 
         * @param name 名前
         */
        public _K30tRouteDetailNames(final String name) {
            super(name);
        }
        
        /**
         * インスタンスを構築.
         * 
         * @param parent 親
         * @param name 名前
         */
        public _K30tRouteDetailNames(final PropertyName<?> parent, final String name) {
            super(parent, name);
        }
        
        /**
         * systemMatterIdのプロパティ名を返却.
         *
         * @return systemMatterIdのプロパティ名
         */
        public PropertyName<String> systemMatterId() {
            return new PropertyName<String>(this, "systemMatterId");
        }
        
        /**
         * userDataIdのプロパティ名を返却.
         *
         * @return userDataIdのプロパティ名
         */
        public PropertyName<String> userDataId() {
            return new PropertyName<String>(this, "userDataId");
        }
        
        /**
         * gadgetClassのプロパティ名を返却.
         *
         * @return gadgetClassのプロパティ名
         */
        public PropertyName<String> gadgetClass() {
            return new PropertyName<String>(this, "gadgetClass");
        }
        
        /**
         * gadgetInstanceのプロパティ名を返却.
         *
         * @return gadgetInstanceのプロパティ名
         */
        public PropertyName<Long> gadgetInstance() {
            return new PropertyName<Long>(this, "gadgetInstance");
        }
        
        /**
         * tupleIdのプロパティ名を返却.
         *
         * @return tupleIdのプロパティ名
         */
        public PropertyName<Long> tupleId() {
            return new PropertyName<Long>(this, "tupleId");
        }
        
        /**
         * gadgetIdのプロパティ名を返却.
         *
         * @return gadgetIdのプロパティ名
         */
        public PropertyName<String> gadgetId() {
            return new PropertyName<String>(this, "gadgetId");
        }
        
        /**
         * gadgetVariationのプロパティ名を返却.
         *
         * @return gadgetVariationのプロパティ名
         */
        public PropertyName<String> gadgetVariation() {
            return new PropertyName<String>(this, "gadgetVariation");
        }
        
        /**
         * rowNumberのプロパティ名を返却.
         *
         * @return rowNumberのプロパティ名
         */
        public PropertyName<Long> rowNumber() {
            return new PropertyName<Long>(this, "rowNumber");
        }
        
        /**
         * routeDateのプロパティ名を返却.
         *
         * @return routeDateのプロパティ名
         */
        public PropertyName<Timestamp> routeDate() {
            return new PropertyName<Timestamp>(this, "routeDate");
        }
        
        /**
         * startingSpotのプロパティ名を返却.
         *
         * @return startingSpotのプロパティ名
         */
        public PropertyName<String> startingSpot() {
            return new PropertyName<String>(this, "startingSpot");
        }
        
        /**
         * arrivalSpotのプロパティ名を返却.
         *
         * @return arrivalSpotのプロパティ名
         */
        public PropertyName<String> arrivalSpot() {
            return new PropertyName<String>(this, "arrivalSpot");
        }
        
        /**
         * supplementのプロパティ名を返却.
         *
         * @return supplementのプロパティ名
         */
        public PropertyName<String> supplement() {
            return new PropertyName<String>(this, "supplement");
        }
        
        /**
         * expTypeCdのプロパティ名を返却.
         *
         * @return expTypeCdのプロパティ名
         */
        public PropertyName<String> expTypeCd() {
            return new PropertyName<String>(this, "expTypeCd");
        }
        
        /**
         * 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");
        }
        
        /**
         * taxRateのプロパティ名を返却.
         *
         * @return taxRateのプロパティ名
         */
        public PropertyName<BigDecimal> taxRate() {
            return new PropertyName<BigDecimal>(this, "taxRate");
        }
        
        /**
         * quantityのプロパティ名を返却.
         *
         * @return quantityのプロパティ名
         */
        public PropertyName<BigDecimal> quantity() {
            return new PropertyName<BigDecimal>(this, "quantity");
        }
        
        /**
         * transCurrencyCdのプロパティ名を返却.
         *
         * @return transCurrencyCdのプロパティ名
         */
        public PropertyName<String> transCurrencyCd() {
            return new PropertyName<String>(this, "transCurrencyCd");
        }
        
        /**
         * transAmountのプロパティ名を返却.
         *
         * @return transAmountのプロパティ名
         */
        public PropertyName<BigDecimal> transAmount() {
            return new PropertyName<BigDecimal>(this, "transAmount");
        }
        
        /**
         * companyRateのプロパティ名を返却.
         *
         * @return companyRateのプロパティ名
         */
        public PropertyName<BigDecimal> companyRate() {
            return new PropertyName<BigDecimal>(this, "companyRate");
        }
        
        /**
         * companyCurrencyCdのプロパティ名を返却.
         *
         * @return companyCurrencyCdのプロパティ名
         */
        public PropertyName<String> companyCurrencyCd() {
            return new PropertyName<String>(this, "companyCurrencyCd");
        }
        
        /**
         * companyAmountのプロパティ名を返却.
         *
         * @return companyAmountのプロパティ名
         */
        public PropertyName<BigDecimal> companyAmount() {
            return new PropertyName<BigDecimal>(this, "companyAmount");
        }
        
        /**
         * companyAmountExcTaxのプロパティ名を返却.
         *
         * @return companyAmountExcTaxのプロパティ名
         */
        public PropertyName<BigDecimal> companyAmountExcTax() {
            return new PropertyName<BigDecimal>(this, "companyAmountExcTax");
        }
        
        /**
         * companyAmountTaxのプロパティ名を返却.
         *
         * @return companyAmountTaxのプロパティ名
         */
        public PropertyName<BigDecimal> companyAmountTax() {
            return new PropertyName<BigDecimal>(this, "companyAmountTax");
        }
        
        /**
         * companyAmountSumのプロパティ名を返却.
         *
         * @return companyAmountSumのプロパティ名
         */
        public PropertyName<BigDecimal> companyAmountSum() {
            return new PropertyName<BigDecimal>(this, "companyAmountSum");
        }
        
        /**
         * payTypeCdのプロパティ名を返却.
         *
         * @return payTypeCdのプロパティ名
         */
        public PropertyName<String> payTypeCd() {
            return new PropertyName<String>(this, "payTypeCd");
        }
        
        /**
         * payMethodCdのプロパティ名を返却.
         *
         * @return payMethodCdのプロパティ名
         */
        public PropertyName<String> payMethodCd() {
            return new PropertyName<String>(this, "payMethodCd");
        }
        
        /**
         * payeeCdのプロパティ名を返却.
         *
         * @return payeeCdのプロパティ名
         */
        public PropertyName<String> payeeCd() {
            return new PropertyName<String>(this, "payeeCd");
        }
        
        /**
         * payeeNameのプロパティ名を返却.
         *
         * @return payeeNameのプロパティ名
         */
        public PropertyName<String> payeeName() {
            return new PropertyName<String>(this, "payeeName");
        }
        
        /**
         * departmentSetCdのプロパティ名を返却.
         *
         * @return departmentSetCdのプロパティ名
         */
        public PropertyName<String> departmentSetCd() {
            return new PropertyName<String>(this, "departmentSetCd");
        }
        
        /**
         * departmentCdのプロパティ名を返却.
         *
         * @return departmentCdのプロパティ名
         */
        public PropertyName<String> departmentCd() {
            return new PropertyName<String>(this, "departmentCd");
        }
        
        /**
         * projectCdのプロパティ名を返却.
         *
         * @return projectCdのプロパティ名
         */
        public PropertyName<String> projectCd() {
            return new PropertyName<String>(this, "projectCd");
        }
        
        /**
         * roundTripFlagのプロパティ名を返却.
         *
         * @return roundTripFlagのプロパティ名
         */
        public PropertyName<String> roundTripFlag() {
            return new PropertyName<String>(this, "roundTripFlag");
        }
        
        /**
         * routeLinkFlagのプロパティ名を返却.
         *
         * @return routeLinkFlagのプロパティ名
         */
        public PropertyName<String> routeLinkFlag() {
            return new PropertyName<String>(this, "routeLinkFlag");
        }
        
        /**
         * routeSearchIdのプロパティ名を返却.
         *
         * @return routeSearchIdのプロパティ名
         */
        public PropertyName<String> routeSearchId() {
            return new PropertyName<String>(this, "routeSearchId");
        }
        
        /**
         * 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");
        }
    }
}
  • Path
    src/main/generated/jp/co/slcs/kaiden2/product_workflow/foundation/model/entity/K30tRouteDetailValNames.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 K30tRouteDetailVal}の名称クラス.
 * 
 * @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 K30tRouteDetailValNames {
    
    /**
     * デフォルトコンストラクタ.
     */
     private K30tRouteDetailValNames() {
         super();
     }
    
    /**
     * routeSearchIdのプロパティ名を返却.
     * 
     * @return routeSearchIdのプロパティ名
     */
    public static PropertyName<String> routeSearchId() {
        return new PropertyName<String>("routeSearchId");
    }
    
    /**
     * commutationRouteのプロパティ名を返却.
     * 
     * @return commutationRouteのプロパティ名
     */
    public static PropertyName<String> commutationRoute() {
        return new PropertyName<String>("commutationRoute");
    }
    
    /**
     * searchConditionのプロパティ名を返却.
     * 
     * @return searchConditionのプロパティ名
     */
    public static PropertyName<String> searchCondition() {
        return new PropertyName<String>("searchCondition");
    }
    
    /**
     * routeInfoのプロパティ名を返却.
     * 
     * @return routeInfoのプロパティ名
     */
    public static PropertyName<String> routeInfo() {
        return new PropertyName<String>("routeInfo");
    }
    
    /**
     * assessDateのプロパティ名を返却.
     * 
     * @return assessDateのプロパティ名
     */
    public static PropertyName<Timestamp> assessDate() {
        return new PropertyName<Timestamp>("assessDate");
    }
    
    /**
     * tranceMeansFlagのプロパティ名を返却.
     * 
     * @return tranceMeansFlagのプロパティ名
     */
    public static PropertyName<String> tranceMeansFlag() {
        return new PropertyName<String>("tranceMeansFlag");
    }
    
    /**
     * assessFlagのプロパティ名を返却.
     * 
     * @return assessFlagのプロパティ名
     */
    public static PropertyName<String> assessFlag() {
        return new PropertyName<String>("assessFlag");
    }
    
    /**
     * 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 _K30tRouteDetailValNames extends PropertyName<K30tRouteDetailVal> {
        
        /**
         * インスタンスを構築.
         */
        public _K30tRouteDetailValNames() {
        }
        
        /**
         * インスタンスを構築.
         * 
         * @param name 名前
         */
        public _K30tRouteDetailValNames(final String name) {
            super(name);
        }
        
        /**
         * インスタンスを構築.
         * 
         * @param parent 親
         * @param name 名前
         */
        public _K30tRouteDetailValNames(final PropertyName<?> parent, final String name) {
            super(parent, name);
        }
        
        /**
         * routeSearchIdのプロパティ名を返却.
         *
         * @return routeSearchIdのプロパティ名
         */
        public PropertyName<String> routeSearchId() {
            return new PropertyName<String>(this, "routeSearchId");
        }
        
        /**
         * commutationRouteのプロパティ名を返却.
         *
         * @return commutationRouteのプロパティ名
         */
        public PropertyName<String> commutationRoute() {
            return new PropertyName<String>(this, "commutationRoute");
        }
        
        /**
         * searchConditionのプロパティ名を返却.
         *
         * @return searchConditionのプロパティ名
         */
        public PropertyName<String> searchCondition() {
            return new PropertyName<String>(this, "searchCondition");
        }
        
        /**
         * routeInfoのプロパティ名を返却.
         *
         * @return routeInfoのプロパティ名
         */
        public PropertyName<String> routeInfo() {
            return new PropertyName<String>(this, "routeInfo");
        }
        
        /**
         * assessDateのプロパティ名を返却.
         *
         * @return assessDateのプロパティ名
         */
        public PropertyName<Timestamp> assessDate() {
            return new PropertyName<Timestamp>(this, "assessDate");
        }
        
        /**
         * tranceMeansFlagのプロパティ名を返却.
         *
         * @return tranceMeansFlagのプロパティ名
         */
        public PropertyName<String> tranceMeansFlag() {
            return new PropertyName<String>(this, "tranceMeansFlag");
        }
        
        /**
         * assessFlagのプロパティ名を返却.
         *
         * @return assessFlagのプロパティ名
         */
        public PropertyName<String> assessFlag() {
            return new PropertyName<String>(this, "assessFlag");
        }
        
        /**
         * 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");
        }
    }
}
  • Path
    src/main/generated/jp/co/slcs/kaiden2/product_workflow/foundation/model/entity/Ka30tRouteDetailNames.java
package jp.co.slcs.kaiden2.product_workflow.foundation.model.entity;

import java.math.BigDecimal;
import java.sql.Timestamp;
import javax.annotation.Generated;
import org.seasar.extension.jdbc.name.PropertyName;

/**
 * {@link Ka30tRouteDetail}の名称クラス.
 * 
 * @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 Ka30tRouteDetailNames {
    
    /**
     * デフォルトコンストラクタ.
     */
     private Ka30tRouteDetailNames() {
         super();
     }
    
    /**
     * systemMatterIdのプロパティ名を返却.
     * 
     * @return systemMatterIdのプロパティ名
     */
    public static PropertyName<String> systemMatterId() {
        return new PropertyName<String>("systemMatterId");
    }
    
    /**
     * userDataIdのプロパティ名を返却.
     * 
     * @return userDataIdのプロパティ名
     */
    public static PropertyName<String> userDataId() {
        return new PropertyName<String>("userDataId");
    }
    
    /**
     * gadgetClassのプロパティ名を返却.
     * 
     * @return gadgetClassのプロパティ名
     */
    public static PropertyName<String> gadgetClass() {
        return new PropertyName<String>("gadgetClass");
    }
    
    /**
     * gadgetInstanceのプロパティ名を返却.
     * 
     * @return gadgetInstanceのプロパティ名
     */
    public static PropertyName<Long> gadgetInstance() {
        return new PropertyName<Long>("gadgetInstance");
    }
    
    /**
     * tupleIdのプロパティ名を返却.
     * 
     * @return tupleIdのプロパティ名
     */
    public static PropertyName<Long> tupleId() {
        return new PropertyName<Long>("tupleId");
    }
    
    /**
     * localeIdのプロパティ名を返却.
     * 
     * @return localeIdのプロパティ名
     */
    public static PropertyName<String> localeId() {
        return new PropertyName<String>("localeId");
    }
    
    /**
     * archiveMonthのプロパティ名を返却.
     * 
     * @return archiveMonthのプロパティ名
     */
    public static PropertyName<String> archiveMonth() {
        return new PropertyName<String>("archiveMonth");
    }
    
    /**
     * gadgetIdのプロパティ名を返却.
     * 
     * @return gadgetIdのプロパティ名
     */
    public static PropertyName<String> gadgetId() {
        return new PropertyName<String>("gadgetId");
    }
    
    /**
     * gadgetVariationのプロパティ名を返却.
     * 
     * @return gadgetVariationのプロパティ名
     */
    public static PropertyName<String> gadgetVariation() {
        return new PropertyName<String>("gadgetVariation");
    }
    
    /**
     * rowNumberのプロパティ名を返却.
     * 
     * @return rowNumberのプロパティ名
     */
    public static PropertyName<Long> rowNumber() {
        return new PropertyName<Long>("rowNumber");
    }
    
    /**
     * routeDateのプロパティ名を返却.
     * 
     * @return routeDateのプロパティ名
     */
    public static PropertyName<Timestamp> routeDate() {
        return new PropertyName<Timestamp>("routeDate");
    }
    
    /**
     * startingSpotのプロパティ名を返却.
     * 
     * @return startingSpotのプロパティ名
     */
    public static PropertyName<String> startingSpot() {
        return new PropertyName<String>("startingSpot");
    }
    
    /**
     * arrivalSpotのプロパティ名を返却.
     * 
     * @return arrivalSpotのプロパティ名
     */
    public static PropertyName<String> arrivalSpot() {
        return new PropertyName<String>("arrivalSpot");
    }
    
    /**
     * supplementのプロパティ名を返却.
     * 
     * @return supplementのプロパティ名
     */
    public static PropertyName<String> supplement() {
        return new PropertyName<String>("supplement");
    }
    
    /**
     * expTypeCdのプロパティ名を返却.
     * 
     * @return expTypeCdのプロパティ名
     */
    public static PropertyName<String> expTypeCd() {
        return new PropertyName<String>("expTypeCd");
    }
    
    /**
     * 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");
    }
    
    /**
     * taxRateのプロパティ名を返却.
     * 
     * @return taxRateのプロパティ名
     */
    public static PropertyName<BigDecimal> taxRate() {
        return new PropertyName<BigDecimal>("taxRate");
    }
    
    /**
     * quantityのプロパティ名を返却.
     * 
     * @return quantityのプロパティ名
     */
    public static PropertyName<BigDecimal> quantity() {
        return new PropertyName<BigDecimal>("quantity");
    }
    
    /**
     * transCurrencyCdのプロパティ名を返却.
     * 
     * @return transCurrencyCdのプロパティ名
     */
    public static PropertyName<String> transCurrencyCd() {
        return new PropertyName<String>("transCurrencyCd");
    }
    
    /**
     * transAmountのプロパティ名を返却.
     * 
     * @return transAmountのプロパティ名
     */
    public static PropertyName<BigDecimal> transAmount() {
        return new PropertyName<BigDecimal>("transAmount");
    }
    
    /**
     * companyRateのプロパティ名を返却.
     * 
     * @return companyRateのプロパティ名
     */
    public static PropertyName<BigDecimal> companyRate() {
        return new PropertyName<BigDecimal>("companyRate");
    }
    
    /**
     * companyCurrencyCdのプロパティ名を返却.
     * 
     * @return companyCurrencyCdのプロパティ名
     */
    public static PropertyName<String> companyCurrencyCd() {
        return new PropertyName<String>("companyCurrencyCd");
    }
    
    /**
     * companyAmountのプロパティ名を返却.
     * 
     * @return companyAmountのプロパティ名
     */
    public static PropertyName<BigDecimal> companyAmount() {
        return new PropertyName<BigDecimal>("companyAmount");
    }
    
    /**
     * companyAmountExcTaxのプロパティ名を返却.
     * 
     * @return companyAmountExcTaxのプロパティ名
     */
    public static PropertyName<BigDecimal> companyAmountExcTax() {
        return new PropertyName<BigDecimal>("companyAmountExcTax");
    }
    
    /**
     * companyAmountTaxのプロパティ名を返却.
     * 
     * @return companyAmountTaxのプロパティ名
     */
    public static PropertyName<BigDecimal> companyAmountTax() {
        return new PropertyName<BigDecimal>("companyAmountTax");
    }
    
    /**
     * companyAmountSumのプロパティ名を返却.
     * 
     * @return companyAmountSumのプロパティ名
     */
    public static PropertyName<BigDecimal> companyAmountSum() {
        return new PropertyName<BigDecimal>("companyAmountSum");
    }
    
    /**
     * payTypeCdのプロパティ名を返却.
     * 
     * @return payTypeCdのプロパティ名
     */
    public static PropertyName<String> payTypeCd() {
        return new PropertyName<String>("payTypeCd");
    }
    
    /**
     * payMethodCdのプロパティ名を返却.
     * 
     * @return payMethodCdのプロパティ名
     */
    public static PropertyName<String> payMethodCd() {
        return new PropertyName<String>("payMethodCd");
    }
    
    /**
     * payeeCdのプロパティ名を返却.
     * 
     * @return payeeCdのプロパティ名
     */
    public static PropertyName<String> payeeCd() {
        return new PropertyName<String>("payeeCd");
    }
    
    /**
     * payeeNameのプロパティ名を返却.
     * 
     * @return payeeNameのプロパティ名
     */
    public static PropertyName<String> payeeName() {
        return new PropertyName<String>("payeeName");
    }
    
    /**
     * departmentSetCdのプロパティ名を返却.
     * 
     * @return departmentSetCdのプロパティ名
     */
    public static PropertyName<String> departmentSetCd() {
        return new PropertyName<String>("departmentSetCd");
    }
    
    /**
     * departmentCdのプロパティ名を返却.
     * 
     * @return departmentCdのプロパティ名
     */
    public static PropertyName<String> departmentCd() {
        return new PropertyName<String>("departmentCd");
    }
    
    /**
     * projectCdのプロパティ名を返却.
     * 
     * @return projectCdのプロパティ名
     */
    public static PropertyName<String> projectCd() {
        return new PropertyName<String>("projectCd");
    }
    
    /**
     * roundTripFlagのプロパティ名を返却.
     * 
     * @return roundTripFlagのプロパティ名
     */
    public static PropertyName<String> roundTripFlag() {
        return new PropertyName<String>("roundTripFlag");
    }
    
    /**
     * routeLinkFlagのプロパティ名を返却.
     * 
     * @return routeLinkFlagのプロパティ名
     */
    public static PropertyName<String> routeLinkFlag() {
        return new PropertyName<String>("routeLinkFlag");
    }
    
    /**
     * routeSearchIdのプロパティ名を返却.
     * 
     * @return routeSearchIdのプロパティ名
     */
    public static PropertyName<String> routeSearchId() {
        return new PropertyName<String>("routeSearchId");
    }
    
    /**
     * expTypeNameのプロパティ名を返却.
     * 
     * @return expTypeNameのプロパティ名
     */
    public static PropertyName<String> expTypeName() {
        return new PropertyName<String>("expTypeName");
    }
    
    /**
     * accountNameのプロパティ名を返却.
     * 
     * @return accountNameのプロパティ名
     */
    public static PropertyName<String> accountName() {
        return new PropertyName<String>("accountName");
    }
    
    /**
     * taxTypeNameのプロパティ名を返却.
     * 
     * @return taxTypeNameのプロパティ名
     */
    public static PropertyName<String> taxTypeName() {
        return new PropertyName<String>("taxTypeName");
    }
    
    /**
     * transCurrencyNameのプロパティ名を返却.
     * 
     * @return transCurrencyNameのプロパティ名
     */
    public static PropertyName<String> transCurrencyName() {
        return new PropertyName<String>("transCurrencyName");
    }
    
    /**
     * companyCurrencyNameのプロパティ名を返却.
     * 
     * @return companyCurrencyNameのプロパティ名
     */
    public static PropertyName<String> companyCurrencyName() {
        return new PropertyName<String>("companyCurrencyName");
    }
    
    /**
     * payTypeNameのプロパティ名を返却.
     * 
     * @return payTypeNameのプロパティ名
     */
    public static PropertyName<String> payTypeName() {
        return new PropertyName<String>("payTypeName");
    }
    
    /**
     * paymentFlagのプロパティ名を返却.
     * 
     * @return paymentFlagのプロパティ名
     */
    public static PropertyName<String> paymentFlag() {
        return new PropertyName<String>("paymentFlag");
    }
    
    /**
     * payMethodNameのプロパティ名を返却.
     * 
     * @return payMethodNameのプロパティ名
     */
    public static PropertyName<String> payMethodName() {
        return new PropertyName<String>("payMethodName");
    }
    
    /**
     * departmentNameのプロパティ名を返却.
     * 
     * @return departmentNameのプロパティ名
     */
    public static PropertyName<String> departmentName() {
        return new PropertyName<String>("departmentName");
    }
    
    /**
     * projectNameのプロパティ名を返却.
     * 
     * @return projectNameのプロパティ名
     */
    public static PropertyName<String> projectName() {
        return new PropertyName<String>("projectName");
    }
    
    /**
     * 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 _Ka30tRouteDetailNames extends PropertyName<Ka30tRouteDetail> {
        
        /**
         * インスタンスを構築.
         */
        public _Ka30tRouteDetailNames() {
        }
        
        /**
         * インスタンスを構築.
         * 
         * @param name 名前
         */
        public _Ka30tRouteDetailNames(final String name) {
            super(name);
        }
        
        /**
         * インスタンスを構築.
         * 
         * @param parent 親
         * @param name 名前
         */
        public _Ka30tRouteDetailNames(final PropertyName<?> parent, final String name) {
            super(parent, name);
        }
        
        /**
         * systemMatterIdのプロパティ名を返却.
         *
         * @return systemMatterIdのプロパティ名
         */
        public PropertyName<String> systemMatterId() {
            return new PropertyName<String>(this, "systemMatterId");
        }
        
        /**
         * userDataIdのプロパティ名を返却.
         *
         * @return userDataIdのプロパティ名
         */
        public PropertyName<String> userDataId() {
            return new PropertyName<String>(this, "userDataId");
        }
        
        /**
         * gadgetClassのプロパティ名を返却.
         *
         * @return gadgetClassのプロパティ名
         */
        public PropertyName<String> gadgetClass() {
            return new PropertyName<String>(this, "gadgetClass");
        }
        
        /**
         * gadgetInstanceのプロパティ名を返却.
         *
         * @return gadgetInstanceのプロパティ名
         */
        public PropertyName<Long> gadgetInstance() {
            return new PropertyName<Long>(this, "gadgetInstance");
        }
        
        /**
         * tupleIdのプロパティ名を返却.
         *
         * @return tupleIdのプロパティ名
         */
        public PropertyName<Long> tupleId() {
            return new PropertyName<Long>(this, "tupleId");
        }
        
        /**
         * localeIdのプロパティ名を返却.
         *
         * @return localeIdのプロパティ名
         */
        public PropertyName<String> localeId() {
            return new PropertyName<String>(this, "localeId");
        }
        
        /**
         * archiveMonthのプロパティ名を返却.
         *
         * @return archiveMonthのプロパティ名
         */
        public PropertyName<String> archiveMonth() {
            return new PropertyName<String>(this, "archiveMonth");
        }
        
        /**
         * gadgetIdのプロパティ名を返却.
         *
         * @return gadgetIdのプロパティ名
         */
        public PropertyName<String> gadgetId() {
            return new PropertyName<String>(this, "gadgetId");
        }
        
        /**
         * gadgetVariationのプロパティ名を返却.
         *
         * @return gadgetVariationのプロパティ名
         */
        public PropertyName<String> gadgetVariation() {
            return new PropertyName<String>(this, "gadgetVariation");
        }
        
        /**
         * rowNumberのプロパティ名を返却.
         *
         * @return rowNumberのプロパティ名
         */
        public PropertyName<Long> rowNumber() {
            return new PropertyName<Long>(this, "rowNumber");
        }
        
        /**
         * routeDateのプロパティ名を返却.
         *
         * @return routeDateのプロパティ名
         */
        public PropertyName<Timestamp> routeDate() {
            return new PropertyName<Timestamp>(this, "routeDate");
        }
        
        /**
         * startingSpotのプロパティ名を返却.
         *
         * @return startingSpotのプロパティ名
         */
        public PropertyName<String> startingSpot() {
            return new PropertyName<String>(this, "startingSpot");
        }
        
        /**
         * arrivalSpotのプロパティ名を返却.
         *
         * @return arrivalSpotのプロパティ名
         */
        public PropertyName<String> arrivalSpot() {
            return new PropertyName<String>(this, "arrivalSpot");
        }
        
        /**
         * supplementのプロパティ名を返却.
         *
         * @return supplementのプロパティ名
         */
        public PropertyName<String> supplement() {
            return new PropertyName<String>(this, "supplement");
        }
        
        /**
         * expTypeCdのプロパティ名を返却.
         *
         * @return expTypeCdのプロパティ名
         */
        public PropertyName<String> expTypeCd() {
            return new PropertyName<String>(this, "expTypeCd");
        }
        
        /**
         * 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");
        }
        
        /**
         * taxRateのプロパティ名を返却.
         *
         * @return taxRateのプロパティ名
         */
        public PropertyName<BigDecimal> taxRate() {
            return new PropertyName<BigDecimal>(this, "taxRate");
        }
        
        /**
         * quantityのプロパティ名を返却.
         *
         * @return quantityのプロパティ名
         */
        public PropertyName<BigDecimal> quantity() {
            return new PropertyName<BigDecimal>(this, "quantity");
        }
        
        /**
         * transCurrencyCdのプロパティ名を返却.
         *
         * @return transCurrencyCdのプロパティ名
         */
        public PropertyName<String> transCurrencyCd() {
            return new PropertyName<String>(this, "transCurrencyCd");
        }
        
        /**
         * transAmountのプロパティ名を返却.
         *
         * @return transAmountのプロパティ名
         */
        public PropertyName<BigDecimal> transAmount() {
            return new PropertyName<BigDecimal>(this, "transAmount");
        }
        
        /**
         * companyRateのプロパティ名を返却.
         *
         * @return companyRateのプロパティ名
         */
        public PropertyName<BigDecimal> companyRate() {
            return new PropertyName<BigDecimal>(this, "companyRate");
        }
        
        /**
         * companyCurrencyCdのプロパティ名を返却.
         *
         * @return companyCurrencyCdのプロパティ名
         */
        public PropertyName<String> companyCurrencyCd() {
            return new PropertyName<String>(this, "companyCurrencyCd");
        }
        
        /**
         * companyAmountのプロパティ名を返却.
         *
         * @return companyAmountのプロパティ名
         */
        public PropertyName<BigDecimal> companyAmount() {
            return new PropertyName<BigDecimal>(this, "companyAmount");
        }
        
        /**
         * companyAmountExcTaxのプロパティ名を返却.
         *
         * @return companyAmountExcTaxのプロパティ名
         */
        public PropertyName<BigDecimal> companyAmountExcTax() {
            return new PropertyName<BigDecimal>(this, "companyAmountExcTax");
        }
        
        /**
         * companyAmountTaxのプロパティ名を返却.
         *
         * @return companyAmountTaxのプロパティ名
         */
        public PropertyName<BigDecimal> companyAmountTax() {
            return new PropertyName<BigDecimal>(this, "companyAmountTax");
        }
        
        /**
         * companyAmountSumのプロパティ名を返却.
         *
         * @return companyAmountSumのプロパティ名
         */
        public PropertyName<BigDecimal> companyAmountSum() {
            return new PropertyName<BigDecimal>(this, "companyAmountSum");
        }
        
        /**
         * payTypeCdのプロパティ名を返却.
         *
         * @return payTypeCdのプロパティ名
         */
        public PropertyName<String> payTypeCd() {
            return new PropertyName<String>(this, "payTypeCd");
        }
        
        /**
         * payMethodCdのプロパティ名を返却.
         *
         * @return payMethodCdのプロパティ名
         */
        public PropertyName<String> payMethodCd() {
            return new PropertyName<String>(this, "payMethodCd");
        }
        
        /**
         * payeeCdのプロパティ名を返却.
         *
         * @return payeeCdのプロパティ名
         */
        public PropertyName<String> payeeCd() {
            return new PropertyName<String>(this, "payeeCd");
        }
        
        /**
         * payeeNameのプロパティ名を返却.
         *
         * @return payeeNameのプロパティ名
         */
        public PropertyName<String> payeeName() {
            return new PropertyName<String>(this, "payeeName");
        }
        
        /**
         * departmentSetCdのプロパティ名を返却.
         *
         * @return departmentSetCdのプロパティ名
         */
        public PropertyName<String> departmentSetCd() {
            return new PropertyName<String>(this, "departmentSetCd");
        }
        
        /**
         * departmentCdのプロパティ名を返却.
         *
         * @return departmentCdのプロパティ名
         */
        public PropertyName<String> departmentCd() {
            return new PropertyName<String>(this, "departmentCd");
        }
        
        /**
         * projectCdのプロパティ名を返却.
         *
         * @return projectCdのプロパティ名
         */
        public PropertyName<String> projectCd() {
            return new PropertyName<String>(this, "projectCd");
        }
        
        /**
         * roundTripFlagのプロパティ名を返却.
         *
         * @return roundTripFlagのプロパティ名
         */
        public PropertyName<String> roundTripFlag() {
            return new PropertyName<String>(this, "roundTripFlag");
        }
        
        /**
         * routeLinkFlagのプロパティ名を返却.
         *
         * @return routeLinkFlagのプロパティ名
         */
        public PropertyName<String> routeLinkFlag() {
            return new PropertyName<String>(this, "routeLinkFlag");
        }
        
        /**
         * routeSearchIdのプロパティ名を返却.
         *
         * @return routeSearchIdのプロパティ名
         */
        public PropertyName<String> routeSearchId() {
            return new PropertyName<String>(this, "routeSearchId");
        }
        
        /**
         * expTypeNameのプロパティ名を返却.
         *
         * @return expTypeNameのプロパティ名
         */
        public PropertyName<String> expTypeName() {
            return new PropertyName<String>(this, "expTypeName");
        }
        
        /**
         * accountNameのプロパティ名を返却.
         *
         * @return accountNameのプロパティ名
         */
        public PropertyName<String> accountName() {
            return new PropertyName<String>(this, "accountName");
        }
        
        /**
         * taxTypeNameのプロパティ名を返却.
         *
         * @return taxTypeNameのプロパティ名
         */
        public PropertyName<String> taxTypeName() {
            return new PropertyName<String>(this, "taxTypeName");
        }
        
        /**
         * transCurrencyNameのプロパティ名を返却.
         *
         * @return transCurrencyNameのプロパティ名
         */
        public PropertyName<String> transCurrencyName() {
            return new PropertyName<String>(this, "transCurrencyName");
        }
        
        /**
         * companyCurrencyNameのプロパティ名を返却.
         *
         * @return companyCurrencyNameのプロパティ名
         */
        public PropertyName<String> companyCurrencyName() {
            return new PropertyName<String>(this, "companyCurrencyName");
        }
        
        /**
         * payTypeNameのプロパティ名を返却.
         *
         * @return payTypeNameのプロパティ名
         */
        public PropertyName<String> payTypeName() {
            return new PropertyName<String>(this, "payTypeName");
        }
        
        /**
         * paymentFlagのプロパティ名を返却.
         *
         * @return paymentFlagのプロパティ名
         */
        public PropertyName<String> paymentFlag() {
            return new PropertyName<String>(this, "paymentFlag");
        }
        
        /**
         * payMethodNameのプロパティ名を返却.
         *
         * @return payMethodNameのプロパティ名
         */
        public PropertyName<String> payMethodName() {
            return new PropertyName<String>(this, "payMethodName");
        }
        
        /**
         * departmentNameのプロパティ名を返却.
         *
         * @return departmentNameのプロパティ名
         */
        public PropertyName<String> departmentName() {
            return new PropertyName<String>(this, "departmentName");
        }
        
        /**
         * projectNameのプロパティ名を返却.
         *
         * @return projectNameのプロパティ名
         */
        public PropertyName<String> projectName() {
            return new PropertyName<String>(this, "projectName");
        }
        
        /**
         * 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");
        }
    }
}
  • Path
    src/main/generated/jp/co/slcs/kaiden2/product_workflow/foundation/model/entity/Ka30tRouteDetailValNames.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 Ka30tRouteDetailVal}の名称クラス.
 * 
 * @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 Ka30tRouteDetailValNames {
    
    /**
     * デフォルトコンストラクタ.
     */
     private Ka30tRouteDetailValNames() {
         super();
     }
    
    /**
     * routeSearchIdのプロパティ名を返却.
     * 
     * @return routeSearchIdのプロパティ名
     */
    public static PropertyName<String> routeSearchId() {
        return new PropertyName<String>("routeSearchId");
    }
    
    /**
     * localeIdのプロパティ名を返却.
     * 
     * @return localeIdのプロパティ名
     */
    public static PropertyName<String> localeId() {
        return new PropertyName<String>("localeId");
    }
    
    /**
     * archiveMonthのプロパティ名を返却.
     * 
     * @return archiveMonthのプロパティ名
     */
    public static PropertyName<String> archiveMonth() {
        return new PropertyName<String>("archiveMonth");
    }
    
    /**
     * commutationRouteのプロパティ名を返却.
     * 
     * @return commutationRouteのプロパティ名
     */
    public static PropertyName<String> commutationRoute() {
        return new PropertyName<String>("commutationRoute");
    }
    
    /**
     * searchConditionのプロパティ名を返却.
     * 
     * @return searchConditionのプロパティ名
     */
    public static PropertyName<String> searchCondition() {
        return new PropertyName<String>("searchCondition");
    }
    
    /**
     * routeInfoのプロパティ名を返却.
     * 
     * @return routeInfoのプロパティ名
     */
    public static PropertyName<String> routeInfo() {
        return new PropertyName<String>("routeInfo");
    }
    
    /**
     * assessDateのプロパティ名を返却.
     * 
     * @return assessDateのプロパティ名
     */
    public static PropertyName<Timestamp> assessDate() {
        return new PropertyName<Timestamp>("assessDate");
    }
    
    /**
     * tranceMeansFlagのプロパティ名を返却.
     * 
     * @return tranceMeansFlagのプロパティ名
     */
    public static PropertyName<String> tranceMeansFlag() {
        return new PropertyName<String>("tranceMeansFlag");
    }
    
    /**
     * assessFlagのプロパティ名を返却.
     * 
     * @return assessFlagのプロパティ名
     */
    public static PropertyName<String> assessFlag() {
        return new PropertyName<String>("assessFlag");
    }
    
    /**
     * 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 _Ka30tRouteDetailValNames extends PropertyName<Ka30tRouteDetailVal> {
        
        /**
         * インスタンスを構築.
         */
        public _Ka30tRouteDetailValNames() {
        }
        
        /**
         * インスタンスを構築.
         * 
         * @param name 名前
         */
        public _Ka30tRouteDetailValNames(final String name) {
            super(name);
        }
        
        /**
         * インスタンスを構築.
         * 
         * @param parent 親
         * @param name 名前
         */
        public _Ka30tRouteDetailValNames(final PropertyName<?> parent, final String name) {
            super(parent, name);
        }
        
        /**
         * routeSearchIdのプロパティ名を返却.
         *
         * @return routeSearchIdのプロパティ名
         */
        public PropertyName<String> routeSearchId() {
            return new PropertyName<String>(this, "routeSearchId");
        }
        
        /**
         * localeIdのプロパティ名を返却.
         *
         * @return localeIdのプロパティ名
         */
        public PropertyName<String> localeId() {
            return new PropertyName<String>(this, "localeId");
        }
        
        /**
         * archiveMonthのプロパティ名を返却.
         *
         * @return archiveMonthのプロパティ名
         */
        public PropertyName<String> archiveMonth() {
            return new PropertyName<String>(this, "archiveMonth");
        }
        
        /**
         * commutationRouteのプロパティ名を返却.
         *
         * @return commutationRouteのプロパティ名
         */
        public PropertyName<String> commutationRoute() {
            return new PropertyName<String>(this, "commutationRoute");
        }
        
        /**
         * searchConditionのプロパティ名を返却.
         *
         * @return searchConditionのプロパティ名
         */
        public PropertyName<String> searchCondition() {
            return new PropertyName<String>(this, "searchCondition");
        }
        
        /**
         * routeInfoのプロパティ名を返却.
         *
         * @return routeInfoのプロパティ名
         */
        public PropertyName<String> routeInfo() {
            return new PropertyName<String>(this, "routeInfo");
        }
        
        /**
         * assessDateのプロパティ名を返却.
         *
         * @return assessDateのプロパティ名
         */
        public PropertyName<Timestamp> assessDate() {
            return new PropertyName<Timestamp>(this, "assessDate");
        }
        
        /**
         * tranceMeansFlagのプロパティ名を返却.
         *
         * @return tranceMeansFlagのプロパティ名
         */
        public PropertyName<String> tranceMeansFlag() {
            return new PropertyName<String>(this, "tranceMeansFlag");
        }
        
        /**
         * assessFlagのプロパティ名を返却.
         *
         * @return assessFlagのプロパティ名
         */
        public PropertyName<String> assessFlag() {
            return new PropertyName<String>(this, "assessFlag");
        }
        
        /**
         * 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.1.4.3.3. Service

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

/**
 * {@link K30tRouteDetail}のサービスクラス.
 * 
 * @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 K30tRouteDetailService extends GenerateService<K30tRouteDetail> {
    //
}
  • Path
    src/main/generated/jp/co/slcs/kaiden2/product_workflow/foundation/model/service/K30tRouteDetailValService.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.K30tRouteDetailVal;

/**
 * {@link K30tRouteDetailVal}のサービスクラス.
 * 
 * @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 K30tRouteDetailValService extends GenerateService<K30tRouteDetailVal> {
    //
}
  • Path
    src/main/generated/jp/co/slcs/kaiden2/product_workflow/foundation/model/service/Ka30tRouteDetailService.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.Ka30tRouteDetail;

/**
 * {@link Ka30tRouteDetail}のサービスクラス.
 * 
 * @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 Ka30tRouteDetailService extends GenerateService<Ka30tRouteDetail> {
    //
}
  • Path
    src/main/generated/jp/co/slcs/kaiden2/product_workflow/foundation/model/service/Ka30tRouteDetailValService.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.Ka30tRouteDetailVal;

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

5.1.4.3.4. Condition

  • Path
    src/main/generated/jp/co/slcs/kaiden2/product_workflow/foundation/model/service/K30tRouteDetailCondition.java
package jp.co.slcs.kaiden2.product_workflow.foundation.model.service;

import java.math.BigDecimal;
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.NullableCondition;
import org.seasar.extension.jdbc.where.condition.NullableStringCondition;

/**
 * {@link K30tRouteDetail}の条件クラス.
 * 
 * @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 K30tRouteDetailCondition extends
        AbstractEntityCondition<K30tRouteDetailCondition> {
    
    /**
     * インスタンスを構築.
     */
    public K30tRouteDetailCondition() {
    }
    
    /**
     * インスタンスを構築.
     * 
     * @param prefix プレフィックス
     * @param where 検索条件
     */
    public K30tRouteDetailCondition(String prefix, ComplexWhere where) {
        super(prefix, where);
    }
    
    /** systemMatterIdの条件. */
    public NotNullableStringCondition<K30tRouteDetailCondition> systemMatterId =
        new NotNullableStringCondition<K30tRouteDetailCondition>("systemMatterId", this);
    
    /** userDataIdの条件. */
    public NotNullableStringCondition<K30tRouteDetailCondition> userDataId =
        new NotNullableStringCondition<K30tRouteDetailCondition>("userDataId", this);
    
    /** gadgetClassの条件. */
    public NotNullableStringCondition<K30tRouteDetailCondition> gadgetClass =
        new NotNullableStringCondition<K30tRouteDetailCondition>("gadgetClass", this);
    
    /** gadgetInstanceの条件. */
    public NotNullableCondition<K30tRouteDetailCondition, Long> gadgetInstance =
        new NotNullableCondition<K30tRouteDetailCondition, Long>("gadgetInstance", this);
    
    /** tupleIdの条件. */
    public NotNullableCondition<K30tRouteDetailCondition, Long> tupleId =
        new NotNullableCondition<K30tRouteDetailCondition, Long>("tupleId", this);
    
    /** gadgetIdの条件. */
    public NotNullableStringCondition<K30tRouteDetailCondition> gadgetId =
        new NotNullableStringCondition<K30tRouteDetailCondition>("gadgetId", this);
    
    /** gadgetVariationの条件. */
    public NotNullableStringCondition<K30tRouteDetailCondition> gadgetVariation =
        new NotNullableStringCondition<K30tRouteDetailCondition>("gadgetVariation", this);
    
    /** rowNumberの条件. */
    public NotNullableCondition<K30tRouteDetailCondition, Long> rowNumber =
        new NotNullableCondition<K30tRouteDetailCondition, Long>("rowNumber", this);
    
    /** routeDateの条件. */
    public NullableCondition<K30tRouteDetailCondition, Timestamp> routeDate =
        new NullableCondition<K30tRouteDetailCondition, Timestamp>("routeDate", this);
    
    /** startingSpotの条件. */
    public NullableStringCondition<K30tRouteDetailCondition> startingSpot =
        new NullableStringCondition<K30tRouteDetailCondition>("startingSpot", this);
    
    /** arrivalSpotの条件. */
    public NullableStringCondition<K30tRouteDetailCondition> arrivalSpot =
        new NullableStringCondition<K30tRouteDetailCondition>("arrivalSpot", this);
    
    /** supplementの条件. */
    public NullableStringCondition<K30tRouteDetailCondition> supplement =
        new NullableStringCondition<K30tRouteDetailCondition>("supplement", this);
    
    /** expTypeCdの条件. */
    public NullableStringCondition<K30tRouteDetailCondition> expTypeCd =
        new NullableStringCondition<K30tRouteDetailCondition>("expTypeCd", this);
    
    /** accountCdの条件. */
    public NullableStringCondition<K30tRouteDetailCondition> accountCd =
        new NullableStringCondition<K30tRouteDetailCondition>("accountCd", this);
    
    /** taxTypeCdの条件. */
    public NullableStringCondition<K30tRouteDetailCondition> taxTypeCd =
        new NullableStringCondition<K30tRouteDetailCondition>("taxTypeCd", this);
    
    /** taxRateの条件. */
    public NullableCondition<K30tRouteDetailCondition, BigDecimal> taxRate =
        new NullableCondition<K30tRouteDetailCondition, BigDecimal>("taxRate", this);
    
    /** quantityの条件. */
    public NullableCondition<K30tRouteDetailCondition, BigDecimal> quantity =
        new NullableCondition<K30tRouteDetailCondition, BigDecimal>("quantity", this);
    
    /** transCurrencyCdの条件. */
    public NullableStringCondition<K30tRouteDetailCondition> transCurrencyCd =
        new NullableStringCondition<K30tRouteDetailCondition>("transCurrencyCd", this);
    
    /** transAmountの条件. */
    public NullableCondition<K30tRouteDetailCondition, BigDecimal> transAmount =
        new NullableCondition<K30tRouteDetailCondition, BigDecimal>("transAmount", this);
    
    /** companyRateの条件. */
    public NullableCondition<K30tRouteDetailCondition, BigDecimal> companyRate =
        new NullableCondition<K30tRouteDetailCondition, BigDecimal>("companyRate", this);
    
    /** companyCurrencyCdの条件. */
    public NullableStringCondition<K30tRouteDetailCondition> companyCurrencyCd =
        new NullableStringCondition<K30tRouteDetailCondition>("companyCurrencyCd", this);
    
    /** companyAmountの条件. */
    public NullableCondition<K30tRouteDetailCondition, BigDecimal> companyAmount =
        new NullableCondition<K30tRouteDetailCondition, BigDecimal>("companyAmount", this);
    
    /** companyAmountExcTaxの条件. */
    public NullableCondition<K30tRouteDetailCondition, BigDecimal> companyAmountExcTax =
        new NullableCondition<K30tRouteDetailCondition, BigDecimal>("companyAmountExcTax", this);
    
    /** companyAmountTaxの条件. */
    public NullableCondition<K30tRouteDetailCondition, BigDecimal> companyAmountTax =
        new NullableCondition<K30tRouteDetailCondition, BigDecimal>("companyAmountTax", this);
    
    /** companyAmountSumの条件. */
    public NullableCondition<K30tRouteDetailCondition, BigDecimal> companyAmountSum =
        new NullableCondition<K30tRouteDetailCondition, BigDecimal>("companyAmountSum", this);
    
    /** payTypeCdの条件. */
    public NullableStringCondition<K30tRouteDetailCondition> payTypeCd =
        new NullableStringCondition<K30tRouteDetailCondition>("payTypeCd", this);
    
    /** payMethodCdの条件. */
    public NullableStringCondition<K30tRouteDetailCondition> payMethodCd =
        new NullableStringCondition<K30tRouteDetailCondition>("payMethodCd", this);
    
    /** payeeCdの条件. */
    public NullableStringCondition<K30tRouteDetailCondition> payeeCd =
        new NullableStringCondition<K30tRouteDetailCondition>("payeeCd", this);
    
    /** payeeNameの条件. */
    public NullableStringCondition<K30tRouteDetailCondition> payeeName =
        new NullableStringCondition<K30tRouteDetailCondition>("payeeName", this);
    
    /** departmentSetCdの条件. */
    public NullableStringCondition<K30tRouteDetailCondition> departmentSetCd =
        new NullableStringCondition<K30tRouteDetailCondition>("departmentSetCd", this);
    
    /** departmentCdの条件. */
    public NullableStringCondition<K30tRouteDetailCondition> departmentCd =
        new NullableStringCondition<K30tRouteDetailCondition>("departmentCd", this);
    
    /** projectCdの条件. */
    public NullableStringCondition<K30tRouteDetailCondition> projectCd =
        new NullableStringCondition<K30tRouteDetailCondition>("projectCd", this);
    
    /** roundTripFlagの条件. */
    public NotNullableStringCondition<K30tRouteDetailCondition> roundTripFlag =
        new NotNullableStringCondition<K30tRouteDetailCondition>("roundTripFlag", this);
    
    /** routeLinkFlagの条件. */
    public NotNullableStringCondition<K30tRouteDetailCondition> routeLinkFlag =
        new NotNullableStringCondition<K30tRouteDetailCondition>("routeLinkFlag", this);
    
    /** routeSearchIdの条件. */
    public NullableStringCondition<K30tRouteDetailCondition> routeSearchId =
        new NullableStringCondition<K30tRouteDetailCondition>("routeSearchId", this);
    
    /** extensionAの条件. */
    public NullableStringCondition<K30tRouteDetailCondition> extensionA =
        new NullableStringCondition<K30tRouteDetailCondition>("extensionA", this);
    
    /** extensionBの条件. */
    public NullableStringCondition<K30tRouteDetailCondition> extensionB =
        new NullableStringCondition<K30tRouteDetailCondition>("extensionB", this);
    
    /** extensionCの条件. */
    public NullableStringCondition<K30tRouteDetailCondition> extensionC =
        new NullableStringCondition<K30tRouteDetailCondition>("extensionC", this);
    
    /** extensionDの条件. */
    public NullableStringCondition<K30tRouteDetailCondition> extensionD =
        new NullableStringCondition<K30tRouteDetailCondition>("extensionD", this);
    
    /** extensionEの条件. */
    public NullableStringCondition<K30tRouteDetailCondition> extensionE =
        new NullableStringCondition<K30tRouteDetailCondition>("extensionE", this);
    
    /** extensionFの条件. */
    public NullableStringCondition<K30tRouteDetailCondition> extensionF =
        new NullableStringCondition<K30tRouteDetailCondition>("extensionF", this);
    
    /** extensionGの条件. */
    public NullableStringCondition<K30tRouteDetailCondition> extensionG =
        new NullableStringCondition<K30tRouteDetailCondition>("extensionG", this);
    
    /** extensionHの条件. */
    public NullableStringCondition<K30tRouteDetailCondition> extensionH =
        new NullableStringCondition<K30tRouteDetailCondition>("extensionH", this);
    
    /** extensionIの条件. */
    public NullableStringCondition<K30tRouteDetailCondition> extensionI =
        new NullableStringCondition<K30tRouteDetailCondition>("extensionI", this);
    
    /** extensionJの条件. */
    public NullableStringCondition<K30tRouteDetailCondition> extensionJ =
        new NullableStringCondition<K30tRouteDetailCondition>("extensionJ", this);
    
    /** entryTsの条件. */
    public NotNullableCondition<K30tRouteDetailCondition, Timestamp> entryTs =
        new NotNullableCondition<K30tRouteDetailCondition, Timestamp>("entryTs", this);
    
    /** entryUserCdの条件. */
    public NotNullableStringCondition<K30tRouteDetailCondition> entryUserCd =
        new NotNullableStringCondition<K30tRouteDetailCondition>("entryUserCd", this);
    
    /** renewCntの条件. */
    public NotNullableCondition<K30tRouteDetailCondition, Long> renewCnt =
        new NotNullableCondition<K30tRouteDetailCondition, Long>("renewCnt", this);
    
    /** renewTsの条件. */
    public NotNullableCondition<K30tRouteDetailCondition, Timestamp> renewTs =
        new NotNullableCondition<K30tRouteDetailCondition, Timestamp>("renewTs", this);
    
    /** renewUserCdの条件. */
    public NotNullableStringCondition<K30tRouteDetailCondition> renewUserCd =
        new NotNullableStringCondition<K30tRouteDetailCondition>("renewUserCd", this);
}
  • Path
    src/main/generated/jp/co/slcs/kaiden2/product_workflow/foundation/model/service/K30tRouteDetailValCondition.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.NullableCondition;
import org.seasar.extension.jdbc.where.condition.NullableStringCondition;

/**
 * {@link K30tRouteDetailVal}の条件クラス.
 * 
 * @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 K30tRouteDetailValCondition extends
        AbstractEntityCondition<K30tRouteDetailValCondition> {
    
    /**
     * インスタンスを構築.
     */
    public K30tRouteDetailValCondition() {
    }
    
    /**
     * インスタンスを構築.
     * 
     * @param prefix プレフィックス
     * @param where 検索条件
     */
    public K30tRouteDetailValCondition(String prefix, ComplexWhere where) {
        super(prefix, where);
    }
    
    /** routeSearchIdの条件. */
    public NotNullableStringCondition<K30tRouteDetailValCondition> routeSearchId =
        new NotNullableStringCondition<K30tRouteDetailValCondition>("routeSearchId", this);
    
    /** commutationRouteの条件. */
    public NullableStringCondition<K30tRouteDetailValCondition> commutationRoute =
        new NullableStringCondition<K30tRouteDetailValCondition>("commutationRoute", this);
    
    /** searchConditionの条件. */
    public NullableStringCondition<K30tRouteDetailValCondition> searchCondition =
        new NullableStringCondition<K30tRouteDetailValCondition>("searchCondition", this);
    
    /** routeInfoの条件. */
    public NullableStringCondition<K30tRouteDetailValCondition> routeInfo =
        new NullableStringCondition<K30tRouteDetailValCondition>("routeInfo", this);
    
    /** assessDateの条件. */
    public NullableCondition<K30tRouteDetailValCondition, Timestamp> assessDate =
        new NullableCondition<K30tRouteDetailValCondition, Timestamp>("assessDate", this);
    
    /** tranceMeansFlagの条件. */
    public NotNullableStringCondition<K30tRouteDetailValCondition> tranceMeansFlag =
        new NotNullableStringCondition<K30tRouteDetailValCondition>("tranceMeansFlag", this);
    
    /** assessFlagの条件. */
    public NotNullableStringCondition<K30tRouteDetailValCondition> assessFlag =
        new NotNullableStringCondition<K30tRouteDetailValCondition>("assessFlag", this);
    
    /** extensionAの条件. */
    public NullableStringCondition<K30tRouteDetailValCondition> extensionA =
        new NullableStringCondition<K30tRouteDetailValCondition>("extensionA", this);
    
    /** extensionBの条件. */
    public NullableStringCondition<K30tRouteDetailValCondition> extensionB =
        new NullableStringCondition<K30tRouteDetailValCondition>("extensionB", this);
    
    /** extensionCの条件. */
    public NullableStringCondition<K30tRouteDetailValCondition> extensionC =
        new NullableStringCondition<K30tRouteDetailValCondition>("extensionC", this);
    
    /** extensionDの条件. */
    public NullableStringCondition<K30tRouteDetailValCondition> extensionD =
        new NullableStringCondition<K30tRouteDetailValCondition>("extensionD", this);
    
    /** extensionEの条件. */
    public NullableStringCondition<K30tRouteDetailValCondition> extensionE =
        new NullableStringCondition<K30tRouteDetailValCondition>("extensionE", this);
    
    /** extensionFの条件. */
    public NullableStringCondition<K30tRouteDetailValCondition> extensionF =
        new NullableStringCondition<K30tRouteDetailValCondition>("extensionF", this);
    
    /** extensionGの条件. */
    public NullableStringCondition<K30tRouteDetailValCondition> extensionG =
        new NullableStringCondition<K30tRouteDetailValCondition>("extensionG", this);
    
    /** extensionHの条件. */
    public NullableStringCondition<K30tRouteDetailValCondition> extensionH =
        new NullableStringCondition<K30tRouteDetailValCondition>("extensionH", this);
    
    /** extensionIの条件. */
    public NullableStringCondition<K30tRouteDetailValCondition> extensionI =
        new NullableStringCondition<K30tRouteDetailValCondition>("extensionI", this);
    
    /** extensionJの条件. */
    public NullableStringCondition<K30tRouteDetailValCondition> extensionJ =
        new NullableStringCondition<K30tRouteDetailValCondition>("extensionJ", this);
    
    /** entryTsの条件. */
    public NotNullableCondition<K30tRouteDetailValCondition, Timestamp> entryTs =
        new NotNullableCondition<K30tRouteDetailValCondition, Timestamp>("entryTs", this);
    
    /** entryUserCdの条件. */
    public NotNullableStringCondition<K30tRouteDetailValCondition> entryUserCd =
        new NotNullableStringCondition<K30tRouteDetailValCondition>("entryUserCd", this);
    
    /** renewCntの条件. */
    public NotNullableCondition<K30tRouteDetailValCondition, Long> renewCnt =
        new NotNullableCondition<K30tRouteDetailValCondition, Long>("renewCnt", this);
    
    /** renewTsの条件. */
    public NotNullableCondition<K30tRouteDetailValCondition, Timestamp> renewTs =
        new NotNullableCondition<K30tRouteDetailValCondition, Timestamp>("renewTs", this);
    
    /** renewUserCdの条件. */
    public NotNullableStringCondition<K30tRouteDetailValCondition> renewUserCd =
        new NotNullableStringCondition<K30tRouteDetailValCondition>("renewUserCd", this);
}
  • Path
    src/main/generated/jp/co/slcs/kaiden2/product_workflow/foundation/model/service/Ka30tRouteDetailCondition.java
package jp.co.slcs.kaiden2.product_workflow.foundation.model.service;

import java.math.BigDecimal;
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.NullableCondition;
import org.seasar.extension.jdbc.where.condition.NullableStringCondition;

/**
 * {@link Ka30tRouteDetail}の条件クラス.
 * 
 * @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 Ka30tRouteDetailCondition extends
        AbstractEntityCondition<Ka30tRouteDetailCondition> {
    
    /**
     * インスタンスを構築.
     */
    public Ka30tRouteDetailCondition() {
    }
    
    /**
     * インスタンスを構築.
     * 
     * @param prefix プレフィックス
     * @param where 検索条件
     */
    public Ka30tRouteDetailCondition(String prefix, ComplexWhere where) {
        super(prefix, where);
    }
    
    /** systemMatterIdの条件. */
    public NotNullableStringCondition<Ka30tRouteDetailCondition> systemMatterId =
        new NotNullableStringCondition<Ka30tRouteDetailCondition>("systemMatterId", this);
    
    /** userDataIdの条件. */
    public NotNullableStringCondition<Ka30tRouteDetailCondition> userDataId =
        new NotNullableStringCondition<Ka30tRouteDetailCondition>("userDataId", this);
    
    /** gadgetClassの条件. */
    public NotNullableStringCondition<Ka30tRouteDetailCondition> gadgetClass =
        new NotNullableStringCondition<Ka30tRouteDetailCondition>("gadgetClass", this);
    
    /** gadgetInstanceの条件. */
    public NotNullableCondition<Ka30tRouteDetailCondition, Long> gadgetInstance =
        new NotNullableCondition<Ka30tRouteDetailCondition, Long>("gadgetInstance", this);
    
    /** tupleIdの条件. */
    public NotNullableCondition<Ka30tRouteDetailCondition, Long> tupleId =
        new NotNullableCondition<Ka30tRouteDetailCondition, Long>("tupleId", this);
    
    /** localeIdの条件. */
    public NotNullableStringCondition<Ka30tRouteDetailCondition> localeId =
        new NotNullableStringCondition<Ka30tRouteDetailCondition>("localeId", this);
    
    /** archiveMonthの条件. */
    public NotNullableStringCondition<Ka30tRouteDetailCondition> archiveMonth =
        new NotNullableStringCondition<Ka30tRouteDetailCondition>("archiveMonth", this);
    
    /** gadgetIdの条件. */
    public NotNullableStringCondition<Ka30tRouteDetailCondition> gadgetId =
        new NotNullableStringCondition<Ka30tRouteDetailCondition>("gadgetId", this);
    
    /** gadgetVariationの条件. */
    public NotNullableStringCondition<Ka30tRouteDetailCondition> gadgetVariation =
        new NotNullableStringCondition<Ka30tRouteDetailCondition>("gadgetVariation", this);
    
    /** rowNumberの条件. */
    public NotNullableCondition<Ka30tRouteDetailCondition, Long> rowNumber =
        new NotNullableCondition<Ka30tRouteDetailCondition, Long>("rowNumber", this);
    
    /** routeDateの条件. */
    public NullableCondition<Ka30tRouteDetailCondition, Timestamp> routeDate =
        new NullableCondition<Ka30tRouteDetailCondition, Timestamp>("routeDate", this);
    
    /** startingSpotの条件. */
    public NullableStringCondition<Ka30tRouteDetailCondition> startingSpot =
        new NullableStringCondition<Ka30tRouteDetailCondition>("startingSpot", this);
    
    /** arrivalSpotの条件. */
    public NullableStringCondition<Ka30tRouteDetailCondition> arrivalSpot =
        new NullableStringCondition<Ka30tRouteDetailCondition>("arrivalSpot", this);
    
    /** supplementの条件. */
    public NullableStringCondition<Ka30tRouteDetailCondition> supplement =
        new NullableStringCondition<Ka30tRouteDetailCondition>("supplement", this);
    
    /** expTypeCdの条件. */
    public NullableStringCondition<Ka30tRouteDetailCondition> expTypeCd =
        new NullableStringCondition<Ka30tRouteDetailCondition>("expTypeCd", this);
    
    /** accountCdの条件. */
    public NullableStringCondition<Ka30tRouteDetailCondition> accountCd =
        new NullableStringCondition<Ka30tRouteDetailCondition>("accountCd", this);
    
    /** taxTypeCdの条件. */
    public NullableStringCondition<Ka30tRouteDetailCondition> taxTypeCd =
        new NullableStringCondition<Ka30tRouteDetailCondition>("taxTypeCd", this);
    
    /** taxRateの条件. */
    public NullableCondition<Ka30tRouteDetailCondition, BigDecimal> taxRate =
        new NullableCondition<Ka30tRouteDetailCondition, BigDecimal>("taxRate", this);
    
    /** quantityの条件. */
    public NullableCondition<Ka30tRouteDetailCondition, BigDecimal> quantity =
        new NullableCondition<Ka30tRouteDetailCondition, BigDecimal>("quantity", this);
    
    /** transCurrencyCdの条件. */
    public NullableStringCondition<Ka30tRouteDetailCondition> transCurrencyCd =
        new NullableStringCondition<Ka30tRouteDetailCondition>("transCurrencyCd", this);
    
    /** transAmountの条件. */
    public NullableCondition<Ka30tRouteDetailCondition, BigDecimal> transAmount =
        new NullableCondition<Ka30tRouteDetailCondition, BigDecimal>("transAmount", this);
    
    /** companyRateの条件. */
    public NullableCondition<Ka30tRouteDetailCondition, BigDecimal> companyRate =
        new NullableCondition<Ka30tRouteDetailCondition, BigDecimal>("companyRate", this);
    
    /** companyCurrencyCdの条件. */
    public NullableStringCondition<Ka30tRouteDetailCondition> companyCurrencyCd =
        new NullableStringCondition<Ka30tRouteDetailCondition>("companyCurrencyCd", this);
    
    /** companyAmountの条件. */
    public NullableCondition<Ka30tRouteDetailCondition, BigDecimal> companyAmount =
        new NullableCondition<Ka30tRouteDetailCondition, BigDecimal>("companyAmount", this);
    
    /** companyAmountExcTaxの条件. */
    public NullableCondition<Ka30tRouteDetailCondition, BigDecimal> companyAmountExcTax =
        new NullableCondition<Ka30tRouteDetailCondition, BigDecimal>("companyAmountExcTax", this);
    
    /** companyAmountTaxの条件. */
    public NullableCondition<Ka30tRouteDetailCondition, BigDecimal> companyAmountTax =
        new NullableCondition<Ka30tRouteDetailCondition, BigDecimal>("companyAmountTax", this);
    
    /** companyAmountSumの条件. */
    public NullableCondition<Ka30tRouteDetailCondition, BigDecimal> companyAmountSum =
        new NullableCondition<Ka30tRouteDetailCondition, BigDecimal>("companyAmountSum", this);
    
    /** payTypeCdの条件. */
    public NullableStringCondition<Ka30tRouteDetailCondition> payTypeCd =
        new NullableStringCondition<Ka30tRouteDetailCondition>("payTypeCd", this);
    
    /** payMethodCdの条件. */
    public NullableStringCondition<Ka30tRouteDetailCondition> payMethodCd =
        new NullableStringCondition<Ka30tRouteDetailCondition>("payMethodCd", this);
    
    /** payeeCdの条件. */
    public NullableStringCondition<Ka30tRouteDetailCondition> payeeCd =
        new NullableStringCondition<Ka30tRouteDetailCondition>("payeeCd", this);
    
    /** payeeNameの条件. */
    public NullableStringCondition<Ka30tRouteDetailCondition> payeeName =
        new NullableStringCondition<Ka30tRouteDetailCondition>("payeeName", this);
    
    /** departmentSetCdの条件. */
    public NullableStringCondition<Ka30tRouteDetailCondition> departmentSetCd =
        new NullableStringCondition<Ka30tRouteDetailCondition>("departmentSetCd", this);
    
    /** departmentCdの条件. */
    public NullableStringCondition<Ka30tRouteDetailCondition> departmentCd =
        new NullableStringCondition<Ka30tRouteDetailCondition>("departmentCd", this);
    
    /** projectCdの条件. */
    public NullableStringCondition<Ka30tRouteDetailCondition> projectCd =
        new NullableStringCondition<Ka30tRouteDetailCondition>("projectCd", this);
    
    /** roundTripFlagの条件. */
    public NotNullableStringCondition<Ka30tRouteDetailCondition> roundTripFlag =
        new NotNullableStringCondition<Ka30tRouteDetailCondition>("roundTripFlag", this);
    
    /** routeLinkFlagの条件. */
    public NotNullableStringCondition<Ka30tRouteDetailCondition> routeLinkFlag =
        new NotNullableStringCondition<Ka30tRouteDetailCondition>("routeLinkFlag", this);
    
    /** routeSearchIdの条件. */
    public NullableStringCondition<Ka30tRouteDetailCondition> routeSearchId =
        new NullableStringCondition<Ka30tRouteDetailCondition>("routeSearchId", this);
    
    /** expTypeNameの条件. */
    public NullableStringCondition<Ka30tRouteDetailCondition> expTypeName =
        new NullableStringCondition<Ka30tRouteDetailCondition>("expTypeName", this);
    
    /** accountNameの条件. */
    public NullableStringCondition<Ka30tRouteDetailCondition> accountName =
        new NullableStringCondition<Ka30tRouteDetailCondition>("accountName", this);
    
    /** taxTypeNameの条件. */
    public NullableStringCondition<Ka30tRouteDetailCondition> taxTypeName =
        new NullableStringCondition<Ka30tRouteDetailCondition>("taxTypeName", this);
    
    /** transCurrencyNameの条件. */
    public NullableStringCondition<Ka30tRouteDetailCondition> transCurrencyName =
        new NullableStringCondition<Ka30tRouteDetailCondition>("transCurrencyName", this);
    
    /** companyCurrencyNameの条件. */
    public NullableStringCondition<Ka30tRouteDetailCondition> companyCurrencyName =
        new NullableStringCondition<Ka30tRouteDetailCondition>("companyCurrencyName", this);
    
    /** payTypeNameの条件. */
    public NullableStringCondition<Ka30tRouteDetailCondition> payTypeName =
        new NullableStringCondition<Ka30tRouteDetailCondition>("payTypeName", this);
    
    /** paymentFlagの条件. */
    public NullableStringCondition<Ka30tRouteDetailCondition> paymentFlag =
        new NullableStringCondition<Ka30tRouteDetailCondition>("paymentFlag", this);
    
    /** payMethodNameの条件. */
    public NullableStringCondition<Ka30tRouteDetailCondition> payMethodName =
        new NullableStringCondition<Ka30tRouteDetailCondition>("payMethodName", this);
    
    /** departmentNameの条件. */
    public NullableStringCondition<Ka30tRouteDetailCondition> departmentName =
        new NullableStringCondition<Ka30tRouteDetailCondition>("departmentName", this);
    
    /** projectNameの条件. */
    public NullableStringCondition<Ka30tRouteDetailCondition> projectName =
        new NullableStringCondition<Ka30tRouteDetailCondition>("projectName", this);
    
    /** extensionAの条件. */
    public NullableStringCondition<Ka30tRouteDetailCondition> extensionA =
        new NullableStringCondition<Ka30tRouteDetailCondition>("extensionA", this);
    
    /** extensionBの条件. */
    public NullableStringCondition<Ka30tRouteDetailCondition> extensionB =
        new NullableStringCondition<Ka30tRouteDetailCondition>("extensionB", this);
    
    /** extensionCの条件. */
    public NullableStringCondition<Ka30tRouteDetailCondition> extensionC =
        new NullableStringCondition<Ka30tRouteDetailCondition>("extensionC", this);
    
    /** extensionDの条件. */
    public NullableStringCondition<Ka30tRouteDetailCondition> extensionD =
        new NullableStringCondition<Ka30tRouteDetailCondition>("extensionD", this);
    
    /** extensionEの条件. */
    public NullableStringCondition<Ka30tRouteDetailCondition> extensionE =
        new NullableStringCondition<Ka30tRouteDetailCondition>("extensionE", this);
    
    /** extensionFの条件. */
    public NullableStringCondition<Ka30tRouteDetailCondition> extensionF =
        new NullableStringCondition<Ka30tRouteDetailCondition>("extensionF", this);
    
    /** extensionGの条件. */
    public NullableStringCondition<Ka30tRouteDetailCondition> extensionG =
        new NullableStringCondition<Ka30tRouteDetailCondition>("extensionG", this);
    
    /** extensionHの条件. */
    public NullableStringCondition<Ka30tRouteDetailCondition> extensionH =
        new NullableStringCondition<Ka30tRouteDetailCondition>("extensionH", this);
    
    /** extensionIの条件. */
    public NullableStringCondition<Ka30tRouteDetailCondition> extensionI =
        new NullableStringCondition<Ka30tRouteDetailCondition>("extensionI", this);
    
    /** extensionJの条件. */
    public NullableStringCondition<Ka30tRouteDetailCondition> extensionJ =
        new NullableStringCondition<Ka30tRouteDetailCondition>("extensionJ", this);
    
    /** entryTsの条件. */
    public NotNullableCondition<Ka30tRouteDetailCondition, Timestamp> entryTs =
        new NotNullableCondition<Ka30tRouteDetailCondition, Timestamp>("entryTs", this);
    
    /** entryUserCdの条件. */
    public NotNullableStringCondition<Ka30tRouteDetailCondition> entryUserCd =
        new NotNullableStringCondition<Ka30tRouteDetailCondition>("entryUserCd", this);
    
    /** renewCntの条件. */
    public NotNullableCondition<Ka30tRouteDetailCondition, Long> renewCnt =
        new NotNullableCondition<Ka30tRouteDetailCondition, Long>("renewCnt", this);
    
    /** renewTsの条件. */
    public NotNullableCondition<Ka30tRouteDetailCondition, Timestamp> renewTs =
        new NotNullableCondition<Ka30tRouteDetailCondition, Timestamp>("renewTs", this);
    
    /** renewUserCdの条件. */
    public NotNullableStringCondition<Ka30tRouteDetailCondition> renewUserCd =
        new NotNullableStringCondition<Ka30tRouteDetailCondition>("renewUserCd", this);
}
  • Path
    src/main/generated/jp/co/slcs/kaiden2/product_workflow/foundation/model/service/Ka30tRouteDetailValCondition.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.NullableCondition;
import org.seasar.extension.jdbc.where.condition.NullableStringCondition;

/**
 * {@link Ka30tRouteDetailVal}の条件クラス.
 * 
 * @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 Ka30tRouteDetailValCondition extends
        AbstractEntityCondition<Ka30tRouteDetailValCondition> {
    
    /**
     * インスタンスを構築.
     */
    public Ka30tRouteDetailValCondition() {
    }
    
    /**
     * インスタンスを構築.
     * 
     * @param prefix プレフィックス
     * @param where 検索条件
     */
    public Ka30tRouteDetailValCondition(String prefix, ComplexWhere where) {
        super(prefix, where);
    }
    
    /** routeSearchIdの条件. */
    public NotNullableStringCondition<Ka30tRouteDetailValCondition> routeSearchId =
        new NotNullableStringCondition<Ka30tRouteDetailValCondition>("routeSearchId", this);
    
    /** localeIdの条件. */
    public NotNullableStringCondition<Ka30tRouteDetailValCondition> localeId =
        new NotNullableStringCondition<Ka30tRouteDetailValCondition>("localeId", this);
    
    /** archiveMonthの条件. */
    public NotNullableStringCondition<Ka30tRouteDetailValCondition> archiveMonth =
        new NotNullableStringCondition<Ka30tRouteDetailValCondition>("archiveMonth", this);
    
    /** commutationRouteの条件. */
    public NullableStringCondition<Ka30tRouteDetailValCondition> commutationRoute =
        new NullableStringCondition<Ka30tRouteDetailValCondition>("commutationRoute", this);
    
    /** searchConditionの条件. */
    public NullableStringCondition<Ka30tRouteDetailValCondition> searchCondition =
        new NullableStringCondition<Ka30tRouteDetailValCondition>("searchCondition", this);
    
    /** routeInfoの条件. */
    public NullableStringCondition<Ka30tRouteDetailValCondition> routeInfo =
        new NullableStringCondition<Ka30tRouteDetailValCondition>("routeInfo", this);
    
    /** assessDateの条件. */
    public NullableCondition<Ka30tRouteDetailValCondition, Timestamp> assessDate =
        new NullableCondition<Ka30tRouteDetailValCondition, Timestamp>("assessDate", this);
    
    /** tranceMeansFlagの条件. */
    public NotNullableStringCondition<Ka30tRouteDetailValCondition> tranceMeansFlag =
        new NotNullableStringCondition<Ka30tRouteDetailValCondition>("tranceMeansFlag", this);
    
    /** assessFlagの条件. */
    public NotNullableStringCondition<Ka30tRouteDetailValCondition> assessFlag =
        new NotNullableStringCondition<Ka30tRouteDetailValCondition>("assessFlag", this);
    
    /** extensionAの条件. */
    public NullableStringCondition<Ka30tRouteDetailValCondition> extensionA =
        new NullableStringCondition<Ka30tRouteDetailValCondition>("extensionA", this);
    
    /** extensionBの条件. */
    public NullableStringCondition<Ka30tRouteDetailValCondition> extensionB =
        new NullableStringCondition<Ka30tRouteDetailValCondition>("extensionB", this);
    
    /** extensionCの条件. */
    public NullableStringCondition<Ka30tRouteDetailValCondition> extensionC =
        new NullableStringCondition<Ka30tRouteDetailValCondition>("extensionC", this);
    
    /** extensionDの条件. */
    public NullableStringCondition<Ka30tRouteDetailValCondition> extensionD =
        new NullableStringCondition<Ka30tRouteDetailValCondition>("extensionD", this);
    
    /** extensionEの条件. */
    public NullableStringCondition<Ka30tRouteDetailValCondition> extensionE =
        new NullableStringCondition<Ka30tRouteDetailValCondition>("extensionE", this);
    
    /** extensionFの条件. */
    public NullableStringCondition<Ka30tRouteDetailValCondition> extensionF =
        new NullableStringCondition<Ka30tRouteDetailValCondition>("extensionF", this);
    
    /** extensionGの条件. */
    public NullableStringCondition<Ka30tRouteDetailValCondition> extensionG =
        new NullableStringCondition<Ka30tRouteDetailValCondition>("extensionG", this);
    
    /** extensionHの条件. */
    public NullableStringCondition<Ka30tRouteDetailValCondition> extensionH =
        new NullableStringCondition<Ka30tRouteDetailValCondition>("extensionH", this);
    
    /** extensionIの条件. */
    public NullableStringCondition<Ka30tRouteDetailValCondition> extensionI =
        new NullableStringCondition<Ka30tRouteDetailValCondition>("extensionI", this);
    
    /** extensionJの条件. */
    public NullableStringCondition<Ka30tRouteDetailValCondition> extensionJ =
        new NullableStringCondition<Ka30tRouteDetailValCondition>("extensionJ", this);
    
    /** entryTsの条件. */
    public NotNullableCondition<Ka30tRouteDetailValCondition, Timestamp> entryTs =
        new NotNullableCondition<Ka30tRouteDetailValCondition, Timestamp>("entryTs", this);
    
    /** entryUserCdの条件. */
    public NotNullableStringCondition<Ka30tRouteDetailValCondition> entryUserCd =
        new NotNullableStringCondition<Ka30tRouteDetailValCondition>("entryUserCd", this);
    
    /** renewCntの条件. */
    public NotNullableCondition<Ka30tRouteDetailValCondition, Long> renewCnt =
        new NotNullableCondition<Ka30tRouteDetailValCondition, Long>("renewCnt", this);
    
    /** renewTsの条件. */
    public NotNullableCondition<Ka30tRouteDetailValCondition, Timestamp> renewTs =
        new NotNullableCondition<Ka30tRouteDetailValCondition, Timestamp>("renewTs", this);
    
    /** renewUserCdの条件. */
    public NotNullableStringCondition<Ka30tRouteDetailValCondition> renewUserCd =
        new NotNullableStringCondition<Ka30tRouteDetailValCondition>("renewUserCd", this);
}

5.1.4.4. SQL

5.1.4.4.1. 検索

  • Path
    src/main/resources/META-INF/sql/jp/co/slcs/kaiden2/product_workflow/foundation/model/service/K30tRouteDetailService/selectView.sql
select
    t.system_matter_id,
    t.user_data_id,
    t.gadget_class,
    t.gadget_instance,
    t.tuple_id,
    t.gadget_id,
    t.gadget_variation,
    t.row_number,
    t.route_date,
    t.starting_spot,
    t.arrival_spot,
    t.supplement,
    t.exp_type_cd,
    t.account_cd,
    t.tax_type_cd,
    t.tax_rate,
    t.quantity,
    t.trans_currency_cd,
    t.trans_amount,
    t.company_rate,
    t.company_currency_cd,
    t.company_amount,
    t.company_amount_exc_tax,
    t.company_amount_tax,
    t.company_amount_sum,
    t.pay_type_cd,
    t.pay_method_cd,
    t.payee_cd,
    t.payee_name,
    t.department_set_cd,
    t.department_cd,
    t.project_cd,
    t.round_trip_flag,
    t.route_link_flag,
    t.route_search_id,
    t.extension_a,
    t.extension_b,
    t.extension_c,
    t.extension_d,
    t.extension_e,
    t.extension_f,
    t.extension_g,
    t.extension_h,
    t.extension_i,
    t.extension_j,
    t.entry_ts,
    t.entry_user_cd,
    t.renew_cnt,
    t.renew_ts,
    t.renew_user_cd,
    c1.search_criteria_company,
    m1.currency_name as trans_currency_name,
    m2.department_name,
    m3.project_name,
    m4.pay_type_name,
    m5.pay_method_name,
    m6.currency_name as company_currency_name,
    m7.exp_type_name,
    m8.account_name,
    m9.tax_type_name,
    m4.payment_flag,
    val.commutation_route,
    val.search_condition,
    val.route_info,
    val.assess_date,
    val.trance_means_flag,
    val.assess_flag
from
    k30t_route_detail t
    inner join
        k20c_matter_control c1
    on
        t.system_matter_id = c1.system_matter_id
    and
        t.user_data_id = c1.user_data_id
    left outer join imm_currency m1
    on
        c1.search_criteria_company = m1.company_cd
    and
        t.trans_currency_cd = m1.currency_cd
    and
        /*localeId*/'ja' = m1.locale_id
    and
        m1.delete_flag = '0'
    left outer join
        imm_department m2
    on
        c1.search_criteria_company = m2.company_cd
    and
        t.department_set_cd = m2.department_set_cd
    and
        t.department_cd = m2.department_cd
    and
        /*localeId*/'ja' = m2.locale_id
    and
        c1.search_criteria_date >= m2.start_date
    and
        c1.search_criteria_date < m2.end_date
    and
        m2.delete_flag = '0'
    left outer join
        k30m_project m3
    on
        c1.search_criteria_company = m3.company_cd
    and
        t.project_cd = m3.project_cd
    and
        c1.search_criteria_date >= m3.start_date
    and
        c1.search_criteria_date < m3.end_date
    and
        /*localeId*/'ja' = m3.locale_id
    and
        m3.delete_flag = '0'
    left outer join
        k30m_pay_type m4
    on
        c1.search_criteria_company = m4.company_cd
    and
        t.pay_type_cd = m4.pay_type_cd
    and
        /*localeId*/'ja' = m4.locale_id
    and
        c1.search_criteria_date >= m4.start_date
    and
        c1.search_criteria_date < m4.end_date
    and
        m4.delete_flag = '0'
    left outer join
        k30m_pay_method m5
    on
        c1.search_criteria_company = m5.company_cd
    and
        t.pay_method_cd = m5.pay_method_cd
    and
        /*localeId*/'ja' = m5.locale_id
    and
        c1.search_criteria_date >= m5.start_date
    and
        c1.search_criteria_date < m5.end_date
    and
        m5.delete_flag = '0'
    left outer join imm_currency m6
    on
        c1.search_criteria_company = m6.company_cd
    and
        t.company_currency_cd = m6.currency_cd
    and
        /*localeId*/'ja' = m6.locale_id
    and
        m6.delete_flag = '0'
    left outer join
        k30m_exp_type m7
    on
        c1.search_criteria_company = m7.company_cd
    and
        t.exp_type_cd = m7.exp_type_cd
    and
        /*localeId*/'ja' = m7.locale_id
    and
        c1.search_criteria_date >= m7.start_date
    and
        c1.search_criteria_date < m7.end_date
    and
        m7.delete_flag = '0'

    left outer join
        k30m_account m8
    on
        c1.search_criteria_company = m8.company_cd
    and
        t.account_cd = m8.account_cd
    and
        /*localeId*/'ja' = m8.locale_id
    and
        c1.search_criteria_date >= m8.start_date
    and
        c1.search_criteria_date < m8.end_date
    and
        m8.delete_flag = '0'

    left outer join
        k30m_tax_type m9
    on
        c1.search_criteria_company = m9.company_cd
    and
        t.tax_type_cd = m9.tax_type_cd
    and
        /*localeId*/'ja' = m9.locale_id
    and
        c1.search_criteria_date >= m9.start_date
    and
        c1.search_criteria_date < m9.end_date
    and
        m9.delete_flag = '0'
    left outer join
        k30t_route_detail_val val
    on t.route_search_id = val.route_search_id
where
    t.system_matter_id =/*systemMatterId*/''
/*IF userDataId != null*/
and
    t.user_data_id = /*userDataId*/''
/*END*/
/*IF gadgetId != null*/
and
    t.gadget_id = /*gadgetId*/''
/*END*/
/*IF gadgetClass != null*/
and
    t.gadget_class = /*gadgetClass*/''
/*END*/
/*IF gadgetInstance != null*/
and
    t.gadget_instance = /*gadgetInstance*/''
/*END*/
/*IF searchCriteriaCompany != null*/
and
    c1.search_criteria_company = /*searchCriteriaCompany*/''
/*END*/
/*IF orderBy != null*/
order by /*$orderBy*/system_matter_id
/*END*/
  • Path
    src/main/resources/META-INF/sql/jp/co/slcs/kaiden2/product_workflow/foundation/model/service/K30tRouteDetailValService/selectView.sql
select 
    t.route_search_id, 
    t.commutation_route, 
    t.search_condition, 
    t.route_info, 
    t.assess_date, 
    t.trance_means_flag, assess_flag, 
    t.extension_a, 
    t.extension_b, 
    t.extension_c, 
    t.extension_d, 
    t.extension_e, 
    t.extension_f, 
    t.extension_g, 
    t.extension_h, 
    t.extension_i, 
    t.extension_j, 
    t.entry_ts, 
    t.entry_user_cd, 
    t.renew_cnt, 
    t.renew_ts, 
    t.renew_user_cd
from 
    k30t_route_detail d
    inner join 
        k30t_route_detail_val t 
    on
        d.route_search_id = t.route_search_id 
where 
    d.system_matter_id =/*systemMatterId*/''
/*IF userDataId != null*/
and 
    d.user_data_id = /*userDataId*/''
/*END*/
/*IF gadgetId != null*/
and
    d.gadget_id = /*gadgetId*/''
/*END*/
/*IF gadgetClass != null*/
and
    d.gadget_class = /*gadgetClass*/''
/*END*/
/*IF gadgetInstance != null*/
and
    d.gadget_instance = /*gadgetInstance*/''
/*END*/
/*IF orderBy != null*/
order by /*$orderBy*/t.route_search_id
/*END*/ 
  • Path
    src/main/resources/META-INF/sql/jp/co/slcs/kaiden2/product_workflow/foundation/model/service/Ka30tRouteDetailValService/selectView.sql
select 
    t.route_search_id, 
    t.locale_id, 
    t.archive_month, 
    t.commutation_route, 
    t.search_condition, 
    t.route_info, 
    t.assess_date, 
    t.trance_means_flag, assess_flag, 
    t.extension_a, 
    t.extension_b, 
    t.extension_c, 
    t.extension_d, 
    t.extension_e, 
    t.extension_f, 
    t.extension_g, 
    t.extension_h, 
    t.extension_i, 
    t.extension_j, 
    t.entry_ts, 
    t.entry_user_cd, 
    t.renew_cnt, 
    t.renew_ts, 
    t.renew_user_cd
from 
    ka30t_route_detail d
    inner join 
        ka30t_route_detail_val t 
    on
        d.route_search_id = t.route_search_id 
    and
        d.locale_id = t.locale_id 
where 
    d.system_matter_id =/*systemMatterId*/''
/*IF userDataId != null*/
and 
    d.user_data_id = /*userDataId*/''
/*END*/
/*IF orderBy != null*/
order by /*$orderBy*/t.route_search_id
/*END*/ 

5.1.4.4.2. コピー

  • Path
    src/main/resources/META-INF/sql/jp/co/slcs/kaiden2/product_workflow/foundation/model/service/K30tRouteDetailService/selectViewForCopy.sql
select
    t.system_matter_id,
    t.user_data_id,
    t.gadget_class,
    t.gadget_instance,
    t.tuple_id,
    t.gadget_id,
    t.gadget_variation,
    t.row_number,
    t.route_date,
    t.starting_spot,
    t.arrival_spot,
    t.supplement,
    t.exp_type_cd,
    t.account_cd,
    t.tax_type_cd,
    t.tax_rate,
    t.quantity,
    t.trans_currency_cd,
    t.trans_amount,
    t.company_rate,
    t.company_currency_cd,
    t.company_amount,
    t.company_amount_exc_tax,
    t.company_amount_tax,
    t.company_amount_sum,
    t.pay_type_cd,
    t.pay_method_cd,
    t.payee_cd,
    t.payee_name,
    t.department_set_cd,
    t.department_cd,
    t.project_cd,
    t.round_trip_flag,
    t.route_link_flag,
    t.route_search_id,
    t.extension_a,
    t.extension_b,
    t.extension_c,
    t.extension_d,
    t.extension_e,
    t.extension_f,
    t.extension_g,
    t.extension_h,
    t.extension_i,
    t.extension_j,
    t.entry_ts,
    t.entry_user_cd,
    t.renew_cnt,
    t.renew_ts,
    t.renew_user_cd,
    c1.search_criteria_company,
    m1.currency_name as trans_currency_name,
    m2.department_name,
    m3.project_name,
    m4.pay_type_name,
    m5.pay_method_name,
    m6.currency_name as company_currency_name,
    ma.exp_type_name,
    case when t.exp_type_cd is not null and t.exp_type_cd <>'' then m8.account_name else mb.account_name end as account_name,
    case when t.exp_type_cd is not null and t.exp_type_cd <>'' then m9.tax_type_name else mc.tax_type_name end as tax_type_name,
    m4.payment_flag,
    val.commutation_route,
    val.search_condition,
    val.route_info,
    val.assess_date,
    val.trance_means_flag,
    val.assess_flag
from
    k30t_route_detail t
    inner join
        k20c_matter_control c1
    on
        t.system_matter_id = c1.system_matter_id
    and
        t.user_data_id = c1.user_data_id
    left outer join imm_currency m1
    on
        c1.search_criteria_company = m1.company_cd
    and
        t.trans_currency_cd = m1.currency_cd
    and
        /*localeId*/'ja' = m1.locale_id
    and
        m1.delete_flag = '0'
    left outer join
        imm_department m2
    on
        c1.search_criteria_company = m2.company_cd
    and
        t.department_set_cd = m2.department_set_cd
    and
        t.department_cd = m2.department_cd
    and
        /*localeId*/'ja' = m2.locale_id
    and
        /*searchCriteriaDate*/'' >= m2.start_date
    and
        /*searchCriteriaDate*/'' < m2.end_date
    and
        m2.delete_flag = '0'
    left outer join
        k30m_project m3
    on
        c1.search_criteria_company = m3.company_cd
    and
        t.project_cd = m3.project_cd
    and
        /*searchCriteriaDate*/'' >= m3.start_date
    and
        /*searchCriteriaDate*/'' < m3.end_date
    and
        /*localeId*/'ja' = m3.locale_id
    and
        m3.delete_flag = '0'
    left outer join
        k30m_pay_type m4
    on
        c1.search_criteria_company = m4.company_cd
    and
        t.pay_type_cd = m4.pay_type_cd
    and
        /*localeId*/'ja' = m4.locale_id
    and
        /*searchCriteriaDate*/'' >= m4.start_date
    and
        /*searchCriteriaDate*/'' < m4.end_date
    and
        m4.delete_flag = '0'
    left outer join
        k30m_pay_method m5
    on
        c1.search_criteria_company = m5.company_cd
    and
        t.pay_method_cd = m5.pay_method_cd
    and
        /*localeId*/'ja' = m5.locale_id
    and
        /*searchCriteriaDate*/'' >= m5.start_date
    and
        /*searchCriteriaDate*/'' < m5.end_date
    and
        m5.delete_flag = '0'
    left outer join imm_currency m6
    on
        c1.search_criteria_company = m6.company_cd
    and
        t.company_currency_cd = m6.currency_cd
    and
        /*localeId*/'ja' = m6.locale_id
    and
        m6.delete_flag = '0'
    left outer join
        k30m_account m8
    on
        c1.search_criteria_company = m8.company_cd
    and
        t.account_cd = m8.account_cd
    and
        /*localeId*/'ja' = m8.locale_id
    and
        /*searchCriteriaDate*/'' >= m8.start_date
    and
        /*searchCriteriaDate*/'' < m8.end_date
    and
        m8.delete_flag = '0'
    left outer join
        k30m_tax_type m9
    on
        c1.search_criteria_company = m9.company_cd
    and
        t.tax_type_cd = m9.tax_type_cd
    and
        /*localeId*/'ja' = m9.locale_id
    and
        /*searchCriteriaDate*/'' >= m9.start_date
    and
        /*searchCriteriaDate*/'' < m9.end_date
    and
        m9.delete_flag = '0'

    left outer join
        k30m_exp_type ma
    on
        c1.search_criteria_company = ma.company_cd
    and
        t.exp_type_cd = ma.exp_type_cd
    and
        /*localeId*/'ja' = ma.locale_id
    and
        /*searchCriteriaDate*/'' >= ma.start_date
    and
        /*searchCriteriaDate*/'' < ma.end_date
    and
        ma.delete_flag = '0'
    left outer join
        k30m_account mb
    on
        ma.company_cd = mb.company_cd
    and
        ma.account_cd = mb.account_cd
    and
        /*localeId*/'ja' = mb.locale_id
    and
        /*searchCriteriaDate*/'' >= mb.start_date
    and
        /*searchCriteriaDate*/'' < mb.end_date
    and
        m8.delete_flag = '0'
    left outer join
        k30m_tax_type mc
    on
        ma.company_cd = mc.company_cd
    and
        ma.tax_type_cd = mc.tax_type_cd
    and
        /*localeId*/'ja' = mc.locale_id
    and
        /*searchCriteriaDate*/'' >= mc.start_date
    and
        /*searchCriteriaDate*/'' < mc.end_date
    and
        mc.delete_flag = '0'
    left outer join
        k30t_route_detail_val val
    on t.route_search_id = val.route_search_id
where
    t.system_matter_id =/*systemMatterId*/''
/*IF userDataId != null*/
and
    t.user_data_id = /*userDataId*/''
/*END*/
/*IF gadgetClass != null*/
and
    t.gadget_class = /*gadgetClass*/''
/*END*/
/*IF gadgetInstance != null*/
and
    t.gadget_instance = /*gadgetInstance*/''
/*END*/
/*IF gadgetId != null*/
and
    t.gadget_id = /*gadgetId*/''
/*END*/
/*IF searchCriteriaCompany != null*/
and
    c1.search_criteria_company = /*searchCriteriaCompany*/''
/*END*/
/*IF orderBy != null*/
order by /*$orderBy*/system_matter_id
/*END*/

5.1.4.4.3. 仕訳連携

  • Path
    src/main/resources/META-INF/sql/jp/co/slcs/kaiden2/product_workflow/foundation/manager/routedetail/impl/RouteDetailManagerImpl/selectForJournalSourceDtl.sql
select
    t.system_matter_id as system_matter_id,
    t.user_data_id as user_data_id,
    t.gadget_class as gadget_class,
    t.gadget_instance as gadget_instance,
    t.tuple_id as tuple_id,
    t.gadget_id as gadget_id,
    t.gadget_variation as gadget_variation,
    i1.contents_id as contents_id,
    i1.contents_version_id as contents_version_id,
    null as journal_data_type_cd,
    t.row_number as row_number,
    t.exp_type_cd as exp_type_cd,
    t.account_cd as account_cd,
    t.tax_type_cd as tax_type_cd,
    mt.tax_rate as tax_rate,
    t.quantity as quantity,
    t.trans_currency_cd as trans_currency_cd,
    t.trans_amount as trans_amount,
    t.company_currency_cd as company_currency_cd,
    t.company_rate as company_rate,
    t.company_amount as company_amount,
    t.company_amount_exc_tax as company_amount_exc_tax,
    t.company_amount_tax as company_amount_tax,
    t.company_amount_sum as company_amount_sum,
    t.payee_cd as customer_cd,
    t.payee_name as customer_name,
    t.department_set_cd as department_set_cd,
    t.department_cd as department_cd,
    t.project_cd as project_cd,
    t.pay_method_cd as pay_method_cd,
    t.pay_type_cd as pay_type_cd,
    null as adv_matter_number,
    null as adv_matter_name,
    t.route_date as detail_date1,
    null as detail_date2,
    null as detail_summary1,
    null as detail_summary2,
    null as detail_summary3,
    null as detail_summary4,
    null as detail_summary5,
    t.supplement as detail_note,
    t.extension_a as detail_extension_a,
    t.extension_b as detail_extension_b,
    t.extension_c as detail_extension_c,
    t.extension_d as detail_extension_d,
    t.extension_e as detail_extension_e,
    t.extension_f as detail_extension_f,
    t.extension_g as detail_extension_g,
    t.extension_h as detail_extension_h,
    t.extension_i as detail_extension_i,
    t.extension_j as detail_extension_j,
    '0' as journal_status,
    null as wish_date,
    c1.search_criteria_company,
    c1.search_criteria_date
from
    k30t_route_detail t
    inner join
        k20c_matter_info i1
    on
        t.system_matter_id = i1.system_matter_id
    inner join
        k20c_matter_control c1
    on
        t.system_matter_id = c1.system_matter_id
    and
        t.user_data_id = c1.user_data_id
    left outer join
        k30m_tax_type mt
    on
        c1.search_criteria_company = mt.company_cd
    and
        t.tax_type_cd = mt.tax_type_cd
    and
        c1.search_criteria_date >= mt.start_date
    and
        c1.search_criteria_date < mt.end_date
    and
        i1.locale_id_apply = mt.locale_id
    and
        mt.delete_flag = '0'

where
    t.system_matter_id =/*systemMatterId*/''
/*IF userDataId != null*/
and
    t.user_data_id = /*userDataId*/''
/*END*/
/*IF gadgetClass != null*/
and
    t.gadget_class = /*gadgetClass*/''
/*END*/
/*IF gadgetInstance != null*/
and
    t.gadget_instance = /*gadgetInstance*/''
/*END*/
/*IF gadgetId != null*/
and
    t.gadget_id = /*gadgetId*/''
/*END*/
/*IF searchCriteriaCompany != null*/
and
    c1.search_criteria_company = /*searchCriteriaCompany*/''
/*END*/
/*IF orderBy != null*/
order by /*$orderBy*/t.row_number
/*END*/

5.1.4.4.4. アーカイブ

  • Path
    src/main/resources/META-INF/sql/jp/co/slcs/kaiden2/product_workflow/foundation/model/service/Ka30tRouteDetailService/selectViewForArchive.sql
select
    t.system_matter_id,
    t.user_data_id,
    t.gadget_class,
    t.gadget_instance,
    t.tuple_id,
    t.locale_id,
    t.archive_month,
    t.gadget_id,
    t.gadget_variation,
    t.row_number,
    t.route_date,
    t.starting_spot,
    t.arrival_spot,
    t.supplement,
    t.exp_type_cd,
    t.account_cd,
    t.tax_type_cd,
    t.tax_rate,
    t.quantity,
    t.trans_currency_cd,
    t.trans_amount,
    t.company_rate,
    t.company_currency_cd,
    t.company_amount,
    t.company_amount_exc_tax,
    t.company_amount_tax,
    t.company_amount_sum,
    t.pay_type_cd,
    t.pay_method_cd,
    t.payee_cd,
    t.payee_name,
    t.department_set_cd,
    t.department_cd,
    t.project_cd,
    t.round_trip_flag,
    t.route_link_flag,
    t.route_search_id,
    t.extension_a,
    t.extension_b,
    t.extension_c,
    t.extension_d,
    t.extension_e,
    t.extension_f,
    t.extension_g,
    t.extension_h,
    t.extension_i,
    t.extension_j,
    t.entry_ts,
    t.entry_user_cd,
    t.renew_cnt,
    t.renew_ts,
    t.renew_user_cd,
    c1.search_criteria_company,
    t.trans_currency_name,
    t.department_name,
    t.project_name,
    t.pay_type_name,
    t.pay_method_name,
    t.company_currency_name,
    t.exp_type_name,
    t.account_name,
    t.tax_type_name,
    t.payment_flag,
    val.commutation_route,
    val.search_condition,
    val.route_info,
    val.assess_date,
    val.trance_means_flag,
    val.assess_flag
from
    ka30t_route_detail t
    inner join
        ka20c_matter_control c1
    on
        t.system_matter_id = c1.system_matter_id
    and
        t.user_data_id = c1.user_data_id
    and
        t.locale_id = c1.locale_id
    left outer join
        ka30t_route_detail_val val
    on
        t.route_search_id = val.route_search_id
    and
        t.locale_id = val.locale_id
where
    t.system_matter_id =/*systemMatterId*/''
/*IF userDataId != null*/
and
    t.user_data_id = /*userDataId*/''
/*END*/
/*IF gadgetId != null*/
and
    t.gadget_id = /*gadgetId*/''
/*END*/
/*IF gadgetClass != null*/
and
    t.gadget_class = /*gadgetClass*/''
/*END*/
/*IF gadgetInstance != null*/
and
    t.gadget_instance = /*gadgetInstance*/''
/*END*/
/*IF localeId != null*/
and
    t.locale_id = /*localeId*/''
/*END*/
/*IF orderBy != null*/
order by /*$orderBy*/t.system_matter_id
/*END*/

5.1.4.5. JSP

5.1.4.5.1. PC

  • Path
    src/main/webapp/WEB-INF/view/kaiden2/product_workflow/gadget/routeDetail/routeDetailV02.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<%@ taglib prefix="im" uri="http://www.intra-mart.co.jp/taglib/im-tenant" %>
<%@ taglib prefix="k" uri="http://kaiden.slcs.co.jp/taglib/ui" %>
<%@ taglib prefix="klist_wkf" uri="http://kaiden.slcs.co.jp/taglib/listdata/workflow" %>
<%@ taglib prefix="kmsb" uri="http://kaiden.slcs.co.jp/taglib/master_search/base" %>
<%@ taglib prefix="kmsw" uri="http://kaiden.slcs.co.jp/taglib/master_search/workflow" %>
<%@ page import="jp.co.slcs.kaiden2.base.foundation.util.PropertyJspUtil" %>
<%@ page import="jp.co.slcs.kaiden2.base.foundation.conf.BaseProp" %>
<%@ page import="jp.co.slcs.kaiden2.product_workflow.foundation.conf.ProductWorkflowProp" %>

<c:if test="${empty pwkfCommonIncluded}" scope="request">
  <jsp:include page="/WEB-INF/view/kaiden2/product_workflow/foundation/commonInclude.jsp"></jsp:include>
  <c:set var="pwkfCommonIncluded"  scope="request">true</c:set>
</c:if>

<%-- routeDetail v02 --%>
<c:set var="gadgetClass">routeDetail</c:set> 
<c:set var="gadgetVariation">v02</c:set>
<c:set var="gadgetInstance">${param.gadget_instance}</c:set>
<c:set var="gadgetId">${gadgetClass}_${gadgetVariation}_${gadgetInstance}</c:set>
<c:set var="accessUrl">kaiden/gadget/routeDetailV02</c:set>
<c:set var="gadgetBlockId">routeDetailTable</c:set>
<c:set var="gadgetBlockHeaderId">routeDetailHeader</c:set>
<c:set var="tmtableId">routeDetailTable</c:set>
<c:set var="tmtableControllerBlockId">tmtableController</c:set>
<c:set var="searchCriteriaCompany">${param.searchCriteriaCompany}</c:set>
<c:set var="searchCriteriaDate">${param.searchCriteriaDate}</c:set>
<c:set var="companyCurrencyCd">${param.companyCurrencyCd}</c:set>
<c:set var="applyAuthUserCode">${param.applyAuthUserCode}</c:set>
<c:set var="useRouteSearch">${k:isUseRouteSearch(param.searchCriteriaCompany)}</c:set>

<c:set var="gadget" value="${appDto.gadgets[gadgetId]}" />
<c:set var="detail" value="${gadget.blocks['routeDetailTable']}" />

<%-- tmtable --%>
<c:set var="allowAddDetail" value="${'1' == detail.allowAddFlag}" />
<c:set var="allowDelDetail" value="${'1' == detail.allowDelFlag}" />

<%-- Message --%>
<c:set var="msgRateReget"><%=PropertyJspUtil.getMessage(ProductWorkflowProp.M.W0008) %></c:set>

<%-- Surface --%>
<c:set var="surfaceChapterTitle">${gadget.surfaces["chapterTitle"]}</c:set>
<c:set var="surfaceRateReget">${gadget.surfaces["rateReget"]}</c:set>
<c:set var="surfaceRouteDate">${gadget.surfaces["routeDate"]}</c:set>
<c:set var="surfaceTravelRoute">${gadget.surfaces["travelRoute"]}</c:set>
<c:set var="surfaceStartingSpot">${gadget.surfaces["startingSpot"]}</c:set>
<c:set var="surfaceHyphen">${gadget.surfaces["hyphen"]}</c:set>
<c:set var="surfaceArrivalSpot">${gadget.surfaces["arrivalSpot"]}</c:set>
<c:set var="surfaceRoundTrip">${gadget.surfaces["roundTrip"]}</c:set>
<c:set var="surfaceSupplement">${gadget.surfaces["supplement"]}</c:set>
<c:set var="surfacePayType">${gadget.surfaces["payType"]}</c:set>
<c:set var="surfacePayee">${gadget.surfaces["payee"]}</c:set>
<c:set var="surfaceDepartment">${gadget.surfaces["department"]}</c:set>
<c:set var="surfaceProject">${gadget.surfaces["project"]}</c:set>
<c:set var="surfaceExpType">${gadget.surfaces["expType"]}</c:set>
<c:set var="surfaceAccount">${gadget.surfaces["account"]}</c:set>
<c:set var="surfaceTaxType">${gadget.surfaces["taxType"]}</c:set>
<c:set var="surfaceTransAmount">${gadget.surfaces["amount"]}</c:set>
<c:set var="surfaceTransCurrency">${gadget.surfaces["amount_transCurrency"]}</c:set>
<c:set var="surfaceCompanyRate">${gadget.surfaces["amount_transRate"]}</c:set>
<c:set var="surfaceCompanyAmount">${gadget.surfaces["amount_companyAmount"]}</c:set>
<c:set var="surfaceRouteSearchLink">${gadget.surfaces["routeSearchLink"]}</c:set>
<c:set var="surfaceRouteSearch">${gadget.surfaces["routeSearch"]}</c:set>
<c:set var="surfaceRouteSearchDetail">${gadget.surfaces["routeSearchDetail"]}</c:set>
<c:set var="surfaceRouteSearchRemove">${gadget.surfaces["routeSearchRemove"]}</c:set>
<c:set var="surfaceCompanyAmountSum">${gadget.surfaces["companyAmountSum"]}</c:set>

<%-- Surface(Property) --%>
<c:set var="surfaceRouteSearch"><%= BaseProp.S.EkispertWeb.ROUTE_SEARCH %></c:set>
<c:set var="surfaceShowDetail"><%= BaseProp.S.EkispertWeb.SHOW_DETAIL %></c:set>
<c:set var="surfaceReleaseLink"><%= BaseProp.S.EkispertWeb.RELEASE_LINK %></c:set>
<c:set var="surfaceAltFast"><%= PropertyJspUtil.getSurface(BaseProp.S.EkispertWeb.ALT_FAST) %></c:set>
<c:set var="surfaceAltEasy"><%= PropertyJspUtil.getSurface(BaseProp.S.EkispertWeb.ALT_EASE) %></c:set>
<c:set var="surfaceAltCheap"><%= PropertyJspUtil.getSurface(BaseProp.S.EkispertWeb.ALT_CHEAP) %></c:set>
<c:set var="surfaceAltCheapTeiki1"><%= PropertyJspUtil.getSurface(BaseProp.S.EkispertWeb.ALT_CHEAP_TEIKI1) %></c:set>
<c:set var="surfaceAltCheapTeiki3"><%= PropertyJspUtil.getSurface(BaseProp.S.EkispertWeb.ALT_CHEAP_TEIKI3) %></c:set>
<c:set var="surfaceAltCheapTeiki6"><%= PropertyJspUtil.getSurface(BaseProp.S.EkispertWeb.ALT_CHEAP_TEIKI6) %></c:set>
<c:set var="surfaceAltEco"><%= PropertyJspUtil.getSurface(BaseProp.S.EkispertWeb.ALT_ECO) %></c:set>
<c:set var="surfaceAltCommuter"><%= PropertyJspUtil.getSurface(BaseProp.S.EkispertWeb.ALT_TEIKI) %></c:set>
<c:set var="surfaceAltExpress"><%= PropertyJspUtil.getSurface(BaseProp.S.EkispertWeb.ALT_EXPRESS) %></c:set>
<c:set var="surfaceAltBus"><%= PropertyJspUtil.getSurface(BaseProp.S.EkispertWeb.ALT_BUS) %></c:set>
<c:set var="surfaceAltAir"><%= PropertyJspUtil.getSurface(BaseProp.S.EkispertWeb.ALT_AIR) %></c:set>
<c:set var="surfaceAltShip"><%= PropertyJspUtil.getSurface(BaseProp.S.EkispertWeb.ALT_SHIP) %></c:set>

<%-- Mode --%>
<c:set var="modeRouteDate">${detail.fields["routeDate"].inputType}</c:set>
<c:set var="modeStartingSpot">${detail.fields["startingSpot"].inputType}</c:set>
<c:set var="modeArrivalSpot">${detail.fields["arrivalSpot"].inputType}</c:set>
<c:set var="modeSupplement">${detail.fields["supplement"].inputType}</c:set>
<c:set var="modePayTypeCd">${detail.fields["payTypeCd"].inputType}</c:set>
<c:set var="modePayeeName">${detail.fields["payeeName"].inputType}</c:set>
<c:set var="modeDepartmentCd">${detail.fields["departmentCd"].inputType}</c:set>
<c:set var="modeProjectCd">${detail.fields["projectCd"].inputType}</c:set>
<c:set var="modeExpTypeCd">${detail.fields["expTypeCd"].inputType}</c:set>
<c:set var="modeAccountCd">${detail.fields["accountCd"].inputType}</c:set>
<c:set var="modeTaxTypeCd">${detail.fields["taxTypeCd"].inputType}</c:set>
<c:set var="modeTransAmount">${detail.fields["transAmount"].inputType}</c:set>
<c:set var="modeTransCurrency">${detail.fields["transCurrencyCd"].inputType}</c:set>
<c:set var="modeCompanyRate">${detail.fields["companyRate"].inputType}</c:set>
<c:set var="modeCompanyAmount">${detail.fields["companyAmount"].inputType}</c:set>
<c:set var="modeRouteLinkFlag">${detail.fields["routeLinkFlag"].inputType}</c:set>
<c:set var="modeRoundTripFlag">${detail.fields["roundTripFlag"].inputType}</c:set>
<c:set var="modeCompanyAmountSum">${modeTransAmount == modeRoundTripFlag ? modeTransAmount : "0"}</c:set>

<%-- RequiredMark --%>
<c:set var="reqRouteDate" >${detail.fields["routeDate"].requiredFlag}</c:set>
<c:set var="reqStartingSpot" >${detail.fields["startingSpot"].requiredFlag}</c:set>
<c:set var="reqArrivalSpot" >${detail.fields["arrivalSpot"].requiredFlag}</c:set>
<c:set var="reqSupplement" >${detail.fields["supplement"].requiredFlag}</c:set>
<c:set var="reqPayTypeCd" >${detail.fields["payTypeCd"].requiredFlag}</c:set>
<c:set var="reqPayeeName" >${detail.fields["payeeName"].requiredFlag}</c:set>
<c:set var="reqDepartmentCd" >${detail.fields["departmentCd"].requiredFlag}</c:set>
<c:set var="reqProjectCd" >${detail.fields["projectCd"].requiredFlag}</c:set>
<c:set var="reqExpTypeCd" >${detail.fields["expTypeCd"].requiredFlag}</c:set>
<c:set var="reqAccountCd" >${detail.fields["accountCd"].requiredFlag}</c:set>
<c:set var="reqTaxTypeCd" >${detail.fields["taxTypeCd"].requiredFlag}</c:set>
<c:set var="reqTransAmount" >${detail.fields["transAmount"].requiredFlag}</c:set>
<c:set var="reqTransCurrency" >${detail.fields["transCurrencyCd"].requiredFlag}</c:set>
<c:set var="reqCompanyRate" >${detail.fields["companyRate"].requiredFlag}</c:set>
<c:set var="reqCompanyAmount" >${detail.fields["companyAmount"].requiredFlag}</c:set>
<c:set var="reqRoundTripFlag" >${detail.fields["roundTripFlag"].requiredFlag}</c:set>
<c:set var="reqRouteLinkFlag" >${detail.fields["routeLinkFlag"].requiredFlag}</c:set>
<c:set var="reqCompanyAmountSum" >${detail.fields["companyAmountSum"].requiredFlag}</c:set>

<%-- Validator --%>
<c:set var="validRouteDate_def">{k_date:['']}</c:set>
<c:set var="validRouteDate_apply">{${"true" == reqRouteDate ? "k_required:['']" : ""}}</c:set>
<c:set var="validRouteDate_tempsave"></c:set>
<c:set var="validRouteDate_reapply">{${"true" == reqRouteDate ? "k_required:['']" : ""}}</c:set>
<c:set var="validRouteDate_process">{${"true" == reqRouteDate ? "k_required:['']" : ""}}</c:set>

<c:set var="validStartingSpot_def">{k_maxLength:['250']}</c:set>
<c:set var="validStartingSpot_apply">{${"true" == reqStartingSpot ? "k_required:['']" : ""}}</c:set>
<c:set var="validStartingSpot_tempsave"></c:set>
<c:set var="validStartingSpot_reapply">{${"true" == reqStartingSpot ? "k_required:['']" : ""}}</c:set>
<c:set var="validStartingSpot_process">{${"true" == reqStartingSpot ? "k_required:['']" : ""}}</c:set>

<c:set var="validArrivalSpot_def">{k_maxLength:['250']}</c:set>
<c:set var="validArrivalSpot_apply">{${"true" == reqArrivalSpot ? "k_required:['']" : ""}}</c:set>
<c:set var="validArrivalSpot_tempsave"></c:set>
<c:set var="validArrivalSpot_reapply">{${"true" == reqArrivalSpot ? "k_required:['']" : ""}}</c:set>
<c:set var="validArrivalSpot_process">{${"true" == reqArrivalSpot ? "k_required:['']" : ""}}</c:set>

<c:set var="validSupplement_def">{k_maxLength:['1000']}</c:set>
<c:set var="validSupplement_apply">{${"true" == reqSupplement ? "k_required:['']" : ""}}</c:set>
<c:set var="validSupplement_tempsave"></c:set>
<c:set var="validSupplement_reapply">{${"true" == reqSupplement ? "k_required:['']" : ""}}</c:set>
<c:set var="validSupplement_process">{${"true" == reqSupplement ? "k_required:['']" : ""}}</c:set>

<c:set var="validRoundTripFlag_def">{k_flag:['']}</c:set>
<c:set var="validRoundTripFlag_apply">{${"true" == reqRoundTripFlag ? "k_required:['']" : ""}}</c:set>
<c:set var="validRoundTripFlag_tempsave"></c:set>
<c:set var="validRoundTripFlag_reapply">{${"true" == reqRoundTripFlag ? "k_required:['']" : ""}}</c:set>
<c:set var="validRoundTripFlag_process">{${"true" == reqRoundTripFlag ? "k_required:['']" : ""}}</c:set>

<c:set var="validPayTypeCd_def">{k_payTypeExists:['payTypeCd', 'searchCriteriaCompany', 'searchCriteriaDate']}</c:set>
<c:set var="validPayTypeCd_apply">{${"true" == reqPayTypeCd ? "k_required:['']" : ""}}</c:set>
<c:set var="validPayTypeCd_tempsave"></c:set>
<c:set var="validPayTypeCd_reapply">{${"true" == reqPayTypeCd ? "k_required:['']" : ""}}</c:set>
<c:set var="validPayTypeCd_process">{${"true" == reqPayTypeCd ? "k_required:['']" : ""}}</c:set>

<c:set var="validPayeeName_def">{k_maxLength:['250']}</c:set>
<c:set var="validPayeeName_apply">{${"true" == reqPayeeName ? "k_required:['']" : ""}}</c:set>
<c:set var="validPayeeName_tempsave"></c:set>
<c:set var="validPayeeName_reapply">{${"true" == reqPayeeName ? "k_required:['']" : ""}}</c:set>
<c:set var="validPayeeName_process">{${"true" == reqPayeeName ? "k_required:['']" : ""}}</c:set>

<c:set var="validDepartmentCd_def">{k_departmentExists:['searchCriteriaCompany', 'departmentSetCd', 'departmentCd', 'searchCriteriaDate', 'false']}</c:set>
<c:set var="validDepartmentCd_apply">{k_requiredAny:['departmentCd', 'projectCd']}</c:set>
<c:set var="validDepartmentCd_tempsave"></c:set>
<c:set var="validDepartmentCd_reapply">{k_requiredAny:['departmentCd', 'projectCd']}</c:set>
<c:set var="validDepartmentCd_process">{k_requiredAny:['departmentCd', 'projectCd']}</c:set>

<c:set var="validProjectCd_def">{k_projectExists:['projectCd', 'searchCriteriaCompany', 'searchCriteriaDate']}</c:set>
<c:set var="validProjectCd_apply">{k_requiredAny:['departmentCd', 'projectCd']}</c:set>
<c:set var="validProjectCd_tempsave"></c:set>
<c:set var="validProjectCd_reapply">{k_requiredAny:['departmentCd', 'projectCd']}</c:set>
<c:set var="validProjectCd_process">{k_requiredAny:['departmentCd', 'projectCd']}</c:set>

<c:set var="validExpTypeCd_def">{k_expTypeExists:['expTypeCd', 'searchCriteriaCompany', 'searchCriteriaDate', 'false']}</c:set>
<c:set var="validExpTypeCd_apply">{${"true" == reqExpTypeCd ? "k_required:['']" : ""}}</c:set>
<c:set var="validExpTypeCd_tempsave"></c:set>
<c:set var="validExpTypeCd_reapply">{${"true" == reqExpTypeCd ? "k_required:['']" : ""}}</c:set>
<c:set var="validExpTypeCd_process">{${"true" == reqExpTypeCd ? "k_required:['']" : ""}}</c:set>

<c:set var="validAccountCd_def">{k_accountExists:['accountCd', 'searchCriteriaCompany', 'searchCriteriaDate']}</c:set>
<c:set var="validAccountCd_apply">{${"true" == reqAccountCd ? "k_required:['']" : ""}}</c:set>
<c:set var="validAccountCd_tempsave"></c:set>
<c:set var="validAccountCd_reapply">{${"true" == reqAccountCd ? "k_required:['']" : ""}}</c:set>
<c:set var="validAccountCd_process">{${"true" == reqAccountCd ? "k_required:['']" : ""}}</c:set>

<c:set var="validTaxType_def">{k_taxTypeExists:['taxTypeCd', 'searchCriteriaCompany', 'searchCriteriaDate']}</c:set>
<c:set var="validTaxType_apply">{${"true" == reqTaxTypeCd ? "k_required:['']" : ""}}</c:set>
<c:set var="validTaxType_tempsave"></c:set>
<c:set var="validTaxType_reapply">{${"true" == reqTaxTypeCd ? "k_required:['']" : ""}}</c:set>
<c:set var="validTaxType_process">{${"true" == reqTaxTypeCd ? "k_required:['']" : ""}}</c:set>

<c:set var="validCompanyAmountSum_def">{k_currencyAmnt:['', 'searchCriteriaCompany']}</c:set>
<c:set var="validCompanyAmountSum_apply">{${"true" == reqCompanyAmountSum ? "k_required:['']" : ""}}</c:set>
<c:set var="validCompanyAmountSum_tempsave"></c:set>
<c:set var="validCompanyAmountSum_reapply">{${"true" == reqCompanyAmountSum ? "k_required:['']" : ""}}</c:set>
<c:set var="validCompanyAmountSum_process">{${"true" == reqCompanyAmountSum ? "k_required:['']" : ""}}</c:set>

<k:gadgetContainer gadgetClass="${gadgetClass}"
                   gadgetVariation="${gadgetVariation}"
                   gadgetInstance="${gadgetInstance}"
                   gadgetTitle="${surfaceChapterTitle}"
                   gadgetId="${gadgetId}"
                   hideGadgetTitle="true"
                   style="width:850px;overflow:hidden;">
  <k:blockContainer id="${gadgetBlockHeaderId}">
    <div class="imui-chapter-title">
      <h2 style="display:inline-block;width:50%"><k:surface surfaceKey="${surfaceChapterTitle}" /></h2>
      <k:a class="kaiden-ui-icon-refresh-gray16_nosize"
        name="rateReget"
        mode="${modeTransCurrency}"
        text="${surfaceRateReget}"
        style="vertical-align:middle;float:right;padding-left:20px;font-size:1.2rem"
      />
    </div>
  </k:blockContainer>
  <k:blockContainer id="caution" style="display:block;"></k:blockContainer> 
  <form id="gadget_form" onsubmit="return false;">
    <k:tmtable id="${tmtableId}" class="imui-form kaiden-ui-tmt-form" style="table-layout:fixed" rowNumberTarget="rowNumber">
      <colgroup>
         <col style="width:40px;overflow:hidden">
         <col style="width:235px;overflow:hidden">
         <col style="width:185px;overflow:hidden">
         <col style="width:185px;overflow:hidden">
         <col style="width:185px;overflow:hidden">
      </colgroup>
      <thead>
        <tr>
          <td rowspan="4" style="vertical-align:middle;">
            <k:tmtableOperationPanel
              position="header"
              allowAdd="${allowAddDetail}"
              allowDel="${allowDelDetail}"
            />
          </td>
          <th>
            <k:surface
              name="routeDateSurface"
              surfaceKey="${surfaceRouteDate}"
              requiredMark="${reqRouteDate}"
            />
          </th>
          <th colspan="2">
            <k:surface
              name="travelRouteSurface"
              surfaceKey="${surfaceTravelRoute}"
              requiredMark="${reqStartingSpot}"
            />
          </th>
          <th>
            <k:surface
              name="supplementSurface"
              surfaceKey="${surfaceSupplement}"
              requiredMark="${reqSupplement}"
            />
          </th>
        </tr>
        <tr>
          <th colspan="2">
            <k:surface
              name="expTypeSurface"
              surfaceKey="${surfaceExpType}"
              requiredMark="${reqExpTypeCd}"
              style="display:inline;"
            />
            <k:surface
              name="accountSurface"
              surfaceKey="${surfaceAccount}"
              style="display:inline;"
            />
            <k:surface
              name="taxTypeSurface"
              surfaceKey="${surfaceTaxType}"
              style="display:inline;"
            />
          </th>
          <th>
            <k:surface
              name="departmentSurface"
              surfaceKey="${surfaceDepartment}"
              requiredMark="${reqDepartmentCd}"
            />
          </th>
          <th>
            <k:surface
              name="projectSurface"
              surfaceKey="${surfaceProject}"
              requiredMark="${reqProjectCd}"
            />
          </th>
        </tr>
        <tr>
          <th>
            <k:surface
              name="payTypeSurface"
              surfaceKey="${surfacePayType}"
              requiredMark="${reqPayTypeCd}"
            />
          </th>
          <th>
            <k:surface
              name="payeeSurface"
              surfaceKey="${surfacePayee}"
              requiredMark="${reqPayeeName}"
            />
          </th>
          <th colspan="2">
            <k:surface
              name="transAmountSurface"
              surfaceKey="${surfaceTransAmount}"
              requiredMark="${reqTransAmount}"
            />
          </th>
        </tr>
        <tr>
          <th colspan="3">
            <k:surface
              name="routeSearchLinkSurface"
              surfaceKey="${surfaceRouteSearchLink}"
              requiredMark="${reqRouteSearchLink}"
            />
          </th>
          <th>
            <k:surface
              name="companyAmountSurface"
              surfaceKey="${surfaceCompanyAmountSum}"
              requiredMark="${reqCompanyAmountSum}"
            />
          </th>
        </tr>
     </thead>
     <tbody>
        <tr>
          <td rowspan="4">
            <k:tmtableOperationPanel
              position="detail"
              allowAdd="${allowAddDetail}"
              allowDel="${allowDelDetail}"
              name="rowNumber"
            />
          </td>
          <td>
            <k:date
              name="routeDate"
              mode="${modeRouteDate}"
              surfaceKey="${surfaceRouteDate}"
              validationDefault="${validRouteDate_def}"
              validationApply="${validRouteDate_apply}"
              validationTempsave="${validRouteDate_tempsave}"
              validationReapply="${validRouteDate_reapply}"
              validationProcess="${validRouteDate_process}"
            />
          </td>
          <td colspan="2">
            <k:text
              name="startingSpot"
              mode="${modeStartingSpot}"
              imeMode="on"
              surfaceKey="${surfaceStartingSpot}"
              style="width:165px;"
              maxlength="250"
              validationDefault="${validStartingSpot_def}"
              validationApply="${validStartingSpot_apply}"
              validationTempsave="${validStartingSpot_tempsave}"
              validationReapply="${validStartingSpot_reapply}"
              validationProcess="${validStartingSpot_process}"
            />
            <k:surface
              name="hyphenSurface"
              surfaceKey="${surfaceHyphen}"
              style="margin:0 2px;"
            />
            <k:text
              name="arrivalSpot"
              mode="${modeArrivalSpot}"
              imeMode="on"
              surfaceKey="${surfaceArrivalSpot}"
              style="width:165px;"
              maxlength="250"
              validationDefault="${validArrivalSpot_def}"
              validationApply="${validArrivalSpot_apply}"
              validationTempsave="${validArrivalSpot_tempsave}"
              validationReapply="${validArrivalSpot_reapply}"
              validationProcess="${validArrivalSpot_process}"
            />
          </td>
          <td>
            <k:text
              name="supplement"
              mode="${modeSupplement}"
              imeMode="on"
              surfaceKey="${surfaceSupplement}"
              style="width:169px;"
              maxlength="1000"
              validationDefault="${validSupplement_def}"
              validationApply="${validSupplement_apply}"
              validationTempsave="${validSupplement_tempsave}"
              validationReapply="${validSupplement_reapply}"
              validationProcess="${validSupplement_process}"
            />
          </td>
        </tr>
        <tr>
          <td colspan="2">
            <k:hidden
              name="expTypeCd"
              mode="${modeExpTypeCd}"
            />
            <kmsw:expType
              name="expTypeName"
              mode="${modeExpTypeCd}"
              imeMode="on"
              surfaceKey="${surfaceExpType}"
              resultValue="expTypeName"
              resultChain="{expTypeCd:'expTypeCd', accountCd:'accountCd', accountName:'accountName', taxTypeCd:'taxTypeCd', taxTypeName:'taxTypeName'}"
              primaryTarget="expTypeCd"
              searchCriteriaDate="searchCriteriaDate"
              searchCriteriaCompany="searchCriteriaCompany"
              searchCriteriaExpTypeCd="expTypeCd"
              style="width:150px;"
              validationDefault="${validExpTypeCd_def}"
              validationApply="${validExpTypeCd_apply}"
              validationTempsave="${validExpTypeCd_tempsave}"
              validationReapply="${validExpTypeCd_reapply}"
              validationProcess="${validExpTypeCd_process}"
            />
            <k:hidden
              name="accountCd"
              mode="${modeAccountCd}"
              surfaceKey="${surfaceAccount}"
              validationDefault="${validAccountCd_def}"
              validationApply="${validAccountCd_apply}"
              validationTempsave="${validAccountCd_tempsave}"
              validationReapply="${validAccountCd_reapply}"
              validationProcess="${validAccountCd_process}"
            />
            <k:text
              name="accountName"
              mode="1"
              class="kaiden-ui-mst-search-chain-item"
              style="width:115px;"
            />
            <k:hidden
              name="taxTypeCd"
              mode="${modeTaxTypeCd}"
              surfaceKey="${surfaceTaxType}"
              validationDefault="${validTaxType_def}"
              validationApply="${validTaxType_apply}"
              validationTempsave="${validTaxType_tempsave}"
              validationReapply="${validTaxType_reapply}"
              validationProcess="${validTaxType_process}"
            />
            <k:text
              name="taxTypeName"
              mode="1"
              class="kaiden-ui-mst-search-chain-item"
              style="width:115px;"
            />
          </td>
          <td>
            <k:hidden
              name="departmentSetCd"
              mode="${modeDepartmentCd}"
            />
            <k:hidden
              name="departmentCd"
              mode="${modeDepartmentCd}"
              surfaceKey="${surfaceDepartment}"
            />
            <kmsb:department
              name="departmentName"
              mode="${modeDepartmentCd}"
              imeMode="on"
              surfaceKey="${surfaceDepartment}"
              resultValue="departmentName"
              resultChain="{departmentSetCd:'departmentSetCd', departmentCd:'departmentCd'}"
              primaryTarget="departmentCd,departmentSetCd"
              searchCriteriaDate="searchCriteriaDate"
              searchCriteriaCompany="searchCriteriaCompany"
              searchCriteriaDepartmentCd="departmentCd"
              searchCriteriaDepartmentSetCd="departmentSetCd"
              style="width:150px;"
              validationDefault="${validDepartmentCd_def}"
              validationApply="${validDepartmentCd_apply}"
              validationTempsave="${validDepartmentCd_tempsave}"
              validationReapply="${validDepartmentCd_reapply}"
              validationProcess="${validDepartmentCd_process}"
            />
          </td>
          <td>
            <k:hidden
              name="projectCd"
              mode="${modeProjectCd}"
              surfaceKey="${surfaceProject}"
            />
            <kmsw:project
              name="projectName"
              mode="${modeProjectCd}"
              imeMode="on"
              surfaceKey="${surfaceProject}"
              resultValue="projectName"
              resultChain="{projectCd:'projectCd'}"
              primaryTarget="projectCd"
              searchCriteriaDate="searchCriteriaDate"
              searchCriteriaCompany="searchCriteriaCompany"
              searchCriteriaProjectCd="projectCd"
              style="width:150px;"
              validationDefault="${validProjectCd_def}"
              validationApply="${validProjectCd_apply}"
              validationTempsave="${validProjectCd_tempsave}"
              validationReapply="${validProjectCd_reapply}"
              validationProcess="${validProjectCd_process}"
            />
          </td>
        </tr>
        <tr>
          <td>
            <klist_wkf:listDataPayType
              blank="false"
              name="payType"
              companyCd="${param.searchCriteriaCompany}"
              searchCriteriaDate="${param.searchCriteriaDate}"
            />
            <k:select
              name="payTypeCd"
              mode="${modePayTypeCd}"
              surfaceKey="${surfacePayType}"
              viewModeName="payTypeName"
              dataName="payType"
              selectChain="{paymentFlag:'paymentFlag'}"
              style="width:230px;"
              validationDefault="${validPayTypeCd_def}"
              validationApply="${validPayTypeCd_apply}"
              validationTempsave="${validPayTypeCd_tempsave}"
              validationReapply="${validPayTypeCd_reapply}"
              validationProcess="${validPayTypeCd_process}"
            />
            <k:hidden
              name="paymentFlag"
              mode="${modePayTypeCd}"
            />
          </td>
          <td>
            <k:text
              name="payeeName"
              mode="${modePayeeName}"
              imeMode="on"
              surfaceKey="${surfacePayee}"
              style="width:160px;"
              maxlength="250"
              validationDefault="${validPayeeName_def}"
              validationApply="${validPayeeName_apply}"
              validationTempsave="${validPayeeName_tempsave}"
              validationReapply="${validPayeeName_reapply}"
              validationProcess="${validPayeeName_process}"
            />
          </td>
          <td colspan="2">
            <jsp:include page="/WEB-INF/view/kaiden2/product_workflow/foundation/genericCurrencyInputParts.jsp">
              <jsp:param name="gadgetId" value="${gadgetId}" />
              <jsp:param name="tmtableId" value="${tmtableId}" />
              <jsp:param name="searchCriteriaCompany" value="${searchCriteriaCompany}" />
              <jsp:param name="companyCurrencyCd" value="${companyCurrencyCd}" />
              <%-- 金額 --%>
              <jsp:param name="modeTransAmnt" value="${modeTransAmount}" />
              <jsp:param name="surfaceTransAmnt" value="${surfaceTransAmount}" />
              <jsp:param name="requiredTransAmntApply" value="${reqTransAmount}" />
              <jsp:param name="requiredTransAmntReapply" value="${reqTransAmount}" />
              <jsp:param name="requiredTransAmntProcess" value="${reqTransAmount}" />
              <%-- 通貨 --%>
              <jsp:param name="modeTransCryCd" value="${modeTransCurrency}" />
              <jsp:param name="surfaceTransCryCd" value="${surfaceTransCurrency}" />
              <jsp:param name="requiredTransCryCdApply" value="${reqTransCurrency}" />
              <jsp:param name="requiredTransCryCdReapply" value="${reqTransCurrency}" />
              <jsp:param name="requiredTransCryCdProcess" value="${reqTransCurrency}" />
              <%-- レート --%>
              <jsp:param name="modeCmpRate" value="${modeCompanyRate}" />
              <jsp:param name="surfaceCmpRate" value="${surfaceCompanyRate}" />
              <jsp:param name="requiredCmpRateApply" value="${reqTransCurrency}" />
              <jsp:param name="requiredCmpRateReapply" value="${reqTransCurrency}" />
              <jsp:param name="requiredCmpRateProcess" value="${reqTransCurrency}" />
              <%-- 換算額 --%>
              <jsp:param name="modeCmpAmnt" value="${modeCompanyAmount}" />
              <jsp:param name="surfaceCmpAmnt" value="${surfaceCompanyAmount}" />
              <jsp:param name="requiredCmpAmntApply" value="${reqCompanyAmount}" />
              <jsp:param name="requiredCmpAmntReapply" value="${reqCompanyAmount}" />
              <jsp:param name="requiredCmpAmntProcess" value="${reqCompanyAmount}" />
            </jsp:include>
          </td>
        </tr>
        <tr>
          <td colspan="3">
            <a id="routeDetail" style="display:none">
              <span class="kaiden-ui-icon-train24" style="vertical-align:middle;margin-right:0.5em"></span>
              <k:surface
                name="showDetailSurface"
                surfaceKey="${surfaceShowDetail}"
                style="vertical-align:middle;"
              />
            </a>
            <c:if test="${allowAddDetail && 'true' == useRouteSearch}">
              <a id="routeSearch">
                <span class="kaiden-ui-icon-search16" style="vertical-align:middle;margin-right:0.5em"></span>
                <k:surface
                  name="routeSearchSurface"
                  surfaceKey="${surfaceRouteSearch}"
                  style="vertical-align:middle;"
                />
              </a>
            </c:if>
            <table style="table-layout:fixed;display:inline-block;vertical-align:middle;margin-left:1em;;margin-right:1em;height:24px;" class="noborder" id="flagIconTbl" >
              <colgroup>
                <col style="width:30px;">
                <col style="width:30px;">
                <col style="width:30px;">
                <col style="width:30px;">
                <col style="width:30px;">
                <col style="width:30px;">
                <col style="width:30px;">
                <col style="width:30px;">
                <col style="width:30px;">
                <col style="width:30px;">
              </colgroup>
              <tbody>
                <tr>
                  <td>
                    <span class="kaiden-ui-icon-fast24" id="iconFast" title="${surfaceAltFast}" style="display:none" ></span>
                    <span class="kaiden-ui-icon-fast-off24" id="iconFastOff" title="${surfaceAltFast}" style="display:none"></span>
                  </td>
                  <td>
                    <span class="kaiden-ui-icon-cheap24" id="iconCheap" title="${surfaceAltCheap}" style="display:none"></span>
                    <span class="kaiden-ui-icon-cheap-off24" id="iconCheapOff" title="${surfaceAltCheap}" style="display:none"></span>
                  </td>
                  <td>
                    <span class="kaiden-ui-icon-easy24" id="iconEasy" title="${surfaceAltEasy}" style="display:none"></span>
                    <span class="kaiden-ui-icon-easy-off24" id="iconEasyOff" title="${surfaceAltEasy}" style="display:none"></span>
                  </td>
                  <td>
                    <span class="kaiden-ui-icon-eco24" id="iconEco" title="${surfaceAltEco}" style="display:none"></span>
                    <span class="kaiden-ui-icon-eco-off24" id="iconEcoOff" title="${surfaceAltEco}"  style="display:none"></span>
                  </td>
                  <td>
                    <span class="kaiden-ui-icon-commuter24" id="iconCommuter" title="${surfaceAltCommuter}" style="display:none"></span>
                    <span class="kaiden-ui-icon-commuter-off24" id="iconCommuterOff" title="${surfaceAltCommuter}"  style="display:none"></span>
                  </td>
                  <td></td>
                  <td>
                    <span class="kaiden-ui-icon-express24" id="iconExpress" title="${surfaceAltExpress}" style="display:none"></span>
                    <span class="kaiden-ui-icon-express-off24" id="iconExpressOff" title="${surfaceAltExpress}" style="display:none"></span>
                  </td>
                  <td>
                    <span class="kaiden-ui-icon-bus24" id="iconBus" title="${surfaceAltBus}" style="display:none">
                    </span><span class="kaiden-ui-icon-bus-off24" id="iconBusOff" title="${surfaceAltBus}"  style="display:none"></span>
                  </td>
                  <td>
                    <span class="kaiden-ui-icon-plane24" id="iconPlane" title="${surfaceAltAir}" style="display:none"></span>
                    <span class="kaiden-ui-icon-plane-off24" id="iconPlaneOff" title="${surfaceAltAir}" style="display:none"></span>
                  </td>
                  <td>
                    <span class="kaiden-ui-icon-ship24" id="iconShip" title="${surfaceAltShip}" style="display:none"></span>
                    <span class="kaiden-ui-icon-ship-off24" id="iconShipOff" title="${surfaceAltShip}" style="display:none"></span>
                  </td>
                </tr>
              </tbody>
            </table>
            <c:if test="${allowAddDetail}">
              <a id="releaseLink" style="display:none">
                <span class="kaiden-ui-icon-x16" style="vertical-align:middle;margin-right:0.5em"></span>
                <k:surface
                  name="releaseLinkSurface"
                  surfaceKey="${surfaceReleaseLink}"
                  style="vertical-align:middle;"
                />
              </a>
            </c:if>
            <div id="routeDetailArea" class="kaiden-ui-routedetail"></div>
            <k:hidden
              name="routeLinkFlag"
              mode="0"
              value="0"
            />
            <k:hidden
              name="commutationRoute"
              mode="0"
            />
            <k:hidden
              name="searchCondition"
              mode="0"
            />
            <k:hidden
              name="routeInfo"
              mode="0"
            />
            <k:hidden
              name="assessDate"
              mode="0"
            />
            <k:hidden
              name="tranceMeansFlag"
              mode="0"
            />
            <k:hidden
              name="assessFlag"
              mode="0"
            />
          </td>
          <td style="text-align:right;">
            <k:checkbox
              name="roundTripFlag"
              mode="${modeRoundTripFlag}"
              label="${surfaceRoundTrip}"
              surfaceKey="${surfaceRoundTrip}"
              validationDefault="${validRoundTripFlag_def}"
              validationApply="${validRoundTripFlag_apply}"
              validationTempsave="${validRoundTripFlag_tempsave}"
              validationReapply="${validRoundTripFlag_reapply}"
              validationProcess="${validRoundTripFlag_process}"
            />
            <k:numericText
              name="companyAmountSum"
              mode="${modeCompanyAmountSum}"
              formated="view"
              surfaceKey="${surfaceCompanyAmountSum}"
              style="width:120px"
              tabindex="-1"
              readonly="readonly"
              validationDefault="${validCompanyAmountSum_def}"
              validationApply="${validCompanyAmountSum_apply}"
              validationTempsave="${validCompanyAmountSum_tempsave}"
              validationReapply="${validCompanyAmountSum_reapply}"
              validationProcess="${validCompanyAmountSum_process}"
            />
          </td>
        </tr>
      </tbody>
    </k:tmtable>
  </form>
</k:gadgetContainer>
<script type="text/javascript">
jQuery(function($){
  
  var eventMan = KAIDEN.getGadget("${gadgetId}").eventManager
  , blockAccessor = KAIDEN.getGadget("${gadgetId}").blockAccessors["${gadgetBlockHeaderId}"]
  , tmt = KAIDEN.getGadget("${gadgetId}").tmtables["${tmtableId}"]
  , tma = tmt.tmtableAccessor;
  
  /***********************************
   * 内部イベント 
   ***********************************/
  
  //明細行:行挿入(データ設定前)
  tmt.addEventPostNewRowBeforeSetData(function(tupleId, tma, data) {
    
    //デフォルト部門を要求
    var defaultDept = KAIDEN.gadgetMan.execPull("claimDefaultDepartment", undefined, "${gadgetId}");
    defaultDept = defaultDept[0].result; //先頭行のみ利用
    tma("departmentSetCd", tupleId).setValue(defaultDept.departmentSetCd);
    tma("departmentCd", tupleId).setValue(defaultDept.departmentCd);
    tma("departmentName", tupleId).setValue(defaultDept.departmentName);
    
    //デフォルトプロジェクトを要求
    var defaultPrj = KAIDEN.gadgetMan.execPull("claimDefaultProject", undefined, "${gadgetId}");
    defaultPrj = defaultPrj[0].result; //先頭行のみ利用
    tma("projectCd", tupleId).setValue(defaultPrj.projectCd);
    tma("projectName", tupleId).setValue(defaultPrj.projectName);
    
  });
  
  //明細行:行挿入(データ設定後)
  tmt.addEventPostNewRow(function(tupleId, tma, data) {
    //マスタ検索部品の整合性確認.
    KAIDEN.MasterSearch.refresh(tma("expTypeName", tupleId).elem().get(0));
    KAIDEN.MasterSearch.refresh(tma("departmentName", tupleId).elem().get(0));
    KAIDEN.MasterSearch.refresh(tma("projectName", tupleId).elem().get(0));
    
    //レートボックスのreadonly化
    if (tma("transCurrencyCd", tupleId).elem(true).length > 0) {
      var currencyCd = tma("transCurrencyCd", tupleId).getValue();
      if (currencyCd == "${companyCurrencyCd}") {
        tma("companyRate", tupleId).readonly();
      } else {
        tma("companyRate", tupleId).removeReadonly();
      }
    }
    
    //初期表示に先頭行を選択しているため、立替フラグ(hidden)の更新を実施 ※入力モードの場合のみ
    if (tma("payTypeCd", tupleId).elem(true).length > 0) { 
      KAIDEN.base.foundation.SelectListData.setChainValue(tma("payTypeCd", tupleId).elem(true).get(0));
    }
    
    
  //表示状態の調整
    KAIDEN.getGadget("${gadgetId}").variable.adjustingRouteSearchResult(tupleId, true);
  });
  //レート再取得ロジック
  KAIDEN.getGadget("${gadgetId}").variable.reloadRateAll = function() {
    tma("transCurrencyCd").elem(true).each(function() {
      tmt.variable.loadRate(this);
      tmt.variable.multiplyRoundTrip(this);
    });
  }
  //レート再取得:ボタン押下
  blockAccessor("rateReget").elem(true).on("click", function(e){
    imuiConfirm("${msgRateReget}", "", function() {
      KAIDEN.getGadget("${gadgetId}").variable.reloadRateAll();
    }, undefined, false);
  });
  
  //金額*係数(往復フラグがONの場合は"2"、OFFの場合は"1"を利用)
  tmt.variable.multiplyRoundTrip = function(target) {
    var companyAmount = KAIDEN.gadgetMan.getNeighboringAccessor(target, "companyAmount").getValue();
    var roundTripFlag = KAIDEN.gadgetMan.getNeighboringAccessor(target, "roundTripFlag").getValue();
    
    if($.isNumeric(companyAmount)) {
      //往復フラグがONの場合
      if (roundTripFlag == "1") {
        var total = new BigDecimal(companyAmount).multiply(new BigDecimal("2"));
        KAIDEN.gadgetMan.getNeighboringAccessor(target, "companyAmountSum").setValue([total.toString(), KAIDEN.Util.addFigure(total.toString())]);
      } else {
        KAIDEN.gadgetMan.getNeighboringAccessor(target, "companyAmountSum").setValue([companyAmount, KAIDEN.Util.addFigure(companyAmount)]);
      }
    } else {
      KAIDEN.gadgetMan.getNeighboringAccessor(target, "companyAmountSum").setValue("");
    }
  };
  
  //往復トグルボタン押下時後処理
  tma("roundTripFlag").elem(true).live("click", function(e) {
    tmt.variable.multiplyRoundTrip(this);
  });
  //取引通貨額入力後処理(readonlyだがtrigger時にも利用できるよう付与)
  tma("transAmount").elem(true).live("change", function(e) {
    tmt.variable.multiplyRoundTrip(this);
  });
  //通貨コード入力後処理
  tma("transCurrencyCd").elem(true).live("change", function(e) {
    tmt.variable.multiplyRoundTrip(this);
  });
  //レート入力後処理
  tma("companyRate").elem(true).live("change", function(e) {
    tmt.variable.multiplyRoundTrip(this);
  });
  
  /***********************************
   * 受信イベント(push) 
   ***********************************/
   
  //loadData データ読み込み イベントリスナの登録
  eventMan.registPushListener("loadData", function(/**Object*/arg) {
    //明細行のクリア
    tmt.deleteAll();
    return KAIDEN.ImwModerator.genericLoadDataEvent("${gadgetId}", "${accessUrl}", arg);
  });
  
  //loadData4Copy 申請書コピー  イベントリスナの登録
  eventMan.registPushListener("loadData4Copy", function(/**Object*/arg) {
    return KAIDEN.ImwModerator.genericLoadData4CopyEvent("${gadgetId}", "${accessUrl}", arg);
  });
  
  //loadData4Settle 事前申請書取り込み  イベントリスナの登録
  eventMan.registPushListener("loadData4Settle", function(/**Object*/arg) {
    return KAIDEN.ImwModerator.genericLoadData4SettleEvent("${gadgetId}", "${accessUrl}", arg);
  });
  
  //reloadAllCurrencyRate レート再取得 イベントリスナの登録
  eventMan.registPushListener("reloadAllCurrencyRate", function(/**Object*/arg) {
    KAIDEN.getGadget("${gadgetId}").variable.reloadRateAll();
  });
  
  /***********************************
   * 受信イベント(pull) 
   ***********************************/
   
  //claimDateDetail 明細日付を要求  イベントリスナの登録
  eventMan.registPullListener("claimDateDetail", function(/**Object*/arg) { 
    return tmt.getColumnValues(["routeDate", "routeDate"]); 
  });
  
  //claimExpenseAmount 費用合計を要求  イベントリスナの登録
  eventMan.registPullListener("claimExpenseAmount", function(/**Object*/arg) {
    var amounts = tmt.getColumnValues("companyAmountSum");
    var result = new BigDecimal().ZERO;
    $.each(amounts, function(index, value) {
      if ($.isNumeric(value)) {
        result = result.add(new BigDecimal(value));
      }
    });
    return result.toString();
  });
  
  //claimTemporaryPayAmount 従業員立替金額を要求  イベントリスナの登録
  eventMan.registPullListener("claimTemporaryPayAmount", function(/**Object*/arg) {
    var amounts = tmt.getColumnValues(["companyAmountSum", "paymentFlag"]);
    var result = new BigDecimal().ZERO;
    $.each(amounts, function(index, value) {
      if ($.isNumeric(value[0]) && value[1] == "1") {
        result = result.add(new BigDecimal(value[0]));
      }
    });
    return result.toString();
  });
  
  //claimCompanyPayAmount 会社支払額を要求  イベントリスナの登録
  eventMan.registPullListener("claimCompanyPayAmount", function(/**Object*/arg) {
    var amounts = tmt.getColumnValues(["companyAmountSum", "paymentFlag"]);
    var result = new BigDecimal().ZERO;
    $.each(amounts, function(index, value) {
      if ($.isNumeric(value[0]) && value[1] != "1") {
        result = result.add(new BigDecimal(value[0]));
      }
    });
    return result.toString();
  });
  
  //claimExpenseDetail 費用明細を要求  イベントリスナの登録
  eventMan.registPullListener("claimExpenseDetail", function(/**Object*/arg) {
    return tmt.getColumnValues("companyAmountSum");
  });
  
  //claimExpenceCount 費用明細行数を要求  イベントリスナの登録
  eventMan.registPullListener("claimExpenceCount", function(/**Object*/arg) {
    return tmt.getCount();
  });
  
//経路検索結果返却イベントリスナの登録
  eventMan.registPushListener("setRouteSearchResult", function(/**Object*/routeResult) {
    
    var tupleId = KAIDEN.getGadget("${gadgetId}").variable.routeSearchTargetTupleId;
    
    //連携内容を画面に設定
    var routeDate = routeResult.param.date;
      if (routeDate) {
        routeDate = routeDate.substring(0, 4) + "/" + routeDate.substring(4, 6) + "/" +  routeDate.substring(6, 8)
    }
    tma("routeDate", tupleId).setValue(routeDate); //日付
    tma("startingSpot", tupleId).setValue(routeResult.param.from); //出発地
    tma("arrivalSpot", tupleId).setValue(routeResult.param.to);    //到着地
    tma("transAmount", tupleId).setValue(routeResult.param.amount); // 片道金額
    
    //利用交通機関フラグ
    var useTrain   = routeResult.param.train    //電車利用
      , useExpress = "1" == routeResult.param.train && "1" == routeResult.param.charge ? "1" : "0" //特急利用
      , useBus     = routeResult.param.bus      //バス利用
      , usePlane   = routeResult.param.airplane //飛行機利用
      , useShip    = routeResult.param.ship     //船舶利用
      , useWalk    = routeResult.param.walk;    //徒歩利用
    tma("tranceMeansFlag", tupleId).setValue(useTrain + useExpress + useBus + usePlane + useShip + useWalk +  "0000"); //利用交通機関フラグ
    
    //評価フラグ
    var fastFlag  = routeResult.param.fastFlag  //早
      , cheapFlag = routeResult.param.cheapFlag //安
      , easeFlag  = routeResult.param.easeFlag  //楽
      , ecoFlag   =  routeResult.param.ecoFlag //eco
      , teikiFlag   =  routeResult.param.teikiFlag; //定期
    tma("assessFlag", tupleId).setValue(fastFlag + cheapFlag + easeFlag + ecoFlag + teikiFlag + "00000"); //評価フラグ 
    
    //経路連携済フラグ
    tma("routeLinkFlag", tupleId).setValue("1");
    
    //他駅すぱあと情報
    tma("commutationRoute", tupleId).setValue(""); //定期区間
    tma("searchCondition", tupleId).setValue(routeResult.condition); //検索条件
    tma("routeInfo", tupleId).setValue(routeResult.route); //経路情報
    
    //金額の計算
    tma("transAmount", tupleId).elem().trigger("change");
        
    //表示状態の調整
    KAIDEN.getGadget("${gadgetId}").variable.adjustingRouteSearchResult(tupleId);
  }); 
  
  //経路検索結果に基づく表示調整
  KAIDEN.getGadget("${gadgetId}").variable.adjustingRouteSearchResult = function(/**String*/tupleId, /**boolean*/isDataLoadProcess) {
    if ("1" == tma("routeLinkFlag", tupleId).getValue()) {
      //経路検索連携済
      tma("#routeSearch", tupleId).elem(true).hide();
      tma("#routeDetail", tupleId).elem(true).show();
      tma("#releaseLink", tupleId).elem(true).show();
      // tma("routeDate", tupleId).readonly(); //日付
      tma("startingSpot", tupleId).readonly(); //出発地
      tma("arrivalSpot", tupleId).readonly();    //到着地
      tma("transAmount", tupleId).readonly(); // 金額
      
      
      //アイコンの調整(利用経路)
      var tranceMeansFlag = tma("tranceMeansFlag", tupleId).getValue()
        , train = tranceMeansFlag[0]   //電車
        , express = tranceMeansFlag[1] //特急
        , bus = tranceMeansFlag[2]     //バス
        , plain = tranceMeansFlag[3]   //飛行機
        , ship = tranceMeansFlag[4]    //船舶
        , walk = tranceMeansFlag[5];    //徒歩
        
        // 特急(電車)利用
        if ("1" == express) {
          tma("#iconExpress", tupleId).elem().show();
          tma("#iconExpressOff", tupleId).elem().hide();
        } else {
          tma("#iconExpress", tupleId).elem().hide();
          tma("#iconExpressOff", tupleId).elem().show();
        }
        
        // バス利用
        if ("1" == bus) {
          tma("#iconBus", tupleId).elem().show();
          tma("#iconBusOff", tupleId).elem().hide();
        } else {
          tma("#iconBus", tupleId).elem().hide();
          tma("#iconBusOff", tupleId).elem().show();
        }
        
        // 飛行機利用
        if ("1" == plain) {
          tma("#iconPlane", tupleId).elem().show();
          tma("#iconPlaneOff", tupleId).elem().hide(); 
        } else {
          tma("#iconPlane", tupleId).elem().hide();
          tma("#iconPlaneOff", tupleId).elem().show();
        }
        
       // 船舶
        if ("1" == ship) {
          tma("#iconShip", tupleId).elem().show();
          tma("#iconShipOff", tupleId).elem().hide();
        } else {
          tma("#iconShip", tupleId).elem().hide();
          tma("#iconShipOff", tupleId).elem().show();
        }
        
        //アイコンの調整(評価フラグ)
        var assessFlag = tma("assessFlag", tupleId).getValue();
        var fastFlag  = assessFlag[0] //早
          , cheapFlag = assessFlag[1] //安
          , easeFlag  = assessFlag[2] //楽
          , ecoFlag   =  assessFlag[3]  //eco
          , teikiFlag = assessFlag[4]; //定期
          
        //早
        if ("1" == fastFlag) {
          tma("#iconFast", tupleId).elem().show();
          tma("#iconFastOff", tupleId).elem().hide();
        } else {
          tma("#iconFast", tupleId).elem().hide();
          tma("#iconFastOff", tupleId).elem().show();
        }
        
        //安
        if ("1" == cheapFlag) {
          tma("#iconCheap", tupleId).elem().show();
          tma("#iconCheapOff", tupleId).elem().hide();
        } else {
          tma("#iconCheap", tupleId).elem().hide();
          tma("#iconCheapOff", tupleId).elem().show();
        }
        //ソート順によりアイコンのtitle属性を切り替える
        
        var searchCondition = tma("searchCondition", tupleId).getValue();
        if (searchCondition) {
          switch(KAIDEN.Util.parseJSON(searchCondition).sort) {
          case "teiki1":
            tma("#iconCheap", tupleId).elem().attr("title", "${surfaceAltCheapTeiki1}");
            tma("#iconCheapOff", tupleId).elem().attr("title", "${surfaceAltCheapTeiki1}");
            break;
          case "teiki3":
            tma("#iconCheap", tupleId).elem().attr("title", "${surfaceAltCheapTeiki3}");
            tma("#iconCheapOff", tupleId).elem().attr("title", "${surfaceAltCheapTeiki3}");
            break;
          case "teiki6":
            tma("#iconCheap", tupleId).elem().attr("title", "${surfaceAltCheapTeiki6}");
            tma("#iconCheapOff", tupleId).elem().attr("title", "${surfaceAltCheapTeiki6}");
            break;
          default : 
            tma("#iconCheap", tupleId).elem().attr("title", "${surfaceAltCheap}");
            tma("#iconCheapOff", tupleId).elem().attr("title", "${surfaceAltCheap}");
            break;
          }
        }
        //楽
        if ("1" == easeFlag) {
          tma("#iconEasy", tupleId).elem().show();
          tma("#iconEasyOff", tupleId).elem().hide();
        } else {
          tma("#iconEasy", tupleId).elem().hide();
          tma("#iconEasyOff", tupleId).elem().show();
        }
        //eco
        if ("1" == ecoFlag) {
          tma("#iconEco", tupleId).elem().show();
          tma("#iconEcoOff", tupleId).elem().hide();
        } else {
          tma("#iconEco", tupleId).elem().hide();
          tma("#iconEcoOff", tupleId).elem().show();
        }
        
        //eco
        if ("1" == teikiFlag) {
          tma("#iconCommuter", tupleId).elem().show();
          tma("#iconCommuterOff", tupleId).elem().hide();
        } else {
          tma("#iconCommuter", tupleId).elem().hide();
          tma("#iconCommuterOff", tupleId).elem().show();
        }
      
        //アイコンエリアを表示
        tma("#flagIconTbl", tupleId).elem().show();
        
        if (!isDataLoadProcess) {
          //通貨を会社通貨に固定
          tma("transCurrencyCd", tupleId).setValue("${companyCurrencyCd}").elem().trigger("change");
          tma("transCurrencyCd", tupleId).disabled();
        } else {
          tma("transCurrencyCd", tupleId).disabled();
        }
    } else {
      //経路検索未連携
      
      tma("#routeSearch", tupleId).elem(true).show();
      tma("#routeDetail", tupleId).elem(true).hide();
      tma("#releaseLink", tupleId).elem(true).hide();
      
      tma("routeDate", tupleId).removeReadonly(); //日付
      tma("startingSpot", tupleId).removeReadonly(); //出発地
      tma("arrivalSpot", tupleId).removeReadonly();    //到着地
      tma("transAmount", tupleId).removeReadonly(); // 定期代(1ヶ月)
      //アイコンエリアを非表示
      tma("#flagIconTbl", tupleId).elem(true).hide();
      
      if (!isDataLoadProcess) {
        tma("transCurrencyCd", tupleId).removeDisabled().elem().trigger("change");
      }
      
    }
  };
  
  
  //経路検索画面を表示
  tma("#routeSearch").elem(true).live("click", function(e) {
    var param = {};
    param.companyCd = "${searchCriteriaCompany}";
    param.userCd = "${applyAuthUserCode}";
    param.mode = "1"; //経路検索
    param.date = KAIDEN.gadgetMan.getNeighboringAccessor(e.target, "routeDate").getValue();
    param.from = KAIDEN.gadgetMan.getNeighboringAccessor(e.target, "startingSpot").getValue();
    param.to = KAIDEN.gadgetMan.getNeighboringAccessor(e.target, "arrivalSpot").getValue();
    KAIDEN.gadgetMan.execPush("openRouteSearch", param, "${gadgetId}");
    
    KAIDEN.getGadget("${gadgetId}").variable.routeSearchTargetTupleId = KAIDEN.gadgetMan.whereMe(e.target).tmtTupleId;
  });
  
  //詳細画面を表示
  tma("#routeDetail").elem(true).live("click", function(e) {
    
    var routeDetailArea = KAIDEN.gadgetMan.getNeighboringAccessor(e.target, "#routeDetailArea").elem();
    routeDetailArea.toggle();
    
    if (routeDetailArea.attr("data-kaiden-routedetail-loaded")) {
      return;
    }
    
    var routeDataJson = KAIDEN.gadgetMan.getNeighboringAccessor(e.target, "routeInfo").getValue();
    if (routeDataJson) {
      var routeData = KAIDEN.Util.parseJSON(routeDataJson);
      var requestJson = KAIDEN.Util.stringifyJSON(routeData.resultSet.result[0]);
        
      var param = {};
      param.requestParam = {};
      param.requestParam.result = requestJson;
      param.requestParam.mode = "1";
      param.companyCd = "${searchCriteriaCompany}";
      param.userCd = "${applyAuthUserCode}";
      param.callBack = function(/**String*/html) {
        KAIDEN.gadgetMan.getNeighboringAccessor(e.target, "#routeDetailArea").elem().attr("data-kaiden-routedetail-loaded", "true").imuiIndicator("destroy").html(html);
      };
        
      routeDetailArea.imuiIndicator();
      KAIDEN.gadgetMan.execPush("showRouteDetailHtml", param, "${gadgetId}");
      routeDetailArea.show();
    }
  });
  
  //駅すぱあと連携解除
  tma("#releaseLink").elem(true).live("click", function(e) {
    
    var tupleId = KAIDEN.gadgetMan.whereMe(e.target).tmtTupleId;
    
    tma("routeLinkFlag", tupleId).setValue("0");
    tma("commutationRoute", tupleId).setValue(""); //定期区間
    tma("searchCondition", tupleId).setValue(""); //検索条件
    tma("routeInfo", tupleId).setValue(""); //経路情報
    tma("assessDate", tupleId).setValue(""); //評価判定基準日
    tma("#routeDetailArea").elem().removeAttr("data-kaiden-routedetail-loaded").hide().children().remove();

    KAIDEN.getGadget("${gadgetId}").variable.adjustingRouteSearchResult(tupleId);
  });
  
});
</script>

5.1.4.5.2. SP

  • Path
    src/main/webapp/WEB-INF/view/kaiden2/product_workflow/gadget/routeDetail/routeDetailV02_sp.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<%@ taglib prefix="imsp" uri="http://www.intra-mart.co.jp/taglib/imsp" %>
<%@ taglib prefix="k" uri="http://kaiden.slcs.co.jp/taglib/ui" %>
<%@ taglib prefix="kimw" uri="http://kaiden.slcs.co.jp/taglib/imw" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ page import="jp.co.slcs.kaiden2.base.foundation.conf.BaseProp" %>
<%@ page import="jp.co.slcs.kaiden2.base.foundation.util.PropertyJspUtil" %>

<c:if test="${empty pwkfCommonIncluded}" scope="request">
  <jsp:include page="/WEB-INF/view/kaiden2/product_workflow/foundation/commonInclude_sp.jsp"></jsp:include>
  <c:set var="pwkfCommonIncluded"  scope="request">true</c:set>
</c:if>

<%-- routeDetail v02 --%>
<c:set var="gadgetClass">routeDetail</c:set> 
<c:set var="gadgetVariation">v02</c:set>
<c:set var="gadgetInstance">${param.gadget_instance}</c:set>
<c:set var="gadgetId">${gadgetClass}_${gadgetVariation}_${gadgetInstance}</c:set>
<c:set var="componentName">routeDetailV02Action</c:set>
<c:set var="imwSystemMatterId">${param.imwSystemMatterId}</c:set>
<c:set var="imwUserDataId">${param.userDataId}</c:set>
<c:set var="searchCriteriaCompany">${param.searchCriteriaCompany}</c:set>
<c:set var="searchCriteriaDate">${param.searchCriteriaDate}</c:set>
<c:set var="companyCurrencyCd">${param.companyCurrencyCd}</c:set>
<c:set var="tmtableId">routeDetailTable</c:set>

<c:set var="gadgetResponse" value="${kimw:load4View(componentName, imwSystemMatterId, imwUserDataId, gadgetId, searchCriteriaCompany)}"></c:set>
<c:set var="gadget" value="${appDto.gadgets[gadgetId]}" />

<%-- Surface --%>
<c:set var="surfaceChapterTitle">${gadget.surfaces["chapterTitle"]}</c:set>
<c:set var="surfaceRouteDate">${gadget.surfaces["routeDate"]}</c:set>
<c:set var="surfaceTravelRoute">${gadget.surfaces["travelRoute"]}</c:set>
<c:set var="surfaceHyphen">${gadget.surfaces["hyphen"]}</c:set>
<c:set var="surfaceSupplement">${gadget.surfaces["supplement"]}</c:set>
<c:set var="surfacePayType">${gadget.surfaces["payType"]}</c:set>
<c:set var="surfacePayee">${gadget.surfaces["payee"]}</c:set>
<c:set var="surfaceDepartment">${gadget.surfaces["department"]}</c:set>
<c:set var="surfaceProject">${gadget.surfaces["project"]}</c:set>
<c:set var="surfaceExpType">${gadget.surfaces["expType"]}</c:set>
<c:set var="surfaceAccount">${gadget.surfaces["account"]}</c:set>
<c:set var="surfaceTaxType">${gadget.surfaces["taxType"]}</c:set>
<c:set var="surfaceTransAmount">${gadget.surfaces["amount"]}</c:set>
<c:set var="surfaceRouteSearchLink">${gadget.surfaces["routeSearchLink"]}</c:set>
<c:set var="surfaceCompanyAmountSum">${gadget.surfaces["companyAmountSum"]}</c:set>
<c:set var="surfaceBack"><%= PropertyJspUtil.getSurface(BaseProp.S.BACK) %></c:set>

<div data-role="collapsible" data-collapsed="false" data-theme="b" data-content-theme="d" data-inset="false" data-collapsed-icon="arrow-d" data-expanded-icon="arrow-u" data-iconpos="right">
  <h3>
      <span>${surfaceChapterTitle}</span>
      <span class="ui-btn-up-c ui-btn-corner-all" style="font-size:0.8em;padding:2px 5.5px"><c:out value="${fn:length(gadgetResponse.data[tmtableId])}"></c:out></span>
  </h3>
  <ul data-role="listview" data-divider-theme="b">
    <c:forEach items="${gadgetResponse.data[tmtableId]}" var="detailData">
    <li>
      <span class="ui-li-heading"><c:out value="${detailData.routeDate}"></c:out></span>
      <span class="ui-li-aside"><c:out value="${detailData.companyAmountSum[1]}"></c:out></span>
      <div class="indent">
        <p class="kaiden-ui-overview-contents">
          <c:out value="${detailData.startingSpot}"></c:out>
          <c:out value="${surfaceHyphen}"></c:out>
          <c:out value="${detailData.arrivalSpot}"></c:out>
        </p>
        <c:if test="${'1' == detailData.routeLinkFlag}">
        <p class="kaiden-ui-overview-contents">
          <c:if test="${'1' == fn:substring(detailData.assessFlag, 0, 1)}">
            <span class="kaiden-ui-icon-fast24"></span>
          </c:if>
          <c:if test="${'0' == fn:substring(detailData.assessFlag, 0, 1)}">
            <span class="kaiden-ui-icon-fast-off24"></span>
          </c:if>
          <c:if test="${'1' == fn:substring(detailData.assessFlag, 2, 3)}">
            <span class="kaiden-ui-icon-cheap24"></span>
          </c:if>
          <c:if test="${'0' == fn:substring(detailData.assessFlag, 2, 3)}">
            <span class="kaiden-ui-icon-cheap-off24"></span>
          </c:if>
          <c:if test="${'1' == fn:substring(detailData.assessFlag, 1, 2)}">
            <span class="kaiden-ui-icon-easy24"></span>
          </c:if>
          <c:if test="${'0' == fn:substring(detailData.assessFlag, 1, 2)}">
            <span class="kaiden-ui-icon-easy-off24"></span>
          </c:if>
          <c:if test="${'1' == fn:substring(detailData.assessFlag, 3, 4)}">
            <span class="kaiden-ui-icon-eco24"></span>
          </c:if>
          <c:if test="${'0' == fn:substring(detailData.assessFlag, 3, 4)}">
            <span class="kaiden-ui-icon-eco-off24"></span>
          </c:if>
          <c:if test="${'1' == fn:substring(detailData.assessFlag, 4, 5)}">
            <span class="kaiden-ui-icon-commuter24"></span>
          </c:if>
          <c:if test="${'0' == fn:substring(detailData.assessFlag, 4, 5)}">
            <span class="kaiden-ui-icon-commuter-off24"></span>
          </c:if>
          <span style="display:inline-block;width:24px"></span>
          <c:if test="${'1' == fn:substring(detailData.tranceMeansFlag, 0, 1)}">
            <span class="kaiden-ui-icon-express24"></span>
          </c:if>
          <c:if test="${'0' == fn:substring(detailData.tranceMeansFlag, 0, 1)}">
            <span class="kaiden-ui-icon-express-off24"></span>
          </c:if>
          <c:if test="${'1' == fn:substring(detailData.tranceMeansFlag, 1, 2)}">
            <span class="kaiden-ui-icon-bus24"></span>
          </c:if>
          <c:if test="${'0' == fn:substring(detailData.tranceMeansFlag, 1, 2)}">
            <span class="kaiden-ui-icon-bus-off24"></span>
          </c:if>
          <c:if test="${'1' == fn:substring(detailData.tranceMeansFlag, 2, 3)}">
            <span class="kaiden-ui-icon-plane24"></span>
          </c:if>
          <c:if test="${'0' == fn:substring(detailData.tranceMeansFlag, 2, 3)}">
            <span class="kaiden-ui-icon-plane-off24"></span>
          </c:if>
          <c:if test="${'1' == fn:substring(detailData.tranceMeansFlag, 3, 4)}">
            <span class="kaiden-ui-icon-ship24"></span>
          </c:if>
          <c:if test="${'0' == fn:substring(detailData.tranceMeansFlag, 3, 4)}">
            <span class="kaiden-ui-icon-ship-off24"></span>
          </c:if>
        </p>
        </c:if>
        <p class="kaiden-ui-overview-contents-sub"><c:out value="${detailData.payTypeName}"></c:out></p>
      </div>
      <ul>
        <li data-icon="back" data-mini="true" data-theme="a"><a data-rel="back"><c:out value="${surfaceBack}"></c:out></a></li>
        <li>
          <p class="kaiden-ui-detail-item-title"><c:out value="${surfaceRouteDate}"></c:out></p>
          <div class="indent">
            <label class="kaiden-ui-detail-item-contents"><c:out value="${detailData.routeDate}"></c:out></label>
          </div>
          <p class="kaiden-ui-detail-item-title"><c:out value="${surfaceTravelRoute}"></c:out></p>
          <div class="indent">
            <label class="kaiden-ui-detail-item-contents"><c:out value="${detailData.startingSpot}"></c:out><c:out value=" ${surfaceHyphen} "></c:out><c:out value="${detailData.arrivalSpot}"></c:out></label>
          </div>
          <p class="kaiden-ui-detail-item-title"><c:out value="${surfaceSupplement}"></c:out></p>
          <div class="indent">
            <label class="kaiden-ui-detail-item-contents"><c:out value="${detailData.supplement}"></c:out></label>
          </div>
          <p class="kaiden-ui-detail-item-title"><c:out value="${surfaceExpType}"></c:out></p>
          <div class="indent">
            <label class="kaiden-ui-detail-item-contents"><c:out value="${detailData.expTypeName}"></c:out></label>
          </div>
          <p class="kaiden-ui-detail-item-title"><c:out value="${surfaceAccount}"></c:out></p>
          <div class="indent">
            <label class="kaiden-ui-detail-item-contents"><c:out value="${detailData.accountName}"></c:out></label>
          </div>
          <p class="kaiden-ui-detail-item-title"><c:out value="${surfaceTaxType}"></c:out></p>
          <div class="indent">
            <label class="kaiden-ui-detail-item-contents"><c:out value="${detailData.taxTypeName}"></c:out></label>
          </div>
          <p class="kaiden-ui-detail-item-title"><c:out value="${surfaceDepartment}"></c:out></p>
          <div class="indent">
            <label class="kaiden-ui-detail-item-contents"><c:out value="${detailData.departmentName}"></c:out></label>
          </div>
          <p class="kaiden-ui-detail-item-title"><c:out value="${surfaceProject}"></c:out></p>
          <div class="indent">
            <label class="kaiden-ui-detail-item-contents"><c:out value="${detailData.projectName}"></c:out></label>
          </div>
          <p class="kaiden-ui-detail-item-title"><c:out value="${surfacePayType}"></c:out></p>
          <div class="indent">
            <label class="kaiden-ui-detail-item-contents"><c:out value="${detailData.payTypeName}"></c:out></label>
          </div>
          <p class="kaiden-ui-detail-item-title"><c:out value="${surfacePayee}"></c:out></p>
          <div class="indent">
            <label class="kaiden-ui-detail-item-contents" style="word-wrap: break-word;"><c:out value="${detailData.payeeName}"></c:out></label>
          </div>
          <p class="kaiden-ui-detail-item-title"><c:out value="${surfaceTransAmount}"></c:out></p>
          <div class="indent">
            <label class="kaiden-ui-detail-item-contents-sub"><c:out value="${detailData.transAmount[1]}"></c:out></label>
            <label class="kaiden-ui-detail-item-contents-sub" style="margin-left:1em"><c:out value="${detailData.transCurrencyName}"></c:out></label>
          </div>
          <div class="indent">
            <label class="kaiden-ui-detail-item-contents-sub kaiden-ui-cmpRate"><c:out value="${detailData.companyRate[1]}"></c:out></label>
          </div>
          <div class="indent">
            <label class="kaiden-ui-detail-item-contents"><strong><c:out value="${detailData.companyAmount[1]}"></c:out></strong></label>
          </div>
          <p class="kaiden-ui-detail-item-title"><c:out value="${surfaceCompanyAmountSum}"></c:out></p>
          <div class="indent">
            <label class="kaiden-ui-detail-item-contents"><strong><c:out value="${detailData.companyAmountSum[1]}"></c:out></strong></label>
          </div>
        </li>
      </ul>
    </li>
    </c:forEach>
  </ul>
</div>