/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：CRIFE062
*   ソースファイル名：CRIFE062.java
*   作成者          ：富士通
*   日付            ：2022/09/07
*＜機能概要＞
*   外部I/F：「問合せ客情報一覧照会（オペレータ支援）」受付処理クラスです。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v62.00.00   2022/09/07   FJ)澤田     ANK-4237-00-00_オペレータ支援向けAPI変更対応（導線変更に伴う検索機能等の追加対応）
**********************************************************************/
package local.gyomu.api;

import java.util.Map;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.Response;

import local.gyomu.ApiServerLocalBase;

import com.k_opti.api_parts.server.bean.ApiServerPartsBean;

@Path("CRIFE062")
public class CRIFE062 extends ApiServerLocalBase
{

	/**
	 * APIID
	 */
	private static final String APIID = "CRIFE062";

	/**
	 * 呼び出す業務サービスID
	 */
	private static final String SERVICE_ID = "CRSV0098";

	/**
	 * 相手先システムID
	 */
	private static final String SYSTEM_ID = "OPS1";

	/**
	 * JOBID
	 */
	private static final String JOB_ID = "CRIFE062";
	
	private static final String MAPKEY_PREFIX = "10CC";

	@Override
	protected ApiServerPartsBean run(ApiServerPartsBean reqPartsBean) throws Exception
	{
		ApiServerPartsBean resPartsBean = this.logicExecute(reqPartsBean);
		return resPartsBean;
	}

	@POST
	public Response execute(@Context final HttpServletRequest pRequest, 
			@Context final ServletContext pContext) throws Exception
	{
		Response response = super.exec(APIID, pRequest, pContext);
		return response;
	}

	@SuppressWarnings("unchecked")
	private ApiServerPartsBean logicExecute(ApiServerPartsBean reqPartsBean) throws Exception
	{

		// サービス呼び出し
		Map<String, Object> outMap = callBpService(SERVICE_ID, reqPartsBean, JOB_ID, SYSTEM_ID, MAPKEY_PREFIX);

        // サービス処理の結果
		Map<String, Object> resultMap = (Map<String, Object>)outMap.get(SERVICE_ID + MAPKEY_PREFIX);

		// レスポンス情報をセット
		ApiServerPartsBean resPartsBean = new ApiServerPartsBean();
		resPartsBean.setBody(resultMap);

		return resPartsBean;
	}
}
