Просмотр исходного кода

问题件关联 订单生成问题件出现空

ajun 5 лет назад
Родитель
Сommit
07d6ae8aef

+ 7 - 0
app/Http/Controllers/TestController.php

@@ -832,4 +832,11 @@ where (commodities.owner_id,commodity_barcodes.code) in (select commodities.owne
         $service->updateByWmsOrders($orderHeaders);
     }
 
+    public function changeOrderIssue()
+    {
+        // $ids = [5419,5404,5402,5401,5400,5398,5397,5395,5388,5387,5383,5382,5379,5373,5370,5353,5329,5327];
+
+        // OrderIssue::query()->whereIn('id',$ids)->update(['is_new_rejecting'=>'无','rejecting_status'=>'未退回']);
+    }
+
 }

+ 2 - 2
app/OrderIssue.php

@@ -220,9 +220,9 @@ class OrderIssue extends Model
 
     public function syncRejectedBill()// 同步退回单
     {
-        if(!isset($this['second_logistic_number'])){
+        if(!isset($this['logistic_number_return'])){
             $order = $this->order;
-            $rejectedBill = RejectedBill::query()->where('logistic_number','like','原单退回'.'%')->where('order_number',$order->client_code)->first();
+            $rejectedBill = RejectedBill::query()->where('logistic_number','like','原单退回'.'%')->where('order_number',$order->client_code)->whereNotNull('order_number')->first();
             if($rejectedBill){
                 $this->update(['logistic_number_return'=>$rejectedBill->logistic_number_return,'is_new_rejecting'=>'有']);
             }

+ 14 - 10
app/Services/OrderIssueService.php

@@ -296,17 +296,21 @@ class OrderIssueService
     public function createOrderIssueByWmsOrder($orderHeaders, $order_issue_type_id, $result_explain, $imported_status = '正常', $custom_code = null)
     {
         /** @var OrderService $orderService */
-        $orderService = app(OrderService::class);
-        $orders = $orderService->createByWmsOrder($orderHeaders);
+        $orderService = app('OrderService');
+        $orderService->updateByWmsOrders($orderHeaders);
+        $orders = $orderService->getByWmsOrders($orderHeaders);
+//        $orders = $orderService->createByWmsOrder($orderHeaders);
         $innerParams = [];
-        foreach ($orders as $order) {
-            $innerParams[] = [
-                'order_id' => $order->id,
-                'order_issue_type_id' => $order_issue_type_id,
-                'result_explain' => $result_explain,
-                'imported_status' => $imported_status,
-                'custom_code' => $custom_code
-            ];
+        if(count($orders)>0){
+            foreach ($orders as $order) {
+                $innerParams[] = [
+                    'order_id' => $order->id,
+                    'order_issue_type_id' => $order_issue_type_id,
+                    'result_explain' => $result_explain,
+                    'imported_status' => $imported_status,
+                    'custom_code' => $custom_code
+                ];
+            }
         }
         try {
             $this->insert($innerParams);

+ 16 - 16
app/Services/OrderService.php

@@ -609,7 +609,7 @@ class OrderService
         $updated_at = Carbon::now()->toDateTimeString();
         foreach ($orderHeaders as $orderHeader) {
             $order =$dataHandlerService->getKeyValue(['code'=>$orderHeader->orderno],$orders_code_map);
-            if(!$order){continue;}
+            if(!$order)continue;
             $logistic = $dataHandlerService->getKeyValue(['code'=>$orderHeader->userdefine1] ,$logistics_code_map);
             $owner = $dataHandlerService->getKeyValue(['code'=>$orderHeader->customerid] ,$owner_code_map);
             $shop = $dataHandlerService->getKeyValue(['owner_id'=>$owner->id ?? '','name'=> $orderHeader->issuepartyname] ,$shops_map);
@@ -618,21 +618,21 @@ class OrderService
             $logistic_id = $logistic->id ?? null;
             $owner_id = $owner->id ?? null;
             $warehouse_id=$warehouse->id??null;
-            if($order->wms_status != $orderHeader->oracleBASCode_codename_c ||
-                $order->logistic_id != $logistic_id ||
-                $order->shop_id != $shop_id ||
-                $order->owner_id != $owner_id ||
-                $order->consignee_name != $orderHeader->c_contact ||
-                $order->consignee_phone != empty($orderHeader->c_tel2)?$orderHeader->c_tel1:$orderHeader->c_tel2 ||
-                $order->province != $orderHeader->c_province ||
-                $order->city != $orderHeader->c_city ||
-                $order->district != $orderHeader->c_district ||
-                $order->address != $orderHeader->c_address1 ||
-                $order->client_code != $orderHeader->soreference1 ||
-                $order->wms_edittime != $orderHeader->edittime||
-                $order->warehouse_id!=$warehouse_id){
-                $updateParams[] = [
-                    'id'=>$order->id,
+
+            if(($order->wms_status !== $orderHeader->oracleBASCode_codename_c) ||
+                ($order->logistic_id !== $logistic_id) ||
+                ($order->shop_id !==$shop_id) ||
+                ($order->owner_id !== $owner_id) ||
+                ($order->consignee_name !== $orderHeader->c_contact) ||
+                ($order->consignee_phone !== empty($orderHeader->c_tel2)?$orderHeader->c_tel1:$orderHeader->c_tel2) ||
+                $order->province !== ($orderHeader->c_province) ||
+                $order->city !== ($orderHeader->c_city) ||
+                $order->district !== ($orderHeader->c_district) ||
+                $order->address !== ($orderHeader->c_address1) ||
+                $order->client_code !== ($orderHeader->soreference1) ||
+                ($order->wms_edittime !== $orderHeader->edittime) ||
+                ($order->warehouse_id!==$warehouse_id)){
+                $updateParams[] = ['id'=>$order->id,
                     'owner_id' => $owner_id,
                     'wms_status' => $orderHeader->oracleBASCode_codename_c ?? '',
                     'logistic_id' => $logistic_id,