wugg 2 years ago
parent
commit
30accdd31f

+ 89 - 8
app/admin/controller/OrderInv.php

@@ -3,11 +3,13 @@
 
 namespace app\admin\controller;
 use app\admin\BaseController;
-use Exception;use think\App;
+use app\admin\model\ReportCode;use Exception;use think\App;
 use think\facade\Db;
 
 class OrderInv extends BaseController{
-    public function __construct(App $app) {parent::__construct($app);}
+    public function __construct(App $app) {
+        parent::__construct($app);
+    }
     /**
      * 新建销售单开票申请
      */
@@ -97,6 +99,8 @@ class OrderInv extends BaseController{
                         return error_show(1005,"确认单{$value['sequenceNo']} 更新失败");
                     }
                     $temp[]=$ascc;
+                    $report=ReportCode::where(["qrdNo"=>$value['sequenceNo']])->find();
+                    $report->setField("invNo",$invNo);
                 }
                 $associn = Db::name("assoc")->insertAll($temp);
                 if($associn==0){
@@ -277,6 +281,8 @@ class OrderInv extends BaseController{
                               Db::rollback();
                               return error_show(1003,"确认单关联信息更新失败");
                           }
+                           $report=ReportCode::where(["qrdNo"=>$value['sequenceNo']])->find();
+                           $report->rmField("invNo",$invinfo['invNo']);
                       }
                  }
             }
