wugg hai 6 meses
pai
achega
6e64887c98
Modificáronse 3 ficheiros con 18 adicións e 100 borrados
  1. 2 64
      app/admin/controller/OrderInv.php
  2. 2 22
      app/admin/controller/Payment.php
  3. 14 14
      app/admin/model/Pay.php

+ 2 - 64
app/admin/controller/OrderInv.php

@@ -2621,38 +2621,7 @@ class OrderInv extends Base{
                 }
 
                if($update['status']==4){
-                    $qrdArr=Db::name("assoc")->where(["viceCode"=>$key,'status'=>1,"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 =[
-                                  "ainv_fee"=>$qrdinfo['ainv_fee']+$value['cancel_fee'],
-                                  "inv_fee"=>$qrdinfo['inv_fee']-$value['cancel_fee'],
-                                  "invtime"=>date("Y-m-d H:i:s"),
-                                  "inv_status"=>$qrdinfo['winv_fee']==0 &&($qrdinfo['inv_fee']-$value['cancel_fee'])==0 ? 3 : 2,
-                                  "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"=>2,"assoc_time"=>date("Y-m-d H:i:s"),"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,"确认单关联信息更新失败");
-                              }
-                          }
-                     }
+                   \app\admin\model\Assoc::subOrder($key);
                 }
                 $val['inv_type'] = $this->kingInvoice[$val['inv_type']];
                $list[]=$val;
@@ -2853,38 +2822,7 @@ class OrderInv extends Base{
                 }
 
                if($update['status']==4){
-                    $qrdArr=Db::name('assoc')->where(['viceCode'=>$key,'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 =[
-                                  'ainv_fee'=>$qrdinfo['ainv_fee']+$value['cancel_fee'],
-                                  'inv_fee'=>$qrdinfo['inv_fee']-$value['cancel_fee'],
-                                  'invtime'=>date('Y-m-d H:i:s'),
-                                  'inv_status'=>$qrdinfo['winv_fee']==0 &&($qrdinfo['inv_fee']-$value['cancel_fee'])==0 ? 3 : 2,
-                                  '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'=>2,'assoc_time'=>date('Y-m-d H:i:s'),'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,'确认单关联信息更新失败');
-                              }
-                          }
-                     }
+                    \app\admin\model\Assoc::subOrder($key);
                 }
                 $val['inv_type'] = $this->kingInvoice[$val['inv_type']];
                $list[]=$val;

+ 2 - 22
app/admin/controller/Payment.php

@@ -2255,35 +2255,15 @@ class Payment extends Base
                 if ($value['invoice_fee'] > $payinfo['inv_fee']) throw new Exception("{$value['hpNo']}对账单开票中金额不足");
 
                 if ($val['status'] == 4) {
-                    //审核通过
-                    $payupdate = [
-                        "ainv_fee" => $payinfo['ainv_fee'] + $value['invoice_fee'],
-                        "inv_fee" => $payinfo['inv_fee'] - $value['invoice_fee'],
-                        "inv_status" => ($payinfo['inv_fee'] - $value['invoice_fee']) == 0 && $payinfo['winv_fee'] == 0 ? 3 : 2,
-                        "updatetime" => date("Y-m-d H:i:s")
-                    ];
-
+                    Pay::addAinv($payArr[$val['hpNo']]['payNo'],$value['invoice_fee']);
                     $pay_invoice_allow[] = $value['id'];
 
                 } else {
-                    //审核不通过
-                    $payupdate = [
-                        "winv_fee" => $payinfo['winv_fee'] + $value['invoice_fee'],
-                        "inv_fee" => $payinfo['inv_fee'] - $value['invoice_fee'],
-                        "inv_status" => ($payinfo['inv_fee'] - $value['invoice_fee']) == 0 && $payinfo['ainv_fee'] == 0 ? 1 : 2,
-                        "updatetime" => date("Y-m-d H:i:s")
-                    ];
-
+                   Pay::subInv($payArr[$val['hpNo']]['payNo'],$value['invoice_fee']);
                     Db::name("pay_invoice")
                         ->where(["id" => $value['id'], "status" => 3, "is_del" => 0])
                         ->update(["status" => $val['status'], "updatetime" => date("Y-m-d H:i:s"), 'remark' =>$val['remark']]);
                 }
