/** * 学生有申请的列表. * * @access public * @return void * @author Liuping <*****@*****.**> */ public function studentList() { // 允许申请的部门 $allowParts = AgentAuth::getAllowParts([AgentAuth::READ]); $part_ids = []; foreach ($allowParts as $row) { $part_ids[] = $row['id']; } $modelAppStatus = new ApplyStatusModel(); // 已有申请的年份 $allAppYears = $modelAppStatus->fetchApplyYears($part_ids); // 当前允许申请的年份 $allowAppYears = getApplyForYears(); // 从第几个年份显示 $_tmp_year = $allowAppYears[0]; // 增加一个 全部 的部门 array_unshift($allowParts, ['id' => '', 'name' => 'All']); // 默认显示的部门名称 $default_show_part_name = 'All'; // 页面展示的全部年份 $showYears = $allowAppYears; foreach ($allAppYears as $row) { $showYears[] = intval($row['year']); } $showYears = array_unique($showYears); // 去重 sort($showYears); // 排序 // 获取 左右 移动控制默认显示的第几页 $_tmp_key = array_search($_tmp_year, $showYears); // selectYear(integer), startDate(string), endDate(string), dept(integer), firstName(string), // familyName(string), birth(string) $defaultWhere = ['selectYear' => '', 'startDate' => '', 'endDate' => '', 'dept' => '', 'firstName' => '', 'familyName' => '', 'birth' => '']; // 列表数据 $lists = []; foreach ($showYears as $row) { $defaultWhere['selectYear'] = $row; $lists[$row] = $this->fetchApplyStuList($defaultWhere, TRUE, 20); // 替换分页请求的控制器为 ajaxGetStudentList $pageList = $lists[$row]['pageList']; $pageList = str_replace(ACTION_NAME, 'ajaxGetStudentList', $pageList); $lists[$row]['pageList'] = $pageList; } $this->assign('controlPage', $_tmp_key + 1); $this->assign('lists', $lists); $this->assign('defaultDeptName', $default_show_part_name); $this->assign('allowParts', $allowParts); $this->assign('showYears', $showYears); $this->display(); }
protected function forCasApplicationList($what) { $where['a.is_complete'] = 1; $where['a.is_del'] = 0; $where['a.a_no'] = array('EXP', 'IS NOT NULL'); $where['b.lang'] = 'en-us'; $where['a.c_status'] = array('GT', 0); //通过部门查询学生 if ($what['department'] != "") { $id = M('agent_part')->where(array('name' => $what['department']))->getField('id'); $uid = M('user_agent')->field('uid')->where(array('partID' => $id))->select(); if ($uid) { foreach ($uid as $rs) { $uidList[] = $rs['uid']; } $where['a.uid'] = array('IN', $uidList); } else { $where['a.uid'] = 0; } } //通过编辑时间查询学生 if ($what['startTime'] != "") { $makeTime = explode('/', $what['startTime']); $startTime = strtotime($makeTime[2] . $makeTime[1] . $makeTime[0] . ' 0:0:0'); } if ($what['endTime'] != "") { $makeTime = explode('/', $what['endTime']); $endTime = strtotime($makeTime[2] . $makeTime[1] . $makeTime[0] . ' 23:59:59'); } if ($startTime != "" && $endTime == '') { $where['a.e_time'] = array('EGT', $startTime); } if ($startTime == "" && $endTime != '') { $where['a.e_time'] = array('BETWEEN', array('1', $endTime)); } if ($startTime != "" && $endTime != '') { $where['a.e_time'] = array('BETWEEN', array($startTime, $endTime)); } //根据姓查询申请学生 if ($what['family_name'] != "") { $where['a.family_name'] = array('like', '%' . $what['family_name'] . '%'); } //根据名查询申请学生 if ($what['first_name'] != "") { $where['a.first_name'] = array('like', '%' . $what['first_name'] . '%'); } //根据申请编号查询申请学生 if ($what['reference'] != "") { $where['a.reference'] = array('like', $what['reference']); } //通过学校查询申请单 if ($what['university'] != "") { $us_id = M('universitylang')->where(array('name' => array("LIKE", "%" . $what['university'] . "%")))->getField('fid'); if ($us_id != "") { $where['a.us_id'] = $us_id; } else { $where['a.us_id'] = 0; } } //查询无效单 if ($what['invalid'] == 1) { $where['a.invalid'] = 1; } //初始状态设置 $this->assign('what', $what); // 有读取权限的部门列表 $allowDepts = AgentAuth::getAllowParts(['r']); $partInfo = []; // 有权限操作的部门键值对 id => name foreach ($allowDepts as $row) { $partInfo[$row['id']] = $row['name']; } unset($allowDepts); $ids = array_keys($partInfo); if (!empty($ids)) { $map['a.uid'] = session('uid'); $map['a.partid'] = array('IN', $ids); $map['_logic'] = 'or'; $where['_complex'] = $map; } else { $where['a.uid'] = session('uid'); } return $where; }