Kaynağa Gözat

批量录入波次效率跟踪

LD 5 yıl önce
ebeveyn
işleme
a70bc64a21

+ 16 - 0
.gitlab-ci.yml

@@ -2,6 +2,22 @@ stages:
   - build
   - test
   - deploy
+cache:
+  paths:
+    - vendor/
+    - node_modules/
+    - .env
+before_script:
+  # Install composer dependencies
+#  - wget https://composer.github.io/installer.sig -O - -q | tr -d '\n' > installer.sig
+#  - php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
+#  - php -r "if (hash_file('SHA384', 'composer-setup.php') === file_get_contents('installer.sig')) { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
+#  - php composer-setup.php
+#  - php -r "unlink('composer-setup.php'); unlink('installer.sig');"
+#  - php composer.phar install
+  - echo "before script"
+
+
 
 build_maven:
   stage: build

+ 67 - 0
app/Http/Controllers/PackageController.php

@@ -44,6 +44,7 @@ class PackageController extends Controller
      */
     public function store(Request $request)
     {
+        $start_at = microtime(true);
         if(!Gate::allows('称重管理-录入')){ return redirect(url('/'));  }
         $this->validator($request)->validate();
         $logistic_number=$request->input('logistic_number');
@@ -56,6 +57,9 @@ class PackageController extends Controller
         $package=null;
         $successTip = '操作成功';
 
+        $time1 = floor((microtime(true)-$start_at));
+        app('LogService')->log(__METHOD__,'timemark_'.__FUNCTION__,"{$batch_number} 1:$time1");
+        $start_at = microtime(true);
 
         /** @var OrderPackage $package */
         if ($order_code){
@@ -71,24 +75,62 @@ class PackageController extends Controller
             }
         }
         $accomplishToWMS=new Api\thirdPart\flux\PackageController();
+
+
+        $time1 = floor((microtime(true)-$start_at));
+        app('LogService')->log(__METHOD__,'timemark_'.__FUNCTION__,"{$batch_number} 2:$time1");
+        $start_at = microtime(true);
+
         if($batch_number){
             app('LogService')->log(__METHOD__,'活动波次开始同步_'.__FUNCTION__,json_encode($package),Auth::user()['name']);
 //            $this->syncBatch($package->batch_number,$weight,null,null,null,Carbon::now(),null);
             $result=$accomplishToWMS->markWMSOnBatch($batch_number,$weight);
+
+
+            $time1 = floor((microtime(true)-$start_at));
+            app('LogService')->log(__METHOD__,'timemark_'.__FUNCTION__,"{$batch_number} 3:$time1");
+            $start_at = microtime(true);
+
             OrderPackage::createPackagesFromBatchCode($batch_number,$weight);
+
+
+            $time1 = floor((microtime(true)-$start_at));
+            app('LogService')->log(__METHOD__,'timemark_'.__FUNCTION__,"{$batch_number} 4:$time1");
+            $start_at = microtime(true);
+
             if($package&&$package->isActivityBatch())
                 $package->unifyThisMeasureUnderSameBatch();
 
+
+
+            $time1 = floor((microtime(true)-$start_at));
+            app('LogService')->log(__METHOD__,'timemark_'.__FUNCTION__,"{$batch_number} 5.1:$time1");
+            $start_at = microtime(true);
+
+
             if ($result['result']){
                 Controller::logS(__METHOD__,'SUCCESS_'.__FUNCTION__,'批量更改波次上传成功'.$batch_number);
                 $successTip = "批量录入波次成功!波次号:$batch_number";
                 return redirect('package/create')->with('successTip', $successTip);
             }
             Controller::logS(__METHOD__,'error_'.__FUNCTION__,'批量更改波次上传异常:'.$result['message'].$batch_number);
+
+
+            $time1 = floor((microtime(true)-$start_at));
+            app('LogService')->log(__METHOD__,'timemark_'.__FUNCTION__,"{$batch_number} 5.2:$time1");
+            $start_at = microtime(true);
+
             return redirect('package/create')->with('successError','录入失败!'.$result['message']);
         }
         if (!$package && !$logistic_number)return redirect('package/create')->with('successError','录入失败!系统内没有对应波次的包裹!');
         if ($package){
+
+
+            $time1 = floor((microtime(true)-$start_at));
+            app('LogService')->log(__METHOD__,'timemark_'.__FUNCTION__,"{$batch_number} 7:$time1");
+            $start_at = microtime(true);
+
+
             if(!$package->batch_number)$package->batch_number=$batch_number;
             //if(!$package->order_code)$package->order_code=$order_code;
             $package->fetchAllFromOracle();
@@ -103,7 +145,20 @@ class PackageController extends Controller
             $package->save();
             app('LogService')->log(__METHOD__,'create_'.__FUNCTION__,json_encode($package),Auth::user()['name']);
 //            event(new WeighedEvent($package));
+
+
+            $time1 = floor((microtime(true)-$start_at));
+            app('LogService')->log(__METHOD__,'timemark_'.__FUNCTION__,"{$batch_number} 7.1:$time1");
+            $start_at = microtime(true);
+
+
         }else{
+
+            $time1 = floor((microtime(true)-$start_at));
+            app('LogService')->log(__METHOD__,'timemark_'.__FUNCTION__,"{$batch_number} 7.3:$time1");
+            $start_at = microtime(true);
+
+
             /** @var OrderPackageService */
             $package = app('OrderPackageService')->firstOrCreate($logistic_number,[
                 'weight'=>$weight,
@@ -124,7 +179,19 @@ class PackageController extends Controller
             }
             $package->save();
             $successTip = $str;
+
+            $time1 = floor((microtime(true)-$start_at));
+            app('LogService')->log(__METHOD__,'timemark_'.__FUNCTION__,"{$batch_number} 7.4:$time1");
+            $start_at = microtime(true);
+
+
         }
+
+        $time1 = floor((microtime(true)-$start_at));
+        app('LogService')->log(__METHOD__,'timemark_'.__FUNCTION__,"{$batch_number} 8:$time1");
+        $start_at = microtime(true);
+
+
         return redirect('package/create')->with('successTip', $successTip);
     }
 

