isLogin() || !parent::model('AdminMenu')->is_url())exit('您无权访问该页面!'); $this->teacher=parent::model('BlogTeacher'); $this->classes=parent::model('BlogClasses'); $this->school=parent::model('BlogSchool'); $this->jingli=parent::model('BlogTeacherJingli'); $this->student=parent::model('BlogStudent'); $this->pinggu=parent::model('AsMoon'); } public function school(){ $this->title='学校列表'; $school_list=$this->school->field('s.id,s.name as school_name,count(t.id) as teacher_counts')->from($this->school->tableName().' s') ->join($this->teacher->tableName().' t','t.school_id=s.id','left') ->where(array('s.status'=>1,'t.status'=>1))->group('s.id')->select(); foreach($school_list as $k=>$v){ $school_list[$k]['classes_counts'] =$this->classes->where(array('school_id'=>$v['id'],'status'=>1))->counts(); $school_list[$k]['student_counts']=$this->student->where(array('school_id'=>$v['id'],'status'=>1))->counts(); } $data['list']=$school_list; parent::render('personnel/school',$data); } public function classes(){ $this->title='班级列表'; $sid=$_GET['id']; $classes_list=$this->classes->field('c.id,c.catoon_name,c.open_time,count(t.id) as teacher_counts')->from($this->classes->tableName().' c') ->join($this->teacher->tableName().' t','t.classes_id=c.id','left') ->where(array('c.school_id'=>$sid,'c.status'=>1))->group('c.id')->select(); foreach($classes_list as $k=>$v){ $classes_list[$k]['student_counts']=$this->student->where(array('classes_id'=>$v['id'],'status'=>1))->group('c.id')->counts(); } $data['list']=$classes_list; parent::render('personnel/classes',$data); } public function myclasses(){ $this->title='我的班级'; $admin=parent::model('Admin')->getOne(Session::get('sp_id')); $sid=$admin['agent_id']; $classes_list=$this->classes->field('c.id,c.catoon_name,c.open_time,count(t.id) as teacher_counts')->from($this->classes->tableName().' c') ->join($this->teacher->tableName().' t','t.classes_id=c.id','left') ->where(array('c.school_id'=>$sid,'t.status'=>1))->group('c.id')->select(); foreach($classes_list as $k=>$v){ $classes_list[$k]['student_counts']=$this->student->where(array('classes_id'=>$v['id'],'status'=>1))->counts(); } $data['list']=$classes_list; parent::render('personnel/myclasses',$data); } public function pinggu(){ if($_POST){ $_POST['chuqin']=str_replace('%','',$_POST['chuqin']); $info=$this->pinggu->where(array('year'=>$_POST['year'],'moon'=>$_POST['moon'],'classes_id'=>$_GET['id']))->find(); if($info){ $this->pinggu->where('id',$info['id'])->update(array('chuqin'=>$_POST['chuqin'])); }else{ $_POST['classes_id']=$_GET['id']; $this->pinggu->insert($_POST); } } $this->title='月度评估'; $data['list']=$this->pinggu->where('classes_id',$_GET['id'])->select(); parent::render('personnel/pinggu',$data); } public function tpinggu(){ $this->tmoon=parent::model('AsTmoon'); if($_POST){ $info=$this->tmoon->where(array('year'=>$_POST['year'],'moon'=>$_POST['moon'],'teacher_id'=>$_GET['id']))->find(); $gongzi=$this->teacher->field('jiangjin,guding')->where('id',$_GET['id'])->find(); $guding=$gongzi['guding']; $jiangjin=explode(',',$gongzi['jiangjin']); //优秀 if($_POST['shijian']=0 && $_POST['chuqin']>=90 && $_POST['shigu']==0 && $_POST['guifan']>=2){ $_POST['gongzi']=$guding+$jiangjin[2]; $_POST['level']='优秀'; $_POST['jiangjin']=$jiangjin[2]; //良好 }elseif($_POST['shijian']=0 && $_POST['chuqin']>=85 && $_POST['shigu']==0 && $_POST['guifan']>=2){ $_POST['gongzi']=$guding+$jiangjin[1]; $_POST['level']='良好'; $_POST['jiangjin']=$jiangjin[1]; //一般 }elseif($_POST['shijian']<=3 && $_POST['chuqin']>=70 && $_POST['shigu']==0 && $_POST['guifan']>=1){ $_POST['gongzi']=$guding+$jiangjin[0]; $_POST['level']='一般'; $_POST['jiangjin']=$jiangjin[0]; //差 }else{ $_POST['gongzi']=$guding; $_POST['level']='差'; $_POST['jiangjin']=0; } if($info){ $this->tmoon->where('id',$info['id'])->update($_POST); }else{ $_POST['teacher_id']=$_GET['id']; $this->tmoon->insert($_POST); } } $data['list']=$this->tmoon->field('m.*,pg.chuqin') ->from($this->tmoon->tableName().' m') ->join($this->teacher->tableName().' t','t.id=m.teacher_id','left') ->join($this->pinggu->tableName().' pg','pg.classes_id=t.classes_id','left') ->where('teacher_id',$_GET['id'])->select(); $data['info']=$this->teacher->field('m.chuqin')->from($this->teacher->tableName().' t') ->join($this->pinggu->tableName().' m','m.classes_id=t.classes_id') ->where(array('t.id'=>$_GET['id'],'m.year'=>date('Y'),'m.moon'=>date('m')-1))->find(); $data['teacher']=$this->teacher->getOne($_GET['id']); parent::render('personnel/tpinggu',$data); } public function my(){ if(isset($_GET['download'])){ $list=$this->teacher->field('t.name,tm.shijia,m.chuqin,tm.guifan,tm.shigu,t.guding,tm.jiangjin,tm.gongzi')->from($this->teacher->tableName().' t ') ->join(parent::model('AsTmoon')->tableName().' tm','teacher_id=t.id','left') ->join($this->pinggu->tableName().' m','m.year=tm.year and m.moon=tm.moon','left') ->group('t.id')->order('t.id asc')->select(); array_unshift($list, array('姓名','教师出勤','班级出勤率','工作常规执行','事故','固定工资','奖金','实发')); $guifan=parent::model('AsTmoon')->guifan(); foreach($list as $k=>$v)$list[$k]['guifan']=$guifan[$v['guifan']]['name']; $exc=new Excel; $exc->create(date('Y').'-'.date('m')-1,$list); }elseif(parent::getIsAjaxRequest()){ if(isset($_POST['teacher_type_id'])){ $this->teacher->where('id',$_POST['tid'])->update(array('teacher_type_id'=>$_POST['teacher_type_id'])); }elseif(isset($_POST['school_id'])){ $re=$this->classes->getSchoolList($_POST['school_id']); $option=''; foreach($re as $v)$option.=""; echo $option; }elseif(isset($_POST['xueli_id'])){ $this->teacher->where('id',$_POST['tid'])->update(array('xueli_id'=>$_POST['xueli_id'])); }elseif(isset($_POST['did'])){ $this->teacher->where('id',$_POST['did'])->update(array('status'=>0,'quit_time'=>date('Y-m-d',time()),'quit_cause'=>$_POST['value'])); parent::model('BlogMember')->where('id',$_POST['did'])->update(array('status'=>0)); } }else{ $this->title='教师列表'; $p=$this->request->get('p',1); $size=20; if(isset($_GET['sid']))$data['classes_list']=$this->classes->getSchoolList($_GET['sid']); $where.='t.status=1'; $adminid = parent::model('Admin')->getOne(Session::get('sp_id')); $where .= ' and t.school_id='. $adminid['agent_id']; if($_GET['cid'])$where.=" and t.classes_id={$_GET['cid']}"; if($_GET['tid'])$where.=" and t.teacher_type_id={$_GET['tid']}"; if($_GET['teacher_name'])$where.=" and t.name like '%{$_GET['teacher_name']}%'"; $data['list']=$this->teacher->field('t.xueli_id,t.jiben,t.guding,c.classes_type,tp.name as teacher_type_name,c.classes_number,t.id,t.school_id,t.name,t.birthday,t.teacher_type_id,c.catoon_name as classes_name,t.classes_id,t.onboard_time,t.sex,t.country') ->from($this->teacher->tableName().' t') ->join($this->classes->tableName().' c','t.classes_id=c.id','left') ->join($this->school->tableName().' s','t.school_id=s.id','left') ->join(parent::model('BlogTeacherType')->tableName().' tp','t.teacher_type_id=tp.id','left') ->where($where)->limit(($p-1)*$size,$size)->select(); $pagenation=new Pagenation; $data['pagenation']=$pagenation->offset($p)->size($size)->counts($this->teacher->_counts())->get(); $data['teacher_type']=$this->teacher->types(); $data['country']=$this->teacher->country(); $data['xueli']=$this->teacher->xueli(); parent::render('personnel/teacher',$data); } } public function teacher(){ if(parent::getIsAjaxRequest()){ if(isset($_POST['teacher_type_id'])){ $this->teacher->where('id',$_POST['tid'])->update(array('teacher_type_id'=>$_POST['teacher_type_id'])); }elseif(isset($_POST['school_id'])){ $re=$this->classes->getSchoolList($_POST['school_id']); $option=''; foreach($re as $v)$option.=""; echo $option; }elseif(isset($_POST['xueli_id'])){ $this->teacher->where('id',$_POST['tid'])->update(array('xueli_id'=>$_POST['xueli_id'])); }elseif(isset($_POST['did'])){ $this->teacher->where('id',$_POST['did'])->update(array('status'=>0,'quit_time'=>date('Y-m-d',time()),'quit_cause'=>$_POST['value'])); } }else{ $this->title='教师列表'; $where='1'; $p=$this->request->get('p',1); $size=20; if($_GET['cid'])$where.=" and t.classes_id={$_GET['cid']}"; if($_GET['tid'])$where.=" and t.teacher_type_id={$_GET['tid']}"; if($_GET['teacher_name'])$where.=" and t.name like '%{$_GET['teacher_name']}%'"; if($_GET['sid'])$where.=" and t.school_id={$_GET['sid']}"; //$where['t.status']=1; $where .= ' and t.status=1'; // $where['t.school_id']=$admin['agent_id']; $data['list']=$this->teacher->field('t.xueli_id,t.jiben,t.guding,c.classes_type,tp.name as teacher_type_name,c.classes_number,t.id,t.school_id,t.name,t.birthday,t.teacher_type_id,c.catoon_name as classes_name,t.classes_id,t.onboard_time,t.sex,t.country') ->from($this->teacher->tableName().' t') ->join($this->classes->tableName().' c','t.classes_id=c.id','left') ->join($this->school->tableName().' s','t.school_id=s.id','left') ->join(parent::model('BlogTeacherType')->tableName().' tp','t.teacher_type_id=tp.id','left') ->where($where)->order('t.classes_id asc')->limit(($p-1)*$size,$size)->select(); $pagenation=new Pagenation; $data['pagenation']=$pagenation->offset($p)->size($size)->counts($this->teacher->_counts())->get(); $data['teacher_type']=$this->teacher->types(); $data['country']=$this->teacher->country(); $data['xueli']=$this->teacher->xueli(); $admin=parent::model('Admin')->getOne(Session::get('sp_id')); if($_GET['sid']){ $data['classes_list']=$this->classes->getSchoolList($_GET['sid']); } parent::render('personnel/teacher',$data); } } //添加老师 public function add(){ if(isset($_POST['j_username'])){ if(!parent::model('BlogMember')->where('username',$_POST['j_username'])->counts())echo 1; }elseif(parent::getIsAjaxRequest()){ $member=parent::model('BlogMember'); $_POST['classes_id']=implode(',',$_POST['classes_id']); $_POST['jiangjin']=implode(',',array($_POST['jiangjin1'],$_POST['jiangjin2'],$_POST['jiangjin3'])); $_POST['created_at']=time(); $_POST['status']=1; $_POST['type']=2; $_POST['seed']=rand(10000,99999); $_POST['password']=$member->enCodePassword('123456',$_POST['seed']); //默认密码都是123456 $id=$member->insert($_POST); if($id){ $_POST['id']=$id; $_POST['edu'] = serialize($_POST['jy']); $_POST['work'] = serialize($_POST['gz']); if($this->teacher->insert($_POST)!==false){ echo json_encode(array('message'=>'添加成功','type'=>1)); }else{ echo json_encode(array('message'=>'添加失败','type'=>0)); } }else{ echo json_encode(array('message'=>'添加失败','type'=>0)); } }else{ $this->title='添加教师'; $admin=parent::model('Admin')->getOne(Session::get('sp_id')); $data['school_id']=$admin['agent_id']; $data['classes_list']=$this->classes->getSchoolList($admin['agent_id']); $data['types']=$this->teacher->types(); $data['school_list']=$this->school->getList(); $data['xueli_list']=$this->teacher->xueli(); parent::render('personnel/teacher_action',$data); } } public function modify(){ if(parent::getIsAjaxRequest()){ $_POST['jiangjin']=implode(',',array($_POST['jiangjin1'],$_POST['jiangjin2'],$_POST['jiangjin3'])); $_POST['edu'] = serialize($_POST['jy']); $_POST['work'] = serialize($_POST['gz']); $id=$this->teacher->where('id',$_GET['id'])->update($_POST); if($id)echo json_encode(array('message'=>'修改成功','type'=>1)); else echo json_encode(array('message'=>'修改失败','type'=>2)); }else{ $this->title='信息修改'; $data['info']=$this->teacher->getOne($_GET['id']); $data['types']=$this->teacher->types(); $data['school_list']=$this->school->getList(); $data['xueli_list']=$this->teacher->xueli(); $data['classes_list']=$this->classes->getSchoolList($data['info']['school_id']); parent::render('personnel/teacher_modify',$data); } } //查看简历 public function read(){ $data['info']=$this->teacher->getOne($_GET['id']); $data['xueli']=$this->teacher->xueli(); parent::render('personnel/teacher_info',$data); } public function lizhi(){ $this->title='离职教师列表'; $data['list']=$this->teacher->where('status',0)->select(); $data['xueli']=$this->teacher->xueli(); $data['teacher_type']=$this->teacher->types(); parent::render('personnel/lizhi',$data); } //教育经历 public function jiaoyu(){ if(parent::getIsAjaxRequest()){ $_POST['type_id']=1; $_POST['teacher_id']=$id=$_GET['id']; $id=$this->jingli->insert($_POST); if($id)echo json_encode(array('message'=>'添加成功','type'=>1)); else echo json_encode(array('message'=>'添加失败','type'=>2)); }else{ $data['list']=$this->jingli->getJiaoyuList($_GET['id']); parent::render('personnel/jiaoyu',$data); } } //工作经历 public function gongzuo(){ if(parent::getIsAjaxRequest()){ $_POST['type_id']=2; $_POST['teacher_id']=$_GET['id']; $id=$this->jingli->insert($_POST); if($id)echo json_encode(array('message'=>'添加成功','type'=>1)); else echo json_encode(array('message'=>'添加失败','type'=>2)); }else{ $data['list']=$this->jingli->getGongzuoList($_GET['id']); parent::render('personnel/gongzuo',$data); } } //薪酬 public function xinchou(){ if(parent::getIsAjaxRequest()){ $_POST['type_id']=3; $_POST['teacher_id']=$_GET['id']; $id=$this->jingli->insert($_POST); if($id)echo json_encode(array('message'=>'添加成功','type'=>1)); else echo json_encode(array('message'=>'添加失败','type'=>2)); }else{ $data['list']=$this->jingli->getXinchouList($_GET['id']); parent::render('personnel/xinchou',$data); } } //证书 public function zhengshu(){ if(parent::getIsAjaxRequest()){ $_POST['type_id']=4; $_POST['teacher_id']=$_GET['id']; $id=$this->jingli->insert($_POST); if($id)echo json_encode(array('message'=>'添加成功','type'=>1)); else echo json_encode(array('message'=>'添加失败','type'=>0)); }else{ $data['list']=$this->jingli->getZhengshuList($_GET['id']); parent::render('personnel/zhengshu',$data); } } //合同 public function hetong(){ if(parent::getIsAjaxRequest()){ $_POST['type_id']=5; $_POST['created_at']=strtotime($_POST['created_at']); $_POST['teacher_id']=$_GET['id']; $id=$this->jingli->insert($_POST); if($id)echo json_encode(array('message'=>'添加成功','type'=>1)); else echo json_encode(array('message'=>'添加失败','type'=>0)); }else{ $data['list']=$this->jingli->getHetongList($_GET['id']); parent::render('personnel/hetong',$data); } } //调班 public function tiaoban(){ if(parent::getIsAjaxRequest()){ $ids=implode(',',$_POST['ids']); $is=$this->teacher->where('id',$_GET['id'])->update(array('classes_id'=>$ids)); if($is)echo json_encode(array('message'=>'修改成功','type'=>1)); else echo json_encode(array('message'=>'修改失败','type'=>0)); }else{ $id=$_GET['id']; $info=$this->teacher->getOne($id); $data['classes_list']=$this->classes->field('id,catoon_name')->where('school_id',$info['school_id'])->select(); $data['classes_id']=explode(',',$info['classes_id']); parent::render('personnel/tiaoban',$data); } } //在校期间更改 public function genggai(){ $this->genggai=parent::model('BlogGenggai'); if(parent::getIsAjaxRequest()){ $_POST['teacher_id']=$_GET['id']; if($_POST['classes_id'])$this->teacher->where('id',$_GET['id'])->update(array('classes_id'=>$_POST['classes_id'])); //学校ID if($_POST['school_id'])$this->teacher->where('id',$_GET['id'])->update(array('school_id'=>$_POST['school_id'])); //班级ID if($_POST['gangwei'])$this->teacher->where('id',$_GET['id'])->update(array('teacher_type_id'=>$_POST['gangwei'])); //岗位ID if($_POST['xueli'])$this->teacher->where('id',$_GET['id'])->update(array('xueli_id'=>$_POST['gangwei'])); //岗位ID $id=$this->genggai->insert($_POST); if($id)echo json_encode(array('message'=>'添加成功','type'=>1)); else echo json_encode(array('message'=>'添加失败','type'=>0)); }else{ $data['list']=$this->genggai->field('g.*,c.catoon_name')->from($this->genggai->tableName().' g') ->join($this->classes->tableName().' c','c.id=g.classes_id','left') ->group('g.id')->where('g.teacher_id',$_GET['id'])->select(); $data['info']=$this->teacher->getOne($_GET['id']); $data['types']=$this->teacher->types(); $data['school_list']=$this->school->getList(); $data['xueli_list']=$this->teacher->xueli(); parent::render('personnel/genggai',$data); } } public function zhuanzheng(){ if(parent::getIsAjaxRequest()){ $is = $this->teacher->where('id',$_POST['id'])->update(array('try_status'=>2)); if($is){ echo json_encode(array('message'=>'修改成功','type'=>1)); }else{ echo json_encode(array('message'=>'修改失败','type'=>0)); } }else{ $this->title = '即将转正人员'; $where = '((UNIX_TIMESTAMP()-UNIX_TIMESTAMP(j.start_time))/3600/24) >75'; $where .= ' and t.try_status = 1'; $data['list'] = $this->jingli->field('j.start_time,t.*')->from($this->jingli->tableName() . ' j') ->join($this->teacher->tableName() . ' t','j.teacher_id = t.id','left') ->where($where)->select(); parent::render('personnel/zhuanzheng',$data); } } public function xuqian(){ $this->title = "即将续签的"; $where = '((UNIX_TIMESTAMP()-UNIX_TIMESTAMP(j.end_time))/3600/24) < 16' $where .= ' and t.try.status = 2'; $data['list'] = $this->jingli->field('j.end_time,t.*')->from($this->jingli->tableName() . ' j') ->join($this->teacher->tableName() . ' t','j.teacher_id = t.id','left') ->where($where)->select(); parent::render('personnel/xuqian',$data); } }