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

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

@@ -1127,4 +1127,27 @@ where (commodities.owner_id,commodity_barcodes.code) in (select commodities.owne
 //        app('LogService')->log(__METHOD__,__FUNCTION__,json_encode(['$orderIds'=>$orderIds,'$orderPackages'=>$orderPackages,'$orderPackageIds'=>$orderPackageIds,'$orderTrackingIds'=>$orderTrackingIds,]));
 //
 //    }
+
+    public function testSyncOrder()
+     {
+        $carbon =Carbon::now()->subHours(1);
+        $date = '2020-05-18 18:13:50';
+        $orderHeader = OracleDOCOrderHeader::query()->selectRaw(implode(',',OracleDOCOrderHeaderService::$columns))
+            ->with(['oracleBASCustomer'=>function($query){
+                $query->selectRaw('BAS_CUSTOMER.CustomerID,BAS_CUSTOMER.Customer_Type,BAS_CUSTOMER.Descr_C,BAS_CUSTOMER.Active_Flag');
+            },'oracleDOCOrderDetails'=>function($query){
+                $query->selectRaw('doc_order_details.orderNo,doc_order_details.customerid,doc_order_details.sku,doc_order_details.QtyOrdered');
+            }, 'actAllocationDetails'=>function($query){
+                $query->selectRaw('ACT_Allocation_Details.AllocationDetailsID,ACT_Allocation_Details.OrderNo,ACT_Allocation_Details.Qty_Each,ACT_Allocation_Details.PickToTraceID,ACT_Allocation_Details.CustomerID,ACT_Allocation_Details.Sku');
+            },'oracleBASCode'=>function($query){
+                $query->selectRaw('BAS_Codes.CodeID,BAS_Codes.CodeName_C,BAS_Codes.Code');
+            }])
+//            ->where('DOC_Order_Header.addTime','>=',$startDate)
+//            ->where('orderno','SO201112029795')
+            ->where('DOC_Order_Header.addTime','>=',$carbon)
+            ->get();
+        /** @var OrderService $service */
+        $service = app('OrderService');
+        $service->syncOrder($orderHeader);
+    }
 }

+ 4 - 3
app/Services/CommodityService.php

@@ -177,15 +177,17 @@ Class CommodityService
     {
         if(!$params) return [];
         $bas_sku_arr = OracleBasSKU::query()
+            ->selectRaw('customerid,sku,descr_c,skulength,skuwidth,skuhigh,cube')
             ->whereIn('CustomerID',data_get($params,'*.owner_code'))
             ->whereIn('Sku',data_get($params,'*.sku'))
             ->get();
         $insert_params = [];
-
+        $created_at = Carbon::now()->format('Y-m-d H:i:s');
         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');
+            if($bas_sku->sku==null)continue;
+            if($bas_sku->descr_c=='')continue;
             $insert_params[] = [
                 'owner_id' => $owner->id,
                 'sku' => $bas_sku->sku,
@@ -197,7 +199,6 @@ Class CommodityService
                 'volumn' => $bas_sku->cube
             ];
         }
