|
@@ -10,8 +10,10 @@ import com.xjrsoft.common.enums.GenderDictionaryEnum;
|
|
|
import com.xjrsoft.common.enums.StudyStatusEnum;
|
|
|
import com.xjrsoft.common.model.result.RT;
|
|
|
import com.xjrsoft.common.mybatis.SqlRunnerAdapter;
|
|
|
+import com.xjrsoft.common.utils.SqlRunnerAdapterUtil;
|
|
|
import com.xjrsoft.common.utils.VoToColumnUtil;
|
|
|
import com.xjrsoft.module.databoard.dto.StatisticsDetailDto;
|
|
|
+import com.xjrsoft.module.databoard.vo.CourseCountListVo;
|
|
|
import com.xjrsoft.module.databoard.vo.CourseStatisticsDetailVo;
|
|
|
import com.xjrsoft.module.databoard.vo.DistributionVo;
|
|
|
import com.xjrsoft.module.databoard.vo.DurationVo;
|
|
@@ -626,6 +628,21 @@ public class DatadetailController {
|
|
|
@SaCheckPermission("datadetail:detail")
|
|
|
public RT<CourseStatisticsDetailVo> courseStatistics(@Valid StatisticsDetailDto dto) {
|
|
|
CourseStatisticsDetailVo result = new CourseStatisticsDetailVo();
|
|
|
+ String sql = "SELECT t1.id, t1.name,t4.name AS dept_name," +
|
|
|
+ " (SELECT GROUP_CONCAT(DISTINCT(course_name)) FROM course_table WHERE teacher_id = t1.id) AS course_names," +
|
|
|
+ " (SELECT COUNT(*) FROM course_table WHERE teacher_id = t1.id) AS course_count FROM xjr_user t1" +
|
|
|
+ " INNER JOIN base_teacher t2 ON t1.id = t2.user_id" +
|
|
|
+ " INNER JOIN xjr_user_dept_relation t3 ON t1.id = t3.user_id" +
|
|
|
+ " INNER JOIN xjr_department t4 ON t3.dept_id = t4.id" +
|
|
|
+ " WHERE t1.delete_mark = 0 AND t4.is_major = 1" +
|
|
|
+ " ORDER BY course_count DESC LIMIT 5";
|
|
|
+ List<Map<String, Object>> list = SqlRunnerAdapter.db().selectList(sql);
|
|
|
+ List<CourseCountListVo> courseCountList = new ArrayList<>();
|
|
|
+ for (Map<String, Object> objectMap : list) {
|
|
|
+ CourseCountListVo listVo = SqlRunnerAdapterUtil.convertMapToEntity(objectMap, CourseCountListVo.class);
|
|
|
+ courseCountList.add(listVo);
|
|
|
+ }
|
|
|
+ result.setCourseCountList(courseCountList);
|
|
|
return RT.ok(result);
|
|
|
}
|
|
|
|