wugg il y a 4 mois
Parent
commit
b9f2a2cf1f

+ 1 - 4
app/admin/controller/OrderInv.php

@@ -351,11 +351,8 @@ class OrderInv extends Base{
             }
             if($param['status']==4){
                 \app\admin\model\Assoc::subOrder($param['invNo']);
-//                if (!empty($param['ItemRemark'])){
-//                    (new InvoiceOrder)->saveAll($param['ItemRemark']);
-//                };
             }
-            if($param['status']==7){
+            if($param['status']==7  || $param['status']==8){
                 \app\admin\model\Assoc::addOrder($param['invNo']);
             }
             $info->commit();

+ 34 - 1
app/admin/controller/Payment.php

@@ -998,7 +998,40 @@ class Payment extends Base
 
         $page =  isset($post['page'])&&$post['page']!="" ? intval($post['page']) :0;
         $size =  isset($post['size'])&&$post['size']!="" ? intval($post['size']) :10;
-        
+        $inv_status =  isset($post['inv_status'])&&$post['inv_status']!==''?intval($post['inv_status']):'';
+        if($inv_status!==''){
+        	if($inv_status==0){
+        		$condition[]=['a.inv_status','<>',3];
+        	}else{
+        		$condition[]=['a.inv_status','=',$inv_status];
+        	}
+        }
+        $invIs =  isset($post['inv_is'])&&$post['inv_is']!==''?intval($post['inv_is']):'';
+        if($invIs!==''){
+        	if($invIs==1){
+        		$condition[]=['a.winv_fee','<>',0];
+        	}else{
+        		$condition[]=['a.winv_fee','=',0];
+        	}
+        }
+        $payIs =  isset($post['pay_is'])&&$post['pay_is']!==''?intval($post['pay_is']):'';
+        if($payIs!==''){
+        	if($payIs==1){
+        		$condition[]=['a.wpay_fee','<>',0];
+        	}else{
+        		$condition[]=['a.wpay_fee','=',0];
+        	}
+        }
+
+        $pay_status =  isset($post['pay_status'])&&$post['pay_status']!==''?intval($post['pay_status']):'';
+        if($pay_status!==''){
+        	if($pay_status==0){
+        		$condition[]=['a.pay_status','<>',3];
+        	}else{
+        		$condition[]=['a.pay_status','=',$pay_status];
+        	}
+
+        }
         $list = CgdInfo::alias("a")
                ->leftJoin("pay_info b","a.sequenceNo=b.cgdNo and b.is_del=0 and b.status=1")
                ->where($condition)

+ 3 - 3
app/admin/model/Assoc.php

@@ -29,7 +29,7 @@ class Assoc extends Model
                     $order[$v['orderCode']]['ainv_fee']+=$v['cancel_fee'];
                     $order[$v['orderCode']]['invtime']=date("Y-m-d H:i:s");
                     $order[$v['orderCode']]['inv_status']= $order[$v['orderCode']]['winv_fee']==0 &&$order[$v['orderCode']]['inv_fee']==0 ? 3 : 2;
-                    $order[$v['orderCode']]['status']= $order[$v['orderCode']]['pay_status']==0 &&$order[$v['orderCode']]['inv_status']==0 ? 0 : 1;
+                    $order[$v['orderCode']]['status']= $order[$v['orderCode']]['pay_status']==1 &&$order[$v['orderCode']]['inv_status']==1 ? 0 : 1;
                 }
             }
            (new QrdInfo())->saveAll($order);
@@ -51,7 +51,7 @@ class Assoc extends Model
                     $order[$v['orderCode']]['inv_fee']-=$v['cancel_fee'];
                     $order[$v['orderCode']]['winv_fee']+=$v['cancel_fee'];
                     $order[$v['orderCode']]['inv_status']= $order[$v['orderCode']]['ainv_fee']==0 &&$order[$v['orderCode']]['inv_fee']==0 ? 1 : 2;
-                    $order[$v['orderCode']]['status']= $order[$v['orderCode']]['pay_status']==0 &&$order[$v['orderCode']]['inv_status']==0 ? 0 : 1;
+                    $order[$v['orderCode']]['status']= $order[$v['orderCode']]['pay_status']==1 &&$order[$v['orderCode']]['inv_status']==1 ? 0 : 1;
                 }
             }
            (new QrdInfo())->saveAll($order);
@@ -75,7 +75,7 @@ class Assoc extends Model
                     $order[$v['orderCode']]['ainv_fee']-=$v['cancel_fee'];
                     $order[$v['orderCode']]['winv_fee']+=$v['cancel_fee'];
                     $order[$v['orderCode']]['inv_status']= $order[$v['orderCode']]['ainv_fee']==0 &&$order[$v['orderCode']]['inv_fee']==0 ? 1 : 2;
-                    $order[$v['orderCode']]['status']= $order[$v['orderCode']]['pay_status']==0 &&$order[$v['orderCode']]['inv_status']==0 ? 0 : 1;
+                    $order[$v['orderCode']]['status']= $order[$v['orderCode']]['pay_status']==1 &&$order[$v['orderCode']]['inv_status']==1 ? 0 : 1;
                 }
             }
            (new QrdInfo())->saveAll($order);

+ 24 - 0
app/admin/model/InvoiceTicket.php

@@ -16,5 +16,29 @@ class InvoiceTicket extends Model
     public function setItemAttr($v){
       return json_encode($v,JSON_UNESCAPED_UNICODE);
     }
+    public static function onAfterWrite(Model $model){
+        log::info('InvoiceInfo::OnAfterWrite'.json_encode($model->toArray()));
+        $pay = Pay::where(['payNo'=>$model->payNo])->findOrEmpty();
+        if(!$pay->isEmpty() && $pay->is_comon!=1){
+            if($model->status==1 && !empty($model->item_list)){
+                          (new  InvoiceItem)->saveAll(array_map(function ($item)use($model) {
+                              return [
+                                  'invoiceCode'=>$model->hpNo,
+                                  'order_type'=>1,
+                                  'good_name'=>$item['name'],
+                                  'unit'=>$item['unit'],
+                                  'num'=>$item['quantity'],
+                                  'unit_price'=>$item['unit_price'],
+                                  'amount'=>$item['amount'],
+                                  'tax_amount'=>$item['tax'],
+                                  'tax'=>$item['tax_rate'],
+                                  'cat_code'=>$item['license_plate_number'],
+                                  'total_amount'=>bcadd($item['amount'],$item['tax'],2),
+                                  'balance_amount'=>bcadd($item['amount'],$item['tax'],2),
+                              ];
+                          },$model->item_list));
+                       }
+        }
 
+   }
 }