| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- <?php
- namespace App\Services;
- use App\OracleDOCOrderHeader;
- use App\OrderIssue;
- use App\RejectedBill;
- Class RejectedBillService
- {
- private function conditionQuery(array $params){
- $query = RejectedBill::query();
- if ($params['order_number'] ?? false){
- $query->whereIn('order_number',$params['order_number']);
- }
- return $query;
- }
- public function get(array $params){
- return $this->conditionQuery($params)->get();
- }
- public function create(array $params){
- return RejectedBill::query()->create($params);
- }
- /**
- * @param RejectedBill $rejectedBill
- */
- public function syncOrderIssue($rejectedBill)
- {
- $orderIssue = $rejectedBill->orderIssue()->first();
- if(!isset($orderIssue)){
- if(isset($rejectedBill->order_number) && trim($rejectedBill->order_number) != ''){
- $orderIssue = OrderIssue::query()->with('order')->whereHas('order',function($query)use($rejectedBill){
- $query->where('client_code',$rejectedBill->order_number);
- })->first();
- }
- if(isset($rejectedBill->logistic_number_return) && !isset($orderIssue)){
- $orderHeader = OracleDOCOrderHeader::query()->where('soreference1',function($query)use($rejectedBill){
- $query->select('asnreference2')->from('DOC_ASN_HEADER')->where('asnreference3',$rejectedBill->logistic_number_return)->first();
- })->first();
- // $orderHeader = OracleDOCOrderHeader::query()->where('soreference1',function($query)use($rejectedBill){
- // $query->select('asnreference2')->from('DOC_ASN_HEADER')->where('asnreference3',$rejectedBill->logistic_number_return)->first();
- // })->first();
- if(!isset($orderHeader))return;
- $orderIssue = OrderIssue::query()->with('order')->whereHas('order',function($query)use($orderHeader){
- $query->where('code',$orderHeader->orderno);
- })->first();
- }
- }
- if(isset($orderIssue)){
- //确认问题件有的时候需要更新状态和提示
- $orderIssue->同步退单状态();
- $orderIssue->update(['is_new_rejecting' => '有']);
- LogService::log(__METHOD__,__FUNCTION__,'退回单同步问题件'.json_encode($rejectedBill).json_encode($orderIssue));
- }
- }
- }
|