wugg 1 year ago
parent
commit
716701985b
2 changed files with 162 additions and 181 deletions
  1. 0 178
      app/admin/controller/Payorder.php
  2. 162 3
      app/admin/controller/Track.php

+ 0 - 178
app/admin/controller/Payorder.php

@@ -1,178 +0,0 @@
-<?php
-declare (strict_types = 1);
-
-namespace app\admin\controller;
-
-use app\admin\model\Pay;use app\admin\model\PayInfo;use think\App;use think\facade\Config;use think\facade\Validate;
-
-class Payorder  extends Base
-{
-	//对账单定义 pay_type 1 采购对账 2 运费对账
-	public function __construct(App $app) {
-		parent::__construct($app);
-		$invoice =Config::get('invoiceType');
-        $this->invoiceType = $invoice['invoiceName']; //票类型汉字
-        $this->invName = $invoice['invoiceType'];//票类型英文
-	}
-	
-	/**生成对账单
-	*/
-
-	public function PayAdd(){
-	    $param=$this->request->param(["cids"=>[]],"post","trim");
-	    $valid = Validate::rule(["cids|对账数据集合"=>"require|array"]);
-	    if($valid->check($param)==false)$this->error($valid->getError());
-	    $PayObject = new \app\admin\model\Track();
-	    $objall= $PayObject->where(["id"=>$param['cids']])->select();
-	    if($objall->isEmpty()) $this->error("对账数据不能为空");
-	    $supplierNo= array_column($objall,'supplierNo');
-        $supplierName= array_column($objall,'supplierName');
-        if(count(array_unique($supplierNo))>1){
-            $this->error('对账数据供应商不唯一');
-        }
-        $companyNo= array_column($objall,'companyNo');
-        $companyName= array_column($objall,'companyName');
-        if(count(array_unique($companyNo))>1){
-            $this->error('对账数据业务公司不唯一');
-        }
-        if ($this->level == 2) {
-                    //判断是否开通供应商账号
-        $temp = check_has_account_by_supplierNos([$supplierNo[0]]);
-         if (isset($temp['data'][$supplierNo[0]])) $this->error( '该供应商已经开通账号,不允许当前账号操作');
-        }
-        $pay= new Pay();
-        $data = [
-        	    "payNo"=>makeNo('PAY'),
-        	    'apply_id'=>$this->uid,
-                'apply_name'=>$this->uname,
-                'total_fee'=>"0",
-                'pay_type'=>2,
-                'supplierNo'=>$supplierNo[0],
-                'supplierName'=>$supplierName[0],
-                'companyNo'=>$companyNo[0],
-                'companyName'=>$companyName[0],
-                'wpay_fee'=>"0",
-                'apay_fee'=>'0',
-                'ainv_fee'=>'0',
-                'winv_fee'=>'0',
-                'remark'=>'',
-                'status'=>1,
-        	];
-        $pay->startTrans();
-        try{
-        	$payinfo=[];
-            foreach ($objall as $item){
-            	           $temp=[];
-                           $temp['cgdNo']=$item['TrackCode'];
-                           $temp['total_fee']=$item['post_fee'];
-                           $temp['apay_fee']=0;
-                           $temp['wpay_fee']=$item['post_fee'];
-                           $temp['winv_fee']=0;
-                           $temp['ainv_fee']=$item['post_fee'];
-                           $temp['payNo']=$data['payNo'];
-                           $temp['addtime']=date('Y-m-d H:i:s');
-                           $temp['updatetime']=date('Y-m-d H:i:s');
-                           $payinfo[]=$temp;
-                            $data['total_fee']=bcadd($data['total_fee'],$item['post_fee'],2);
-			                $data['wpay_fee']= bcadd($data['wpay_fee'],$item['post_fee'],2);
-			                $data['winv_fee']= bcadd($data['winv_fee'],$item['post_fee'],2);
-            }
-        	$info =(new PayInfo())->saveAll($payinfo);
-            if(empty($info)==false){
-                  $create=$pay->save($data);
-                  if($create)$objall->update(["status"=>1]);
-            }
-            $pay->commit();
-        }catch (\Exception $e){
-        	$pay->rollback();
-        	$this->error($e->getMessage());
-        }
-        $this->success("对账单添加成功",['payNo'=>$data['payNo']]);
-	}
-	
-	/**对账单未对账前编辑8**/
-	public function PaySave(){
-		$param=$this->request->param(['cids'=>[],'payNo'=>''],'post','trim');
-	    $valid = Validate::rule(['cids|对账数据集合'=>'require|array','payNo|对账编号'=>'require']);
-	    if($valid->check($param)==false)$this->error($valid->getError());
-	    $PayObject = new \app\admin\model\Track();
-	    $pay= new Pay();
-	    $objall= $PayObject->where(['id'=>$param['cids']])->select();
-	    if($objall->isEmpty()) $this->error('对账数据不能为空');
-	    $PayInfo = $pay->where(["payNo"=>$param['payNo']])->findOrEmpty();
-	    if($PayInfo->isEmpty()) $this->error("未找到对账单数据");
-	    
-	    $supplierNo= array_column($objall,'supplierNo');
-        $supplierName= array_column($objall,'supplierName');
-        if(count(array_unique($supplierNo))>1){
-            $this->error('对账数据供应商不唯一');
-        }
-        $companyNo= array_column($objall,'companyNo');
-        $companyName= array_column($objall,'companyName');
-        if(count(array_unique($companyNo))>1){
-            $this->error('对账数据业务公司不唯一');
-        }
-        if ($this->level == 2) {
-                    //判断是否开通供应商账号
-                    $temp = check_has_account_by_supplierNos([$supplierNo[0]]);
-                    if (isset($temp['data'][$supplierNo[0]])) $this->error( '该供应商已经开通账号,不允许当前账号操作');
-        }
-        $trackArr = PayInfo::where(["payNo"=>$param['payNo'],"is_del"=>0,"status"=>1])->column("cgdNo");
-        $add=$remove=[];
-        if(empty($trackArr)==false){
-        	$remove= array_diff($trackArr,array_column($objall,"TrackCode"));
-        	$add= array_diff(array_column($objall,"TrackCode"),$trackArr);
-        }
-        $data = [
-        	    'apply_id'=>$this->uid,
-                'apply_name'=>$this->uname,
-                'total_fee'=>'0',
-                'supplierNo'=>$supplierNo[0],
-                'supplierName'=>$supplierName[0],
-                'companyNo'=>$companyNo[0],
-                'companyName'=>$companyName[0],
-                'wpay_fee'=>'0',
-                'winv_fee'=>'0',
-        	];
-        $pay->startTrans();
-        try{
-            $payinfo=[];
-            foreach ($objall as $item){
-            	$data['total_fee']=bcadd($data['total_fee'],$item['post_fee'],2);
-				$data['wpay_fee']= bcadd($data['wpay_fee'],$item['post_fee'],2);
-				$data['winv_fee']= bcadd($data['winv_fee'],$item['post_fee'],2);
-				if(!empty($add)&& in_array($item['TrackCode'],$add)){
-					$temp=[];
-					$temp['cgdNo']=$item['TrackCode'];
-					$temp['total_fee']=$item['post_fee'];
-					$temp['apay_fee']=0;
-					$temp['wpay_fee']=$item['post_fee'];
-					$temp['winv_fee']=0;
-					$temp['ainv_fee']=$item['post_fee'];
-					$temp['payNo']=$param['payNo'];
-					$temp['addtime']=date('Y-m-d H:i:s');
-					$temp['updatetime']=date('Y-m-d H:i:s');
-					$payinfo[]=$temp;
-				}
-				        
-            }
-        	if(!empty($payinfo))(new PayInfo())->saveAll($payinfo);
-        	$up = $PayInfo->save($data);
-            if($up){
-                 $objall->update(['status'=>1]);
-                 if(!empty($remove)){
-                 	$PayObject->where(['TrackCode'=>$remove,'status'=>1])->update(['status'=>0]);
-                    PayInfo::where(['cgdNo'=>$remove,'status'=>1,'is_del'=>0])->update(['status'=>0,'is_del'=>1]);
-                 }
-                 
-            }
-            $pay->commit();
-        }catch (\Exception $exception){
-            $pay->rollback();
-            $this->error($exception->getMessage());
-        }
-        $this->success("更新成功");
-	}
-	
-	
-}

