LD il y a 5 ans
Parent
commit
57da17afa7

+ 1 - 1
app/Console/Commands/TestMakeCommand.php

@@ -56,7 +56,7 @@ class TestMakeCommand extends \Illuminate\Foundation\Console\TestMakeCommand
     }
     protected function getModelNamePlural()
     {
-        $modelName=preg_replace('/s$/','$ses',$this->getModelName());
+        $modelName=preg_replace('/s$/','$ses',lcfirst($this->getModelName()));
         $modelName=preg_replace('/ch$/','$ches',$modelName);
         $modelName=preg_replace('/sh$/','$shes',$modelName);
         $modelName=preg_replace('/y$/','ies',$modelName);

+ 3 - 34
app/Http/Controllers/TestController.php

@@ -283,40 +283,9 @@ sql;
 
     function t1(Request $request)
     {
-        $times=12345;
-        $start_at = microtime(true);
-        for($i=0;$i<$times;$i++){
-            Cache::put(md5('k_delme'.$i), 'a');
-        }
-        echo microtime(true)-$start_at, '<br>';
-
-        $start_at = microtime(true);
-        for($i=0;$i<$times;$i++){
-            Cache::get(md5('k_delme'.$i));
-        }
-        echo microtime(true)-$start_at, '<br>';
-
-        $start_at = microtime(true);
-        for($i=0;$i<$times;$i++){
-            Cache::pull(md5('k_delme'.$i));
-        }
-        echo microtime(true)-$start_at, '<br>';
-        for($i=0;$i<$times;$i++){
-            Redis::set(md5('k_delme'.$i), 'a');
-        }
-        echo microtime(true)-$start_at, '<br>';
-
-        $start_at = microtime(true);
-        for($i=0;$i<$times;$i++){
-            Redis::get(md5('k_delme'.$i));
-        }
-        echo microtime(true)-$start_at, '<br>';
-
-        $start_at = microtime(true);
-        for($i=0;$i<$times;$i++){
-            Redis::del(md5('k_delme'.$i));
-        }
-        echo microtime(true)-$start_at, '<br>';
+        $c1=collect([1,3,5]);
+        $c2=$c1->merge(collect([333,444]));
+        var_dump($c1,$c2);
     }
 
     function packageT(Request $request)

+ 2 - 0
app/Providers/AppServiceProvider.php

@@ -20,6 +20,7 @@ use App\Services\InventoryAccountMissionService;
 use App\Services\InventoryCompareService;
 use App\Services\LaborReportsCountingRecordService;
 use App\Services\LogService;
+use App\Services\MaterialBoxService;
 use App\Services\OracleBasCustomerService;
 use App\Services\OracleBasSkuService;
 use App\Services\OracleDocAsnDetailService;
@@ -152,6 +153,7 @@ class AppServiceProvider extends ServiceProvider
         app()->singleton('LaborReportsCountingRecordService',LaborReportsCountingRecordService::class);
         app()->singleton('LogService',LogService::class);
         app()->singleton('LogisticService',LogisticService::class);
+        app()->singleton('MaterialBoxService',MaterialBoxService::class);
         app()->singleton('OracleActAllocationDetailService',OracleActAllocationDetailService::class);
         app()->singleton('OracleBasCustomerService',OracleBasCustomerService::class);
         app()->singleton('OracleBasSkuService',OracleBasSkuService::class);

+ 2 - 1
app/Services/StationTaskCommodityService.php

@@ -39,7 +39,7 @@ class StationTaskCommodityService
             return $query->get();
         });
     }
-    function createByBatches(array $batches,Collection $stationTasks_toAttach): Collection
+    function createByBatches(Collection $batches,Collection $stationTasks_toAttach): Collection
     {
         $this->stationTaskService=app('StationTaskService');
         $stationTaskCommodities_listByBatch=new Collection();
@@ -96,6 +96,7 @@ class StationTaskCommodityService
             ]);
         }
         $this->insert($stationTaskCommodities_toCreate->toArray());
+        return $stationTaskCommodities_toCreate;
     }
 
     public function insert(array $stationTaskCommodities): bool

+ 100 - 0
tests/Services/StationTaskCommodityService/CreateByBatchTest.php

