function instrument($type, $condition) { $paper = $item = array(); $line = ''; $item[] = $condition['client_name'] . '( 以下简称"委托人")因与' . $condition['opposite_side'] . $condition['opposite'] . '纠纷一案,聘请上海星瀚律师事务所(以下简称"律师事务所")的律师处理相关法律事宜,经双方协商一致,订立下列条款,共同遵照履行:'; $paper[] = $item; $item = array(); //添加一级段落 $item[] = '委托人委托律师事务所处理的事务内容为:'; $line = '诉讼阶段:'; $glue = ''; foreach ($condition['stages'] as $stage) { if ($stage != 'total') { $line .= $glue; $line .= $stage; $glue = ','; } } $line .= '(权限详见授权委托书)。'; $item[] = $line; $paper[] = $item; $item = array(); //添加一级段落 $line = '律师事务所指派'; $glue = ''; foreach ($condition['lawyer'] as $lawyer => $hourlyFee) { $line .= $glue; $line .= $lawyer; $glue = ','; } $line .= '作为本合同项下案件承办律师(以下简称"律师")。'; $item[] = $line; $paper[] = $item; $item = array(); //添加一级段落 $item[] = '根据双方协商一致,本合同项下律师费按以下方式收取:'; foreach ($condition['fee'] as $stage => $feeArray) { if ($stage != 'total') { $item[] = $stage . ':'; } if (array_key_exists('固定', $feeArray) && !array_key_exists('风险', $feeArray)) { //固定收费 $item[] = '固定收费:'; $item[] = '律师费为' . formalRMB($feeArray['固定']) . ',由委托人于签订本合同二日内向律师事务所支付。'; } else { //含风险收费 $item[] = '风险代理的基本收费:'; $item[] = '签订本合同后二日内,委托人应当支付律师事务所' . formalRMB($feeArray['固定']) . '作为律师风险代理的基本律师费。'; $item[] = '风险代理的风险收费:'; foreach ($feeArray['风险'] as $riskFeeItem) { $line = '若通过律师工作,委托人能与第三人通过协商、调解、案外和解等方式或通过法院判决、法院调解等方式从而'; $line .= $riskFeeItem['condition']; $line .= '则委托人同意另行按'; if (isset($riskFeeItem['percent'])) { $line .= '获得上述款项的' . $riskFeeItem['percent'] . '%'; } if (isset($riskFeeItem['percent']) && isset($riskFeeItem['fee'])) { $line .= ',以及'; } if (isset($riskFeeItem['fee'])) { $line .= formalRMB($riskFeeItem['fee']); } $line .= '的标准向律师事务所支付律师风险代理费。'; } $item[] = $line; $item[] = '本条款项下律师费用应在' . $condition['fee_pay_time'] . '支付'; } } $item[] = $line; $paper[] = $item; $item = array(); //添加一级段落 if (isset($condition['fee_misc'])) { $item[] = '根据双方协商一致,与办理委托事项密切关联的各项支出(以下可简称"办案费用")中,交通费、邮寄费、调查费、复印费、诉讼费、保全费、外地餐饮费、外地住宿费、查询费等由委托人承担。本合同签订后的二日内,委托人应向预付办案费用' . formalRMB($condition['fee_misc']) . ',结案时据实结算。'; } $item[] = $line; $paper[] = $item; $item = array(); //添加一级段落 $q_items = "SELECT * FROM instrument WHERE 1=1 ORDER BY `order`"; $items = db_toArray($q_items); $items = array_sub($items, 'content'); for ($i = 0; $i < count($items); $i++) { $items[$i] = explode("\n", $items[$i]); } $paper = array_merge($paper, $items); }
function partChoose() { $q_exam = "SELECT \n\t\t\texam.id AS exam,exam.name AS name,exam_paper.id AS exam_paper,exam_paper.is_extra_course AS is_extra_course,\n\t\t\tgrade.name AS grade_name,course.id AS course,course.name AS course_name,\n\t\t\texam_paper.students AS students, exam_paper.teacher_group AS teacher_group \n\t\tFROM \n\t\t\t(\n\t\t\t\t(\n\t\t\t\t\texam_paper LEFT JOIN exam ON (exam_paper.exam=exam.id)\n\t\t\t\t)\n\t\t\t\tLEFT JOIN course ON exam_paper.course=course.id\n\t\t\t)\n\t\t\tLEFT JOIN grade ON exam.grade=grade.id\n\t\tWHERE exam_paper.is_scoring=1\n\t\t\tAND (" . db_implode($_SESSION['teacher_group'], ' OR ', 'teacher_group') . ')'; $examArray = db_toArray($q_exam); if ($this->input->get('exam_paper')) { foreach ($examArray as $exam) { if ($exam['exam_paper'] == $this->input->get('exam_paper')) { $currentExam = $exam; } } } elseif (count($examArray) > 0) { $currentExam = $examArray[0]; } else { $currentExam = false; } $this->load->addViewData('currentExam', $currentExam); $q_partArray = "\n\t\t\tSELECT * FROM exam_part WHERE exam_paper='" . $currentExam['exam_paper'] . "'\n\t\t"; $partArray = db_toArray($q_partArray); $this->load->addViewData('partArray', $partArray); $q_students_left = "\n\t\t\tSELECT *\n\t\t\t\tFROM score\n\t\t\tWHERE score.exam_paper='" . $currentExam['exam_paper'] . "'\n\t\t\tGROUP BY student\n\t\t"; $r_students_left = mysql_query($q_students_left); $student_left = $currentExam['students']; $this->load->addViewData('student_left', $student_left); }
function classDiv() { $classes = 2; $subjects = 4; if ($this->input->get('run')) { set_time_limit(0); $data = db_toArray("\n\t\t\t\tSELECT id,gender,\n\t\t\t\t\tcourse_1 AS `0`,\n\t\t\t\t\tcourse_2 AS `1`,\n\t\t\t\t\tcourse_3 AS `2`,\n\t\t\t\t\textra_course_view_score AS `3`\n\t\t\t\tFROM student_classdiv \n\t\t\t\tWHERE type<>'借读'\n\t\t\t\t\tAND new_class IS NULL\n\t\t\t\t\tAND extra_course=5\n\t\t\t"); //将数组key改为id $data_tmp = array(); foreach ($data as $key => $value) { $data_tmp[$value['id']] = $value; } $data = $data_tmp; $students = count($data); //print_r($data); /*$data:array( 学号=>$student:array( id=>学号 gender=>性别 1=>学科成绩 2=>学科成绩 ... ) )*/ $exchanges = $tests = 0; //每个性别一个数组 $student_list_div_by_gender = array(); foreach ($data as $id => $line_data) { $student_list_div_by_gender[$line_data['gender']][] = $line_data; } //print_r($student_list_div_by_gender); //生成第一种分班方案 $div = array(); for ($gender = 0; $gender < 2; $gender++) { for ($i = 0; $student = array_pop($student_list_div_by_gender[$gender]); $i++) { $div[$gender][$i % $classes][] = $student['id']; } unset($student); } //print_r($div); /*分班方案$div:array( 1(性别)=>array( 1(班号)=>array( 序号=>学号 ) ) 2=>array( ... ) )*/ forceExport(); while (!isset($foundBest[1]) || !isset($foundBest[0])) { for ($gender = 0; $gender < 2; $gender++) { if (isset($foundBest[$gender])) { continue; } $former_s = $s = student_testClassDiv($div, $data, $classes, $gender); $exchange = array(); for ($class_l = 0; $class_l < $classes; $class_l++) { for ($class_r = $class_l + 1; $class_r < $classes; $class_r++) { for ($student_l = 0; $student_l < count($div[$gender][$class_l]); $student_l++) { for ($student_r = 0; $student_r < count($div[$gender][$class_r]); $student_r++) { $new_div[$gender] = $div[$gender]; $tmp_student = $new_div[$gender][$class_r][$student_r]; $new_div[$gender][$class_r][$student_r] = $new_div[$gender][$class_l][$student_l]; $new_div[$gender][$class_l][$student_l] = $tmp_student; $t = student_testClassDiv($new_div, $data, $classes, $gender); $exchange[] = array('class_l' => $class_l, 'class_r' => $class_r, 'student_l' => $student_l, 'student_r' => $student_r, 'differ' => $s - $t); } } } } $max_differ = 0; foreach ($exchange as $id => $exchange_plan) { if ($exchange_plan['differ'] > $max_differ) { $max_differ = $exchange_plan['differ']; $max_id = $id; } } if ($max_differ > 0) { $tmp_student = $div[$gender][$exchange[$max_id]['class_r']][$exchange[$max_id]['student_r']]; $div[$gender][$exchange[$max_id]['class_r']][$exchange[$max_id]['student_r']] = $div[$gender][$exchange[$max_id]['class_l']][$exchange[$max_id]['student_l']]; $div[$gender][$exchange[$max_id]['class_l']][$exchange[$max_id]['student_l']] = $tmp_student; $s = student_testClassDiv($div, $data, $classes, $gender); echo 'gender=' . $gender . ', s=' . $s . "<br>\n"; flush(); $exchanges++; } if ($s == $former_s) { $foundBest[$gender] = true; } } echo "\n" . $tests . 'tests, ' . $exchanges . 'exchanges' . "<br><br>\n\n"; flush(); } echo 'completed'; //student_testClassDiv($div,$data,$classes,0,true); //student_testClassDiv($div,$data,$classes,1,true); //print_r($div); foreach ($div as $gender_in_array1 => $array1) { foreach ($array1 as $class => $array2) { $this->db->update('student_classdiv', array('new_class' => $class), 'id IN (' . implode(',', $array2) . ')'); } } } else { $q = "SELECT * FROM student_classdiv"; $list_locator = $this->processMultiPage($q); $field = array('name' => array('heading' => '姓名'), 'gender' => array('heading' => '性别'), '语文' => array('heading' => '语文'), '数学' => array('heading' => '数学'), '英语' => array('heading' => '英语')); $menu = array('head' => '<div class="right">' . $list_locator . '</div>'); $table = $this->fetchTableArray($q, $field); $this->view_data += compact('table', 'menu'); $this->load->view('lists', $this->view_data); } }