+ 162 - 3
app/admin/controller/Track.php

@@ -6,14 +6,14 @@ namespace app\admin\controller;
 use app\admin\model\CgdInfo;
 use app\admin\model\CompanyInfo;
 use app\admin\model\FhdChild;
-use app\admin\model\QrdInfo;use app\admin\model\SupplierInfo;
+use app\admin\model\Pay;use app\admin\model\PayInfo;use app\admin\model\QrdInfo;use app\admin\model\SupplierInfo;
 use think\App;
 use think\facade\Validate;
 
 class Track extends Base
 {
 	protected $model=null;
-	protected $novalidate=["*"];
+//	protected $novalidate=["*"];
     public function __construct(App $app) {
     	parent::__construct($app);
     	$this->model=new \app\admin\model\Track();
@@ -61,7 +61,7 @@ class Track extends Base
     //***列表
     public function list(){
         $param=$this->request->param(["outChildCode"=>"","order_type"=>"","order_source"=>"","supplierNo"=>"",
-        "companyNo"=>"","status"=>"","orderCode"=>"","cgdNo"=>""],"post","trim");
+        "companyNo"=>"","status"=>"","orderCode"=>"","cgdNo"=>"",'page'=>1,'size'=>10],"post","trim");
         $where=[];
         $param['outChildCode']==''??$where[]=["outChildCode","like","%{$param['outChildCode']}%"];
         $param['orderCode']==''??$where[]=["orderCode","like","%{$param['orderCode']}%"];
@@ -103,4 +103,163 @@ class Track extends Base
         'page'=>$param['page']]);
         $this->success('获取成功',['list'=>$list->items(),'count'=>$list->total()]);
     }
