|
|
@@ -4,14 +4,12 @@
|
|
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
|
<mapper namespace="com.xjrsoft.module.student.mapper.BaseStudentAssessmentInspectionMapper">
|
|
|
<select id="getPage" parameterType="com.xjrsoft.module.student.dto.BaseStudentAssessmentInspectionPageDto" resultType="com.xjrsoft.module.student.vo.BaseStudentAssessmentInspectionPageVo">
|
|
|
- SELECT t.id,t.score,t.total_score,t.score_type,t.assessment_date,t.reason,t1.name AS assessment_category_name,t2.name AS assessment_project_name,t3.name AS semester_name,t4.name AS grade_name,t5.name AS assessment_user_name,t6.name AS score_type_cn,
|
|
|
+ SELECT t.id,t.score,(t.score * IF(personal_student_user_ids IS NULL, 1, (SELECT COUNT(*) FROM base_student_assessment_student_relation WHERE base_student_assessment_inspection_id = t.id AND delete_mark = 0 AND enabled_mark = 1))) as total_score,t.score_type,t.assessment_date,t.reason,t1.name AS assessment_category_name,t2.name AS assessment_project_name,t3.name AS semester_name,t4.name AS grade_name,t5.name AS assessment_user_name,t6.name AS score_type_cn,
|
|
|
(
|
|
|
SELECT NAME FROM base_class
|
|
|
WHERE id = t.class_ids
|
|
|
) AS assessment_class_names,
|
|
|
- (
|
|
|
- (LENGTH(personal_student_user_ids) - LENGTH(REPLACE(personal_student_user_ids, ',', '')))
|
|
|
- ) + 1 AS student_count,t.enabled_mark,t.assessment_type
|
|
|
+ (SELECT COUNT(*) FROM base_student_assessment_student_relation WHERE base_student_assessment_inspection_id = t.id AND delete_mark = 0 AND enabled_mark = 1) AS student_count,t.enabled_mark,t.assessment_type
|
|
|
FROM base_student_assessment_inspection t
|
|
|
LEFT JOIN base_student_assessment_category t1 ON (t1.id = t.base_student_assessment_category_id)
|
|
|
LEFT JOIN base_student_assessment_project t2 ON (t2.id = t.base_student_assessment_project_id)
|
|
|
@@ -51,7 +49,7 @@
|
|
|
<select id="getInfo" resultType="com.xjrsoft.module.student.vo.BaseStudentAssessmentInspectionVo">
|
|
|
select t.id,t.score,t.score_type,t.assessment_date,t.reason,t1.name as assessment_category_name,t2.name as assessment_project_name,
|
|
|
t3.name as semester_name,t4.name as grade_name,t5.name as assessment_user_name,t6.name as score_type_cn,t.file_id,t7.name as create_user_name
|
|
|
- ,t.total_score
|
|
|
+ ,(t.score * IF(personal_student_user_ids IS NULL, 1, (SELECT COUNT(*) FROM base_student_assessment_student_relation WHERE base_student_assessment_inspection_id = t.id AND delete_mark = 0 AND enabled_mark = 1))) as total_score
|
|
|
from base_student_assessment_inspection t
|
|
|
left join base_student_assessment_category t1 on (t1.id = t.base_student_assessment_category_id)
|
|
|
left join base_student_assessment_project t2 on (t2.id = t.base_student_assessment_project_id)
|
|
|
@@ -65,11 +63,7 @@
|
|
|
|
|
|
<select id="getMobilePage" parameterType="com.xjrsoft.module.student.dto.BaseStudentAssessmentInspectionMobilePageDto" resultType="com.xjrsoft.module.student.vo.BaseStudentAssessmentInspectionMobilePageVo">
|
|
|
SELECT t.id,t1.assessment_date,t2.name AS assessment_category_name,t3.name AS assessment_project_name,t5.name AS
|
|
|
- assessment_class_name,t1.reason,t1.total_score as score,t1.score_type,t4.name AS score_type_cn,
|
|
|
- (
|
|
|
- SELECT COUNT(*) FROM base_student_assessment_student_relation WHERE
|
|
|
- base_student_assessment_inspection_id = t1.id AND class_id = t.class_id AND delete_mark = 0 and enabled_mark = 1
|
|
|
- ) AS student_count,t1.assessment_type,
|
|
|
+ assessment_class_name,t1.reason,(t1.score * IF(personal_student_user_ids IS NULL, 1, (SELECT COUNT(*) FROM base_student_assessment_student_relation WHERE base_student_assessment_inspection_id = t1.id AND delete_mark = 0 AND enabled_mark = 1))) as score,t1.score_type,t4.name AS score_type_cn,
|
|
|
(
|
|
|
SELECT COUNT(*) FROM base_student_assessment_student_relation WHERE base_student_assessment_inspection_id =
|
|
|
t1.id AND class_id = t.class_id AND delete_mark = 0 and enabled_mark = 1
|
|
|
@@ -97,13 +91,24 @@
|
|
|
<if test="dto.endDate != null and dto.endDate != ''">
|
|
|
and t1.assessment_date <= #{dto.endDate}
|
|
|
</if>
|
|
|
+ <if test="dto.keyword != null and dto.keyword != ''">
|
|
|
+ and (
|
|
|
+ t2.name like concat('%', #{dto.keyword}, '%')
|
|
|
+ or t3.name like concat('%', #{dto.keyword}, '%')
|
|
|
+ or t5.name like concat('%', #{dto.keyword}, '%')
|
|
|
+ or t6.name like concat('%', #{dto.keyword}, '%')
|
|
|
+ or t1.reason like concat('%', #{dto.keyword}, '%')
|
|
|
+ )
|
|
|
+ </if>
|
|
|
order by t1.id desc
|
|
|
</select>
|
|
|
|
|
|
<select id="getMobileInfo" resultType="com.xjrsoft.module.student.vo.BaseStudentAssessmentInspectionMobileVo">
|
|
|
- select t.id,t.class_id,t.base_student_assessment_inspection_id,t1.score,t5.name as assessment_class_name,t2.name as assessment_category_name,t3.name as assessment_project_name,t1.assessment_date,t1.reason,
|
|
|
+ select t.id,t.class_id,t.base_student_assessment_inspection_id,
|
|
|
+ (t1.score * IF(personal_student_user_ids IS NULL, 1, (SELECT COUNT(*) FROM base_student_assessment_student_relation WHERE base_student_assessment_inspection_id = t1.id AND delete_mark = 0 AND enabled_mark = 1))) as score
|
|
|
+ ,t5.name as assessment_class_name,t2.name as assessment_category_name,t3.name as assessment_project_name,t1.assessment_date,t1.reason,
|
|
|
t6.name as assessment_user_name,t7.name as create_user_name,t1.create_date,t1.file_id,t1.score_type,t4.name as score_type_cn,t1.assessment_type,
|
|
|
- t8.name as assessment_item_name,t9.name as modify_user_name,if(t1.modify_date > t.modify_date, t1.modify_date, t.modify_date) as modify_date
|
|
|
+ t8.name as assessment_item_name,t9.name as modify_user_name, t1.modify_date
|
|
|
from base_student_assessment_class_relation t
|
|
|
left join base_student_assessment_inspection t1 on t1.id=t.base_student_assessment_inspection_id
|
|
|
left join base_student_assessment_category t2 on (t2.id = t1.base_student_assessment_category_id)
|
|
|
@@ -114,7 +119,7 @@
|
|
|
left join xjr_user t6 on t1.assessment_user_id = t6.id
|
|
|
left join xjr_user t7 on t1.create_user_id = t7.id
|
|
|
left join xjr_user t9 on t1.modify_user_id = t9.id
|
|
|
- where t.id = #{id};
|
|
|
+ where t.id = #{id} and t1.enabled_mark = 1;
|
|
|
</select>
|
|
|
|
|
|
<select id="getStudentIndividualBehaviorExcelVoList" parameterType="com.xjrsoft.module.student.dto.QuantitativeAssessmentExcelDto" resultType="com.xjrsoft.module.student.vo.QuantitativeAssessmentSubTableExcelVo">
|
|
|
@@ -259,7 +264,7 @@
|
|
|
and t.create_date < #{dto.endTime}
|
|
|
</if>
|
|
|
<if test="dto.year != null and dto.month != null">
|
|
|
- and DATE_FORMAT(t.assessment_date, '%Y-%m') = concat(#{dto.year}, '-', #{dto.month})
|
|
|
+ and YEAR(t.assessment_date) = #{dto.year} and month(t.assessment_date) = #{dto.month}
|
|
|
</if>
|
|
|
group by t.class_ids;
|
|
|
</select>
|
|
|
@@ -337,6 +342,6 @@
|
|
|
INNER JOIN base_major_set t5 ON t4.major_set_id = t5.id
|
|
|
LEFT JOIN xjr_dictionary_detail t6 ON t3.nation = t6.code
|
|
|
LEFT JOIN xjr_dictionary_detail t7 ON t2.gender = t7.code
|
|
|
- WHERE t1.base_student_assessment_inspection_id = #{id}
|
|
|
+ WHERE t1.base_student_assessment_inspection_id = #{id} and t1.enabled_mark = 1
|
|
|
</select>
|
|
|
</mapper>
|