修复考证配置的题目修改不成功的问题

beetlsql3-dev
yaodan 2 years ago
parent ef0ee1826d
commit dc18d6b8f4

@ -157,5 +157,7 @@ public interface GeneralQuestionLogDao extends BaseMapper<GeneralQuestionLog> {
*/ */
long getNotSubmitQuestionLogsCount(Long studentId, Long questionSettingId); long getNotSubmitQuestionLogsCount(Long studentId, Long questionSettingId);
Boolean existGeneralQuestionSettingId(Long generalQuestionSettingId);
} }

@ -1386,4 +1386,8 @@ public class GeneralQuestionLogService extends CoreBaseService<GeneralQuestionLo
// 只取部分属性给到前端 // 只取部分属性给到前端
return BeanUtil.copyToList(list, QuestionLogAnswerLockVO.class); return BeanUtil.copyToList(list, QuestionLogAnswerLockVO.class);
} }
public Boolean existGeneralQuestionSettingId(Long generalQuestionSettingId) {
return generalQuestionLogDao.existGeneralQuestionSettingId(generalQuestionSettingId);
}
} }

@ -23,6 +23,7 @@ import com.ibeetl.jlw.entity.dto.QuestionSettingDTO;
import com.ibeetl.jlw.enums.*; import com.ibeetl.jlw.enums.*;
import com.ibeetl.jlw.service.questionQueue.generalQuestionSettingQueue.GeneralQuestionSettingRedisDelayQueueImpl; import com.ibeetl.jlw.service.questionQueue.generalQuestionSettingQueue.GeneralQuestionSettingRedisDelayQueueImpl;
import com.ibeetl.jlw.web.query.*; import com.ibeetl.jlw.web.query.*;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Row;
@ -64,16 +65,25 @@ import static com.ibeetl.jlw.enums.TuckOrErrorEnum.TUCK_TEST;
@Validated @Validated
public class GeneralQuestionSettingService extends CoreBaseService<GeneralQuestionSetting> { public class GeneralQuestionSettingService extends CoreBaseService<GeneralQuestionSetting> {
@Autowired private GeneralQuestionSettingDao generalQuestionSettingDao; @Autowired
@Autowired private GeneralResourcesQuestionSnapshotDao generalResourcesQuestionSnapshotDao; private GeneralQuestionSettingDao generalQuestionSettingDao;
@Autowired private GeneralQuestionLogDao generalQuestionLogDao; @Autowired
@Autowired private QuestionLogSummaryDao questionLogSummaryDao; private GeneralResourcesQuestionSnapshotDao generalResourcesQuestionSnapshotDao;
@Autowired private GeneralQuestionLogService generalQuestionLogService; @Autowired
@Autowired @Lazy private GeneralQuestionLogDao generalQuestionLogDao;
@Autowired
private QuestionLogSummaryDao questionLogSummaryDao;
@Autowired
private GeneralQuestionLogService generalQuestionLogService;
@Autowired
@Lazy
private GeneralResourcesQuestionSnapshotService generalResourcesQuestionSnapshotService; private GeneralResourcesQuestionSnapshotService generalResourcesQuestionSnapshotService;
@Autowired private ResourcesQuestionService resourcesQuestionService; @Autowired
@Autowired private GeneralQuestionSettingRedisDelayQueueImpl generalQuestionSettingRedisDelayQueue; private ResourcesQuestionService resourcesQuestionService;
@Autowired private CourseInfoDao courseInfoDao; @Autowired
private GeneralQuestionSettingRedisDelayQueueImpl generalQuestionSettingRedisDelayQueue;
@Autowired
private CourseInfoDao courseInfoDao;
public PageQuery<GeneralQuestionSetting> queryByCondition(PageQuery query) { public PageQuery<GeneralQuestionSetting> queryByCondition(PageQuery query) {
PageQuery ret = generalQuestionSettingDao.queryByCondition(query); PageQuery ret = generalQuestionSettingDao.queryByCondition(query);
@ -105,6 +115,7 @@ public class GeneralQuestionSettingService extends CoreBaseService<GeneralQuesti
throw new PlatformException("批量删除通用题目配置失败", e); throw new PlatformException("批量删除通用题目配置失败", e);
} }
} }
public void deleteByIds(String ids) { public void deleteByIds(String ids) {
try { try {
generalQuestionSettingDao.deleteByIds(ids); generalQuestionSettingDao.deleteByIds(ids);
@ -121,7 +132,8 @@ public class GeneralQuestionSettingService extends CoreBaseService<GeneralQuesti
} catch (Exception e) { } catch (Exception e) {
try { try {
generalQuestionSettingList.add(JSONObject.parseObject(generalQuestionSettingQuery.getGeneralQuestionSettingJsonStr(), GeneralQuestionSetting.class)); generalQuestionSettingList.add(JSONObject.parseObject(generalQuestionSettingQuery.getGeneralQuestionSettingJsonStr(), GeneralQuestionSetting.class));
} catch (Exception e1) {} } catch (Exception e1) {
}
} }
ToolUtils.deleteNullList(generalQuestionSettingList); ToolUtils.deleteNullList(generalQuestionSettingList);
if (null != generalQuestionSettingList && generalQuestionSettingList.size() > 0) { if (null != generalQuestionSettingList && generalQuestionSettingList.size() > 0) {
@ -147,11 +159,95 @@ public class GeneralQuestionSettingService extends CoreBaseService<GeneralQuesti
return jsonResult; return jsonResult;
} }
public String edit(GeneralQuestionSettingQuery generalQuestionSettingQuery){ public JsonResult edit(GeneralQuestionSettingQuery generalQuestionSettingQuery) {
String msg = ""; Long generalQuestionSettingId = generalQuestionSettingQuery.getGeneralQuestionSettingId();
Boolean existGeneralQuestionSettingId = generalQuestionLogService.existGeneralQuestionSettingId(generalQuestionSettingId);
if (existGeneralQuestionSettingId) {
return JsonResult.failMessage("此配置已存在学生考试记录,无法修改相关信息");
}
//更新基础属性
GeneralQuestionSetting generalQuestionSetting = generalQuestionSettingQuery.pojo(); GeneralQuestionSetting generalQuestionSetting = generalQuestionSettingQuery.pojo();
generalQuestionSettingDao.updateTemplateById(generalQuestionSetting); generalQuestionSettingDao.updateTemplateById(generalQuestionSetting);
return msg;
//先删除之前的题目,再重新生成
generalResourcesQuestionSnapshotDao.deleteBySettingIds(generalQuestionSettingId.toString());
if (!CollectionUtils.isEmpty(generalQuestionSettingQuery.getQuestionSettingOptions())) {
// 插入快照
final Long teacherOpenCourseQuestionSettingId = generalQuestionSettingQuery.getGeneralQuestionSettingId();
// 传入的开课题目IDS
String resourcesQuestionIdPlural = generalQuestionSettingQuery.getResourcesQuestionIdPlural();
// 题目类型区分
Collection<QuestionSettingDTO> settingDTOList = generalQuestionSettingQuery.getQuestionSettingOptions();
// 用于指定课程中拉取题目。暂时查询中不会用到
final String sourceCourseInfoIds = generalQuestionSettingQuery.getSourceCourseInfoIds();
// 批量添加课程ID
settingDTOList.forEach(item -> item.setSourceCourseInfoIds(sourceCourseInfoIds));
// 如果指定的题目IDs不为空的话则需要对这些题目进行题目类型分组。
if (ObjectUtil.isNotEmpty(resourcesQuestionIdPlural)) {
// 指定课程
String joinFindCourseInfoIds = null;
if (StrUtil.isNotBlank(sourceCourseInfoIds)) {
String sourceCourseInfoIdsNew = ArrayUtil.join(sourceCourseInfoIds.split(","), "|", "_", "_");
List<String> findCourseInfoIds = courseInfoDao.createLambdaQuery().andLike(CourseInfo::getCourseInfoFullId, sourceCourseInfoIdsNew)
.andEq(CourseInfo::getCourseInfoStatus, 1)
.select(String.class, "course_info_id");
joinFindCourseInfoIds = ArrayUtil.join(findCourseInfoIds, ",");
}
ResourcesQuestionQuery questionQuery = new ResourcesQuestionQuery();
questionQuery.setQuestionStatus(1);
// 这里可能为空,就不做判断了。
questionQuery.setCourseInfoIds(joinFindCourseInfoIds);
questionQuery.setResourcesQuestionIds(resourcesQuestionIdPlural);
List<ResourcesQuestion> questionList = resourcesQuestionService.getValuesByQueryNotWithPermission(questionQuery);
// 无差别题目IDS转换成类型区分的集合
Map<ResourcesQuestionTypeEnum, QuestionSettingDTO> map =
resourcesQuestionService.buildSettingDtoListByNoDiffQuestionList(questionList);
// 设置分值
generalQuestionSettingQuery.getQuestionSettingOptions().forEach(item -> {
QuestionSettingDTO settingDTO = map.get(item.getQuestionType());
if (ObjectUtil.isAllNotEmpty(settingDTO, item.getSingleScore())) {
settingDTO.setSingleScore(item.getSingleScore());
}
});
if (ObjectUtil.isNotEmpty(map)) {
settingDTOList = map.values();
}
}
List<GeneralResourcesQuestionSnapshot> list =
generalResourcesQuestionSnapshotService.getQuestionBySettingOptionDTOList(settingDTOList, Collections.emptyMap());
if (ObjectUtil.isNotEmpty(list)) {
list.forEach(item -> {
item.setGeneralQuestionSettingId(teacherOpenCourseQuestionSettingId);
item.setBusinessCourseInfoId(generalQuestionSettingQuery.getBusinessId());
item.setBusinessCourseInfoType(QuestionBusinessTypeEnum.FROM_SYSTEM);
});
// 更新ID
setNewCourseInfoId(list, Collections.emptyMap());
generalResourcesQuestionSnapshotDao.insertBatch(list);
} else {
throw new PlatformException("题目配置信息有误,未获取到的题目!");
}
}else {
throw new PlatformException("题目配置信息有误,未获取到的题目!");
}
return JsonResult.success();
} }
public String updateGivenByIds(GeneralQuestionSettingQuery generalQuestionSettingQuery) { public String updateGivenByIds(GeneralQuestionSettingQuery generalQuestionSettingQuery) {
@ -181,6 +277,7 @@ public class GeneralQuestionSettingService extends CoreBaseService<GeneralQuesti
/** /**
* IDs * IDs
*
* @param ids IDs * @param ids IDs
* @return * @return
*/ */
@ -194,6 +291,7 @@ public class GeneralQuestionSettingService extends CoreBaseService<GeneralQuesti
/** /**
* IDs * IDs
*
* @param businessIds IDs * @param businessIds IDs
* @return * @return
*/ */
@ -343,72 +441,55 @@ public class GeneralQuestionSettingService extends CoreBaseService<GeneralQuesti
if (StringUtils.isBlank(bussinessId)) { if (StringUtils.isBlank(bussinessId)) {
errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[0]) + 1) + "列,第" + (i + 1) + "行业务为空"}); errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[0]) + 1) + "列,第" + (i + 1) + "行业务为空"});
continue; continue;
}else } else if (StringUtils.isBlank(bussinessType)) {
if(StringUtils.isBlank(bussinessType)){
errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[1]) + 1) + "列,第" + (i + 1) + "行业务类型为空"}); errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[1]) + 1) + "列,第" + (i + 1) + "行业务类型为空"});
continue; continue;
}else } else if (StringUtils.isBlank(generalQuestionSettingSchoolClassIds)) {
if(StringUtils.isBlank(generalQuestionSettingSchoolClassIds)){
errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[2]) + 1) + "列,第" + (i + 1) + "行班级ID集合为空"}); errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[2]) + 1) + "列,第" + (i + 1) + "行班级ID集合为空"});
continue; continue;
}else } else if (StringUtils.isBlank(generalQuestionSettingDoCount)) {
if(StringUtils.isBlank(generalQuestionSettingDoCount)){
errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[3]) + 1) + "列,第" + (i + 1) + "行作答次数为空"}); errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[3]) + 1) + "列,第" + (i + 1) + "行作答次数为空"});
continue; continue;
}else } else if (StringUtils.isBlank(generalQuestionSettingQuestionNoOrder)) {
if(StringUtils.isBlank(generalQuestionSettingQuestionNoOrder)){
errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[4]) + 1) + "列,第" + (i + 1) + "行题目乱序为空"}); errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[4]) + 1) + "列,第" + (i + 1) + "行题目乱序为空"});
continue; continue;
}else } else if (StringUtils.isBlank(generalQuestionSettingOptionNoOrder)) {
if(StringUtils.isBlank(generalQuestionSettingOptionNoOrder)){
errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[5]) + 1) + "列,第" + (i + 1) + "行选项乱序为空"}); errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[5]) + 1) + "列,第" + (i + 1) + "行选项乱序为空"});
continue; continue;
}else } else if (StringUtils.isBlank(generalQuestionSettingEndShowQa)) {
if(StringUtils.isBlank(generalQuestionSettingEndShowQa)){
errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[6]) + 1) + "列,第" + (i + 1) + "行答卷后显示答案解析为空"}); errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[6]) + 1) + "列,第" + (i + 1) + "行答卷后显示答案解析为空"});
continue; continue;
}else } else if (StringUtils.isBlank(generalQuestionSettingEndShowTrueFalse)) {
if(StringUtils.isBlank(generalQuestionSettingEndShowTrueFalse)){
errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[7]) + 1) + "列,第" + (i + 1) + "行答卷后显示答案对错为空"}); errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[7]) + 1) + "列,第" + (i + 1) + "行答卷后显示答案对错为空"});
continue; continue;
}else } else if (StringUtils.isBlank(generalQuestionSettingName)) {
if(StringUtils.isBlank(generalQuestionSettingName)){
errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[8]) + 1) + "列,第" + (i + 1) + "行题目-名称为空"}); errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[8]) + 1) + "列,第" + (i + 1) + "行题目-名称为空"});
continue; continue;
}else } else if (StringUtils.isBlank(generalQuestionStartTime)) {
if(StringUtils.isBlank(generalQuestionStartTime)){
errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[9]) + 1) + "列,第" + (i + 1) + "行题目开始时间为空"}); errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[9]) + 1) + "列,第" + (i + 1) + "行题目开始时间为空"});
continue; continue;
}else } else if (StringUtils.isBlank(generalQuestionEndTime)) {
if(StringUtils.isBlank(generalQuestionEndTime)){
errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[10]) + 1) + "列,第" + (i + 1) + "行题目结束时间为空"}); errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[10]) + 1) + "列,第" + (i + 1) + "行题目结束时间为空"});
continue; continue;
}else } else if (StringUtils.isBlank(generalQuestionSettingType)) {
if(StringUtils.isBlank(generalQuestionSettingType)){
errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[11]) + 1) + "列,第" + (i + 1) + "行类型 枚举为空"}); errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[11]) + 1) + "列,第" + (i + 1) + "行类型 枚举为空"});
continue; continue;
}else } else if (StringUtils.isBlank(generalQuestionSettingRequire)) {
if(StringUtils.isBlank(generalQuestionSettingRequire)){
errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[12]) + 1) + "列,第" + (i + 1) + "行题目要求为空"}); errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[12]) + 1) + "列,第" + (i + 1) + "行题目要求为空"});
continue; continue;
}else } else if (StringUtils.isBlank(generalQuestionSettingFile)) {
if(StringUtils.isBlank(generalQuestionSettingFile)){
errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[13]) + 1) + "列,第" + (i + 1) + "行附件,老师上传附件为空"}); errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[13]) + 1) + "列,第" + (i + 1) + "行附件,老师上传附件为空"});
continue; continue;
}else } else if (StringUtils.isBlank(generalQuestionSettingPushStatus)) {
if(StringUtils.isBlank(generalQuestionSettingPushStatus)){
errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[14]) + 1) + "列,第" + (i + 1) + "行发布状态。 1发布2未发布为空"}); errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[14]) + 1) + "列,第" + (i + 1) + "行发布状态。 1发布2未发布为空"});
continue; continue;
}else } else if (StringUtils.isBlank(generalQuestionSettingStatus)) {
if(StringUtils.isBlank(generalQuestionSettingStatus)){
errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[15]) + 1) + "列,第" + (i + 1) + "行状态 为空"}); errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[15]) + 1) + "列,第" + (i + 1) + "行状态 为空"});
continue; continue;
}else } else if (StringUtils.isBlank(generalQuestionSettingAddTime)) {
if(StringUtils.isBlank(generalQuestionSettingAddTime)){
errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[16]) + 1) + "列,第" + (i + 1) + "行创建时间为空"}); errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[16]) + 1) + "列,第" + (i + 1) + "行创建时间为空"});
continue; continue;
}else } else {
{
//TODO 保存 //TODO 保存
GeneralQuestionSetting generalQuestionSetting = new GeneralQuestionSetting(); GeneralQuestionSetting generalQuestionSetting = new GeneralQuestionSetting();
generalQuestionSetting.setBusinessId(Long.parseLong(bussinessId)); generalQuestionSetting.setBusinessId(Long.parseLong(bussinessId));
@ -461,6 +542,7 @@ public class GeneralQuestionSettingService extends CoreBaseService<GeneralQuesti
/** /**
* ID * ID
*
* @param questionSettingId * @param questionSettingId
* @return * @return
*/ */
@ -476,6 +558,7 @@ public class GeneralQuestionSettingService extends CoreBaseService<GeneralQuesti
/** /**
* ID * ID
* *
*
* @param questionSettingId * @param questionSettingId
* @return * @return
*/ */
@ -680,8 +763,7 @@ public class GeneralQuestionSettingService extends CoreBaseService<GeneralQuesti
// 更新ID // 更新ID
setNewCourseInfoId(list, courseInfoIdPair); setNewCourseInfoId(list, courseInfoIdPair);
generalResourcesQuestionSnapshotDao.insertBatch(list); generalResourcesQuestionSnapshotDao.insertBatch(list);
} } else {
else {
throw new PlatformException("题目配置信息有误,未获取到的题目!"); throw new PlatformException("题目配置信息有误,未获取到的题目!");
} }
} }
@ -807,6 +889,7 @@ public class GeneralQuestionSettingService extends CoreBaseService<GeneralQuesti
/** /**
* *
*
* @param list * @param list
*/ */
public void fullQuestionSettingOptions(List<GeneralQuestionSetting> list) { public void fullQuestionSettingOptions(List<GeneralQuestionSetting> list) {
@ -832,6 +915,7 @@ public class GeneralQuestionSettingService extends CoreBaseService<GeneralQuesti
/** /**
* *
*
* @param list * @param list
* @param student * @param student
*/ */

@ -540,7 +540,7 @@ public class ResourcesQuestionService extends CoreBaseService<ResourcesQuestion>
CourseInfoQuery paras = new CourseInfoQuery(); CourseInfoQuery paras = new CourseInfoQuery();
paras.setCourseInfoType(1); paras.setCourseInfoType(1);
paras.setCourseLabelId(once.getCourseLabelId()); paras.setCourseLabelId(once.getCourseLabelId());
paras.setCourseInfoStatus(1); paras.setCourseInfoStatus(2);
paras.setCourseInfoName(courseInfoName); paras.setCourseInfoName(courseInfoName);
paras.setOrgId(coreUser.getOrgId()); paras.setOrgId(coreUser.getOrgId());
paras.setUserId(coreUser.getId()); paras.setUserId(coreUser.getId());
@ -579,10 +579,10 @@ public class ResourcesQuestionService extends CoreBaseService<ResourcesQuestion>
chapterCache.put(courseInfoName, collect); chapterCache.put(courseInfoName, collect);
} }
courseInfo = courseInfoCache.get(courseInfoName); courseInfo = courseInfoCache.get(courseInfoName);
if (Objects.equals(courseInfo.getCourseInfoStatus(),2)){ //if (Objects.equals(courseInfo.getCourseInfoStatus(),2)){
errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[0]) + 1) + "列,第" + (i + 1) + "行课程处于禁止状态,禁止导入"}); // errMsg.add(new String[]{"第" + ToolUtils.numberToLetter(map.get(columns[0]) + 1) + "列,第" + (i + 1) + "行课程处于禁止状态,禁止导入"});
continue; // continue;
} //}
} }
//查章节 //查章节

