LD vor 5 Jahren
Ursprung
Commit
f3e7a9fcd5

+ 10 - 4
app/Http/Controllers/StationController.php

@@ -55,16 +55,22 @@ class StationController extends Controller
     public function monitorShow(Station $station)
     {
         $stationTypeBinMonitor = StationTypeBinMonitor::query()->where("station_id",$station->id)->first();
-        $station->loadMissing('')
-        if (!$stationTypeBinMonitor){
-            $stationTypeBinMonitor =StationTypeBinMonitor::query()->create([
+        $station->loadMissing([
+            "currentStationTask.stationTaskCommodities.commodity.barcodes",
+            "currentStationTask.stationTaskCommodities.materialBox",
+            "currentStationTask.stationTaskBatches.batch",
+            "stationTypeBinMonitor",
+        ]);
+        if (!$station['stationTypeBinMonitor']){
+            StationTypeBinMonitor::query()->create([
                 'station_id' => $station['id'],
                 'bin_row_length' => 4,
                 'bin_column_length' => 5,
                 'bin_wall_amount' => 2,
             ]);
+            $station->load("stationTypeBinMonitor");
         }
-        return view('station.monitor.show',compact('station',"stationTypeBinMonitor"));
+        return view('station.monitor.show',compact('station'));
     }
 
     /**

+ 1 - 1
app/Services/StationTaskBatchService.php

@@ -84,7 +84,7 @@ class StationTaskBatchService
         );
         $this->stationTaskService->registerStations(
             $stationTasks_toAttach,
-            data_get($stationTaskBatches_toCreate,'*.')
+            data_get($stationTaskBatches_toCreate,'*.station_id')
         );
 
         return $stationTaskBatches_toCreate;

+ 6 - 17
app/Services/StationTaskService.php

@@ -19,6 +19,8 @@ class StationTaskService
     protected $modelClass=StationTask::class;
     /** @var StationTaskChildService $stationTaskChildService  */
     private $stationTaskChildService;
+    /** @var StationService $stationService  */
+    private $stationService;
     public function __construct()
     {
         $this->stationTaskChildService=null;
@@ -63,24 +65,11 @@ class StationTaskService
 
     function registerStations(Collection $tasks, array $station_ids)
     {
-        $this->instant($this->stationTaskChildService,'StationTaskChildService');
-        $taskChildren_toInsert=collect();
-        foreach ($subTaskLists as $i=>$subTaskList){
-            foreach ($subTaskList as $subTask){
-                $paramToInsert = [
-                    'station_task_id' => $tasks[$i]['id'],
-                    'station_taskable_type' => get_class($subTask),
-                    'station_taskable_id' => $subTask['id'],
-                ];
-                $taskChild_existed=$this->stationTaskChildService->get($paramToInsert)->first();
-                if(!$taskChild_existed){
-                    $taskChildren_toInsert->push($paramToInsert);
-                    $subTask['station_task_id']=$tasks[$i]['id'];
-                    $subTask->save();
-                }
-            }
+        $this->instant($this->stationService,'StationService');
+        foreach ($tasks as $i=>$task){
+            $task['station_id'] = $station_ids[$i];
+            $task->save();
         }
-        $this->stationTaskChildService->insert($taskChildren_toInsert->toArray());
     }
 
     function markProcessing_byIds($ids)

+ 7 - 0
app/Station.php

@@ -21,4 +21,11 @@ class Station extends Model
     public function child(){
         return $this->hasOne(Station::class,'parent_id');
     }
+    public function currentStationTask(){
+        return $this->hasOne(StationTask::class)
+            ->where('status','=','处理中');
+    }
+    public function stationTypeBinMonitor(){
+        return $this->hasOne(StationTypeBinMonitor::class);
+    }
 }

+ 1 - 1
app/Traits/ServiceAppAop.php

@@ -95,7 +95,7 @@ trait ServiceAppAop
             '||' . json_encode(array_slice(debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS), 0, 4)));
         if(!$returnInserted)return null;
 
-        return ($查回插入内容,不保证准=function ()use($targetsArrays,$createdAtOn,$updatedAtOn){
+        return ($查回插入内容,不保证准=function ()use($targetsArrays){
             $query=($this->modelClass)::query();
             foreach ($targetsArrays as &$target){
                 $query->orWhere(function($subQuery)use($target){

+ 0 - 3
laravel-echo-server.lock

@@ -1,3 +0,0 @@
-{
-	"process": 22524
-}

+ 19 - 13
resources/views/station/monitor/show.blade.php

@@ -24,7 +24,7 @@
                             <div class="col py-3 h4">
                                 <div>波次号:</div>
                                 <div class=" text-center">
-                                    <b>@{{ task.taskBatch.batch.code }}</b>
+                                    <b>@{{ station.currentStationTask.stationTaskBatch.batch.code }}</b>
                                 </div>
                             </div>
                         </div>
@@ -35,7 +35,12 @@
                         </div>
                         <div class="row">
                             <div class="col py-3 h4">
-                                料箱号:<b v-if="task.currentCommodityIndex && task.currentCommodityIndex!==-1">@{{task.taskCommodities[task.currentCommodityIndex]['materialBox']['code']}}</b>
+                                料箱号:
+                                <b v-for="taskCommodity in station.stationTask.stationTaskCommodities">
+                                    <span v-if="taskCommodity.status==='处理中'">
+                                        @{{station.currentStationTask.stationTaskCommodities['materialBox']['code']}}
+                                    </span>
+                                </b>
                             </div>
                         </div>
                         <div class="row pt-2">
@@ -47,11 +52,11 @@
                     </div>
                     <div class="col text-center">
                         <div class="row">
-                            <div class="col py-3 h4" v-for="stationTypeBinMonitor in stationTypeBinMonitors">
+                            <div class="col py-3 h4" v-for="wall in station.stationTypeBinMonitor.bin_wall_amount">
                                 <table class="table border">
-                                    <tr v-for="row in stationTypeBinMonitor">
+                                    <tr v-for="row in station.stationTypeBinMonitor.bin_row_length">
                                         <td class="border p-0"
-                                            v-for="column in row"
+                                            v-for="column in station.stationTypeBinMonitor.bin_column_length"
                                             :class="
                                                 task.currentCommodityIndex
                                                 && task.currentCommodityIndex!==-1
@@ -127,8 +132,9 @@
                 {{--},--}}
                 // color:"red",
                 // error:"",
-                stationTypeBinMonitor:{!! $stationTypeBinMonitor !!},
-                task:{!! $task !!},
+                station:{!! $station??'' !!},
+                task:{!! $station??[] !!},
+                {{--stationTypeBinMonitor:{!! $stationTypeBinMonitor !!},--}}
             },
             mounted() {
                 this._makeMenuHiding();
@@ -179,12 +185,12 @@
                     console.log(task)
                     this.task = task;
                 },
-                //渲染墙格口
-                _renderingstationTypeBinMonitor(amount, row, column){
-                    for (let i=0;i<amount;i++){
-                        this.stationTypeBinMonitors.push(this._createstationTypeBinMonitor(row, column, i*(row*column)));
-                    }
-                },
+                // //渲染墙格口
+                // _renderingstationTypeBinMonitor(amount, row, column){
+                //     for (let i=0;i<amount;i++){
+                //         this.stationTypeBinMonitors.push(this._createstationTypeBinMonitor(row, column, i*(row*column)));
+                //     }
+                // },
                 _setColor(status){
                     switch (status) {
                         case "待处理":return "";