<?php
class Merchant_BatchPoController extends Ec_Controller_Action{
	public function preDispatch ()
	{
		$this->tplDirectory = "merchant/views/po/";
		// $this->tplDirectory = "merchant/account_config/";
		$this->customerAuth = new Zend_Session_Namespace("customerAuth");
	}
	/*johnson
	 * po批量上传
	 */
	public function uploadAction(){
		echo Ec::renderTpl($this->tplDirectory . "po-order-upload.tpl",'noleftlayout');
	}
	/**
	 * @author colin
	 * @todo 的采购单订单导入检查
	 */
	public function batchcheckAction(){
		//header('Content-type:text/html;charset=utf-8');
		//set_time_limit(300);
		$purchaseOrderUpload = new Zend_Session_Namespace('PurchaseOrderUpload');
		$field = 'PurchaseOrderFile';
		$xlsData = Service_PoOrderUpload::getXLSData($_FILES, $field);
		if(isset($xlsData['ask']) && $xlsData['ask']=='0'){
			//echo 'sss';
			$this->view->uploadinfo = $xlsData;
			echo Ec::renderTpl($this->tplDirectory . "po-order-upload.tpl",'noleftlayout');
		}else{		
		
			$purchaseOrderRows = Service_PoOrderUpload::getDataArr($xlsData);
				
			$purchaseOrderUpload->uploadData = $purchaseOrderRows;
			$doupload=1;
			if(!empty($purchaseOrderRows)){
				foreach($purchaseOrderRows as $key=>$order){
					if($order['is_valid']=='0'){
						$doupload = 0;
					}
				}
			}
			$this->view->doupload=$doupload;
			$this->view->uploadData=$purchaseOrderRows;
			
			echo Ec::renderTpl($this->tplDirectory . "po-order-upload-edit.tpl",'noleftlayout');
		}
	}
	/**
	 * @author colin
	 * @todo 用于采购订单导入
	 */
	public function importAction(){
		set_time_limit(300);
		ini_set('memory_limit','1024M');
		
		$purchaseOrderUpload = new Zend_Session_Namespace('PurchaseOrderUpload');
		$sessionData = $purchaseOrderUpload->uploadData;

		$ids = $this->_request->getParam('select');
		$process = new Service_PoOrderProcess();
		
		$success =0;
		$false =0;
		$successHtml = '';
		$failseHtml = '';
		$html = '';
		$index=1;
		$doupload = true;
		foreach($sessionData as $key=>$order){
			if($order['is_valid']=='0'){
				$doupload = false;
				$html = '上传采购单中有不符合要求的采购单,已终止上传';
			}
		}
		if($doupload){
			foreach ($ids as $val){
					
				$status = 1;
				$orderRow = $sessionData[$val];
				$orderRow['action'] = 'create';
				$result = $process->createTransaction($orderRow);
				if($result['ask']=='1'){
					$successHtml.="<p>第{$index}个订单".$result['ASNCode'].'创建成功'.'</p>';
					$success++;
				}else{
					$failseHtml.="<p>第{$index}个订单";
					if(isset($result['error'])){
						$error = $result['error'];
						if(!empty($error)){
							foreach($error as $key=>$err){
								$failseHtml.="<div class='error'>{$err}</div>";
							}
						}
					}
					$failseHtml.='</p>';
					$false++;
				}
				$index++;
			}
			$uploadResult = "<p>成功{$success}失败$false</p>";
			$html = $html.$successHtml.$failseHtml.$uploadResult;
		}

		$this->view->uploadResult=$html;
		unset($purchaseOrderUpload->uploadData);
		echo Ec::renderTpl($this->tplDirectory . "po-order-upload.tpl",'noleftlayout');
	}
	public function downloadTemplateAction(){
   
		$file = $this->_request->getParam('file','');
		$fullPath = APPLICATION_PATH."/../data/file".'/PoOrderbatchUpload.xls';
		//方法2
		$filename = basename($fullPath);

		header("Content-Type: APPLICATION/OCTET-STREAM");
		//Force the download
		$header="Content-Disposition: attachment; filename=".$filename.";";
		header($header );
		// 	header("Content-Transfer-Encoding: binary");
		// 	header("Content-Length: ".$len);
		echo file_get_contents($fullPath);
		exit;
	
}
	
}