caipin 8 роки тому
батько
коміт
7856f1f68c

+ 34 - 177
protected/controller/InvoiceController.php

@@ -143,12 +143,12 @@ class InvoiceController extends DooController {
 			if ($invoiceType==0)
 				$invoice->invoiceTitle=$invoiceTitle;
 			elseif ($invoiceType==1){
-				$invoice->invoiceTitle=$invoiceCompany;
+				$invoice->invoiceCompany=$invoiceCompany;
 				$invoice->TIN=$TIN;
 				$invoice->address=$address;
 				$invoice->phone=$phone;
 				$invoice->bank=$bank;
-				$invoice->bankAccount=$$bankAccount;
+				$invoice->bankAccount=$bankAccount;
 			}
 
 			$invoice->doPost=$doPost;
@@ -156,6 +156,7 @@ class InvoiceController extends DooController {
 				$invoice->recipients=$recipients;
 				$invoice->recipientsPhone=$recipientsPhone;
 				$invoice->recipientsAddress=$recipientsAddress;
+				$invoice->mailItems=$mailItems;
 			}
 			$invoice->status=1;
 			$invoice->invoiceSerial="#F".date("Ymd").mt_rand(1000,9999);
@@ -165,6 +166,8 @@ class InvoiceController extends DooController {
 			$invoice->invoiceManage=$invoiceManageDetail['staff'];
 			$staffId=$a=json_decode($invoiceManageDetail['staff']);
 			$invoice->pendingApprovals=$staffId[0][0];
+			$invoice->remark=$remark;
+			
 			$invoice->insert();
 		}
 
@@ -179,10 +182,22 @@ class InvoiceController extends DooController {
 		$invoiceManage=new invoiceManage();
 		Doo::loadClass('XDeode');
 		$XDeode=new XDeode(5);
-
+		Doo::loadModel('staff');
+		$staff=new staff();
+		
 		$invoiceList=$invoice->find(array('where'=>'status=1 and pendingApprovals='.$this->staff[0]['sid'],'asArray'=>true));
 		foreach ($invoiceList as $key=>$value){
 			$invoiceList[$key]['iidKey']=$XDeode->encode($value['iid']);//base64_encode($value['iid']);
+			
+			$lastApprover=json_decode($value['processApprovals'],true);
+			if (!empty($lastApprover)){
+				$lastApproverKey=array_keys($lastApprover);
+				$lastApprover=end($lastApprover);
+				
+				$staffDetail=$staff->getOne(array('where'=>'sid='.end($lastApproverKey),'asArray'=>true));
+				$lastApprover['username']=$staffDetail['username'];
+			}
+			$invoiceList[$key]['lastApprover']=$lastApprover;	
 		}
 
 		$data['invoiceList']=$invoiceList;
@@ -206,15 +221,15 @@ class InvoiceController extends DooController {
 		
 		Doo::loadModel('invoice');
 		$invoice=new invoice();
-		Doo::loadModel('invoiceManage');
-		$invoiceManage=new invoiceManage();
+		//Doo::loadModel('invoiceManage');
+		//$invoiceManage=new invoiceManage();
 
 
 		$invoiceDetail=$invoice->getOne(array('where'=>'status=1 and pendingApprovals='.$this->staff[0]['sid'].' and iid='.$iid,'asArray'=>true));
 
-		$invoiceManageDetail=$invoiceManage->getOne(array('SELECT'=>'title','where'=>'mold="发票审批"','asArray'=>true));
+		//$invoiceManageDetail=$invoiceManage->getOne(array('SELECT'=>'title','where'=>'mold="发票审批"','asArray'=>true));
 
-		$a=json_decode($invoiceManageDetail['staff']);
+		//$a=json_decode($invoiceManageDetail['staff']);
 
 
 		$data['invoiceDetail']=$invoiceDetail;
@@ -233,8 +248,8 @@ class InvoiceController extends DooController {
 		$status=$this->get_args('status')&&is_numeric($this->get_args('status'))?$this->get_args('status'):0;
 		$opinion=$this->get_args('opinion')?$this->get_args('opinion'):"";
 		$iid=$this->authcode($iid);
-			if (!is_numeric($iid))
-				die('illegal request');
+		if (!is_numeric($iid))
+			die('illegal request');
 			
 		if (!empty($iid)&&!empty($status)&&!empty($opinion)){
 			if (!($status==2||$status==3||$status==4))
@@ -249,22 +264,17 @@ class InvoiceController extends DooController {
 			$processApprovals=json_decode($invoiceDetail['processApprovals'],true);
 			$invoiceManage=json_decode($invoiceDetail['invoiceManage'],true);
 
-			
 			if ($status==3){
 				$invoice->status=$status;
 				//操作日志
-			}elseif($status==4){
-				
 			}else{
 				if(empty($processApprovals)){//记录下一个IDKEY
-					$processApprovals=array($this->staff[0]['sid']=>array('date'=>date('Y-m-d'),'opinion'=>$opinion,'status'=>$status));
-					//if($status==4)
-					//	$processApprovals=array('final'=>$status,$this->staff[0]['sid']=>array('date'=>date('Y-m-d'),'opinion'=>$opinion,'status'=>$status));
+					$processApprovals=array($this->staff[0]['sid']=>array('date'=>date("'Y-m-d H:i:s"),'opinion'=>$opinion,'status'=>$status));
 					if ($status!=4&&isset($invoiceManage[1]))
 						$invoice->pendingApprovals=$invoiceManage[1][0];
-					$invoice->processApprovals=$processApprovals;
+					$invoice->processApprovals=json_encode($processApprovals);
 				}else{
-					$processApprovals[$this->staff[0]['sid']]=array('date'=>date('Y-m-d'),'opinion'=>$opinion,'status'=>$status);
+					$processApprovals[$this->staff[0]['sid']]=array('date'=>date("'Y-m-d H:i:s"),'opinion'=>$opinion,'status'=>$status);
 					
 					$pendingApprovals=0;
 					foreach ($invoiceManage as $key=>$value){
@@ -277,172 +287,19 @@ class InvoiceController extends DooController {
 					
 					if($status!=4&&!empty($pendingApprovals))
 						$invoice->pendingApprovals=$pendingApprovals;
-
-					$invoice->processApprovals=$processApprovals;
+					$invoice->processApprovals=json_encode($processApprovals);
 				}
 				
 				if(count($processApprovals)==count($invoiceManage)&&$status!=4){
 					$invoice->status=$status;
-				}elseif ($status==4){
+					$invoice->pendingApprovals=0;
+				}elseif ($status==4)
 					$invoice->status=$status;
-				}
-				
-			}
-
-			print_r($processApprovals);
-die;
-			//$invoice->
-			/*
-			if (isset($verifyStaff['final'])){//rDetail
-				$receipt->verifyBreakup=$verifyString;
-				$receipt->status=3;
-				$receiptDetailObj->status=3;
-				$receiptDetailObj->update(array('where'=>'rid='.$rid));
-
-
-
-
-				if (!empty($roleId)){
-					Doo::loadModel("role");
-					$role=new role();
-					$roleInfo=$role->getOne(array('where'=>'rid='.$roleId,'asArray'=>true));
-
-					$receiptLog->rolename=$roleInfo['name'];
-				}
-
-				$receiptLog->username=$this->staff[0]['username'];
-				$receiptLog->uid=$this->staff[0]['sid'];
-				$receiptLog->date=date("Y-m-d");
-				$receiptLog->opinion=$opinion;
-				$receiptLog->img=$this->staff[0]['avatar'];
-				$receiptLog->status=3;
-				$receiptLog->rid=$rid;
-				$receiptLog->insert();
-
-
-			}elseif(count($verifyStaff)==count($verifyDetail)){//要修改 角色的数量
-				$receipt->status=1;$reviseSum=0;
-				$receipt->verifyBreakup=$verifyString;
-				if(!empty($receiptDetail['reviseDetail'])){//statistics item rDetail
-					$reviseDetail=json_decode($receiptDetail['reviseDetail'],true);
-
-					foreach ($reviseDetail as $key=>$value){
-						$receiptDetailObj=new receiptDetail();
-						$receiptDetailObj->staff=$receiptDetail['staff'];// $this->staff[0]['sid'];
-						$receiptDetailObj->item=$value['description'];
-						$receiptDetailObj->itemCategory="报销金额调整";
-						$receiptDetailObj->price=$value['price'];
-						$receiptDetailObj->date=$receiptDetail['date'];
-						$receiptDetailObj->cid=$this->staff[0]['cid'];
-						$receiptDetailObj->rid=$rid;
-						$receiptDetailObj->status=1;
-						$receiptDetailObj->insert();
-						$reviseSum+=$value['price'];
-					}
-
-					$itemStatistics=new itemStatistics();
-					$itemStatistics->cid=$receiptDetail['cid'];//$this->staff[0]['cid'];
-					$itemStatistics->staff=$receiptDetail['staff'];//$this->staff[0]['sid'];
-					$itemStatistics->price=$reviseSum;
-					$itemStatistics->itemCategory="报销金额调整";
-					$itemStatistics->date=$receiptDetail['date'];
-					$itemStatistics->insert();
-				}
-				$receiptDetailObj=new receiptDetail();
-				$receiptDetailObj->status=1;
-				$receiptDetailObj->pastDate=date("Y-m-d");
-				$receiptDetailObj->update(array('where'=>'rid='.$rid));
-
-				$dateArray=explode("-", $receiptDetail['date']);
-				$dateCondition=" and Year(date) =".$dateArray[0]." and Month(date) = ".$dateArray[1];
-				$stat=$statistics->getOne(array('where'=>'staff='.$receiptDetail['staff'].$dateCondition,'asArray'=>true));
-				if(empty($stat)){
-					$statistics->date=$receiptDetail['date'];
-					$statistics->cid=$receiptDetail['cid'];//$this->staff[0]['cid'];
-					$statistics->staff=$receiptDetail['staff'];//$this->staff[0]['sid'];
-					$statistics->agPrice=$receiptDetail['sum'];
-					$statistics->rePrice=$reviseSum;
-					$statistics->insert();
-				}else{
-					$statistics->agPrice=$stat['agPrice']+$receiptDetail['sum'];
-					$statistics->rePrice=$stat['rePrice']+$reviseSum;
-					$statistics->update(array('where'=>'sid='.$stat['sid']));
-				}
-
-				$dateArray=explode("-", $receiptDetail['date']);
-				$dateCondition=" and Year(date) =".$dateArray[0]." and Month(date) = ".$dateArray[1];
-				$accountItem=json_decode($receiptDetail['accountItem'],true);
-				foreach ($accountItem['cSum'] as $key=>$value){
-				if($key=="agencySum"){
-					$iStatistics=$itemStatistics->getOne(array('where'=>'staff='.$receiptDetail['staff'].' and itemCategory="'.$this->AGENCY.'"'.$dateCondition,'asArray'=>true));
-					if(empty($iStatistics)){
-						$itemStatistics->cid=$receiptDetail['cid'];;
-						$itemStatistics->staff=$receiptDetail['staff'];
-						$itemStatistics->price=$value;
-						$itemStatistics->itemCategory=$this->AGENCY;
-						$itemStatistics->date=$receiptDetail['date'];
-						$itemStatistics->insert();
-					}else{
-						if (!empty($value)){
-							$itemStatistics->price=$value+$iStatistics['price'];
-							$itemStatistics->update(array('where'=>'sid='.$iStatistics['sid']));
-						}
-					}
-				}elseif($key=="travelSum"){
-					$iStatistics=$itemStatistics->getOne(array('where'=>'staff='.$receiptDetail['staff'].' and itemCategory="'.$this->TRAVEL.'"'.$dateCondition,'asArray'=>true));
-					if(empty($iStatistics)){
-						$itemStatistics->cid=$receiptDetail['cid'];
-						$itemStatistics->staff=$receiptDetail['staff'];
-						$itemStatistics->price=$value;
-						$itemStatistics->itemCategory=$this->TRAVEL;
-						$itemStatistics->date=$receiptDetail['date'];
-						$itemStatistics->insert();
-					}else{
-						if (!empty($value)){
-							$itemStatistics->price=$value+$iStatistics['price'];
-							$itemStatistics->update(array('where'=>'sid='.$iStatistics['sid']));
-						}
-					}
-				}elseif($key=="trainSum"){
-					$iStatistics=$itemStatistics->getOne(array('where'=>'staff='.$receiptDetail['staff'].' and itemCategory="'.$this->TRAIN.'"'.$dateCondition,'asArray'=>true));
-					if(empty($iStatistics)){
-						$itemStatistics->cid=$receiptDetail['cid'];
-						$itemStatistics->staff=$receiptDetail['staff'];
-						$itemStatistics->price=$value;
-						$itemStatistics->itemCategory=$this->TRAIN;
-						$itemStatistics->date=$receiptDetail['date'];
-						$itemStatistics->insert();
-					}else{
-						if (!empty($value)){
-							$itemStatistics->price=$value+$iStatistics['price'];
-							$itemStatistics->update(array('where'=>'sid='.$iStatistics['sid']));
-						}
-					}
-				}elseif($key=="otherSum"){
-					$iStatistics=$itemStatistics->getOne(array('where'=>'staff='.$receiptDetail['staff'].' and itemCategory="'.$this->OTHER.'"'.$dateCondition,'asArray'=>true));
-					if(empty($iStatistics)){
-						$itemStatistics->cid=$receiptDetail['cid'];
-						$itemStatistics->staff=$receiptDetail['staff'];
-						$itemStatistics->price=$value;
-						$itemStatistics->itemCategory=$this->OTHER;
-						$itemStatistics->date=$receiptDetail['date'];
-						$itemStatistics->insert();
-					}else{
-						if (!empty($value)){
-							$itemStatistics->price=$value+$iStatistics['price'];
-							$itemStatistics->update(array('where'=>'sid='.$iStatistics['sid']));
-						}
-					}
-				}
-			}
-				$receipt->pastDate=date("Y-m-d");
 			}
-
-				*/
-
-
-			echo $iid.$status.$opinion;
-
+			$invoice->updateTime=date("'Y-m-d H:i:s");
+			$invoice->update(array('where'=>'iid='.$iid));//print_r($processApprovals);
+			
+			return '/invoiceApproval';
 		}
 	}
 

+ 3 - 2
protected/model/invoice.php

@@ -36,12 +36,13 @@ class invoice extends DooModel {
     public $recipientsAddress;
     public $mailItems;
     public $date;
+    public $updateTime;
    
     public $_table = 'CLD_invoice';
     public $_primarykey = 'iid';
     
-    public $_fields = array('iid','invoiceManage', 'pendingApprovals','processApprovals' ,'status' ,'invoicePrice', 'cid','categoryName', 'remark', 'invoiceElement','invoiceType', 'invoiceTitle', 'invoiceCompany'
-    , 'TIN', 'address','phone', 'bank', 'bankAccount','doPost', 'recipients', 'recipientsPhone','recipientsAddress', 'mailItems','sid','userName','date');
+    public $_fields = array('iid','invoiceManage', 'pendingApprovals','processApprovals','invoiceSerial' ,'status' ,'invoicePrice', 'cid','categoryName', 'remark', 'invoiceElement','invoiceType', 'invoiceTitle', 'invoiceCompany'
+    , 'TIN', 'address','phone', 'bank', 'bankAccount','doPost', 'recipients', 'recipientsPhone','recipientsAddress', 'mailItems','sid','userName','date','updateTime');
 
    
 }

+ 1 - 1
protected/view/admin/invoiceApproval.html

@@ -46,7 +46,7 @@
                                     <!-- endif -->
                                     </td>
                                     <td>{{invoiceList' value.categoryName}}{{invoiceList' value.userName}} {{invoiceList' value.date}}</td>
-                                    <td></td>
+                                    <td>{{invoiceList' value.lastApprover.username}}&nbsp;{{invoiceList' value.lastApprover.date}}</td>
                                     <td><a class="button btn-block" href="/invoiceDetail/{{invoiceList' vlaue.iidKey}}.html" >审批开票</a></td>
                                 </tr>
                                 <!-- endloop -->