-
         if(count($insert_params) > 0){
             try {
                 $this->insert($insert_params);

+ 6 - 2
app/Services/OrderPackageCommoditiesService.php

@@ -775,6 +775,7 @@ class OrderPackageCommoditiesService
         foreach ($inner_params as $inner_param) {
             if($inner_param['logistic_number'] === '*' || $inner_param['logistic_number'] === ' ')continue;
             $package = $dataHandlerService->getKeyValue(['logistic_number'=>$inner_param['logistic_number']],$package_map);
+            if(!$package)continue;
             $commodity = $commodity_map[' owner='.$inner_param['owner_code'].' sku='.$inner_param['sku']] ?? null;
             $create_params[] = [
                 'order_package_id'=>$package->id,
@@ -786,8 +787,11 @@ class OrderPackageCommoditiesService
         }
         if(count($create_params)>0){
             try {
-                $bool = $this->insert($create_params);
-                LogService::log(__METHOD__,__FUNCTION__,'批量添加 orderCommodity --'. $bool ." || ".count($create_params).' || '.json_encode($create_params));
+                $inner_array = array_chunk($create_params,1000);
+                foreach ($inner_array as $item) {
+                    $bool = $this->insert($item);
+                    LogService::log(__METHOD__,__FUNCTION__,'批量添加 orderCommodity --'. $bool ." || ".count($create_params).' || '.json_encode($create_params));
+                }
             } catch (\Exception $e) {
                 LogService::log(__METHOD__,__FUNCTION__.'error','批量添加 orderCommodity error'." || ".count($create_params).' || '.json_encode($create_params));
             }

+ 5 - 2
app/Services/OrderPackageService.php

@@ -439,8 +439,11 @@ class OrderPackageService
         }
         if(count($inner_params)>0){
             try {
-                $bool = $this->insert($inner_params);
-                $bool ? LogService::log(__METHOD__, __FUNCTION__, '批量添加 OrderPackage ' . count($inner_params) . ' || ' . json_encode($inner_params)) : null;
+                $inner_array = array_chunk($inner_params,1000);
+                foreach ($inner_array as $params) {
+                    $bool = $this->insert($params);
+                    $bool ? LogService::log(__METHOD__, __FUNCTION__, '批量添加 OrderPackage ' . count($inner_params) . ' || ' . json_encode($inner_params)) : null;
+                }
             } catch (\Exception $e) {
                 LogService::log(__METHOD__, __FUNCTION__, '批量添加 OrderPackage error ' . count($inner_params) . ' || ' .json_encode($e->getMessage()). json_encode($inner_params).json_encode($e->getTraceAsString()));
             }

+ 3 - 2
app/Services/OrderService.php

@@ -30,10 +30,11 @@ class OrderService
         if(count($params)==0) return true;
         try {
             $bool= Order::query()->insert($params);
-            app('LogService')->log(__METHOD__, __FUNCTION__, '批量创建 Order' . json_encode($params));
+            if($bool)app('LogService')->log(__METHOD__, __FUNCTION__, '批量创建 Order' . json_encode($params));
+            else app('LogService')->log(__METHOD__,'ERROR'. __FUNCTION__, '批量创建 Order ERROR' . json_encode($params));
             return $bool;
         } catch (\Exception $e) {
-            app('LogService')->log(__METHOD__, __FUNCTION__, '批量创建 Order error' . json_encode($params).json_encode($e->getMessage()).json_encode($e->getTraceAsString()));
+            app('LogService')->log(__METHOD__, 'ERROR'.__FUNCTION__, '批量创建 Order ERROR' . json_encode($params).json_encode($e->getMessage()).json_encode($e->getTraceAsString()));
             return false;
         }
     }

+ 4 - 4
public/js/app.js

@@ -2330,7 +2330,7 @@ function fromByteArray (uint8) {
 var BlobBuilder = typeof BlobBuilder !== 'undefined' ? BlobBuilder :
   typeof WebKitBlobBuilder !== 'undefined' ? WebKitBlobBuilder :
   typeof MSBlobBuilder !== 'undefined' ? MSBlobBuilder :
-  typeof MozBlobBuilder !== 'undefined' ? MozBlobBuilder :
+  typeof MozBlobBuilder !== 'undefined' ? MozBlobBuilder : 
   false;
 
 /**
@@ -86472,8 +86472,8 @@ module.exports = tempTip;
 /*! no static exports found */
 /***/ (function(module, exports, __webpack_require__) {
 
-__webpack_require__(/*! D:\Demo\bswas\resources\js\app.js */"./resources/js/app.js");
-module.exports = __webpack_require__(/*! D:\Demo\bswas\resources\sass\app.scss */"./resources/sass/app.scss");
+__webpack_require__(/*! D:\phpstudy_pro\WWW\bswas\resources\js\app.js */"./resources/js/app.js");
+module.exports = __webpack_require__(/*! D:\phpstudy_pro\WWW\bswas\resources\sass\app.scss */"./resources/sass/app.scss");
 
 
 /***/ }),
@@ -86489,4 +86489,4 @@ module.exports = __webpack_require__(/*! D:\Demo\bswas\resources\sass\app.scss *
 
 /***/ })
 
-/******/ });
+/******/ });

+ 0 - 6
tests/Services/OrderService/SyncOrderTest.php

@@ -47,7 +47,6 @@ class SyncOrderTest extends TestCase
     {
         $carbon =Carbon::now()->subHours(1);
         $date = '2020-05-18 18:13:50';
-        var_dump(((string)Carbon::now()));
         $orderHeader = OracleDOCOrderHeader::query()->selectRaw(implode(',',OracleDOCOrderHeaderService::$columns))
             ->with(['oracleBASCustomer'=>function($query){
                 $query->selectRaw('BAS_CUSTOMER.CustomerID,BAS_CUSTOMER.Customer_Type,BAS_CUSTOMER.Descr_C,BAS_CUSTOMER.Active_Flag');
@@ -62,12 +61,7 @@ class SyncOrderTest extends TestCase
 //            ->where('orderno','SO201112029795')
             ->where('DOC_Order_Header.addTime','>=',$carbon)
             ->get();
-        var_dump($orderHeader->count());
-        var_dump((string)Carbon::now());
-
         $this->service->syncOrder($orderHeader);
-        var_dump((string)Carbon::now());
-
         $order = $this->service->getByWmsOrders($orderHeader);
         $this->assertNotNull($order);
         $this->assertNotNull($orderHeader);