|
@@ -1,9 +1,9 @@
|
|
|
package com.ssj.service.kmt.correctsys;
|
|
|
import java.util.ArrayList;
|
|
|
+import java.util.Calendar;
|
|
|
import java.util.Date;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.LinkedHashMap;
|
|
|
-import java.util.LinkedList;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
import java.util.stream.Collectors;
|
|
@@ -11,6 +11,9 @@ import java.util.stream.Collectors;
|
|
|
import org.apache.commons.collections.CollectionUtils;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.data.domain.Page;
|
|
|
+import org.springframework.data.domain.PageImpl;
|
|
|
+import org.springframework.data.domain.Pageable;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
@@ -26,6 +29,7 @@ import com.ssj.conch.push.util.PushConstants;
|
|
|
import com.ssj.dao.kmt.correctsys.CorrectSysQueryDao;
|
|
|
import com.ssj.enums.XinGePushBusinessTypeEnum;
|
|
|
import com.ssj.enums.XinGePushMessageTypeEnum;
|
|
|
+import com.ssj.framework.basic.utils.DateHelper;
|
|
|
import com.ssj.framework.core.util.ResponseConstant;
|
|
|
import com.ssj.framework.core.util.ResponseEntity;
|
|
|
import com.ssj.framework.core.util.StringUtil;
|
|
@@ -95,13 +99,7 @@ public class KmtCorrectSysServiceImpl implements KmtCorrectSysService {
|
|
|
|
|
|
@Override
|
|
|
public List<HomeworkPictureCheckDto> findCheckHomeworkPictureList(String homeworkId, String teacherId) {
|
|
|
- int teacherType = managerService.findCorrectOrKnowRoleByUserId(teacherId);
|
|
|
- List<HomeworkPictureCheckDto> result = null;
|
|
|
- if (teacherType == Constant.CORRECT_KNOW_TYPE) {
|
|
|
- result = this.findKnowledgeCheckHomeworkPictureList(homeworkId, teacherId);
|
|
|
- } else if (teacherType == Constant.KMT_122_TEACHER_TYPE) {
|
|
|
- result = this.findCorrectCheckHomeworkPictureList(homeworkId, teacherId);
|
|
|
- }
|
|
|
+ List<HomeworkPictureCheckDto> result = this.findCorrectCheckHomeworkPictureList(homeworkId, teacherId);
|
|
|
return result;
|
|
|
}
|
|
|
|
|
@@ -600,7 +598,7 @@ public class KmtCorrectSysServiceImpl implements KmtCorrectSysService {
|
|
|
HomeworkPicture homeworkPicture = homeworkPictureService.getById(req.getHomeworkPicId());
|
|
|
|
|
|
//校验作业是否已批改
|
|
|
- if (teacherType == Constant.KMT_122_TEACHER_TYPE) {
|
|
|
+ if (teacherType == Constant.HOMEWORK_30_TEACHER_TYPE) {
|
|
|
if (homeworkPicture.getIsFeedback() == 0 && (homeworkPicture.getIsMark() == 0 || homeworkPicture.getIsMark() == 2)) {
|
|
|
responseEntity.success(ResponseConstant.CODE_000, "作业未批改,不能质检");
|
|
|
return responseEntity;
|
|
@@ -630,7 +628,7 @@ public class KmtCorrectSysServiceImpl implements KmtCorrectSysService {
|
|
|
if (homeworkPictureCorrect.getCheckStartTime() == null) {
|
|
|
homeworkPictureCorrect.setCheckStartTime(now);
|
|
|
}
|
|
|
- List<TbLibManager> managers = managerService.findByUserIdAndTypeIn(userId, new int[]{11, 12, 14});
|
|
|
+ List<TbLibManager> managers = managerService.findByUserIdAndTypeIn(userId, new int[]{50});
|
|
|
for (TbLibManager manager : managers) {
|
|
|
//质检员userId
|
|
|
homeworkPictureCorrect.setCheckerId(manager.getUserId());
|
|
@@ -641,7 +639,7 @@ public class KmtCorrectSysServiceImpl implements KmtCorrectSysService {
|
|
|
case 12:
|
|
|
homeworkPictureCorrect.setChecker("超级管理员");
|
|
|
break;
|
|
|
- case 14:
|
|
|
+ case 50:
|
|
|
homeworkPictureCorrect.setChecker(manager.getName());
|
|
|
break;
|
|
|
default:
|
|
@@ -654,7 +652,7 @@ public class KmtCorrectSysServiceImpl implements KmtCorrectSysService {
|
|
|
this.saveErrorCheckRecord(homeworkPictureCorrect, homeworkPicture, teacherType, checkedUserId);
|
|
|
homeworkPictureCorrectService.save(homeworkPictureCorrect);
|
|
|
//批改老师的质检设置为已质检
|
|
|
- if (teacherType == Constant.KMT_122_TEACHER_TYPE) {
|
|
|
+ if (teacherType == Constant.HOMEWORK_30_TEACHER_TYPE) {
|
|
|
homeworkPicture.setIsCorrect(13);
|
|
|
}
|
|
|
homeworkPictureService.save(homeworkPicture);
|
|
@@ -662,9 +660,9 @@ public class KmtCorrectSysServiceImpl implements KmtCorrectSysService {
|
|
|
if (req.getType() == 2) {
|
|
|
//批改错误,给批改老师发送报错提醒
|
|
|
TbLibManager correctTeacher = null;
|
|
|
- if (8 == teacherType) {
|
|
|
+ if (teacherType == Constant.HOMEWORK_30_TEACHER_TYPE) {
|
|
|
List<TbLibManager> libManagerList =
|
|
|
- managerService.findByUserIdAndTypeIn(homeworkPicture.getTeacherId(), new int[]{8, 11});
|
|
|
+ managerService.findByUserIdAndTypeIn(homeworkPicture.getTeacherId(), new int[]{30});
|
|
|
if (CollectionUtils.isNotEmpty(libManagerList)) {
|
|
|
correctTeacher = libManagerList.get(0);
|
|
|
String content = correctTeacher.getName() + "老师,您有一份新的作业报错提醒,赶快来查看。";
|
|
@@ -693,97 +691,137 @@ public class KmtCorrectSysServiceImpl implements KmtCorrectSysService {
|
|
|
* @param homeworkPictureCorrect
|
|
|
* @param homeworkPicture
|
|
|
*/
|
|
|
- private void saveErrorCheckRecord(HomeworkPictureCorrect homeworkPictureCorrect, HomeworkPicture homeworkPicture,
|
|
|
- int teacherType, String checkedUserId) {
|
|
|
- if (homeworkPictureCorrect.getIsCheckError() == 1) {
|
|
|
- HomeworkPictureErrorCheck errorCheck = new HomeworkPictureErrorCheck();
|
|
|
- errorCheck.setHomeworkPictureId(homeworkPicture.getId());
|
|
|
- errorCheck.setChecker(homeworkPictureCorrect.getChecker());
|
|
|
- errorCheck.setCreateTime(new Date());
|
|
|
- errorCheck.setStartTime(homeworkPictureCorrect.getStartTime());
|
|
|
- errorCheck.setEndTime(homeworkPictureCorrect.getEndTime());
|
|
|
- errorCheck.setErrorReason(homeworkPictureCorrect.getErrorReason());
|
|
|
- errorCheck.setType(homeworkPictureCorrect.getType());
|
|
|
- if (StringUtil.isBlank(checkedUserId)) {
|
|
|
- if (teacherType == Constant.KMT_122_TEACHER_TYPE) {
|
|
|
- errorCheck.setCheckedUserId(homeworkPicture.getTeacherId());
|
|
|
- } else {
|
|
|
- errorCheck.setCheckedUserId(homeworkPicture.getKnowTeacherId());
|
|
|
- }
|
|
|
- } else {
|
|
|
- errorCheck.setCheckedUserId(checkedUserId);
|
|
|
- }
|
|
|
- //标注图片问题
|
|
|
- SconTeacherCorrectRecord sconTeacherCorrectRecord =
|
|
|
- sconTeacherCorrectRecordService.findByHomeworkPictureId(homeworkPicture.getId());
|
|
|
- if (sconTeacherCorrectRecord != null && StringUtils.isNotBlank(sconTeacherCorrectRecord.getCorrected_picture_url())
|
|
|
- && teacherType == Constant.KMT_122_TEACHER_TYPE) {
|
|
|
- errorCheck.setCheckPictureUrl(sconTeacherCorrectRecord.getCorrected_picture_url());
|
|
|
- } else {
|
|
|
- errorCheck.setCheckPictureUrl(StringUtils.isEmpty(homeworkPicture.getCorrectedPictureUrl())
|
|
|
- ? homeworkPicture.getFileKey() : homeworkPicture.getCorrectedPictureUrl());
|
|
|
- }
|
|
|
- if (teacherType == Constant.CORRECT_KNOW_TYPE) {
|
|
|
- List<HomeworkCheckKnowDetailDto> homeworkCheckKnowDetailDtos =
|
|
|
- correctSysQueryDao.findHomeworkCorrectedKnowledgeByPictureId(homeworkPicture.getId());
|
|
|
- HomeworkPictureCheckHowDetailDto homeworkPictureCheckHowDetailDto =
|
|
|
- this.getHomeworkPictureKnowCheckData(homeworkPicture, homeworkCheckKnowDetailDtos);
|
|
|
- errorCheck.setErrorHowDetails(JSON.toJSONString(homeworkPictureCheckHowDetailDto));
|
|
|
- }
|
|
|
- homeworkPictureErrorCheckService.save(errorCheck);
|
|
|
- }
|
|
|
- }
|
|
|
+ private void saveErrorCheckRecord(HomeworkPictureCorrect homeworkPictureCorrect, HomeworkPicture homeworkPicture,
|
|
|
+ int teacherType, String checkedUserId) {
|
|
|
+ if (homeworkPictureCorrect.getIsCheckError() == 1) {
|
|
|
+ HomeworkPictureErrorCheck errorCheck = new HomeworkPictureErrorCheck();
|
|
|
+ errorCheck.setHomeworkPictureId(homeworkPicture.getId());
|
|
|
+ errorCheck.setChecker(homeworkPictureCorrect.getChecker());
|
|
|
+ errorCheck.setCreateTime(new Date());
|
|
|
+ errorCheck.setStartTime(homeworkPictureCorrect.getStartTime());
|
|
|
+ errorCheck.setEndTime(homeworkPictureCorrect.getEndTime());
|
|
|
+ errorCheck.setErrorReason(homeworkPictureCorrect.getErrorReason());
|
|
|
+ errorCheck.setType(homeworkPictureCorrect.getType());
|
|
|
+ if (StringUtil.isBlank(checkedUserId)) {
|
|
|
+ if (teacherType == Constant.HOMEWORK_30_TEACHER_TYPE) {
|
|
|
+ errorCheck.setCheckedUserId(homeworkPicture.getTeacherId());
|
|
|
+ } else {
|
|
|
+ errorCheck.setCheckedUserId(homeworkPicture.getKnowTeacherId());
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ errorCheck.setCheckedUserId(checkedUserId);
|
|
|
+ }
|
|
|
+ //标注图片问题
|
|
|
+ SconTeacherCorrectRecord sconTeacherCorrectRecord = sconTeacherCorrectRecordService
|
|
|
+ .findByHomeworkPictureId(homeworkPicture.getId());
|
|
|
+ if (sconTeacherCorrectRecord != null
|
|
|
+ && StringUtils.isNotBlank(sconTeacherCorrectRecord.getCorrected_picture_url())
|
|
|
+ && teacherType == Constant.HOMEWORK_30_TEACHER_TYPE) {
|
|
|
+ errorCheck.setCheckPictureUrl(sconTeacherCorrectRecord.getCorrected_picture_url());
|
|
|
+ } else {
|
|
|
+ errorCheck.setCheckPictureUrl(
|
|
|
+ StringUtils.isEmpty(homeworkPicture.getCorrectedPictureUrl()) ? homeworkPicture.getFileKey()
|
|
|
+ : homeworkPicture.getCorrectedPictureUrl());
|
|
|
+ }
|
|
|
+ if (teacherType == Constant.CORRECT_KNOW_TYPE) {
|
|
|
+ List<HomeworkCheckKnowDetailDto> homeworkCheckKnowDetailDtos = correctSysQueryDao
|
|
|
+ .findHomeworkCorrectedKnowledgeByPictureId(homeworkPicture.getId());
|
|
|
+ HomeworkPictureCheckHowDetailDto homeworkPictureCheckHowDetailDto = this
|
|
|
+ .getHomeworkPictureKnowCheckData(homeworkPicture, homeworkCheckKnowDetailDtos);
|
|
|
+ errorCheck.setErrorHowDetails(JSON.toJSONString(homeworkPictureCheckHowDetailDto));
|
|
|
+ }
|
|
|
+ homeworkPictureErrorCheckService.save(errorCheck);
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
|
|
|
@Override
|
|
|
- public List<HomeworkCheckSubjectDto> findCheckHomeworkList(String teacherId) {
|
|
|
- String endTime = DateUtil.format_yyyyMMddHHmmss(new Date());
|
|
|
- String beginTime = DateUtil.dateIncreaseByDay(endTime, "yyyy-MM-dd", -6) + " 00:00:00";
|
|
|
- int type = managerService.findCorrectOrKnowRoleByUserId(teacherId);
|
|
|
- List<HomeworkCheckDto> homeworks = null;
|
|
|
-
|
|
|
+ public Page<HomeworkCheckSubjectDto> pageCheckHomeworkList(Map<String, Object> params, Pageable pageable) {
|
|
|
+ //作业要在提交日期的转天中午12:00之后才会出现在质检列表,判断当前时间是否大于12点,大于就取前一天的日期,小于就取前前一天的日期
|
|
|
+ Calendar calendar = Calendar.getInstance();
|
|
|
+ int curHour24 = calendar.get(Calendar.HOUR_OF_DAY);
|
|
|
+ calendar.set(Calendar.HOUR_OF_DAY, 0);
|
|
|
+ calendar.set(Calendar.MINUTE, 0);
|
|
|
+ calendar.set(Calendar.SECOND, 0);
|
|
|
+ calendar.set(Calendar.MILLISECOND, 0);
|
|
|
+ calendar.add(Calendar.DAY_OF_MONTH, -0);
|
|
|
+
|
|
|
+ String endTime = DateUtil.format_yyyyMMddHHmmss(calendar.getTime());
|
|
|
+ if(curHour24<12) {
|
|
|
+ calendar.add(Calendar.DAY_OF_MONTH, -1);
|
|
|
+ endTime = DateUtil.format_yyyyMMddHHmmss(calendar.getTime());
|
|
|
+ }
|
|
|
+ String beginTime = DateUtil.dateIncreaseByDay(endTime, "yyyy-MM-dd", -150) + " 00:00:00";
|
|
|
+
|
|
|
+ params.put("beginTime", beginTime);
|
|
|
+ params.put("endTime", endTime);
|
|
|
+
|
|
|
//不同的老师查询不同的数据
|
|
|
- if (type == Constant.KMT_122_TEACHER_TYPE) {
|
|
|
- homeworks = correctSysQueryDao.findHomeworkCheckList(teacherId, beginTime, endTime);
|
|
|
- } else if (type == Constant.CORRECT_KNOW_TYPE) {
|
|
|
- homeworks = correctSysQueryDao.findKnowHomeworkCheckList(teacherId, beginTime, endTime);
|
|
|
- }
|
|
|
-
|
|
|
- List<HomeworkCheckSubjectDto> result = new LinkedList<>();
|
|
|
- if (homeworks != null) {
|
|
|
- Map<String, Map<String, List<HomeworkCheckDto>>> homeworkChecks = homeworks.stream()
|
|
|
- .collect(Collectors.groupingBy(HomeworkCheckDto::getDate,
|
|
|
- Collectors.groupingBy(HomeworkCheckDto::getSubject)));
|
|
|
-
|
|
|
- Map<String, List<HomeworkCheckDto>> subjectMap = null;
|
|
|
- List<HomeworkCheckDto> homeworkList = null;
|
|
|
- for (String date : homeworkChecks.keySet()) {
|
|
|
- subjectMap = homeworkChecks.get(date);
|
|
|
- for (String subject : subjectMap.keySet()) {
|
|
|
- homeworkList = subjectMap.get(subject);
|
|
|
- HomeworkCheckSubjectDto homeworkCheckSubjectDto = new HomeworkCheckSubjectDto();
|
|
|
- homeworkCheckSubjectDto.setDate(date);
|
|
|
- homeworkCheckSubjectDto.setSubject(subject);
|
|
|
- for (HomeworkCheckDto homework : homeworkList) {
|
|
|
- HomeworkCheckStudentDto homeworkCheckStudentDto = new HomeworkCheckStudentDto();
|
|
|
- homeworkCheckStudentDto.setHomeworkId(homework.getHomeworkId());
|
|
|
- homeworkCheckStudentDto.setStudentName(homework.getChildName());
|
|
|
- homeworkCheckStudentDto.setGrade(homework.getGrade());
|
|
|
- homeworkCheckStudentDto.setCheckedCount(homework.getChecked());
|
|
|
- homeworkCheckStudentDto.setTotalCount(homework.getTotal());
|
|
|
- if (homework.getError() != null && homework.getError() > 0) {
|
|
|
- homeworkCheckStudentDto.setType(1);
|
|
|
- }
|
|
|
- homeworkCheckSubjectDto.addStudent(homeworkCheckStudentDto);
|
|
|
- }
|
|
|
- this.sortInsert(result, homeworkCheckSubjectDto);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
+ Page<Map<String, Object>> pageHomeworks = correctSysQueryDao.pageHomeworkCheckByInspectorIdPageSize(params,pageable);
|
|
|
+ Page<HomeworkCheckSubjectDto> resultPage =new PageImpl<HomeworkCheckSubjectDto>(new ArrayList<HomeworkCheckSubjectDto>(), pageable, pageHomeworks.getTotalElements());
|
|
|
+
|
|
|
+ List<Map<String, Object>> pageList=pageHomeworks.getContent();
|
|
|
+
|
|
|
+ if(pageList!=null && pageList.size()>=1) {
|
|
|
+ beginTime=pageList.get(pageList.size()-1).get("date").toString();
|
|
|
+ endTime=pageList.get(0).get("date").toString();
|
|
|
+
|
|
|
+ List<HomeworkCheckDto> homeworks=correctSysQueryDao.findHomeworkCheckByInspectorIdList(
|
|
|
+ params.get("inspectorId").toString(),
|
|
|
+ params.get("childName")!=null ? params.get("childName").toString() : "",
|
|
|
+ params.get("subject")!=null ? params.get("subject").toString() : "",
|
|
|
+ beginTime,
|
|
|
+ endTime);
|
|
|
+
|
|
|
+ List<HomeworkCheckSubjectDto> result =new ArrayList<HomeworkCheckSubjectDto>();
|
|
|
+
|
|
|
+ if (homeworks != null) {
|
|
|
+ Map<String, Map<String, List<HomeworkCheckDto>>> homeworkChecks = homeworks.stream()
|
|
|
+ .collect(Collectors.groupingBy(HomeworkCheckDto::getDate,
|
|
|
+ Collectors.groupingBy(HomeworkCheckDto::getSubject)));
|
|
|
+
|
|
|
+ Map<String, List<HomeworkCheckDto>> subjectMap = null;
|
|
|
+ List<HomeworkCheckDto> homeworkList = null;
|
|
|
+ for (String date : homeworkChecks.keySet()) {
|
|
|
+ subjectMap = homeworkChecks.get(date);
|
|
|
+ for (String subject : subjectMap.keySet()) {
|
|
|
+ homeworkList = subjectMap.get(subject);
|
|
|
+ HomeworkCheckSubjectDto homeworkCheckSubjectDto = new HomeworkCheckSubjectDto();
|
|
|
+ homeworkCheckSubjectDto.setDate(date);
|
|
|
+ //homeworkCheckSubjectDto.setSubject(subject);
|
|
|
+ for (HomeworkCheckDto homework : homeworkList) {
|
|
|
+ HomeworkCheckStudentDto homeworkCheckStudentDto = new HomeworkCheckStudentDto();
|
|
|
+ homeworkCheckStudentDto.setHomeworkId(homework.getHomeworkId());
|
|
|
+ homeworkCheckStudentDto.setStudentName(homework.getChildName());
|
|
|
+ homeworkCheckStudentDto.setGrade(homework.getGrade());
|
|
|
+ homeworkCheckStudentDto.setCheckedCount(homework.getChecked());
|
|
|
+ homeworkCheckStudentDto.setTotalCount(homework.getTotal());
|
|
|
+ homeworkCheckStudentDto.setTeacherId(homework.getTeacherId());
|
|
|
+ if (homework.getError() != null && homework.getError() > 0) {
|
|
|
+ homeworkCheckStudentDto.setErrorCount(homework.getError());
|
|
|
+ }else {
|
|
|
+ homeworkCheckStudentDto.setErrorCount(0);
|
|
|
+ }
|
|
|
+ //将超过4天的作业就不可以再质检了
|
|
|
+ if(homework.getTotal()>homework.getChecked()
|
|
|
+ && DateHelper.daysOfTwo(DateHelper.parseDate(homework.getDate(), "yyyy-MM-dd"),new Date())>4
|
|
|
+ ) {
|
|
|
+ homeworkCheckStudentDto.setType(1);
|
|
|
+ }else {
|
|
|
+ homeworkCheckStudentDto.setType(0);
|
|
|
+ }
|
|
|
+ homeworkCheckSubjectDto.addStudent(homeworkCheckStudentDto);
|
|
|
+ }
|
|
|
+ this.sortInsert(result, homeworkCheckSubjectDto);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ resultPage =new PageImpl<HomeworkCheckSubjectDto>(result, pageable, pageHomeworks.getTotalElements());
|
|
|
+ }
|
|
|
}
|
|
|
- return result;
|
|
|
+ return resultPage;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
/**
|
|
|
* 按日期顺序插入
|
|
|
*
|