-                $pay = Db::name("pay")->where($payinfo)->update($payupdate);
-
-                if ($pay == false) {
-                	throw new Exception("{$value['hpNo']}回票申请对账单状态更新失败");
-                }
-
             }
 
             if ($pay_invoice_allow) Db::name("pay_invoice")->where(["id" => $pay_invoice_allow, "status" => 3, "is_del" => 0])->update(["status" => 4, "updatetime" =>date("Y-m-d H:i:s")]);

+ 14 - 14
app/admin/model/Pay.php

@@ -10,14 +10,14 @@ use think\Model;
  */
 class Pay extends Model
 {
-	protected $createTime='addtime';
-    protected $updateTime='updatetime';
+	protected $createTime="addtime";
+    protected $updateTime="updatetime";
     public static $status=["待提交","待买方审核","审核通过","审核驳回","对账单无效"];
 
     public static function addInv($payNo,$payfee){
-        $pay = self::where(['payNo'=>$payNo,"status"=>2,"is_del"=>0])->findOrEmpty();
-        if($pay->isEmpty())throw new \Exception("对账单不存在");
-        if($pay->winv_fee<$payfee)throw new \Exception('对账单未开票金额不足');
+        $pay = self::where(["payNo"=>$payNo,"status"=>2,"is_del"=>0])->findOrEmpty();
+        if($pay->isEmpty())throw new \Exception("对账单{$payNo}不存在");
+        if($pay->winv_fee<$payfee)throw new \Exception("对账单{$payNo}未开票金额不足");
         $pay->winv_fee=$pay->winv_fee-$payfee;
         $pay->inv_fee=$pay->inv_fee+$payfee;
         $pay->inv_status= 2;
@@ -25,9 +25,9 @@ class Pay extends Model
     }
 
     public static function addAinv($payNo,$payfee){
-        $pay = self::where(['payNo'=>$payNo,"status"=>2,"is_del"=>0])->findOrEmpty();
-        if($pay->isEmpty())throw new \Exception("对账单不存在");
-        if($pay->inv_fee<$payfee)throw new \Exception('对账单开票中金额不足');
+        $pay = self::where(["payNo"=>$payNo,"status"=>2,"is_del"=>0])->findOrEmpty();
+        if($pay->isEmpty())throw new \Exception("对账单{$payNo}不存在");
+        if($pay->inv_fee<$payfee)throw new \Exception("对账单{$payNo}开票中金额不足");
         $pay->inv_fee=$pay->inv_fee-$payfee;
         $pay->ainv_fee=$pay->ainv_fee+$payfee;
         $pay->inv_status= $pay->winv_fee==0 && $pay->inv_fee==0 ? 3 : 2;
@@ -35,9 +35,9 @@ class Pay extends Model
     }
 
     public static function subAinv($payNo,$payfee){
-        $pay = self::where(['payNo'=>$payNo,"status"=>2,"is_del"=>0])->findOrEmpty();
-        if($pay->isEmpty())throw new \Exception("对账单不存在");
-        if($pay->ainv_fee<$payfee)throw new \Exception('对账单开票金额不足');
+        $pay = self::where(["payNo"=>$payNo,"status"=>2,"is_del"=>0])->findOrEmpty();
+        if($pay->isEmpty())throw new \Exception("对账单{$payNo}不存在");
+        if($pay->ainv_fee<$payfee)throw new \Exception("对账单{$payNo}开票金额不足");
         $pay->ainv_fee=$pay->ainv_fee-$payfee;
         $pay->winv_fee=$pay->winv_fee+$payfee;
         $pay->inv_status= $pay->ainv_fee==0 && $pay->inv_fee==0 ? 1 : 2;
@@ -45,9 +45,9 @@ class Pay extends Model
     }
 
     public static function subInv($payNo,$payfee){
-        $pay = self::where(['payNo'=>$payNo,"status"=>2,"is_del"=>0])->findOrEmpty();
-        if($pay->isEmpty())throw new \Exception("对账单不存在");
-        if($pay->inv_fee<$payfee)throw new \Exception('对账单开票中金额不足');
+        $pay = self::where(["payNo"=>$payNo,"status"=>2,"is_del"=>0])->findOrEmpty();
+        if($pay->isEmpty())throw new \Exception("对账单{$payNo}不存在");
+        if($pay->inv_fee<$payfee)throw new \Exception("对账单{$payNo}开票中金额不足");
         $pay->inv_fee=$pay->inv_fee-$payfee;
         $pay->winv_fee=$pay->winv_fee+$payfee;
         $pay->inv_status= $pay->ainv_fee==0 && $pay->inv_fee==0 ? 1 : 2;