|
@@ -5,7 +5,10 @@ import java.util.LinkedList;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
|
|
|
|
|
|
+import cn.com.qmth.stmms.biz.mark.model.*;
|
|
|
|
+import cn.com.qmth.stmms.biz.mark.service.MarkSpecialTagService;
|
|
import org.apache.commons.lang.StringUtils;
|
|
import org.apache.commons.lang.StringUtils;
|
|
|
|
+import org.hibernate.mapping.Collection;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.springframework.beans.BeansException;
|
|
import org.springframework.beans.BeansException;
|
|
@@ -14,6 +17,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
import org.springframework.context.ApplicationContext;
|
|
import org.springframework.context.ApplicationContext;
|
|
import org.springframework.context.ApplicationContextAware;
|
|
import org.springframework.context.ApplicationContextAware;
|
|
|
|
+import org.springframework.data.redis.connection.ConnectionUtils;
|
|
import org.springframework.data.redis.core.StringRedisTemplate;
|
|
import org.springframework.data.redis.core.StringRedisTemplate;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
@@ -24,11 +28,6 @@ import cn.com.qmth.stmms.biz.exam.model.Marker;
|
|
import cn.com.qmth.stmms.biz.exam.service.ExamQuestionService;
|
|
import cn.com.qmth.stmms.biz.exam.service.ExamQuestionService;
|
|
import cn.com.qmth.stmms.biz.exam.service.ExamStudentService;
|
|
import cn.com.qmth.stmms.biz.exam.service.ExamStudentService;
|
|
import cn.com.qmth.stmms.biz.exam.service.ExamSubjectService;
|
|
import cn.com.qmth.stmms.biz.exam.service.ExamSubjectService;
|
|
-import cn.com.qmth.stmms.biz.mark.model.MarkLibrary;
|
|
|
|
-import cn.com.qmth.stmms.biz.mark.model.MarkStepDTO;
|
|
|
|
-import cn.com.qmth.stmms.biz.mark.model.MarkTrack;
|
|
|
|
-import cn.com.qmth.stmms.biz.mark.model.Task;
|
|
|
|
-import cn.com.qmth.stmms.biz.mark.model.TrackDTO;
|
|
|
|
import cn.com.qmth.stmms.biz.mark.query.MarkLibrarySearchQuery;
|
|
import cn.com.qmth.stmms.biz.mark.query.MarkLibrarySearchQuery;
|
|
import cn.com.qmth.stmms.biz.mark.service.MarkLibraryService;
|
|
import cn.com.qmth.stmms.biz.mark.service.MarkLibraryService;
|
|
import cn.com.qmth.stmms.biz.mark.service.MarkTrackService;
|
|
import cn.com.qmth.stmms.biz.mark.service.MarkTrackService;
|
|
@@ -37,6 +36,7 @@ import cn.com.qmth.stmms.biz.utils.CurrentTaskUtil;
|
|
import cn.com.qmth.stmms.biz.utils.MarkRedisUtil;
|
|
import cn.com.qmth.stmms.biz.utils.MarkRedisUtil;
|
|
import cn.com.qmth.stmms.common.enums.LibraryStatus;
|
|
import cn.com.qmth.stmms.common.enums.LibraryStatus;
|
|
import cn.com.qmth.stmms.common.utils.PictureUrlBuilder;
|
|
import cn.com.qmth.stmms.common.utils.PictureUrlBuilder;
|
|
|
|
+import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 评卷任务服务实现
|
|
* 评卷任务服务实现
|
|
@@ -68,6 +68,9 @@ public class TaskServiceImpl implements TaskService, ApplicationContextAware, In
|
|
@Autowired
|
|
@Autowired
|
|
private MarkTrackService trackService;
|
|
private MarkTrackService trackService;
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ private MarkSpecialTagService markSpecialTagService;
|
|
|
|
+
|
|
@Value("${use.redis}")
|
|
@Value("${use.redis}")
|
|
private boolean useRedis;
|
|
private boolean useRedis;
|
|
|
|
|
|
@@ -89,6 +92,7 @@ public class TaskServiceImpl implements TaskService, ApplicationContextAware, In
|
|
ExamStudent student = studentService.findByExamIdAndExamNumber(library.getExamId(), library.getExamNumber());
|
|
ExamStudent student = studentService.findByExamIdAndExamNumber(library.getExamId(), library.getExamNumber());
|
|
|
|
|
|
Task task = new Task();
|
|
Task task = new Task();
|
|
|
|
+ task.setTagList(getMarkSpecialTagList(library.getId()));
|
|
task.setExist(true);
|
|
task.setExist(true);
|
|
task.setStudentId(library.getExamNumber());
|
|
task.setStudentId(library.getExamNumber());
|
|
task.setLibraryId(library.getId());
|
|
task.setLibraryId(library.getId());
|
|
@@ -234,6 +238,19 @@ public class TaskServiceImpl implements TaskService, ApplicationContextAware, In
|
|
trackService.save(dto.transform(library));
|
|
trackService.save(dto.transform(library));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ SpecialTagDTO [] tagList = task.getTagList();
|
|
|
|
+ markSpecialTagService.deleteByLibraryId(library.getId());
|
|
|
|
+ if(tagList != null && tagList.length>0){
|
|
|
|
+ for(SpecialTagDTO s : tagList){
|
|
|
|
+ MarkSpecialTag markSpecialTag = new MarkSpecialTag();
|
|
|
|
+ markSpecialTag.setLibraryId(library.getId());
|
|
|
|
+ markSpecialTag.setTagName(s.getTagName());
|
|
|
|
+ markSpecialTag.setPositionX(s.getPositionX());
|
|
|
|
+ markSpecialTag.setPositionY(s.getPositionY());
|
|
|
|
+ markSpecialTagService.save(markSpecialTag);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -340,4 +357,21 @@ public class TaskServiceImpl implements TaskService, ApplicationContextAware, In
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ public SpecialTagDTO [] getMarkSpecialTagList(Integer libraryId){
|
|
|
|
+ SpecialTagDTO [] specialTags = null;
|
|
|
|
+ List<MarkSpecialTag> list = markSpecialTagService.findByLibraryId(libraryId);
|
|
|
|
+ if(!CollectionUtils.isEmpty(list)){
|
|
|
|
+ specialTags = new SpecialTagDTO[list.size()] ;
|
|
|
|
+ for(int i =0;i<list.size();i++){
|
|
|
|
+ SpecialTagDTO specialTagDTO = new SpecialTagDTO();
|
|
|
|
+ specialTagDTO.setTagName(list.get(i).getTagName());
|
|
|
|
+ specialTagDTO.setPositionX(list.get(i).getPositionX());
|
|
|
|
+ specialTagDTO.setPositionY(list.get(i).getPositionY());
|
|
|
|
+ specialTags[i] = specialTagDTO;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return specialTags;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
}
|
|
}
|