getPracticeModeValue === * 获取练习模式下的userExaminations数据 SELECT * FROM user_examinations WHERE team_id = #teamId# AND examination_id = #examinations.id# AND flow_id = #examinations.flowId# AND user_id = #users.id# AND class_id = #users.classId# scoresListOfStudent === * 查询我的成绩列表 SELECT @pageTag(){ es.`name` as examinationsName, us.report_name, us.report_file, fs.`name` as flowsName, us.flow_scores, us.report_scores, us.raise_scores, us.duration_scores, us.total_scores, us.class_orders, efs.init_balance, efs.balance, efs.product_assets, efs.raise_rate, efs.raise_orders @} FROM user_examinations us LEFT JOIN flows fs ON us.flow_id = fs.id LEFT JOIN examinations es ON us.examination_id = es.id LEFT JOIN examination_financials efs ON us.financial_id = efs.id WHERE us.user_id = #users.id# AND us.`status` = 2 AND es.`status`= 2 AND es.scores_status = 1 AND es.type =1 ORDER BY us.id DESC getMyScoresByValues === * 获取我的成绩 SELECT SUM(CASE WHEN total_scores < 60 THEN 1 ELSE 0 END) AS lt_60, SUM(CASE WHEN total_scores >= 60 AND total_scores <= 80 THEN 1 ELSE 0 END) AS gt60_lte80, SUM(CASE WHEN total_scores > 80 THEN 1 ELSE 0 END) AS gt_80 FROM user_examinations WHERE examination_id = #examinationId# AND class_id = #classId# getUserAndExaminations === * 获取我的成绩的用户信息 SELECT e.* FROM user_examinations e, examinations es WHERE e.examination_id = es.id AND e.user_id = #id# AND e.`status` = 2 AND es.`status` = 2 AND es.scores_status = 1 AND es.type = 1 ORDER BY e.id DESC limit 0,1; queryByCondition === * 根据不为空的参数进行分页查询 select @pageTag(){ t.* @} from user_examinations t where 1=1 @//数据权限,该sql语句功能点,如果不考虑数据权限,可以删除此行 and #function("userExaminations.query")# @if(!isEmpty(id)){ and t.id =#id# @} @if(!isEmpty(flowId)){ and t.flow_id =#flowId# @} @if(!isEmpty(examinationId)){ and t.examination_id =#examinationId# @} @if(!isEmpty(userId)){ and t.user_id =#userId# @} @if(!isEmpty(teamId)){ and t.team_id =#teamId# @} @if(!isEmpty(financialId)){ and t.financial_id =#financialId# @} @if(!isEmpty(instanceId)){ and t.instance_id =#instanceId# @} @if(!isEmpty(status)){ and t.status =#status# @} @if(!isEmpty(finishTime)){ and t.finish_time =#finishTime# @} @if(!isEmpty(reportFile)){ and t.report_file =#reportFile# @} @if(!isEmpty(reportName)){ and t.report_name =#reportName# @} @if(!isEmpty(flowScores)){ and t.flow_scores =#flowScores# @} @if(!isEmpty(reportScores)){ and t.report_scores =#reportScores# @} @if(!isEmpty(raiseScores)){ and t.raise_scores =#raiseScores# @} @if(!isEmpty(durationScores)){ and t.duration_scores =#durationScores# @} @if(!isEmpty(totalScores)){ and t.total_scores =#totalScores# @} @if(!isEmpty(classId)){ and t.class_id =#classId# @} @if(!isEmpty(classOrders)){ and t.class_orders =#classOrders# @} @if(!isEmpty(teamOrders)){ and t.team_orders =#teamOrders# @} @if(!isEmpty(data)){ and t.data =#data# @} @if(!isEmpty(createdAt)){ and t.created_at =#createdAt# @} @if(!isEmpty(updatedAt)){ and t.updated_at =#updatedAt# @} deleteUserExaminationsByIds === * 批量删除 delete from user_examinations where find_in_set(id,#ids#) getUserExaminationsValues === * 根据不为空的参数进行查询 select t.* from user_examinations t where 1=1 @if(!isEmpty(id)){ and t.id =#id# @} @if(!isEmpty(flowId)){ and t.flow_id =#flowId# @} @if(!isEmpty(examinationId)){ and t.examination_id =#examinationId# @} @if(!isEmpty(userId)){ and t.user_id =#userId# @} @if(!isEmpty(teamId)){ and t.team_id =#teamId# @} @if(!isEmpty(financialId)){ and t.financial_id =#financialId# @} @if(!isEmpty(instanceId)){ and t.instance_id =#instanceId# @} @if(!isEmpty(status)){ and t.status =#status# @} @if(!isEmpty(finishTime)){ and t.finish_time =#finishTime# @} @if(!isEmpty(reportFile)){ and t.report_file =#reportFile# @} @if(!isEmpty(reportName)){ and t.report_name =#reportName# @} @if(!isEmpty(flowScores)){ and t.flow_scores =#flowScores# @} @if(!isEmpty(reportScores)){ and t.report_scores =#reportScores# @} @if(!isEmpty(raiseScores)){ and t.raise_scores =#raiseScores# @} @if(!isEmpty(durationScores)){ and t.duration_scores =#durationScores# @} @if(!isEmpty(totalScores)){ and t.total_scores =#totalScores# @} @if(!isEmpty(classId)){ and t.class_id =#classId# @} @if(!isEmpty(classOrders)){ and t.class_orders =#classOrders# @} @if(!isEmpty(teamOrders)){ and t.team_orders =#teamOrders# @} @if(!isEmpty(data)){ and t.data =#data# @} @if(!isEmpty(createdAt)){ and t.created_at =#createdAt# @} @if(!isEmpty(updatedAt)){ and t.updated_at =#updatedAt# @} getValuesByQuery === * 根据不为空的参数进行查询 select t.* from user_examinations t where 1=1 @if(!isEmpty(id)){ and t.id =#id# @} @if(!isEmpty(flowId)){ and t.flow_id =#flowId# @} @if(!isEmpty(examinationId)){ and t.examination_id =#examinationId# @} @if(!isEmpty(userId)){ and t.user_id =#userId# @} @if(!isEmpty(teamId)){ and t.team_id =#teamId# @} @if(!isEmpty(financialId)){ and t.financial_id =#financialId# @} @if(!isEmpty(instanceId)){ and t.instance_id =#instanceId# @} @if(!isEmpty(status)){ and t.status =#status# @} @if(!isEmpty(finishTime)){ and t.finish_time =#finishTime# @} @if(!isEmpty(reportFile)){ and t.report_file =#reportFile# @} @if(!isEmpty(reportName)){ and t.report_name =#reportName# @} @if(!isEmpty(flowScores)){ and t.flow_scores =#flowScores# @} @if(!isEmpty(reportScores)){ and t.report_scores =#reportScores# @} @if(!isEmpty(raiseScores)){ and t.raise_scores =#raiseScores# @} @if(!isEmpty(durationScores)){ and t.duration_scores =#durationScores# @} @if(!isEmpty(totalScores)){ and t.total_scores =#totalScores# @} @if(!isEmpty(classId)){ and t.class_id =#classId# @} @if(!isEmpty(classOrders)){ and t.class_orders =#classOrders# @} @if(!isEmpty(teamOrders)){ and t.team_orders =#teamOrders# @} @if(!isEmpty(data)){ and t.data =#data# @} @if(!isEmpty(createdAt)){ and t.created_at =#createdAt# @} @if(!isEmpty(updatedAt)){ and t.updated_at =#updatedAt# @} getByExaminationIdAndUserId === * 通过ExaminationId和用户id查询用户实训,并通过id进行排序,一对一通过instance_id映射examination_instances表 select * from user_examinations u where examination_id = #examinationId# and user_id = #userId# order by u.id desc @orm.single({"instanceId":"id"},"ExaminationInstances"); getStudentExaminationScoreList === * 查询学生实训评分列表 可选条件:classId、username ```` select @pageTag(){ t1.username, t1.student_id, t1.class_id, t3.name class_name, t2.* @} from users t1 join user_examinations t2 on t1.id = t2.user_id join classes t3 on t1.class_id = t3.classes_id where t2.examination_id = #examinationId# and t2.status > 0 and t1.type = 4 @if(!isEmpty(classId)){ and t1.class_id = #classId# @} @ if(!isEmpty(username)){ and ( t1.username like #'%'+username+'%'# or t1.student_id like #'%'+username+'%'# ) @} order by t2.report_scores, t2.id ```` getStudentExaminationScoreExcelList === * 查询学生实训评分列表 可选条件:classId、username ```` select t1.username, t1.student_id, t3.name class_name, t2.report_name, t2.flow_scores, t2.operator_scores, t2.report_scores, t2.raise_scores, t2.duration_scores, t2.total_scores from users t1 join user_examinations t2 on t1.id = t2.user_id join classes t3 on t1.class_id = t3.classes_id where t2.examination_id = #examinationId# and t2.status > 0 and t1.type = 4 @if(!isEmpty(classId)){ and t1.class_id = #classId# @} @ if(!isEmpty(username)){ and ( t1.username like #'%'+username+'%'# or t1.student_id like #'%'+username+'%'# ) @} order by t2.report_scores, t2.id ```` getStudentExaminationScoreChart === * 查询学生实训评分统计 可选条件:classId ```` select count(0) as num, MIN(total_scores) as mins, MAX(total_scores) as maxs, sum(total_scores) as total_scores, SUM(CASE WHEN total_scores >= 90 THEN 1 ELSE 0 END) as well, SUM(CASE WHEN total_scores >= 80 AND total_scores <= 89 THEN 1 ELSE 0 END) as good, SUM(CASE WHEN total_scores >= 60 AND total_scores <= 79 THEN 1 ELSE 0 END) as normal, SUM(CASE WHEN total_scores < 60 THEN 1 ELSE 0 END) as bad from user_examinations t1 join users t2 on t1.user_id = t2.id where t1.examination_id = #examinationId# and t1.status > 0 and t2.type = 4 @if(!isEmpty(classId)){ and t2.class_id = #classId# @} ```` getTeacherClassExaminationScoreChart === * 查询老师班级实训评分统计 ```` select t2.id examination_id, t2.name examination_name, t3.class_id, t4.name class_name, avg(t1.total_scores) total_scores from user_examinations t1 join examinations t2 on t1.examination_id = t2.id join users t3 on t1.user_id = t3.id join classes t4 on t3.class_id = t4.classes_id where t4.teacher_id = #teacherId# and t1.status = 2 and t2.type = 1 group by t2.id, t3.class_id ```` getExaminationStudentCount === * 查询实训学生数量 select count(*) from users t1 join user_examinations t2 on t1.id = t2.user_id where t1.type = 4 and t2.examination_id = #examinationId# @if(!isEmpty(classId)){ and t1.class_id = #classId# @} hasZeroScores === * 查询未评分的记录数量 select count(*) from user_examinations t where t.examination_id = #examinationId# and t.status < 2 and (t.report_scores = 0 or t.report_scores is null)