ソースを参照

20250207 优化调整

贾小兵 2 ヶ月 前
コミット
9bfed5c38d

+ 2 - 2
application/admin/controller/student/Collection.php

@@ -245,9 +245,9 @@ class Collection extends Backend
                     $fault_arr = [$fault_right_list[0]['fault_id'],$fault_right_list[1]['fault_id'],$fault_right_list[2]['fault_id']];
                     
                     //根据故障部位查找,匹配的排除方法
-                    $paichu_arr =  Report::where(['bw_id'=>['in',$fault_arr]])->column('pc_id');
+                    $paichu_arr = Report::where(['bw_id'=>['in',$fault_arr]])->column('pc_id');
                     //根据故障部位查找,匹配可能原因
-                    $yy_arr =  Report::where(['bw_id'=>['in',$fault_arr]])->column('yy_id');
+                    $yy_arr = Report::where(['bw_id'=>['in',$fault_arr]])->column('yy_id');
 
                     //查找故障现象 数组
                     $partent_fault_id = Fault::where(['fault_id'=>['in',$fault_arr]])->column('parent_fault_id');

+ 21 - 20
application/admin/controller/teacher/Collection.php

@@ -110,16 +110,7 @@ class Collection extends Backend
                 //匹配的学员自动加入  mx_real_exam_fault 考试故障关联表
                 $fault_list = Fault::where(['sim_type' => $params['sim_type'], 'fault_state' => 0,'fault_type'=>3])->select();
                 if($params['question_setting_method']==1){ //系统随机
-                    $fault_key1 = array_rand($fault_list);
-                    $fault_key2 = array_rand($fault_list);
-                    $fault_key3 = array_rand($fault_list);
-                    if($fault_list[$fault_key1]['parent_fault_id']==$fault_list[$fault_key2]['parent_fault_id']){
-                        $fault_key2 = array_rand($fault_list);
-                    }
-                    if($fault_list[$fault_key2]['parent_fault_id']==$fault_list[$fault_key3]['parent_fault_id']){
-                        $fault_key3 = array_rand($fault_list);
-                    }
-                    $fault_key = [$fault_key1,$fault_key2,$fault_key3];
+                    $fault_key = $this->rand_fault($fault_list);
                 }else if($params['question_setting_method']==2){//教师自选
                     $question_ids = $params['question_ids'];
                 }else if($params['question_setting_method']==3){ //任务自选
@@ -237,16 +228,7 @@ class Collection extends Backend
                     //匹配的学员自动加入  mx_real_exam_fault 考试故障关联表
                     $fault_list = Fault::where(['sim_type' => $params['sim_type'], 'fault_state' => 0,'fault_type'=>3])->select();
                     if($params['question_setting_method']==1){ //系统随机
-                        $fault_key1 = array_rand($fault_list);
-                        $fault_key2 = array_rand($fault_list);
-                        $fault_key3 = array_rand($fault_list);
-                        if($fault_list[$fault_key1]['parent_fault_id']==$fault_list[$fault_key2]['parent_fault_id']){
-                            $fault_key2 = array_rand($fault_list);
-                        }
-                        if($fault_list[$fault_key2]['parent_fault_id']==$fault_list[$fault_key3]['parent_fault_id']){
-                            $fault_key3 = array_rand($fault_list);
-                        }
-                        $fault_key = [$fault_key1,$fault_key2,$fault_key3];
+                        $fault_key = $this->rand_fault($fault_list);
                     }else if($params['question_setting_method']==2){//教师自选
                         $question_ids = $params['question_ids'];
                     }else if($params['question_setting_method']==3){ //任务自选
@@ -491,4 +473,23 @@ class Collection extends Backend
         }
         $this->error(__('No rows were deleted'));
     }
+
+
+    public function rand_fault($fault_list = null){
+
+        $fault_key = array_rand($fault_list,3);
+        $fault_key1 = array_rand($fault_list);
+        $fault_key2 = array_rand($fault_list);
+        $fault_key3 = array_rand($fault_list);
+        if($fault_list[$fault_key1]['parent_fault_id']==$fault_list[$fault_key2]['parent_fault_id']){
+            $fault_key2 = array_rand($fault_list);
+        }
+        if($fault_list[$fault_key2]['parent_fault_id']==$fault_list[$fault_key3]['parent_fault_id']){
+            $fault_key3 = array_rand($fault_list);
+        }
+        $arr = [$fault_key1,$fault_key2,$fault_key3];
+        return $arr;
+    }
+
+
 }