@ -301,19 +301,14 @@ public class GeneralQuestionSettingController{
@PostMapping(MODEL + "/edit.json") @PostMapping(MODEL + "/edit.json")
@Function("generalQuestionSetting.edit") @Function("generalQuestionSetting.edit")
public JsonResult<String> update(@Validated(ValidateConfig.UPDATE.class) @RequestBody GeneralQuestionSettingQuery generalQuestionSettingQuery, BindingResult result) { public JsonResult update(@Validated(ValidateConfig.UPDATE.class) @RequestBody GeneralQuestionSettingQuery generalQuestionSettingQuery, BindingResult result) {
if(result.hasErrors()){ if(result.hasErrors()){
return JsonResult.failMessage(result); return JsonResult.failMessage(result);
}else { }else {
Assert.notNull(getUser(), "请登录后再操作"); Assert.notNull(getUser(), "请登录后再操作");
generalQuestionSettingQuery.setUserId(null); generalQuestionSettingQuery.setUserId(null);
generalQuestionSettingQuery.setOrgId(null); generalQuestionSettingQuery.setOrgId(null);
String msg = generalQuestionSettingService.edit(generalQuestionSettingQuery); return generalQuestionSettingService.edit(generalQuestionSettingQuery);
if (StringUtils.isBlank(msg)) {
return JsonResult.success();
} else {
return JsonResult.failMessage("更新失败,"+msg);
}
} }
} }

@ -1301,3 +1301,8 @@ getNotSubmitQuestionLogsCount
) )
AND t.student_id = #studentId# AND t.student_id = #studentId#
AND t.general_question_setting_id = #questionSettingId# AND t.general_question_setting_id = #questionSettingId#
existGeneralQuestionSettingId
===
* 判断这个配置是否已经产生考生记录
select IF(count(*)>0,1,0) from general_question_log where general_question_setting_id = #generalQuestionSettingId#

Loading…
Cancel
Save