<?php
/**
 * 飲食店業態向けタブレット（TTO） COM-PASS 未精算伝票問い合わせ
 * @name  compass_slip_request.php
 * @category web function
 * @since 2012-11-01
 * @version 1.0.0
 * @update 2012-11-01
 * @copyright almex.inc
 * @author s.kurata
 * @method GET or POST
 * @param android_id: AndroidID
 * @param term_class: 端末種別
 * @return JSON
 */
	require_once 'const.compass_def.php';

	require_once '../lib/const.mcs.php';
	require_once '../lib/sysinfo.php';
	require_once '../lib/class.httpget.php';
	require_once '../lib/class.util.php';
	

	/*テストコード*//*
	$_REQUEST['android_id'] = '2be5aea1ba9a572c';
	$_REQUEST['term_class'] = 'RTIS1';
	/* */
	
	$ip = getenv("REMOTE_ADDR");

	$ResultObj = '';
	$json = '';
	
	//テーブル情報取得
	$rstatrow = false;
	$tableStatus = false;
	if ( isset($_REQUEST['android_id']) && isset($_REQUEST['term_class']) ){
		$termId = mysql_real_escape_string($_REQUEST['android_id']);
		$termClass = mysql_real_escape_string($_REQUEST['term_class']);
		//$rstatrow = getroomstateFromTerm($termid,$termclass);
		$tableRow = TableUtil::getTableRec($termId, $termClass);
		$termRow = TermUtil::getTermMaster($termId, $termClass);
		$tableCode = TableUtil::getTableCode($termId, $termClass);
		if ($tableCode !== false) {
			$tableStatus = TableUtil::getTableStatus($tableCode);
		}
	}
	
	$ErrorStatus = CONST_COMPASS::JSON_STATUS_UNKOWN;	//-9001;
	
	if ($tableStatus === false) {
		//テーブル情報が取得失敗
		$ResultObj = COMMON_COMPASS::cretaeResultJson($ErrorStatus,'Status Empty');
		$json = json_encode($ResultObj);
		COMMON_COMPASS::endProc($json);
	}
	if ($tableStatus != CONST_MCS::TABLESTATUSCODE_EXIST) {
		//在席中以外処理中止
		$ResultObj = COMMON_COMPASS::cretaeResultJson($ErrorStatus,'Status Not Exist');
		$json = json_encode($ResultObj);
		COMMON_COMPASS::endProc($json);
	}
	
	$ret = '';
	
	$tableStatusRow = TableUtil::getTableStatusRec($tableCode);
	$url = createHostIfURL();
	$data = array();
	$data['termcode'] = $termRow['termcode'];
	$data['tablecode'] = $tableCode;
	$data['tablename'] = $tableRow['cTableName'];
	$data['order_num'] = $tableStatusRow['nSlipNo'];
	$data['managedate'] = $tableStatusRow['nSlipManageDate'];
	
	$http = new httpcontent(0,3,10);//リトライ0回/リトライ間隔3秒/各10秒
	$hostresult = $http->contents_post($url,$data,$retcount);
	if (!($hostresult === false || $hostresult == 'NG')){
		$HostArr = json_decode($hostresult, true);
		if ($HostArr['status'] == 0) {
			$ErrorStatus = CONST_COMPASS::JSON_STATUS_NORMAL;	//0;
		} else {
			$ErrorStatus = CONST_COMPASS::JSON_STATUS_FAILED;	//-2001;
		}		
		$ResultObj = COMMON_COMPASS::cretaeResultJson($ErrorStatus,'Order Completed HostType is Over Serius');
		$ResultObj['result'] = $HostArr['result'];
		$json = json_encode($ResultObj);
	} else {
		$ErrorStatus = CONST_COMPASS::JSON_STATUS_UNKOWN;	//-9001;
		$ResultObj = COMMON_COMPASS::cretaeResultJson($ErrorStatus,'Host No Result');
		$json = json_encode($ResultObj);
	}
	COMMON_COMPASS::endProc($json);
	
	//ホストインターフェースURLの生成
	function createHostIfURL() {
		$url = false;
		$sys = new System_Info();
		$hostIp = $sys->getHostIpAddr();
		$hostPort = $sys->getHostPort();
		$url = 'http://'.$hostIp.':'.$hostPort.'/sliprequest';
		return $url;
	}

?>