|
@@ -106,32 +106,42 @@ class TicketJob implements ShouldQueue
|
|
|
$preliminary_end = date("Y-m-d H:i:s",strtotime("+1 days",strtotime($recruit->preliminary_start)));
|
|
|
}
|
|
|
foreach ($list as $k => $v){
|
|
|
- $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'] : '',
|
|
|
- 'avatar' => $v['avatar']
|
|
|
- ];
|
|
|
- $ticket = [
|
|
|
- 'appoint_id' => $v['id'],
|
|
|
- 'ex_type' => 1,
|
|
|
- 'ex_number' => $item['ex_number'],
|
|
|
- 'ex_seat' => $item['ex_seat'],
|
|
|
- 'ex_room' => $item['ex_room'],
|
|
|
- 'ex_status' => 0,
|
|
|
- 'ex_start' => $preliminary_start,
|
|
|
- 'ex_end' => $preliminary_end
|
|
|
- ];
|
|
|
- RecruitTicket::create($ticket);
|
|
|
- $this->fetch($item,$recruit->pen_ticket_content, 'pen', $recruit);
|
|
|
+ if(!array_key_exists($v['card'],$ticket_data_list)){
|
|
|
+ echo "{$v['realname']}_{$v['card']}_{$post_data[$v['post_id']]} 不在准考名单内\r\n";
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if(!$this->word_exist($recruit,'pen', ['realname' => $v['realname'],'card' => $v['card'],'post' => $post_data[$v['post_id']]])){
|
|
|
+ $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'] : '',
|
|
|
+ 'avatar' => $v['avatar']
|
|
|
+ ];
|
|
|
+ $ticket = [
|
|
|
+ 'appoint_id' => $v['id'],
|
|
|
+ 'ex_type' => 1,
|
|
|
+ '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' => $preliminary_start,
|
|
|
+ 'ex_end' => $preliminary_end
|
|
|
+ ];
|
|
|
+ RecruitTicket::create($ticket);
|
|
|
+ $this->fetch($item,$recruit->pen_ticket_content, 'pen', $recruit);
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
- $this->pdf('pen',$recruit);
|
|
|
+ //$this->pdf('pen',$recruit);
|
|
|
Recruit::where('id',$this->recruit_id)->update(['pen_ticket_status' => 2]);
|
|
|
break;
|
|
|
}
|
|
@@ -242,6 +252,25 @@ class TicketJob implements ShouldQueue
|
|
|
// shell_exec('libreoffice --headless --convert-to pdf:writer_pdf_Export ' . $word_url . ' --outdir ' . $pdf_url);
|
|
|
}
|
|
|
|
|
|
+ protected function word_exist($recruit,$type,$data)
|
|
|
+ {
|
|
|
+ if($recruit){
|
|
|
+ $name = $recruit->name_en;
|
|
|
+ $date = date("Y-m-d",strtotime($recruit->created_at));
|
|
|
+ }else{
|
|
|
+ $name = uniqid();
|
|
|
+ $date = date("Y-m-d",time());
|
|
|
+ }
|
|
|
+ $filename = $date . '_' . $data['realname'] . '_' . $data['card'] . '_' . $data['post'];
|
|
|
+ if(file_exists(base_path() . "/storage/app/public/recruit/ticket/word/{$date}/{$name}/{$type}/" . $filename . '.docx')){
|
|
|
+ echo $filename . "跳过\r\n";
|
|
|
+ return true;
|
|
|
+ }else{
|
|
|
+ echo $filename . "生成\r\n";
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
protected function pdf($type, $recruit = null){
|
|
|
if($recruit){
|
|
|
$name = $recruit->name_en;
|