/*********************************************************************
*	All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：JETU0011C010TPMA
*	ソースファイル名：JETU0011C010TPMA.java
*	作成者			：FJ
*	日付			：2014年01月09日
*＜機能概要＞
*	番ポ工事登録サービスインターフェイスCBS主処理部品
*	現番ポ工事をコピーして新世代番ポ工事の登録処理を行う。
*	
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v59.00.00	2022/05/09	FJ)三原		OM-2021-0001122_番ポ工事詳細の利用場所の表示不正
*	v72.00.00	2024/05/02	FJ)黒田		ANK-4494-00-00_【eo定期】 双方向番ポ対応
*	v75.00.00	2025/05/27	FJ)藤井		ANK-4685-00-00_【eo】双方向番ポSTEP3
*
**********************************************************************/

package eo.ejb.cbs.mainproc;

import com.fujitsu.futurity.model.base.CAANCreateException;
import com.fujitsu.futurity.model.base.CAANException;
import com.fujitsu.futurity.model.base.CAANMsg;
import com.fujitsu.futurity.model.base.CAANRuntimeException;
import com.fujitsu.futurity.model.ejb.common.StatusCodes;
import com.fujitsu.futurity.model.ejb.common.fw.AgentDispatchContext;
import com.fujitsu.futurity.model.ejb.common.fw.TemplateMainHandler;

import eo.common.constant.JTUStrConst;
import eo.ejb.cbm.entity.TU0011ETMsg;
import eo.ejb.cbm.entity.ZM0321ETMsg;
import eo.ejb.cbs.cbsmsg.ETU0011C010CBSMsg;
import eo.ejb.common.JPCModelCommon;
import eo.ejb.common.JTUModelCommon;
import eo.ejb.common.db.JTUejbTU0011SecProc;
import eo.ejb.common.db.JTUejbZM0321SecProc;
import eo.ejb.common.edit.JTUejbBmpKojiInfo;

/**
 * <p>
 * 番ポ工事内容変更独自処理部品です。
 * </p>
 * @author FJ
 */
public class JETU0011C010TPMA implements TemplateMainHandler 
{
	/**
	 * コンストラクタです。
	 */
	public JETU0011C010TPMA()
	{
		super();
	}

