瀏覽代碼

合并AdminController代码

caipin 8 年之前
父節點
當前提交
bcab508617
共有 2 個文件被更改,包括 140 次插入9 次删除
  1. 108 0
      protected/controller/AdminController.php
  2. 32 9
      protected/controller/InvoiceController.php

+ 108 - 0
protected/controller/AdminController.php

@@ -775,6 +775,114 @@ function adminDeleteUser(){
 		return "/adminExecute";
 	}
 	
+function adminInvoice(){
+		Doo::loadModel('staff');
+		$staff=new staff();
+		Doo::loadModel("invoiceManage");
+		$invoiceManage=new invoiceManage();
+		
+		$data['staffList']=$staff->find(array('select'=>'username,sid,avatar','asArray'=>true));
+		$list=$invoiceManage->find(array('asArray'=>true));
+		
+		$execute=array('收款管理'=>'','发票审批'=>'','发票打印'=>'','发票邮寄'=>'','公司汇总查阅'=>'');
+		foreach ($list as $key=>$value){
+			$name=json_decode($value['staff']);
+			$staffString="";
+			if (!empty($name)){
+				foreach ($name as $k=>$v){
+					
+					$staffString.="<span class='tagGroup'> ".$v[1].'<a href="javascript:if(window.confirm(\'确认删除?\'))window.location=\'/delInvoiceManage/'.$v[0].'/'.$value['iid'].'\'"  title="删除" class="icon-">k</a></span>';
+				}
+			}
+			foreach ($execute as $k=>$v){
+				if ($k==$value['mold']){
+					$execute[$k]=$name=$staffString;
+				}
+			}
+		}
+		
+		
+		
+		$data['invoice']=$execute;
+		$data['memu']="invoice";
+		$data['staff']=$this->staff;
+
+		$this->render ( "/admin/adminInvoice", $data );
+	}
+	
+	function addInvoiceManage(){
+		$mold=$this->get_args('mold')?$this->get_args('mold'):"";
+		$staff=$this->get_args('staff')?$this->get_args('staff'):"";
+
+		if(!empty($mold)&&!empty($staff)){
+			Doo::loadModel("invoiceManage");
+			$execute=new invoiceManage();
+			
+			$executeInfo=$execute->getOne(array('where'=>'mold ="'.$mold.'" ','asArray'=>true));
+			if (empty($executeInfo)){
+				
+				$list=array();
+				foreach ($staff as $key=>$value){
+					$info=explode(":", $value);
+					array_push($list, $info);
+				}
+				
+				$execute->mold=$mold;
+				$execute->staff=json_encode($list);
+			
+				$execute->insert();
+			}else{
+				$list=json_decode($executeInfo['staff'],true);
+				
+				foreach ($staff as $k=>$v){
+					$info=explode(":", $v);
+					foreach ($list as $key=>$value){
+						if($value[1]==$info[1]){
+							unset($staff[$k]);
+							break;
+						}
+					}
+				}
+				foreach ($staff as $k=>$v){
+					$info=explode(":", $v);
+					array_push($list, $info);
+				}
+				
+				$execute->staff=json_encode($list);
+				$execute->update(array('where'=>'iid = '.$executeInfo['iid']));
+			}
+		}
+		return "/adminInvoice";
+	}
+	
+	function delInvoiceManage(){
+		$uid=isset($this->params['uid'])&&is_numeric($this->params['uid'])?$this->params['uid']:0;	
+		$iid=isset($this->params['iid'])&&is_numeric($this->params['iid'])?$this->params['iid']:0;	
+		
+		if(!empty($uid)&&!empty($iid)){
+			Doo::loadModel("invoiceManage");
+			$execute=new invoiceManage();
+			
+			$executeInfo=$execute->getOne(array('where'=>'iid ="'.$iid.'" ','asArray'=>true));
+			if (empty($executeInfo))
+				return "/adminInvoice";
+			
+			$ini=array();
+			$list=json_decode($executeInfo['staff'],true);
+			foreach ($list as $k=>$v){
+				if ($v[0]==$uid){
+					$ini=$list[$k];
+					unset($list[$k]);break;
+				}
+			}	
+			
+			$execute->staff=json_encode($list);
+			$execute->update(array('where'=>'iid = '.$executeInfo['iid']));
+		}
+		
+		return "/adminInvoice";
+	}
+	
 	function ajaxRoleStaff(){
 		
 		$name=$this->get_args('name')?$this->get_args('name'):"";

+ 32 - 9
protected/controller/InvoiceController.php

@@ -201,7 +201,9 @@ class InvoiceController extends DooController {
 
 		$iid=isset($this->params['iid'])?$this->params['iid']:"";
 		$iid=$XDeode->decode($iid);//base64_decode($iid);
-
+		if (!is_numeric($iid))
+			die('illegal request');
+		
 		Doo::loadModel('invoice');
 		$invoice=new invoice();
 		Doo::loadModel('invoiceManage');
@@ -230,14 +232,16 @@ class InvoiceController extends DooController {
 		$iid=$this->get_args('invoiceKey')?$this->get_args('invoiceKey'):"";
 		$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 (!empty($iid)&&!empty($status)&&!empty($opinion)){
 			if (!($status==2||$status==3||$status==4))
 				die('illegal request');
 			Doo::loadModel('invoice');
 			$invoice=new invoice();
 
-			$iid=$this->authcode($iid);
 			$invoiceDetail=$invoice->getOne(array('where'=>'status=1 and iid='.$iid.' and pendingApprovals='.$this->staff[0]['sid'],'asArray'=>true));
 			if (empty($invoiceDetail))
 				die('illegal request');
@@ -245,29 +249,48 @@ class InvoiceController extends DooController {
 			$processApprovals=json_decode($invoiceDetail['processApprovals'],true);
 			$invoiceManage=json_decode($invoiceDetail['invoiceManage'],true);
 
-			$invoice->status=$status;
+			
 			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));
-					if ($status!=4)
+					if ($status!=4&&isset($invoiceManage[1]))
 						$invoice->pendingApprovals=$invoiceManage[1][0];
 					$invoice->processApprovals=$processApprovals;
 				}else{
-
 					$processApprovals[$this->staff[0]['sid']]=array('date'=>date('Y-m-d'),'opinion'=>$opinion,'status'=>$status);
-					if($status!=4)
-						$invoice->pendingApprovals=$invoiceManage[1][0];
+					
+					$pendingApprovals=0;
+					foreach ($invoiceManage as $key=>$value){
+						if ($value[0]==$this->staff[0]['sid']){
+							if (isset($invoiceManage[$key+1]))
+								$pendingApprovals=$invoiceManage[$key+1][0];
+							break;
+						}
+					}
+					
+					if($status!=4&&!empty($pendingApprovals))
+						$invoice->pendingApprovals=$pendingApprovals;
 
 					$invoice->processApprovals=$processApprovals;
 				}
+				
+				if(count($processApprovals)==count($invoiceManage)&&$status!=4){
+					$invoice->status=$status;
+				}elseif ($status==4){
+					$invoice->status=$status;
+				}
+				
 			}
 
 			print_r($processApprovals);
-
+die;
 			//$invoice->
 			/*
 			if (isset($verifyStaff['final'])){//rDetail