caipin 5 jaren geleden
bovenliggende
commit
db31293921

+ 16 - 15
Article.php

@@ -65,7 +65,8 @@ class Article extends DooModel {
 //		return $this->find ( array ('desc' => 'time', 'where' => 'a_type=2'.$sql, 'limit' => 50, 'asArray' => TRUE ) );
 //	}
     function getArticleByTrain2($trainingType= '',$area = '', $select = false){
-    	
+
+
     	$condition='a_type=2 ';
     	$parameter=array();
     	if($trainingType != '' && is_numeric($trainingType)){
@@ -77,22 +78,22 @@ class Article extends DooModel {
     		array_push($parameter, $area);
     	}
     	$condition.=' and time+63072000 >= unix_timestamp(now())';
-    	
+
     	$qualification=array(
     			'where' => $condition,
     			'param' => $parameter,
     			'desc'=>'time',
     			'asArray' => TRUE);
-    	
+
     	if ($select) {
     		$qualification+=array('select'=> 'aid,area,trainingType,time,enroll_time,enroll_title');
-    	} 
-    	
+    	}
+
     	$result=$this->find($qualification);
     	return $result;
-    	
-    	
-    	
+
+
+
        /*  $sql = '';
         if($trainingType != '' && is_numeric($trainingType)){
             $sql .= '  and trainingType='.$trainingType;
@@ -120,7 +121,7 @@ class Article extends DooModel {
     }
 
 	function getArticleNumByTrain2($trainingType= '',$area = ''){
-		
+
 		$condition='a_type=2 ';
 		$parameter=array();
 		if($trainingType != '' && is_numeric($trainingType)){
@@ -132,17 +133,17 @@ class Article extends DooModel {
 			array_push($parameter, $area);
 		}
 		$condition.=' and time+63072000 >= unix_timestamp(now())';
-		
+
 		$qualification=array(
 				'where' => $condition,
 				'param' => $parameter,
 				'asArray' => TRUE);
-		
-		
-		
+
+
+
 		return $this->count($qualification);
-		
-		
+
+
 		/* $sql = '';
 		if($trainingType != '' && is_numeric($trainingType)){
 			$sql .= '  and trainingType='.$trainingType;

File diff suppressed because it is too large
+ 1 - 1
global/js/index.js


+ 4 - 0
protected/config/acl.conf.php

@@ -463,6 +463,10 @@ $acl ['RECEIPTS'] ['allow'] = array (
 				'receiptTrainLecturerEdi',
 				'receiptTrainLecturerAddDo',
 				'receiptTrainLecturerDelDo',
+				
+				'receiptFeeDiversion',
+				'feeAgency',
+				
 				'h5Upload',
 				'receiptTrainDo',
 				'BUGFLAG',

+ 3 - 1
protected/config/routes.conf.php

@@ -12,6 +12,8 @@ $route['*']['/longle/list/update'] = array('SoftController', 'updateLockApi');
 $route['*']['/longle/list/alteration'] = array('SoftController', 'alterationLongle');
 $route['*']['/longle/syncData'] = array('SoftController', 'syncLongleData');
 
+$route['*']['/longle/list.json'] = array('SoftController', 'longleBySerialnumber');
+
 $route['get']['/longle/test'] = array('SoftController', 'longleTest');
 
 
@@ -145,7 +147,7 @@ $route['*']['/approvalExpenses'] = array('ReceiptController', 'approvalExpenses'
 $route['*']['/approvalExpenses/:status'] = array('ReceiptController', 'approvalExpenses');
 //费用报销单-分细小类
 $route['*']['/receiptFeeDiversion'] = array('ReceiptController', 'receiptFeeDiversion');
-
+$route['*']['/receipt/feeAgency'] = array('ReceiptController', 'feeAgency');
 
 //审批请求
 $route['*']['/expensesEdi/:rid'] = array('ReceiptController', 'expensesEdi');

+ 69 - 29
protected/controller/InvoiceController.php

@@ -3428,13 +3428,13 @@ class InvoiceController extends DooController {
 		}
 		
 		foreach ( $invoiceExistAccount as $key => $value ) {
-			$irList = $invoiceReceivables->getInvoiceReceivablesInIridString ( $value ['irid'] );
-			if (empty ( $irList ))
-				$irList [0] ['sumPrice'] = 0;
+// 			$irList = $invoiceReceivables->getInvoiceReceivablesInIridString ( $value ['irid'] );
+// 			if (empty ( $irList ))
+// 				$irList [0] ['sumPrice'] = 0;
 			
-			$balance = $value ['invoicePrice'] - $irList [0] ['sumPrice'];
-			$invoiceExistAccount [$key] ['existAccount'] = $irList [0] ['sumPrice'];
-			$invoiceExistAccount [$key] ['balance'] = $balance;
+			//$balance = $value ['invoicePrice'] - $irList [0] ['sumPrice'];
+			$invoiceExistAccount [$key] ['existAccount'] = $value ['invoicePrice']-$value ['invoiceBalance'];
+			//$invoiceExistAccount [$key] ['balance'] = $balance;
 		}
 		
 		$receivablesInput = $invoiceReceivables->getInvoiceReceivablesByInput ();
@@ -3552,11 +3552,20 @@ class InvoiceController extends DooController {
 			// 收款录入 并绑定发票
 			Doo::db ()->beginTransaction ();
 			
+			//获得发票入账余额
+			//$bindInvicePrice=$invoiceReceivables->getSumOfReceivablesPrice ( $invoiceDetail['irid'] );
+			//$bindPrice=$invoiceDetail ['invoiceBalance']-$bindInvicePrice;
+			
 			$bindStatus = 0;
-			if ($receivablesPrice <= $invoiceDetail ['invoicePrice']){
+			$invoiceBalance=$invoiceDetail ['invoicePrice'];
+			if($invoiceDetail ['invoiceBalance']!=0){
+				$invoiceBalance=$invoiceDetail ['invoiceBalance'];
+			}
+			
+			if ($receivablesPrice <= $invoiceBalance){
 				$bindStatus = 1;
+				//$bindPrice=$receivablesPrice;
 			}
-				
 			
 			$titleMark = $invoiceDetail ['invoiceTitle'];
 			if (! empty ( $invoiceDetail ['invoiceCompany'] ))
@@ -3565,7 +3574,7 @@ class InvoiceController extends DooController {
 					'recepitTitleMark' => $titleMark,
 					'bindStatus' => $bindStatus,
 					'iid' => $invoiceDetail ['iid'],
-					'bindPrice' => $invoiceDetail ['invoicePrice'],
+					'bindPrice' => $receivablesPrice,
 					'bindDate' => date ( "Y-m-d H:i:s" ),
 					'receivablesPrice' => $receivablesPrice,
 					'OriginalPrice' => $receivablesPrice,
@@ -3625,13 +3634,25 @@ class InvoiceController extends DooController {
 					'updateTime' => date ( "Y-m-d H:i:s" ),
 					'iid' => $detail ['iid'] 
 			);
-			$invoiceReceivables = new invoiceReceivables ();
-			$sum = $invoiceReceivables->getSumOfReceivablesPrice ( $iridString );
+// 			$invoiceReceivables = new invoiceReceivables ();
+// 			$sum = $invoiceReceivables->getSumOfReceivablesPrice ( $iridString );
 			
-			if ($detail ['invoicePrice'] <= $sum)
+// 			$sumBind = $bindInvicePrice;
+// 			$sumBalance=$invoiceReceivables->balanceOfReceivablesPrice($irid);
+// 			$sum=$sumBind+$sumBalance;
+			
+// 			;
+			
+			if ($receivablesPrice>=$invoiceBalance){
 				$item += array (
+						'invoiceBalance'=>0,
 						'untreadStatus' => 3 
 				);
+			}else{
+				$item += array (
+						'invoiceBalance'=>$invoiceBalance-$receivablesPrice
+				);
+			}
 			
 			$invoice->setInvoiceByCondition ( $item );
 			
@@ -4313,14 +4334,15 @@ class InvoiceController extends DooController {
 		$invoiceReceivables = new invoiceReceivables ();
 		
 		//有BUG-需修改
+		
 		$invoicePrice = $detail ['invoicePrice'] + $detailM ['bindPrice'];
 		if ($detailM ['receivablesPrice'] > $invoicePrice) {
 			$item = array (
 					'bindPrice' => $invoicePrice 
 			);
-		} elseif ($detailM ['receivablesPrice'] <= $invoicePrice) {
+		} elseif ($detailM ['receivablesPrice'] <= $invoicePrice) {//发票金额大于收款金额,绑定金额为收款金额
 			$item = array (
-					'bindPrice' => $invoicePrice,
+					'bindPrice' => $detailM ['receivablesPrice'],
 					'bindStatus' => 1,
 					'bindDate' => date ( "Y-m-d H:i:s" ) 
 			);
@@ -4364,20 +4386,36 @@ class InvoiceController extends DooController {
 		else
 			$iridString = $detail ['irid'] . ',' . $detailM ['irid'];
 		
+		
+		
+//		$invoiceReceivables = new invoiceReceivables ();
+// 		$sumBind = $invoiceReceivables->getSumOfReceivablesPrice ( $detail ['irid'] );
+// 		//这个收款余额
+// 		$sumBalance=$invoiceReceivables->balanceOfReceivablesPrice($detailM ['irid']);
+// 		$sum=$sumBind+$sumBalance;
+		
+		//这个收款余额
+		$sumBalance=$detailM ['receivablesPrice']-$detailM ['bindPrice'];
+		
+//  		echo $detailM ['irid'].'/'.$sumBalance.'/'.$detail ['invoicePrice'];
+//  		die;
+		
 		$item = array (
 				'iid' => $detail ['iid'],
-				'irid' => $iridString 
+				'irid' => $iridString
 		);
 		
-		$invoiceReceivables = new invoiceReceivables ();
-		$sum = $invoiceReceivables->getSumOfReceivablesPrice ( $iridString );
-		
-		if ($detail ['invoicePrice'] <= $sum)
+		if ($detail ['invoicePrice'] <= $sumBalance){
 			$item += array (
+					'invoiceBalance'=>0,
 					'untreadStatus' => 3,
 					'bindTime' => date ( "Y-m-d H:i:s" ) 
 			);
-			
+		}else{
+			$item += array (
+					'invoiceBalance'=>$detail ['invoicePrice']-$sumBalance,
+			);
+		}
 			// print_r($item);
 			// echo $sum;die;
 		$invoice->setInvoiceByCondition ( $item );
@@ -7075,8 +7113,8 @@ class InvoiceController extends DooController {
 			$invoice = new invoice ();
 			Doo::loadModel ( 'invoiceOperationLog' );
 			$invoiceOperationLog = new invoiceOperationLog ();
-			Doo::loadModel ( 'invoiceReceivables' );
-			$invoiceReceivables = new invoiceReceivables ();
+// 			Doo::loadModel ( 'invoiceReceivables' );
+// 			$invoiceReceivables = new invoiceReceivables ();
 			
 			$detail = $invoice->getInvoiceByIsid ( $serial, $this->staff [0] ['sid'] );
 			$invoiceOperationLogList = $invoiceOperationLog->getInvoiceOperationLogByIid ( $detail ['iid'] );
@@ -7089,20 +7127,22 @@ class InvoiceController extends DooController {
 				$receivablesPrice = $detail ['invoicePrice'];
 				if (! empty ( $detail ['irid'] )) {
 					
-					$irList = $invoiceReceivables->getInvoiceReceivablesInIridString ( $detail ['irid'] );
+// 					$irList = $invoiceReceivables->getInvoiceReceivablesInIridString ( $detail ['irid'] );
 					
-					if (empty ( $irList ))
-						$irList [0] ['sumPrice'] = 0;
+// 					if (empty ( $irList ))
+// 						$irList [0] ['sumPrice'] = 0;
 					
-					$balance = $detail ['invoicePrice'] - $irList [0] ['sumPrice'];
+// 					$balance = $detail ['invoicePrice'] - $irList [0] ['sumPrice'];
 					
+					$enteredPrice=$detail ['invoicePrice']-$detail ['invoiceBalance'];
+
 					$receivablesPriceedHtml = '<table class="table table-bordered table-condensed"><tbody><tr>
 						
-						<th class="taC">已入账金额</th><td><b class="colGreen" style="font-size:18px">¥' . $irList [0] ['sumPrice'] . '</b></td>
-						<th class="taC">剩余入账金额</th><td><b class="colRed" style="font-size:18px">¥' . $balance . '</b></td>
+						<th class="taC">已入账金额</th><td><b class="colGreen" style="font-size:18px">¥' . $enteredPrice . '</b></td>
+						<th class="taC">剩余入账金额</th><td><b class="colRed" style="font-size:18px">¥' . $detail ['invoiceBalance'] . '</b></td>
 						
 					</tr></tbody></table>';
-					$receivablesPrice = $balance;
+					$receivablesPrice = $detail ['invoiceBalance'];
 				}
 				
 				if ($loss)

+ 9 - 2
protected/controller/ReceiptController.php

@@ -261,13 +261,20 @@ class ReceiptController extends DooController {
 		if($feeType==2){
 			return '/receipt/feeTravel';
 		}elseif($feeType==3){
-			return '/receipt/feeAgency';
-		}else{
 			return '/receipt/feeInternalTrain';
+		}else{
+			return '/receipt/feeAgency';
 		}
 	}
 	
 	/**
+	 * 办事处相关费用
+	 */
+	function feeAgency(){
+		
+	}
+	
+	/**
 	 * 添加费用报销单页面
 	 */
 	function saeaCreate() {

File diff suppressed because it is too large
+ 52 - 3
protected/controller/SoftController.php


+ 23 - 5
protected/model/invoice.php

@@ -55,6 +55,7 @@ class invoice extends DooModel {
 	public $invoicePrice;
 	public $invoiceQuantity;
 	public $invoiceUnitPrice;
+	public $invoiceBalance;
 	
 	/**
 	 * 管理组人员:发票打印,
@@ -217,6 +218,7 @@ class invoice extends DooModel {
 			'invoiceQuantity',
 			'invoiceUnitPrice',
 			'invoicePrice',
+			'invoiceBalance',
 			'moldManage',
 			'cid',
 			'categoryName',
@@ -1028,13 +1030,22 @@ class invoice extends DooModel {
 			
 			// print_r($list [$key] ['OperationLog']);
 			$list [$key] ['sumPrice'] = 0;
-			if (! empty ( $list [$key] ['irList'] ))
+			if (! empty ( $list [$key] ['irList'] )){
 				$list [$key] ['sumPrice'] = $list [$key] ['irList'] [0] ['sumPrice'];
+				if($value['invoicePrice']<=$list [$key] ['irList'] [0] ['sumPrice']){
+					$list [$key] ['sumPrice'] = $value['invoicePrice'];
+				}
+			}
 			$list [$key] ['diffPrice'] = $list [$key] ['invoicePrice'];
-			if (! empty ( $list [$key] ['irList'] [0] ['sumPrice'] ))
-				$list [$key] ['diffPrice'] = $list [$key] ['invoicePrice'] - $list [$key] ['irList'] [0] ['sumPrice'];
+			if (! empty ( $list [$key] ['irList'] [0] ['sumPrice'] )){
+				$diffPrice=$list [$key] ['invoicePrice'] - $list [$key] ['irList'] [0] ['sumPrice'];
+				if($diffPrice<=0){
+					$diffPrice=0;
+				}
+				$list [$key] ['diffPrice'] = $diffPrice;
 				// $list [$key] ['operationLog'] = $invoiceOperationLog->getInvoiceOperationLogByIid ( $value ['iid'], 'desc' );
-			$list [$key] ['lossDetail'] = array ();
+			}
+				$list [$key] ['lossDetail'] = array ();
 			if ($value ['lossIid'] != 0) {
 				$detail = $this->getOne ( array (
 						'where' => "iid=" . $value ['lossIid'],
@@ -1089,10 +1100,17 @@ class invoice extends DooModel {
 			$result ['receivablesPrice'] = 0;
 		}
 		
+		
+		$diffPrice=$invoicePrice - $result ['receivablesPrice'];
+		
+		if($diffPrice<=0){
+			$diffPrice=0;
+		}
+		
 		return array (
 				'invoicePrice' => $invoicePrice,
 				'receivablesPrice' => $result ['receivablesPrice'],
-				'diffPrice' => $invoicePrice - $result ['receivablesPrice'] 
+				'diffPrice' => $diffPrice 
 		);
 	}
 	

+ 26 - 3
protected/model/invoiceReceivables.php

@@ -81,12 +81,35 @@ class invoiceReceivables extends DooModel {
 			'relationIrid',
 			'relationLog' 
 	);
+	
+	/**
+	 * 获得单个收款的余额
+	 * @param string $iridString
+	 * @return number
+	 */
+	public function balanceOfReceivablesPrice($irid=0){
+		if (empty ( $irid ))
+			return 0;
+		
+			$list = $this->getOne ( array (
+					'select' => '  receivablesPrice , bindPrice ',
+					'where' => " irid = " . $irid ,
+					'asArray' => TRUE
+			) );
+			
+			if (empty ( $list )){
+				return 0;
+			}
+			$balance=$list ['receivablesPrice']-$list ['bindPrice'];
+			return $balance;
+	}
+	
 	public function getSumOfReceivablesPrice($iridString = "") {
 		if (empty ( $iridString ))
 			return 0;
 		
 		$list = $this->getOne ( array (
-				'select' => ' sum(receivablesPrice) as receivablesPrice ',
+				'select' => ' sum(receivablesPrice) as receivablesPrice ,sum(bindPrice) as bindPrice ',
 				'where' => " irid IN ( " . $iridString . " )",
 				'groupby' => 'iid',
 				'asArray' => TRUE 
@@ -532,7 +555,7 @@ class invoiceReceivables extends DooModel {
 // 				   find_in_set(b.iid,a.iidExtend) or a.iid=b.iid 
 // 				where ' . $con . ' group by a.irid ORDER BY  ' . $descField . ' ' . $desc . ' limit ' . $limit . '
 // 				';
-		
+// 		echo $sql;
 		
 		
 		$sql='select * from '.$this->_table.' as a where '.$con.' ORDER BY '.$descField.' '.$desc.' limit '.$limit;
@@ -552,7 +575,7 @@ class invoiceReceivables extends DooModel {
 			$query = Doo::db ()->query ( $sql );
 			$invoiceList = $query->fetchAll ();
 		}
-		
+// 		echo $sql;
 		Doo::loadClass ( 'XDeode' );
 		$XDeode = new XDeode ( 5 );
 		Doo::loadModel ( 'invoiceROLog' );

+ 8 - 0
protected/model/longle.php

@@ -87,6 +87,10 @@ class longle extends DooModel {
 		return $this->find ( array ('where' => " key_num like '%".$keynum."%'",'limit'=>'10', 'asArray' => TRUE ) );
 	}
 	
+	public function getLongleByKeyNumDetail($keynum){
+		return $this->getOne ( array ('where' => " key_num = '".$keynum."'", 'asArray' => TRUE ) );
+	}
+	
 	public function getLongleByLid($lid){
 		return $this->find ( array ('where' => " lid =".$lid, 'asArray' => TRUE ) );
 	}
@@ -99,6 +103,10 @@ class longle extends DooModel {
 		return $this->getOne ( array ('where' => " SerialNumber like '".$SerialNumber."'", 'asArray' => TRUE ) );
 	}
 	
+	public function getLongleBySerialNumberList($SerialNumber){
+		return $this->find ( array ('where' => " SerialNumber like '".$SerialNumber."'", 'asArray' => TRUE ) );
+	}
+	
 	public function getLongleByClientid($client){
 		return $this->find ( array ('where' => " clientid = '".$client."'", 'asArray' => TRUE ) );
 	}

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

@@ -242,7 +242,7 @@
 									<td>{{invoiceUnAccount' value.categoryName}}{{invoiceUnAccount' value.userName}} {{invoiceUnAccount' value.date}}</td>
 									
 									<td>{{invoiceUnAccount' value.existAccount}}</td>
-									<td>{{invoiceUnAccount' value.balance}}</td>
+									<td>{{invoiceUnAccount' value.invoiceBalance}}</td>
 									
 									<td>
 									<a href="#invdetail" node-invoice='INFO' data-isKey="{{invoiceUnAccount' value.iidKeyUrl}}" data-toggle="modal">{{invoiceUnAccount' value.invoiceSerial}}</a>

+ 2 - 1
protected/view/receipt/receiptFee.html

@@ -335,7 +335,8 @@
 					
                 </div>
                 <div class="modal-footer">
-                	<a href="saea-receipt-add1.html" class="button" target="_blank">确认</a>
+                	<input type="submit" value="确认" class="button">
+                	
                     <a href="#" class="button btn-gray" data-dismiss="modal" aria-hidden="true">关闭</a>
                 </div>