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

问题件修改 [跟踪件和web+订单的选择]

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

+ 5 - 2
app/Http/Controllers/TestController.php

@@ -497,6 +497,9 @@ class TestController extends Controller
 
     public function test3()
     {
+
+
+
 //        dd(bcmul(0.3,0.3,5));
         $logistic = Logistic::query()->where('code','XJWL')->first();
         if(!$logistic){
@@ -515,8 +518,8 @@ class TestController extends Controller
 //        $startDate = \Illuminate\Support\Carbon::parse('2020-05-06 13:16:51')->toDateTimeString();
         //$orderTrackingService->trackingWmsOrder($startDate);
         $owners = app(OrderTrackingOwnerService::class)->getTrackingOrderOwner();
-        $startDate = \Illuminate\Support\Carbon::parse('2020-09-01 00:00:00')->toDateTimeString();
-        $endData = \Illuminate\Support\Carbon::parse('2020-09-27 00:00:00')->toDateTimeString();
+        $startDate = \Illuminate\Support\Carbon::parse('2020-09-15 00:00:00')->toDateTimeString();
+        $endData = \Illuminate\Support\Carbon::parse('2020-09-26 00:00:00')->toDateTimeString();
         $orderHeaders = OracleDOCOrderHeader::query()
             ->with(['oracleDOCOrderDetails', 'actAllocationDetails','oracleBASCode'])
             ->where('addTime','>=',$startDate)

+ 18 - 13
app/Services/CommodityService.php

@@ -179,18 +179,24 @@ Class CommodityService
         $commodities = Commodity::query()
             ->whereIn('owner_id',data_get($owners,'*.id'))
             ->whereIn('sku',$orderHeader_sku)
+            ->groupBy('owner_id','sku')  //*!!!!!!!!
             ->get();
-        if($commodities->count() < count($orderHeader_sku)){
-            $params = [];
-            foreach ($commodities as $commodity) {
-                $owner_code = $owners_id_map[$commodity->owner_id]->code ?? '';
-                $params [] = [
-                    'owner_code' => $owner_code,
-                    'sku' => $commodity->sku
-                ];
+
+        if($commodities->count() < count($customerId_sku_map)){
+            $commoditiesInWAS索引_sku = [];
+            foreach ($commodities as $commodityInWms) {
+                $owner = $owners_id_map[$commodityInWms->owner_id] ?? '';
+                if(!$owner)continue;
+                $key ='owner_cod='.$owner['code'].' sku='.$commodityInWms->sku;
+                $commoditiesInWAS索引_sku[$key]=$commodityInWms;
             }
-            $params = array_diff($customerId_sku_map,$params);
-            $commodity_set = $this->createCommodities($params,$owners_code_map);
+            $commodities需要新增=[];
+            foreach ($customerId_sku_map as $commodityInWms) {
+                $key ='owner_cod='.$commodityInWms['owner_code'].' sku='.$commodityInWms['sku'];
+                if($commoditiesInWAS索引_sku[$key] ?? false) continue;
+                $commodities需要新增[$key] = $commodityInWms;
+            }
+            $commodity_set = $this->createCommodities($commodities需要新增,$owners_code_map);
             $commodities = $commodities->concat($commodity_set);
         }
         return  $commodities;
@@ -204,8 +210,10 @@ Class CommodityService
             ->whereIn('Sku',data_get($params,'*.sku'))
             ->get();
         $insert_params = [];
+
         foreach ($bas_sku_arr as $bas_sku) {
             $owner = $owners_code_map[$bas_sku->customerid] ?? '';
+            if(!$owner)continue;
             $created_at = Carbon::now()->format('Y-m-d H:i:s');
             $insert_params[] = [
                 'owner_id' => $owner->id,
@@ -227,12 +235,9 @@ Class CommodityService
                 LogService::log(__METHOD__,__FUNCTION__,'批量添加 commodity error' .json_encode($insert_params) ."||".$e->getMessage().'||'.$e->getTraceAsString());
             }
         }
-
         return Commodity::query()
             ->whereIn('owner_id',data_get($owners_code_map,'*.id'))
             ->whereIn('sku',data_get($params,'*.sku'))
             ->get();
     }
-
-
 }

+ 6 - 7
app/Services/OrderPackageCommoditiesService.php

@@ -610,7 +610,6 @@ class OrderPackageCommoditiesService
                         unset($order_package_commodities[$key]);
                         break;
                     }elseif($order_package_commodity->sku !== $actAllocationDetail->sku  &&
-                        $order_package_commodity->commodity_id !==  $actAllocationDetail->id &&
                         $order_package_commodity->amount !== $actAllocationDetail->qty){
                         $insertParams[] = [
                             'order_package_id' => $order_package->id,
@@ -627,12 +626,12 @@ class OrderPackageCommoditiesService
         if(count($updateParams) > 0){
             $this->batchUpdate($updateParams);
         }
-        {
-            /** @var OrderPackageService $orderPackageService */
-            $orderPackageService = app(OrderPackageService::class);
-            $order_packages = $orderPackageService->getByWmsOrders($orderHeaders);
-            $this->createByWmsOrder($orderHeaders, $order_packages, $owner_code_map, $commodities);
-        }
+//        {
+//            /** @var OrderPackageService $orderPackageService */
+//            $orderPackageService = app(OrderPackageService::class);
+//            $order_packages = $orderPackageService->getByWmsOrders($orderHeaders);
+//            $this->createByWmsOrder($orderHeaders, $order_packages, $owner_code_map, $commodities);
+//        }
 
         if(count($insertParams) > 0){
             try {

+ 4 - 1
public/t.php

@@ -1,3 +1,6 @@
 <?php
 
-echo bcdiv(123456789,1000000000,3);
+
+$arr1=[[11],[22]];
+$arr2=[22];
+var_dump(in_array($arr2,$arr1));