public function listResults() { $this->layout = 'ajax'; if (isset($this->request->query['stu_number'])) { $stu_numbers = $this->request->query['stu_number']; } else { // $stu_numbers='201420102'; die; } if (isset($stu_numbers)) { App::import('Controller', 'CoursePlans'); $CoursePlan = new CoursePlansController(); $allCoursePlans = $CoursePlan->listAllCoursePlans(1); App::import('Controller', 'Students'); $Student = new StudentsController(); // $electives=$this->Elective->find('all' ,array( // 'conditions'=>array( // 'elective.stu_number'=>$Student->stuNumbers($stu_numbers) // // 'elective.stu_number'=>$stu_numbers // ) // ) // ); // debug($allCoursePlans); $scores = $this->Score->find('all', array('conditions' => array('Score.stu_number' => $Student->stuNumbers($stu_numbers)))); $Compound_scores = array(); $idx = 0; foreach ($scores as $score) { // debug($score); foreach ($allCoursePlans as $oneCoursePlan) { if ($score['CoursePlan']['id'] == $oneCoursePlan['CoursePlan']['id']) { $Compound_scores[$idx]['CoursePlan'] = $oneCoursePlan['CoursePlan']; $Compound_scores[$idx]['Score'] = $score['Score']; $Compound_scores[$idx]['Student'] = $score['Student']; $Compound_scores[$idx]['Course'] = $oneCoursePlan['Course']; $Compound_scores[$idx]['Semester'] = $oneCoursePlan['Semester']; $Compound_scores[$idx]['Semester'] = $oneCoursePlan['Semester']; $Compound_scores[$idx]['Department'] = $oneCoursePlan['Department']; } } $idx++; } // debug($Compound_scores); $this->set('scores', $Compound_scores); } }
public function import($department_id = null, $semester_id = null) { // debug($_FILES); $this->layout = 'ajax'; //* extjs的上传 */ if ($this->request->is('post')) { if ($_FILES['import']['error'] > 0) { $error = $_FILES['import']['error']; $response = array('success' => false, 'msg' => $error); echo json_encode($response); } else { $file_name = $_FILES['import']['name']; $file_type = $_FILES['import']['type']; $file_size = round($_FILES['import']['size'] / 1024, 2) . ' Kilo Bytes'; $uploaddir = WWW_ROOT . "uploads/"; //debug(WWW_ROOT); /*取时间戳为文件名*/ $name = basename($_FILES['import']['name']); $name = $this->rm($name); //debug($name); $uploadfile = $uploaddir . $name; // /*取原名为文件名*/ //$uploadfile = $uploaddir . basename($_FILES['import']['name']); /* 如果上传文件名有乱码 */ /* $uploadfile=iconv("utf-8","GBK", $uploadfile); */ if (move_uploaded_file($_FILES['import']['tmp_name'], $uploadfile)) { // echo "File is valid, and was successfully uploaded.\n";} //debug($uploadfile); $data = $this->showXls($uploadfile, $department_id, $semester_id); $dataLength = count($data); // debug($data); $elective_data = array(); foreach ($data as $value) { $stu_number = $value['stu_number']; $course_id = $value['course']; $elective_data[$stu_number] = $course_id; // debug($value); } // debug($elective_data); $this->Elective->unbindModel(array('belongsTo' => array('CoursePlan', 'Course', 'Student'))); App::import('Controller', 'CoursePlans'); $CoursePlan = new CoursePlansController(); $coursepalns = $CoursePlan->listCoursePlans($department_id, $semester_id, null, 2, true); foreach ($coursepalns as $courseplan) { $courseplan_id[] = $courseplan['CoursePlan']['id']; } $Department = new Department(); $depts = $Department->read('dept_number', $department_id); $options = array('conditions' => array('stu_number like' => $depts['Department']['dept_number'] . '%', 'course_plan_id' => $courseplan_id)); // debug($options); $stu_electiv_namelist = $this->Elective->find('all', $options); // debug($stu_electiv_namelist); $num_of_success = 0; $data = array(); foreach ($stu_electiv_namelist as $idx => $record) { // debug($student_record); $id = $record['Elective']['id']; $stu_number = $record['Elective']['stu_number']; $data[$idx]['id'] = $id; $data[$idx]['stu_number'] = $stu_number; if (isset($elective_data[$stu_number])) { $data[$idx]['course_id'] = $elective_data[$stu_number]; $elective_data[$stu_number] == 0 ?: $num_of_success++; } } // debug($data); if ($this->Elective->saveAll($data)) { // echo 'ok'; $success = true; } else { // echo 'no'; $success = false; } $response = array('success' => true, 'data' => array('name' => $file_name, 'size' => $file_size), 'msg' => '上传了' . $dataLength . '条记录,成功导入了' . $num_of_success . '条记录。'); echo json_encode($response); } } } die; }