瀏覽代碼

海柔U型线出口

LD 5 年之前
父節點
當前提交
1388762837

+ 1 - 1
app/Services/ForeignHaiRoboticsService.php

@@ -166,7 +166,7 @@ class ForeignHaiRoboticsService
             }
             if($stationTaskMaterialBox
                 =(function()use($taskCode,$binCode){
-                $stationTaskMaterialBox=StationTaskMaterialBox::query()->find($taskCode);
+                $stationTaskMaterialBox=StationTaskMaterialBox::query()->find($id=$taskCode);
                 if($stationTaskMaterialBox['code']==$binCode)return $stationTaskMaterialBox;
                 return null;
             })()){

+ 4 - 18
app/Services/StationTaskMaterialBoxService.php

@@ -123,22 +123,7 @@ class StationTaskMaterialBoxService
     }
 
     function markTaken($stationTaskMaterialBox){
-        try{
-            $taskType=$this->getServingTaskType($stationTaskMaterialBox);
-            switch ($taskType){
-                case '分波次':
-                    $this->markProcessing($stationTaskMaterialBox);
-                    $this->stationTaskBatchService->markProcessing($stationTaskMaterialBox['stationTaskBatch']);
-                    $this->stationTaskCommodityService->markProcessing($stationTaskMaterialBox['stationTaskCommodities']);
-                    break;
-                case '入立库':
-
-                    break;
-                case '入库':break;
-            }
-        }catch (\Exception $e){
-            throw new ErrorException('放置料箱出错');
-        }
+        //TODO: 标记 料箱位置(需要其字段存在)$stationTaskMaterialBox['materialBox']['position']
     }
     function markProcessed(StationTaskMaterialBox $stationTaskMaterialBox){
         $stationTaskMaterialBox['status'] = '完成';
@@ -162,8 +147,9 @@ class StationTaskMaterialBoxService
 
     function excepted($stationTaskMaterialBox_orBox){
         switch (get_class($stationTaskMaterialBox_orBox)){
-//            case MaterialBox::class:
-//            case StationTaskMaterialBox::class:
+            case MaterialBox::class:
+            case StationTaskMaterialBox::class:
+            throw new ErrorException('料箱异常'.json_encode($stationTaskMaterialBox_orBox->toJson()));
         }
     }
 

+ 1 - 1
database/factories/MaterialBoxFactory.php

@@ -7,6 +7,6 @@ use Faker\Generator as Faker;
 
 $factory->define(MaterialBox::class, function (Faker $faker) {
     return [
-        'code'=>md5(\Illuminate\Support\Str::random(5)).date('Ymd')
+        'code'=>md5(\Illuminate\Support\Str::random(5).microtime(true))
     ];
 });

+ 0 - 12
database/factories/StationMissionBatchFactory.php

@@ -1,12 +0,0 @@
-<?php
-
-/** @var \Illuminate\Database\Eloquent\Factory $factory */
-
-use App\StationTaskBatch;
-use Faker\Generator as Faker;
-
-$factory->define(StationTaskBatch::class, function (Faker $faker) {
-    return [
-        //
-    ];
-});

+ 0 - 12
database/factories/StationMissionCommodityFactory.php

@@ -1,12 +0,0 @@
-<?php
-
-/** @var \Illuminate\Database\Eloquent\Factory $factory */
-
-use App\StationTaskCommodity;
-use Faker\Generator as Faker;
-
-$factory->define(StationTaskCommodity::class, function (Faker $faker) {
-    return [
-        //
-    ];
-});

+ 0 - 0
database/factories/StationMissionBatchTypeFactory.php → database/factories/StationTaskBatchTypeFactory.php


+ 1 - 1
database/factories/StationMissionMaterialBoxFactory.php → database/factories/StationTaskMaterialBoxFactory.php

@@ -7,6 +7,6 @@ use Faker\Generator as Faker;
 
 $factory->define(StationTaskMaterialBox::class, function (Faker $faker) {
     return [
-        //
+        'status'=>'待处理'
     ];
 });

+ 72 - 0
tests/Services/ForeignHaiRoboticsService/TaskUpdateTest.php

@@ -0,0 +1,72 @@
+<?php
+
+namespace Tests\Services\ForeignHaiRoboticsService;
+use App\Exceptions\ErrorException;
+use App\MaterialBox;
+use App\Services\ForeignHaiRoboticsService;
+use App\Station;
+use App\StationTaskMaterialBox;
+use Tests\TestCase;
+use App\ForeignHaiRobotics;
+use App\Traits\TestMockSubServices;
+
+class TaskUpdateTest extends TestCase
+{
+    use TestMockSubServices;
+    /** @var ForeignHaiRoboticsService $service */
+    public $service;
+    private $data;
+    private $amount=2;
+    function setUp(): void
+    {
+        parent::setUp();
+        $this->service = app('ForeignHaiRoboticsService');
+        $this->data['station'] = factory(Station::class)->create();
+        $this->data['materialBox'] = factory(MaterialBox::class)->create();
+        $this->data['stationTaskMaterialBox'] = factory(StationTaskMaterialBox::class)->create([
+            'station_id' => 1,
+            'material_box_id' => $this->data['materialBox']['id'],
+
+        ]);
+        $this->data['task']=[
+            'taskCode'=>md5(microtime(true)),
+            'updateEventType' => 0,
+            'status'=>0,
+            'binCode'=>factory(MaterialBox::class)->create()
+        ];
+    }
+
+    public function testReturned()
+    {
+        $this->assertTrue(true);
+    }
+
+    public function testMissionFailed()
+    {
+        $this->data['task']['status']=1;
+        $this->assertFalse($this->service->taskUpdate(
+            $this->data['task']['taskCode'],
+            $this->data['task']['updateEventType'],
+            $this->data['task']['status'],
+            $this->data['task']['binCode']
+        ));
+    }
+    public function testMissionFailed()
+    {
+        $this->data['task']['status']=1;
+        $this->assertFalse($this->service->taskUpdate(
+            $this->data['task']['taskCode'],
+            $this->data['task']['updateEventType'],
+            $this->data['task']['status'],
+            $this->data['task']['binCode']
+        ));
+    }
+
+    function tearDown(): void
+    {
+        MaterialBox::query()
+            ->whereIn('id',[$this->data['task']['binCode']['id']??''])
+            ->delete();
+        parent::tearDown();
+    }
+}