Răsfoiți Sursa

更新路由

sandm 1 an în urmă
părinte
comite
83842aa2ff

+ 66 - 0
app/Admin/Controllers/Recruit/SpecialController.php

@@ -1672,4 +1672,70 @@ class SpecialController extends Controller
 
     }
 
+    /**
+     * 座位贴
+     * @param Content $content
+     * @param Request $request
+     * @return Content
+     */
+    public function seat_sticker(Content $content, Request $request){
+        $recruit_id = $request->id;
+        $list = RecruitAppointInfo::where(['recruit_appoint_info.recruit_id' => $recruit_id,'recruit_appoint_info.audit' => 3, 'recruit_ticket.ex_type' => 1])
+            ->join('recruit_ticket', 'recruit_ticket.appoint_id', '=', 'recruit_appoint_info.id','left')
+            ->select('recruit_appoint_info.*','recruit_ticket.*')
+            ->orderBy('recruit_ticket.ex_room','asc')
+            ->orderByRaw('recruit_ticket.ex_seat+0 asc')
+            ->get();
+        $data = [];
+        foreach ($list as $k => $v){
+            $place = $v->ex_place == null ? 'empty' : $v->ex_place;
+            if(!array_key_exists($place,$data)){
+                $data[$place] = [];
+            }
+
+            $room = $v->ex_room == null ? 'empty' : $v->ex_room;
+            if(!array_key_exists($room,$data[$place])){
+                $data[$place][$room] = [];
+            }
+            $item = [
+                'avatar' => $v->avatar,
+                'seat' => $v->ex_seat,
+                'realname' => $v->realname,
+                'number' => $v->ex_number
+            ];
+            array_push($data[$place][$room],$item);
+        }
+        //dd($data);
+        return $content->body(view('admin.recruit.seat_sticker')->with(['data' => $data]));
+    }
+
+    public function sign_table(Content $content, Request $request){
+        $recruit_id = $request->id;
+        $list = RecruitAppointInfo::where(['recruit_appoint_info.recruit_id' => $recruit_id,'recruit_appoint_info.audit' => 3, 'recruit_ticket.ex_type' => 1])
+            ->join('recruit_ticket', 'recruit_ticket.appoint_id', '=', 'recruit_appoint_info.id','left')
+            ->select('recruit_appoint_info.*','recruit_ticket.*')
+            ->orderBy('recruit_ticket.ex_room','asc')
+            ->orderByRaw('recruit_ticket.ex_seat+0 asc')
+            ->get();
+        $data = [];
+        foreach ($list as $k => $v){
+            $place = $v->ex_place == null ? 'empty' : $v->ex_place;
+            if(!array_key_exists($place,$data)){
+                $data[$place] = [];
+            }
+
+            $room = $v->ex_room == null ? 'empty' : $v->ex_room;
+            if(!array_key_exists($room,$data[$place])){
+                $data[$place][$room] = [];
+            }
+            $item = [
+                'avatar' => $v->avatar,
+                'seat' => $v->ex_seat,
+                'realname' => $v->realname
+            ];
+            array_push($data[$place][$room],$item);
+        }
+        return $content->body(view('admin.recruit.sign_table')->with(['data' => $data]));
+    }
+
 }

+ 2 - 0
app/Admin/routes.php

@@ -487,6 +487,8 @@ Route::group([
         $router->resource('ticket', RecruitTicketController::class)->names('special.ticket');
         $router->get('ticket_data_template', 'RecruitTicketController@ticket_data_template')->name('special.ticket_data_template');
         $router->post('create_ticket','RecruitTicketController@create_ticket')->name('special.create_ticket');
+        $router->get('seat_sticker', 'SpecialController@seat_sticker')->name('special.seat_sticker');
+        $router->get('sign_table', 'SpecialController@sign_table')->name('special.sign_table');
 
     });