wugg 9 months ago
parent
commit
a2ae8ab9f2
2 changed files with 30 additions and 32 deletions
  1. 25 18
      app/admin/controller/TagGood.php
  2. 5 14
      app/admin/listener/ComonQrd.php

+ 25 - 18
app/admin/controller/TagGood.php

@@ -273,16 +273,15 @@ class TagGood extends Base{
         $message='';
         try{
         	 if($loginfo['type']==1 || $loginfo['type']==2){
-        	 	$pay_fee = Pay::where("payNo",$loginfo->code)->value("pay_tag_fee");
         	 	$message="对账单{$loginfo->code}{$loginfo->tag_name}";
-		          $this->payReTag($loginfo['type'],$loginfo->code,$pay_fee);
+		         $fee= $this->payReTag($loginfo['type'],$loginfo->code);
 	        }
 	        if($loginfo['type']==3|| $loginfo['type']==4){
-	        	$pay_fee = QrdInfo::where('sequenceNo',$loginfo->code)->value('pay_tag_fee');
 	        	$message="销售单{$loginfo->code}{$loginfo->tag_name}";
-		          $this->qrdReTag($loginfo['type'],$loginfo->code,$pay_fee);
+		         $fee= $this->qrdReTag($loginfo['type'],$loginfo->code);
 	        }
 	        $loginfo['status']=0;
+	        $loginfo['tag_fee']=$fee;
 	       unset($loginfo['addtime'],$loginfo['updatetime']);
 	        $loginfo->id=null;
 	       TagLog::create($loginfo->toArray());
@@ -337,25 +336,29 @@ class TagGood extends Base{
 	* @return \think\response\Json|void
 	* @throws \think\db\exception\DbException
 	*/
-    private  function payReTag($tagId,$code,$total_fee){
+    private  function payReTag($tagId,$code){
 		 $pay=Pay::where(['payNo'=>$code,'is_del'=>0])->findOrEmpty();
 		 if($pay->isEmpty())throw  new \Exception("未找到对账单数据");
+		 $fee=0;
 		 if($tagId==1){
-		 	if($pay['pay_tag_fee']<$total_fee)throw  new \Exception('对账单付款标签金额不足');
-		 	$pay->pay_tag_fee=$pay->pay_tag_fee-$total_fee;
-		 	$pay->wpay_fee=$pay->wpay_fee+$total_fee;
+		 	if($pay['pay_tag_fee']<0)throw  new \Exception('对账单付款标签金额不足');
+		 	$fee=$pay->pay_tag_fee;
+		 	$pay->wpay_fee=$pay->wpay_fee+$pay->pay_tag_fee;
+		 	$pay->pay_tag_fee=0;
 		 	$pay->pay_status = $pay->wpay_fee==0 && $pay->pay_fee==0?3:($pay->apay_fee==0?1:2);
 		 	$pay->pay_tag=0;
 		 }
 		 if($tagId==2){
-		 	if($pay['inv_tag_fee']<$total_fee)throw  new \Exception('对账单回票标签金额不足');
-		 	$pay->inv_tag_fee=$pay->inv_tag_fee-$total_fee;
-		 	$pay->winv_fee=$pay->winv_fee+$total_fee;
+		 	if($pay['inv_tag_fee']<0)throw  new \Exception('对账单回票标签金额不足');
+		 	$fee=$pay->inv_tag_fee;
+		 	$pay->winv_fee=$pay->winv_fee+$pay->inv_tag_fee;
+		 	$pay->inv_tag_fee=0;
 		 	$pay->inv_status = $pay->winv_fee==0 && $pay->inv_fee==0?3:($pay->ainv_fee==0?1:2);
 		 	$pay->inv_tag=0;
 		 }
 		 $resulr= $pay->save();
 		if($resulr==false)throw  new \Exception("对账单更新失败");
+		return $fee;
     }
 	/**
 	* @param $tagId 标签类型 3 回款4开票
@@ -401,25 +404,29 @@ class TagGood extends Base{
 	 * @return \think\response\Json|void
 	* @throws \think\db\exception\DbException
 	 */
-    private function qrdReTag($tagId,$code,$total_fee){
+    private function qrdReTag($tagId,$code){
     	$qrd=QrdInfo::where(['sequenceNo'=>$code,'is_del'=>0])->findOrEmpty();
 		 if($qrd->isEmpty())throw  new \Exception('未找到销售单数据');
+		 $fee =0 ;
 		  if($tagId==3){
-		 	if($qrd->pay_tag_fee<$total_fee)throw  new \Exception('销售单回款标签金额不足');
-		 	$qrd->pay_tag_fee=$qrd->pay_tag_fee-$total_fee;
-		 	$qrd->wpay_fee=$qrd->wpay_fee+$total_fee;
+		 	if($qrd->pay_tag_fee<0)throw  new \Exception('销售单回款标签金额不足');
+		 	 $fee =$qrd->pay_tag_fee ;
+		 	$qrd->wpay_fee=$qrd->wpay_fee+$qrd->pay_tag_fee;
+		 	$qrd->pay_tag_fee=0;
 		 	$qrd->pay_status = $qrd->wpay_fee==0 && $qrd->pay_fee==0?3:($qrd->apay_fee==0?1:2);
 		 	$qrd->pay_tag=0;
 		 }
 		 if($tagId==4){
-		 	if($qrd->pay_tag_fee<$total_fee)throw  new \Exception('销售单开票标签金额不足');
-		 	$qrd->inv_tag_fee=$qrd->inv_tag_fee-$total_fee;
-		 	$qrd->winv_fee=$qrd->winv_fee+$total_fee;
+		 	if($qrd->inv_tag_fee<0)throw  new \Exception('销售单开票标签金额不足');
+		 	$fee =$qrd->inv_tag_fee ;
+		 	$qrd->winv_fee=$qrd->winv_fee+$qrd->inv_tag_fee;
+		 	$qrd->inv_tag_fee=0;
 		 	$qrd->inv_status = $qrd->winv_fee==0 && $qrd->inv_fee==0?3:($qrd->ainv_fee==0?1:2);
 		 	$qrd->inv_tag=0;
 		 }
 		 $resulr= $qrd->save();
 		if($resulr==false)throw  new \Exception('销售单更新失败');
+		return $fee;
     }
     
     

+ 5 - 14
app/admin/listener/ComonQrd.php

@@ -79,7 +79,7 @@ class ComonQrd
 		            $qrd=[
 		                'id'=>$item->id,
 			            'wpay_fee'=>$item->wpay_fee,
-			            'apay_fee'=>$item->apay_fee,
+//			            'apay_fee'=>$item->apay_fee,
 			            'pay_status'=>$item->pay_status,
 			            'pay_tag_fee'=>$item->pay_tag_fee,
 			            'pay_tag' => 1
@@ -89,29 +89,20 @@ class ComonQrd
 		            		$tag_temp['tag_fee']= $payArr[$item->sequenceNo];
 		            		$qrd['pay_tag_fee'] =$item->pay_tag_fee+$payArr[$item->sequenceNo];
 		            		$qrd['wpay_fee'] = $item->wpay_fee-$payArr[$item->sequenceNo];
-		            		$qrd['apay_fee'] = $item->apay_fee+$payArr[$item->sequenceNo];
 		            		$qrd['pay_status'] = ($qrd['wpay_fee']==0 &&$item->pay_fee==0) ? 3:($qrd['apay_fee']==0?1:2);
 		            	}else{
 		            		$tag_temp['tag_fee'] =$item->wpay_fee;
 		            		$qrd['pay_tag_fee'] =$item->pay_tag_fee+ $item->wpay_fee;
 		            		$qrd['wpay_fee'] = 0;
-		            		$qrd['apay_fee'] = $item->apay_fee+$item->wpay_fee;
 		            		$qrd['pay_status'] = ($qrd['wpay_fee']==0 &&$item->pay_fee==0) ? 3:($qrd['apay_fee']==0?1:2);
 		            	}
 		            }else{
-						if($item->apay_fee>$payArr[$item->sequenceNo]){
+						
 							$tag_temp['tag_fee']= $payArr[$item->sequenceNo];
-				            $qrd['pay_tag_fee']=$item->pay_tag_fee>$payArr[$item->sequenceNo]?$item->pay_tag_fee-$payArr[$item->sequenceNo]:0;
-				            $qrd['wpay_fee'] = $item->wpay_fee+$payArr[$item->sequenceNo];
-				            $qrd['apay_fee'] = $item->apay_fee-$payArr[$item->sequenceNo];
+							$tag_fee = ($item->pay_tag_fee>$payArr[$item->sequenceNo])?$payArr[$item->sequenceNo]:$item->pay_tag_fee;
+				            $qrd['pay_tag_fee']=$item->pay_tag_fee-$tag_fee;
+				            $qrd['wpay_fee'] = $item->wpay_fee+$tag_fee;
 				            $qrd['pay_status'] = ($qrd['wpay_fee']==0  &&$item->pay_fee==0) ? 3:($qrd['apay_fee']==0?2:1);
-				           }else{
-				            $tag_temp['tag_fee'] =$item->apay_fee;
-				            $qrd['pay_tag_fee'] =$item->pay_tag_fee>$item->apay_fee?$item->pay_tag_fee-$item->apay_fee:0;
-				            $qrd['wpay_fee'] =$item->apay_fee;
-				            $qrd['apay_fee'] = 0;
-				            $qrd['pay_status'] = ($qrd['wpay_fee']==0  &&$item->pay_fee==0) ? 3:($qrd['apay_fee']==0?2:1);
-				          }
 		            }
 		            $qrdSave[]=$qrd;
 		            $tag[]=$tag_temp;