|  | @@ -121,47 +121,58 @@ class InvoiceController extends DooController {
 | 
	
		
			
				|  |  |  					'where' => 'cid=' . $cid,
 | 
	
		
			
				|  |  |  					'asArray' => true 
 | 
	
		
			
				|  |  |  			) );
 | 
	
		
			
				|  |  | -			$invoiceManageDetail = $invoiceManage->getOne ( array (
 | 
	
		
			
				|  |  | -					'SELECT' => 'title',
 | 
	
		
			
				|  |  | -					'where' => 'mold="发票审批"',
 | 
	
		
			
				|  |  | -					'asArray' => true 
 | 
	
		
			
				|  |  | -			) );
 | 
	
		
			
				|  |  |  			
 | 
	
		
			
				|  |  | -			$invoice->cid = $cid;
 | 
	
		
			
				|  |  | -			$invoice->categoryName = $categoryDetil ['title'];
 | 
	
		
			
				|  |  | -			$invoice->invoiceElement = $invoiceElement;
 | 
	
		
			
				|  |  | -			$invoice->invoicePrice = $invoicePrice;
 | 
	
		
			
				|  |  | +			$invoiceManageList = $invoiceManage->getInvoiceByAll ();
 | 
	
		
			
				|  |  | +			$invoiceManageDetail = $invoiceManage->getInvoiceByMold ( "发票审批" );
 | 
	
		
			
				|  |  |  			
 | 
	
		
			
				|  |  | -			$invoice->invoiceType = $invoiceType;
 | 
	
		
			
				|  |  | -			if ($invoiceType == 0)
 | 
	
		
			
				|  |  | -				$invoice->invoiceTitle = $invoiceTitle;
 | 
	
		
			
				|  |  | -			elseif ($invoiceType == 1) {
 | 
	
		
			
				|  |  | -				$invoice->invoiceCompany = $invoiceCompany;
 | 
	
		
			
				|  |  | -				$invoice->TIN = $TIN;
 | 
	
		
			
				|  |  | -				$invoice->address = $address;
 | 
	
		
			
				|  |  | -				$invoice->phone = $phone;
 | 
	
		
			
				|  |  | -				$invoice->bank = $bank;
 | 
	
		
			
				|  |  | -				$invoice->bankAccount = $bankAccount;
 | 
	
		
			
				|  |  | +			$moldManage = array ();
 | 
	
		
			
				|  |  | +			foreach ( $invoiceManageList as $key => $value ) {
 | 
	
		
			
				|  |  | +				if ($value ['mold'] == '发票打印')
 | 
	
		
			
				|  |  | +					$moldManage [$value ['mold']] = $value ['staffList'];
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  			
 | 
	
		
			
				|  |  | -			$invoice->doPost = $doPost;
 | 
	
		
			
				|  |  | +			$item = array (
 | 
	
		
			
				|  |  | +					'cid' => $cid,
 | 
	
		
			
				|  |  | +					'categoryName' => $categoryDetil ['title'],
 | 
	
		
			
				|  |  | +					'invoiceElement' => $invoiceElement,
 | 
	
		
			
				|  |  | +					'invoicePrice' => $invoicePrice,
 | 
	
		
			
				|  |  | +					'invoiceType' => $invoiceType,
 | 
	
		
			
				|  |  | +					'doPost' => $doPost,
 | 
	
		
			
				|  |  | +					'status' => 1,
 | 
	
		
			
				|  |  | +					'invoiceSerial' => "#F" . date ( "Ymd" ) . mt_rand ( 1000, 9999 ),
 | 
	
		
			
				|  |  | +					'date' => date ( "Y-m-d H:i:s" ),
 | 
	
		
			
				|  |  | +					'updateTime' => date ( "Y-m-d H:i:s" ),
 | 
	
		
			
				|  |  | +					'sid' => $this->staff [0] ['sid'],
 | 
	
		
			
				|  |  | +					'userName' => $this->staff [0] ['username'],
 | 
	
		
			
				|  |  | +					'invoiceManage' => $invoiceManageDetail ['staff'],
 | 
	
		
			
				|  |  | +					'pendingApprovals' => $invoiceManageDetail ['staffList'] [0] [0],
 | 
	
		
			
				|  |  | +					'moldManage' => json_encode ( $moldManage ),
 | 
	
		
			
				|  |  | +					'remark' => $remark 
 | 
	
		
			
				|  |  | +			);
 | 
	
		
			
				|  |  | +			if ($invoiceType == 0)
 | 
	
		
			
				|  |  | +				$item += array (
 | 
	
		
			
				|  |  | +						'invoiceTitle' => $invoiceTitle 
 | 
	
		
			
				|  |  | +				);
 | 
	
		
			
				|  |  | +			else {
 | 
	
		
			
				|  |  | +				$item += array (
 | 
	
		
			
				|  |  | +						'invoiceCompany' => $invoiceCompany,
 | 
	
		
			
				|  |  | +						'TIN' => $TIN,
 | 
	
		
			
				|  |  | +						'address' => $address,
 | 
	
		
			
				|  |  | +						'phone' => $phone,
 | 
	
		
			
				|  |  | +						'bank' => $bank,
 | 
	
		
			
				|  |  | +						'bankAccount' => $bankAccount 
 | 
	
		
			
				|  |  | +				);
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  |  			if ($doPost == 1) {
 | 
	
		
			
				|  |  | -				$invoice->recipients = $recipients;
 | 
	
		
			
				|  |  | -				$invoice->recipientsPhone = $recipientsPhone;
 | 
	
		
			
				|  |  | -				$invoice->recipientsAddress = $recipientsAddress;
 | 
	
		
			
				|  |  | -				$invoice->mailItems = $mailItems;
 | 
	
		
			
				|  |  | +				$item += array (
 | 
	
		
			
				|  |  | +						'recipients' => $recipients,
 | 
	
		
			
				|  |  | +						'recipientsPhone' => $recipientsPhone,
 | 
	
		
			
				|  |  | +						'recipientsAddress' => $recipientsAddress,
 | 
	
		
			
				|  |  | +						'mailItems' => $mailItems 
 | 
	
		
			
				|  |  | +				);
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  | -			$invoice->status = 1;
 | 
	
		
			
				|  |  | -			$invoice->invoiceSerial = "#F" . date ( "Ymd" ) . mt_rand ( 1000, 9999 );
 | 
	
		
			
				|  |  | -			$invoice->date = date ( "Y-m-d H:i:s" );
 | 
	
		
			
				|  |  | -			$invoice->updateTime = date ( "Y-m-d H:i:s" );
 | 
	
		
			
				|  |  | -			$invoice->sid = $this->staff [0] ['sid'];
 | 
	
		
			
				|  |  | -			$invoice->userName = $this->staff [0] ['username'];
 | 
	
		
			
				|  |  | -			$invoice->invoiceManage = $invoiceManageDetail ['staff'];
 | 
	
		
			
				|  |  | -			$staffId = $a = json_decode ( $invoiceManageDetail ['staff'] );
 | 
	
		
			
				|  |  | -			$invoice->pendingApprovals = $staffId [0] [0];
 | 
	
		
			
				|  |  | -			$invoice->remark = $remark;
 | 
	
		
			
				|  |  | -			$iid = $invoice->insert ();
 | 
	
		
			
				|  |  | +			
 | 
	
		
			
				|  |  | +			$iid = $invoice->addInvoice ( $item );
 | 
	
		
			
				|  |  |  			
 | 
	
		
			
				|  |  |  			$item = array (
 | 
	
		
			
				|  |  |  					'date' => date ( "Y-m-d H:i:s" ),
 | 
	
	
		
			
				|  | @@ -375,17 +386,8 @@ class InvoiceController extends DooController {
 | 
	
		
			
				|  |  |  		Doo::loadModel ( 'staff' );
 | 
	
		
			
				|  |  |  		$staff = new staff ();
 | 
	
		
			
				|  |  |  		
 | 
	
		
			
				|  |  | -		$toPrint = $invoice->find ( array (
 | 
	
		
			
				|  |  | -				'where' => 'status=2 ',
 | 
	
		
			
				|  |  | -				'desc' => 'iid',
 | 
	
		
			
				|  |  | -				'asArray' => true 
 | 
	
		
			
				|  |  | -		) );
 | 
	
		
			
				|  |  | -		
 | 
	
		
			
				|  |  | -		$printed = $invoice->find ( array (
 | 
	
		
			
				|  |  | -				'where' => 'status=5 ',
 | 
	
		
			
				|  |  | -				'desc' => 'iid',
 | 
	
		
			
				|  |  | -				'asArray' => true 
 | 
	
		
			
				|  |  | -		) );
 | 
	
		
			
				|  |  | +		$toPrint = $invoice->getPrintInvoiceByManage ( $this->staff [0] ['sid'], 2 );
 | 
	
		
			
				|  |  | +		$printed = $invoice->getPrintInvoiceByManage ( $this->staff [0] ['sid'], 5 );
 | 
	
		
			
				|  |  |  		
 | 
	
		
			
				|  |  |  		foreach ( $toPrint as $key => $value ) {
 | 
	
		
			
				|  |  |  			$toPrint [$key] ['iidKey'] = $XDeode->encode ( $value ['iid'] );
 | 
	
	
		
			
				|  | @@ -448,10 +450,9 @@ class InvoiceController extends DooController {
 | 
	
		
			
				|  |  |  		Doo::loadModel ( 'invoiceOperationLog' );
 | 
	
		
			
				|  |  |  		$invoiceOperationLog = new invoiceOperationLog ();
 | 
	
		
			
				|  |  |  		
 | 
	
		
			
				|  |  | -		$invoiceDetail = $invoice->getOne ( array (
 | 
	
		
			
				|  |  | -				'where' => 'status=2 and iid=' . $iid,
 | 
	
		
			
				|  |  | -				'asArray' => true 
 | 
	
		
			
				|  |  | -		) );
 | 
	
		
			
				|  |  | +		$invoiceDetail = $invoice->getPrintInvoiceByManage ( $this->staff [0] ['sid'], 2, $iid );
 | 
	
		
			
				|  |  | +		if (empty ( $invoiceDetail ))
 | 
	
		
			
				|  |  | +			die ( 'illegal request' );
 | 
	
		
			
				|  |  |  		
 | 
	
		
			
				|  |  |  		$invoiceOperationLogList = $invoiceOperationLog->getInvoiceOperationLogByIid ( $iid );
 | 
	
		
			
				|  |  |  		
 |