Przeglądaj źródła

问题件->修改关联

loustwo 4 lat temu
rodzic
commit
f72d7d0812

+ 2 - 2
app/OrderIssue.php

@@ -63,12 +63,12 @@ class OrderIssue extends Model
 
     public function rejectedBills(): BelongsToMany
     {
-        return $this->belongsToMany(RejectedBill::class,'order_issue_rejected_bill','order_issue_id','logistic_number_return','id','logistic_number_return');
+        return $this->belongsToMany(RejectedBill::class,'order_issue_rejected_bill','order_issue_id','logistic_number_return','id','logistic_number_return')->where('logistic_number_return','!=','');
     }
 
     public function orderIssueRejectedBills(): HasMany
     {
-        return $this->hasMany(OrderIssueRejectedBill::class,'order_id','order_id');
+        return $this->hasMany(OrderIssueRejectedBill::class,'order_id','order_id')->where('logistic_number_return','!=','');
     }
 
     public function issueType(): BelongsTo

+ 7 - 3
app/Services/OrderRejectedBillRelationService.php

@@ -40,7 +40,7 @@ class OrderRejectedBillRelationService
 
     private function getOrder(RejectedBill $rejectedBill)
     {
-        return ($this->getOrderByLogisticNumber($rejectedBill) ?? $this->getOrderByOracleOrderHeader($rejectedBill)) ?? $this->getOrderByOrderIssueRejectedBill(0);
+        return ($this->getOrderByLogisticNumber($rejectedBill) ?? $this->getOrderByOracleOrderHeader($rejectedBill)) ?? $this->getOrderByOrderIssueRejectedBill($rejectedBill);
     }
 
     private function getOrderByLogisticNumber(RejectedBill $rejectedBill)
@@ -108,7 +108,9 @@ class OrderRejectedBillRelationService
 
         $rejected_bill_logistic_number_return = $this->getExistRejectedBIllLogisticNumberReturn($logistic_number_returns);
 
-        return array_intersect($logistic_number_returns, $rejected_bill_logistic_number_return);
+        return array_filter(array_intersect($logistic_number_returns, $rejected_bill_logistic_number_return),function($item){
+            return $item != '';
+        });
     }
 
     /**
@@ -121,6 +123,7 @@ class OrderRejectedBillRelationService
         return OrderIssueRejectedBill::query()
             ->select('logistic_number_return')->where('order_id', $order->id)
             ->whereIn('logistic_number_return', $logistic_numbers)->get()
+            ->where('logistic_number_return','!=','')
             ->map(function ($item) {
                 return $item->logistic_number_return;
             })->toArray();
@@ -133,7 +136,8 @@ class OrderRejectedBillRelationService
     public function getExistRejectedBIllLogisticNumberReturn(array $logistic_numbers): array
     {
         return RejectedBill::query()->select('logistic_number_return')
-            ->whereIn('logistic_number_return', $logistic_numbers)->get()
+            ->whereIn('logistic_number_return', $logistic_numbers)
+            ->where('logistic_number_return','!=','')->get()
             ->map(function ($item) {
                 return $item->logistic_number_return;
             })->toArray();

+ 1 - 1
app/Services/OrderRejectingStatusService.php

@@ -56,7 +56,7 @@ class OrderRejectingStatusService
 
     private function getRejectedBillItems(Order $order)
     {
-        $query = OrderIssueRejectedBill::query()->select('logistic_number_return')->where('order_id', $order->id);
+        $query = OrderIssueRejectedBill::query()->select('logistic_number_return')->where('order_id', $order->id)->where('logistic_number_return','!=','');
         $query = RejectedBill::query()->select('id')->whereIn('logistic_number_return', $query);
         return RejectedBillItem::query()->with('quality')->whereIn('id_rejected_bill', $query)->get();
     }