|
@@ -10,6 +10,7 @@ import javax.servlet.http.HttpServletRequest;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
+import org.springframework.beans.factory.annotation.Qualifier;
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
import org.springframework.core.task.AsyncTaskExecutor;
|
|
import org.springframework.core.task.AsyncTaskExecutor;
|
|
import org.springframework.stereotype.Controller;
|
|
import org.springframework.stereotype.Controller;
|
|
@@ -62,6 +63,7 @@ public class MarkQualityController extends BaseExamController {
|
|
@Autowired
|
|
@Autowired
|
|
private LockService lockService;
|
|
private LockService lockService;
|
|
|
|
|
|
|
|
+ @Qualifier("task-executor")
|
|
@Autowired
|
|
@Autowired
|
|
private AsyncTaskExecutor taskExecutor;
|
|
private AsyncTaskExecutor taskExecutor;
|
|
|
|
|
|
@@ -112,10 +114,8 @@ public class MarkQualityController extends BaseExamController {
|
|
}
|
|
}
|
|
if (query.getSubjectCode() != null && query.getGroupNumber() != null) {
|
|
if (query.getSubjectCode() != null && query.getGroupNumber() != null) {
|
|
query = markerService.findByQuery(query);
|
|
query = markerService.findByQuery(query);
|
|
- model.addAttribute(
|
|
|
|
- "running",
|
|
|
|
- lockService.isLocked(LockType.BATCH_QUALITY,
|
|
|
|
- getLockKey(examId, query.getSubjectCode(), query.getGroupNumber())));
|
|
|
|
|
|
+ model.addAttribute("running",
|
|
|
|
+ lockService.isLocked(LockType.BATCH_QUALITY, getLockKey(examId, query.getSubjectCode(), query.getGroupNumber())));
|
|
}
|
|
}
|
|
model.addAttribute("query", query);
|
|
model.addAttribute("query", query);
|
|
model.addAttribute("subjectList", subjectList);
|
|
model.addAttribute("subjectList", subjectList);
|
|
@@ -124,15 +124,15 @@ public class MarkQualityController extends BaseExamController {
|
|
}
|
|
}
|
|
|
|
|
|
@RequestMapping("/update")
|
|
@RequestMapping("/update")
|
|
- public String update(HttpServletRequest request, RedirectAttributes redirectAttributes,
|
|
|
|
- @RequestParam String subjectCode, @RequestParam Integer groupNumber) {
|
|
|
|
|
|
+ public String update(HttpServletRequest request, RedirectAttributes redirectAttributes, @RequestParam String subjectCode,
|
|
|
|
+ @RequestParam Integer groupNumber) {
|
|
int examId = getSessionExamId(request);
|
|
int examId = getSessionExamId(request);
|
|
MarkGroup group = groupService.findOne(examId, subjectCode, groupNumber);
|
|
MarkGroup group = groupService.findOne(examId, subjectCode, groupNumber);
|
|
if (group != null) {
|
|
if (group != null) {
|
|
final String lockKey = getLockKey(examId, subjectCode, groupNumber);
|
|
final String lockKey = getLockKey(examId, subjectCode, groupNumber);
|
|
if (lockService.trylock(LockType.BATCH_QUALITY, lockKey)) {
|
|
if (lockService.trylock(LockType.BATCH_QUALITY, lockKey)) {
|
|
- taskExecutor.submit(new MarkQualityThread(markerService.findByExamAndSubjectAndGroup(examId,
|
|
|
|
- subjectCode, groupNumber), lockKey));
|
|
|
|
|
|
+ taskExecutor.submit(new MarkQualityThread(markerService.findByExamAndSubjectAndGroup(examId, subjectCode, groupNumber),
|
|
|
|
+ lockKey));
|
|
}
|
|
}
|
|
redirectAttributes.addAttribute("groupNumber", groupNumber);
|
|
redirectAttributes.addAttribute("groupNumber", groupNumber);
|
|
}
|
|
}
|
|
@@ -145,17 +145,16 @@ public class MarkQualityController extends BaseExamController {
|
|
}
|
|
}
|
|
|
|
|
|
@RequestMapping("/chart")
|
|
@RequestMapping("/chart")
|
|
- public String chart(HttpServletRequest request, Model model, @RequestParam String subjectCode,
|
|
|
|
- @RequestParam Integer groupNumber) {
|
|
|
|
|
|
+ public String chart(HttpServletRequest request, Model model, @RequestParam String subjectCode, @RequestParam Integer groupNumber) {
|
|
int examId = getSessionExamId(request);
|
|
int examId = getSessionExamId(request);
|
|
MarkGroup group = groupService.findOne(examId, subjectCode, groupNumber);
|
|
MarkGroup group = groupService.findOne(examId, subjectCode, groupNumber);
|
|
if (group != null) {
|
|
if (group != null) {
|
|
List<MarkerVO> list = new ArrayList<MarkerVO>();
|
|
List<MarkerVO> list = new ArrayList<MarkerVO>();
|
|
List<Marker> markers = markerService.findByExamAndSubjectAndGroup(examId, subjectCode, groupNumber);
|
|
List<Marker> markers = markerService.findByExamAndSubjectAndGroup(examId, subjectCode, groupNumber);
|
|
- List<Double> scores = libraryService.findScore(examId, subjectCode, groupNumber, LibraryStatus.MARKED,LibraryStatus.INSPECTED);
|
|
|
|
|
|
+ List<Double> scores = libraryService.findScore(examId, subjectCode, groupNumber, LibraryStatus.MARKED, LibraryStatus.INSPECTED);
|
|
for (Marker marker : markers) {
|
|
for (Marker marker : markers) {
|
|
- List<Object[]> libraries = libraryService.findScoreCount(examId, subjectCode, groupNumber,
|
|
|
|
- marker.getId(), LibraryStatus.MARKED,LibraryStatus.INSPECTED);
|
|
|
|
|
|
+ List<Object[]> libraries = libraryService
|
|
|
|
+ .findScoreCount(examId, subjectCode, groupNumber, marker.getId(), LibraryStatus.MARKED, LibraryStatus.INSPECTED);
|
|
Map<Double, Long> scoreCount = new HashMap<Double, Long>();
|
|
Map<Double, Long> scoreCount = new HashMap<Double, Long>();
|
|
for (Object[] array : libraries) {
|
|
for (Object[] array : libraries) {
|
|
Double score = (Double) array[0];
|
|
Double score = (Double) array[0];
|
|
@@ -169,8 +168,8 @@ public class MarkQualityController extends BaseExamController {
|
|
vo.setScoreCount(scoreCount);
|
|
vo.setScoreCount(scoreCount);
|
|
list.add(vo);
|
|
list.add(vo);
|
|
}
|
|
}
|
|
- group.setQuestionList(questionService.findByExamAndSubjectAndObjectiveAndGroupNumber(examId, subjectCode,
|
|
|
|
- false, group.getNumber()));
|
|
|
|
|
|
+ group.setQuestionList(
|
|
|
|
+ questionService.findByExamAndSubjectAndObjectiveAndGroupNumber(examId, subjectCode, false, group.getNumber()));
|
|
model.addAttribute("scores", scores);
|
|
model.addAttribute("scores", scores);
|
|
model.addAttribute("markers", list);
|
|
model.addAttribute("markers", list);
|
|
model.addAttribute("group", group);
|
|
model.addAttribute("group", group);
|
|
@@ -183,14 +182,13 @@ public class MarkQualityController extends BaseExamController {
|
|
|
|
|
|
@RequestMapping("/getChart")
|
|
@RequestMapping("/getChart")
|
|
@ResponseBody
|
|
@ResponseBody
|
|
- public List<MarkerVO> getChart(HttpServletRequest request, @RequestParam String subjectCode,
|
|
|
|
- @RequestParam Integer groupNumber) {
|
|
|
|
|
|
+ public List<MarkerVO> getChart(HttpServletRequest request, @RequestParam String subjectCode, @RequestParam Integer groupNumber) {
|
|
int examId = getSessionExamId(request);
|
|
int examId = getSessionExamId(request);
|
|
List<MarkerVO> list = new ArrayList<MarkerVO>();
|
|
List<MarkerVO> list = new ArrayList<MarkerVO>();
|
|
List<Marker> markers = markerService.findByExamAndSubjectAndGroup(examId, subjectCode, groupNumber);
|
|
List<Marker> markers = markerService.findByExamAndSubjectAndGroup(examId, subjectCode, groupNumber);
|
|
for (Marker marker : markers) {
|
|
for (Marker marker : markers) {
|
|
- List<Object[]> libraries = libraryService.findScoreCount(examId, subjectCode, groupNumber, marker.getId(),
|
|
|
|
- LibraryStatus.MARKED,LibraryStatus.INSPECTED);
|
|
|
|
|
|
+ List<Object[]> libraries = libraryService
|
|
|
|
+ .findScoreCount(examId, subjectCode, groupNumber, marker.getId(), LibraryStatus.MARKED, LibraryStatus.INSPECTED);
|
|
MarkLibrarySearchQuery query = new MarkLibrarySearchQuery();
|
|
MarkLibrarySearchQuery query = new MarkLibrarySearchQuery();
|
|
query.setMarkerId(marker.getId());
|
|
query.setMarkerId(marker.getId());
|
|
query.addStatus(LibraryStatus.MARKED);
|
|
query.addStatus(LibraryStatus.MARKED);
|
|
@@ -218,8 +216,7 @@ public class MarkQualityController extends BaseExamController {
|
|
|
|
|
|
@RequestMapping("/batchProcess")
|
|
@RequestMapping("/batchProcess")
|
|
@RoleRequire({ Role.SCHOOL_ADMIN, Role.SUBJECT_HEADER })
|
|
@RoleRequire({ Role.SCHOOL_ADMIN, Role.SUBJECT_HEADER })
|
|
- public String batchProcess(Model model, HttpServletRequest request, @RequestParam Integer markerId,
|
|
|
|
- @RequestParam Double markerScore) {
|
|
|
|
|
|
+ public String batchProcess(Model model, HttpServletRequest request, @RequestParam Integer markerId, @RequestParam Double markerScore) {
|
|
int examId = getSessionExamId(request);
|
|
int examId = getSessionExamId(request);
|
|
Marker marker = markerService.findById(markerId);
|
|
Marker marker = markerService.findById(markerId);
|
|
WebUser wu = RequestUtils.getWebUser(request);
|
|
WebUser wu = RequestUtils.getWebUser(request);
|
|
@@ -243,9 +240,8 @@ public class MarkQualityController extends BaseExamController {
|
|
@RequestMapping(value = "/history", method = RequestMethod.POST)
|
|
@RequestMapping(value = "/history", method = RequestMethod.POST)
|
|
@ResponseBody
|
|
@ResponseBody
|
|
@RoleRequire({ Role.SCHOOL_ADMIN, Role.SUBJECT_HEADER })
|
|
@RoleRequire({ Role.SCHOOL_ADMIN, Role.SUBJECT_HEADER })
|
|
- public List<Task> getTask(HttpServletRequest request, @RequestParam Integer markerId,
|
|
|
|
- @RequestParam Double markerScore, @RequestParam(required = false) Integer pageNumber,
|
|
|
|
- @RequestParam(required = false) Integer pageSize) {
|
|
|
|
|
|
+ public List<Task> getTask(HttpServletRequest request, @RequestParam Integer markerId, @RequestParam Double markerScore,
|
|
|
|
+ @RequestParam(required = false) Integer pageNumber, @RequestParam(required = false) Integer pageSize) {
|
|
Marker marker = markerService.findById(markerId);
|
|
Marker marker = markerService.findById(markerId);
|
|
List<Task> list = new ArrayList<>();
|
|
List<Task> list = new ArrayList<>();
|
|
MarkGroup group = groupService.findOne(marker.getExamId(), marker.getSubjectCode(), marker.getGroupNumber());
|
|
MarkGroup group = groupService.findOne(marker.getExamId(), marker.getSubjectCode(), marker.getGroupNumber());
|
|
@@ -276,8 +272,9 @@ public class MarkQualityController extends BaseExamController {
|
|
} else if (group != null && group.getStatus() == MarkStatus.TRIAL) {
|
|
} else if (group != null && group.getStatus() == MarkStatus.TRIAL) {
|
|
// 试评查找给分历史记录
|
|
// 试评查找给分历史记录
|
|
List<TrialHistory> historyList = new ArrayList<TrialHistory>();
|
|
List<TrialHistory> historyList = new ArrayList<TrialHistory>();
|
|
- historyList = trialService.findHistory(marker.getExamId(), marker.getSubjectCode(),
|
|
|
|
- marker.getGroupNumber(), marker.getId(), pageNumber, pageSize, null,markerScore);
|
|
|
|
|
|
+ historyList = trialService
|
|
|
|
+ .findHistory(marker.getExamId(), marker.getSubjectCode(), marker.getGroupNumber(), marker.getId(), pageNumber, pageSize,
|
|
|
|
+ null, markerScore);
|
|
for (TrialHistory history : historyList) {
|
|
for (TrialHistory history : historyList) {
|
|
TrialLibrary library = trialService.findLibrary(history.getLibraryId());
|
|
TrialLibrary library = trialService.findLibrary(history.getLibraryId());
|
|
if (library != null) {
|
|
if (library != null) {
|