Merge remote-tracking branch 'origin/beetlsql3-dev' into beetlsql3-dev

beetlsql3-dev
姚丹ab 2 years ago
commit e8c6bcd52f

@ -2,6 +2,7 @@ package com.ibeetl.jlw.dao;
import com.ibeetl.jlw.entity.TeacherOpenCourseHandsOn; import com.ibeetl.jlw.entity.TeacherOpenCourseHandsOn;
import com.ibeetl.jlw.entity.TeacherOpenCourseHandsOnList; import com.ibeetl.jlw.entity.TeacherOpenCourseHandsOnList;
import com.ibeetl.jlw.web.query.GetHandsOnListParam;
import com.ibeetl.jlw.web.query.TeacherOpenCourseHandsOnQuery; import com.ibeetl.jlw.web.query.TeacherOpenCourseHandsOnQuery;
import org.beetl.sql.core.engine.PageQuery; import org.beetl.sql.core.engine.PageQuery;
import org.beetl.sql.mapper.BaseMapper; import org.beetl.sql.mapper.BaseMapper;
@ -33,4 +34,5 @@ public interface TeacherOpenCourseHandsOnDao extends BaseMapper<TeacherOpenCours
List<Map<String, Object>> getExcelValues(TeacherOpenCourseHandsOnQuery teacherOpenCourseHandsOnQuery); List<Map<String, Object>> getExcelValues(TeacherOpenCourseHandsOnQuery teacherOpenCourseHandsOnQuery);
List<TeacherOpenCourseHandsOnList> getHandsOnListNotPage(GetHandsOnListParam getHandsOnListParam);
} }

@ -81,4 +81,6 @@ public interface TeacherOpenCourseQuestionSettingDao extends BaseMapper<TeacherO
.count(); .count();
return toIntExact(count); return toIntExact(count);
} }
List<TeacherOpenCourseQuestionSetting> queryByConditionQueryNotPage(TeacherOpenCourseQuestionSettingQuery condition);
} }

@ -58,7 +58,8 @@ public class GeneralQuestionLogScoreInfo1 extends BaseEntity {
"where ta.question_setting_id = #generalQuestionSettingId# " + "where ta.question_setting_id = #generalQuestionSettingId# " +
"and ta.question_log_summary_status = 1 " + "and ta.question_log_summary_status = 1 " +
"and ta.person_id = #studentId# " + "and ta.person_id = #studentId# " +
")) " ")) " +
"AND t.student_id = #studentId#"
) )
private List<TeacherOpenCourseQuestionLog> questionLogList; private List<TeacherOpenCourseQuestionLog> questionLogList;
} }

