|  | @@ -260,7 +260,7 @@ class TicketJob implements ShouldQueue
 | 
	
		
			
				|  |  |                                  'ex_subject' => array_key_exists('ex_subject',$ticket_data_list[$v['card']]) ? $ticket_data_list[$v['card']]['ex_subject'] : '',
 | 
	
		
			
				|  |  |                                  'ex_status' => 0,
 | 
	
		
			
				|  |  |                                  'ex_start' => $interview_start,
 | 
	
		
			
				|  |  | -                                'ex_end' => $interview_start
 | 
	
		
			
				|  |  | +                                'ex_end' => $interview_end
 | 
	
		
			
				|  |  |                              ];
 | 
	
		
			
				|  |  |                              RecruitTicket::create($ticket);
 | 
	
		
			
				|  |  |                              $this->fetch($item,$recruit->face_ticket_content, 'face', $recruit);
 | 
	
	
		
			
				|  | @@ -268,7 +268,105 @@ class TicketJob implements ShouldQueue
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                          }
 | 
	
		
			
				|  |  |                          //$this->pdf('pen',$recruit);
 | 
	
		
			
				|  |  | -                        Recruit::where('id',$this->recruit_id)->update(['pen_ticket_status' => 2]);
 | 
	
		
			
				|  |  | +                        Recruit::where('id',$this->recruit_id)->update(['face_ticket_status' => 2]);
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                break;
 | 
	
		
			
				|  |  | +            case 'reexamine':
 | 
	
		
			
				|  |  | +                if(!$recruit->reexamine_ticket_content){
 | 
	
		
			
				|  |  | +                    return;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                if(empty($recruit->reexamine_start)){
 | 
	
		
			
				|  |  | +                    $reexamine_start = $this->data['ex_start'];
 | 
	
		
			
				|  |  | +                    $reexamine_end = $this->data['ex_end'];
 | 
	
		
			
				|  |  | +                }else{
 | 
	
		
			
				|  |  | +                    $reexamine_start = $recruit->reexamine_start;
 | 
	
		
			
				|  |  | +                    $reexamine_end = $recruit->reexamine_end;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                switch ($this->data['type']){
 | 
	
		
			
				|  |  | +                    case '0'://不需要额外数据
 | 
	
		
			
				|  |  | +                        $list = RecruitAppointInfo::where('recruit_id',$this->recruit_id)->where('audit',3)->where('reexamine_audit',-1)->where(function($query){
 | 
	
		
			
				|  |  | +                            $query->where('face_audit',1)
 | 
	
		
			
				|  |  | +                                ->orWhere('face_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' => $reexamine_start,
 | 
	
		
			
				|  |  | +                                    'ex_end' => $reexamine_end
 | 
	
		
			
				|  |  | +                                ];
 | 
	
		
			
				|  |  | +                                RecruitTicket::create($ticket);
 | 
	
		
			
				|  |  | +                                $this->fetch($item,$recruit->reexamine_ticket_content, 'reexamine_audit', $recruit);
 | 
	
		
			
				|  |  | +                            }
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  | +                        break;
 | 
	
		
			
				|  |  | +                    case '2':
 | 
	
		
			
				|  |  | +                        $ticket_data_list = $this->data['list'];
 | 
	
		
			
				|  |  | +                        $list = RecruitAppointInfo::where('recruit_id',$this->recruit_id)
 | 
	
		
			
				|  |  | +                            ->where('audit',3)
 | 
	
		
			
				|  |  | +                            ->where('reexamine_audit',-1)
 | 
	
		
			
				|  |  | +                            ->where(function($query){
 | 
	
		
			
				|  |  | +                                $query->where('recruit_appoint_info.face_audit',1)
 | 
	
		
			
				|  |  | +                                    ->orWhere('recruit_appoint_info.face_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' => $reexamine_start,
 | 
	
		
			
				|  |  | +                                'ex_end' => $reexamine_end
 | 
	
		
			
				|  |  | +                            ];
 | 
	
		
			
				|  |  | +                            RecruitTicket::create($ticket);
 | 
	
		
			
				|  |  | +                            $this->fetch($item,$recruit->reexamine_ticket_content, 'reexamine_audit', $recruit);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  | +                        //$this->pdf('pen',$recruit);
 | 
	
		
			
				|  |  | +                        Recruit::where('id',$this->recruit_id)->update(['reexamine_ticket_status' => 2]);
 | 
	
		
			
				|  |  |                          break;
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |                  break;
 | 
	
	
		
			
				|  | @@ -337,7 +435,7 @@ class TicketJob implements ShouldQueue
 | 
	
		
			
				|  |  |  //            Storage::makeDirectory("public/recruit/ticket/pdf/{$date}/{$name}/{$type}");
 | 
	
		
			
				|  |  |  //        }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        $filename = $date . '_' . $data['realname'] . '_' . $data['card'] . '_' . $data['post'];
 | 
	
		
			
				|  |  | +        $filename = sha1($date . '_' . $data['realname'] . '_' . $data['card'] . '_' . $data['post']);
 | 
	
		
			
				|  |  |          $word_url = base_path() . "/storage/app/public/recruit/ticket/word/{$date}/{$name}/{$type}/" . $filename . '.docx';
 | 
	
		
			
				|  |  |          $templateProcessor->saveAs($word_url);//另存为
 | 
	
		
			
				|  |  |  //        $pdf_url = base_path() . "/storage/app/public/recruit/ticket/pdf/{$date}/{$name}/{$type}";
 |