	/**
	 * <p>
	 * 前世代の番ポ工事レコードをコピーして新世代の番ポ工事レコードを登録する。<br>
	 * </p>
	 * @param inCBSMsg CBSメッセージ
	 * @param inContext Agentから渡されたAgentDispatchContext
	 * @return 
	 * @return 
	 * @throws CAANException
	 */
	public void invoke(CAANMsg inCBSMsg, AgentDispatchContext inContext) throws CAANException
	{
		try{
			// 最新世代チェック
			if (chkItem(inCBSMsg, inContext) == false) {
				return;
			}
		} catch(Exception e) {
			throw new CAANRuntimeException(e);
		}

		//番ポ工事取得
		CAANMsg dbMsg = JTUejbBmpKojiInfo.tuU0011FindByPrimaryKey(inCBSMsg.getString(ETU0011C010CBSMsg.BMP_KOJI_NO), inCBSMsg.getString(ETU0011C010CBSMsg.GENE_ADD_DTM));
		
		// インプットの番ポ申込書タイプコード
		String inBmpMskmshoTypeCd = inCBSMsg.getString(ETU0011C010CBSMsg.BMP_MSKMSHO_TYPE_CD);
		// DBの番ポ申込書タイプコード
		String dbBmpMskmshoTypeCd = dbMsg.getString(TU0011ETMsg.BMP_MSKMSHO_TYPE_CD);
		// DBの番ポ工事ステータス
		String dbBmpKojiStat = dbMsg.getString(TU0011ETMsg.BMP_KOJI_STAT);
		
		//番ポ申込書タイプコードのインプットがDBの値と異なるかつ
		//番ポ工事ステータスが他事業者調整不可またはNTT申請不可の場合
		if(!inBmpMskmshoTypeCd.equals(dbBmpMskmshoTypeCd)
				&& (JTUStrConst.TAJGS_CHOSA_FAIL.equals(dbBmpKojiStat)
				|| JTUStrConst.NTT_SHIN_FAIL.equals(dbBmpKojiStat)))
		{
			//番ポ工事に新世代のレコードを作成する

			JTUejbTU0011SecProc spTU0011 = new JTUejbTU0011SecProc();
			
			// 番ポ工事のETメッセージを作成
			CAANMsg msgTU0011 = new CAANMsg(TU0011ETMsg.class.getName());
			/** 共通部設定 **/
			String sysDate = inCBSMsg.getString(ETU0011C010CBSMsg.OPERATEDATETIME);
			String opeId = inCBSMsg.getString(ETU0011C010CBSMsg.OPERATORID);
			
			String geneAddDtm = JTUModelCommon.getSysDateTimeStamp();
			inCBSMsg.set(ETU0011C010CBSMsg.GENE_ADD_DTM, geneAddDtm);
			
			// 番ポ工事番号
			msgTU0011.set(TU0011ETMsg.BMP_KOJI_NO, dbMsg.getString(TU0011ETMsg.BMP_KOJI_NO));
			// 世代登録年月日時分秒
			msgTU0011.set(TU0011ETMsg.GENE_ADD_DTM, geneAddDtm);
			// 番ポ工事ステータス
			msgTU0011.set(TU0011ETMsg.BMP_KOJI_STAT, dbMsg.getString(TU0011ETMsg.BMP_KOJI_STAT));
			// サービス契約内訳番号
			msgTU0011.set(TU0011ETMsg.SVC_KEI_UCWK_NO, dbMsg.getString(TU0011ETMsg.SVC_KEI_UCWK_NO));
			// 法人サービス契約受付番号
			msgTU0011.set(TU0011ETMsg.HOJIN_SVC_KEI_UK_NO, dbMsg.getString(TU0011ETMsg.HOJIN_SVC_KEI_UK_NO));
			// 法人eo読替サービス契約番号
			msgTU0011.set(TU0011ETMsg.HJIN_EO_YKAE_SVKEI_NO, dbMsg.getString(TU0011ETMsg.HJIN_EO_YKAE_SVKEI_NO));
			// 法人個人コード
			msgTU0011.set(TU0011ETMsg.HOJIN_KOJIN_CD, dbMsg.getString(TU0011ETMsg.HOJIN_KOJIN_CD));
			// お客様申込年月日
			msgTU0011.set(TU0011ETMsg.CUST_MSKM_YMD, dbMsg.getString(TU0011ETMsg.CUST_MSKM_YMD));
			// 番ポ申込書タイプコード
			msgTU0011.set(TU0011ETMsg.BMP_MSKMSHO_TYPE_CD, dbMsg.getString(TU0011ETMsg.BMP_MSKMSHO_TYPE_CD));
			// 同時工事有無
			msgTU0011.set(TU0011ETMsg.DOJI_KOJI_UM, dbMsg.getString(TU0011ETMsg.DOJI_KOJI_UM));
			// 同番移転有無
			msgTU0011.set(TU0011ETMsg.DOBANITEN_UM, dbMsg.getString(TU0011ETMsg.DOBANITEN_UM));
			// NTT契約電話回線番号
			msgTU0011.set(TU0011ETMsg.NTT_KEI_TEL_KAISEN_NO, dbMsg.getString(TU0011ETMsg.NTT_KEI_TEL_KAISEN_NO));
			// 契約者回線番号
			msgTU0011.set(TU0011ETMsg.TA_JGYOSHA_UR_NO, dbMsg.getString(TU0011ETMsg.TA_JGYOSHA_UR_NO));
			// ルーティング番号
			msgTU0011.set(TU0011ETMsg.ROUTING_NO, dbMsg.getString(TU0011ETMsg.ROUTING_NO));
			// NTT契約者名
			msgTU0011.set(TU0011ETMsg.NTT_KEISHA_NM, dbMsg.getString(TU0011ETMsg.NTT_KEISHA_NM));
			// NTT契約者カナ名
			msgTU0011.set(TU0011ETMsg.NTT_KSH_KANA, dbMsg.getString(TU0011ETMsg.NTT_KSH_KANA));
			// NTT契約者住所コード
			msgTU0011.set(TU0011ETMsg.NTT_KEISHA_AD_CD, dbMsg.getString(TU0011ETMsg.NTT_KEISHA_AD_CD));
			// NTT契約者郵便番号
			msgTU0011.set(TU0011ETMsg.NTT_KEISHA_PCD, dbMsg.getString(TU0011ETMsg.NTT_KEISHA_PCD));
			// NTT契約者都道府県名
			msgTU0011.set(TU0011ETMsg.NTT_KEISHA_STATE_NM, dbMsg.getString(TU0011ETMsg.NTT_KEISHA_STATE_NM));
			// NTT契約者市区町村名
			msgTU0011.set(TU0011ETMsg.NTT_KEISHA_CITY_NM, dbMsg.getString(TU0011ETMsg.NTT_KEISHA_CITY_NM));
			// NTT契約者大字通称名
			msgTU0011.set(TU0011ETMsg.NTT_KEISHA_OAZTSU_NM, dbMsg.getString(TU0011ETMsg.NTT_KEISHA_OAZTSU_NM));
			// NTT契約者字丁目名
			msgTU0011.set(TU0011ETMsg.NTT_KEISHA_AZCHO_NM, dbMsg.getString(TU0011ETMsg.NTT_KEISHA_AZCHO_NM));
			// NTT契約者番地号
			msgTU0011.set(TU0011ETMsg.NTT_KEISHA_BNCHIGO, dbMsg.getString(TU0011ETMsg.NTT_KEISHA_BNCHIGO));
			// NTT契約者住所補記・建物名
			msgTU0011.set(TU0011ETMsg.NTT_KEISHA_ADRTTM, dbMsg.getString(TU0011ETMsg.NTT_KEISHA_ADRTTM));
			// NTT契約者住所補記・部屋番号
			msgTU0011.set(TU0011ETMsg.NTT_KEISHA_ADRRM, dbMsg.getString(TU0011ETMsg.NTT_KEISHA_ADRRM));
			// NTT契約者住所手動入力フラグ
			msgTU0011.set(TU0011ETMsg.NKYS_AD_MAN_INPUT_FLG, dbMsg.getString(TU0011ETMsg.NKYS_AD_MAN_INPUT_FLG));
			// 連絡先電話番号
			msgTU0011.set(TU0011ETMsg.RRKS_TELNO, dbMsg.getString(TU0011ETMsg.RRKS_TELNO));
			// 設置場所住所コード
			msgTU0011.set(TU0011ETMsg.SETPLACE_AD_CD, dbMsg.getString(TU0011ETMsg.SETPLACE_AD_CD));
			// 設置場所郵便番号
			msgTU0011.set(TU0011ETMsg.SETPLACE_PCD, dbMsg.getString(TU0011ETMsg.SETPLACE_PCD));
			// 設置場所都道府県名
			msgTU0011.set(TU0011ETMsg.SETPLACE_STATE_NM, dbMsg.getString(TU0011ETMsg.SETPLACE_STATE_NM));
			// 設置場所市区町村名
			msgTU0011.set(TU0011ETMsg.SETPLACE_CITY_NM, dbMsg.getString(TU0011ETMsg.SETPLACE_CITY_NM));
			// 設置場所大字通称名
			msgTU0011.set(TU0011ETMsg.SETPLACE_OAZTSU_NM, dbMsg.getString(TU0011ETMsg.SETPLACE_OAZTSU_NM));
			// 設置場所字丁目名
			msgTU0011.set(TU0011ETMsg.SETPLACE_AZCHO_NM, dbMsg.getString(TU0011ETMsg.SETPLACE_AZCHO_NM));
			// 設置場所番地号
			msgTU0011.set(TU0011ETMsg.SETPLACE_BNCHIGO, dbMsg.getString(TU0011ETMsg.SETPLACE_BNCHIGO));
			// 設置場所住所補記・建物名
			msgTU0011.set(TU0011ETMsg.SETPLACE_ADRTTM, dbMsg.getString(TU0011ETMsg.SETPLACE_ADRTTM));
			// 設置場所住所補記・部屋番号
			msgTU0011.set(TU0011ETMsg.SETPLACE_ADRRM, dbMsg.getString(TU0011ETMsg.SETPLACE_ADRRM));
			// 設置場所住所手動入力フラグ
			msgTU0011.set(TU0011ETMsg.SETPLACE_AD_MAN_INPUT_FLG, dbMsg.getString(TU0011ETMsg.SETPLACE_AD_MAN_INPUT_FLG));
			// 番ポ工事受付年月日
			msgTU0011.set(TU0011ETMsg.BMP_KOJI_UK_YMD, dbMsg.getString(TU0011ETMsg.BMP_KOJI_UK_YMD));
			// 番ポ工事希望年月日時
			msgTU0011.set(TU0011ETMsg.BMP_KOJI_KIBO_YMDH, dbMsg.getString(TU0011ETMsg.BMP_KOJI_KIBO_YMDH));
			// 番ポ工事希望時間帯コード
			msgTU0011.set(TU0011ETMsg.BMPKJ_KIBO_TIME_CD, dbMsg.getString(TU0011ETMsg.BMPKJ_KIBO_TIME_CD));
			// 番ポ工事希望年月日保留フラグ
			msgTU0011.set(TU0011ETMsg.BMPKJ_KIBO_YMD_PDING_FLG, dbMsg.getString(TU0011ETMsg.BMPKJ_KIBO_YMD_PDING_FLG));
			// 番ポ受付担当ユーザーID
			msgTU0011.set(TU0011ETMsg.BMP_UK_TNT_USER_ID, dbMsg.getString(TU0011ETMsg.BMP_UK_TNT_USER_ID));
			// 番ポ工事担当ユーザーID
			msgTU0011.set(TU0011ETMsg.BMPKJ_TNT_USER_ID, dbMsg.getString(TU0011ETMsg.BMPKJ_TNT_USER_ID));
			// 休止票送付先コード
			msgTU0011.set(TU0011ETMsg.PAUSE_HYO_SOHUS_CD, dbMsg.getString(TU0011ETMsg.PAUSE_HYO_SOHUS_CD));
			// 電話加入権取扱コード
			msgTU0011.set(TU0011ETMsg.TEL_KNKN_TRAT_CD, dbMsg.getString(TU0011ETMsg.TEL_KNKN_TRAT_CD));
			// 電話加入権取扱その他メモ
			msgTU0011.set(TU0011ETMsg.TEL_KNKN_TRAT_OTR_MEMO, dbMsg.getString(TU0011ETMsg.TEL_KNKN_TRAT_OTR_MEMO));
			// 加入権移転先住所コード
			msgTU0011.set(TU0011ETMsg.KANYKN_ITENS_AD_CD, dbMsg.getString(TU0011ETMsg.KANYKN_ITENS_AD_CD));
			// 加入権移転先郵便番号
			msgTU0011.set(TU0011ETMsg.KANYKN_ITENS_PCD, dbMsg.getString(TU0011ETMsg.KANYKN_ITENS_PCD));
			// 加入権移転先都道府県名
			msgTU0011.set(TU0011ETMsg.KANYKN_ITENS_STATE_NM, dbMsg.getString(TU0011ETMsg.KANYKN_ITENS_STATE_NM));
			// 加入権移転先市区町村名
			msgTU0011.set(TU0011ETMsg.KANYKN_ITENS_CITY_NM, dbMsg.getString(TU0011ETMsg.KANYKN_ITENS_CITY_NM));
			// 加入権移転先大字通称名
			msgTU0011.set(TU0011ETMsg.KANYKN_ITENS_OAZTSU_NM, dbMsg.getString(TU0011ETMsg.KANYKN_ITENS_OAZTSU_NM));
			// 加入権移転先字丁目名
			msgTU0011.set(TU0011ETMsg.KANYKN_ITENS_AZCHO_NM, dbMsg.getString(TU0011ETMsg.KANYKN_ITENS_AZCHO_NM));
			// 加入権移転先番地号
			msgTU0011.set(TU0011ETMsg.KANYKN_ITENS_BNCHIGO, dbMsg.getString(TU0011ETMsg.KANYKN_ITENS_BNCHIGO));
			// 加入権移転先住所補記・建物名
			msgTU0011.set(TU0011ETMsg.KANYKN_ITENS_ADRTTM, dbMsg.getString(TU0011ETMsg.KANYKN_ITENS_ADRTTM));
			// 加入権移転先住所補記・部屋番号
			msgTU0011.set(TU0011ETMsg.KANYKN_ITENS_ADRRM, dbMsg.getString(TU0011ETMsg.KANYKN_ITENS_ADRRM));
			// 加入権移転先住所手動入力フラグ
			msgTU0011.set(TU0011ETMsg.KNKN_ITNSAD_MAN_INPUT_FLG, dbMsg.getString(TU0011ETMsg.KNKN_ITNSAD_MAN_INPUT_FLG));
			// 移転元通信事業者コード
			msgTU0011.set(TU0011ETMsg.ITNM_TSJGS_CD, dbMsg.getString(TU0011ETMsg.ITNM_TSJGS_CD));
			// 移転元通信事業者拠点コード
			msgTU0011.set(TU0011ETMsg.ITNM_TSJGS_KTN_CD, dbMsg.getString(TU0011ETMsg.ITNM_TSJGS_KTN_CD));
			// 申込事業者使用コード
			msgTU0011.set(TU0011ETMsg.MSKMJIG_USE_CD, dbMsg.getString(TU0011ETMsg.MSKMJIG_USE_CD));
			// 番ポ工事申込元通信事業者コード
			msgTU0011.set(TU0011ETMsg.BMPKJ_MSKM_MT_TSJGS_CD, dbMsg.getString(TU0011ETMsg.BMPKJ_MSKM_MT_TSJGS_CD));
			// 複数回線番号ポータビリティー有無
			msgTU0011.set(TU0011ETMsg.HUKUSU_KAISEN_BMP_UM, dbMsg.getString(TU0011ETMsg.HUKUSU_KAISEN_BMP_UM));
			// 複数回線番号ポータビリティー数
			msgTU0011.set(TU0011ETMsg.HUKUSU_KAISEN_BMP_CNT, dbMsg.getString(TU0011ETMsg.HUKUSU_KAISEN_BMP_CNT));
			// 複数回線グループID
			msgTU0011.set(TU0011ETMsg.HUKUSU_KAISEN_GRP_ID, dbMsg.getString(TU0011ETMsg.HUKUSU_KAISEN_GRP_ID));
			// 申込事業者所内工事有無
			msgTU0011.set(TU0011ETMsg.MSKMJIG_SNAI_KOJI_UM, dbMsg.getString(TU0011ETMsg.MSKMJIG_SNAI_KOJI_UM));
			// 申込事業者所外工事有無
			msgTU0011.set(TU0011ETMsg.MSKMJIG_SGAI_KOJI_UM, dbMsg.getString(TU0011ETMsg.MSKMJIG_SGAI_KOJI_UM));
			// 申込事業者記事欄1
			msgTU0011.set(TU0011ETMsg.MSKMJIG_KIJIRAN_1, dbMsg.getString(TU0011ETMsg.MSKMJIG_KIJIRAN_1));
			// 申込事業者記事欄2
			msgTU0011.set(TU0011ETMsg.MSKMJIG_KIJIRAN_2, dbMsg.getString(TU0011ETMsg.MSKMJIG_KIJIRAN_2));
			// 申込事業者申込年月日時分
			msgTU0011.set(TU0011ETMsg.MSKMJIG_MSKM_YMDHM, dbMsg.getString(TU0011ETMsg.MSKMJIG_MSKM_YMDHM));
			// 番ポ工事調査依頼年月日
			msgTU0011.set(TU0011ETMsg.BMP_KOJI_CHOSA_REQYMD, dbMsg.getString(TU0011ETMsg.BMP_KOJI_CHOSA_REQYMD));
			// 他事業者連携送信年月日時分秒
			msgTU0011.set(TU0011ETMsg.TAJGS_RNKI_SEND_DTM, dbMsg.getString(TU0011ETMsg.TAJGS_RNKI_SEND_DTM));
			// 他事業者依頼回数
			msgTU0011.set(TU0011ETMsg.TA_JGS_REQ_CNT, dbMsg.getString(TU0011ETMsg.TA_JGS_REQ_CNT));
			// 他事業者連携方法コード
			msgTU0011.set(TU0011ETMsg.TA_JGYOSHA_RNKI_WAY_CD, dbMsg.getString(TU0011ETMsg.TA_JGYOSHA_RNKI_WAY_CD));
			// 事業者間調整識別番号
			msgTU0011.set(TU0011ETMsg.JGSHAK_RTRN_ADJ_SKBT_NO, dbMsg.getString(TU0011ETMsg.JGSHAK_RTRN_ADJ_SKBT_NO));
			// NTT連携送信年月日時分秒
			msgTU0011.set(TU0011ETMsg.NTT_RNKI_SEND_DTM, dbMsg.getString(TU0011ETMsg.NTT_RNKI_SEND_DTM));
			// NTT依頼回数
			msgTU0011.set(TU0011ETMsg.NTT_REQ_CNT, dbMsg.getString(TU0011ETMsg.NTT_REQ_CNT));
			// NTT連携方法コード
			msgTU0011.set(TU0011ETMsg.NTT_RNKI_WAY_CD, dbMsg.getString(TU0011ETMsg.NTT_RNKI_WAY_CD));
			// NTT依頼識別番号
			msgTU0011.set(TU0011ETMsg.NTT_REQ_SKBT_NO, dbMsg.getString(TU0011ETMsg.NTT_REQ_SKBT_NO));
			// 変更元オーダ識別番号
			msgTU0011.set(TU0011ETMsg.CHGE_MOTO_ORDER_SKBT_NO, dbMsg.getString(TU0011ETMsg.CHGE_MOTO_ORDER_SKBT_NO));
			// NTT依頼オーダ変更理由メモ
			msgTU0011.set(TU0011ETMsg.NTT_REQ_ORDER_CHGRE_MEMO, dbMsg.getString(TU0011ETMsg.NTT_REQ_ORDER_CHGRE_MEMO));
			// 提供可否回答年月日
			msgTU0011.set(TU0011ETMsg.TK_KH_ANS_YMD, dbMsg.getString(TU0011ETMsg.TK_KH_ANS_YMD));
			// 番ポ工事可否
			msgTU0011.set(TU0011ETMsg.BMP_KOJI_KH, dbMsg.getString(TU0011ETMsg.BMP_KOJI_KH));
			// 番ポ工事確定年月日時
			msgTU0011.set(TU0011ETMsg.BMP_KOJI_FIX_YMDH, dbMsg.getString(TU0011ETMsg.BMP_KOJI_FIX_YMDH));
			// 番ポ工事確定時間帯コード
			msgTU0011.set(TU0011ETMsg.BMPKJ_FIX_TIME_CD, dbMsg.getString(TU0011ETMsg.BMPKJ_FIX_TIME_CD));
			// 提供不可理由コード
			msgTU0011.set(TU0011ETMsg.TK_FAIL_RSN_CD, dbMsg.getString(TU0011ETMsg.TK_FAIL_RSN_CD));
			// 提供不可理由メモ
			msgTU0011.set(TU0011ETMsg.TK_FAIL_RSN_MEMO, dbMsg.getString(TU0011ETMsg.TK_FAIL_RSN_MEMO));
			// 他事業者未確認フラグ
			msgTU0011.set(TU0011ETMsg.TA_JIGYOSHA_MI_CFM_FLG, dbMsg.getString(TU0011ETMsg.TA_JIGYOSHA_MI_CFM_FLG));
			// 番ポ工事依頼年月日
			msgTU0011.set(TU0011ETMsg.BMP_KOJI_REQYMD, dbMsg.getString(TU0011ETMsg.BMP_KOJI_REQYMD));
			// 番ポ工事依頼結果コード
			msgTU0011.set(TU0011ETMsg.BMP_KOJI_REQ_RSLT_CD, dbMsg.getString(TU0011ETMsg.BMP_KOJI_REQ_RSLT_CD));
			// 他事業者受付番号
			msgTU0011.set(TU0011ETMsg.TAJGS_UK_NO, dbMsg.getString(TU0011ETMsg.TAJGS_UK_NO));
			// 他事業者担当者名
			msgTU0011.set(TU0011ETMsg.TAJGS_TNTSHA_NM, dbMsg.getString(TU0011ETMsg.TAJGS_TNTSHA_NM));
			// 他事業者電話番号
			msgTU0011.set(TU0011ETMsg.TAJGS_TELNO, dbMsg.getString(TU0011ETMsg.TAJGS_TELNO));
			// 他事業者FAX番号
			msgTU0011.set(TU0011ETMsg.TAJGS_FAX_NO, dbMsg.getString(TU0011ETMsg.TAJGS_FAX_NO));
			// 他事業者記事欄
			msgTU0011.set(TU0011ETMsg.TAJGS_KIJIRAN, dbMsg.getString(TU0011ETMsg.TAJGS_KIJIRAN));
			// 他事業者受付年月日
			msgTU0011.set(TU0011ETMsg.TAJGS_UK_YMD, dbMsg.getString(TU0011ETMsg.TAJGS_UK_YMD));
			// 他事業者オーダー種別コード
			msgTU0011.set(TU0011ETMsg.TA_JIGYOSHA_ODR_SBT_CD, dbMsg.getString(TU0011ETMsg.TA_JIGYOSHA_ODR_SBT_CD));
			// 他事業者組織名
			msgTU0011.set(TU0011ETMsg.TA_JIGYOSHA_ORG_NM, dbMsg.getString(TU0011ETMsg.TA_JIGYOSHA_ORG_NM));
			// NTT受付番号
			msgTU0011.set(TU0011ETMsg.NTT_UK_NO, dbMsg.getString(TU0011ETMsg.NTT_UK_NO));
			// NTT担当者名
			msgTU0011.set(TU0011ETMsg.NTT_TNTSHA_NM, dbMsg.getString(TU0011ETMsg.NTT_TNTSHA_NM));
			// NTT電話番号
			msgTU0011.set(TU0011ETMsg.NTT_TELNO, dbMsg.getString(TU0011ETMsg.NTT_TELNO));
			// NTTFAX番号
			msgTU0011.set(TU0011ETMsg.NTT_FAX_NO, dbMsg.getString(TU0011ETMsg.NTT_FAX_NO));
			// NTT所内工事有無
			msgTU0011.set(TU0011ETMsg.NTT_SNAI_KOJI_UM, dbMsg.getString(TU0011ETMsg.NTT_SNAI_KOJI_UM));
			// NTT所外工事有無
			msgTU0011.set(TU0011ETMsg.NTT_SGAI_KOJI_UM, dbMsg.getString(TU0011ETMsg.NTT_SGAI_KOJI_UM));
			// NTT記事欄
			msgTU0011.set(TU0011ETMsg.NTT_KIJIRAN, dbMsg.getString(TU0011ETMsg.NTT_KIJIRAN));
			// NTT受付年月日
			msgTU0011.set(TU0011ETMsg.NTT_UK_YMD, dbMsg.getString(TU0011ETMsg.NTT_UK_YMD));
			// 番ポ工事完了年月日
			msgTU0011.set(TU0011ETMsg.BMP_KOJI_FIN_YMD, dbMsg.getString(TU0011ETMsg.BMP_KOJI_FIN_YMD));
			// 番ポ申込事業所番号
			msgTU0011.set(TU0011ETMsg.BMP_MSKM_JIGSHO_NO, dbMsg.getString(TU0011ETMsg.BMP_MSKM_JIGSHO_NO));
			// 番ポ工事申込事業所番号
			msgTU0011.set(TU0011ETMsg.BMP_KOJI_MSKM_JIGSHO_NO, dbMsg.getString(TU0011ETMsg.BMP_KOJI_MSKM_JIGSHO_NO));
			// 番ポ工事中止コード
			msgTU0011.set(TU0011ETMsg.BMP_KOJI_STP_CD, dbMsg.getString(TU0011ETMsg.BMP_KOJI_STP_CD));
			// 番ポ工事中止年月日
			msgTU0011.set(TU0011ETMsg.BMP_KOJI_STP_YMD, dbMsg.getString(TU0011ETMsg.BMP_KOJI_STP_YMD));
			// 法人結果出力済フラグ
			msgTU0011.set(TU0011ETMsg.HOJIN_RSLT_OPUT_ZUMI_FLG, dbMsg.getString(TU0011ETMsg.HOJIN_RSLT_OPUT_ZUMI_FLG));
			// 対応記録連携情報作成済フラグ
			msgTU0011.set(TU0011ETMsg.TIOKR_RNK_INF_SKSI_ZM_FLG, dbMsg.getString(TU0011ETMsg.TIOKR_RNK_INF_SKSI_ZM_FLG));
			// 同時工事判定コード
			msgTU0011.set(TU0011ETMsg.DOJI_KOJI_JDG_CD, dbMsg.getString(TU0011ETMsg.DOJI_KOJI_JDG_CD));
			// 宅内工事予定日反映年月日
			msgTU0011.set(TU0011ETMsg.TNKJ_RSVD_HANEI_YMD, dbMsg.getString(TU0011ETMsg.TNKJ_RSVD_HANEI_YMD));
			// 宅内工事予定日反映済フラグ
			msgTU0011.set(TU0011ETMsg.TNKJ_RSVD_HANEI_ZM_FLG, dbMsg.getString(TU0011ETMsg.TNKJ_RSVD_HANEI_ZM_FLG));
			// 登録年月日時分秒
			msgTU0011.set(TU0011ETMsg.ADD_DTM, sysDate);
			// 登録オペレータアカウント
			msgTU0011.set(TU0011ETMsg.ADD_OPEACNT, opeId);
			// 更新年月日時分秒
			msgTU0011.set(TU0011ETMsg.UPD_DTM, sysDate);
			// 更新オペレータアカウント
			msgTU0011.set(TU0011ETMsg.UPD_OPEACNT, opeId);
			// 無効フラグ
			msgTU0011.set(TU0011ETMsg.MK_FLG, JTUStrConst.MK_FLG_YK);
			// 事業者間調整結果取込年月日
			msgTU0011.set(TU0011ETMsg.JGSK_ADJ_RSLT_TRKM_YMD, dbMsg.getString(TU0011ETMsg.JGSK_ADJ_RSLT_TRKM_YMD));
			// 番ポ工事申込結果取込年月日
			msgTU0011.set(TU0011ETMsg.BMP_KJ_MSKM_RSLT_TRKM_YMD, dbMsg.getString(TU0011ETMsg.BMP_KJ_MSKM_RSLT_TRKM_YMD));
			// 事業者間調整結果取込年月日時分秒
			msgTU0011.set(TU0011ETMsg.JGSK_ADJ_RSLT_TRKM_DTM, dbMsg.getString(TU0011ETMsg.JGSK_ADJ_RSLT_TRKM_DTM));
			// 番ポ工事申込結果取込年月日時分秒
			msgTU0011.set(TU0011ETMsg.BMP_KJ_MSKM_RSLT_TRKM_DTM, dbMsg.getString(TU0011ETMsg.BMP_KJ_MSKM_RSLT_TRKM_DTM));
// ANK-4494-00-00 2024/05/02 ADD START
			// 自動廃止了承済番号数
			msgTU0011.set(TU0011ETMsg.AUTO_HAISHI_RYSHZM_NO_NUM, dbMsg.getString(TU0011ETMsg.AUTO_HAISHI_RYSHZM_NO_NUM));
			// 記事欄1_移転元事業者向け
			msgTU0011.set(TU0011ETMsg.KIJIRAN_1_ITNM_JGSMK, dbMsg.getString(TU0011ETMsg.KIJIRAN_1_ITNM_JGSMK));
			// 記事欄2_移転元事業者向け
			msgTU0011.set(TU0011ETMsg.KIJIRAN_2_ITNM_JGSMK, dbMsg.getString(TU0011ETMsg.KIJIRAN_2_ITNM_JGSMK));
			// 記事欄1_番号取得事業者向け
			msgTU0011.set(TU0011ETMsg.KIJIRAN_1_NOSK_JGSMK, dbMsg.getString(TU0011ETMsg.KIJIRAN_1_NOSK_JGSMK));
			// 記事欄2_番号取得事業者向け
			msgTU0011.set(TU0011ETMsg.KIJIRAN_2_NOSK_JGSMK, dbMsg.getString(TU0011ETMsg.KIJIRAN_2_NOSK_JGSMK));
			// 自社内記事欄
			msgTU0011.set(TU0011ETMsg.JI_SHANAI_KIJIRAN, dbMsg.getString(TU0011ETMsg.JI_SHANAI_KIJIRAN));
			// 設置場所住所変更有無
			msgTU0011.set(TU0011ETMsg.SETPLACE_AD_CHGE_UM, dbMsg.getString(TU0011ETMsg.SETPLACE_AD_CHGE_UM));
			// 設置場所手投入識別_市区町村名
			msgTU0011.set(TU0011ETMsg.SETPLC_HTNY_SKBT_CITY_NM, dbMsg.getString(TU0011ETMsg.SETPLC_HTNY_SKBT_CITY_NM));
			// 設置場所手投入識別_大字_通称名
			msgTU0011.set(TU0011ETMsg.SETPLC_HTNY_SKBT_OAZTSU_NM, dbMsg.getString(TU0011ETMsg.SETPLC_HTNY_SKBT_OAZTSU_NM));
			// 設置場所手投入識別_字丁目名
			msgTU0011.set(TU0011ETMsg.SETPLC_HTNY_SKBT_AZCHO_NM, dbMsg.getString(TU0011ETMsg.SETPLC_HTNY_SKBT_AZCHO_NM));
			// 工事実施方法
			msgTU0011.set(TU0011ETMsg.KOJI_JSSI_WAY, dbMsg.getString(TU0011ETMsg.KOJI_JSSI_WAY));
			// 想定切替時間帯
			msgTU0011.set(TU0011ETMsg.SOTEI_SWITCH_TIMEZ, dbMsg.getString(TU0011ETMsg.SOTEI_SWITCH_TIMEZ));
			// 番ポPSTNドライカッパ利用有無
			msgTU0011.set(TU0011ETMsg.BMP_PSTN_DRYCOPPER_USE_UM, dbMsg.getString(TU0011ETMsg.BMP_PSTN_DRYCOPPER_USE_UM));
// ANK-4494-00-00 2024/05/02 ADD END
			
			// OM-2021-0001122 ADD START
			// インプットの機能コードを取得
			String funcCd = (String)inCBSMsg.getString(ETU0011C010CBSMsg.FUNC_CODE);
			
			// インプットの同番移転有無を取得
			String dobanitenUm = (String)inCBSMsg.getString(ETU0011C010CBSMsg.DOBANITEN_UM);
			
			// 機能コードが"3"の場合
			if (funcCd != null && "3".equals(funcCd))
			{
				// 同番移転有無が"1"(有)の場合
				if (dobanitenUm != null && "1".equals(dobanitenUm))
				{
// ANK-4685-00-00 2025/05/27 DEL START 機能コード:"3"（住変修正）の場合における住所項目のマッピングはCC側で制御する
//					// 加入権移転先住所に設置場所住所を上書きし、設置場所住所にNTT契約者住所を上書きする
//					//加入権移転先住所　←　設置場所住所
//					msgTU0011.set(TU0011ETMsg.KNKN_ITNSAD_MAN_INPUT_FLG, inCBSMsg.getString(ETU0011C010CBSMsg.SETPLACE_AD_MAN_INPUT_FLG));
//					msgTU0011.set(TU0011ETMsg.KANYKN_ITENS_AD_CD, inCBSMsg.getString(ETU0011C010CBSMsg.SETPLACE_AD_CD));
//					msgTU0011.set(TU0011ETMsg.KANYKN_ITENS_PCD, inCBSMsg.getString(ETU0011C010CBSMsg.SETPLACE_PCD));
//					msgTU0011.set(TU0011ETMsg.KANYKN_ITENS_STATE_NM, inCBSMsg.getString(ETU0011C010CBSMsg.SETPLACE_STATE_NM));
//					msgTU0011.set(TU0011ETMsg.KANYKN_ITENS_CITY_NM, inCBSMsg.getString(ETU0011C010CBSMsg.SETPLACE_CITY_NM));
//					msgTU0011.set(TU0011ETMsg.KANYKN_ITENS_OAZTSU_NM, inCBSMsg.getString(ETU0011C010CBSMsg.SETPLACE_OAZTSU_NM));
//					msgTU0011.set(TU0011ETMsg.KANYKN_ITENS_AZCHO_NM, inCBSMsg.getString(ETU0011C010CBSMsg.SETPLACE_AZCHO_NM));
//					msgTU0011.set(TU0011ETMsg.KANYKN_ITENS_BNCHIGO, inCBSMsg.getString(ETU0011C010CBSMsg.SETPLACE_BNCHIGO));
//					msgTU0011.set(TU0011ETMsg.KANYKN_ITENS_ADRTTM, inCBSMsg.getString(ETU0011C010CBSMsg.SETPLACE_ADRTTM));
//					msgTU0011.set(TU0011ETMsg.KANYKN_ITENS_ADRRM, inCBSMsg.getString(ETU0011C010CBSMsg.SETPLACE_ADRRM));
//					//設置場所住所　←　NTT契約者住所
//					msgTU0011.set(TU0011ETMsg.SETPLACE_AD_MAN_INPUT_FLG, inCBSMsg.getString(ETU0011C010CBSMsg.NKYS_AD_MAN_INPUT_FLG));
//					msgTU0011.set(TU0011ETMsg.SETPLACE_AD_CD, inCBSMsg.getString(ETU0011C010CBSMsg.NTT_KEISHA_AD_CD));
//					msgTU0011.set(TU0011ETMsg.SETPLACE_PCD, inCBSMsg.getString(ETU0011C010CBSMsg.NTT_KEISHA_PCD));
//					msgTU0011.set(TU0011ETMsg.SETPLACE_STATE_NM, inCBSMsg.getString(ETU0011C010CBSMsg.NTT_KEISHA_STATE_NM));
//					msgTU0011.set(TU0011ETMsg.SETPLACE_CITY_NM, inCBSMsg.getString(ETU0011C010CBSMsg.NTT_KEISHA_CITY_NM));
//					msgTU0011.set(TU0011ETMsg.SETPLACE_OAZTSU_NM, inCBSMsg.getString(ETU0011C010CBSMsg.NTT_KEISHA_OAZTSU_NM));
//					msgTU0011.set(TU0011ETMsg.SETPLACE_AZCHO_NM, inCBSMsg.getString(ETU0011C010CBSMsg.NTT_KEISHA_AZCHO_NM));
//					msgTU0011.set(TU0011ETMsg.SETPLACE_BNCHIGO, inCBSMsg.getString(ETU0011C010CBSMsg.NTT_KEISHA_BNCHIGO));
//					msgTU0011.set(TU0011ETMsg.SETPLACE_ADRTTM, inCBSMsg.getString(ETU0011C010CBSMsg.NTT_KEISHA_ADRTTM));
//					msgTU0011.set(TU0011ETMsg.SETPLACE_ADRRM, inCBSMsg.getString(ETU0011C010CBSMsg.NTT_KEISHA_ADRRM));
// ANK-4685-00-00 2025/05/27 DEL END
					
					// 申込事業者記事欄1を設定
					msgTU0011.set(TU0011ETMsg.MSKMJIG_KIJIRAN_1, JTUejbBmpKojiInfo.getMsgDobaniten());
				}
			}
			// OM-2021-0001122 ADD END

			/** 登録処理を実行する */
			try
			{
				spTU0011.create(msgTU0011);
				// 更新年月日時分秒を新規レコード値に置き換える。
				inCBSMsg.set(ETU0011C010CBSMsg.UPD_DTM_BF, sysDate);
			}
			catch (CAANCreateException cce)
			{
				inCBSMsg.set(ETU0011C010CBSMsg.STATUS, StatusCodes.CREATE_DB_ERR);
				throw cce;
			}
			
			return;
			
		}
		
		return;
		
	}

