/** * 分数型测试结果保存 * @param unknown $post * @param unknown $condition * @param unknown $id */ public function step4_2SaveResulteCondition2($post, $condition, $id) { $post_data = []; $url = $error = ''; if (isset($post['name'][0])) { foreach ($post['name'] as $key => $name) { $value = isset($post['value'][$key]) ? $post['value'][$key] : ''; $intro = isset($post['intro'][$key]) ? $post['intro'][$key] : ''; $min = isset($post['score-min'][$key]) ? $post['score-min'][$key] : 1; $max = isset($post['score-max'][$key]) ? $post['score-max'][$key] : 1; $temp = $min > $max ? $min : $max; if ($min > $max) { $temp = $min; $min = $max; $max = $temp; } if ($max > 0 && $min > 0 && !empty($value) && isset($name[0])) { $post_data[$key]['name'] = $value; $post_data[$key]['value'] = $value; $post_data[$key]['intro'] = $intro; $post_data[$key]['sr-id'] = isset($post['sr-id'][$key]) ? $post['sr-id'][$key] : null; $post_data[$key]['min'] = $min; $post_data[$key]['max'] = $max; } } // ZCommonFun::print_r_debug($post_data); // ZCommonFun::print_r_debug($post); // exit(); //有结果 if ($post_data) { //保存结果 $transaction = Yii::$app->db->beginTransaction(); //删除结果 $deleteSurveyResulte = new SurveyResulte(); $deleteAll = $deleteSurveyResulte->getAll($id); isset($deleteAll[0]) ? null : ($deleteAll = []); $sr_ids = ZCommonFun::listData($deleteAll, 'sr_id', 'sr_id'); $save = 0; try { foreach ($post_data as $key => $row) { if (isset($row['sr-id']) && $row['sr-id'] > 0) { $row_SurveyResulte = SurveyResulte::findOne($row['sr-id']); if ($row_SurveyResulte) { //结果存在,就不删除 unset($sr_ids[$row['sr-id']]); if ($row_SurveyResulte->s_id != $id) { continue; } $save++; } else { $row_SurveyResulte = new SurveyResulte(); } } else { $row_SurveyResulte = new SurveyResulte(); } $row_SurveyResulte->score_max = $row['max']; $row_SurveyResulte->score_min = $row['min']; $row_SurveyResulte->name = $row['name']; $row_SurveyResulte->value = $row['value']; $row_SurveyResulte->intro = $row['intro']; $row_SurveyResulte->value = $row['value']; $row_SurveyResulte->value = $row['value']; $row_SurveyResulte->uid = ZCommonSessionFun::get_user_id(); $row_SurveyResulte->s_id = $id; $row_SurveyResulte->save() ? $save++ : null; } if ($save > 0) { $condition = null; if (count($sr_ids) > 0) { $condition['sr_id'] = $sr_ids; $condition['s_id'] = $id; //删除所有结果 SurveyResulte::deleteAll($condition); } $transaction->commit(); $url = ['my']; } // ZCommonFun::print_r_debug($sr_ids); // ZCommonFun::print_r_debug($post_data); // exit; $url = ['my']; } catch (\Exception $e) { // ZCommonFun::print_r_debug($e); $transaction->rollBack(); } } } return $url; }