瀏覽代碼

问题件生成 运输方式为自提的变为了新杰物流 已修改

ajun 5 年之前
父節點
當前提交
4980f3f85d

+ 1 - 1
app/Http/Controllers/api/thirdPart/weight/PackageController.php

@@ -258,7 +258,6 @@ class PackageController extends Controller
             $package->fetchAllFromOracle();
             $package->fetchPaperBox();
             try{
-                $package->save();
                 $package->load(['order'=>function($query){
                     $query->with('owner','logistic');
                 },'paperBox','measuringMachine']);
@@ -269,6 +268,7 @@ class PackageController extends Controller
                 if (!$package->order->logistic){
                     $package->order->logistic = $logisticNumberController->getLogisticByFeatures($package->logistic_number);
                 }
+                $package->save();
             }catch (\Exception $e){
                 $response=["msg"=>$e->getMessage(),"code"=>500,"data"=>$e->getTraceAsString()];
                 $this->log(__METHOD__,'weightApi(ERROR)'.__FUNCTION__,json_encode($request).'||'.json_encode($response).'||'.$e->getTraceAsString(),null);

+ 2 - 20
app/Services/OrderService.php

@@ -523,24 +523,17 @@ class OrderService
     public function getParamsByOrderHeader($orderHeaders_map,$owners_code_map,$logistics_code_map,$shop_name_map)
     {
         $params = [];
-        // 自提 转 新杰物流
         $orders = Order::query()->whereIn('code',data_get($orderHeaders_map,'*.orderno'))->get();
         $order_code_map = [];
         foreach ($orders as $order) {
             $order_code_map[$order->code]= $order;
         }
-        $logistic_XJWL = Logistic::query()->where('code' ,'XJWL')->first();
         foreach ($orderHeaders_map as $orderHeader) {
              if($order_code_map[$orderHeader->orderno] ?? false)continue;
             $owner = $owners_code_map[$orderHeader->customerid] ?? null;
             $logistic =  $logistics_code_map[$orderHeader->userdefine1] ?? null;
             $key = ' owner_code='.$orderHeader->customerid.' name='.$orderHeader->issuepartyname ?? '';
             $shop = $shop_name_map[$key] ?? '';
-
-            // 自提 转 新杰物流
-            if($logistic!= null && $logistic->name == '自提'){
-                $logistic = $logistic_XJWL;
-            }
             $params[] = [
                 'code' => $orderHeader->orderno,
                 'owner_id' => $owner->id ?? null,
@@ -596,16 +589,10 @@ class OrderService
             'id','owner_id','wms_status','logistic_id','shop_id','consignee_name','consignee_phone','province','city','district','address','client_code','updated_at','wms_edittime'
         ]];
         $updated_at = Carbon::now()->toDateTimeString();
-        // 新杰物流
-        $logistic_XJWL = Logistic::query()->where('code','XJWL')->first();
         foreach ($orderHeaders as $orderHeader) {
             $order =$dataHandlerService->getKeyValue(['code'=>$orderHeader->orderno],$orders_code_map);
             if(!$order){continue;}
             $logistic = $dataHandlerService->getKeyValue(['code'=>$orderHeader->userdefine1] ,$logistics_code_map);
-            // 自提 转 新杰物流
-            if($logistic != '' && $logistic->name == '自提'){
-                $logistic = $logistic_XJWL;
-            }
             $owner = $dataHandlerService->getKeyValue(['code'=>$orderHeader->customerid] ,$owner_code_map);
             $shop = $dataHandlerService->getKeyValue(['owner_id'=>$owner->id ?? '','name'=> $orderHeader->issuepartyname] ,$shops_map);
             $shop_id = $shop->id ?? null;
@@ -681,19 +668,14 @@ class OrderService
 
     public function getParamByOrderHeader($orderHeader)
     {
-        if($orderHeader->userdefine1 == 'ZT'){
-            $logistic = Logistic::query()->where('code','XJWL')->first();
-
-        }else{
-            $logistic = Logistic::query()->where('code',$orderHeader->userdefine1)->first();
-        }
+        $logistic = Logistic::query()->where('code',$orderHeader->userdefine1)->first();
         $owner = Owner::query()->where('code',$orderHeader->customerid ?? '')->first();
         $shop = Shop::query()->where('name',$orderHeader->issuepartyname)->where('owner_id',$owner->id)->first();
         return [
             'code' =>$orderHeader->orderno,
             'owner_id' =>$owner->id,
             'shop_id' =>$shop->id,
-            'logistic_id' => $logistic->id,
+            'logistic_id' => $logistic->id ??'',
             'consignee_name' =>  $orderHeader->c_contact,
             'consignee_phone' =>  $orderHeader->c_tel2,
             'province' =>$orderHeader->c_province,

+ 16 - 4
app/Services/OrderTrackingService.php

@@ -143,8 +143,9 @@ class OrderTrackingService
     public function trackingWmsOrderOnCreate($startData){
         /** @var OrderService $orderSerivce */
         $orderService = app(OrderService::class);
-        /** @var OracleDOCOrderHeader $orderHeaders */
+        /** @var Collection $orderHeaders */
         $orderHeaders = app(OracleDOCOrderHeaderService::class)->getWmsOrderOnStartDateCreate($startData);
+        $this->customizedOperation($orderHeaders);
         $orderService->createByWmsOrder($orderHeaders);
         $this->createByWmsOrderHeader($orderHeaders);
     }
@@ -152,8 +153,9 @@ class OrderTrackingService
     public function trackingWmsOrderOnEdit($startData){
         /** @var OrderService $orderService */
         $orderService = app(OrderService::class);
-        /** @var OracleDOCOrderHeader $orderHeaders */
+        /** @var Collection $orderHeaders */
         $orderHeaders = app(OracleDOCOrderHeaderService::class)->getWmsOrderOnStartDateEdit($startData);
+        $this->customizedOperation($orderHeaders);
         $orderService->updateByWmsOrders($orderHeaders);
         $this->updateByWmsOrderHeaders($orderHeaders);
     }
@@ -165,6 +167,18 @@ class OrderTrackingService
         return $this->updateOrderTracingsByOrderIds($order_id,$param,$value);
     }
 
+    /**
+     * @param Collection $orderHeaders
+     */
+    public function customizedOperation(&$orderHeaders) // 对追踪件的特定操作
+    {
+        $orderHeaders->each(function ($orderHeader) {
+            if($orderHeader->userdefine1 ==='ZT'){
+                $orderHeader->userdefine1 = 'XJWL';
+            }
+        });
+    }
+
     public function updateOrderTracingsByOrderIds($orderId,$param,$value)
     {
         $bool = null;
@@ -283,7 +297,6 @@ class OrderTrackingService
         foreach ($orderTrackings as $orderTracking) {
             $order_tracking_id_map[$orderTracking->order_package_commodity_id] = $orderTracking;
         }
-
         $order_package_commodity_order_code_map = [];
         $order_code_map = [];
         foreach ($order_package_commodities as $order_package_commodity) {
@@ -292,7 +305,6 @@ class OrderTrackingService
             $order_code_map[$order->code] = $order;
             $order_package_commodity_order_code_map[$order->code][] = $order_package_commodity;
         }
-
         $owners = app(OwnerService::class)->getByWmsOrders($orderHeaders);
         $owner_code_map = $basSKUs_data = $dataService->dataHeader(['code'],$owners);