|
|
@@ -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;
|
|
|
}
|