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

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

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

@ -1,5 +1,7 @@
package com.ibeetl.jlw.entity;
import com.ibeetl.admin.core.entity.BaseEntity;
/**
*
*
@ -7,7 +9,7 @@ package com.ibeetl.jlw.entity;
* @Author
* @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.jlw.dao.*;
import com.ibeetl.jlw.entity.*;
import com.ibeetl.jlw.enums.ChatLogSendTypeEnum;
import com.ibeetl.jlw.enums.GlobalPushStatusEnum;
import com.ibeetl.jlw.enums.ResourcesQuestionSnapshotFromTypeEnum;
import com.ibeetl.jlw.enums.SignInTypeEnum;
import com.ibeetl.jlw.enums.*;
import com.ibeetl.jlw.web.query.*;
import org.apache.commons.lang3.StringUtils;
import org.beetl.sql.core.query.LambdaQuery;
@ -28,48 +25,79 @@ import static com.ibeetl.jlw.enums.ResourcesQuestionSnapshotFromTypeEnum.HOMEWOR
/**
* service
*
* @Version 0.0.1
* @Author
* @Date 2022/10/7 12:25
*
*/
@Service
public class StatisticalAnalysisService {
@Autowired private StatisticalAnalysisDao statisticalAnalysisDao;
@Autowired private TeacherOpenCourseMergeSchoolClassService teacherOpenCourseMergeSchoolClassService;
@Autowired private TeacherOpenCourseMergeStudentService teacherOpenCourseMergeStudentService;
@Autowired private TeacherOpenCourseNoticeService teacherOpenCourseNoticeService;
@Autowired private StudentService studentService;
@Autowired private TeacherService teacherService;
@Autowired private CourseInfoService courseInfoService;
@Autowired private ResourcesApplicationService resourcesApplicationService;
@Autowired private UniversitiesCollegesDao universitiesCollegesDao;
@Autowired private SysLogDao sysLogDao;
@Autowired private UniversitiesCollegesService universitiesCollegesService;
@Autowired private CoreUserDao coreUserDao;
@Autowired private ResourcesTrainingDao resourcesTrainingService;
@Autowired private ResourcesInfoService resourcesInfoService;
@Autowired private ResourcesQuestionService resourcesQuestionService;
@Autowired private TeacherOpenCourseStudentSigninLogService teacherOpenCourseStudentSigninLogService;
@Autowired private TeacherOpenCourseQuestionSettingService teacherOpenCourseQuestionSettingService;
@Autowired 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 QuestionLogSummaryDao questionLogSummaryDao;
@Autowired private TeacherOpenCourseQuestionLogDao teacherOpenCourseQuestionLogDao;
@Autowired private ResourcesQuestionSnapshotService resourcesQuestionSnapshotService;
@Autowired private ResourcesQuestionSnapshotDao resourcesQuestionSnapshotDao;
@Autowired private UniversitiesCollegesJurisdictionExperimentalSystemDao universitiesCollegesJurisdictionExperimentalSystemDao;
@Autowired private UniversitiesCollegesJurisdictionCurriculumResourcesService universitiesCollegesJurisdictionCurriculumResourcesService;
@Autowired
private TeacherOpenCourseMergeSchoolClassService teacherOpenCourseMergeSchoolClassService;
@Autowired
private TeacherOpenCourseMergeStudentService teacherOpenCourseMergeStudentService;
@Autowired
private TeacherOpenCourseNoticeService teacherOpenCourseNoticeService;
@Autowired
private StudentService studentService;
@Autowired
private TeacherService teacherService;
@Autowired
private ResourcesApplicationService resourcesApplicationService;
@Autowired
private UniversitiesCollegesDao universitiesCollegesDao;
@Autowired
private SysLogDao sysLogDao;
@Autowired
private UniversitiesCollegesService universitiesCollegesService;
@Autowired
private CoreUserDao coreUserDao;
@Autowired
private ResourcesTrainingDao resourcesTrainingService;
@Autowired
private ResourcesInfoService resourcesInfoService;
@Autowired
private ResourcesQuestionService resourcesQuestionService;
@Autowired
private TeacherOpenCourseStudentSigninLogService teacherOpenCourseStudentSigninLogService;
@Autowired
private TeacherOpenCourseQuestionSettingService teacherOpenCourseQuestionSettingService;
@Autowired
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\":\\[\").*?(?=\"\\],)";
@ -77,6 +105,7 @@ public class StatisticalAnalysisService {
/**
*
*
* @param
*/
public Map<String, Object> detail(Long teacherOpenCourseId, Date stime, Date etime) {
@ -101,9 +130,9 @@ public class StatisticalAnalysisService {
long count1 = scoreDashboards.stream().filter(v ->
"不及格".equals(v.getLastStatus()) || "E".equals(v.getLastStatus())).count();
long l = scoreDashboards.size() - count1;
data.put("passRate", NumberUtil.formatPercent(NumberUtil.div(l,studentList.size()), 0));
data.put("studentPassNum",l );
}else {
data.put("passRate", NumberUtil.formatPercent(NumberUtil.div(l, studentList.size()), 0));
data.put("studentPassNum", l);
} else {
data.put("passRate", "0%");
data.put("studentPassNum", 0);
}
@ -130,9 +159,9 @@ public class StatisticalAnalysisService {
//签到数量
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());
}else {
} else {
data.put("signInRate", 0);
}
//章节练习
@ -156,7 +185,7 @@ public class StatisticalAnalysisService {
List<TeacherOpenCourseQuestionLog> values = teacherOpenCourseQuestionLogService.getValues(teacherOpenCourseQuestionLogQuery);
int size = values.stream().map(TeacherOpenCourseQuestionLog::getStudentId).collect(Collectors.toSet()).size();
data.put("chapterPeople", size);
}else {
} else {
data.put("chapterPeople", 0);
}
//课程实操
@ -178,7 +207,7 @@ public class StatisticalAnalysisService {
List<HandsOnAchievement> assessmentList = handsOnAchievementService.getValues(achievementQuery);
long count = assessmentList.stream().map(HandsOnAchievement::getStudentId).count();
data.put("handsOnPeople", count);
}else {
} else {
data.put("handsOnPeople", 0);
}
//作业
@ -193,7 +222,7 @@ public class StatisticalAnalysisService {
List<TeacherOpenCourseQuestionLog> values = teacherOpenCourseQuestionLogService.getValues(teacherOpenCourseQuestionLogQuery);
int size = values.stream().map(TeacherOpenCourseQuestionLog::getStudentId).collect(Collectors.toSet()).size();
data.put("homeworkPeople", size);
}else {
} else {
//作业参与人数
data.put("homeworkPeople", 0);
}
@ -207,7 +236,7 @@ public class StatisticalAnalysisService {
List<TeacherOpenCourseQuestionLog> values = teacherOpenCourseQuestionLogService.getValues(teacherOpenCourseQuestionLogQuery);
int size = values.stream().map(TeacherOpenCourseQuestionLog::getStudentId).collect(Collectors.toSet()).size();
data.put("examPeople", size);
}else {
} else {
//考试参与人数
data.put("examPeople", 0);
}
@ -232,6 +261,7 @@ public class StatisticalAnalysisService {
/**
*
*
* @param
* @return
*/
@ -261,24 +291,37 @@ public class StatisticalAnalysisService {
List<TeacherOpenCourseMergeStudent> studentList = teacherOpenCourseMergeStudentService.getValuesByQueryNotWithPermission(studentQuery);
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();
courseInfoQuery.setTeacherOpenCourseId(teacherOpenCourseId);
courseInfoQuery.setCourseInfoStatus(1);
List<TeacherOpenCourseMergeCourseInfo> courseInfos = teacherOpenCourseMergeCourseInfoService.getValuesByQueryNotWithPermission(courseInfoQuery);
data.put("coursewareNum", courseInfos.size());
//视频
List<TeacherOpenCourseMergeCourseInfo> videoCount = courseInfos.stream().filter(v -> v.getCourseVideoId() != null).collect(Collectors.toList());
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.setTeacherOpenCourseId(teacherOpenCourseId);
teacherOpenCourseQuestionSettingQuery.setTeacherOpenCourseQuestionSettingPushStatus(GlobalPushStatusEnum.PUSH);
teacherOpenCourseQuestionSettingQuery.setTeacherOpenCourseQuestionSettingStatus(1);
List<TeacherOpenCourseQuestionSettingPure> courseQuestionSettings = teacherOpenCourseQuestionSettingDao.getValuesByQueryNotWithPermission2(teacherOpenCourseQuestionSettingQuery);
List<TeacherOpenCourseQuestionSettingPure> collect1 = courseQuestionSettings.stream().filter(v -> v.getTeacherOpenCourseQuestionSettingType().equals(ResourcesQuestionSnapshotFromTypeEnum.CHAPTER_EXERCISE)).collect(Collectors.toList());
data.put("subjectNum", collect1.size());
//List<TeacherOpenCourseQuestionSettingPure> collect1 = courseQuestionSettings.stream().filter(v -> v.getTeacherOpenCourseQuestionSettingType().equals(ResourcesQuestionSnapshotFromTypeEnum.CHAPTER_EXERCISE)).collect(Collectors.toList());
//案例
TeacherOpenCourseHandsOnQuery teacherOpenCourseHandsOnQuery = new TeacherOpenCourseHandsOnQuery();
teacherOpenCourseHandsOnQuery.setTeacherOpenCourseId(teacherOpenCourseId);
@ -459,13 +502,13 @@ public class StatisticalAnalysisService {
List<String> xList = new ArrayList<>();
List<Long> yList = new ArrayList<>();
collect.forEach((x,y) -> {
collect.forEach((x, y) -> {
xList.add(x);
yList.add(y);
});
Map<String, Object> map = new HashMap<>();
map.put("xList" , xList);
map.put("yList" , yList);
map.put("xList", xList);
map.put("yList", yList);
return map;
}
}

@ -208,7 +208,16 @@ public class TeacherOpenCourseHandsOnService extends CoreBaseService<TeacherOpen
public PageQuery<TeacherOpenCourseHandsOnList> getHandsOnList(GetHandsOnListParam param) {
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<HandsOnAchievement> achievementList = new ArrayList<>();
if (CollectionUtils.isNotEmpty(handIds)) {
@ -227,10 +236,10 @@ public class TeacherOpenCourseHandsOnService extends CoreBaseService<TeacherOpen
teacherOpenCourseHandsOnList.setStepAvgScore(stepAvgScore);
teacherOpenCourseHandsOnList.setReportAvgScore(reportAvgScore);
}
teacherOpenCourseHandsOns.setList(teacherOpenCourseHandsOnLists);
return teacherOpenCourseHandsOns;
}
public List<Map<String, Object>> getExcelValues(TeacherOpenCourseHandsOnQuery teacherOpenCourseHandsOnQuery) {
return teacherOpenCourseHandsOnDao.getExcelValues(teacherOpenCourseHandsOnQuery);
}

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

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

@ -372,7 +372,7 @@ public class TeacherOpenCourseStudentSigninLogService extends CoreBaseService<Te
// 获取登录用户教师身份不支持IP签到教师只能手动签到
// 获取学生信息
Student student = getStudent();
Assert.notNull(student, "IP签到方式,只允许学生进行操作!");
Assert.notNull(student, "验证码签到方式,只允许学生进行操作!");
// 获取学生信息
Assert.isTrue(schoolClassIdJudgment(student.getClassId(), signinSetting), "该学生所在的班级不符合签到要求!");
@ -582,8 +582,12 @@ public class TeacherOpenCourseStudentSigninLogService extends CoreBaseService<Te
BeanUtil.copyProperties(signinSetting, entity);
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.setTeacherOpenCourseStudentSigninSettingEndTime(now);
entity.setTeacherOpenCourseStudentSigninSettingAddTime(now);

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

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

@ -1,5 +1,6 @@
package com.ibeetl.jlw.web;
import cn.hutool.core.util.StrUtil;
import cn.jlw.Interceptor.SCoreUser;
import cn.jlw.util.ToolUtils;
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.entity.CoreUser;
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.web.JsonResult;
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.HttpServletResponse;
import java.io.IOException;
import java.util.LinkedHashMap;
import java.util.List;
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;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import cn.jlw.Interceptor.SCoreUser;
import cn.jlw.validate.ValidateConfig;
@ -27,10 +28,7 @@ import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import static cn.jlw.util.CacheUserUtil.getStudent;
import static com.ibeetl.admin.core.util.ExcelUtil.convertData;
@ -86,22 +84,30 @@ public class TeacherOpenCourseQuestionSettingController {
if (condition.getTeacherOpenCourseQuestionSettingType() == null) {
throw new PlatformException("参数错误");
}
if (coreUser.isStudent()) {
condition.setTeacherOpenCourseQuestionSettingPushStatus(GlobalPushStatusEnum.PUSH);
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()) {
TeacherOpenCourseQuestionSetting setting = (TeacherOpenCourseQuestionSetting) o;
List<TeacherOpenCourseQuestionSetting> list = teacherOpenCourseQuestionSettingService.queryByConditionQueryNotPage(condition);
teacherOpenCourseQuestionSettingService.fullQuestionSettingOptions(list);
if (!condition.getNotSelectOther()) {
// 设置分数和完成时间
teacherOpenCourseQuestionSettingService.setMyQuestionLogScoreInfo(list, getStudent());
}
String baseName = "";
for (TeacherOpenCourseQuestionSetting setting :list) {
GlobalPushStatusEnum teacherOpenCourseQuestionSettingPushStatus = setting.getTeacherOpenCourseQuestionSettingPushStatus();
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:
header.put("teacherOpenCourseQuestionSettingName", "考试名称");
header.put("teacherOpenCourseQuestionSettingSchoolClassNames", "考试班级");
header.put("teacherOpenCourseQuestionStartTime", "考试开始时间");
header.put("teacherOpenCourseQuestionEndTime", "考试结束时间");
header.put("teacherOpenCourseQuestionStartAndEndTime", "考试时间");
header.put("avgSuccessCount", "平均答对数量");
header.put("avgErrorCount", "平均答错数量");
header.put("avgSuccessRate", "平均正确率");
@ -126,8 +130,7 @@ public class TeacherOpenCourseQuestionSettingController {
case HOMEWORK_QUESTION:
header.put("teacherOpenCourseQuestionSettingName", "题库作业名称");
header.put("teacherOpenCourseQuestionSettingSchoolClassNames", "考试班级");
header.put("teacherOpenCourseQuestionStartTime", "作业开始时间");
header.put("teacherOpenCourseQuestionEndTime", "作业结束时间");
header.put("teacherOpenCourseQuestionStartAndEndTime", "作业时间");
header.put("avgPassRate", "及格率");
header.put("avgScore", "平均得分");
header.put("teacherOpenCourseQuestionSettingPushStatusText", "状态");
@ -137,11 +140,10 @@ public class TeacherOpenCourseQuestionSettingController {
case HOMEWORK_FILE:
header.put("teacherOpenCourseQuestionSettingName", "题库作业名称");
header.put("teacherOpenCourseQuestionSettingSchoolClassNames", "作业班级");
header.put("messageAddTime", "作业附件");
//header.put("messageAddTime", "作业附件");
header.put("avgScore", "平均得分");
header.put("avgPassRate", "及格率");
header.put("teacherOpenCourseQuestionStartTime", "作业开始时间");
header.put("teacherOpenCourseQuestionEndTime", "作业结束时间");
header.put("teacherOpenCourseQuestionStartAndEndTime", "作业时间");
header.put("teacherOpenCourseQuestionSettingPushStatusText", "状态");
baseName = "附件作业-导出";
break;
@ -150,7 +152,9 @@ public class TeacherOpenCourseQuestionSettingController {
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());
write(response, filename, "Sheet1", header.values(), convertData(header.keySet(), maps));

@ -343,6 +343,15 @@ getHandsOnList
from teacher_open_course_hands_on t
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
===

@ -679,4 +679,93 @@ getQuestionSettingScoreInfo
and t.question_log_add_type = 'FINALLY_SUBMIT'
and t.teacher_open_course_question_setting_id = #questionSettingId#
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