+ 23 - 0
app/OrderPackage.php

@@ -96,6 +96,10 @@ class OrderPackage extends Model
         $this['batch_number'] = $this->oracleInfo['waveno']??null;
     }
     static public function createPackagesFromBatchCode($batchCode,$weight){
+        $start_at = microtime(true);
+
+
+
         $queryBuilder=OracleDOCOrderHeader::query()->select(self::$oracleOrderHeaderFields);
         $queryBuilder->where('doc_order_header.waveno',$batchCode);
         $queryBuilder->leftJoin('act_allocation_details','act_allocation_details.orderno','doc_order_header.orderno');
@@ -104,6 +108,12 @@ class OrderPackage extends Model
         $resultOracleObjs_grouped=$resultOracleObjs->groupBy('soreference5');
         $packages = [];
         $now = Carbon::now();
+
+
+        $time1 = floor((microtime(true)-$start_at));
+        app('LogService')->log(__METHOD__,'timemark_'.__FUNCTION__,"{$batchCode} 3.1:$time1");
+        $start_at = microtime(true);
+
         foreach($resultOracleObjs_grouped as $resultOracleObj_grouped){
             $resultOracleObj = $resultOracleObj_grouped[0];
             /** @var OrderService $orderService*/
@@ -123,6 +133,13 @@ class OrderPackage extends Model
                 "created_at"=>$now,
             ]);
         }
+
+
+        $time1 = floor((microtime(true)-$start_at));
+        app('LogService')->log(__METHOD__,'timemark_'.__FUNCTION__,"{$batchCode} 3.2:$time1");
+        $start_at = microtime(true);
+
+
         $packagesLogisticNumbers = array_map(function ($orderPackage) {
             return $orderPackage['logistic_number'];
         } ,$packages);
@@ -143,6 +160,12 @@ class OrderPackage extends Model
         DB::transaction(function ()use($newPackages){
             OrderPackage::query()->insert($newPackages);
         });
+
+
+        $time1 = floor((microtime(true)-$start_at));
+        app('LogService')->log(__METHOD__,'timemark_'.__FUNCTION__,"{$batchCode} 3.3:$time1");
+        $start_at = microtime(true);
+
         app('LogService')->log(__METHOD__,"批量录入包裹成功",json_encode($packages),Auth::user()['id']);
     }
     public function unifyThisMeasureUnderSameBatch(){

+ 2 - 2
public/t.php

@@ -1,4 +1,4 @@
 <?php
 
-$a = '12345678.12345';
-echo substr($a, 2, 2);
+$start_at = microtime(true);
+echo (microtime(true)-$start_at)*1000;

+ 3 - 0
tests/webApi/thirdPart/haiq/storage.http

@@ -8,6 +8,9 @@
 POST http://bswas/api/thirdPart/haiq/storage/relocate
 
 ###
+POST http://bswas/api/thirdPart/haiq/pickStation/processed
+
+###