@ -1,5 +1,7 @@
package com.ibeetl.jlw.entity; package com.ibeetl.jlw.entity;
import com.ibeetl.admin.core.entity.BaseEntity;
/** /**
* *
* *
@ -7,7 +9,7 @@ package com.ibeetl.jlw.entity;
* @Author * @Author
* @Date 2022/10/29 20:47 * @Date 2022/10/29 20:47
*/ */
public class TeacherOpenCourseHandsOnList { public class TeacherOpenCourseHandsOnList extends BaseEntity {
/** /**
* *

@ -8,10 +8,7 @@ import com.ibeetl.admin.core.entity.CoreUser;
import com.ibeetl.admin.core.util.enums.DelFlagEnum; import com.ibeetl.admin.core.util.enums.DelFlagEnum;
import com.ibeetl.jlw.dao.*; import com.ibeetl.jlw.dao.*;
import com.ibeetl.jlw.entity.*; import com.ibeetl.jlw.entity.*;
import com.ibeetl.jlw.enums.ChatLogSendTypeEnum; import com.ibeetl.jlw.enums.*;
import com.ibeetl.jlw.enums.GlobalPushStatusEnum;
import com.ibeetl.jlw.enums.ResourcesQuestionSnapshotFromTypeEnum;
import com.ibeetl.jlw.enums.SignInTypeEnum;
import com.ibeetl.jlw.web.query.*; import com.ibeetl.jlw.web.query.*;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.beetl.sql.core.query.LambdaQuery; import org.beetl.sql.core.query.LambdaQuery;
@ -28,48 +25,79 @@ import static com.ibeetl.jlw.enums.ResourcesQuestionSnapshotFromTypeEnum.HOMEWOR
/** /**
* service * service
*
* @Version 0.0.1 * @Version 0.0.1
* @Author * @Author
* @Date 2022/10/7 12:25 * @Date 2022/10/7 12:25
*
*/ */
@Service @Service
public class StatisticalAnalysisService { public class StatisticalAnalysisService {
@Autowired private StatisticalAnalysisDao statisticalAnalysisDao;
@Autowired private TeacherOpenCourseMergeSchoolClassService teacherOpenCourseMergeSchoolClassService; @Autowired
@Autowired private TeacherOpenCourseMergeStudentService teacherOpenCourseMergeStudentService; private TeacherOpenCourseMergeSchoolClassService teacherOpenCourseMergeSchoolClassService;
@Autowired private TeacherOpenCourseNoticeService teacherOpenCourseNoticeService; @Autowired
@Autowired private StudentService studentService; private TeacherOpenCourseMergeStudentService teacherOpenCourseMergeStudentService;
@Autowired private TeacherService teacherService; @Autowired
@Autowired private CourseInfoService courseInfoService; private TeacherOpenCourseNoticeService teacherOpenCourseNoticeService;
@Autowired private ResourcesApplicationService resourcesApplicationService; @Autowired
@Autowired private UniversitiesCollegesDao universitiesCollegesDao; private StudentService studentService;
@Autowired private SysLogDao sysLogDao; @Autowired
@Autowired private UniversitiesCollegesService universitiesCollegesService; private TeacherService teacherService;
@Autowired private CoreUserDao coreUserDao;
@Autowired private ResourcesTrainingDao resourcesTrainingService; @Autowired
@Autowired private ResourcesInfoService resourcesInfoService; private ResourcesApplicationService resourcesApplicationService;
@Autowired private ResourcesQuestionService resourcesQuestionService; @Autowired
@Autowired private TeacherOpenCourseStudentSigninLogService teacherOpenCourseStudentSigninLogService; private UniversitiesCollegesDao universitiesCollegesDao;
@Autowired private TeacherOpenCourseQuestionSettingService teacherOpenCourseQuestionSettingService; @Autowired
@Autowired private TeacherOpenCourseMergeCourseInfoService teacherOpenCourseMergeCourseInfoService; private SysLogDao sysLogDao;
@Autowired private TeacherOpenCourseQuestionLogService teacherOpenCourseQuestionLogService; @Autowired
@Autowired private TeacherOpenCourseHandsOnService teacherOpenCourseHandsOnService; private UniversitiesCollegesService universitiesCollegesService;
@Autowired private TeacherOpenCourseHandsOnSimulationTasksService teacherOpenCourseHandsOnSimulationTasksService; @Autowired
@Autowired private HandsOnAchievementService handsOnAchievementService; private CoreUserDao coreUserDao;
@Autowired private TeacherOpenCourseChatLogService teacherOpenCourseChatLogService; @Autowired
@Autowired private TeacherOpenCourseDao teacherOpenCourseService; private ResourcesTrainingDao resourcesTrainingService;
@Autowired private TeacherOpenCourseQuestionSettingDao teacherOpenCourseQuestionSettingDao; @Autowired
@Autowired private HandsOnDao handsOnService; private ResourcesInfoService resourcesInfoService;
@Autowired private ResourcesCompetitionDao resourcesCompetitionService; @Autowired
@Autowired private TeacherOpenCourseScoreDashboardDao teacherOpenCourseScoreDashboardDao; private ResourcesQuestionService resourcesQuestionService;
@Autowired private QuestionLogSummaryDao questionLogSummaryDao; @Autowired
@Autowired private TeacherOpenCourseQuestionLogDao teacherOpenCourseQuestionLogDao; private TeacherOpenCourseStudentSigninLogService teacherOpenCourseStudentSigninLogService;
@Autowired private ResourcesQuestionSnapshotService resourcesQuestionSnapshotService; @Autowired
@Autowired private ResourcesQuestionSnapshotDao resourcesQuestionSnapshotDao; private TeacherOpenCourseQuestionSettingService teacherOpenCourseQuestionSettingService;
@Autowired private UniversitiesCollegesJurisdictionExperimentalSystemDao universitiesCollegesJurisdictionExperimentalSystemDao; @Autowired
@Autowired private UniversitiesCollegesJurisdictionCurriculumResourcesService universitiesCollegesJurisdictionCurriculumResourcesService; private TeacherOpenCourseMergeCourseInfoService teacherOpenCourseMergeCourseInfoService;
@Autowired
private TeacherOpenCourseQuestionLogService teacherOpenCourseQuestionLogService;
@Autowired
private TeacherOpenCourseHandsOnService teacherOpenCourseHandsOnService;
@Autowired
private TeacherOpenCourseHandsOnSimulationTasksService teacherOpenCourseHandsOnSimulationTasksService;
@Autowired
private HandsOnAchievementService handsOnAchievementService;
@Autowired
private TeacherOpenCourseChatLogService teacherOpenCourseChatLogService;
@Autowired
private TeacherOpenCourseDao teacherOpenCourseService;
@Autowired
private TeacherOpenCourseQuestionSettingDao teacherOpenCourseQuestionSettingDao;
@Autowired
private HandsOnDao handsOnService;
@Autowired
private ResourcesCompetitionDao resourcesCompetitionService;
@Autowired
private TeacherOpenCourseScoreDashboardDao teacherOpenCourseScoreDashboardDao;
@Autowired
private UniversitiesCollegesJurisdictionExperimentalSystemDao universitiesCollegesJurisdictionExperimentalSystemDao;
@Autowired
private UniversitiesCollegesJurisdictionCurriculumResourcesService universitiesCollegesJurisdictionCurriculumResourcesService;
@Autowired
private TeacherOpenCourseMergeResourcesInfoService teacherOpenCourseMergeResourcesInfoService;
@Autowired
private TeacherOpenCourseMergeResourcesQuestionService teacherOpenCourseMergeResourcesQuestionService;
private static final String PATTERN = "(?<=\"code\":\\[\").*?(?=\"\\],)"; private static final String PATTERN = "(?<=\"code\":\\[\").*?(?=\"\\],)";
@ -77,6 +105,7 @@ public class StatisticalAnalysisService {
/** /**
* *
*
* @param * @param
*/ */
public Map<String, Object> detail(Long teacherOpenCourseId, Date stime, Date etime) { public Map<String, Object> detail(Long teacherOpenCourseId, Date stime, Date etime) {
@ -101,9 +130,9 @@ public class StatisticalAnalysisService {
long count1 = scoreDashboards.stream().filter(v -> long count1 = scoreDashboards.stream().filter(v ->
"不及格".equals(v.getLastStatus()) || "E".equals(v.getLastStatus())).count(); "不及格".equals(v.getLastStatus()) || "E".equals(v.getLastStatus())).count();
long l = scoreDashboards.size() - count1; long l = scoreDashboards.size() - count1;
data.put("passRate", NumberUtil.formatPercent(NumberUtil.div(l,studentList.size()), 0)); data.put("passRate", NumberUtil.formatPercent(NumberUtil.div(l, studentList.size()), 0));
data.put("studentPassNum",l ); data.put("studentPassNum", l);
}else { } else {
data.put("passRate", "0%"); data.put("passRate", "0%");
data.put("studentPassNum", 0); data.put("studentPassNum", 0);
} }
@ -130,9 +159,9 @@ public class StatisticalAnalysisService {
//签到数量 //签到数量
data.put("signInNum", collect.size()); data.put("signInNum", collect.size());
//到课率 //到课率
if(CollectionUtil.isNotEmpty(collect)) { if (CollectionUtil.isNotEmpty(collect)) {
data.put("signInRate", NumberUtil.div(NumberUtil.toBigDecimal(collect.size()), NumberUtil.toBigDecimal(signinLogs.size()), 2).multiply(BigDecimal.valueOf(100)).intValue()); data.put("signInRate", NumberUtil.div(NumberUtil.toBigDecimal(collect.size()), NumberUtil.toBigDecimal(signinLogs.size()), 2).multiply(BigDecimal.valueOf(100)).intValue());
}else { } else {
data.put("signInRate", 0); data.put("signInRate", 0);
} }
//章节练习 //章节练习
@ -156,7 +185,7 @@ public class StatisticalAnalysisService {
List<TeacherOpenCourseQuestionLog> values = teacherOpenCourseQuestionLogService.getValues(teacherOpenCourseQuestionLogQuery); List<TeacherOpenCourseQuestionLog> values = teacherOpenCourseQuestionLogService.getValues(teacherOpenCourseQuestionLogQuery);
int size = values.stream().map(TeacherOpenCourseQuestionLog::getStudentId).collect(Collectors.toSet()).size(); int size = values.stream().map(TeacherOpenCourseQuestionLog::getStudentId).collect(Collectors.toSet()).size();
data.put("chapterPeople", size); data.put("chapterPeople", size);
}else { } else {
data.put("chapterPeople", 0); data.put("chapterPeople", 0);
} }
//课程实操 //课程实操
@ -178,7 +207,7 @@ public class StatisticalAnalysisService {
List<HandsOnAchievement> assessmentList = handsOnAchievementService.getValues(achievementQuery); List<HandsOnAchievement> assessmentList = handsOnAchievementService.getValues(achievementQuery);
long count = assessmentList.stream().map(HandsOnAchievement::getStudentId).count(); long count = assessmentList.stream().map(HandsOnAchievement::getStudentId).count();
data.put("handsOnPeople", count); data.put("handsOnPeople", count);
}else { } else {
data.put("handsOnPeople", 0); data.put("handsOnPeople", 0);
} }
//作业 //作业
@ -193,7 +222,7 @@ public class StatisticalAnalysisService {
List<TeacherOpenCourseQuestionLog> values = teacherOpenCourseQuestionLogService.getValues(teacherOpenCourseQuestionLogQuery); List<TeacherOpenCourseQuestionLog> values = teacherOpenCourseQuestionLogService.getValues(teacherOpenCourseQuestionLogQuery);
int size = values.stream().map(TeacherOpenCourseQuestionLog::getStudentId).collect(Collectors.toSet()).size(); int size = values.stream().map(TeacherOpenCourseQuestionLog::getStudentId).collect(Collectors.toSet()).size();
data.put("homeworkPeople", size); data.put("homeworkPeople", size);
}else { } else {
//作业参与人数 //作业参与人数
data.put("homeworkPeople", 0); data.put("homeworkPeople", 0);
} }
@ -207,7 +236,7 @@ public class StatisticalAnalysisService {
List<TeacherOpenCourseQuestionLog> values = teacherOpenCourseQuestionLogService.getValues(teacherOpenCourseQuestionLogQuery); List<TeacherOpenCourseQuestionLog> values = teacherOpenCourseQuestionLogService.getValues(teacherOpenCourseQuestionLogQuery);
int size = values.stream().map(TeacherOpenCourseQuestionLog::getStudentId).collect(Collectors.toSet()).size(); int size = values.stream().map(TeacherOpenCourseQuestionLog::getStudentId).collect(Collectors.toSet()).size();
data.put("examPeople", size); data.put("examPeople", size);
}else { } else {
//考试参与人数 //考试参与人数
data.put("examPeople", 0); data.put("examPeople", 0);
} }
@ -232,6 +261,7 @@ public class StatisticalAnalysisService {
/** /**
* *
*
* @param * @param
* @return * @return
*/ */
@ -261,24 +291,37 @@ public class StatisticalAnalysisService {
List<TeacherOpenCourseMergeStudent> studentList = teacherOpenCourseMergeStudentService.getValuesByQueryNotWithPermission(studentQuery); List<TeacherOpenCourseMergeStudent> studentList = teacherOpenCourseMergeStudentService.getValuesByQueryNotWithPermission(studentQuery);
data.put("studentNum", studentList.size()); data.put("studentNum", studentList.size());
//课件 //课件
TeacherOpenCourseMergeResourcesInfoQuery teacherOpenCourseMergeResourcesInfoQuery = new TeacherOpenCourseMergeResourcesInfoQuery();
teacherOpenCourseMergeResourcesInfoQuery.setTeacherOpenCourseId(teacherOpenCourseId);
teacherOpenCourseMergeResourcesInfoQuery.setResourcesInfoStatus(GlobalUpStatusEnum.UP);
List<TeacherOpenCourseMergeResourcesInfo> resourcesInfoList = teacherOpenCourseMergeResourcesInfoService.getValuesByQueryNotWithPermission(teacherOpenCourseMergeResourcesInfoQuery);
data.put("coursewareNum", resourcesInfoList.size());
TeacherOpenCourseMergeCourseInfoQuery courseInfoQuery = new TeacherOpenCourseMergeCourseInfoQuery(); TeacherOpenCourseMergeCourseInfoQuery courseInfoQuery = new TeacherOpenCourseMergeCourseInfoQuery();
courseInfoQuery.setTeacherOpenCourseId(teacherOpenCourseId); courseInfoQuery.setTeacherOpenCourseId(teacherOpenCourseId);
courseInfoQuery.setCourseInfoStatus(1); courseInfoQuery.setCourseInfoStatus(1);
List<TeacherOpenCourseMergeCourseInfo> courseInfos = teacherOpenCourseMergeCourseInfoService.getValuesByQueryNotWithPermission(courseInfoQuery); List<TeacherOpenCourseMergeCourseInfo> courseInfos = teacherOpenCourseMergeCourseInfoService.getValuesByQueryNotWithPermission(courseInfoQuery);
data.put("coursewareNum", courseInfos.size());
//视频 //视频
List<TeacherOpenCourseMergeCourseInfo> videoCount = courseInfos.stream().filter(v -> v.getCourseVideoId() != null).collect(Collectors.toList()); List<TeacherOpenCourseMergeCourseInfo> videoCount = courseInfos.stream().filter(v -> v.getCourseVideoId() != null).collect(Collectors.toList());
data.put("videoNum", videoCount.size()); data.put("videoNum", videoCount.size());
//题目 //题目
//习题总数 //习题总数
TeacherOpenCourseMergeResourcesQuestionQuery teacherOpenCourseMergeResourcesQuestionQuery = new TeacherOpenCourseMergeResourcesQuestionQuery();
teacherOpenCourseMergeResourcesQuestionQuery.setTeacherOpenCourseId(teacherOpenCourseId);
teacherOpenCourseMergeResourcesQuestionQuery.setQuestionStatus(1);
List<TeacherOpenCourseMergeResourcesQuestion> questionList = teacherOpenCourseMergeResourcesQuestionService.getValuesByQueryNotWithPermission(teacherOpenCourseMergeResourcesQuestionQuery);
data.put("subjectNum", questionList.size());
TeacherOpenCourseQuestionSettingQuery teacherOpenCourseQuestionSettingQuery = new TeacherOpenCourseQuestionSettingQuery(); TeacherOpenCourseQuestionSettingQuery teacherOpenCourseQuestionSettingQuery = new TeacherOpenCourseQuestionSettingQuery();
teacherOpenCourseQuestionSettingQuery.setTeacherOpenCourseId(teacherOpenCourseId); teacherOpenCourseQuestionSettingQuery.setTeacherOpenCourseId(teacherOpenCourseId);
teacherOpenCourseQuestionSettingQuery.setTeacherOpenCourseQuestionSettingPushStatus(GlobalPushStatusEnum.PUSH); teacherOpenCourseQuestionSettingQuery.setTeacherOpenCourseQuestionSettingPushStatus(GlobalPushStatusEnum.PUSH);
teacherOpenCourseQuestionSettingQuery.setTeacherOpenCourseQuestionSettingStatus(1); teacherOpenCourseQuestionSettingQuery.setTeacherOpenCourseQuestionSettingStatus(1);
List<TeacherOpenCourseQuestionSettingPure> courseQuestionSettings = teacherOpenCourseQuestionSettingDao.getValuesByQueryNotWithPermission2(teacherOpenCourseQuestionSettingQuery); List<TeacherOpenCourseQuestionSettingPure> courseQuestionSettings = teacherOpenCourseQuestionSettingDao.getValuesByQueryNotWithPermission2(teacherOpenCourseQuestionSettingQuery);
List<TeacherOpenCourseQuestionSettingPure> collect1 = courseQuestionSettings.stream().filter(v -> v.getTeacherOpenCourseQuestionSettingType().equals(ResourcesQuestionSnapshotFromTypeEnum.CHAPTER_EXERCISE)).collect(Collectors.toList()); //List<TeacherOpenCourseQuestionSettingPure> collect1 = courseQuestionSettings.stream().filter(v -> v.getTeacherOpenCourseQuestionSettingType().equals(ResourcesQuestionSnapshotFromTypeEnum.CHAPTER_EXERCISE)).collect(Collectors.toList());
data.put("subjectNum", collect1.size());
//案例 //案例
TeacherOpenCourseHandsOnQuery teacherOpenCourseHandsOnQuery = new TeacherOpenCourseHandsOnQuery(); TeacherOpenCourseHandsOnQuery teacherOpenCourseHandsOnQuery = new TeacherOpenCourseHandsOnQuery();
teacherOpenCourseHandsOnQuery.setTeacherOpenCourseId(teacherOpenCourseId); teacherOpenCourseHandsOnQuery.setTeacherOpenCourseId(teacherOpenCourseId);
@ -459,13 +502,13 @@ public class StatisticalAnalysisService {
List<String> xList = new ArrayList<>(); List<String> xList = new ArrayList<>();
List<Long> yList = new ArrayList<>(); List<Long> yList = new ArrayList<>();
collect.forEach((x,y) -> { collect.forEach((x, y) -> {
xList.add(x); xList.add(x);
yList.add(y); yList.add(y);
}); });
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
map.put("xList" , xList); map.put("xList", xList);
map.put("yList" , yList); map.put("yList", yList);
return map; return map;
} }
} }

@ -208,7 +208,16 @@ public class TeacherOpenCourseHandsOnService extends CoreBaseService<TeacherOpen
public PageQuery<TeacherOpenCourseHandsOnList> getHandsOnList(GetHandsOnListParam param) { public PageQuery<TeacherOpenCourseHandsOnList> getHandsOnList(GetHandsOnListParam param) {
PageQuery<TeacherOpenCourseHandsOnList> teacherOpenCourseHandsOns = teacherOpenCourseHandsOnDao.getHandsOnList(param.getPageQuery()); PageQuery<TeacherOpenCourseHandsOnList> teacherOpenCourseHandsOns = teacherOpenCourseHandsOnDao.getHandsOnList(param.getPageQuery());
List<TeacherOpenCourseHandsOnList> teacherOpenCourseHandsOnLists = teacherOpenCourseHandsOns.getList(); handsOnListHandler(teacherOpenCourseHandsOns.getList(),param);
return teacherOpenCourseHandsOns;
}
public List<TeacherOpenCourseHandsOnList> getHandsOnListNotPage(GetHandsOnListParam param) {
List<TeacherOpenCourseHandsOnList> teacherOpenCourseHandsOns = teacherOpenCourseHandsOnDao.getHandsOnListNotPage(param);
handsOnListHandler(teacherOpenCourseHandsOns,param);
return teacherOpenCourseHandsOns;
}
private void handsOnListHandler(List<TeacherOpenCourseHandsOnList> teacherOpenCourseHandsOnLists,GetHandsOnListParam param){
List<Long> handIds = teacherOpenCourseHandsOnLists.stream().map(TeacherOpenCourseHandsOnList::getHandsOnId).collect(Collectors.toList()); List<Long> handIds = teacherOpenCourseHandsOnLists.stream().map(TeacherOpenCourseHandsOnList::getHandsOnId).collect(Collectors.toList());
List<HandsOnAchievement> achievementList = new ArrayList<>(); List<HandsOnAchievement> achievementList = new ArrayList<>();
if (CollectionUtils.isNotEmpty(handIds)) { if (CollectionUtils.isNotEmpty(handIds)) {
@ -227,10 +236,10 @@ public class TeacherOpenCourseHandsOnService extends CoreBaseService<TeacherOpen
teacherOpenCourseHandsOnList.setStepAvgScore(stepAvgScore); teacherOpenCourseHandsOnList.setStepAvgScore(stepAvgScore);
teacherOpenCourseHandsOnList.setReportAvgScore(reportAvgScore); teacherOpenCourseHandsOnList.setReportAvgScore(reportAvgScore);
} }
teacherOpenCourseHandsOns.setList(teacherOpenCourseHandsOnLists);
return teacherOpenCourseHandsOns;
} }
public List<Map<String, Object>> getExcelValues(TeacherOpenCourseHandsOnQuery teacherOpenCourseHandsOnQuery) { public List<Map<String, Object>> getExcelValues(TeacherOpenCourseHandsOnQuery teacherOpenCourseHandsOnQuery) {
return teacherOpenCourseHandsOnDao.getExcelValues(teacherOpenCourseHandsOnQuery); return teacherOpenCourseHandsOnDao.getExcelValues(teacherOpenCourseHandsOnQuery);
} }

@ -720,25 +720,6 @@ public class TeacherOpenCourseMergeCourseInfoService extends CoreBaseService<Tea
return target; return target;
} }
/**
* ID
*
* @param courseInfoList
* @param somecourseInfoIdPair IDID
*/
public void updateSpecifyIdTargetList(List<CourseInfo> courseInfoList,
@NotEmpty(message = "ID对不能为空") Map<Long, Long> somecourseInfoIdPair) {
for (CourseInfo courseInfo : courseInfoList) {
somecourseInfoIdPair.forEach((oldId, newId) -> {
if (courseInfo.getCourseInfoId().equals(oldId)) {
courseInfo.setCourseInfoId(newId);
}
if (courseInfo.getCourseInfoParentId().equals(oldId)) {
courseInfo.setCourseInfoParentId(newId);
}
});
}
}
/** /**
* ID * ID
@ -749,14 +730,13 @@ public class TeacherOpenCourseMergeCourseInfoService extends CoreBaseService<Tea
public void updateSpecifyMergeCourseInfoIdTargetList(List<TeacherOpenCourseMergeCourseInfo> courseInfoList, public void updateSpecifyMergeCourseInfoIdTargetList(List<TeacherOpenCourseMergeCourseInfo> courseInfoList,
@NotEmpty(message = "ID对不能为空") Map<Long, Long> somecourseInfoIdPair) { @NotEmpty(message = "ID对不能为空") Map<Long, Long> somecourseInfoIdPair) {
for (TeacherOpenCourseMergeCourseInfo courseInfo : courseInfoList) { for (TeacherOpenCourseMergeCourseInfo courseInfo : courseInfoList) {
somecourseInfoIdPair.forEach((oldId, newId) -> { if (somecourseInfoIdPair.containsKey(courseInfo.getTeacherOpenCourseMergeCourseInfoId())) {
if (courseInfo.getTeacherOpenCourseMergeCourseInfoId().equals(oldId)) { courseInfo.setTeacherOpenCourseMergeCourseInfoId(somecourseInfoIdPair.get(courseInfo.getTeacherOpenCourseMergeCourseInfoId()));
courseInfo.setTeacherOpenCourseMergeCourseInfoId(newId); }
} if (somecourseInfoIdPair.containsKey(courseInfo.getCourseInfoParentId())) {
if (courseInfo.getCourseInfoParentId().equals(oldId)) { courseInfo.setCourseInfoParentId(somecourseInfoIdPair.get(courseInfo.getCourseInfoParentId()));
courseInfo.setCourseInfoParentId(newId); }
}
});
} }
} }
@ -1110,7 +1090,8 @@ public class TeacherOpenCourseMergeCourseInfoService extends CoreBaseService<Tea
for (TeacherOpenCourseMergeCourseInfo courseInfo : courseInfoList) { for (TeacherOpenCourseMergeCourseInfo courseInfo : courseInfoList) {
// 先处理掉一些不合规的数据。防止死循环过滤掉父类ID是他自己的情况 // 先处理掉一些不合规的数据。防止死循环过滤掉父类ID是他自己的情况
if (courseInfo.getCourseInfoParentId() == null if (courseInfo.getCourseInfoParentId() == null
|| courseInfo.getCourseInfoParentId().equals(courseInfo.getTeacherOpenCourseMergeCourseInfoId())) { || courseInfo.getCourseInfoParentId().equals(courseInfo.getTeacherOpenCourseMergeCourseInfoId())
|| courseInfo.getTeacherOpenCourseMergeCourseInfoId().equals(filterTeacherOpenCourseMergeCourseInfoId)) {
continue; continue;
} }
// 处理关系 // 处理关系
@ -1447,10 +1428,10 @@ public class TeacherOpenCourseMergeCourseInfoService extends CoreBaseService<Tea
public void importOpenCourseInfo(HashSet<Long> oldTeacherOpenCourseIds, Long teacherOpenCourseId) { public void importOpenCourseInfo(HashSet<Long> oldTeacherOpenCourseIds, Long teacherOpenCourseId) {
if (teacherOpenCourseId==null||CollectionUtil.isEmpty(oldTeacherOpenCourseIds)){ if (teacherOpenCourseId == null || CollectionUtil.isEmpty(oldTeacherOpenCourseIds)) {
throw new PlatformException("参数错误"); throw new PlatformException("参数错误");
} }
if (oldTeacherOpenCourseIds.contains(teacherOpenCourseId)){ if (oldTeacherOpenCourseIds.contains(teacherOpenCourseId)) {
throw new PlatformException("不能自己导入自己"); throw new PlatformException("不能自己导入自己");
} }

@ -1051,4 +1051,8 @@ public class TeacherOpenCourseQuestionSettingService extends CoreBaseService<Tea
questionSetting.setQuestionSettingOptions(questionSettingDTOList); questionSetting.setQuestionSettingOptions(questionSettingDTOList);
} }
} }
public List<TeacherOpenCourseQuestionSetting> queryByConditionQueryNotPage(TeacherOpenCourseQuestionSettingQuery condition) {
return teacherOpenCourseQuestionSettingDao.queryByConditionQueryNotPage(condition);
}
} }

@ -372,7 +372,7 @@ public class TeacherOpenCourseStudentSigninLogService extends CoreBaseService<Te
// 获取登录用户教师身份不支持IP签到教师只能手动签到 // 获取登录用户教师身份不支持IP签到教师只能手动签到
// 获取学生信息 // 获取学生信息
Student student = getStudent(); Student student = getStudent();
Assert.notNull(student, "IP签到方式,只允许学生进行操作!"); Assert.notNull(student, "验证码签到方式,只允许学生进行操作!");
// 获取学生信息 // 获取学生信息
Assert.isTrue(schoolClassIdJudgment(student.getClassId(), signinSetting), "该学生所在的班级不符合签到要求!"); Assert.isTrue(schoolClassIdJudgment(student.getClassId(), signinSetting), "该学生所在的班级不符合签到要求!");
@ -582,8 +582,12 @@ public class TeacherOpenCourseStudentSigninLogService extends CoreBaseService<Te
BeanUtil.copyProperties(signinSetting, entity); BeanUtil.copyProperties(signinSetting, entity);
DateTime now = DateUtil.date(); DateTime now = DateUtil.date();
//获取现在的时间 精确到分
// 默认的一些属性填充。添加主表 // 默认的一些属性填充。添加主表
entity.setTeacherOpenCourseStudentSigninSettingSessionTime(now); DateTime parse = DateUtil.parse(DateUtil.format(now, "yyyy-MM-dd HH:mm"), "yyyy-MM-dd HH:mm");
entity.setTeacherOpenCourseStudentSigninSettingSessionTime(parse);
entity.setTeacherOpenCourseStudentSigninSettingStartTime(now); entity.setTeacherOpenCourseStudentSigninSettingStartTime(now);
entity.setTeacherOpenCourseStudentSigninSettingEndTime(now); entity.setTeacherOpenCourseStudentSigninSettingEndTime(now);
entity.setTeacherOpenCourseStudentSigninSettingAddTime(now); entity.setTeacherOpenCourseStudentSigninSettingAddTime(now);

@ -27,6 +27,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@ -44,14 +45,17 @@ import static com.ibeetl.admin.core.util.BeanUtil.copyAllPropertiesSupportExtMap
@Transactional @Transactional
@Validated @Validated
@Slf4j @Slf4j
public class TeacherOpenCourseStudentSigninSettingService extends CoreBaseService<TeacherOpenCourseStudentSigninSetting> implements DeleteResourcesBy{ public class TeacherOpenCourseStudentSigninSettingService extends CoreBaseService<TeacherOpenCourseStudentSigninSetting> implements DeleteResourcesBy {
@Autowired private TeacherOpenCourseStudentSigninSettingDao teacherOpenCourseStudentSigninSettingDao; @Autowired
@Autowired private TeacherOpenCourseStudentSigninLogDao teacherOpenCourseStudentSigninLogDao; private TeacherOpenCourseStudentSigninSettingDao teacherOpenCourseStudentSigninSettingDao;
@Autowired private TeacherOpenCourseStudentSigninSettingQueryValidator settingQueryValidator; @Autowired
private TeacherOpenCourseStudentSigninLogDao teacherOpenCourseStudentSigninLogDao;
@Autowired
private TeacherOpenCourseStudentSigninSettingQueryValidator settingQueryValidator;
public PageQuery<TeacherOpenCourseStudentSigninSetting>queryByCondition(PageQuery query){ public PageQuery<TeacherOpenCourseStudentSigninSetting> queryByCondition(PageQuery query) {
PageQuery ret = teacherOpenCourseStudentSigninSettingDao.queryByCondition(query); PageQuery ret = teacherOpenCourseStudentSigninSettingDao.queryByCondition(query);
queryListAfter(ret.getList()); queryListAfter(ret.getList());
// setSummaryInfo(ret.getList()); // setSummaryInfo(ret.getList());
return ret; return ret;
@ -59,6 +63,7 @@ public class TeacherOpenCourseStudentSigninSettingService extends CoreBaseServic
/** /**
* ID * ID
*
* @param list * @param list
*/ */
private void setSummaryInfo(List<TeacherOpenCourseStudentSigninSetting> list) { private void setSummaryInfo(List<TeacherOpenCourseStudentSigninSetting> list) {
@ -82,24 +87,24 @@ public class TeacherOpenCourseStudentSigninSettingService extends CoreBaseServic
} }
} }
public PageQuery<TeacherOpenCourseStudentSigninSetting>queryByConditionQuery(PageQuery query){ public PageQuery<TeacherOpenCourseStudentSigninSetting> queryByConditionQuery(PageQuery query) {
PageQuery ret = teacherOpenCourseStudentSigninSettingDao.queryByConditionQuery(query); PageQuery ret = teacherOpenCourseStudentSigninSettingDao.queryByConditionQuery(query);
queryListAfter(ret.getList()); queryListAfter(ret.getList());
return ret; return ret;
} }
public void deleteByList(List list){ public void deleteByList(List list) {
String ids = ""; String ids = "";
ToolUtils.deleteNullList(list); ToolUtils.deleteNullList(list);
for(int i=0;null != list && i<list.size();i++){ for (int i = 0; null != list && i < list.size(); i++) {
ids += list.get(i).toString()+(i==list.size()-1?"":","); ids += list.get(i).toString() + (i == list.size() - 1 ? "" : ",");
} }
if(StringUtils.isNotBlank(ids)){ if (StringUtils.isNotBlank(ids)) {
teacherOpenCourseStudentSigninSettingDao.deleteByIds(ids); teacherOpenCourseStudentSigninSettingDao.deleteByIds(ids);
} }
} }
public void deleteTeacherOpenCourseStudentSigninSetting(String ids){ public void deleteTeacherOpenCourseStudentSigninSetting(String ids) {
try { try {
teacherOpenCourseStudentSigninSettingDao.deleteTeacherOpenCourseStudentSigninSettingByIds(ids); teacherOpenCourseStudentSigninSettingDao.deleteTeacherOpenCourseStudentSigninSettingByIds(ids);
} catch (Exception e) { } catch (Exception e) {
@ -107,7 +112,7 @@ public class TeacherOpenCourseStudentSigninSettingService extends CoreBaseServic
} }
} }
public String addAll(TeacherOpenCourseStudentSigninSettingQuery teacherOpenCourseStudentSigninSettingQuery){ public String addAll(TeacherOpenCourseStudentSigninSettingQuery teacherOpenCourseStudentSigninSettingQuery) {
String msg = ""; String msg = "";
List<TeacherOpenCourseStudentSigninSetting> teacherOpenCourseStudentSigninSettingList = new ArrayList<>(); List<TeacherOpenCourseStudentSigninSetting> teacherOpenCourseStudentSigninSettingList = new ArrayList<>();
try { try {
@ -115,11 +120,12 @@ public class TeacherOpenCourseStudentSigninSettingService extends CoreBaseServic
} catch (Exception e) { } catch (Exception e) {
try { try {
teacherOpenCourseStudentSigninSettingList.add(JSONObject.parseObject(teacherOpenCourseStudentSigninSettingQuery.getTeacherOpenCourseStudentSigninSettingJsonStr(), TeacherOpenCourseStudentSigninSetting.class)); teacherOpenCourseStudentSigninSettingList.add(JSONObject.parseObject(teacherOpenCourseStudentSigninSettingQuery.getTeacherOpenCourseStudentSigninSettingJsonStr(), TeacherOpenCourseStudentSigninSetting.class));
} catch (Exception e1) {} } catch (Exception e1) {
}
} }
ToolUtils.deleteNullList(teacherOpenCourseStudentSigninSettingList); ToolUtils.deleteNullList(teacherOpenCourseStudentSigninSettingList);
if(null != teacherOpenCourseStudentSigninSettingList && teacherOpenCourseStudentSigninSettingList.size()>0){ if (null != teacherOpenCourseStudentSigninSettingList && teacherOpenCourseStudentSigninSettingList.size() > 0) {
for(int i=0;i<teacherOpenCourseStudentSigninSettingList.size();i++){ for (int i = 0; i < teacherOpenCourseStudentSigninSettingList.size(); i++) {
TeacherOpenCourseStudentSigninSetting teacherOpenCourseStudentSigninSetting = teacherOpenCourseStudentSigninSettingList.get(i); TeacherOpenCourseStudentSigninSetting teacherOpenCourseStudentSigninSetting = teacherOpenCourseStudentSigninSettingList.get(i);
teacherOpenCourseStudentSigninSetting.setUserId(teacherOpenCourseStudentSigninSettingQuery.getUserId()); teacherOpenCourseStudentSigninSetting.setUserId(teacherOpenCourseStudentSigninSettingQuery.getUserId());
teacherOpenCourseStudentSigninSetting.setOrgId(teacherOpenCourseStudentSigninSettingQuery.getOrgId()); teacherOpenCourseStudentSigninSetting.setOrgId(teacherOpenCourseStudentSigninSettingQuery.getOrgId());
@ -136,6 +142,17 @@ public class TeacherOpenCourseStudentSigninSettingService extends CoreBaseServic
teacherOpenCourseStudentSigninSetting.setTeacherOpenCourseStudentSigninSettingAddTime(new Date()); teacherOpenCourseStudentSigninSetting.setTeacherOpenCourseStudentSigninSettingAddTime(new Date());
// 默认是未开始的状态 // 默认是未开始的状态
teacherOpenCourseStudentSigninSetting.setTeacherOpenCourseStudentSigninSettingStartStatus(StartStatusEnum.READY); teacherOpenCourseStudentSigninSetting.setTeacherOpenCourseStudentSigninSettingStartStatus(StartStatusEnum.READY);
//获取现在时间 只保留到分钟
Date now = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
String nowTime = dateFormat.format(now);
try {
now = dateFormat.parse(nowTime);
}catch (Exception e){
throw new PlatformException("时间转换异常", e);
}
teacherOpenCourseStudentSigninSetting.setTeacherOpenCourseStudentSigninSettingSessionTime(now);
teacherOpenCourseStudentSigninSettingDao.insert(teacherOpenCourseStudentSigninSetting); teacherOpenCourseStudentSigninSettingDao.insert(teacherOpenCourseStudentSigninSetting);
teacherOpenCourseStudentSigninSettingQuery.setTeacherOpenCourseStudentSigninSettingId(teacherOpenCourseStudentSigninSetting.getTeacherOpenCourseStudentSigninSettingId()); teacherOpenCourseStudentSigninSettingQuery.setTeacherOpenCourseStudentSigninSettingId(teacherOpenCourseStudentSigninSetting.getTeacherOpenCourseStudentSigninSettingId());
JsonResult jsonResult = new JsonResult(); JsonResult jsonResult = new JsonResult();
@ -145,35 +162,35 @@ public class TeacherOpenCourseStudentSigninSettingService extends CoreBaseServic
return jsonResult; return jsonResult;
} }
public String edit(TeacherOpenCourseStudentSigninSettingQuery teacherOpenCourseStudentSigninSettingQuery){ public String edit(TeacherOpenCourseStudentSigninSettingQuery teacherOpenCourseStudentSigninSettingQuery) {
String msg = ""; String msg = "";
TeacherOpenCourseStudentSigninSetting teacherOpenCourseStudentSigninSetting = teacherOpenCourseStudentSigninSettingQuery.pojo(); TeacherOpenCourseStudentSigninSetting teacherOpenCourseStudentSigninSetting = teacherOpenCourseStudentSigninSettingQuery.pojo();
teacherOpenCourseStudentSigninSettingDao.updateTemplateById(teacherOpenCourseStudentSigninSetting); teacherOpenCourseStudentSigninSettingDao.updateTemplateById(teacherOpenCourseStudentSigninSetting);
return msg; return msg;
} }
public String updateGivenByIds(TeacherOpenCourseStudentSigninSettingQuery teacherOpenCourseStudentSigninSettingQuery){ public String updateGivenByIds(TeacherOpenCourseStudentSigninSettingQuery teacherOpenCourseStudentSigninSettingQuery) {
String msg = ""; String msg = "";
if(StringUtils.isNotBlank(teacherOpenCourseStudentSigninSettingQuery.get_given())){ if (StringUtils.isNotBlank(teacherOpenCourseStudentSigninSettingQuery.get_given())) {
boolean flag = teacherOpenCourseStudentSigninSettingDao.updateGivenByIds(teacherOpenCourseStudentSigninSettingQuery) > 0; boolean flag = teacherOpenCourseStudentSigninSettingDao.updateGivenByIds(teacherOpenCourseStudentSigninSettingQuery) > 0;
if(!flag){ if (!flag) {
msg = "更新指定参数失败"; msg = "更新指定参数失败";
} }
}else{ } else {
msg = "指定参数为空"; msg = "指定参数为空";
} }
return msg; return msg;
} }
public List<TeacherOpenCourseStudentSigninSetting> getValues (Object paras){ public List<TeacherOpenCourseStudentSigninSetting> getValues(Object paras) {
return sqlManager.select(SqlId.of("jlw.teacherOpenCourseStudentSigninSetting.getTeacherOpenCourseStudentSigninSettingValues"), TeacherOpenCourseStudentSigninSetting.class, paras); return sqlManager.select(SqlId.of("jlw.teacherOpenCourseStudentSigninSetting.getTeacherOpenCourseStudentSigninSettingValues"), TeacherOpenCourseStudentSigninSetting.class, paras);
} }
public List<TeacherOpenCourseStudentSigninSetting> getValuesByQuery (TeacherOpenCourseStudentSigninSettingQuery teacherOpenCourseStudentSigninSettingQuery){ public List<TeacherOpenCourseStudentSigninSetting> getValuesByQuery(TeacherOpenCourseStudentSigninSettingQuery teacherOpenCourseStudentSigninSettingQuery) {
return teacherOpenCourseStudentSigninSettingDao.getValuesByQuery(teacherOpenCourseStudentSigninSettingQuery); return teacherOpenCourseStudentSigninSettingDao.getValuesByQuery(teacherOpenCourseStudentSigninSettingQuery);
} }
public List<TeacherOpenCourseStudentSigninSetting> getValuesByQueryNotWithPermission (TeacherOpenCourseStudentSigninSettingQuery teacherOpenCourseStudentSigninSettingQuery){ public List<TeacherOpenCourseStudentSigninSetting> getValuesByQueryNotWithPermission(TeacherOpenCourseStudentSigninSettingQuery teacherOpenCourseStudentSigninSettingQuery) {
return teacherOpenCourseStudentSigninSettingDao.getValuesByQueryNotWithPermission(teacherOpenCourseStudentSigninSettingQuery); return teacherOpenCourseStudentSigninSettingDao.getValuesByQueryNotWithPermission(teacherOpenCourseStudentSigninSettingQuery);
} }
@ -181,35 +198,36 @@ public class TeacherOpenCourseStudentSigninSettingService extends CoreBaseServic
dictParser(obj); dictParser(obj);
} }
public TeacherOpenCourseStudentSigninSetting getInfo (Long teacherOpenCourseStudentSigninSettingId){ public TeacherOpenCourseStudentSigninSetting getInfo(Long teacherOpenCourseStudentSigninSettingId) {
TeacherOpenCourseStudentSigninSettingQuery teacherOpenCourseStudentSigninSettingQuery = new TeacherOpenCourseStudentSigninSettingQuery(); TeacherOpenCourseStudentSigninSettingQuery teacherOpenCourseStudentSigninSettingQuery = new TeacherOpenCourseStudentSigninSettingQuery();
teacherOpenCourseStudentSigninSettingQuery.setTeacherOpenCourseStudentSigninSettingId(teacherOpenCourseStudentSigninSettingId); teacherOpenCourseStudentSigninSettingQuery.setTeacherOpenCourseStudentSigninSettingId(teacherOpenCourseStudentSigninSettingId);
teacherOpenCourseStudentSigninSettingQuery.setTeacherOpenCourseStudentSigninSettingStatusPlural("1,2");//需要根据实际情况来 teacherOpenCourseStudentSigninSettingQuery.setTeacherOpenCourseStudentSigninSettingStatusPlural("1,2");//需要根据实际情况来
List<TeacherOpenCourseStudentSigninSetting> list = teacherOpenCourseStudentSigninSettingDao.getValuesByQuery(teacherOpenCourseStudentSigninSettingQuery); List<TeacherOpenCourseStudentSigninSetting> list = teacherOpenCourseStudentSigninSettingDao.getValuesByQuery(teacherOpenCourseStudentSigninSettingQuery);
if(null != list && list.size()>0){ if (null != list && list.size() > 0) {
return list.get(0); return list.get(0);
}else{ } else {
return null; return null;
} }
} }
public TeacherOpenCourseStudentSigninSetting getInfo (TeacherOpenCourseStudentSigninSettingQuery teacherOpenCourseStudentSigninSettingQuery){ public TeacherOpenCourseStudentSigninSetting getInfo(TeacherOpenCourseStudentSigninSettingQuery teacherOpenCourseStudentSigninSettingQuery) {
List<TeacherOpenCourseStudentSigninSetting> list = teacherOpenCourseStudentSigninSettingDao.getValuesByQuery(teacherOpenCourseStudentSigninSettingQuery); List<TeacherOpenCourseStudentSigninSetting> list = teacherOpenCourseStudentSigninSettingDao.getValuesByQuery(teacherOpenCourseStudentSigninSettingQuery);
if(null != list && list.size()>0){ if (null != list && list.size() > 0) {
return list.get(0); return list.get(0);
}else{ } else {
return null; return null;
} }
} }
/** /**
* *
*
* @param id * @param id
* @param status * @param status
*/ */
public void updateStatus(@NotNull(message = "签到配置ID不能为空") Long id, public void updateStatus(@NotNull(message = "签到配置ID不能为空") Long id,
@NotNull(message = "签到状态不能为空!") @NotNull(message = "签到状态不能为空!")
Integer status) { Integer status) {
TeacherOpenCourseStudentSigninSetting model = new TeacherOpenCourseStudentSigninSetting(); TeacherOpenCourseStudentSigninSetting model = new TeacherOpenCourseStudentSigninSetting();
model.setTeacherOpenCourseStudentSigninSettingId(id); model.setTeacherOpenCourseStudentSigninSettingId(id);
@ -226,17 +244,19 @@ public class TeacherOpenCourseStudentSigninSettingService extends CoreBaseServic
settingQuery.set_given( settingQuery.set_given(
"teacherOpenCourseStudentSigninSettingAddTime," + "teacherOpenCourseStudentSigninSettingAddTime," +
"teacherOpenCourseStudentSigninSettingEndTime," + "teacherOpenCourseStudentSigninSettingEndTime," +
"teacherOpenCourseStudentSigninSettingStartStatus"); "teacherOpenCourseStudentSigninSettingStartStatus");
updateGivenByIds(settingQuery); updateGivenByIds(settingQuery);
} break; }
break;
case 2: { case 2: {
// 结束时间,赋值 // 结束时间,赋值
model.setTeacherOpenCourseStudentSigninSettingEndTime(new Date()); model.setTeacherOpenCourseStudentSigninSettingEndTime(new Date());
model.setTeacherOpenCourseStudentSigninSettingStartStatus(StartStatusEnum.END); model.setTeacherOpenCourseStudentSigninSettingStartStatus(StartStatusEnum.END);
updateTemplate(model); updateTemplate(model);
} break; }
break;
} }

