Browse Source

问题件退回单号 查询失败

ajun 5 years ago
parent
commit
49c9bff60d
1 changed files with 11 additions and 10 deletions
  1. 11 10
      app/Services/OrderIssueService.php

+ 11 - 10
app/Services/OrderIssueService.php

@@ -6,6 +6,7 @@ use App\OracleDOCASNHeader;
 use App\OracleDOCOrderHeader;
 use App\OrderIssue;
 use App\OrderIssueProcessLog;
+use App\OrderIssueRejectedBill;
 use App\OrderIssueType;
 use App\OrderPackage;
 use App\Order;
@@ -139,16 +140,16 @@ class OrderIssueService
     public function getRejectedBillQuery(array $arr, $query)
     {
         if (($arr['logistic_number_return'] ?? false) || ($arr['id_quality_label'] ?? false)) {
-            $query->whereHas('rejectedBills', function ($query) use (&$arr) {
-                if ($arr['logistic_number_return'] ?? false) {
-                    return $this->searchWay($query, $arr['logistic_number_return'], 'logistic_number_return');
-                }
-                if ($arr['id_quality_label'] ?? false) {
-                    $query->whereHas('items', function ($query) use ($arr) {
-                        $query->where('id_quality_label', $arr['id_quality_label']);
-                    });
-                }
-            });
+            $order_issue_rejected_bill_query = OrderIssueRejectedBill::query()->selectRaw('order_issue_id');
+            if(isset($arr['id_quality_label'])){
+                $rejected_bill_item_query = RejectedBillItem::query()->selectRaw('id_rejected_bill')->where('rejected_bill_items.id_quality_label',$arr['id_quality_label']);
+                $rejected_bill_query = RejectedBill::query()->selectRaw('rejected_bills.logistic_number_return')->whereIn('rejected_bills.id',$rejected_bill_item_query);
+                $order_issue_rejected_bill_query->whereIn('order_issue_rejected_bill.logistic_number_return',$rejected_bill_query);
+            }
+            if(isset($arr['logistic_number_return'])){
+                $this->searchWay($order_issue_rejected_bill_query,$arr['logistic_number_return'],'logistic_number_return');
+            }
+            $query->whereIn('order_issues.id',$order_issue_rejected_bill_query);
         }
         return $query;
     }