@@ -0,0 +1,100 @@
+<?php
+
+namespace Tests\Services\StationTaskCommodityService;
+use App\Batch;
+use App\Order;
+use App\OrderBin;
+use App\OrderCommodity;
+use App\Services\StationTaskCommodityService;
+use Tests\TestCase;
+use App\StationTaskCommodity;
+
+class CreateByBatchTest extends TestCase
+{
+
+    /** @var StationTaskCommodityService $service */
+    public $service;
+    private $data;
+    private $batchAmount=1;
+    private $orderAmount=4;
+    private $orderCommodityAmount=8;
+    function setUp(): void
+    {
+        parent::setUp();
+        $this->service = app('StationTaskCommodityService');
+        $this->data['batches'] =
+            factory(Batch::class,
+                $this->batchAmount)
+                ->create([
+                    'status'=>'未处理',
+                ]);
+        $this->data['orders'] =
+            factory(Order::class,
+                $this->orderAmount)
+                ->create([
+                    'status'=>'未处理',
+                    'batch_id'=>(function(){
+                        if(!isset($this->data['temBatchId_orders'])){
+                            $this->data['temBatchId_orders']=$this->batchAmount;
+                        }
+                        $this->data['temBatchId_orders']++;
+                        if($this->data['temBatchId_orders']>=$this->batchAmount)$this->data['temBatchId_orders']=0;
+                        return $this->data['batches'][$this->data['temBatchId_orders']];
+                    })(),
+                ]);
+        $this->data['ordersBins'] =
+            factory(OrderBin::class,
+                $this->orderAmount)
+                ->create([
+                    'order_id'=>(function(){
+                        if(!isset($this->data['temOrderId_ordersBins'])){
+                            $this->data['temOrderId_ordersBins']=-1;
+                        }
+                        $this->data['temOrderId_ordersBins']++;
+                        return $this->data['orders'][$this->data['temOrderId_ordersBins']];
+                    })(),
+                    'number'=>(function(){
+                        if(!isset($this->data['temNumber_ordersBins'])){
+                            $this->data['temNumber_ordersBins']=-1;
+                        }
+                        $this->data['temNumber_ordersBins']++;
+                        return $this->data['temNumber_ordersBins'];
+                    })(),
+                ]);
+        $this->data['orderCommodities'] =
+            factory(OrderCommodity::class,
+                $this->orderCommodityAmount)
+                ->create([
+                    'order_id'=>(function(){
+                        if(!isset($this->data['temOrderId_orderCommodities'])){
+                            $this->data['temOrderId_orderCommodities']=$this->orderAmount;
+                        }
+                        $this->data['temOrderId_orderCommodities']++;
+                        if($this->data['temOrderId_orderCommodities']>=$this->orderAmount)$this->data['temOrderId_orderCommodities']=0;
+                        return $this->data['orders'][$this->data['temOrderId_orderCommodities']];
+                    })(),
+                ]);
+    }
+
+    public function testReturned()
+    {
+        $this->data['stationTaskCommodities']=(function(){
+            if(!isset($this->data['stationTaskCommodities']))
+                $this->data['stationTaskCommodities'] = collect();
+            foreach($this->data['batches'] as $batch){
+                $this->data['stationTaskCommodities']
+                    =$this->data['stationTaskCommodities']->merge($this->service->createByBatch($batch));
+            }
+            return $this->data['stationTaskCommodities'];
+        })();
+        $this->assertEquals($this->orderCommodityAmount, $this->data['stationTaskCommodities']->count());
+    }
+
+    function tearDown(): void
+    {
+        StationTaskCommodity::query()
+            ->whereIn('id',data_get($this->data['stationTaskCommodities'],'*.id')??[])
+            ->delete();
+        parent::tearDown();
+    }
+}

+ 17 - 0
tests/Services/StationTaskCommodityService/CreateByBatchesTest.php

@@ -2,6 +2,8 @@
 
 namespace Tests\Services\StationTaskCommodityService;
 use App\Batch;
+use App\Order;
+use App\OrderCommodity;
 use App\Services\StationTaskCommodityService;
 use App\Services\StationTaskService;
 use Tests\TestCase;
@@ -16,6 +18,8 @@ class CreateByBatchesTest extends TestCase
     private $stationTaskService;
     private $data;
     private $amount=2;
+    private $orderAmount=4;
+    private $orderCommodityAmount=8;
     function setUp(): void
     {
         parent::setUp();
@@ -29,6 +33,19 @@ class CreateByBatchesTest extends TestCase
                 ->create([
                     'status'=>'未处理',
                 ]);
+        $this->data['orders'] =
+            factory(Order::class,
+                $this->orderAmount)
+                ->create([
+                    'status'=>'未处理',
+                    'batch_id'=>$this->data['batches'][rand(0,$this->amount)],
+                ]);
+        $this->data['orderCommodities'] =
+            factory(OrderCommodity::class,
+                $this->orderCommodityAmount)
+                ->create([
+                    'order_id'=>$this->data['orders'][rand(0,$this->orderAmount)],
+                ]);
     }
 
     public function testReturned()