@ -45,7 +45,6 @@ public class StatisticalAnalysisController {
/** /**
* *
* @param map
* @return * @return
*/ */
@RequestMapping("/indexDetail.do") @RequestMapping("/indexDetail.do")

@ -1,5 +1,6 @@
package com.ibeetl.jlw.web; package com.ibeetl.jlw.web;
import cn.hutool.core.util.StrUtil;
import cn.jlw.Interceptor.SCoreUser; import cn.jlw.Interceptor.SCoreUser;
import cn.jlw.util.ToolUtils; import cn.jlw.util.ToolUtils;
import cn.jlw.validate.ValidateConfig; import cn.jlw.validate.ValidateConfig;
@ -7,6 +8,8 @@ import com.alibaba.fastjson.JSON;
import com.ibeetl.admin.core.annotation.Function; import com.ibeetl.admin.core.annotation.Function;
import com.ibeetl.admin.core.entity.CoreUser; import com.ibeetl.admin.core.entity.CoreUser;
import com.ibeetl.admin.core.file.FileService; import com.ibeetl.admin.core.file.FileService;
import com.ibeetl.admin.core.util.BeanCopyUtil;
import com.ibeetl.admin.core.util.PlatformException;
import com.ibeetl.admin.core.util.TimeTool; import com.ibeetl.admin.core.util.TimeTool;
import com.ibeetl.admin.core.web.JsonResult; import com.ibeetl.admin.core.web.JsonResult;
import com.ibeetl.jlw.entity.TeacherOpenCourseHandsOn; import com.ibeetl.jlw.entity.TeacherOpenCourseHandsOn;
@ -33,9 +36,14 @@ import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.LinkedHashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import static com.ibeetl.admin.core.util.ExcelUtil.convertData;
import static com.ibeetl.admin.core.util.ExcelUtil.write;
/** /**
* - - * - -
* 线 * 线
@ -315,6 +323,36 @@ public class TeacherOpenCourseHandsOnController{
} }
} }
/**
*
* @param coreUser
* @return
*/
@GetMapping(MODEL + "/exportHandsOnList.do")
public void exportHandsOnList(GetHandsOnListParam param, HttpServletResponse response, @SCoreUser CoreUser coreUser) throws IOException {
if (null == coreUser) {
throw new PlatformException("请登录后再操作");
} else {
/** 构建表头 */
Map<String, String> header = new LinkedHashMap<>(11);
header.put("handsOnName", "项目名称");
header.put("videoAvgScore", "观看视频平均得分");
header.put("pptAvgScore", "观看PPT平均得分");
header.put("theoryAvgScore", "理论测评平均得分");
header.put("stepAvgScore", "实训操作步骤平均得分");
header.put("reportAvgScore", "报告撰写平均得分");
List<TeacherOpenCourseHandsOnList> list = teacherOpenCourseHandsOnService.getHandsOnListNotPage(param);
List<Map<String, Object>> maps = BeanCopyUtil.baseEntity2MapWithParallel(list);
String filename = StrUtil.format("实操列表 {}.xlsx", System.currentTimeMillis());
write(response, filename, "Sheet1", header.values(), convertData(header.keySet(), maps));
}
}
// //
/** /**

@ -1,5 +1,6 @@
package com.ibeetl.jlw.web; package com.ibeetl.jlw.web;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.jlw.Interceptor.SCoreUser; import cn.jlw.Interceptor.SCoreUser;
import cn.jlw.validate.ValidateConfig; import cn.jlw.validate.ValidateConfig;
@ -27,10 +28,7 @@ import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.util.HashMap; import java.util.*;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import static cn.jlw.util.CacheUserUtil.getStudent; import static cn.jlw.util.CacheUserUtil.getStudent;
import static com.ibeetl.admin.core.util.ExcelUtil.convertData; import static com.ibeetl.admin.core.util.ExcelUtil.convertData;
@ -86,22 +84,30 @@ public class TeacherOpenCourseQuestionSettingController {
if (condition.getTeacherOpenCourseQuestionSettingType() == null) { if (condition.getTeacherOpenCourseQuestionSettingType() == null) {
throw new PlatformException("参数错误"); throw new PlatformException("参数错误");
} }
if (coreUser.isStudent()) { if (coreUser.isStudent()) {
condition.setTeacherOpenCourseQuestionSettingPushStatus(GlobalPushStatusEnum.PUSH); condition.setTeacherOpenCourseQuestionSettingPushStatus(GlobalPushStatusEnum.PUSH);
condition.setTeacherOpenCourseQuestionSettingStatus(1); condition.setTeacherOpenCourseQuestionSettingStatus(1);
} }
condition.setPage(1);
condition.setLimit(Long.MAX_VALUE);
PageQuery page = condition.getPageQuery();
teacherOpenCourseQuestionSettingService.queryByConditionQuery(page);
String baseName = "";
for (Object o : page.getList()) { List<TeacherOpenCourseQuestionSetting> list = teacherOpenCourseQuestionSettingService.queryByConditionQueryNotPage(condition);
TeacherOpenCourseQuestionSetting setting = (TeacherOpenCourseQuestionSetting) o; teacherOpenCourseQuestionSettingService.fullQuestionSettingOptions(list);
if (!condition.getNotSelectOther()) {
// 设置分数和完成时间
teacherOpenCourseQuestionSettingService.setMyQuestionLogScoreInfo(list, getStudent());
}
String baseName = "";
for (TeacherOpenCourseQuestionSetting setting :list) {
GlobalPushStatusEnum teacherOpenCourseQuestionSettingPushStatus = setting.getTeacherOpenCourseQuestionSettingPushStatus(); GlobalPushStatusEnum teacherOpenCourseQuestionSettingPushStatus = setting.getTeacherOpenCourseQuestionSettingPushStatus();
setting.set("teacherOpenCourseQuestionSettingPushStatusText",teacherOpenCourseQuestionSettingPushStatus.getText()); setting.set("teacherOpenCourseQuestionSettingPushStatusText",teacherOpenCourseQuestionSettingPushStatus.getText());
String teacherOpenCourseQuestionStartAndEndTime =
( setting.getTeacherOpenCourseQuestionStartTime()!=null?DateUtil.format(setting.getTeacherOpenCourseQuestionStartTime(),"yyyy-MM-dd HH:mm:ss"):"" )
+ " ~ " +
( setting.getTeacherOpenCourseQuestionEndTime()!=null?DateUtil.format(setting.getTeacherOpenCourseQuestionEndTime(),"yyyy-MM-dd HH:mm:ss"):"" );
setting.set("teacherOpenCourseQuestionStartAndEndTime",teacherOpenCourseQuestionStartAndEndTime);
} }
/** 构建表头 */ /** 构建表头 */
@ -112,9 +118,7 @@ public class TeacherOpenCourseQuestionSettingController {
case EXAM: case EXAM:
header.put("teacherOpenCourseQuestionSettingName", "考试名称"); header.put("teacherOpenCourseQuestionSettingName", "考试名称");
header.put("teacherOpenCourseQuestionSettingSchoolClassNames", "考试班级"); header.put("teacherOpenCourseQuestionSettingSchoolClassNames", "考试班级");
header.put("teacherOpenCourseQuestionStartTime", "考试开始时间"); header.put("teacherOpenCourseQuestionStartAndEndTime", "考试时间");
header.put("teacherOpenCourseQuestionEndTime", "考试结束时间");
header.put("avgSuccessCount", "平均答对数量"); header.put("avgSuccessCount", "平均答对数量");
header.put("avgErrorCount", "平均答错数量"); header.put("avgErrorCount", "平均答错数量");
header.put("avgSuccessRate", "平均正确率"); header.put("avgSuccessRate", "平均正确率");
@ -126,8 +130,7 @@ public class TeacherOpenCourseQuestionSettingController {
case HOMEWORK_QUESTION: case HOMEWORK_QUESTION:
header.put("teacherOpenCourseQuestionSettingName", "题库作业名称"); header.put("teacherOpenCourseQuestionSettingName", "题库作业名称");
header.put("teacherOpenCourseQuestionSettingSchoolClassNames", "考试班级"); header.put("teacherOpenCourseQuestionSettingSchoolClassNames", "考试班级");
header.put("teacherOpenCourseQuestionStartTime", "作业开始时间"); header.put("teacherOpenCourseQuestionStartAndEndTime", "作业时间");
header.put("teacherOpenCourseQuestionEndTime", "作业结束时间");
header.put("avgPassRate", "及格率"); header.put("avgPassRate", "及格率");
header.put("avgScore", "平均得分"); header.put("avgScore", "平均得分");
header.put("teacherOpenCourseQuestionSettingPushStatusText", "状态"); header.put("teacherOpenCourseQuestionSettingPushStatusText", "状态");
@ -137,11 +140,10 @@ public class TeacherOpenCourseQuestionSettingController {
case HOMEWORK_FILE: case HOMEWORK_FILE:
header.put("teacherOpenCourseQuestionSettingName", "题库作业名称"); header.put("teacherOpenCourseQuestionSettingName", "题库作业名称");
header.put("teacherOpenCourseQuestionSettingSchoolClassNames", "作业班级"); header.put("teacherOpenCourseQuestionSettingSchoolClassNames", "作业班级");
header.put("messageAddTime", "作业附件"); //header.put("messageAddTime", "作业附件");
header.put("avgScore", "平均得分"); header.put("avgScore", "平均得分");
header.put("avgPassRate", "及格率"); header.put("avgPassRate", "及格率");
header.put("teacherOpenCourseQuestionStartTime", "作业开始时间"); header.put("teacherOpenCourseQuestionStartAndEndTime", "作业时间");
header.put("teacherOpenCourseQuestionEndTime", "作业结束时间");
header.put("teacherOpenCourseQuestionSettingPushStatusText", "状态"); header.put("teacherOpenCourseQuestionSettingPushStatusText", "状态");
baseName = "附件作业-导出"; baseName = "附件作业-导出";
break; break;
@ -150,7 +152,9 @@ public class TeacherOpenCourseQuestionSettingController {
throw new PlatformException("参数错误"); throw new PlatformException("参数错误");
} }
List<Map<String, Object>> maps = BeanCopyUtil.baseEntity2MapWithParallel(page.getList()); List<Map<String, Object>> maps = BeanCopyUtil.baseEntity2MapWithParallel(list);
String filename = StrUtil.format("{} {}.xlsx", baseName, System.currentTimeMillis()); String filename = StrUtil.format("{} {}.xlsx", baseName, System.currentTimeMillis());
write(response, filename, "Sheet1", header.values(), convertData(header.keySet(), maps)); write(response, filename, "Sheet1", header.values(), convertData(header.keySet(), maps));

@ -343,6 +343,15 @@ getHandsOnList
from teacher_open_course_hands_on t from teacher_open_course_hands_on t
where t.teacher_open_course_id =#teacherOpenCourseId# where t.teacher_open_course_id =#teacherOpenCourseId#
getHandsOnListNotPage
===
* 查询参数
select
t.*
from teacher_open_course_hands_on t
where t.teacher_open_course_id =#teacherOpenCourseId#
getExcelValues getExcelValues
=== ===

@ -679,4 +679,93 @@ getQuestionSettingScoreInfo
and t.question_log_add_type = 'FINALLY_SUBMIT' and t.question_log_add_type = 'FINALLY_SUBMIT'
and t.teacher_open_course_question_setting_id = #questionSettingId# and t.teacher_open_course_question_setting_id = #questionSettingId#
and t.student_id = #studentId# and t.student_id = #studentId#
queryByConditionQueryNotPage
===
* 根据不为空的条件进行查询
select
t.*
from teacher_open_course_question_setting t
where 1=1
@//数据权限该sql语句功能点,如果不考虑数据权限,可以删除此行
and #function("teacherOpenCourseQuestionSetting.query")#
@if(!isEmpty(teacherOpenCourseQuestionSettingId)){
and t.teacher_open_course_question_setting_id =#teacherOpenCourseQuestionSettingId#
@}
@if(!isEmpty(teacherOpenCourseQuestionSettingIdPlural)){
and find_in_set(t.teacher_open_course_question_setting_id,#teacherOpenCourseQuestionSettingIdPlural#)
@}
@if(!isEmpty(teacherOpenCourseId)){
and t.teacher_open_course_id =#teacherOpenCourseId#
@}
@if(!isEmpty(teacherOpenCourseIdPlural)){
and find_in_set(t.teacher_open_course_id,#teacherOpenCourseIdPlural#)
@}
@if(!isEmpty(teacherOpenCourseQuestionSettingSchoolClassIds)){
and t.teacher_open_course_question_setting_school_class_ids =#teacherOpenCourseQuestionSettingSchoolClassIds#
@}
@if(!isEmpty(teacherOpenCourseQuestionSettingDoCount)){
and t.teacher_open_course_question_setting_do_count =#teacherOpenCourseQuestionSettingDoCount#
@}
@if(!isEmpty(teacherOpenCourseQuestionSettingQuestionNoOrder)){
and t.teacher_open_course_question_setting_question_no_order =#teacherOpenCourseQuestionSettingQuestionNoOrder#
@}
@if(!isEmpty(teacherOpenCourseQuestionSettingOptionNoOrder)){
and t.teacher_open_course_question_setting_option_no_order =#teacherOpenCourseQuestionSettingOptionNoOrder#
@}
@if(!isEmpty(teacherOpenCourseQuestionSettingEndShowQa)){
and t.teacher_open_course_question_setting_end_show_qa =#teacherOpenCourseQuestionSettingEndShowQa#
@}
@if(!isEmpty(teacherOpenCourseQuestionSettingEndShowTrueFalse)){
and t.teacher_open_course_question_setting_end_show_true_false =#teacherOpenCourseQuestionSettingEndShowTrueFalse#
@}
@if(!isEmpty(teacherOpenCourseQuestionSettingName)){
and t.teacher_open_course_question_setting_name =#teacherOpenCourseQuestionSettingName#
@}
@if(!isEmpty(teacherOpenCourseQuestionStartTime)){
and t.teacher_open_course_question_start_time =#teacherOpenCourseQuestionStartTime#
@}
@if(!isEmpty(teacherOpenCourseQuestionEndTime)){
and t.teacher_open_course_question_end_time =#teacherOpenCourseQuestionEndTime#
@}
@if(!isEmpty(teacherOpenCourseQuestionSettingType)){
and t.teacher_open_course_question_setting_type =#teacherOpenCourseQuestionSettingType#
@}
@if(!isEmpty(teacherOpenCourseQuestionSettingFile)){
and t.teacher_open_course_question_setting_file =#teacherOpenCourseQuestionSettingFile#
@}
@if(!isEmpty(teacherOpenCourseQuestionSettingPushStatus)){
and t.teacher_open_course_question_setting_push_status =#teacherOpenCourseQuestionSettingPushStatus#
@}
@if(isEmpty(teacherOpenCourseQuestionSettingStatus) && isEmpty(teacherOpenCourseQuestionSettingStatusPlural)){
and t.teacher_open_course_question_setting_status != 2
@}else{
@if(!isEmpty(teacherOpenCourseQuestionSettingStatus)){
and t.teacher_open_course_question_setting_status =#teacherOpenCourseQuestionSettingStatus#
@}else if(!isEmpty(teacherOpenCourseQuestionSettingStatusPlural)){
and find_in_set(t.teacher_open_course_question_setting_status,#teacherOpenCourseQuestionSettingStatusPlural#)
@}
@}
@if(!isEmpty(teacherOpenCourseQuestionSettingAddTime)){
and t.teacher_open_course_question_setting_add_time =#teacherOpenCourseQuestionSettingAddTime#
@}
@if(!isEmpty(teacherOpenCourseQuestionSettingRequire)){
and t.teacher_open_course_question_setting_require =#teacherOpenCourseQuestionSettingRequire#
@}
@if(!isEmpty(teacherOpenCourseMergeCourseInfoId)){
and t.teacher_open_course_merge_course_info_id =#teacherOpenCourseMergeCourseInfoId#
@}
@if(!isEmpty(orgId)){
and t.org_id =#orgId#
@}
@if(!isEmpty(orgIdPlural)){
and find_in_set(t.org_id,#orgIdPlural#)
@}
@if(!isEmpty(userId)){
and t.user_id =#userId#
@}
@if(!isEmpty(userIdPlural)){
and find_in_set(t.user_id,#userIdPlural#)
@}
ORDER BY
CONVERT(regexp_replace ( t.teacher_open_course_question_setting_name, '[^0-9]+', '' ),unsigned) asc

Loading…
Cancel
Save