|
|
@@ -3,7 +3,6 @@
|
|
|
namespace App\Services;
|
|
|
|
|
|
use App\Http\Controllers\Controller;
|
|
|
-use App\OracleDOCOrderHeader;
|
|
|
use App\OrderIssue;
|
|
|
use App\OrderIssueRejectedBill;
|
|
|
use App\RejectedBill;
|
|
|
@@ -26,7 +25,7 @@ Class OrderIssueRejectedBillService
|
|
|
if($orderIssueRejectedBill)return null;
|
|
|
if(!OrderIssueRejectedBill::isExit($orderIssue->id,$logistic_number_return)) $orderIssue->update(['is_new_rejecting' => '有']);
|
|
|
$orderIssue->joinRejectedBill($logistic_number_return);
|
|
|
- $orderIssue->syncRejectingStatus();
|
|
|
+ $orderIssue->syncRejectingStatus(); // 问题件同步订单状态
|
|
|
return OrderIssueRejectedBill::query()->with('rejectedBill')
|
|
|
->where('order_issue_id',$orderIssue->id)
|
|
|
->where('logistic_number_return',$logistic_number_return)->first() ?? false;
|
|
|
@@ -46,7 +45,7 @@ Class OrderIssueRejectedBillService
|
|
|
if(!$orderIssueRejectedBill)return null;
|
|
|
|
|
|
$bool = $orderIssue->unJoinRejectedBill($logistic_number_return);
|
|
|
- $orderIssue->syncRejectingStatus();
|
|
|
+ $orderIssue->syncRejectingStatus(); // 问题件同步订单状态
|
|
|
return $bool;
|
|
|
}
|
|
|
|
|
|
@@ -63,7 +62,7 @@ Class OrderIssueRejectedBillService
|
|
|
->where('logistic_number_return',$logistic_number_return)->first();
|
|
|
if($orderIssueRejectedBill) return null;
|
|
|
$orderIssue->reviseJoinRejectedBill($logistic_number_return,$logistic_number_return_update);
|
|
|
- $orderIssue->syncRejectingStatus();
|
|
|
+ $orderIssue->syncRejectingStatus(); // 问题件同步订单状态
|
|
|
return OrderIssueRejectedBill::query()->with('rejectedBill')
|
|
|
->where('order_issue_id',$orderIssue->id)
|
|
|
->where('logistic_number_return',$logistic_number_return)->first() ?? false;
|
|
|
@@ -71,34 +70,19 @@ Class OrderIssueRejectedBillService
|
|
|
|
|
|
/**
|
|
|
* 退回件同步问题件
|
|
|
- * @param RejectedBill $rejectedBill
|
|
|
+ * @param RejectedBill|Controller $rejectedBills
|
|
|
+ * @return void
|
|
|
*/
|
|
|
- public function syncOrderIssue($rejectedBill)
|
|
|
+ public function syncOrderIssue($rejectedBills)
|
|
|
{
|
|
|
- if(!$rejectedBill)return;
|
|
|
- if(!$rejectedBill->logistic_number_return)return;
|
|
|
- if(isset($rejectedBill->orderIssue))return;
|
|
|
- /** @var OrderIssue $orderIssue */
|
|
|
- $orderIssue = null;
|
|
|
- // 原单退回
|
|
|
- if($rejectedBill->logistic_number === '原单退回' || $rejectedBill->logistic_number_return){
|
|
|
- $orderIssue = OrderIssue::query()->where('order_id',function ($query)use($rejectedBill){
|
|
|
- $query->table('order_packages')->selectRaw('order_id')->where('logistic_number',$rejectedBill->logistic_number_return);
|
|
|
- })->first();
|
|
|
- }
|
|
|
- if(!$orderIssue){
|
|
|
- $orderHeader = OracleDOCOrderHeader::query()->selectRaw('OrderNO')->where('SoReference1', function ($query) use ($rejectedBill) {
|
|
|
- $query->select('AsnReference2')->from('DOC_ASN_HEADER')->where('AsnReference3', $rejectedBill->logistic_number_return)->first();
|
|
|
- })->first();
|
|
|
- if(!$orderHeader)return;
|
|
|
- $orderIssue = OrderIssue::query()->where('order_id',function($query)use($orderHeader){
|
|
|
- $query->table('orders')->select('id')->where('code',$orderHeader->orderno);
|
|
|
- })->first();
|
|
|
+ if(!$rejectedBills)return;
|
|
|
+ if(is_array($rejectedBills)){
|
|
|
+ foreach ($rejectedBills as $rejectedBill) {
|
|
|
+ $rejectedBill->syncOrderIssue();
|
|
|
+ }
|
|
|
+ return;
|
|
|
}
|
|
|
- if(!$orderIssue)return;
|
|
|
- if(!OrderIssueRejectedBill::isExit($orderIssue->id,$rejectedBill->logistic_number_return)) $orderIssue->update(['is_new_rejecting' => '有']);
|
|
|
- $orderIssue->joinRejectedBill($rejectedBill->logistic_number_return);
|
|
|
- $this->syncOrderIssueRejectingStatus($orderIssue);
|
|
|
+ $rejectedBills->syncOrderIssue();
|
|
|
}
|
|
|
|
|
|
/**
|