@@ -387,6 +393,17 @@ class OrderInv extends BaseController{
      }
      if($remark==""){
           return error_show(1004,"参数 remark 不能为空");
+     }
+      $invinfo = Db::name("invoice_pool")->where(["invNo"=>$invNo,"is_del"=>0])->find();
+        if($invinfo==false){
+            return error_show(1004,"发票申请数据未找到");
+        }
+        if($invinfo['status']!=3){
+         return error_show(1004,"发票申请未完成");
+        }
+     $qrd =Db::name("assoc")->where(["viceCode"=>$invNo,"status"=>2,"is_del"=>0])->column("orderCode");
+     if(empty($qrd)){
+           return error_show(1004,"未找到开票的销售单信息");
      }
      $returnCode = makeNo("RIN");
      $data=[
@@ -402,6 +419,10 @@ class OrderInv extends BaseController{
          ];
         $inter = Db::name("invoice_return")->insert($data);
          if($inter){
+             foreach ($qrd as $value){
+                  $report=ReportCode::where(["qrdNo"=>$value])->find();
+                  $report->setField("returnInv",$returnCode);
+             }
              return app_show(0,"退票申请新建成功",["returnCode"=>$returnCode]);
          }else{
              return error_show(1005,"退票申请新建失败");
@@ -429,13 +450,73 @@ class OrderInv extends BaseController{
         if($return==false){
             return error_show(1005,"退票申请信息未找到");
         }
-        $update=["status"=>$status,"return_type"=>$return_type,"remark"=>$remark,"updatetime"=>date("Y-m-d H:i:s")];
-        $up =Db::name("invoice_return")->where($return)->update($update);
-        if($up){
-            return app_show(0,"退票申请信息更新成功");
-        }else{
-            return error_show(1005,"退票申请信息更新失败");
+        $invinfo = Db::name("invoice_pool")->where(["invNo"=>$return['invNo'],"is_del"=>0])->find();
+        if($invinfo==false){
+            return error_show(1004,"发票申请数据未找到");
         }
+        if($invinfo['status']!=3){
+         return error_show(1004,"发票申请未完成");
+        }
+         $qrd =Db::name("assoc")->where(["viceCode"=>$return['invNo'],"status"=>2,"is_del"=>0])->column("orderCode");
+         if(empty($qrd)){
+               return error_show(1004,"未找到开票的销售单信息");
+         }
+         Db::startTrans();
+         try{
+             $update=["status"=>$status,"return_type"=>$return_type,"remark"=>$remark,"updatetime"=>date("Y-m-d H:i:s")];
+             $up =Db::name("invoice_return")->where($return)->update($update);
+            if($up){
+                if($status==2){
+                      $qrdArr=Db::name("assoc")->where(["viceCode"=>$return['invNo'],"is_del"=>0])->column("id,orderCode,cancel_fee");
+                     if(!empty($qrdArr)){
+                          foreach ($qrdArr as $value){
+                              $qrdinfo =Db::name("qrd_info")->where(["sequenceNo"=>$value['orderCode']])->find();
+                              if($qrdinfo==false){
+                                  Db::rollback();
+                                  return error_show(1003,"确认单信息未找到");
+                              }
+                              if($qrdinfo['inv_fee']<$value['cancel_fee']){
+                                   Db::rollback();
+                                  return error_show(1003,"确认单信息开票金额不足");
+                              }
+                              $update =[
+                                  "winv_fee"=>$qrdinfo['winv_fee']+$value['cancel_fee'],
+                                  "inv_fee"=>$qrdinfo['inv_fee']-$value['cancel_fee'],
+                                  "inv_status"=>$qrdinfo['ainv_fee']==0 &&$qrdinfo['inv_fee']==0 ? 1 : 2,
+                                  "status"=>$qrdinfo['ainv_fee']==0 &&$qrdinfo['inv_fee']==0 && $qrdinfo['pay_status'] ?0 : 1,
+                                  "updatetime"=>date("Y-m-d H:i:s"),
+                              ];
+                              $qrdup = Db::name("qrd_info")->where($qrdinfo)->update($update);
+                              if($qrdup==false){
+                                  Db::rollback();
+                                  return error_show(1003,"确认单信息更新失败");
+                              }
+                              $assoc=["status"=>3,"updatetime"=>date("Y-m-d H:i:s")];
+                              $assocup =Db::name("assoc")->where($value)->update($assoc);
+                              if($assocup==false){
+                                  Db::rollback();
+                                  return error_show(1003,"确认单关联信息更新失败");
+                              }
+                          }
+                     }
+                }
+                if($status==3 || $status==4){
+                     foreach ($qrd as $value){
+                      $report=ReportCode::where(["qrdNo"=>$value])->find();
+                      $report->rmField("returnInv",$returnCode);
+                 }
+                }
+                Db::commit();
+                return app_show(0,"退票申请信息更新成功");
+            }
+            Db::rollback();
+            return error_show(1005,"退票申请信息更新失败");
+
+         }catch (\Exception $e){
+              Db::rollback();
+            return error_show(1005,$e->getMessage());
+         }
+
     }
     public function returnRed(){
         $returnCode = isset($this->post['returnCode'])&&$this->post['returnCode']!="" ? trim($this->post['returnCode']):"";

+ 12 - 5
app/admin/controller/OrderPay.php

@@ -3,7 +3,7 @@
 
 namespace app\admin\controller;
 use app\admin\BaseController;
-use think\App;
+use app\admin\model\ReportCode;use think\App;
 use think\facade\Db;use think\queue\command\Retry;
 
 class OrderPay extends BaseController{
@@ -77,6 +77,9 @@ class OrderPay extends BaseController{
                     "updatetime"=>date("Y-m-d H:i:s")
                 ];
                 $assoc[]=$temp;
+                 $report=ReportCode::where(["qrdNo"=>$value['sequenceNo']])->find();
+                 $report->setField("logNo",$logNo);
+                 $report->setField("tradNo",$tradNo);
             }
             $asscin= Db::name("assoc")->insertAll($assoc);
             if($asscin!=count($assoc)){
@@ -140,7 +143,7 @@ class OrderPay extends BaseController{
             $logup = Db::name("trade_pool")->where($logingo)->update($up);
             if($logup){
                 if($status==2){
-                    $qrdArr=Db::name("assoc")->where(["viceNo"=>$logNo,"status"=>1,"is_del"=>0])->select()->toArray();
+                    $qrdArr=Db::name("assoc")->where(["viceCode"=>$logNo,"status"=>1,"is_del"=>0])->select()->toArray();
                     if(!empty($qrdArr)){
                         foreach ($qrdArr as $value){
                             $qrd =Db::name("qrd_info")->where(["sequenceNo"=>$value['orderCode']])->field("id,status,pay_fee,apay_fee,wpay_fee,pay_status,totalPrice")->findOrEmpty();
@@ -155,7 +158,7 @@ class OrderPay extends BaseController{
                             $update =[
                                 "apay_fee"=>$qrd['apay_fee']+$value['cancel_fee'],
                                 "pay_fee"=>$qrd['pay_fee']-$value['cancel_fee'],
-                                "pay_time"=>date("Y-m-d H:i:s"),
+                                "paytime"=>date("Y-m-d H:i:s"),
                                 "pay_status"=>$qrd['wpay_fee']==0 && ($qrd['pay_fee']-$value['cancel_fee'])==0 ? 3:2,
                                 "updatetime"=>date("Y-m-d H:i:s")
                                 ];
@@ -178,7 +181,7 @@ class OrderPay extends BaseController{
                     }
                 }
                 if($status==3){
-                    $qrdArr=Db::name("assoc")->where(["viceNo"=>$logNo,"status"=>1,"is_del"=>0])->select()->toArray();
+                    $qrdArr=Db::name("assoc")->where(["viceCode"=>$logNo,"status"=>1,"is_del"=>0])->select()->toArray();
                     if(!empty($qrdArr)){
                         foreach ($qrdArr as $value){
                             $qrd =Db::name("qrd_info")->where(["sequenceNo"=>$value['orderCode']])->field("id,status,pay_fee,apay_fee,wpay_fee,pay_status,totalPrice")->findOrEmpty();
@@ -211,6 +214,8 @@ class OrderPay extends BaseController{
                                 Db::rollback();
                                 return error_show(1005,"销售单更新失败");
                             }
+                             $report=ReportCode::where(["qrdNo"=>$value['orderCode']])->find();
+                             $report->rmField("logNo",$logNo);
                         }
                     }
                     $trade =Db::name("trade")->where(["tradNo"=>$logingo['tradNo'],"is_del"=>0])->findOrEmpty();
@@ -464,7 +469,7 @@ class OrderPay extends BaseController{
         $up =Db::name("trade_return")->where($returninfo)->update($update);
         if($up){
             if($status==1){
-               $qrdArr=Db::name("assoc")->where(["viceNo"=>$returninfo['logNo'],"status"=>1,"is_del"=>0])->select()
+               $qrdArr=Db::name("assoc")->where(["viceCode"=>$returninfo['logNo'],"status"=>1,"is_del"=>0])->select()
                ->toArray();
                     if(!empty($qrdArr)){
                         foreach ($qrdArr as $value){
@@ -498,6 +503,8 @@ class OrderPay extends BaseController{
                                 Db::rollback();
                                 return error_show(1005,"销售单更新失败");
                             }
+                            $report=ReportCode::where(["qrdNo"=>$value['orderCode']])->find();
+                             $report->setField("returnTrad",$returnCode);
                         }
                     }
                     $logup =["status"=>$returninfo['type']==1?5:4,"updatetime"=>date("Y-m-d H:i:s")];

+ 78 - 3
app/admin/controller/Payment.php

@@ -4,7 +4,7 @@ declare (strict_types = 1);
 namespace app\admin\controller;
 
 use app\admin\BaseController;
-use app\command\datacopy;use think\facade\Db;
+use app\admin\model\ReportCode;use app\command\datacopy;use think\facade\Db;
 
 class Payment extends BaseController
 {
@@ -207,6 +207,8 @@ class Payment extends BaseController
                 $paydata['wpay_fee']+= $temp['wpay_fee'];
                 $paydata['ainv_fee']+= $temp['ainv_fee'];
                 $paydata['winv_fee']+= $temp['winv_fee'];
+                $report=ReportCode::find(["cgdNo"=>$value['sequenceNo']]);
+                $report->setField("payNo",$payNo);
            }
             $paydata['total_fee']= round($paydata['total_fee'],2);
             $paydata['apay_fee']= round($paydata['apay_fee'],2);
@@ -311,6 +313,8 @@ class Payment extends BaseController
                    $temp['addtime']=date("Y-m-d H:i:s");
                    $temp['updatetime']=date("Y-m-d H:i:s");
                    $data[]=$temp;
+                   $report=ReportCode::where(["cgdNo"=>$value['sequenceNo']])->find();
+                   $report->setField("payNo",$payNo);
                }
                 $paydata['total_fee']+= $value['totalPrice'];
                 $paydata['apay_fee']+= $value['apay_fee'];
@@ -326,6 +330,10 @@ class Payment extends BaseController
             $payDA=Db::name("pay")->where($payinfo)->update($paydata);
              if($payDA){
                     if(!empty($remove)){
+                        foreach ($remove as $value){
+                         $report=ReportCode::where(["cgdNo"=>$value])->find();
+                         $report->rmField("payNo",$payNo);
+                        }
                       $payrm = Db::name("pay_info")->where(["cgdNo"=>$remove,"is_del"=>0])->update(["is_del"=>1,"updatetime"=>date("Y-m-d H:i:s")]);
                         if($payrm==false){
                                 Db::rollback();
@@ -385,7 +393,10 @@ class Payment extends BaseController
             return error_show(1004,"未能找到对应数据");
         }
         $remark = isset($post['remark']) && $post['remark']!=""? trim($post['remark']):"";
-
+        $cgdNo = Db::name("pay_info")->where(["payNo"=>$payNo,"is_del"=>0])->column("cgdNo");
+       if(empty($cgdNo)){
+           return error_show(1004,"未能找到对应采购单数据");
+       }
         Db::startTrans();
         try{
             $update=[
@@ -395,6 +406,18 @@ class Payment extends BaseController
             ];
             $result = Db::name("pay")->where("payNo","=",$payNo)->update($update);
             if($result){
+                if($status==4 || $status==5){
+                     $cgdup =Db::name("cgd_info")->where(["sequenceNo"=>$cgdNo,"status"=>1])->update(['status'=>0,"updatetime"=>date("Y-m-d H:i:s")]);
+                       if($cgdup==false){
+                            Db::rollback();
+                           return error_show(1004,"对账驳回失败");
+                       }
+
+                       foreach ($cgdNo as $value){
+                           $report=ReportCode::where(["cgdNo"=>$value])->find();
+                           $report->rmField("payNo",$payNo);
+                     }
+                }
                Db::commit();
                return app_show(0,"状态更新成功");
             }
@@ -443,6 +466,10 @@ class Payment extends BaseController
                     Db::rollback();
                    return error_show(1004,"对账删除失败");
                }
+               foreach ($cgdNo as $value){
+                   $report=ReportCode::where(["cgdNo"=>$value])->find();
+                   $report->rmField("payNo",$payNo);
+               }
             Db::commit();
             return error_show(0,"对账删除成功");
            }
@@ -466,6 +493,8 @@ class Payment extends BaseController
         if($payinfo==false){
            return error_show(1004,"未找到对账信息");
         }
+        $cgdNo =Db::name("pay_info")->where(["payNo"=>$payNo,"is_del"=>0])->column("cgdNo");
+        if(empty($cgdNo))  return error_show(1004,"未找到对账采购单信息");
         if($payinfo['status']!=3){
               return error_show(1004,"对账未审核完成");
         }
@@ -499,6 +528,10 @@ class Payment extends BaseController
                 ];
                 $payup = Db::name("pay")->where($payinfo)->update($update);
                 if($payup){
+                     foreach ($cgdNo as $value){
+                       $report=ReportCode::where(["cgdNo"=>$value])->find();
+                       $report->setField("DzNo",$dzno);
+                    }
                     Db::commit();
                     return app_show(0,"付款申请添加成功",["dzNo"=>$dzno]);
                 }
@@ -547,6 +580,8 @@ class Payment extends BaseController
         if($payinfo['status']!=3){
             return error_show(1005,"对账信息未完成审核");
         }
+        $cgdNo =Db::name("pay_info")->where(["payNo"=>$payment['payNo'],"is_del"=>0])->column("cgdNo");
+        if(empty($cgdNo))  return error_show(1004,"未找到对账采购单信息");
         $remark = isset($post['remark'])? trim($post['remark']) :"";
         $image = isset($post['return_image'])? trim($post['return_image']) :"";
         $return_time = isset($post['return_time'])? trim($post['return_time']) :"";
@@ -577,6 +612,10 @@ class Payment extends BaseController
                          "pay_status" => $payinfo['apay_fee']==0 ?1:2,
                         "updatetime" => date("Y-m-d H:i:s")
                     ];
+                     foreach ($cgdNo as $value){
+                       $report=ReportCode::where(["cgdNo"=>$value])->find();
+                       $report->rmField("DzNo",$dzNo);
+                    }
                 }
                     $pay = Db::name("pay")->where($payinfo)->update($payupdate);
                     if($pay==false){
@@ -619,6 +658,8 @@ class Payment extends BaseController
        if($payinfo==false){
             return error_show(1005,"未找到付款信息");
         }
+        $cgdNo =Db::name("pay_info")->where(["payNo"=>$payment['payNo'],"is_del"=>0])->column("cgdNo");
+        if(empty($cgdNo))  return error_show(1004,"未找到对账采购单信息");
        Db::startTrans();
        try{
            $paym = Db::name("pay_payment")->where($payment)->update(["is_del"=>1,"updatetime"=>date("Y-m-d H:i:s")]);
@@ -634,6 +675,10 @@ class Payment extends BaseController
                        $payinfo['apay_fee']-=$payment['pay_fee'];
                        $payinfo['pay_status']=$payinfo['apay_fee']==0? 1 : 2 ;
                        $payinfo['updatetime']=date("Y-m-d H:i:s");
+                         foreach ($cgdNo as $value){
+                           $report=ReportCode::where(["cgdNo"=>$value])->find();
+                           $report->rmField("DzNo",$dzNo);
+                        }
                    }
                     $pay = Db::name("pay")->save($payinfo);
                      if($pay==false){
@@ -853,6 +898,8 @@ class Payment extends BaseController
          if ($type==3){
 
         }
+          $cgdNo =Db::name("pay_info")->where(["payNo"=>$payNo,"is_del"=>0])->column("cgdNo");
+        if(empty($cgdNo))  return error_show(1004,"未找到对账采购单信息");
         Db::startTrans();
         try{
             $hpNo=makeNo("hp");
@@ -875,6 +922,10 @@ class Payment extends BaseController
             ];
             $inadd =Db::name("pay_invoice")->insert($data);
             if ($inadd){
+                 foreach ($cgdNo as $value){
+                       $report=ReportCode::where(["cgdNo"=>$value])->find();
+                       $report->setField("hpNo",$hpNo);
+                    }
              Db::commit();
              return app_show(0,"回票新建成功",['hpNo'=>$hpNo]);
             }
@@ -922,6 +973,8 @@ class Payment extends BaseController
         if($payinfo['status']!=3){
             return error_show(1005,"对账信息未完成审核");
         }
+         $cgdNo =Db::name("pay_info")->where(["payNo"=>$payment['payNo'],"is_del"=>0])->column("cgdNo");
+        if(empty($cgdNo))  return error_show(1004,"未找到对账采购单信息");
         if($payinfo['inv_fee']< $payment['inv_fee'])return error_show(1005,"对账回票申请金额有误,请确认回票申请金额");
         Db::startTrans();
         try {
@@ -941,7 +994,23 @@ class Payment extends BaseController
                             return error_show(1003,"回票申请状态更新成功");
                         }
                 }
-
+                if($status==11){
+                    $payupdate =[
+                            "winv_fee"=>$payinfo['winv_fee']+$payment['inv_fee'],
+                            "inv_fee"=>$payinfo['inv_fee']-$payment['inv_fee'],
+                             "inv_status" => ($payinfo['inv_fee']-$payment['inv_fee'])==0 && $payinfo['ainv_fee']==0?1:2,
+                             "updatetime" => date("Y-m-d H:i:s")
+                        ];
+                    $pay =Db::name("pay")->where($payinfo)->update($payupdate);
+                        if($pay==false){
+                            Db::rollback();
+                            return error_show(1003,"回票申请状态更新成功");
+                        }
+                    foreach ($cgdNo as $value){
+                       $report=ReportCode::where(["cgdNo"=>$value])->find();
+                       $report->rmField("hpNo",$hpNo);
+                    }
+                }
                 Db::commit();
                 return app_show(0,"回票申请更新成功");
             }
@@ -1043,6 +1112,8 @@ class Payment extends BaseController
         if($payinfo['status']!=3){
             return error_show(1005,"对账信息未完成审核");
         }
+        $cgdNo =Db::name("pay_info")->where(["payNo"=>$payinv['payNo'],"is_del"=>0])->column("cgdNo");
+        if(empty($cgdNo))  return error_show(1004,"未找到对账采购单信息");
         Db::startTrans();
         try{
             $update=["is_del"=>1,"updatetime"=>date("Y-m-d H:i:s")];
@@ -1064,6 +1135,10 @@ class Payment extends BaseController
                             Db::rollback();
                             return error_show(1003,"删除失败");
                      }
+                      foreach ($cgdNo as $value){
+                       $report=ReportCode::where(["cgdNo"=>$value])->find();
+                       $report->rmField("hpNo",$hpNo);
+                    }
                 }
                 Db::commit();
                 return app_show(0,"删除成功");

+ 16 - 2
app/admin/controller/index.php

@@ -1,8 +1,9 @@
 <?php
-declare (strict_types = 1);
+
 
 namespace app\admin\controller;
 
+use app\admin\model\ReportCode;
 use think\Request;
 
 class index
@@ -14,7 +15,20 @@ class index
      */
     public function index()
     {
-        //
+
+        $report =ReportCode::where(['qrdNo'=>212])->find();
+//        $report =ReportCode::find(['id'=>1]);
+        var_dump($report->payNo);
+        $report->setField("payNo","222");
+
+//       $report->setpayNo('pay');
+//       $report->setinvNo('inv');
+//       $report->setlogNo('log');
+//       $report->settradNo('trad');
+//       $report->setDzNo('dz');
+//       $report->sethpNo('hp');
+//       $report->setreturnInv('returninv');
+//       $report->setreturnTrad('returntrad');
     }
 
     /**

+ 9 - 0
app/admin/route/app.php

@@ -94,5 +94,14 @@ Route::rule("orderpaystatus","admin/OrderPay/status");
 Route::rule("orderpaylist","admin/OrderPay/list");
 Route::rule("tradeList","admin/OrderPay/tradeList");
 Route::rule("tradeQuery","admin/OrderPay/tradeQuery");
+Route::rule("orderpayreturn","admin/OrderPay/ReturnPay");
+Route::rule("orderreturnlist","admin/OrderPay/returnList");
+Route::rule("orderreturnstatus","admin/OrderPay/returnStatus");
+
+Route::rule("index","admin/index/index");
+
+
+
+