|
@@ -146,6 +146,180 @@ class SpecialController extends Controller
|
|
->body(view('admin.special.index')->with(['grid' => $this->form()->render(), 'id' => '0']));
|
|
->body(view('admin.special.index')->with(['grid' => $this->form()->render(), 'id' => '0']));
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 更新报名场次信息
|
|
|
|
+ * @param $id
|
|
|
|
+ * @param Request $request
|
|
|
|
+ */
|
|
|
|
+ public function update($id, Request $request)
|
|
|
|
+ {
|
|
|
|
+ $verify = $this->Form()->getValidateInput();//这个方法会调用Form自带的验证和表单处理(文件上传等)验证错误会直接返回错误.不需要判断;
|
|
|
|
+ $postCode = $request->input('postcode', []);
|
|
|
|
+ $postName = $request->input('postname', []);
|
|
|
|
+ if (count($postCode) == 0 or (count($postCode) >= 1 and $postCode[0] == null)) {
|
|
|
|
+ return admin_toastr('请填写招考岗位', 'error');
|
|
|
|
+ }
|
|
|
|
+ if (count($postName) == 0 or (count($postName) >= 1 and $postName[0] == null)) {
|
|
|
|
+ return admin_toastr('请填写招考岗位名称', 'error');
|
|
|
|
+ }
|
|
|
|
+ $recruit_id = $id;
|
|
|
|
+ $recruit = Recruit::find($id);
|
|
|
|
+ if(!$recruit->special){
|
|
|
|
+ $this->show();
|
|
|
|
+ }
|
|
|
|
+ $data = [];
|
|
|
|
+ $data['name'] = $verify['name'];
|
|
|
|
+ $data['company'] = $verify['company'];
|
|
|
|
+ $data['name_en'] = (array_key_exists('name_en',$verify) && !empty($verify['name_en'])) ? $verify['name_en'] : uniqid();
|
|
|
|
+ if(array_key_exists('small_img',$verify)){
|
|
|
|
+ $data['small_img'] = $verify['small_img'];
|
|
|
|
+ }else{
|
|
|
|
+ $data['small_img'] = theme_asset('app/images/index/recruit_index.jpg');
|
|
|
|
+ }
|
|
|
|
+ $data['status'] = $verify['status'];
|
|
|
|
+ $data['show_report'] = $verify['show_report'];
|
|
|
|
+ $data['current'] = $verify['current'];
|
|
|
|
+ $data['step'] = implode(',',array_filter($verify['step']));
|
|
|
|
+ $data['apply_start'] = $verify['apply_start'] ? $verify['apply_start'] : null;//报名时间
|
|
|
|
+ $data['apply_end'] = $verify['apply_end'] ? $verify['apply_end'] : null;
|
|
|
|
+ $data['audit_start'] = $verify['audit_start'] ? $verify['audit_start'] : null;//审核时间
|
|
|
|
+ $data['audit_end'] = $verify['audit_end'] ? $verify['audit_end'] : null;
|
|
|
|
+ $data['preliminary_start'] = $verify['preliminary_start'] ? $verify['preliminary_start'] : null;//笔试时间
|
|
|
|
+ $data['preliminary_end'] = $verify['preliminary_end'] ? $verify['preliminary_end'] : null;
|
|
|
|
+ $data['computer_start'] = $verify['computer_start'] ? $verify['computer_start'] : null;//上机时间
|
|
|
|
+ $data['computer_end'] = $verify['computer_end'] ? $verify['computer_end'] : null;
|
|
|
|
+ $data['interview_start'] = $verify['interview_start'] ? $verify['interview_start'] : null;//面试时间
|
|
|
|
+ $data['interview_end'] = $verify['interview_end'] ? $verify['interview_end'] : null;
|
|
|
|
+ $data['reexamine_start'] = $verify['reexamine_start'] ? $verify['reexamine_start'] : null;//复试时间
|
|
|
|
+ $data['reexamine_end'] = $verify['reexamine_end'] ? $verify['reexamine_end'] : null;
|
|
|
|
+ $data['health_start'] = $verify['health_start'] ? $verify['health_start'] : null;//体检时间
|
|
|
|
+ $data['health_end'] = $verify['health_end'] ? $verify['health_end'] : null;
|
|
|
|
+ $data['political_start'] = $verify['political_start'] ? $verify['political_start'] : null;//政审时间
|
|
|
|
+ $data['political_end'] = $verify['political_end'] ? $verify['political_end'] : null;
|
|
|
|
+ $data['publicity_start'] = $verify['publicity_start'] ? $verify['publicity_start'] : null;//公示时间
|
|
|
|
+ $data['publicity_end'] = $verify['publicity_end'] ? $verify['publicity_end'] : null;
|
|
|
|
+ $data['supplement_start'] = $verify['supplement_start'] ? $verify['supplement_start'] : null;
|
|
|
|
+ $data['supplement_end'] = $verify['supplement_end'] ? $verify['supplement_end'] : null;
|
|
|
|
+ $data['introduction'] = $verify['introduction'];
|
|
|
|
+ $data['host_address'] = $verify['host_address'];
|
|
|
|
+ $data['contact'] = $verify['contact'];
|
|
|
|
+ $data['phone'] = $verify['phone'];
|
|
|
|
+ $data['ordid'] = $verify['ordid'];
|
|
|
|
+ $data['limit_times'] = $verify['limit_times'];
|
|
|
|
+ $data['post_times'] = $verify['post_times'];
|
|
|
|
+ $data['pay_switch'] = $verify['pay_switch'];
|
|
|
|
+ $data['forms'] = implode(',',array_filter($verify['forms']));
|
|
|
|
+ $data['pen_ticket_type'] = $verify['pen_ticket_type'];
|
|
|
|
+ $data['pen_ticket_content'] = $verify['pen_ticket_content'];
|
|
|
|
+ $data['pen_ticket_status'] = 0;
|
|
|
|
+ $data['pen_ticket_field'] = implode(',',$verify['pen_ticket_field']);
|
|
|
|
+ $data['pen_comfirm'] = $verify['pen_comfirm'];
|
|
|
|
+ $data['pen_comfirm_start'] = $verify['pen_comfirm_start'] ? $verify['pen_comfirm_start'] : null;
|
|
|
|
+ $data['pen_comfirm_end'] = $verify['pen_comfirm_end'] ? $verify['pen_comfirm_end'] : null;
|
|
|
|
+ $data['pen_epidemic'] = $verify['pen_epidemic'];
|
|
|
|
+ $data['pen_health'] = $verify['pen_health'];
|
|
|
|
+ $data['pen_health_start'] = $verify['pen_health_start'] ? $verify['pen_health_start'] : null;
|
|
|
|
+ $data['pen_health_end'] = $verify['pen_health_end'] ? $verify['pen_health_end'] : null;
|
|
|
|
+ $data['computer_ticket_type'] = $verify['computer_ticket_type'];
|
|
|
|
+ $data['computer_ticket_content'] = $verify['computer_ticket_content'];
|
|
|
|
+ $data['computer_ticket_status'] = 0;
|
|
|
|
+ $data['computer_ticket_field'] = implode(',',$verify['computer_ticket_field']);
|
|
|
|
+ $data['face_ticket_type'] = $verify['face_ticket_type'];
|
|
|
|
+ $data['face_ticket_content'] = $verify['face_ticket_content'];
|
|
|
|
+ $data['face_ticket_status'] = 0;
|
|
|
|
+ $data['face_ticket_field'] = implode(',',$verify['face_ticket_field']);
|
|
|
|
+ $data['face_epidemic'] = $verify['face_epidemic'];
|
|
|
|
+ $data['face_health'] = $verify['face_health'];
|
|
|
|
+ $data['face_health_start'] = $verify['face_health_start'] ? $verify['face_health_start'] : null;
|
|
|
|
+ $data['face_health_end'] = $verify['face_health_end'] ? $verify['face_health_end'] : null;
|
|
|
|
+ $data['reexamine_ticket_type'] = $verify['reexamine_ticket_type'];
|
|
|
|
+ $data['reexamine_ticket_content'] = $verify['reexamine_ticket_content'];
|
|
|
|
+ $data['reexamine_ticket_status'] = 0;
|
|
|
|
+ $data['reexamine_field'] = implode(',',$verify['reexamine_field']);
|
|
|
|
+ $ids = RecruitPost::where('recruit_id', $recruit_id)->pluck('id');
|
|
|
|
+ $fileCharater = $request->input('addFile');
|
|
|
|
+ $data['special'] = 0;
|
|
|
|
+
|
|
|
|
+ DB::beginTransaction();//检查数据库事务
|
|
|
|
+ try {
|
|
|
|
+ $res = Recruit::where('id', $recruit_id)->update($data);
|
|
|
|
+ $postcode_array = $request->postcode;
|
|
|
|
+ $postname_array = $request->postname;
|
|
|
|
+ $postnumber_array = $request->postnumber;
|
|
|
|
+ $limit_array = $request->postlimit;
|
|
|
|
+ $postid_arr = $request->postid_arr;
|
|
|
|
+ $countnum = count($postcode_array);
|
|
|
|
+ if ($countnum > 0) {
|
|
|
|
+ $ids = RecruitPost::where('recruit_id', $recruit_id)->pluck('id');
|
|
|
|
+ if (count($postid_arr) == 0) {//没有提交岗位代表删除岗位
|
|
|
|
+ RecruitPost::where('recruit_id', $recruit_id)->delete();
|
|
|
|
+ } else {
|
|
|
|
+ foreach ($ids as $key => $value) {
|
|
|
|
+ if (!in_array($value, $postid_arr)) {
|
|
|
|
+ $post_is_create = RecruitAppointInfo::where('post_id', $value)->first();
|
|
|
|
+ if (empty($post_is_create)) {
|
|
|
|
+ //有报名信息的岗位不能删除
|
|
|
|
+ RecruitPost::destroy($value);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ for ($i = 0; $i < $countnum; $i++) {
|
|
|
|
+ $data = array();
|
|
|
|
+ if ($postcode_array[$i] !== '' and $postname_array[$i] !== '') {
|
|
|
|
+ if (isset($postid_arr[$i])) {
|
|
|
|
+ $post_id = $postid_arr[$i];
|
|
|
|
+ $data['code'] = $postcode_array[$i];
|
|
|
|
+ $data['name'] = $postname_array[$i];
|
|
|
|
+ $data['number'] = $postnumber_array[$i];
|
|
|
|
+ $data['limit'] = $limit_array[$i];
|
|
|
|
+ $data['recruit_id'] = $recruit_id;
|
|
|
|
+ RecruitPost::where('id', $post_id)->update($data);
|
|
|
|
+ } else {
|
|
|
|
+ $data['code'] = $postcode_array[$i];
|
|
|
|
+ $data['name'] = $postname_array[$i];
|
|
|
|
+ $data['number'] = $postnumber_array[$i];
|
|
|
|
+ $data['limit'] = $limit_array[$i];
|
|
|
|
+ $data['recruit_id'] = $recruit_id;
|
|
|
|
+ RecruitPost::create($data);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ RecruitPost::where('recruit_id', $recruit_id)->delete();
|
|
|
|
+ }
|
|
|
|
+ $fileCharater = $request->file('addFile');
|
|
|
|
+ if (!empty($fileCharater)) {
|
|
|
|
+ RecruitSubjoin::where('recruit_id', $recruit_id)->delete();
|
|
|
|
+ foreach ($fileCharater as $f => $fv) {
|
|
|
|
+ $picpath = 'zhaokaopic/' . date('Ymd', time()) . '/';
|
|
|
|
+ //获取文件的扩展名
|
|
|
|
+ $ext = $fv->getClientOriginalExtension();
|
|
|
|
+ //获取文件的绝对路径
|
|
|
|
+ $path = $fv->getRealPath();
|
|
|
|
+ //定义文件名
|
|
|
|
+ $filename = time() . rand(100, 999) . '.' . $ext;
|
|
|
|
+ //存储文件。disk里面的public。总的来说,就是调用disk模块里的public配置
|
|
|
|
+ Storage::disk('public')->put($picpath . $filename, file_get_contents($path));
|
|
|
|
+ $data = $picpath . $filename;
|
|
|
|
+ $create_arr = [
|
|
|
|
+ 'recruit_id' => $recruit_id,
|
|
|
|
+ 'subjoin_name' => $fv->getClientOriginalName(),
|
|
|
|
+ 'subjoin_path' => $data,
|
|
|
|
+ 'subjoin_addtime' => time()
|
|
|
|
+ ];
|
|
|
|
+ RecruitSubjoin::create($create_arr);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ DB::commit();
|
|
|
|
+ return admin_toastr('操作成功!', 'success');
|
|
|
|
+
|
|
|
|
+ } catch (\Exception $e) {
|
|
|
|
+ DB::rollback();
|
|
|
|
+ return admin_toastr($e->getMessage(), 'error');
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 新增/修改招考场次的表单
|
|
* 新增/修改招考场次的表单
|
|
*
|
|
*
|