pmsRepository = $pmsRepository;
$this->smsService = $smsService;
header('Access-Control-Allow-Origin:*');
header('Access-Control-Allow-Methods:GET,POST,PUT,DELETE');
header('Access-Control-Allow-Headers:Origin, Content-Type, Cookie, Accept, X-CSRF-TOKEN');
header('Access-Control-Allow-Credentials:true');
}
/**
* 获得当前登录 的用户对象
* @return false|mixed|string
*/
public function getUser()
{
// $res['isLogin'] = 1;
// $res['status'] = 1;
// $res['user'] = [
// 'name' => 'test',
// 'pmsNum' => 1
// ];
//
// return response()->json($res);
$user = parent::getLoginUser();
$res = [];
if (!$user) {
$res['isLogin'] = 0;
$res['status'] = 1;
$res['user'] = null;
} else {
$condition4 = [
'msgtouid' => $user->id,
'utype' => $user->utype,
'new' => 1,
];
$pms = $this->pmsRepository->getPmsCount($condition4);
switch ($user->utype) {
case '1':
$name = $user->companyname;
break;
case '2':
$memberService = app('App\Services\Person\MemberService');
$name = $memberService->getName();
break;
}
$res['isLogin'] = 1;
$res['status'] = 1;
$res['user'] = [
'name' => $name,
'pmsNum' => $pms,
];
}
return json_encode($res);
}
public function getSignupUser()
{
$user = parent::getLoginUser();
// $user = new \StdClass();
// $user->id = 59041;
if (!$user) {
return response()->json(['isLogin' => 0, 'status' => 0, 'user' => null, 'msg' => '您尚未登录']);
}
return $user;
}
public function userCheck()
{
$user = parent::getLoginUser();
if (!$user) {
$res = ['isLogin' => 0, 'status' => 0, 'user' => $user, 'msg' => '您尚未登录', 'ret' => false];
return $res;
}
$admin = ['59041', '161303', '159761', '148935', '150282'];
if (!in_array($user->id, $admin)) {
$res = ['isLogin' => 1, 'status' => 0, 'user' => null, 'msg' => '您没有权限', 'url' => 'http://www.jucai.gov.cn', 'ret' => false];
return $res;
}
return ['ret' => true, 'user' => $user];
}
/**
* 上传文件的方法
* @param Request $request
* @return \Illuminate\Http\JsonResponse
*/
public function upload(Request $request)
{
$file = $request->file('file');
if ($file->isValid()) { //判断文件是否存在
//获取文件的扩展名
$ext = $file->getClientOriginalExtension();
if (!in_array(strtolower($ext), ['jpg', 'jpeg', 'png', 'doc', 'docx', 'pdf'])) {
$res['status'] = 0;
$res['msg'] = '文件格式不正确';
} else {
//获取文件的绝对路径
$path = $file->getRealPath();
$oldname = $file->getClientOriginalName();
//定义文件名
$filename = 'storage/recruit/' . uniqid() . mt_rand(10000, 99999) . '.' . $ext;
//存储文件。disk里面的public。总的来说,就是调用disk模块里的public配置
Storage::disk('public')->put($filename, file_get_contents($path));
$res['status'] = 1;
$res['filename'] = $oldname;
$res['path'] = "/storage/" . $filename;
$res['msg'] = '上传成功';
}
} else {
$res['status'] = 0;
$res['msg'] = '上传失败';
}
return response()->json($res);
}
/**
* 专用型招考报名保存
* @param Request $request
* @return \Illuminate\Http\JsonResponse
*/
public function save(Request $request)
{
$user = $this->getSignupUser();
$uid = $user->id;
$rules = [
'realname' => 'required',
'sex' => 'required',
'birthday' => 'required',
'native_place' => 'required',
'post_id' => 'required',
'political_attitudes' => 'required',
'edu_type' => 'required',
'education' => 'required',
'school' => 'required',
'degree' => 'required',
'pro' => 'required',
'address' => 'required',
'mobile' => 'required',
'email' => 'required',
'nation' => 'required',
'card' => 'required',
'house_register' => 'required',
'resume' => 'required',
//'family' => 'required',
'avatar' => 'required',
'front_card' => 'required',
'back_card' => 'required',
'concat_name' => 'required',
'concat_mobile' => 'required',
//'diploma_img' => 'required',
//'degree_img' => 'required',
//'xuexin_img' => 'required'
];
$messages = [
'realname.required' => '请填写姓名',
'sex.required' => '请填写性别',
'birthday.required' => '请填写出生日期',
'native_place.required' => '请填写籍贯',
'political_attitudes.required' => '请填写政治面貌',
'edu_type.required' => '请选择教育类型',
'education.required' => '请输入学历',
'school.required' => '请输入毕业院校',
'degree.required' => '请输入学位',
'pro.required' => '请输入专业',
'address.required' => '请填写通信地址',
'mobile.required' => '请填写手机号码',
'email.required' => '请填写电子邮箱',
'post_id.required' => '请选择报名岗位',
'nation.required' => '请填写民族',
'card.required' => '请填写身份证号码',
'house_register.required' => '请填写户籍所在地',
'resume.required' => '请填写个人简历',
//'family.required' => '请填写家庭成员及主要社会关系',
'avatar.required' => '请上传彩色免冠照',
'front_card.required' => '请上传身份证正面照',
'back_card.required' => '请上传身份证反面照',
'concat_name.required' => '请填写联系人姓名',
'concat_mobile.required' => '请填写联系人手机号码',
//'diploma_img.required' => '请上传毕业证书照',
//'degree_img.required' => '请上传学位证书',
//'xuexin_img.required' => '请上传学信网证书'
];
//根据招聘场次不同验证所需要的材料
$rid = $request->input('rid');
switch (intval($rid)) {
case 6:
//根据报名岗位判断
$post = $request->input('post_id');
if (in_array($post, [14, 15, 16, 17, 18, 20, 21, 23, 24])) {
$rules['work_approve'] = 'required';
$messages['work_approve.required'] = '您所报名的岗位需要上传工作经历证明';
}
if (in_array($post, [14, 18, 20, 21, 25, 29, 30])) {
$rules['work_pro_img'] = 'required';
$messages['work_pro_img.required'] = '您所报名的岗位需要上传职(执)业资格证书、专业技术资格(职务)证书';
}
if ($post == 28) {
$rules['join_time'] = 'required';
$messages['join_time.required'] = '您所报名的岗位需要填写入党时间,格式为年月';
$rules['work_approve'] = 'required';
$messages['work_approve.required'] = '您所报名的岗位需要党员证明';
}
if (in_array($post, [19, 20, 27])) {
$rules['sex'] = 'required|accepted';
$messages['sex.accepted'] = '您所报名的岗位限制男性报名';
}
break;
}
$res = [
'status' => 0,
'data' => '',
'msg' => '',
];
$create_data = $request->all();
$validator = Validator::make($create_data, $rules, $messages);
if ($validator->fails()) {
$msg = $validator->errors()->all();
$res['msg'] = $msg[0];
echo json_encode($res);
} else {
$data = $request->only('realname', 'sex', 'birthday', 'avatar', 'post_id', 'nation', 'native_place', 'political_attitudes', 'titles', 'work', 'house_register', 'join_time', 'edu_type', 'education', 'school', 'degree', 'pro', 'address', 'card', 'mobile', 'email', 'concat_name', 'concat_mobile', 'resume', 'training', 'rewards_and_punishments', 'introduce', 'front_card', 'back_card', 'diploma_img', 'degree_img', 'xuexin_img', 'work_pro_img', 'work_approve', 'operation', 'rid', 'id');
$family = $request->input('family');
//对入库数据处理
$data['birthday'] = strtotime($data['birthday']);
switch ($data['edu_type']) {
case '1':
case 1:
case '全日制教育':
$data['edu_type'] = 1;
break;
case '2':
case 2:
case '在职教育':
$data['edu_type'] = 2;
break;
}
if ($data['operation'] == 2) {
$data['status'] = 1;
$data['check'] = 0;
$msg = '报名成功,请等待审核';
} else {
$data['status'] = 0;
$data['check'] = 0;
$msg = '保存成功';
}
unset($data['operation']);
//处理工作证明
if (is_array($data['work_approve'])) {
$imgs = [];
foreach ($data['work_approve'] as $k => $v) {
if (is_array($v)) {
array_push($imgs, $v['url']);
} else {
array_push($imgs, $v);
}
}
$data['work_approve'] = implode(',', $imgs);
}
//处理职业资格或职称证明
if (is_array($data['work_pro_img'])) {
$imgs = [];
foreach ($data['work_pro_img'] as $k => $v) {
if (is_array($v)) {
array_push($imgs, $v['url']);
} else {
array_push($imgs, $v);
}
}
$data['work_pro_img'] = implode(',', $imgs);
}
//判断是否已经有存在的报名记录
if (array_key_exists('id', $data) && $data['id'] > 0) {
//如果已经存在记录
$id = $data['id'];
$info = DB::table('recruit_entry')->where('id', $id)->where('uid', $uid)->first();
if (!$info) {
return response()->json(['status' => 0, 'msg' => '没有权限修改']);
}
unset($data['id']);
DB::table('recruit_entry')->where('id', $id)->update($data);
if ($family) {
foreach ($family as $v) {
if (array_key_exists('id', $v)) {
$item = DB::table('recruit_family')->find($v['id']);
if ($item) {
if ($item->uid == $uid) {
$data = [
'appellation' => $v['appellation'],
'realname' => $v['realname'],
'birthday' => strtotime($v['birthday']),
'political_attitudes' => $v['political_attitudes'],
'work' => $v['work'],
];
DB::table('recruit_family')->where('id', $v['id'])->update($data);
}
}
} else {
$item = [];
$item['appellation'] = $v['appellation'];
$item['realname'] = $v['realname'];
$item['birthday'] = strtotime($v['birthday']);
$item['political_attitudes'] = $v['political_attitudes'];
$item['work'] = $v['work'];
$item['eid'] = $info->id;
$item['uid'] = $uid;
DB::table('recruit_family')->insert($item);
}
}
}
} else {
//以证件号码进行二次判断
$info = DB::table('recruit_entry')->where('card', $data['card'])->first();
if ($info) {
if ($info->uid != $uid) {
return response()->json(['status' => 0, 'msg' => '该证件已通过其他账号报名,请检查']);
}
$id = $info->id;
DB::table('recruit_entry')->where('id', $info->id)->update($data);
if ($family) {
foreach ($family as $v) {
if (array_key_exists('id', $v)) {
$item = DB::table('recruit_family')->find($v['id']);
if ($item) {
if ($item->uid == $uid) {
$data = [
'appellation' => $v['appellation'],
'realname' => $v['realname'],
'birthday' => strtotime($v['birthday']),
'political_attitudes' => $v['political_attitudes'],
'work' => $v['work'],
];
DB::table('recruit_family')->where('id', $v['id'])->update($data);
}
}
} else {
$item = [];
$item['appellation'] = $v['appellation'];
$item['realname'] = $v['realname'];
$item['birthday'] = strtotime($v['birthday']);
$item['political_attitudes'] = $v['political_attitudes'];
$item['work'] = $v['work'];
$item['eid'] = $info->id;
$item['uid'] = $uid;
DB::table('recruit_family')->insert($item);
}
}
}
} else {
$data['uid'] = $uid;
$data['createtime'] = time();
$id = DB::table('recruit_entry')->insertGetId($data);
if ($family) {
foreach ($family as $v) {
$item = [];
$item['appellation'] = $v['appellation'];
$item['realname'] = $v['realname'];
$item['birthday'] = strtotime($v['birthday']);
$item['political_attitudes'] = $v['political_attitudes'];
$item['work'] = $v['work'];
$item['eid'] = $id;
$item['uid'] = $uid;
DB::table('recruit_family')->insert($item);
}
}
}
}
return response()->json($res = ['status' => 1, 'data' => $id, 'msg' => $msg]);
}
}
/**
* 查看可以报名的场次
* @param Request $request
*/
public function signup_list(Request $request)
{
$page = $request->input('page');
$title = $request->input('title');
if ($title) {
$where[] = ['name', 'like', '%' . $title . '%'];
}
$where[] = ['status', '=', 1];
$where[] = ['step', '=', 1];//仅可查看可以报名的
$total = DB::table('recruit')->where($where)->count();
$result = DB::table('recruit')->where($where)->offset(10 * ($page - 1))->limit(10 * $page)->get()->toArray();
$list = [];
if ($result) {
foreach ($result as $k => $v) {
switch ($v->step) {
case '1':
$step = '报名';
break;
case '2':
$step = '审核';
break;
case '3':
$step = '笔试';
break;
case '4':
$step = '上机测试';
break;
case '5':
$step = '面试';
break;
case '6':
$step = '复试';
break;
case '7':
$step = '体检';
break;
case '8':
$step = '公示';
break;
case '9':
$step = '结束';
break;
default:
$step = '准备中';
break;
}
$item = [
'id' => $v->id,
'name' => $v->name,
'start' => date("Y-m-d", $v->start),
'end' => date("Y-m-d", $v->end),
'step' => $step,
];
array_push($list, $item);
}
$res = [
'status' => 1,
'data' => [
'list' => $list,
'total' => $total,
],
'msg' => '暂无数据',
];
echo json_encode($res);
} else {
$res = [
'status' => 1,
'data' => [
'list' => [],
'total' => 0,
],
'msg' => '暂无数据',
];
echo json_encode($res);
}
}
/**
* 获取招考报名的详细信息
* @param Request $request
* @return \Illuminate\Http\JsonResponse
*/
public function signup_detail(Request $request)
{
$user = $this->getSignupUser();
$uid = $user->id;
$id = $request->input('id');
if (!$id) {
$res = [
'status' => 0,
'data' => '',
'msg' => '请指定招考场次',
];
return response()->json($res);
} else {
$info = DB::table('recruit')->find($id);
if (!$info) {
$res = [
'status' => 0,
'data' => '',
'msg' => '找不到对应的招考场次',
];
return response()->json($res);
} else {
switch ($info->type) {
case '2':
$enterprise = [];
$enterprise_list = DB::table('recruit_enterprise')->where('rid', $info->id)->get()->toArray();
foreach ($enterprise_list as $k => $v) {
$sub_opt = [];
$sub = DB::table('recruit_enterprise_post')->where('eid', $v->id)->where('rid', $info->id)->get()->toArray();
foreach ($sub as $key => $val) {
$item = [
'value' => $val->id,
'label' => $val->code . " " . $val->name,
];
array_push($sub_opt, $item);
}
$item = [
'value' => $v->id,
'label' => $v->label,
'post' => $sub_opt,
];
array_push($enterprise, $item);
}
$info->post = $enterprise;
$entry = DB::table('recruit_internship')->where('rid', $info->id)->where('uid', $uid)->first();
if ($entry) {
$entry->birthday = date("Y-m-d", $entry->birthday);
$entry->check_time = date("Y-m-d", $entry->check_time);
$entry->sex = (string)$entry->sex;
$entry->class = (string)$entry->class;
if ($info->step >= 3) {
//TODO 笔试
}
if ($info->step >= 4) {
$interview = DB::table('recruit_exam_interview')->where('recruit_id', $info->id)->where('entry_id', $entry->id)->first();
$entry->interview = $interview;
}
$info->entry = $entry;
} else {
if (time() > $info->end) {
return response()->json(['status' => 0, 'msg' => '报名已截止']);
}
}
break;
default:
$post = DB::table('recruit_post1')->where('rid', $info->id)->get()->toArray();
$info->post = $post;
$entry = DB::table('recruit_entry')->where('rid', $info->id)->where('uid', $uid)->first();
if (!$entry && time() > $info->end) {
return response()->json(['status' => 0, 'msg' => '报名已截止']);
}
if ($entry) {
$entry->birthday = date("Y-m-d", $entry->birthday);
$entry->check_time = date("Y-m-d", $entry->check_time);
switch ($entry->edu_type) {
case 1:
$entry->edu_type = '全日制教育';
break;
case 2:
$entry->edu_type = '在职教育';
break;
default:
break;
}
//处理工作证明
if (!empty($entry->work_approve)) {
$imgs = explode(',', $entry->work_approve);
$entry->work_approve = [];
foreach ($imgs as $v) {
$item['url'] = $v;
array_push($entry->work_approve, $item);
}
}
//处理职业资格和职称
if (!empty($entry->work_pro_img)) {
$imgs = explode(',', $entry->work_pro_img);
$entry->work_pro_img = [];
foreach ($imgs as $v) {
$item['url'] = $v;
array_push($entry->work_pro_img, $item);
}
}
$family = DB::table('recruit_family')->where('eid', $entry->id)->get()->toArray();
foreach ($family as $k => $v) {
$family[$k]->birthday = date("Y-m-d", $v->birthday);
}
$entry->family = $family;
$entry->sex = (string)$entry->sex;
$info->entry = $entry;
}
break;
}
$res = [
'status' => 1,
'data' => $info,
'msg' => '获取招考信息成功',
];
return response()->json($res);
}
}
}
/**
* 报名记录查询
* @param Request $request
* @return \Illuminate\Http\JsonResponse
*/
public function recruit_list(Request $request)
{
$res = $this->userCheck();
if (!$res['ret']) {
return response()->json($res);
}
$page = $request->input('page');
$title = $request->input('title');
$where = [];
if ($title) {
$where[] = ['name', '=', $title];
}
$where[] = ['status', '>=', 0];
$total = DB::table('recruit')->where($where)->count();
$result = DB::table('recruit')->where($where)->offset(10 * ($page - 1))->limit(10)->get()->toArray();
$list = [];
if ($result) {
foreach ($result as $k => $v) {
$item = [
'id' => $v->id,
'name' => $v->name,
'start' => date("Y-m-d H:i:s", $v->start),
'end' => date("Y-m-d H:i:s", $v->end),
'status' => $v->status,
'post_sum' => DB::table('recruit_post1')->where('rid', $v->id)->count(),
'type' => $v->type,
];
array_push($list, $item);
}
$res = [
'status' => 1,
'data' => [
'list' => $list,
'total' => $total,
],
'msg' => '暂无数据',
];
echo json_encode($res);
} else {
$res = [
'status' => 1,
'data' => [
'list' => [],
'total' => 0,
],
'msg' => '暂无数据',
];
echo json_encode($res);
}
}
/**
* 添加招考报名场次
* @param Request $request
*/
public function add_recruit(Request $request)
{
$type = $request->input('type');
switch ($type) {
case '1':
$rules = [
'name' => 'required',
'start' => 'required',
'end' => 'required',
'status' => 'required',
'post_data' => 'required',
];
$messages = [
'name.required' => '请填写招考名称',
'start.required' => '请填写招考开始时间',
'end.required' => '请填写招考结束时间',
'status.required' => '请填写招考状态',
'post_data.required' => '请填写招聘岗位',
];
break;
case '2':
$rules = [
'name' => 'required',
'start' => 'required',
'end' => 'required',
'status' => 'required',
'enterprise_post' => 'required',
];
$messages = [
'name.required' => '请填写招考名称',
'start.required' => '请填写招考开始时间',
'end.required' => '请填写招考结束时间',
'status.required' => '请填写招考状态',
'enterprise_post.required' => '请填写招聘岗位',
];
break;
default:
$rules = [];
$messages = [];
break;
}
$res = [
'status' => 0,
'data' => '',
'msg' => '',
];
$create_data = $request->all();
$validator = Validator::make($create_data, $rules, $messages);
if ($validator->fails()) {
$msg = $validator->errors()->all();
$res['msg'] = $msg[0];
echo json_encode($res);
} else {
$data['name'] = $request->input('name');
$data['start'] = strtotime($request->input('start'));
$data['end'] = strtotime($request->input('end'));
$data['status'] = $request->input('status');
$data['type'] = $type;
if ($data['name']) {
$id = DB::table('recruit')->insertGetId($data);
switch ($type) {
case '1':
$post_data = $request->input('post_data');
$post = [];
foreach ($post_data as $k => $v) {
$item = [
'name' => $v['name'],
'code' => $v['code'],
'rid' => $id,
];
array_push($post, $item);
}
DB::table('recruit_post1')->insert($post);
break;
case '2':
$enterprise = $request->input('enterprise_post');
foreach ($enterprise as $k => $v) {
$enterprise_data = [];
$enterprise_data = [
'rid' => $id,
'label' => $v['label'],
];
$eid = DB::table('recruit_enterprise')->insertGetId($enterprise_data);
$enterprise_post_data = [];
foreach ($v['children'] as $key => $value) {
$item = [];
$item = [
'eid' => $eid,
'rid' => $id,
'code' => $value['code'],
'name' => $value['name'],
];
array_push($enterprise_post_data, $item);
}
DB::table('recruit_enterprise_post')->insert($enterprise_post_data);
}
break;
}
if ($id) {
$res['status'] = 1;
$res['msg'] = '新增成功';
$res['data'] = $id;
echo json_encode($res);
} else {
$res['msg'] = '新增失败!';
echo json_encode($res);
}
}
}
}
/**修改招考报名场次
* @param Request $request
*/
public function edit_recruit(Request $request)
{
if ($request->method() == "POST") {
$input = $request->all();
if (!array_key_exists('id', $input)) {
$res['status'] = 0;
$res['msg'] = '请指定要修改的招考数据';
$res['data'] = '';
echo json_encode($res);
} else {
$rules = [
'name' => 'required',
'start' => 'required',
'end' => 'required',
'status' => 'required',
'post_data' => 'required',
];
$messages = [
'name.required' => '请填写招考名称',
'start.required' => '请填写招考开始时间',
'end.required' => '请填写招考结束时间',
'status.required' => '请填写招考状态',
'post_data.required' => '请填写招聘岗位',
];
$res = [
'status' => 0,
'data' => '',
'msg' => '',
];
$validator = Validator::make($input, $rules, $messages);
if ($validator->fails()) {
$msg = $validator->errors()->all();
$res['msg'] = $msg[0];
echo json_encode($res);
} else {
$id = $input['id'];
$data = [
'name' => $input['name'],
'start' => strtotime($input['start']),
'end' => strtotime($input['end']),
'status' => $input['status'],
];
DB::table('recruit')->where('id', $id)->update($data);
$post_data = $input['post_data'];
foreach ($post_data as $item) {
if (array_key_exists('id', $item)) {
DB::table('recruit_post1')->where('id', $item['id'])->update(['name' => $item['name'], 'code' => $item['code']]);
} else {
$item['rid'] = $id;
DB::table('recruit_post1')->insert($item);
}
}
$res = [
'status' => 1,
'data' => '',
'msg' => '更新招考数据成功',
];
echo json_encode($res);
}
}
} else {
$id = $request->input('id');
$info = DB::table('recruit')->find($id);
if (!$info) {
$res = [
'status' => 0,
'data' => '',
'msg' => '找不到该记录,请刷新页面',
];
echo json_encode($res);
} else {
$post = DB::table('recruit_post1')->where('rid', '=', $info->id)->get()->toArray();
$item = [
'id' => $info->id,
'name' => $info->name,
'type' => (string)$info->type,
'start' => date("Y-m-d H:i:s", $info->start),
'end' => date("Y-m-d H:i:s", $info->end),
'status' => (string)$info->status,
'post_data' => $post,
];
$res = [
'status' => 1,
'data' => $item,
'msg' => '',
];
echo json_encode($res);
}
}
}
/**
* 获取招考的详细信息
* @param Request $request
* @return \Illuminate\Http\JsonResponse
*/
public function get_recruit_detail(Request $request)
{
$res = $this->userCheck();
if (!$res['ret']) {
return response()->json($res);
}
$id = $request->input('id');
$title = $request->input('title');
$status = $request->input('status', 99);
$page = $request->input('page', 1);
if (!$id) {
$res = [
'status' => 0,
'data' => [],
'msg' => '参数错误',
];
return response()->json($res);
}
$where = [
['rid', $id],
];
if (!empty($title)) {
$where[] = ['realname', 'like', "%{$title}%"];
}
switch ($status) {
case '0':
$where[] = ['status', '=', 1];
$where[] = ['check', '=', 0];
break;
case '1':
case '2':
$where[] = ['status', '=', 1];
$where[] = ['check', '=', 1];
break;
default:
$where[] = ['status', '=', 1];
break;
}
$total = DB::table('recruit_entry')->where($where)->count();
$list = DB::table('recruit_entry')->where($where)->offset(10 * ($page - 1))->limit(10)->get()->toArray();
$data = [];
if ($list) {
foreach ($list as $k => $v) {
$post = DB::table('recruit_post1')->find($v->post_id);
$item = [
'id' => $v->id,
'avatar' => $v->avatar,
'realname' => $v->realname,
'sex' => $v->sex == 1 ? '男' : '女',
'birthday' => date("Y-m-d", $v->birthday),
'phone' => $v->mobile,
'email' => $v->email,
'post' => $post->code . ' ' . $post->name,
'word_url' => $v->word_url,
];
array_push($data, $item);
}
}
$res = [
'status' => 1,
'data' => [
'list' => $data,
'total' => $total,
],
'msg' => '',
];
return response()->json($res);
}
/**
* 查看某个报名的详细信息
* @param Request $request
* @return \Illuminate\Http\JsonResponse
*/
public function get_user_recruit(Request $request)
{
$res = $this->userCheck();
if (!$res['ret']) {
return response()->json($res);
}
$id = $request->input('id');
if (!$id) {
$res = [
'status' => 0,
'data' => '',
'msg' => '请指定报名数据',
];
return response()->json($res);
} else {
$entry = DB::table('recruit_entry')->find($id);
if (!$entry) {
$res = [
'status' => 0,
'data' => '',
'msg' => '找不到对应的报名数据',
];
return response()->json($res);
} else {
$entry->birthday = date("Y-m-d", $entry->birthday);
$entry->check_time = date("Y-m-d", $entry->check_time);
switch ($entry->edu_type) {
case 1:
$entry->edu_type = '全日制教育';
break;
case 2:
$entry->edu_type = '在职教育';
break;
default:
break;
}
if (!empty($entry->work_approve)) {
$entry->work_approve = explode(',', $entry->work_approve);
}
if (!empty($entry->work_pro_img)) {
$entry->work_pro_img = explode(',', $entry->work_pro_img);
}
$family = DB::table('recruit_family')->where('eid', $entry->id)->get()->toArray();
foreach ($family as $k => $v) {
$family[$k]->birthday = date("Y-m-d", $v->birthday);
}
$entry->family = $family;
$entry->sex = $entry->sex == 1 ? '男' : '女';
$post = DB::table('recruit_post1')->where('rid', $entry->rid)->selectRaw('id, CONCAT(code," ",name) as post')->pluck('post', 'id');
$entry->post = $post[$entry->post_id];
$res = [
'status' => 1,
'data' => $entry,
'msg' => '获取招考信息成功',
];
return response()->json($res);
}
}
}
/**
* 查看某个报名的详细信息(大学生实习专场)
* @param Request $request
* @return \Illuminate\Http\JsonResponse
*/
public function get_user_internship(Request $request)
{
$user = parent::getLoginUser();
if (!$user) {
return response()->json(['isLogin' => 0, 'status' => 0, 'user' => null, 'msg' => '您尚未登录']);
}
$admin = ['59041', '164809', '164189', '164601'];
if (!in_array($user->id, $admin)) {
return response()->json(['isLogin' => 1, 'status' => 0, 'user' => null, 'msg' => '您没有权限', 'url' => 'http://www.jucai.gov.cn']);
}
$id = $request->input('id');
if (!$id) {
$res = [
'status' => 0,
'data' => '',
'msg' => '请指定报名数据',
];
return response()->json($res);
} else {
$entry = DB::table('recruit_internship')->find($id);
if (!$entry) {
$res = [
'status' => 0,
'data' => '',
'msg' => '找不到对应的报名数据',
];
return response()->json($res);
} else {
$entry->birthday = date("Y-m-d", $entry->birthday);
$entry->check_time = date("Y-m-d", $entry->check_time);
$entry->sex = $entry->sex == 1 ? '男' : '女';
$entry->adjust = $entry->adjust == 1 ? '接受' : '不接受';
switch ($entry->class) {
case '1':
$entry->class = '大三在校生';
break;
case '2':
$entry->class = '大四在校生';
break;
case '3':
$entry->class = '硕士在校生';
break;
case '4':
$entry->class = '博士在校生';
break;
default:
$entry->class = '';
break;
}
// $enterprise = DB::table('recruit_enterprise')->pluck('label','id');
// $enterprise_post = DB::table('recruit_enterprise_post')->where('rid',$entry->rid)->selectRaw('id, CONCAT(code," ",name) as post')->pluck('post', 'id');
// $entry->enterprise = $enterprise[$entry->enterprise];
// $entry->post = $enterprise_post[$entry->post];
//$post = DB::table('recruit_post1')->where('rid',$entry->rid)->selectRaw('id, CONCAT(code," ",name) as post')->pluck('post', 'id');
//$entry->post = $post[$entry->post];
$res = [
'status' => 1,
'data' => $entry,
'msg' => '获取招考信息成功',
];
return response()->json($res);
}
}
}
/**
* 报名信息的审核
* @param Request $request
* @return \Illuminate\Http\JsonResponse
*/
public function check_user_recruit(Request $request)
{
$res = $this->userCheck();
if (!$res['ret']) {
return response()->json($res);
}
$id = $request->input('id');
if (!$id) {
$res = [
'status' => 0,
'data' => '',
'msg' => '请指定审核数据',
];
return response()->json($res);
}
$info = DB::table('recruit_entry')->where('id', $id)->first();
if (!$info) {
$res = [
'status' => 0,
'data' => '',
'msg' => '指定审核的数据不存在',
];
return response()->json($res);
}
$status = $request->input('status');
if ($status) {
//审核通过,生成word版简历
$post = DB::table('recruit_post1')->where('rid', $info->rid)->selectRaw('id, CONCAT(code," ",name) as post')->pluck('post', 'id');
$post = $post[$info->post_id];
$word = [
'data' => [
'realname' => $info->realname,
'sex' => $info->sex == 1 ? '男' : '女',
'birthday' => date("Y-m-d", $info->birthday),
'nation' => $info->nation,
'native_place' => $info->native_place,
'post' => $post,
'political_attitudes' => $info->political_attitudes,
'join_time' => $info->join_time,
'titles' => $info->titles,
'work' => $info->work,
'house_register' => $info->house_register,
'edu_type' => $info->edu_type == 1 ? '全日制教育' : '在职教育',
'education' => $info->education,
'school' => $info->school,
'degree' => $info->degree,
'pro' => $info->pro,
'address' => $info->address,
'card' => $info->card,
'mobile' => $info->mobile,
'email' => $info->email,
'concat_name' => $info->concat_name,
'concat_mobile' => $info->concat_mobile,
'resume' => $info->resume,
'training' => $info->training,
'rewards_and_punishments' => $info->rewards_and_punishments,
'introduce' => $info->introduce,
],
'id' => $info->id,
];
$recruit = DB::table('recruit')->where('id', $info->rid)->first();
$this->fetch_word($word, $info->avatar, $recruit->name);
$data['status'] = 1;
$data['check'] = 2;
$this->smsService->sendSms($info->mobile, 'sms_register_success', []);
} else {
$data['status'] = 0;
$data['check'] = 1;
$this->smsService->sendSms($info->mobile, 'sms_register_fail', ['msg' => $request->input('remark')]);
}
$data['check_time'] = time();
$data['remark'] = $request->input('remark');
$data['ticket'] = $request->input('ticket', '');
$data['seat'] = $request->input('seat', '');
$data['ex_area'] = $request->input('ex_area', '');
$data['ex_name'] = $request->input('ex_name', '');
$data['ex_address'] = $request->input('ex_address', '');
$data['ex_time'] = $request->input('ex_time', '');
$data['ex_subject'] = $request->input('ex_subject', '');
DB::table('recruit_entry')->where('id', $id)->update($data);
$res = [
'status' => 1,
'data' => [
'id' => $info->rid,
],
'msg' => '审核成功',
];
return response()->json($res);
}
/**
* 大学生专用报名保存
* @param Request $request
* @return \Illuminate\Http\JsonResponse
*/
public function internship_save(Request $request)
{
$user = parent::getLoginUser();
if (!$user) {
return response()->json(['isLogin' => 0, 'status' => 0, 'user' => null]);
} else {
$uid = $user->id;
}
if (time() > 1592904600) {
return response()->json(['status' => 0, 'msg' => '报名已截止']);
}
//$uid = 1;
$rules = [
'realname' => 'required',
'sex' => 'required',
'birthday' => 'required',
'nation' => 'required',
'native_place' => 'required',
'political_attitudes' => 'required',
'healthy' => 'required',
'mobile' => 'required',
'card' => 'required',
'school' => 'required',
'department' => 'required',
'pro' => 'required',
'class' => 'required',
'concat_name' => 'required',
'concat_relationship' => 'required',
'concat_mobile' => 'required',
'enterprise' => 'required',
'post' => 'required',
'code' => 'required',
'adjust' => 'required',
'edu' => 'required',
'resume' => 'required',
'self_evaluation' => 'required',
'avatar' => 'required',
'front_card' => 'required',
'back_card' => 'required',
'student_img' => 'required',
];
$messages = [
'realname.required' => '请填写姓名',
'sex.required' => '请填写性别',
'birthday.required' => '请填写出生日期',
'nation.required' => '请填写民族',
'native_place.required' => '请填写籍贯',
'political_attitudes.required' => '请填写政治面貌',
'healthy.required' => '请输入健康状况',
'mobile.required' => '请填写手机号码',
'card.required' => '请填写身份证号码',
'school.required' => '请输入毕业院校',
'department.required' => '请输入院系',
'pro.required' => '请输入专业',
'class.required' => '请选择年级',
'concat_name.required' => '请填写联系人姓名',
'concat_relationship.required' => '请填写联系人关系',
'concat_mobile.required' => '请填写联系人手机号码',
'enterprise' => '请填写报名单位',
'post.required' => '请填写报名岗位',
'code' => '请填写岗位编号',
'adjust.required' => '请选择是否接受调剂',
'edu.required' => '请填写学习经历',
'resume.required' => '请填写个人简历',
'self_evaluation.required' => '请简单做下自我评价',
'avatar.required' => '请上传1寸彩色免冠照',
'front_card.required' => '请上传身份证正面照',
'back_card.required' => '请上传身份证反面照',
'student_img' => '请上传学生证',
];
$res = [
'status' => 0,
'data' => '',
'msg' => '',
];
$create_data = $request->all();
$validator = Validator::make($create_data, $rules, $messages);
if ($validator->fails()) {
$msg = $validator->errors()->all();
$res['msg'] = $msg[0];
echo json_encode($res);
} else {
$data = $request->only('realname', 'sex', 'birthday', 'avatar', 'nation', 'native_place', 'political_attitudes', 'titles', 'healthy', 'school', 'department', 'pro', 'class', 'card', 'mobile', 'concat_name', 'concat_relationship', 'concat_mobile', 'adjust', 'resume', 'edu', 'self_evaluation', 'front_card', 'back_card', 'student_img', 'operation', 'rid', 'id', 'enterprise', 'post', 'code');
//对入库数据处理
$data['birthday'] = strtotime($data['birthday']);
if ($data['operation'] == 2) {
$data['status'] = 1;
$data['check'] = 0;
$msg = '报名成功,请等待审核';
} else {
$data['status'] = 0;
$msg = '保存成功';
}
unset($data['operation']);
if (array_key_exists('id', $data) && $data['id'] > 0) {
//如果已经存在记录
$id = $data['id'];
$info = DB::table('recruit_internship')->where('id', $id)->where('uid', $uid)->first();
if (!$info) {
return response()->json(['status' => 0, 'msg' => '没有权限修改']);
}
unset($data['id']);
DB::table('recruit_internship')->where('id', $id)->update($data);
} else {
$data['uid'] = $uid;
$id = DB::table('recruit_internship')->insertGetId($data);
}
$res = [
'status' => 1,
'data' => $id,
'msg' => $msg,
];
echo json_encode($res);
}
}
/**
* 报名信息的审核(大学生实习)
* @param Request $request
* @return \Illuminate\Http\JsonResponse
*/
public function check_user_internship(Request $request)
{
$user = parent::getLoginUser();
if (!$user) {
return response()->json(['isLogin' => 0, 'status' => 0, 'user' => null, 'msg' => '您尚未登录']);
}
$admin = ['59041', '164809', '164189', '164601'];
if (!in_array($user->id, $admin)) {
return response()->json(['isLogin' => 1, 'status' => 0, 'user' => null, 'msg' => '您没有权限', 'url' => 'http://www.jucai.gov.cn']);
}
$id = $request->input('id');
if (!$id) {
$res = [
'status' => 0,
'data' => '',
'msg' => '请指定审核数据',
];
return response()->json($res);
}
$info = DB::table('recruit_internship')->where('id', $id)->first();
if (!$info) {
$res = [
'status' => 0,
'data' => '',
'msg' => '指定审核的数据不存在',
];
return response()->json($res);
}
$status = $request->input('status');
if ($status) {
$data['status'] = 1;
$data['check'] = 2;
} else {
$data['status'] = 0;
$data['check'] = 1;
}
$data['check_time'] = time();
$data['remark'] = $request->input('remark', '');
$data['ticket'] = $request->input('ticket', '');
$data['seat'] = $request->input('seat', '');
$data['ex_area'] = $request->input('ex_area', '');
$data['ex_name'] = $request->input('ex_name', '');
$data['ex_address'] = $request->input('ex_address', '');
$data['ex_time'] = $request->input('ex_time', '');
$data['ex_subject'] = $request->input('ex_subject', '');
DB::table('recruit_internship')->where('id', $id)->update($data);
$res = [
'status' => 1,
'data' => [
'id' => $info->rid,
],
'msg' => '审核成功',
];
return response()->json($res);
}
/**
* 大学生实习专场的详情
* @param Request $request
* @return \Illuminate\Http\JsonResponse
*/
public function get_internship_detail(Request $request)
{
$user = parent::getLoginUser();
if (!$user) {
return response()->json(['isLogin' => 0, 'status' => 0, 'user' => null, 'msg' => '您尚未登录']);
}
$admin = ['59041', '164809', '164189', '164601'];
if (!in_array($user->id, $admin)) {
return response()->json(['isLogin' => 1, 'status' => 0, 'user' => null, 'msg' => '您没有权限', 'url' => 'http://www.jucai.gov.cn']);
}
$id = $request->input('id');
$title = $request->input('title');
$status = $request->input('status', 99);
$page = $request->input('page', 1);
if (!$id) {
$res = [
'status' => 0,
'data' => [],
'msg' => '参数错误',
];
return response()->json($res);
}
$where = [
['rid', $id],
];
if (!empty($title)) {
$where[] = ['realname', 'like', "%{$title}%"];
}
if ($status != "99") {
if ($status) {
$where[] = ['check', '>', 0];
} else {
$where[] = ['check', '=', 0];
}
}
$total = DB::table('recruit_internship')->where($where)->count();
$list = DB::table('recruit_internship')->where($where)->offset(10 * ($page - 1))->limit(10)->get()->toArray();
$data = [];
if ($list) {
// $enterprise = DB::table('recruit_enterprise')->pluck('label', 'id');
// $enterprise_post = DB::table('recruit_enterprise_post')->where('rid',$id)->selectRaw('id, CONCAT(code," ",name) as post')->pluck('post', 'id');
foreach ($list as $k => $v) {
$item = [
'id' => $v->id,
'avatar' => $v->avatar,
'realname' => $v->realname,
'sex' => $v->sex == 1 ? '男' : '女',
'birthday' => date("Y-m-d", $v->birthday),
'phone' => $v->mobile,
'school' => $v->school,
'department' => $v->department,
'pro' => $v->pro,
'enterprise' => $v->enterprise,
'post' => $v->post,
];
switch ($v->class) {
case '1':
$item['class'] = '大三在校生';
break;
case '2':
$item['class'] = '大四在校生';
break;
case '3':
$item['class'] = '硕士在校生';
break;
case '4':
$item['class'] = '博士在校生';
break;
default:
$item['class'] = '';
break;
}
// $item['enterprise'] = $enterprise[$v->enterprise];
// $item['post'] = $enterprise_post[$v->post];
array_push($data, $item);
}
}
$res = [
'status' => 1,
'data' => [
'list' => $data,
'total' => $total,
],
'msg' => '',
];
exit(json_encode($res));
}
public function get_sign_form(Request $request)
{
$id = $request->input('id');
if (!$id) {
$res = [
'status' => 0,
'data' => '',
'msg' => '请指定考场',
];
return response()->json($res);
}
$info = DB::table('recruit')->find($id);
if (!$info) {
$res = [
'status' => 0,
'data' => '',
'msg' => '找不到该记录,请刷新页面',
];
return response()->json($res);
} else {
$alias = $info->alias;
$list = DB::table('recruit_' . $alias)->where('rid', $id)->where('ticket', '!=', '')->orderByRaw('seat+0 asc')->get();
$res = [
'status' => 1,
'data' => $list,
'msg' => '查询成功',
];
return response()->json($res);
}
}
public function fetch_word($data = null, $avatar = '', $title = '')
{
if ($data != null) {
//指定模板文件
$templateProcessor = new TemplateProcessor(base_path() . '/public/word/example.docx');
//通过setValue 方法给模板赋值
$templateProcessor->setValue('title', $title);
$data['data']['resume'] = str_replace("\r\n", '', $data['data']['resume']);
$data['data']['training'] = str_replace("\r\n", '', $data['data']['training']);
$data['data']['rewards_and_punishments'] = str_replace("\r\n", '', $data['data']['rewards_and_punishments']);
$data['data']['introduce'] = str_replace("\r\n", '', $data['data']['introduce']);
foreach ($data['data'] as $k => $v) {
$templateProcessor->setValue($k, $v);
}
$family = DB::table('recruit_family')->where('eid', $data['id'])->get()->toArray();
if ($family) {
$count = count($family);
$templateProcessor->cloneRow('family_appellation', $count);
$i = 1;
foreach ($family as $k => &$v) {
$templateProcessor->setValue('family_appellation#' . $i, $v->appellation);
$templateProcessor->setValue('family_realname#' . $i, $v->realname);
$templateProcessor->setValue('family_birthday#' . $i, date("Y-m-d", $v->birthday));
$templateProcessor->setValue('family_political_attitudes#' . $i, $v->political_attitudes);
$templateProcessor->setValue('family_work#' . $i, $v->work);
$i++;
}
}
$templateProcessor->setImageValue('avatar', ['src' => $avatar]);
$filename = uniqid();
$word_url = "/word/{$filename}.docx";
DB::table('recruit_entry')->where('id', $data['id'])->update(['word_url' => $word_url]);
$templateProcessor->saveAs(base_path() . '/public' . $word_url);//另存为
}
}
public function word_to_zip()
{
}
public function strtotime($time)
{
$result = strtotime($time);
if (empty($result)) {
$date = new \DateTime($time);
$result = $date->format('U');
}
return $result;
}
public function date($utc_time)
{
$mydate2 = new \DateTime('@' . $utc_time);
return $mydate2->format('Y-m-d');
}
public function export(Request $request)
{
$res = $this->userCheck();
if (!$res['ret']) {
return response()->json($res);
}
$rid = $request->input('rid');
$recruit = DB::table('recruit')->find($rid);
if (!$recruit) {
throw new ResponseException('指定的招聘场次不存在!', [], 404);
}
$post = DB::table('recruit_post1')->where('rid', $rid)->selectRaw('id, CONCAT(code," ",name) as post')->pluck('post', 'id');
if (!$post) {
throw new ResponseException('招聘岗位丢失,请检查!', [], 404);
}
$list = DB::table('recruit_entry')->where('rid', $rid)->orderBy('id', 'desc')->get()->toArray();
if (!$list) {
throw new ResponseException('太遗憾了,还没有人报名!', [], 404);
}
foreach ($list as &$item) {
$item->post = $post[$item->post_id];
$family = DB::table('recruit_family')->where('eid', $item->id)->get()->toArray();
$family_arr = [];
foreach ($family as $k => $v) {
$birthday = date("Y-m-d", $v->birthday);
$str = "{$v->appellation} {$v->realname} {$birthday} {$v->political_attitudes} {$v->work}";
array_push($family_arr, $str);
}
$item->family = implode("\r\n", $family_arr);
}
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$header = ['姓名', '性别', '生日', '头像', '民族', '籍贯', '参加工作时间', '政治面貌', '入党时间', '职称或职业资格', '现工作单位及职务', '户籍所在地', '教育类型', '学历', '学校', '学位', '所学专业', '通信地址', '身份证号码', '联系电话', '电子邮箱', '紧急联系人', '紧急联系电话', '个人简历', '培训学习经历', '奖惩情况', '个人介绍', '家庭成员及其社会关系', '身份证正面', '身份证反面', '毕业证书', '学位证书', '学信网《教育部学历证书电子注册备案表》', '职(执)业资格证书、专业技术资格(职务)证书扫描件', '工作经历证明', '状态', '审核意见', 'word简历的下载地址', '准考证是否打印'];
foreach ($header as $key => $value) {
$sheet->setCellValueByColumnAndRow($key + 1, 1, $value);
}
$row = 2;
$sheet->getStyle('S')->getNumberFormat()->setFormatCode('0');
$length = count($list);//算出该数组的长度
$last = $list[$length - 1];//取出最后一个数组的值,复制给新变量,-1是因为第一个数组元素下表为0
unset($list[$length - 1]);//将最后一个数组注销
$list[] = $last;//再将新变量加入到数组里
foreach ($list as $item) {
$sheet->setCellValueByColumnAndRow(1, $row, $item->realname);
$sheet->setCellValueByColumnAndRow(2, $row, $item->sex == 0 ? '女' : '男');
$sheet->setCellValueByColumnAndRow(3, $row, date("Y-m-d", $item->birthday));
$sheet->setCellValueByColumnAndRow(4, $row, $item->avatar);
$sheet->setCellValueByColumnAndRow(5, $row, $item->nation);
$sheet->setCellValueByColumnAndRow(6, $row, $item->native_place);
$sheet->setCellValueByColumnAndRow(7, $row, $item->post);
$sheet->setCellValueByColumnAndRow(8, $row, $item->political_attitudes);
$sheet->setCellValueByColumnAndRow(9, $row, $item->join_time);
$sheet->setCellValueByColumnAndRow(10, $row, $item->titles);
$sheet->setCellValueByColumnAndRow(11, $row, $item->work);
$sheet->setCellValueByColumnAndRow(12, $row, $item->house_register);
$sheet->setCellValueByColumnAndRow(13, $row, $item->edu_type == 1 ? '全日制教育' : '在职教育');
$sheet->setCellValueByColumnAndRow(14, $row, $item->education);
$sheet->setCellValueByColumnAndRow(15, $row, $item->school);
$sheet->setCellValueByColumnAndRow(16, $row, $item->degree);
$sheet->setCellValueByColumnAndRow(17, $row, $item->pro);
$sheet->setCellValueByColumnAndRow(18, $row, $item->address);
$sheet->setCellValueExplicitByColumnAndRow(19, $row, $item->card, DataType::TYPE_STRING);
$sheet->setCellValueExplicitByColumnAndRow(20, $row, $item->mobile, DataType::TYPE_STRING);
$sheet->setCellValueByColumnAndRow(21, $row, $item->email);
$sheet->setCellValueByColumnAndRow(22, $row, $item->concat_name);
$sheet->setCellValueExplicitByColumnAndRow(23, $row, $item->concat_mobile, DataType::TYPE_STRING);
$sheet->setCellValueByColumnAndRow(24, $row, $item->resume);
$sheet->setCellValueByColumnAndRow(25, $row, $item->training);
$sheet->setCellValueByColumnAndRow(26, $row, $item->rewards_and_punishments);
$sheet->setCellValueByColumnAndRow(27, $row, $item->introduce);
$sheet->setCellValueByColumnAndRow(28, $row, $item->family);
$sheet->setCellValueByColumnAndRow(29, $row, $item->front_card);
$sheet->setCellValueByColumnAndRow(30, $row, $item->back_card);
$sheet->setCellValueByColumnAndRow(31, $row, $item->diploma_img);
$sheet->setCellValueByColumnAndRow(32, $row, $item->degree_img);
$sheet->setCellValueByColumnAndRow(33, $row, $item->xuexin_img);
$sheet->setCellValueByColumnAndRow(34, $row, $item->work_pro_img);
$sheet->setCellValueByColumnAndRow(35, $row, $item->work_approve);
if ($item->status == 0) {
if ($item->check == 0) {
$status = '只是暂存,尚未提交';
} else {
$status = '审核未通过';
}
} else {
if ($item->check == 0) {
$status = '待审核';
} else {
$status = '审核通过';
}
}
$sheet->setCellValueByColumnAndRow(36, $row, $status);
$sheet->setCellValueByColumnAndRow(37, $row, $item->remark);
$sheet->setCellValueByColumnAndRow(38, $row, empty($item->word_url) ? '' : "http://www.jucai.gov.cn/" . $item->word_url);
$sheet->setCellValueByColumnAndRow(38, $row, $item->ticket_status == 0 ? '未打印' : "已打印");
$row++;
}
$file_name = $recruit->name . date("Y-m-d", time());
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="' . $file_name . '.xlsx"');
header('Cache-Control: max-age=0');
// If you're serving to IE 9, then the following may be needed
header('Cache-Control: max-age=1');
// If you're serving to IE over SSL, then the following may be needed
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); // always modified
header('Cache-Control: cache, must-revalidate'); // HTTP/1.1
header('Pragma: public'); // HTTP/1.0
$writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
$writer->save('php://output');
}
public function look_ticket(Request $request)
{
$user = $this->getSignupUser();
$uid = $user->id;
DB::table('recruit_entry')->where('uid', $uid)->update(['ticket_status' => 1]);
}
public function ticket_download(Request $request)
{
$user = $this->getSignupUser();
$uid = $user->id;
$info = DB::table('recruit_entry')->where('uid',$uid)->where('rid',6)->first();
$ticket = DB::table('wy_face')->where('card',$info->card)->first();
if($ticket){
$res = [
'status' => 1,
'data' => '/pdf/wyticket_' . $ticket->realname . '_' . $ticket->card.'_' . $ticket->post . '.pdf',
'msg' => '查询成功',
];
return response()->json($res);
}else{
$res = [
'status' => 0,
'data' => '',
'msg' => '暂无面试准考证需打印',
];
return response()->json($res);
}
}
}