	/**
	 * <p>
	 * 最新世代の存在チェック
	 * @param inMsg 処理対象のメッセージキャリア
	 * @return result チェック結果
	 * </p>
	 * @throws Exception 
	 */
	private static boolean chkItem(CAANMsg inETMsg, AgentDispatchContext inContext) throws Exception
	{
		// ステータス
		int rtn = 0;

		// 制約部品引数定義
		Object schemaID = "TU0011";
		// エラーコード
		Object errFlg = "EB";
		
		CAANMsg chkTU0011ETMsg = new CAANMsg(TU0011ETMsg.class.getName());
		
		chkTU0011ETMsg.set(TU0011ETMsg.BMP_KOJI_NO, inETMsg.getString(ETU0011C010CBSMsg.BMP_KOJI_NO));
		chkTU0011ETMsg.set(TU0011ETMsg.GENE_ADD_DTM, inETMsg.getString(ETU0011C010CBSMsg.GENE_ADD_DTM));
		chkTU0011ETMsg.set(TU0011ETMsg.UPD_DTM, inETMsg.getString(ETU0011C010CBSMsg.UPD_DTM_BF));
		
		if (!(JPCModelCommon.succeededExclusiveLockForGene(chkTU0011ETMsg, inContext, schemaID) == true)) {
			inETMsg.set(ETU0011C010CBSMsg.BMP_KOJI_NO_ERR, errFlg);
			rtn = StatusCodes.RELATION_ERR;
		}
		
		// ステータスのセット
		if (rtn > inETMsg.getInt(ETU0011C010CBSMsg.STATUS)) {
			inETMsg.set(ETU0011C010CBSMsg.STATUS, rtn);
		}

		if (rtn != 0) {
			return false;
		}
		
		return true;
	}
	
}
