|
@@ -377,47 +377,89 @@ class ReceiptController extends DooController {
|
|
|
$this->render ( "/admin/saea_create", $data );
|
|
|
}
|
|
|
|
|
|
- private function _storageItinerary($itinerary,$rid){
|
|
|
- Doo::loadModel ( 'itinerary' );
|
|
|
+ private function _storageItinerary($itinerary,$rid,$version=2){
|
|
|
+
|
|
|
|
|
|
$itineraryJson=json_decode($itinerary,true);
|
|
|
|
|
|
+ Doo::loadModel ( 'itinerary' );
|
|
|
$itinerary = new itinerary ();
|
|
|
$itinerary->delete(array('where' => 'rid=' . $rid ));
|
|
|
|
|
|
- foreach ($itineraryJson as $key=>$value){
|
|
|
- if($key==0){
|
|
|
- $feeTraveItem=json_encode($value['feeTraveItem']);
|
|
|
- $itinerary = new itinerary ();
|
|
|
- $itinerary->rid=$rid;
|
|
|
- $itinerary->sid=$this->staff [0] ['sid'];
|
|
|
- $itinerary->itineraryDate=$value['departuredate'];
|
|
|
- $itinerary->itineraryCity=$value['departurecity'];
|
|
|
- $itinerary->feeTraveItem='';
|
|
|
- $itinerary->itineraryIndex=0;
|
|
|
- $itinerary->insert ();
|
|
|
-
|
|
|
- $itinerary = new itinerary ();
|
|
|
- $itinerary->rid=$rid;
|
|
|
- $itinerary->sid=$this->staff [0] ['sid'];
|
|
|
- $itinerary->itineraryDate=substr($value['arrivalsdate'],1);
|
|
|
- $itinerary->itineraryCity=substr($value['arrivalscity'],1);
|
|
|
- $itinerary->feeTraveItem=$feeTraveItem;
|
|
|
- $itinerary->itineraryIndex=1;
|
|
|
- $itinerary->insert ();
|
|
|
-
|
|
|
- }else{
|
|
|
- $feeTraveItem=json_encode($value['feeTraveItem']);
|
|
|
- $itinerary = new itinerary ();
|
|
|
- $itinerary->rid=$rid;
|
|
|
- $itinerary->sid=$this->staff [0] ['sid'];
|
|
|
- $itinerary->itineraryDate=substr($value['arrivalsdate'],1);
|
|
|
- $itinerary->itineraryCity=substr($value['arrivalscity'],1);
|
|
|
- $itinerary->feeTraveItem=$feeTraveItem;
|
|
|
- $itinerary->itineraryIndex=$key+1;
|
|
|
- $itinerary->insert ();
|
|
|
+ if($version==2){
|
|
|
+ foreach ($itineraryJson as $k=>$v){
|
|
|
+ foreach ($v as $kk=>$vv){
|
|
|
+ foreach ($vv as $key=>$value){
|
|
|
+ if($key==0){
|
|
|
+ $feeTraveItem=json_encode($value['feeTraveItem']);
|
|
|
+ $itinerary = new itinerary ();
|
|
|
+ $itinerary->rid=$rid;
|
|
|
+ $itinerary->sid=$this->staff [0] ['sid'];
|
|
|
+ $itinerary->itineraryDate=$value['departuredate'];
|
|
|
+ $itinerary->itineraryCity=$value['departurecity'];
|
|
|
+ $itinerary->feeTraveItem='';
|
|
|
+ $itinerary->itineraryIndex=0;
|
|
|
+ $itinerary->insert ();
|
|
|
+
|
|
|
+ $itinerary = new itinerary ();
|
|
|
+ $itinerary->rid=$rid;
|
|
|
+ $itinerary->sid=$this->staff [0] ['sid'];
|
|
|
+ $itinerary->itineraryDate=substr($value['arrivalsdate'],1);
|
|
|
+ $itinerary->itineraryCity=substr($value['arrivalscity'],1);
|
|
|
+ $itinerary->feeTraveItem=$feeTraveItem;
|
|
|
+ $itinerary->itineraryIndex=1;
|
|
|
+ $itinerary->insert ();
|
|
|
+
|
|
|
+ }else{
|
|
|
+ $feeTraveItem=json_encode($value['feeTraveItem']);
|
|
|
+ $itinerary = new itinerary ();
|
|
|
+ $itinerary->rid=$rid;
|
|
|
+ $itinerary->sid=$this->staff [0] ['sid'];
|
|
|
+ $itinerary->itineraryDate=substr($value['arrivalsdate'],1);
|
|
|
+ $itinerary->itineraryCity=substr($value['arrivalscity'],1);
|
|
|
+ $itinerary->feeTraveItem=$feeTraveItem;
|
|
|
+ $itinerary->itineraryIndex=$key+1;
|
|
|
+ $itinerary->insert ();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
-
|
|
|
+ }elseif($version==1){
|
|
|
+ foreach ($itineraryJson as $key=>$value){
|
|
|
+ if($key==0){
|
|
|
+ $feeTraveItem=json_encode($value['feeTraveItem']);
|
|
|
+ $itinerary = new itinerary ();
|
|
|
+ $itinerary->rid=$rid;
|
|
|
+ $itinerary->sid=$this->staff [0] ['sid'];
|
|
|
+ $itinerary->itineraryDate=$value['departuredate'];
|
|
|
+ $itinerary->itineraryCity=$value['departurecity'];
|
|
|
+ $itinerary->feeTraveItem='';
|
|
|
+ $itinerary->itineraryIndex=0;
|
|
|
+ $itinerary->insert ();
|
|
|
+
|
|
|
+ $itinerary = new itinerary ();
|
|
|
+ $itinerary->rid=$rid;
|
|
|
+ $itinerary->sid=$this->staff [0] ['sid'];
|
|
|
+ $itinerary->itineraryDate=substr($value['arrivalsdate'],1);
|
|
|
+ $itinerary->itineraryCity=substr($value['arrivalscity'],1);
|
|
|
+ $itinerary->feeTraveItem=$feeTraveItem;
|
|
|
+ $itinerary->itineraryIndex=1;
|
|
|
+ $itinerary->insert ();
|
|
|
+
|
|
|
+ }else{
|
|
|
+ $feeTraveItem=json_encode($value['feeTraveItem']);
|
|
|
+ $itinerary = new itinerary ();
|
|
|
+ $itinerary->rid=$rid;
|
|
|
+ $itinerary->sid=$this->staff [0] ['sid'];
|
|
|
+ $itinerary->itineraryDate=substr($value['arrivalsdate'],1);
|
|
|
+ $itinerary->itineraryCity=substr($value['arrivalscity'],1);
|
|
|
+ $itinerary->feeTraveItem=$feeTraveItem;
|
|
|
+ $itinerary->itineraryIndex=$key+1;
|
|
|
+ $itinerary->insert ();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ die ( '行程单版本不正确' );
|
|
|
}
|
|
|
|
|
|
}
|
|
@@ -433,18 +475,36 @@ class ReceiptController extends DooController {
|
|
|
$itineraryJson=json_decode($itinerary,true);
|
|
|
|
|
|
$itineraryDate=array();$sql=array();
|
|
|
- foreach ($itineraryJson as $key=>$value){
|
|
|
- if($key==0){
|
|
|
- array_push($itineraryDate, $value['departuredate']);
|
|
|
- array_push($itineraryDate, substr($value['arrivalsdate'],1));
|
|
|
- array_push($sql,'?');array_push($sql,'?');
|
|
|
- }else{
|
|
|
- array_push($itineraryDate, substr($value['arrivalsdate'],1));
|
|
|
- array_push($sql,'?');
|
|
|
+ foreach ($itineraryJson as $k=>$v){
|
|
|
+ foreach ($v as $kk=>$vv){
|
|
|
+ foreach ($vv as $key=>$value){
|
|
|
+ if($key==0){
|
|
|
+ array_push($itineraryDate, $value['departuredate']);
|
|
|
+ array_push($itineraryDate, substr($value['arrivalsdate'],1));
|
|
|
+ array_push($sql,'?');array_push($sql,'?');
|
|
|
+ }else{
|
|
|
+ array_push($itineraryDate, substr($value['arrivalsdate'],1));
|
|
|
+ array_push($sql,'?');
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
array_push($itineraryDate, $this->staff [0] ['sid']);
|
|
|
$sql=implode(',',$sql);
|
|
|
+
|
|
|
+// $itineraryDate=array();$sql=array();
|
|
|
+// foreach ($itineraryJson as $key=>$value){
|
|
|
+// if($key==0){
|
|
|
+// array_push($itineraryDate, $value['departuredate']);
|
|
|
+// array_push($itineraryDate, substr($value['arrivalsdate'],1));
|
|
|
+// array_push($sql,'?');array_push($sql,'?');
|
|
|
+// }else{
|
|
|
+// array_push($itineraryDate, substr($value['arrivalsdate'],1));
|
|
|
+// array_push($sql,'?');
|
|
|
+// }
|
|
|
+// }
|
|
|
+// array_push($itineraryDate, $this->staff [0] ['sid']);
|
|
|
+// $sql=implode(',',$sql);
|
|
|
|
|
|
$qualification=array(
|
|
|
'where' => 'itineraryDate in ('.$sql.') and sid=? ',
|
|
@@ -486,14 +546,17 @@ class ReceiptController extends DooController {
|
|
|
die ( '请填写联行号' );
|
|
|
}
|
|
|
|
|
|
-
|
|
|
if($receiptClass==2){
|
|
|
+ //TODO 日期检测
|
|
|
if($this->_verificationItinerary($itinerary)){
|
|
|
header ( 'Content-Type:text/html;charset=utf-8' );
|
|
|
die ( '已申请过类此日期的行程' );
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ $itinerary=str_replace('\n','<br/>',$itinerary);
|
|
|
+
|
|
|
+
|
|
|
Doo::loadModel ( 'receipt' );
|
|
|
Doo::loadModel ( 'receiptDetail' );
|
|
|
Doo::loadModel ( 'accountItem' );
|
|
@@ -618,7 +681,7 @@ class ReceiptController extends DooController {
|
|
|
|
|
|
$receipt->receiptClass = $receiptClass;
|
|
|
|
|
|
- $receipt->itinerary=$itinerary;
|
|
|
+ $receipt->itinerary2=$itinerary;
|
|
|
|
|
|
$receipt->remittanceName = $remittanceName;
|
|
|
$receipt->bankName = $bankName;
|
|
@@ -628,11 +691,10 @@ class ReceiptController extends DooController {
|
|
|
$receipt->coupletNumber = $coupletNumber;
|
|
|
}
|
|
|
$rid = $receipt->insert ();
|
|
|
-
|
|
|
+
|
|
|
//记录行程单
|
|
|
$this->_storageItinerary($itinerary,$rid);
|
|
|
|
|
|
-
|
|
|
// 附件
|
|
|
if (! empty ( $enclosurName )) {
|
|
|
$enclosurArray = explode ( '-', $enclosurName );
|
|
@@ -728,12 +790,12 @@ class ReceiptController extends DooController {
|
|
|
|
|
|
$itineraryList=json_decode($itinerary,true);
|
|
|
|
|
|
- foreach ($itineraryList as $key=>$value){
|
|
|
- if(empty($value['departuredate'])||empty($value['departurecity'])){
|
|
|
- header ( 'Content-Type:text/html;charset=utf-8' );
|
|
|
- die ( '请设置出发地和出发日期' );
|
|
|
- }
|
|
|
- }
|
|
|
+// foreach ($itineraryList as $key=>$value){
|
|
|
+// if(empty($value['departuredate'])||empty($value['departurecity'])){
|
|
|
+// header ( 'Content-Type:text/html;charset=utf-8' );
|
|
|
+// die ( '请设置出发地和出发日期' );
|
|
|
+// }
|
|
|
+// }
|
|
|
|
|
|
if ($this->_buildFeeData(2,$itinerary)) {
|
|
|
return "/saeaBorad?travel=success";
|
|
@@ -839,6 +901,10 @@ class ReceiptController extends DooController {
|
|
|
if (empty ( $receiptDetail )) {
|
|
|
die ( 'illegal request-emptyData' );
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
$enclosurList = $enclosur->getEnclosurByRid ( $receiptDetail ['rid'] );
|
|
|
$acItem = $accountItem->find ( array (
|
|
|
'asArray' => true
|
|
@@ -876,6 +942,12 @@ class ReceiptController extends DooController {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ //$receiptDetail['itinerary']=str_replace('\n','<br/>',$receiptDetail['itinerary']);
|
|
|
+
|
|
|
+ //nl2br($receiptDetail['explanation']);
|
|
|
+
|
|
|
+ $receiptDetail['explanation']= str_replace('<br/>',"\n",$receiptDetail['explanation']);
|
|
|
+
|
|
|
$data ['category'] = $lCategory->find ( array (
|
|
|
'asArray' => true
|
|
|
) );
|
|
@@ -896,7 +968,14 @@ class ReceiptController extends DooController {
|
|
|
if($receiptDetail['receiptClass']==1){
|
|
|
$this->render ( "/receipt/feeAgencyEdi", $data );
|
|
|
}elseif($receiptDetail['receiptClass']==2){
|
|
|
- $this->render ( "/receipt/feeTravelEdi", $data );
|
|
|
+
|
|
|
+ if(!empty($receiptDetail['itinerary2'])){
|
|
|
+ //TODO 报销说明
|
|
|
+
|
|
|
+ $this->render ( "/receipt/feeTravelEdi2", $data );
|
|
|
+ }else{
|
|
|
+ $this->render ( "/receipt/feeTravelEdi", $data );
|
|
|
+ }
|
|
|
}elseif($receiptDetail['receiptClass']==3){
|
|
|
$this->render ( "/receipt/feeInternalTrainEdi", $data );
|
|
|
}else{
|
|
@@ -917,7 +996,7 @@ class ReceiptController extends DooController {
|
|
|
|
|
|
|
|
|
$receiptClass = $this->get_args ( 'receiptClass' ) ? $this->get_args ( 'receiptClass' ) : "";
|
|
|
- $itinerary = $this->get_args ( 'itinerary' ) ? $this->get_args ( 'itinerary' ) : "";
|
|
|
+ $itinerary = $_POST['itinerary'];
|
|
|
|
|
|
$verify = $this->get_args ( 'verify' ) && is_numeric ( $this->get_args ( 'verify' ) ) ? $this->get_args ( 'verify' ) : 0;
|
|
|
$explanation = $this->get_args ( 'explanation' ) ? $this->get_args ( 'explanation' ) : "";
|
|
@@ -963,9 +1042,14 @@ class ReceiptController extends DooController {
|
|
|
return "/saeaBorad";
|
|
|
}
|
|
|
|
|
|
- //行程单
|
|
|
- $this->_storageItinerary($itinerary,$rid);
|
|
|
+ //TODO 存储行程单-兼容旧版本的行程单
|
|
|
+ $itinerary=str_replace('\n','<br/>',$itinerary);
|
|
|
|
|
|
+ if(!empty($receiptDetail['itinerary2'])){
|
|
|
+ $this->_storageItinerary($itinerary,$rid);
|
|
|
+ }else{
|
|
|
+ $this->_storageItinerary($itinerary,$rid,1);
|
|
|
+ }
|
|
|
|
|
|
if ($receiptDetail ['Rtype'] == 1) {
|
|
|
$executeDetail = $execute->getOne ( array (
|
|
@@ -1088,7 +1172,11 @@ class ReceiptController extends DooController {
|
|
|
$receipt->explanation = $explanation;
|
|
|
|
|
|
if($receiptClass=='trave'){
|
|
|
- $receipt->itinerary=$itinerary;
|
|
|
+ if(!empty($receiptDetail['itinerary2'])){//行程单版本
|
|
|
+ $receipt->itinerary2=$itinerary;
|
|
|
+ }else{
|
|
|
+ $receipt->itinerary=$itinerary;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
$receipt->remittanceName = $remittanceName;
|
|
@@ -4986,6 +5074,8 @@ class ReceiptController extends DooController {
|
|
|
$enclosurHtml .= '<a href="/upload/swfupload/' . $value ['name'] . '" class="sFile" target="_blank">' . $value ['name'] . '</a>';
|
|
|
}
|
|
|
|
|
|
+ $receiptList[0]['itinerary']=str_replace('\n','<br/>',$receiptList[0]['itinerary']);
|
|
|
+
|
|
|
$data ['enclosurHtml'] = $enclosurHtml;
|
|
|
|
|
|
//print_r($receiptList[0]['accountItem']['内部培训费用']);
|
|
@@ -5000,8 +5090,11 @@ class ReceiptController extends DooController {
|
|
|
$data ['executeId'] = $this->executeId;
|
|
|
|
|
|
if($receiptList[0]['receiptClass']==2){
|
|
|
- $this->render ( "/receipt/feeTraveDetail", $data );
|
|
|
- //$this->render ( "/admin/expensesCollect", $data );
|
|
|
+ if(!empty($receiptList[0]['itinerary2'])){
|
|
|
+ $this->render ( "/receipt/feeTraveDetail2", $data );
|
|
|
+ }else{
|
|
|
+ $this->render ( "/receipt/feeTraveDetail", $data );
|
|
|
+ }
|
|
|
}else{
|
|
|
$this->render ( "/admin/expensesCollect", $data );
|
|
|
}
|
|
@@ -5786,7 +5879,7 @@ class ReceiptController extends DooController {
|
|
|
$data ['enclosurHtml'] = $enclosurHtml;
|
|
|
$receiptList [0] ['rlList'] = $rlList;
|
|
|
$data ['receiptList'] = $receiptList;
|
|
|
-
|
|
|
+ $data ['receiptList'][0]['itinerary']=str_replace('\n','<br/>',$receiptList[0]['itinerary']);
|
|
|
// print_r($receiptList);
|
|
|
|
|
|
$data ['memu'] = "receipt";
|
|
@@ -5801,502 +5894,13 @@ class ReceiptController extends DooController {
|
|
|
|
|
|
function expensesDoc() {
|
|
|
$data=$this->_expensesDoc();
|
|
|
-
|
|
|
-
|
|
|
-// $rid = isset ( $this->params ['rid'] ) ? $this->params ['rid'] : '';
|
|
|
-
|
|
|
-// Doo::loadClass ( 'XDeode' );
|
|
|
-// $XDeode = new XDeode ( 5 );
|
|
|
-// if (! empty ( $rid ) && ! is_numeric ( $rid ))
|
|
|
-// $rid = $XDeode->decode ( $rid );
|
|
|
-// if (! is_numeric ( $rid ))
|
|
|
-// die ( 'illegal request' );
|
|
|
-
|
|
|
-// Doo::loadModel ( 'receipt' );
|
|
|
-// $receipt = new receipt ();
|
|
|
-
|
|
|
-// Doo::loadModel ( 'L_category' );
|
|
|
-// $Lcategory = new L_category ();
|
|
|
-// Doo::loadModel ( 'verify' );
|
|
|
-// Doo::loadModel ( 'statistics' );
|
|
|
-// $statistics = new statistics ();
|
|
|
-// $verify = new verify ();
|
|
|
-// Doo::loadModel ( 'staff' );
|
|
|
-// $staff = new staff ();
|
|
|
-
|
|
|
-// Doo::loadModel ( 'loanReceipt' );
|
|
|
-// $loanReceipt = new loanReceipt ();
|
|
|
-
|
|
|
-// $receiptList = $receipt->find ( array (
|
|
|
-// 'where' => ' rid=' . $rid,
|
|
|
-// 'desc' => 'rid',
|
|
|
-// 'asArray' => true
|
|
|
-// ) );
|
|
|
-
|
|
|
-// $loanList = array ();
|
|
|
-// if (! empty ( $receiptList ))
|
|
|
-// $loanList = $loanReceipt->find ( array (
|
|
|
-// 'where' => 'rid=' . $receiptList [0] ['loanRid'],
|
|
|
-// 'desc' => 'rid',
|
|
|
-// 'asArray' => true
|
|
|
-// ) );
|
|
|
-
|
|
|
-// $Locate = 0;
|
|
|
-// $roleId = 0;
|
|
|
-// $button = 0;
|
|
|
-// foreach ( $loanList as $key => $value ) {
|
|
|
-// $loanList [$key] ['Locate'] = $Locate;
|
|
|
-// $Locate ++;
|
|
|
-// $loanList [$key] ['reviseDetail'] = array ();
|
|
|
-// if (! empty ( $value ['reviseDetail'] ))
|
|
|
-// $loanList [$key] ['reviseDetail'] = json_decode ( $value ['reviseDetail'], true );
|
|
|
-// $loanList [$key] ['accountItem'] = json_decode ( $value ['accountItem'], true );
|
|
|
-// $loanList [$key] ['loanItem'] = json_decode ( $value ['loanItem'], true );
|
|
|
-// $categoryDetil = $Lcategory->getOne ( array (
|
|
|
-// 'where' => 'cid=' . $value ['cid'],
|
|
|
-// 'asArray' => true
|
|
|
-// ) );
|
|
|
-// $loanList [$key] ['category'] = $categoryDetil ['title'];
|
|
|
-
|
|
|
-// // 检测编辑状态
|
|
|
-// if ($value ['status'] == 3 || $value ['status'] == 1 || $value ['status'] == 8 || $value ['status'] == 9)
|
|
|
-// $verifyList ['staff'] = $value ['verifyBreakup'];
|
|
|
-// else
|
|
|
-// $verifyList = $verify->getOne ( array (
|
|
|
-// 'where' => 'vid=' . $value ['verify'],
|
|
|
-// 'asArray' => true
|
|
|
-// ) );
|
|
|
-
|
|
|
-// $verifyList = json_decode ( $verifyList ['staff'], true ); // status opinion
|
|
|
-// $verifyStaff = json_decode ( $value ['verifyStaff'], true );
|
|
|
-
|
|
|
-// Doo::loadModel ( 'role' );
|
|
|
-// $role = new role ();
|
|
|
-
|
|
|
-// $flag = true;
|
|
|
-// $roleKey = 0;
|
|
|
-// $endStaffArray = array ();
|
|
|
-// $roleArrayCopy = array ();
|
|
|
-// foreach ( $verifyList as $k => $v ) {
|
|
|
-// // init verifyStaff
|
|
|
-
|
|
|
-// if ($v [1] == 'ROLE') {
|
|
|
-
|
|
|
-// if (! empty ( $verifyStaff )) {
|
|
|
-// $endStaffArray = end ( $verifyStaff );
|
|
|
-// // if ($v[0]==$endStaffArray['nextStaff']){
|
|
|
-// // $roleId=$v[0];
|
|
|
-// // }
|
|
|
-// }
|
|
|
-
|
|
|
-// $roleVerify = json_decode ( $v [3], true );
|
|
|
-// $roleKey = $k;
|
|
|
-// $roleArray = array ();
|
|
|
-// $rolename = $role->getOne ( array (
|
|
|
-// 'where' => 'rid=' . $v [0],
|
|
|
-// 'asArray' => true
|
|
|
-// ) );
|
|
|
-
|
|
|
-// foreach ( $roleVerify as $o => $p ) {
|
|
|
-// $staffID = explode ( '_', $p );
|
|
|
-// $staffInfo = $staff->getOne ( array (
|
|
|
-// 'where' => 'sid=' . $staffID [0],
|
|
|
-// 'asArray' => true
|
|
|
-// ) );
|
|
|
-// // print_r($staffID);
|
|
|
-// $exp = array (
|
|
|
-// 0 => $staffInfo ['sid'],
|
|
|
-// 1 => $staffID [1],
|
|
|
-// 2 => $staffInfo ['avatar'],
|
|
|
-// 'date' => '',
|
|
|
-// 'date' => '',
|
|
|
-// 'opinion' => '',
|
|
|
-// 'status' => '',
|
|
|
-// 'rolename' => $rolename ['name']
|
|
|
-// );
|
|
|
-// array_push ( $roleArray, $exp );
|
|
|
-// }
|
|
|
-// $roleArrayCopy [$v [0]] = $roleArray;
|
|
|
-// // $verifyList[$k]['roleArray']=$roleArray;
|
|
|
-// }
|
|
|
-
|
|
|
-// $verifyList [$k] ['date'] = "";
|
|
|
-// $verifyList [$k] ['opinion'] = "";
|
|
|
-// $verifyList [$k] ['status'] = "";
|
|
|
-// if (empty ( $verifyStaff )) {
|
|
|
-// $verifyList [$k] ['date'] = "";
|
|
|
-// $verifyList [$k] ['opinion'] = "";
|
|
|
-// if (($verifyList [0] [0] == $this->staff [0] ['sid']) && $flag) {
|
|
|
-// $verifyList [$k] ['status'] = 4;
|
|
|
-// $flag = false;
|
|
|
-// }
|
|
|
-// } else {
|
|
|
-
|
|
|
-// foreach ( $verifyStaff as $m => $u ) {
|
|
|
-// if ($v [0] == $m) {
|
|
|
-// $verifyList [$k] ['date'] = $u ['date'];
|
|
|
-// $verifyList [$k] ['opinion'] = $u ['opinion'];
|
|
|
-// $verifyList [$k] ['status'] = $u ['status'];
|
|
|
-// $flag = false;
|
|
|
-// break;
|
|
|
-// }
|
|
|
-// }
|
|
|
-
|
|
|
-// $endStaffArray = end ( $verifyStaff );
|
|
|
-// if (isset ( $endStaffArray ['ROLE'] )) {
|
|
|
-// } else {
|
|
|
-// // $endKey=key($verifyStaff);
|
|
|
-// // if ($v[0]==$endStaffArray['nextStaff']&&$endStaffArray['nextStaff']==$this->staff[0]['sid']){
|
|
|
-// // $button=4;
|
|
|
-// // $verifyList[$k]['status']=4;
|
|
|
-// // }
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-
|
|
|
-// $rolename ['name'] = '';
|
|
|
-// if (! empty ( $roleId )) {
|
|
|
-// Doo::loadModel ( 'role' );
|
|
|
-// $role = new role ();
|
|
|
-// $rolename = $role->getOne ( array (
|
|
|
-// 'where' => 'rid=' . $roleId,
|
|
|
-// 'asArray' => true
|
|
|
-// ) );
|
|
|
-// }
|
|
|
-
|
|
|
-// if (! empty ( $verifyStaff ))
|
|
|
-// $endStaffArray = end ( $verifyStaff );
|
|
|
-
|
|
|
-// $KOP = false;
|
|
|
-// foreach ( $roleArrayCopy as $P => $A ) {
|
|
|
-
|
|
|
-// foreach ( $A as $MKI => $AVL ) {
|
|
|
-// if (! empty ( $verifyStaff )) {
|
|
|
-// // &&$rolename['rid']==$endStaffArray['nextStaff']
|
|
|
-// if ($this->staff [0] ['sid'] == $AVL [0] && isset ( $endStaffArray ['ROLE'] ) && $rolename ['rid'] == $endStaffArray ['nextStaff']) {
|
|
|
-// $button = 4;
|
|
|
-// $roleArrayCopy [$P] [$MKI] ['status'] = 4;
|
|
|
-// }
|
|
|
-
|
|
|
-// foreach ( $verifyStaff as $m => $u ) {
|
|
|
-// $AVLFK = $AVL [0] . '_R';
|
|
|
-// // echo $AVLFK.'=='.$m;var_dump($AVLFK==$m);echo '<br/>';
|
|
|
-
|
|
|
-// if (strcmp ( $AVLFK, $m ) == 0) { // &&isset($u['ROLE'])&&$u['ROLE']==1
|
|
|
-// $roleArrayCopy [$P] [$MKI] ['date'] = $u ['date'];
|
|
|
-// $roleArrayCopy [$P] [$MKI] ['opinion'] = $u ['opinion'];
|
|
|
-// $roleArrayCopy [$P] [$MKI] ['status'] = $u ['status'];
|
|
|
-
|
|
|
-// break;
|
|
|
-// }
|
|
|
-// }
|
|
|
-// } else {
|
|
|
-
|
|
|
-// if ($this->staff [0] ['sid'] == $AVL [0] && $verifyList [0] [1] == 'ROLE') {
|
|
|
-// $button = 4;
|
|
|
-// $roleArrayCopy [$P] [$MKI] ['status'] = 4;
|
|
|
-// }
|
|
|
-// }
|
|
|
-// // $roleArray[$MKI]['rolename']=$rolename['name'];
|
|
|
-// $KOP = true;
|
|
|
-// }
|
|
|
-// }
|
|
|
-
|
|
|
-// foreach ( $roleArrayCopy as $k => $v ) {
|
|
|
-// foreach ( $verifyList as $m => $n ) {
|
|
|
-// if ($n [0] == $k) {
|
|
|
-// array_splice ( $verifyList, $m, 1, $v );
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-
|
|
|
-// $loanList [$key] ['verifyList'] = $verifyList;
|
|
|
-// $loanList [$key] ['staffDetail'] = $staff->getOne ( array (
|
|
|
-// 'where' => 'sid=' . $value ['staff'],
|
|
|
-// 'asArray' => true
|
|
|
-// ) );
|
|
|
-// $loanList [$key] ['button'] = $button;
|
|
|
-
|
|
|
-// //$loanList[$key]['sumCN']=$this->NumToCNMoney($value['sum']);
|
|
|
-// }
|
|
|
-// $data ['loanList'] = $loanList;
|
|
|
-
|
|
|
-// //print_r($loanList);
|
|
|
-
|
|
|
-// $Locate = 0;
|
|
|
-// $roleId = 0;
|
|
|
-// $button = 0;
|
|
|
-// foreach ( $receiptList as $key => $value ) {
|
|
|
-// $receiptList [$key] ['Locate'] = $Locate;
|
|
|
-// $Locate ++;
|
|
|
-// $receiptList [$key] ['reviseDetail'] = array ();
|
|
|
-// if (! empty ( $value ['reviseDetail'] ))
|
|
|
-// $receiptList [$key] ['reviseDetail'] = json_decode ( $value ['reviseDetail'], true );
|
|
|
-// $receiptList [$key] ['accountItem'] = json_decode ( $value ['accountItem'], true );
|
|
|
-// $receiptList [$key] ['loanItem'] = json_decode ( $value ['loanItem'], true );
|
|
|
-// $categoryDetil = $Lcategory->getOne ( array (
|
|
|
-// 'where' => 'cid=' . $value ['cid'],
|
|
|
-// 'asArray' => true
|
|
|
-// ) );
|
|
|
-// $receiptList [$key] ['category'] = $categoryDetil ['title'];
|
|
|
-
|
|
|
-// // 检测编辑状态
|
|
|
-// if ($value ['status'] == 3 || $value ['status'] == 1 || $value ['status'] == 9) {
|
|
|
-// $verifyList ['staff'] = $value ['verifyBreakup'];
|
|
|
-// } else
|
|
|
-// $verifyList = $verify->getOne ( array (
|
|
|
-// 'where' => 'vid=' . $value ['verify'],
|
|
|
-// 'asArray' => true
|
|
|
-// ) );
|
|
|
-
|
|
|
-// $verifyList = json_decode ( $verifyList ['staff'], true ); // status opinion
|
|
|
-
|
|
|
-// $verifyStaff = json_decode ( $value ['verifyStaff'], true );
|
|
|
-
|
|
|
-// Doo::loadModel ( 'role' );
|
|
|
-// $role = new role ();
|
|
|
-
|
|
|
-// if ($verifyList == NULL)
|
|
|
-// $verifyList = array ();
|
|
|
-// $flag = true;
|
|
|
-// $roleKey = 0;
|
|
|
-// $endStaffArray = array ();
|
|
|
-// $roleArrayCopy = array ();
|
|
|
-// foreach ( $verifyList as $k => $v ) {
|
|
|
-// // init verifyStaff
|
|
|
-
|
|
|
-// if ($v [1] == 'ROLE') {
|
|
|
-
|
|
|
-// if (! empty ( $verifyStaff )) {
|
|
|
-// $endStaffArray = end ( $verifyStaff );
|
|
|
-// // if ($v[0]==$endStaffArray['nextStaff']){
|
|
|
-// // $roleId=$v[0];
|
|
|
-// // }
|
|
|
-// }
|
|
|
-
|
|
|
-// $roleVerify = json_decode ( $v [3], true );
|
|
|
-// $roleKey = $k;
|
|
|
-// $roleArray = array ();
|
|
|
-// $rolename = $role->getOne ( array (
|
|
|
-// 'where' => 'rid=' . $v [0],
|
|
|
-// 'asArray' => true
|
|
|
-// ) );
|
|
|
-
|
|
|
-// foreach ( $roleVerify as $o => $p ) {
|
|
|
-// $staffID = explode ( '_', $p );
|
|
|
-// $staffInfo = $staff->getOne ( array (
|
|
|
-// 'where' => 'sid=' . $staffID [0],
|
|
|
-// 'asArray' => true
|
|
|
-// ) );
|
|
|
-// // print_r($staffID);
|
|
|
-// $exp = array (
|
|
|
-// 0 => $staffInfo ['sid'],
|
|
|
-// 1 => $staffID [1],
|
|
|
-// 2 => $staffInfo ['avatar'],
|
|
|
-// 'date' => '',
|
|
|
-// 'date' => '',
|
|
|
-// 'opinion' => '',
|
|
|
-// 'status' => '',
|
|
|
-// 'rolename' => $rolename ['name']
|
|
|
-// );
|
|
|
-// array_push ( $roleArray, $exp );
|
|
|
-// }
|
|
|
-// $roleArrayCopy [$v [0]] = $roleArray;
|
|
|
-// // $verifyList[$k]['roleArray']=$roleArray;
|
|
|
-// }
|
|
|
-
|
|
|
-// $verifyList [$k] ['date'] = "";
|
|
|
-// $verifyList [$k] ['opinion'] = "";
|
|
|
-// $verifyList [$k] ['status'] = "";
|
|
|
-// if (empty ( $verifyStaff )) {
|
|
|
-// $verifyList [$k] ['date'] = "";
|
|
|
-// $verifyList [$k] ['opinion'] = "";
|
|
|
-// if (($verifyList [0] [0] == $this->staff [0] ['sid']) && $flag) {
|
|
|
-// $verifyList [$k] ['status'] = 4;
|
|
|
-// $flag = false;
|
|
|
-// }
|
|
|
-// } else {
|
|
|
-
|
|
|
-// foreach ( $verifyStaff as $m => $u ) {
|
|
|
-// if ($v [0] == $m) {
|
|
|
-// $verifyList [$k] ['date'] = $u ['date'];
|
|
|
-// $verifyList [$k] ['opinion'] = $u ['opinion'];
|
|
|
-// $verifyList [$k] ['status'] = $u ['status'];
|
|
|
-// $flag = false;
|
|
|
-// break;
|
|
|
-// }
|
|
|
-// }
|
|
|
-
|
|
|
-// $endStaffArray = end ( $verifyStaff );
|
|
|
-// if (isset ( $endStaffArray ['ROLE'] )) {
|
|
|
-// } else {
|
|
|
-// // $endKey=key($verifyStaff);
|
|
|
-// // if ($v[0]==$endStaffArray['nextStaff']&&$endStaffArray['nextStaff']==$this->staff[0]['sid']){
|
|
|
-// // $button=4;
|
|
|
-// // $verifyList[$k]['status']=4;
|
|
|
-// // }
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-
|
|
|
-// $FC = @$rolename ['name'];
|
|
|
-// $rolename ['name'] = '';
|
|
|
-// if (! empty ( $roleId )) {
|
|
|
-// Doo::loadModel ( 'role' );
|
|
|
-// $role = new role ();
|
|
|
-// $rolename = $role->getOne ( array (
|
|
|
-// 'where' => 'rid=' . $roleId,
|
|
|
-// 'asArray' => true
|
|
|
-// ) );
|
|
|
-// }
|
|
|
-
|
|
|
-// if (! empty ( $verifyStaff ))
|
|
|
-// $endStaffArray = end ( $verifyStaff );
|
|
|
-
|
|
|
-// $KOP = false;
|
|
|
-// foreach ( $roleArrayCopy as $P => $A ) {
|
|
|
-
|
|
|
-// foreach ( $A as $MKI => $AVL ) {
|
|
|
-// if (! empty ( $verifyStaff )) {
|
|
|
-// // &&$rolename['rid']==$endStaffArray['nextStaff']
|
|
|
-// if ($this->staff [0] ['sid'] == $AVL [0] && isset ( $endStaffArray ['ROLE'] ) && $rolename ['rid'] == $endStaffArray ['nextStaff']) {
|
|
|
-// $button = 4;
|
|
|
-// $roleArrayCopy [$P] [$MKI] ['status'] = 4;
|
|
|
-// }
|
|
|
-
|
|
|
-// foreach ( $verifyStaff as $m => $u ) {
|
|
|
-// $AVLFK = $AVL [0] . '_R';
|
|
|
-// // echo $AVLFK.'=='.$m;var_dump($AVLFK==$m);echo '<br/>';
|
|
|
-
|
|
|
-// if (strcmp ( $AVLFK, $m ) == 0) { // &&isset($u['ROLE'])&&$u['ROLE']==1
|
|
|
-// $roleArrayCopy [$P] [$MKI] ['date'] = $u ['date'];
|
|
|
-// $roleArrayCopy [$P] [$MKI] ['opinion'] = $u ['opinion'];
|
|
|
-// $roleArrayCopy [$P] [$MKI] ['status'] = $u ['status'];
|
|
|
-
|
|
|
-// break;
|
|
|
-// }
|
|
|
-// }
|
|
|
-// } else {
|
|
|
-
|
|
|
-// if ($this->staff [0] ['sid'] == $AVL [0] && $verifyList [0] [1] == 'ROLE') {
|
|
|
-// $button = 4;
|
|
|
-// $roleArrayCopy [$P] [$MKI] ['status'] = 4;
|
|
|
-// }
|
|
|
-// }
|
|
|
-// // $roleArray[$MKI]['rolename']=$rolename['name'];
|
|
|
-// $KOP = true;
|
|
|
-// }
|
|
|
-// }
|
|
|
-
|
|
|
-// foreach ( $roleArrayCopy as $k => $v ) {
|
|
|
-// foreach ( $verifyList as $m => $n ) {
|
|
|
-// if ($n [0] == $k) {
|
|
|
-// array_splice ( $verifyList, $m, 1, $v );
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-
|
|
|
-// // 费用执行人相关数据
|
|
|
-// $executeCopy = json_decode ( $value ['executeCopy'], true );
|
|
|
-// $executeStaff = json_decode ( $value ['executeStaff'], true );
|
|
|
-// foreach ( $executeCopy as $k => $v ) {
|
|
|
-// $executeCopy [$k] ['date'] = '';
|
|
|
-// $executeCopy [$k] ['opinion'] = '';
|
|
|
-// $executeCopy [$k] ['status'] = '';
|
|
|
-// if (! empty ( $executeStaff ))
|
|
|
-// foreach ( $executeStaff as $m => $u ) {
|
|
|
-// if ($v [0] == $m) {
|
|
|
-// $executeCopy [$k] ['date'] = $u ['date'];
|
|
|
-// $executeCopy [$k] ['opinion'] = $u ['opinion'];
|
|
|
-// $executeCopy [$k] ['status'] = $u ['status'];
|
|
|
-// break;
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-// $receiptList [$key] ['executeCopy'] = $executeCopy;
|
|
|
-// // print_r($verifyList);
|
|
|
-// $receiptList [$key] ['verifyList'] = $verifyList;
|
|
|
-// $receiptList [$key] ['staffDetail'] = $staff->getOne ( array (
|
|
|
-// 'where' => 'sid=' . $value ['staff'],
|
|
|
-// 'asArray' => true
|
|
|
-// ) );
|
|
|
-// $receiptList [$key] ['button'] = $button;
|
|
|
-
|
|
|
-// $receiptList [$key] ['sumCN'] = $this->num_to_rmb ( $value ['sum'] );
|
|
|
-// $receiptList [$key] ['loanSumCN'] = $this->num_to_rmb ( $value ['loanSum'] );
|
|
|
-
|
|
|
-// $relust = bcsub ( $value ['sum'], $value ['loanSum'], 2 );
|
|
|
-// $receiptList [$key] ['relust'] = $relust;
|
|
|
-// $receiptList [$key] ['relustCN'] = $this->num_to_rmb ( abs ( $relust ) );
|
|
|
-// }
|
|
|
-
|
|
|
-// // print_r($receiptList);
|
|
|
-
|
|
|
-// // 获取审批日志
|
|
|
-// Doo::loadModel ( 'receiptLog' );
|
|
|
-// $receiptLog = new receiptLog ();
|
|
|
-
|
|
|
-// $rlList = array ();
|
|
|
-// $rlInfo = $receiptLog->getOne ( array (
|
|
|
-// 'where' => 'rid=' . $rid . ' and status=4',
|
|
|
-// 'asArray' => true
|
|
|
-// ) );
|
|
|
-// // $tijdate = $receiptLog->getOne ( array (
|
|
|
-// // 'where' => 'rid=' . $rid . ' and status=2',
|
|
|
-// // 'asc' => 'rlid',
|
|
|
-// // 'asArray' => true
|
|
|
-// // ) );
|
|
|
-// if (! empty ( $rlInfo )) {
|
|
|
-// $rlList = $receiptLog->find ( array (
|
|
|
-// 'where' => 'rid=' . $rid,
|
|
|
-// 'asc' => 'rlid',
|
|
|
-// 'asArray' => true
|
|
|
-// ) );
|
|
|
-// }
|
|
|
-
|
|
|
-// $RN=array();
|
|
|
-// if (!empty( $rolename ['staff'])){
|
|
|
-// $RN = @json_decode ( $rolename ['staff'] );
|
|
|
-// }
|
|
|
-
|
|
|
-// //
|
|
|
-// foreach ( $rlList as $key => $value ) {
|
|
|
-// $rlList [$key] ['rolename'] = '';
|
|
|
-// foreach ( $RN as $k => $v ) {
|
|
|
-// $id = explode ( "_", $v );
|
|
|
-
|
|
|
-// if ($id [0] == $value ['uid']) {
|
|
|
-
|
|
|
-// $rlList [$key] ['rolename'] = $FC;
|
|
|
-// break;
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-
|
|
|
-// Doo::loadModel ( 'enclosur' );
|
|
|
-// $enclosur = new enclosur ();
|
|
|
-// $enclosurList = $enclosur->find ( array (
|
|
|
-// 'where' => 'rid=' . $rid,
|
|
|
-// 'asArray' => true
|
|
|
-// ) );
|
|
|
-// $enclosurHtml = '';
|
|
|
-// foreach ( $enclosurList as $value ) {
|
|
|
-// $enclosurHtml .= '<a href="/upload/swfupload/' . $value ['name'] . '" class="sFile" target="_blank">' . $value ['name'] . '</a>';
|
|
|
-// }
|
|
|
-
|
|
|
-// $data ['enclosurHtml'] = $enclosurHtml;
|
|
|
-// $receiptList [0] ['rlList'] = $rlList;
|
|
|
-// $data ['receiptList'] = $receiptList;
|
|
|
-
|
|
|
-// // print_r($receiptList);
|
|
|
|
|
|
-// $data ['memu'] = "receipt";
|
|
|
-// $data ['staff'] = $this->staff;
|
|
|
+ if(!empty($data['receiptList'][0]['itinerary2'])){
|
|
|
+ $this->render ( "/receipt/feeTraveView", $data );
|
|
|
+ }else{
|
|
|
+ $this->render ( "/admin/expensesDoc", $data );
|
|
|
+ }
|
|
|
|
|
|
-// $data ['receiptMemu'] = 'approvalExpenses';
|
|
|
-// $data ['verifyId'] = $this->verifyId;
|
|
|
-// $data ['executeId'] = $this->executeId;
|
|
|
- $this->render ( "/admin/expensesDoc", $data );
|
|
|
}
|
|
|
|
|
|
function expensesDocPrint(){
|
|
@@ -7589,7 +7193,13 @@ class ReceiptController extends DooController {
|
|
|
$this->render ( "/receipt/receiptImplementLoan", $data );
|
|
|
}elseif($Rtype=="receipt"){
|
|
|
if($receiptList[0]['receiptClass']==2){
|
|
|
- $this->render ( "/receipt/receiptImplementTrave", $data );
|
|
|
+ //TODO 费用执行行程单2.0
|
|
|
+ if(!empty($receiptList[0]['itinerary2'])){
|
|
|
+ $this->render ( "/receipt/receiptImplementTrave2", $data );
|
|
|
+ }else{
|
|
|
+ $this->render ( "/receipt/receiptImplementTrave", $data );
|
|
|
+ }
|
|
|
+
|
|
|
}else{
|
|
|
$this->render ( "/receipt/receiptImplement", $data );
|
|
|
}
|
|
@@ -8267,8 +7877,13 @@ class ReceiptController extends DooController {
|
|
|
if($receiptList[0]['receiptClass']==1){
|
|
|
$this->render ( "/receipt/feeAgencyApproval", $data );
|
|
|
}elseif($receiptList[0]['receiptClass']==2){
|
|
|
- //$this->render ( "/admin/receiptburEdi", $data );
|
|
|
- $this->render ( "/receipt/feeTraveApproval", $data );
|
|
|
+ //TODO 行程单2.0
|
|
|
+ if(!empty($receiptList[0]['itinerary2'])){
|
|
|
+ $this->render ( "/receipt/feeTraveApproval2", $data );
|
|
|
+ }else{
|
|
|
+ $this->render ( "/receipt/feeTraveApproval", $data );
|
|
|
+ }
|
|
|
+
|
|
|
}elseif($receiptList[0]['receiptClass']==3){
|
|
|
$this->render ( "/receipt/feeInternalTrainApproval", $data );
|
|
|
}else{
|