|
|
@@ -15,6 +15,10 @@
|
|
|
namespace app\adminapi\logic\training;
|
|
|
|
|
|
|
|
|
+use app\common\model\training\TrainingCourse;
|
|
|
+use app\common\model\training\TrainingTask;
|
|
|
+use app\common\model\training\TrainingWorkerCourse;
|
|
|
+use app\common\model\training\TrainingWorkerQuestion;
|
|
|
use app\common\model\training\TrainingWorkerTask;
|
|
|
use app\common\logic\BaseLogic;
|
|
|
use think\facade\Db;
|
|
|
@@ -48,6 +52,9 @@ class TrainingWorkerTaskLogic extends BaseLogic
|
|
|
'operate_status' => $params['operate_status']??0,
|
|
|
]);
|
|
|
|
|
|
+ // 添加该工程师初始化记录
|
|
|
+ self::trainingCourseRecord($params['master_worker_id'],$params['training_task_id']);
|
|
|
+
|
|
|
Db::commit();
|
|
|
return true;
|
|
|
} catch (\Exception $e) {
|
|
|
@@ -111,4 +118,39 @@ class TrainingWorkerTaskLogic extends BaseLogic
|
|
|
{
|
|
|
return TrainingWorkerTask::findOrEmpty($params['id'])->toArray();
|
|
|
}
|
|
|
+
|
|
|
+ /** 培训课程初始化记录
|
|
|
+ */
|
|
|
+ public static function trainingCourseRecord($masterWorkerId,$training_task_id): array
|
|
|
+ {
|
|
|
+ $training_course_ids = json_decode(TrainingTask::where('id',$training_task_id)->value('training_course_id'),true);
|
|
|
+ // 添加该工程师的所有培训课程初始化记录
|
|
|
+ foreach ($training_course_ids as $course_id) {
|
|
|
+ $workerCourse = TrainingWorkerCourse::create([
|
|
|
+ 'master_worker_id' => $masterWorkerId,
|
|
|
+ 'training_task_id' => $training_task_id,
|
|
|
+ 'training_course_id' => $course_id,
|
|
|
+ 'play_time' => 0,
|
|
|
+ 'exam_start_time' => 0,
|
|
|
+ 'exam_end_time' => 0,
|
|
|
+ 'study_status' => 0,
|
|
|
+ 'exam_score' => 0,
|
|
|
+ ]);
|
|
|
+
|
|
|
+ // 添加该工程师该课程的所有试题初始化记录
|
|
|
+ //[{"block_key":1,"select_value":1,"score":"20"},{"block_key":2,"select_value":2,"score":"10"},{"block_key":3,"select_value":3,"score":"70"}]
|
|
|
+ $course_question = json_decode(TrainingCourse::where('id',$course_id)->value('course_question_setting'),true);
|
|
|
+ $course_question_ids = array_column($course_question,'select_value');
|
|
|
+ foreach ($course_question_ids as $question_id) {
|
|
|
+ $workerQuestion = TrainingWorkerQuestion::create([
|
|
|
+ 'worker_course_id' => $workerCourse->id,
|
|
|
+ 'questions_id' => $question_id,
|
|
|
+ 'worker_answer' => '',
|
|
|
+ 'exam_score' => 0
|
|
|
+ ]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return $training_course_ids??[];
|
|
|
+ }
|
|
|
+
|
|
|
}
|