<?php
/**
 * @author william-fan
 * @todo  向招宝提交订单信息(调用招宝webservice)
 */
//发送出区报文
set_time_limit(7200);
require_once ('config.php');
$flagFile = APPLICATION_PATH . '/../data/log/sendOrders.lock';
if (@file_exists($flagFile)) {
	echo 'Anather process is running.'."\r\n\r\n";
	echo $flagFile."\r\n";
	exit();
}
$link = fopen($flagFile, 'wb');
fclose($link);
define('RUNTIME', '[' . date('Y-m-d H:i:s') . '] ');
echo RUNTIME . "Starting.\r\n";
try {
	$sbCondition =array(
		'sb_status_arr'=>array('1','2','3')		
	);
	$counts = Service_ShipBatch::getByCondition($sbCondition,"count(*)");
	$pageSize = 20;
	if($counts>0){
		$cmblapi = new Service_CMBLApiProcess();
		$pages = ceil($counts/$pageSize);
		for($page=1;$page<=$pages;$page++){
			$sbLists = Service_ShipBatch::getByCondition($sbCondition,"*",$pageSize,$page,'sb_id desc');
			foreach($sbLists as $key=>$sbRow){
                $condition = array(
                    'sb_code'=>$sbRow['sb_code'],
                );
                $apishipbatchs = Service_ApiShipBatchSend::getByCondition($condition,'*',1,1);
                if(!empty($apishipbatchs)){
                    if($apishipbatchs[0]['status']!='1'){
                        $cmblapi->sendOrder($sbRow['sb_code']);
                    }
                }else{
                    $cmblapi->sendOrder($sbRow['sb_code']);
                }
			}
		}
	}
	
	echo "[发送订单信息]全部处理完成\r\n";
} catch (Exception $e) {
	@unlink($flagFile);
	echo '[' . date('Y-m-d H:i:s') . '] Fail Exception:' . $e->getMessage() ."\r\n";
}
echo "[" . date('Y-m-d H:i:s') . "] End run\r\n\r\n";
@unlink($flagFile);