Esempio n. 1
0
 /**
  * 获取某期考试 按照地域分类,从高->低
  * note:
  * 		关联表: rd_exam_place rd_school
  */
 private static function _get_exam_papers($exam_pid = 0)
 {
     $exam_pid = intval($exam_pid);
     if (!$exam_pid) {
         return array();
     }
     if (self::$_exam_paper_data) {
         return self::$_exam_paper_data;
     }
     $db = Fn::db();
     $sql = "SELECT * FROM v_summary_region_exam_paper\n                WHERE exam_pid={$exam_pid}\n                ";
     $query = $db->query($sql);
     $data = array();
     //自由考试根据评估规则对比等级生成统计信息
     $sql = "SELECT comparison_level FROM rd_evaluate_rule er\n                LEFT JOIN rd_exam e ON e.exam_id = er.exam_pid\n                WHERE er.exam_pid = {$exam_pid} AND e.exam_isfree = 1";
     $comparison_level = $db->fetchOne($sql);
     if (strlen($comparison_level) > 0) {
         $comparison_level = explode(',', $comparison_level);
     }
     while ($item = $query->fetch(PDO::FETCH_ASSOC)) {
         self::$_exam_paper_ids[] = $item['paper_id'];
         if ($comparison_level) {
             $tmp_arr = array();
             if (in_array(0, $comparison_level) || in_array(-1, $comparison_level)) {
                 $tmp_arr[] = 1;
             }
             if (in_array(1, $comparison_level)) {
                 $tmp_arr[] = $item['province'];
             }
             if (in_array(2, $comparison_level)) {
                 $tmp_arr[] = $item['city'];
             }
             if (in_array(3, $comparison_level)) {
                 $tmp_arr[] = $item['area'];
             }
             if (in_array(100, $comparison_level)) {
                 $tmp_arr[] = 'school' . $item['school_id'];
             }
             $data[$item['exam_id']][$item['paper_id']][] = $tmp_arr;
         } else {
             $arr = array(0 => 1, 1 => $item['province'], 2 => $item['city'], 3 => $item['area'], 4 => 'school' . $item['school_id']);
             if ($item['place_schclsid'] > 0) {
                 $arr[5] = 'class' . $item['place_schclsid'];
             }
             $data[$item['exam_id']][$item['paper_id']][] = $arr;
         }
     }
     self::$_exam_paper_data = $data;
     return $data;
 }