|
@@ -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';
|
|
|
}
|
|
|
}
|
|
|
|