+
+	public function PayAdd(){
+	    $param=$this->request->param(['cids'=>[]],'post','trim');
+	    $valid = Validate::rule(['cids|对账数据集合'=>'require|array']);
+	    if($valid->check($param)==false)$this->error($valid->getError());
+	    $PayObject = new \app\admin\model\Track();
+	    $objall= $PayObject->where(['id'=>$param['cids']])->select();
+	    if($objall->isEmpty()) $this->error('对账数据不能为空');
+	    $supplierNo= array_column($objall,'supplierNo');
+        $supplierName= array_column($objall,'supplierName');
+        if(count(array_unique($supplierNo))>1){
+            $this->error('对账数据供应商不唯一');
+        }
+        $companyNo= array_column($objall,'companyNo');
+        $companyName= array_column($objall,'companyName');
+        if(count(array_unique($companyNo))>1){
+            $this->error('对账数据业务公司不唯一');
+        }
+        if ($this->level == 2) {
+                    //判断是否开通供应商账号
+        $temp = check_has_account_by_supplierNos([$supplierNo[0]]);
+         if (isset($temp['data'][$supplierNo[0]])) $this->error( '该供应商已经开通账号,不允许当前账号操作');
+        }
+        $pay= new Pay();
+        $data = [
+        	    'payNo'=>makeNo('PAY'),
+        	    'apply_id'=>$this->uid,
+                'apply_name'=>$this->uname,
+                'total_fee'=>'0',
+                'pay_type'=>2,
+                'supplierNo'=>$supplierNo[0],
+                'supplierName'=>$supplierName[0],
+                'companyNo'=>$companyNo[0],
+                'companyName'=>$companyName[0],
+                'wpay_fee'=>'0',
+                'apay_fee'=>'0',
+                'ainv_fee'=>'0',
+                'winv_fee'=>'0',
+                'remark'=>'',
+                'status'=>1,
+        	];
+        $pay->startTrans();
+        try{
+        	$payinfo=[];
+            foreach ($objall as $item){
+            	           $temp=[];
+                           $temp['cgdNo']=$item['TrackCode'];
+                           $temp['total_fee']=$item['post_fee'];
+                           $temp['apay_fee']=0;
+                           $temp['wpay_fee']=$item['post_fee'];
+                           $temp['winv_fee']=0;
+                           $temp['ainv_fee']=$item['post_fee'];
+                           $temp['payNo']=$data['payNo'];
+                           $temp['addtime']=date('Y-m-d H:i:s');
+                           $temp['updatetime']=date('Y-m-d H:i:s');
+                           $payinfo[]=$temp;
+                            $data['total_fee']=bcadd($data['total_fee'],$item['post_fee'],2);
+			                $data['wpay_fee']= bcadd($data['wpay_fee'],$item['post_fee'],2);
+			                $data['winv_fee']= bcadd($data['winv_fee'],$item['post_fee'],2);
+            }
+        	$info =(new PayInfo())->saveAll($payinfo);
+            if(empty($info)==false){
+                  $create=$pay->save($data);
+                  if($create)$objall->update(['status'=>1]);
+            }
+            $pay->commit();
+        }catch (\Exception $e){
+        	$pay->rollback();
+        	$this->error($e->getMessage());
+        }
+        $this->success('对账单添加成功',['payNo'=>$data['payNo']]);
+	}
+	
+	/**对账单未对账前编辑8**/
+	public function PaySave(){
+		$param=$this->request->param(['cids'=>[],'payNo'=>''],'post','trim');
+	    $valid = Validate::rule(['cids|对账数据集合'=>'require|array','payNo|对账编号'=>'require']);
+	    if($valid->check($param)==false)$this->error($valid->getError());
+	    $PayObject = new \app\admin\model\Track();
+	    $pay= new Pay();
+	    $objall= $PayObject->where(['id'=>$param['cids']])->select();
+	    if($objall->isEmpty()) $this->error('对账数据不能为空');
+	    $PayInfo = $pay->where(['payNo'=>$param['payNo']])->findOrEmpty();
+	    if($PayInfo->isEmpty()) $this->error('未找到对账单数据');
+	    
+	    $supplierNo= array_column($objall,'supplierNo');
+        $supplierName= array_column($objall,'supplierName');
+        if(count(array_unique($supplierNo))>1){
+            $this->error('对账数据供应商不唯一');
+        }
+        $companyNo= array_column($objall,'companyNo');
+        $companyName= array_column($objall,'companyName');
+        if(count(array_unique($companyNo))>1){
+            $this->error('对账数据业务公司不唯一');
+        }
+        if ($this->level == 2) {
+                    //判断是否开通供应商账号
+                    $temp = check_has_account_by_supplierNos([$supplierNo[0]]);
+                    if (isset($temp['data'][$supplierNo[0]])) $this->error( '该供应商已经开通账号,不允许当前账号操作');
+        }
+        $trackArr = PayInfo::where(['payNo'=>$param['payNo'],'is_del'=>0,'status'=>1])->column('cgdNo');
+        $add=$remove=[];
+        if(empty($trackArr)==false){
+        	$remove= array_diff($trackArr,array_column($objall,'TrackCode'));
+        	$add= array_diff(array_column($objall,'TrackCode'),$trackArr);
+        }
+        $data = [
+        	    'apply_id'=>$this->uid,
+                'apply_name'=>$this->uname,
+                'total_fee'=>'0',
+                'supplierNo'=>$supplierNo[0],
+                'supplierName'=>$supplierName[0],
+                'companyNo'=>$companyNo[0],
+                'companyName'=>$companyName[0],
+                'wpay_fee'=>'0',
+                'winv_fee'=>'0',
+        	];
+        $pay->startTrans();
+        try{
+            $payinfo=[];
+            foreach ($objall as $item){
+            	$data['total_fee']=bcadd($data['total_fee'],$item['post_fee'],2);
+				$data['wpay_fee']= bcadd($data['wpay_fee'],$item['post_fee'],2);
+				$data['winv_fee']= bcadd($data['winv_fee'],$item['post_fee'],2);
+				if(!empty($add)&& in_array($item['TrackCode'],$add)){
+					$temp=[];
+					$temp['cgdNo']=$item['TrackCode'];
+					$temp['total_fee']=$item['post_fee'];
+					$temp['apay_fee']=0;
+					$temp['wpay_fee']=$item['post_fee'];
+					$temp['winv_fee']=0;
+					$temp['ainv_fee']=$item['post_fee'];
+					$temp['payNo']=$param['payNo'];
+					$temp['addtime']=date('Y-m-d H:i:s');
+					$temp['updatetime']=date('Y-m-d H:i:s');
+					$payinfo[]=$temp;
+				}
+				        
+            }
+        	if(!empty($payinfo))(new PayInfo())->saveAll($payinfo);
+        	$up = $PayInfo->save($data);
+            if($up){
+                 $objall->update(['status'=>1]);
+                 if(!empty($remove)){
+                 	$PayObject->where(['TrackCode'=>$remove,'status'=>1])->update(['status'=>0]);
+                    PayInfo::where(['cgdNo'=>$remove,'status'=>1,'is_del'=>0])->update(['status'=>0,'is_del'=>1]);
+                 }
+                 
+            }
+            $pay->commit();
+        }catch (\Exception $exception){
+            $pay->rollback();
+            $this->error($exception->getMessage());
+        }
+        $this->success('更新成功');
+	}
+	
+	
 }
+