|
@@ -409,6 +409,105 @@ class TicketJob implements ShouldQueue
|
|
|
RecruitAppointInfo::where('id',$v['id'])->update($update);
|
|
|
}
|
|
|
break;
|
|
|
+ case 'computer':
|
|
|
+ if(!$recruit->computer_ticket_content){
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if(!array_key_exists('ex_start',$this->data) || !array_key_exists('ex_end',$this->data) || empty($this->data['ex_start']) || empty($this->data['ex_end'])){
|
|
|
+ $computer_start = date("Y-m-d H:i:s",strtotime("+1 days",strtotime(date("Y-m-d",time()))));
|
|
|
+ $computer_end = date("Y-m-d H:i:s",strtotime("+5 days",strtotime(date("Y-m-d",time()))));
|
|
|
+ }else{
|
|
|
+ $computer_start = $this->data['ex_start'];
|
|
|
+ $computer_end = $this->data['ex_end'];
|
|
|
+ }
|
|
|
+ switch ($this->data['type']){
|
|
|
+ case '0'://不需要额外数据
|
|
|
+ $list = RecruitAppointInfo::where('recruit_id',$this->recruit_id)->where('audit',3)->where('computer_ticket_status',-1)->where(function($query){
|
|
|
+ $query->where('pen_audit',1)
|
|
|
+ ->orWhere('pen_audit',3);
|
|
|
+ })->orderBy('post_id','asc')->orderBy('created_at','asc')->get()->toArray();
|
|
|
+ $post_data = RecruitPost::where('recruit_id',$this->recruit_id)->where('status',1)->selectRaw('id, CONCAT(code," ",name) as post')->pluck('post', 'id');
|
|
|
+ if($list){
|
|
|
+ foreach ($list as $k => $v){
|
|
|
+ $item = [
|
|
|
+ 'appoint_id' => $v['id'],
|
|
|
+ 'ex_type' => 3,
|
|
|
+ 'realname' => $v['realname'],
|
|
|
+ 'ex_title' => '',
|
|
|
+ 'card' => $v['card'],
|
|
|
+ 'ex_time' => '',
|
|
|
+ 'ex_address' => '',
|
|
|
+ 'post' => $post_data[$v['post_id']],
|
|
|
+ ];
|
|
|
+ $ticket = [
|
|
|
+ 'appoint_id' => $v['id'],
|
|
|
+ 'ex_type' => 3,
|
|
|
+ 'ex_status' => 0,
|
|
|
+ 'ex_start' => $computer_start,
|
|
|
+ 'ex_end' => $computer_end
|
|
|
+ ];
|
|
|
+ RecruitTicket::create($ticket);
|
|
|
+ $this->fetch($item,$recruit->computer_ticket_content, 'computer', $recruit);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case '2':
|
|
|
+ $ticket_data_list = $this->data['list'];
|
|
|
+ $list = RecruitAppointInfo::where('recruit_id',$this->recruit_id)
|
|
|
+ ->where('audit',3)
|
|
|
+ ->where('computer_audit',-1)
|
|
|
+ ->where(function($query){
|
|
|
+ $query->where('recruit_appoint_info.pen_audit',1)
|
|
|
+ ->orWhere('recruit_appoint_info.pen_audit',3);
|
|
|
+ })
|
|
|
+ ->orderBy('post_id','asc')->orderBy('created_at','asc')->get()->toArray();
|
|
|
+ $post_data = RecruitPost::where('recruit_id',$this->recruit_id)->where('status',1)->selectRaw('id, CONCAT(code," ",name) as post')->pluck('post', 'id');
|
|
|
+
|
|
|
+ foreach ($list as $k => $v){
|
|
|
+ if(!array_key_exists($v['card'],$ticket_data_list)){
|
|
|
+ echo "{$v['realname']}_{$v['card']}_{$post_data[$v['post_id']]} 不在准考名单内\r\n";
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ $item = [
|
|
|
+ 'realname' => $v['realname'],
|
|
|
+ 'ex_number' => array_key_exists('ex_number',$ticket_data_list[$v['card']]) ? $ticket_data_list[$v['card']]['ex_number'] : '',
|
|
|
+ 'card' => $v['card'],
|
|
|
+ 'post' => $post_data[$v['post_id']],
|
|
|
+ 'ex_address' => array_key_exists('ex_address',$ticket_data_list[$v['card']]) ? $ticket_data_list[$v['card']]['ex_address'] : '',
|
|
|
+ 'ex_time' => array_key_exists('ex_time',$ticket_data_list[$v['card']]) ? $ticket_data_list[$v['card']]['ex_time'] : '',
|
|
|
+ 'ex_subject' => array_key_exists('ex_subject',$ticket_data_list[$v['card']]) ? $ticket_data_list[$v['card']]['ex_subject'] : '',
|
|
|
+ 'ex_room' => array_key_exists('ex_room',$ticket_data_list[$v['card']]) ? $ticket_data_list[$v['card']]['ex_room'] : '',
|
|
|
+ 'ex_seat' => array_key_exists('ex_seat',$ticket_data_list[$v['card']]) ? $ticket_data_list[$v['card']]['ex_seat'] : '',
|
|
|
+ 'ex_ready_time' => array_key_exists('ex_ready_time',$ticket_data_list[$v['card']]) ? $ticket_data_list[$v['card']]['ex_ready_time'] : '',
|
|
|
+ 'extra1' => array_key_exists('extra1',$ticket_data_list[$v['card']]) ? $ticket_data_list[$v['card']]['extra1'] : '',
|
|
|
+ 'extra2' => array_key_exists('extra2',$ticket_data_list[$v['card']]) ? $ticket_data_list[$v['card']]['extra2'] : '',
|
|
|
+ 'extra3' => array_key_exists('extra3',$ticket_data_list[$v['card']]) ? $ticket_data_list[$v['card']]['extra3'] : '',
|
|
|
+ 'avatar' => $v['avatar']
|
|
|
+ ];
|
|
|
+ $ticket = [
|
|
|
+ 'appoint_id' => $v['id'],
|
|
|
+ 'ex_type' => 3,
|
|
|
+ 'ex_number' => $item['ex_number'],
|
|
|
+ 'ex_address' => array_key_exists('ex_address',$ticket_data_list[$v['card']]) ? $ticket_data_list[$v['card']]['ex_address'] : '',
|
|
|
+ 'ex_time' => array_key_exists('ex_time',$ticket_data_list[$v['card']]) ? $ticket_data_list[$v['card']]['ex_time'] : '',
|
|
|
+ 'ex_seat' => $item['ex_seat'],
|
|
|
+ 'ex_room' => $item['ex_room'],
|
|
|
+ 'ex_subject' => array_key_exists('ex_subject',$ticket_data_list[$v['card']]) ? $ticket_data_list[$v['card']]['ex_subject'] : '',
|
|
|
+ 'ex_status' => 0,
|
|
|
+ 'ex_start' => $computer_start,
|
|
|
+ 'ex_end' => $computer_end
|
|
|
+ ];
|
|
|
+ RecruitTicket::create($ticket);
|
|
|
+ $this->fetch($item,$recruit->computer_ticket_content, 'face', $recruit);
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+ //$this->pdf('pen',$recruit);
|
|
|
+ Recruit::where('id',$this->recruit_id)->update(['computer_ticket_status' => 2]);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ break;
|
|
|
}
|
|
|
}
|
|
|
|