wuwen 4 年 前
コミット
56f1da0752

+ 26 - 6
src/main/java/com/ssj/api/controller/ApiManagerTeacherQualityController.java

@@ -3,10 +3,12 @@ package com.ssj.api.controller;
 import java.util.HashMap;
 import java.util.HashMap;
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
+import java.util.Objects;
 
 
 import javax.validation.Valid;
 import javax.validation.Valid;
 
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestMethod;
@@ -14,12 +16,14 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
 
 
 import com.ssj.api.security.annotation.ModifySecurity;
 import com.ssj.api.security.annotation.ModifySecurity;
+import com.ssj.bean.weixin.libmy.domain.TbLibManager;
 import com.ssj.framework.core.common.controller.BaseController;
 import com.ssj.framework.core.common.controller.BaseController;
 import com.ssj.framework.core.util.ResponseConstant;
 import com.ssj.framework.core.util.ResponseConstant;
 import com.ssj.framework.core.util.ResponseEntity;
 import com.ssj.framework.core.util.ResponseEntity;
 import com.ssj.service.kmt.correctsys.dto.HomeworkCheckSubjectDto;
 import com.ssj.service.kmt.correctsys.dto.HomeworkCheckSubjectDto;
 import com.ssj.service.kmt.correctsys.dto.HomeworkPictureCheckDto;
 import com.ssj.service.kmt.correctsys.dto.HomeworkPictureCheckDto;
-import com.ssj.service.kmt.correctsys.request.CorrectCheckReq;
+import com.ssj.service.kmt.correctsys.request.CorrectCheckInspectorReq;
+import com.ssj.service.kmt.correctsys.request.InspectorAllotListReq;
 import com.ssj.service.kmt.correctsys.request.TeacherAllotReq;
 import com.ssj.service.kmt.correctsys.request.TeacherAllotReq;
 import com.ssj.service.kmt.correctsys.service.KmtCorrectSysService;
 import com.ssj.service.kmt.correctsys.service.KmtCorrectSysService;
 import com.ssj.service.weixin.library.service.IBookManagerService;
 import com.ssj.service.weixin.library.service.IBookManagerService;
@@ -41,10 +45,21 @@ public class ApiManagerTeacherQualityController extends BaseController {
 
 
     @RequestMapping(value = "/findCheckHomeworkList",method = RequestMethod.POST)
     @RequestMapping(value = "/findCheckHomeworkList",method = RequestMethod.POST)
     @ApiOperation(value ="查询质检列表数据",httpMethod = "POST",notes = "查询质检列表数据")
     @ApiOperation(value ="查询质检列表数据",httpMethod = "POST",notes = "查询质检列表数据")
-    public ResponseEntity findCheckHomeworkList(@RequestParam String accessToken,@RequestBody @Valid TeacherAllotReq req){
+    public ResponseEntity findCheckHomeworkList(@RequestParam String accessToken,@RequestBody @Valid InspectorAllotListReq req){
         ResponseEntity responseEntity = new ResponseEntity();
         ResponseEntity responseEntity = new ResponseEntity();
         try {
         try {
-            List<HomeworkCheckSubjectDto> list = kmtCorrectSysService.findCheckHomeworkList(req.getTeacherId());
+        	String userId = tokenManager.getUserId(accessToken);
+        	TbLibManager managerAdmin = managerService.findAllByUserIdAndTypeAndState(userId,50,1);
+        	if(Objects.isNull(managerAdmin)){
+        		responseEntity.failure(ResponseConstant.CODE_000, "您不是质检员,无权进行此操作!");
+        		return responseEntity;
+        	}
+        	Map<String, Object> params = new HashMap<String, Object>();
+        	params.put("inspectorId", userId);
+        	params.put("subject", req.getSubject());
+        	params.put("childName", req.getChildName());
+        	
+        	Page<HomeworkCheckSubjectDto> list = kmtCorrectSysService.pageCheckHomeworkList(params,initPage(req.getPageNo(), req.getPageSize()));
             Map<String, Object> data = new HashMap<>();
             Map<String, Object> data = new HashMap<>();
             data.put("subjectDates", list);
             data.put("subjectDates", list);
             responseEntity.success(data, "请求成功");
             responseEntity.success(data, "请求成功");
@@ -77,10 +92,15 @@ public class ApiManagerTeacherQualityController extends BaseController {
     @ModifySecurity
     @ModifySecurity
     @RequestMapping(value = "/correctCheck", method = RequestMethod.POST)
     @RequestMapping(value = "/correctCheck", method = RequestMethod.POST)
     @ApiOperation(value = "提交质检结果", httpMethod = "POST", notes = "提交质检结果")
     @ApiOperation(value = "提交质检结果", httpMethod = "POST", notes = "提交质检结果")
-    public ResponseEntity correctCheck(@RequestParam(name = "accessToken") String accessToken, @RequestBody CorrectCheckReq req) {
-        ResponseEntity responseEntity;
+    public ResponseEntity correctCheck(@RequestParam(name = "accessToken") String accessToken, @RequestBody CorrectCheckInspectorReq req) {
+    	ResponseEntity responseEntity = new ResponseEntity();
         try {
         try {
-            String userId = tokenManager.getUserId(accessToken);
+        	String userId = tokenManager.getUserId(accessToken);
+        	TbLibManager managerAdmin = managerService.findAllByUserIdAndTypeAndState(userId,50,1);
+        	if(Objects.isNull(managerAdmin)){
+        		responseEntity.failure(ResponseConstant.CODE_000, "您不是质检员,无权进行此操作!");
+        		return responseEntity;
+        	}
             responseEntity = kmtCorrectSysService.correctCheck(req, userId);
             responseEntity = kmtCorrectSysService.correctCheck(req, userId);
         } catch (Exception e) {
         } catch (Exception e) {
             logger.error("异常", e);
             logger.error("异常", e);

+ 4 - 0
src/main/java/com/ssj/dao/kmt/correctsys/CorrectSysQueryDao.java

@@ -130,6 +130,10 @@ public interface CorrectSysQueryDao {
      * @return
      * @return
      */
      */
     List<HomeworkCheckDto> findHomeworkCheckList (String teacherId, String beginTime, String endTime);
     List<HomeworkCheckDto> findHomeworkCheckList (String teacherId, String beginTime, String endTime);
+    List<HomeworkCheckDto> findHomeworkCheckByInspectorIdList(String inspectorId,String childName,String subject, String beginTime, String endTime);
+    Page<Map<String,Object>> pageHomeworkCheckByInspectorIdPageSize(Map<String, Object> params, Pageable pageable);
+    
+    
 
 
     /**
     /**
      * 查询已批改的作业的对错题
      * 查询已批改的作业的对错题

+ 91 - 0
src/main/java/com/ssj/dao/kmt/correctsys/impl/CorrectSysQueryDaoImpl.java

@@ -7,6 +7,8 @@ import com.ssj.framework.core.util.StringUtil;
 import com.ssj.service.kmt.correctsys.dto.HomeworkCheckDto;
 import com.ssj.service.kmt.correctsys.dto.HomeworkCheckDto;
 import com.ssj.service.kmt.correctsys.dto.HomeworkCheckKnowDetailDto;
 import com.ssj.service.kmt.correctsys.dto.HomeworkCheckKnowDetailDto;
 import com.ssj.service.kmt.correctsys.dto.HomeworkExerciseQuestionsDto;
 import com.ssj.service.kmt.correctsys.dto.HomeworkExerciseQuestionsDto;
+
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
 import org.springframework.data.domain.Pageable;
@@ -744,6 +746,93 @@ public class CorrectSysQueryDaoImpl implements CorrectSysQueryDao {
         params.add(teacherId);
         params.add(teacherId);
         return dao.findList(sb.toString(), params.toArray(), HomeworkCheckDto.class);
         return dao.findList(sb.toString(), params.toArray(), HomeworkCheckDto.class);
     }
     }
+    
+
+    
+    @Override
+  	public Page<Map<String,Object>> pageHomeworkCheckByInspectorIdPageSize(Map<String, Object> params, Pageable pageable) {
+      	 StringBuilder sb = new StringBuilder();
+      	 List<Object> queryparams = new ArrayList<>();
+           sb.append(" SELECT date(t1.create_time) date ");
+           sb.append(" FROM ");
+           sb.append(" ( ");
+           sb.append(" 	SELECT hp.homework_id FROM scon_homework_picture hp    ");
+           sb.append("  	LEFT JOIN tb_lib_manager m ON hp.teacher_id=m.user_id ");
+           sb.append(" 		WHERE hp.service_type = 1 AND m.inspector_id =? AND hp.create_time BETWEEN ? AND ? ");
+           
+           queryparams.add(params.get("inspectorId"));
+           queryparams.add(params.get("beginTime"));
+           queryparams.add(params.get("endTime"));
+           
+           sb.append(" 	GROUP BY ");
+           sb.append(" 		hp.homework_id ");
+           sb.append(" 	HAVING");
+           sb.append(" 		count( IF( hp.is_feedback = 1 OR hp.is_mark IN ( 1, 3 ), 1, 0 )) = sum( IF( hp.is_feedback = 1 OR hp.is_mark IN ( 1, 3 ), 1, 0 )) ");
+           sb.append(" ) t4");
+           sb.append(" LEFT JOIN scon_homework_picture t1 ON t4.homework_id = t1.homework_id  AND t1.service_type = 1 ");
+           sb.append(" LEFT JOIN tb_lib_manager m1 ON t1.teacher_id=m1.user_id ");
+           sb.append(" LEFT JOIN scon_homework_picture_correct hpc ON t1.id = hpc.homework_picture_id AND hpc.type = 8  ");
+           sb.append(" WHERE ");
+           sb.append(" m1.inspector_id =?  ");
+           queryparams.add(params.get("inspectorId"));
+           
+           if(params.get("childName")!=null && StringUtils.isNotEmpty(params.get("childName").toString())) {
+          	 sb.append(" AND t2.child_name LIKE CONCAT('%',?,'%') ");
+          	 queryparams.add(params.get("childName"));
+           }
+           if(params.get("subject")!=null && StringUtils.isNotEmpty(params.get("subject").toString())) {
+          	 sb.append(" AND t1.SUBJECT =? ");
+          	 queryparams.add(params.get("subject"));
+           }
+           sb.append(" GROUP BY ");
+           sb.append(" date ");
+           sb.append(" ORDER BY date ");
+           return dao.findPage(sb.toString(), queryparams.toArray(),pageable);
+  	}
+    
+    
+    @Override
+	public List<HomeworkCheckDto> findHomeworkCheckByInspectorIdList(String inspectorId,String childName,String subject,String beginTime, String endTime) {
+    	 StringBuilder sb = new StringBuilder();
+    	 List<Object> queryparams = new ArrayList<>();
+         sb.append(" SELECT	t2.child_name,	t1.homework_id,	t1.SUBJECT,	t2.grade,	date( t1.create_time ) date,	sum( hpc.is_check_error ) error,	sum( CASE WHEN hpc.check_date IS NOT NULL THEN 1 ELSE 0 END ) checked,	sum( 1 ) total  ");
+         sb.append(" FROM ");
+         sb.append(" ( ");
+         sb.append(" 	SELECT hp.homework_id FROM scon_homework_picture hp    ");
+         sb.append("  	LEFT JOIN tb_lib_manager m ON hp.teacher_id=m.user_id ");
+         sb.append(" 		WHERE hp.service_type = 1 AND m.inspector_id =? AND hp.create_time BETWEEN ? AND ? ");
+         
+         queryparams.add(inspectorId);
+         queryparams.add(beginTime);
+         queryparams.add(endTime);
+         
+         sb.append(" 	GROUP BY ");
+         sb.append(" 		hp.homework_id ");
+         sb.append(" 	HAVING");
+         sb.append(" 		count( IF( hp.is_feedback = 1 OR hp.is_mark IN ( 1, 3 ), 1, 0 )) = sum( IF( hp.is_feedback = 1 OR hp.is_mark IN ( 1, 3 ), 1, 0 )) ");
+         sb.append(" ) t4");
+         sb.append(" LEFT JOIN scon_homework_picture t1 ON t4.homework_id = t1.homework_id  AND t1.service_type = 1 ");
+         sb.append(" LEFT JOIN tb_lib_manager m1 ON t1.teacher_id=m1.user_id ");
+         sb.append(" LEFT JOIN tb_lib_vip t2 ON t1.vip_id = t2.id ");
+         sb.append(" LEFT JOIN scon_homework_picture_correct hpc ON t1.id = hpc.homework_picture_id AND hpc.type = 8  ");
+         sb.append(" WHERE ");
+         sb.append(" m1.inspector_id =?  ");
+         queryparams.add(inspectorId);
+         
+         if(StringUtils.isNotEmpty(childName)) {
+        	 sb.append(" AND t2.child_name LIKE CONCAT('%',?,'%') ");
+        	 queryparams.add(childName);
+         }
+         if(StringUtils.isNotEmpty(subject)) {
+        	 sb.append(" AND t1.SUBJECT =? ");
+        	 queryparams.add(subject);
+         }
+         sb.append(" GROUP BY ");
+         sb.append(" t2.child_name, 	t1.homework_id,	date,	t1.SUBJECT ");
+         sb.append(" ORDER BY date ");
+         return dao.findList(sb.toString(), queryparams.toArray(), HomeworkCheckDto.class);
+	}
+    
 
 
     @Override
     @Override
     public List<HomeworkExerciseQuestionsDto> findHomeworkCorrectedQuestions(String homeworkId) {
     public List<HomeworkExerciseQuestionsDto> findHomeworkCorrectedQuestions(String homeworkId) {
@@ -1625,4 +1714,6 @@ public class CorrectSysQueryDaoImpl implements CorrectSysQueryDao {
       return  dao.findList(sql.toString(),queryParams.toArray(),String.class);
       return  dao.findList(sql.toString(),queryParams.toArray(),String.class);
     }
     }
 
 
+	
+
 }
 }

+ 4 - 0
src/main/java/com/ssj/dao/weixin/library/dao/IBookManagerDao.java

@@ -375,4 +375,8 @@ public interface IBookManagerDao extends JpaRepository<TbLibManager, String> {
 
 
 	@Query(nativeQuery = true,value = "select * from tb_lib_manager where telephone=?1 and type=?2 and  state=1 order by create_time desc  limit 1")
 	@Query(nativeQuery = true,value = "select * from tb_lib_manager where telephone=?1 and type=?2 and  state=1 order by create_time desc  limit 1")
 	TbLibManager findManagerByPhoneAndType(String mobile, int type);
 	TbLibManager findManagerByPhoneAndType(String mobile, int type);
+	
+	@Query(nativeQuery = true,value ="select * from  tb_lib_manager where inspector_id=?1  " )
+	List<TbLibManager> findTbLibManagerByInspectorId(String inspectorId);
+	
 }
 }

+ 16 - 13
src/main/java/com/ssj/framework/basic/utils/DateHelper.java

@@ -451,19 +451,22 @@ public class DateHelper {
      * @return
      * @return
      * @throws Exception
      * @throws Exception
      */
      */
-    public static int daysOfTwo(Date smdate, Date bdate) throws Exception {
-
-        smdate = new SimpleDateFormat("yyyy-MM-dd").parse(new SimpleDateFormat("yyyy-MM-dd").format(smdate));
-        bdate = new SimpleDateFormat("yyyy-MM-dd").parse(new SimpleDateFormat("yyyy-MM-dd").format(bdate));
-        Calendar cal = Calendar.getInstance();
-        cal.setTime(smdate);
-        long time1 = cal.getTimeInMillis();
-        cal.setTime(bdate);
-        long time2 = cal.getTimeInMillis();
-        long between_days = (time2 - time1) / (1000 * 3600 * 24);
-
-        return daysOfTian(smdate,bdate);
-
+    public static int daysOfTwo(Date smdate, Date bdate) {
+    	try {
+	        smdate = new SimpleDateFormat("yyyy-MM-dd").parse(new SimpleDateFormat("yyyy-MM-dd").format(smdate));
+	        bdate = new SimpleDateFormat("yyyy-MM-dd").parse(new SimpleDateFormat("yyyy-MM-dd").format(bdate));
+	        Calendar cal = Calendar.getInstance();
+	        cal.setTime(smdate);
+	        long time1 = cal.getTimeInMillis();
+	        cal.setTime(bdate);
+	        long time2 = cal.getTimeInMillis();
+	        long between_days = (time2 - time1) / (1000 * 3600 * 24);
+	
+	        return daysOfTian(smdate,bdate);
+    	} catch (Exception e) {
+    		e.printStackTrace();
+		}
+    	return -1;
     }
     }
     public static LocalDate date2LocalDate(Date date) {
     public static LocalDate date2LocalDate(Date date) {
         Instant instant = date.toInstant();
         Instant instant = date.toInstant();

+ 112 - 114
src/main/java/com/ssj/service/kmt/correctsys/KmtCorrectSysServiceImpl.java

@@ -1,9 +1,9 @@
 package com.ssj.service.kmt.correctsys;
 package com.ssj.service.kmt.correctsys;
 import java.util.ArrayList;
 import java.util.ArrayList;
+import java.util.Calendar;
 import java.util.Date;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.HashMap;
 import java.util.LinkedHashMap;
 import java.util.LinkedHashMap;
-import java.util.LinkedList;
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
@@ -11,6 +11,9 @@ import java.util.stream.Collectors;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 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.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 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.dao.kmt.correctsys.CorrectSysQueryDao;
 import com.ssj.enums.XinGePushBusinessTypeEnum;
 import com.ssj.enums.XinGePushBusinessTypeEnum;
 import com.ssj.enums.XinGePushMessageTypeEnum;
 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.ResponseConstant;
 import com.ssj.framework.core.util.ResponseEntity;
 import com.ssj.framework.core.util.ResponseEntity;
 import com.ssj.framework.core.util.StringUtil;
 import com.ssj.framework.core.util.StringUtil;
@@ -40,7 +44,7 @@ import com.ssj.service.kmt.correctsys.dto.HomeworkExerciseQuestionsDto;
 import com.ssj.service.kmt.correctsys.dto.HomeworkPictureCheckDto;
 import com.ssj.service.kmt.correctsys.dto.HomeworkPictureCheckDto;
 import com.ssj.service.kmt.correctsys.dto.HomeworkPictureCheckHowDetailDto;
 import com.ssj.service.kmt.correctsys.dto.HomeworkPictureCheckHowDetailDto;
 import com.ssj.service.kmt.correctsys.dto.HomeworkPictureDto;
 import com.ssj.service.kmt.correctsys.dto.HomeworkPictureDto;
-import com.ssj.service.kmt.correctsys.request.CorrectCheckReq;
+import com.ssj.service.kmt.correctsys.request.CorrectCheckInspectorReq;
 import com.ssj.service.kmt.correctsys.service.KmtCorrectSysService;
 import com.ssj.service.kmt.correctsys.service.KmtCorrectSysService;
 import com.ssj.service.kmt.dto.ExerciseQuestionAnswer4CorrectDTO;
 import com.ssj.service.kmt.dto.ExerciseQuestionAnswer4CorrectDTO;
 import com.ssj.service.kmt.dto.ExerciseQuestionAnswerDto;
 import com.ssj.service.kmt.dto.ExerciseQuestionAnswerDto;
@@ -95,13 +99,7 @@ public class KmtCorrectSysServiceImpl implements KmtCorrectSysService {
 
 
     @Override
     @Override
     public List<HomeworkPictureCheckDto> findCheckHomeworkPictureList(String homeworkId, String teacherId) {
     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;
         return result;
     }
     }
 
 
@@ -581,9 +579,9 @@ public class KmtCorrectSysServiceImpl implements KmtCorrectSysService {
     }
     }
 
 
     @Override
     @Override
-    public ResponseEntity correctCheck(CorrectCheckReq req, String userId) {
+    public ResponseEntity correctCheck(CorrectCheckInspectorReq req, String userId) {
         ResponseEntity responseEntity = new ResponseEntity();
         ResponseEntity responseEntity = new ResponseEntity();
-        int teacherType = req.getTeacherType();
+        int teacherType = 30;
         Date now = new Date();
         Date now = new Date();
 
 
         //如果是模糊图片
         //如果是模糊图片
@@ -600,18 +598,9 @@ public class KmtCorrectSysServiceImpl implements KmtCorrectSysService {
         HomeworkPicture homeworkPicture = homeworkPictureService.getById(req.getHomeworkPicId());
         HomeworkPicture homeworkPicture = homeworkPictureService.getById(req.getHomeworkPicId());
 
 
         //校验作业是否已批改
         //校验作业是否已批改
-        if (teacherType == Constant.KMT_122_TEACHER_TYPE) {
-            if (homeworkPicture.getIsFeedback() == 0 && (homeworkPicture.getIsMark() == 0 || homeworkPicture.getIsMark() == 2)) {
-                responseEntity.success(ResponseConstant.CODE_000, "作业未批改,不能质检");
-                return responseEntity;
-            }
-        }
-        //校验作业是否已匹配
-        if (teacherType == Constant.CORRECT_KNOW_TYPE) {
-            if (homeworkPicture.getIsKnowFeedback() == 0 && homeworkPicture.getIsNeedingKnow() == 1) {
-                responseEntity.success(ResponseConstant.CODE_000, "作业有改动,不能质检");
-                return responseEntity;
-            }
+        if (homeworkPicture.getIsFeedback() == 0 && (homeworkPicture.getIsMark() == 0 || homeworkPicture.getIsMark() == 2)) {
+            responseEntity.success(ResponseConstant.CODE_000, "作业未批改,不能质检");
+            return responseEntity;
         }
         }
 
 
         //作业已经报错,不能再质检通过
         //作业已经报错,不能再质检通过
@@ -623,25 +612,19 @@ public class KmtCorrectSysServiceImpl implements KmtCorrectSysService {
         //批改错误
         //批改错误
         if (req.getType() == 2) {
         if (req.getType() == 2) {
             homeworkPictureCorrect.setIsCheckError(1);
             homeworkPictureCorrect.setIsCheckError(1);
-            homeworkPictureCorrect.setErrorReason(req.getReason());
+            //homeworkPictureCorrect.setErrorReason(req.getReason());
         }
         }
         //设置结束质检时间
         //设置结束质检时间
         homeworkPictureCorrect.setCheckEndTime(now);
         homeworkPictureCorrect.setCheckEndTime(now);
         if (homeworkPictureCorrect.getCheckStartTime() == null) {
         if (homeworkPictureCorrect.getCheckStartTime() == null) {
             homeworkPictureCorrect.setCheckStartTime(now);
             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) {
         for (TbLibManager manager : managers) {
             //质检员userId
             //质检员userId
             homeworkPictureCorrect.setCheckerId(manager.getUserId());
             homeworkPictureCorrect.setCheckerId(manager.getUserId());
             switch (manager.getType()) {
             switch (manager.getType()) {
-                case 11:
-                    homeworkPictureCorrect.setChecker("学习管理员");
-                    break;
-                case 12:
-                    homeworkPictureCorrect.setChecker("超级管理员");
-                    break;
-                case 14:
+                case 50:
                     homeworkPictureCorrect.setChecker(manager.getName());
                     homeworkPictureCorrect.setChecker(manager.getName());
                     break;
                     break;
                 default:
                 default:
@@ -654,35 +637,24 @@ public class KmtCorrectSysServiceImpl implements KmtCorrectSysService {
         this.saveErrorCheckRecord(homeworkPictureCorrect, homeworkPicture, teacherType, checkedUserId);
         this.saveErrorCheckRecord(homeworkPictureCorrect, homeworkPicture, teacherType, checkedUserId);
         homeworkPictureCorrectService.save(homeworkPictureCorrect);
         homeworkPictureCorrectService.save(homeworkPictureCorrect);
         //批改老师的质检设置为已质检
         //批改老师的质检设置为已质检
-        if (teacherType == Constant.KMT_122_TEACHER_TYPE) {
-            homeworkPicture.setIsCorrect(13);
-        }
+        homeworkPicture.setIsCorrect(13);
+        
         homeworkPictureService.save(homeworkPicture);
         homeworkPictureService.save(homeworkPicture);
 
 
         if (req.getType() == 2) {
         if (req.getType() == 2) {
             //批改错误,给批改老师发送报错提醒
             //批改错误,给批改老师发送报错提醒
             TbLibManager correctTeacher = null;
             TbLibManager correctTeacher = null;
-            if (8 == teacherType) {
-                List<TbLibManager> libManagerList =
-                        managerService.findByUserIdAndTypeIn(homeworkPicture.getTeacherId(), new int[]{8, 11});
-                if (CollectionUtils.isNotEmpty(libManagerList)) {
-                    correctTeacher = libManagerList.get(0);
-                    String content = correctTeacher.getName() + "老师,您有一份新的作业报错提醒,赶快来查看。";
-                    sconXingeService.asynPushThreadTask(homeworkPicture.getTeacherId(), 4,
-                            XinGePushMessageTypeEnum.Message.getCode(),
-                            XinGePushBusinessTypeEnum.ErrorWarnNotice.getCode(),
-                            "报错提醒", content, "APP_TEACHER", PushConstants.PUSH_OTHER);
-                }
-            } else {
-                correctTeacher = managerService.findByUserIdAndType(homeworkPicture.getKnowTeacherId(), 13);
-                if (correctTeacher != null) {
-                    String content = correctTeacher.getName() + "老师,您有一份新的作业报错提醒,赶快来查看。";
-                    sconXingeService.asynPushThreadTask(homeworkPicture.getKnowTeacherId(), 4,
-                            XinGePushMessageTypeEnum.Message.getCode(),
-                            XinGePushBusinessTypeEnum.ErrorWarnNotice.getCode(),
-                            "报错提醒", content, "APP_TEACHER", PushConstants.PUSH_OTHER);
-                }
+            List<TbLibManager> libManagerList =
+                    managerService.findByUserIdAndTypeIn(homeworkPicture.getTeacherId(), new int[]{30});
+            if (CollectionUtils.isNotEmpty(libManagerList)) {
+                correctTeacher = libManagerList.get(0);
+                String content = correctTeacher.getName() + "老师,您有一份新的作业报错提醒,赶快来查看。";
+                sconXingeService.asynPushThreadTask(homeworkPicture.getTeacherId(), 4,
+                        XinGePushMessageTypeEnum.Message.getCode(),
+                        XinGePushBusinessTypeEnum.ErrorWarnNotice.getCode(),
+                        "报错提醒", content, "APP_TEACHER", PushConstants.PUSH_OTHER);
             }
             }
+            
         }
         }
         return responseEntity.success("成功");
         return responseEntity.success("成功");
     }
     }
@@ -694,7 +666,7 @@ public class KmtCorrectSysServiceImpl implements KmtCorrectSysService {
      * @param homeworkPicture
      * @param homeworkPicture
      */
      */
     private void saveErrorCheckRecord(HomeworkPictureCorrect homeworkPictureCorrect, HomeworkPicture homeworkPicture,
     private void saveErrorCheckRecord(HomeworkPictureCorrect homeworkPictureCorrect, HomeworkPicture homeworkPicture,
-                                      int teacherType, String checkedUserId) {
+                                      int teacherType1, String checkedUserId) {
         if (homeworkPictureCorrect.getIsCheckError() == 1) {
         if (homeworkPictureCorrect.getIsCheckError() == 1) {
             HomeworkPictureErrorCheck errorCheck = new HomeworkPictureErrorCheck();
             HomeworkPictureErrorCheck errorCheck = new HomeworkPictureErrorCheck();
             errorCheck.setHomeworkPictureId(homeworkPicture.getId());
             errorCheck.setHomeworkPictureId(homeworkPicture.getId());
@@ -705,85 +677,111 @@ public class KmtCorrectSysServiceImpl implements KmtCorrectSysService {
             errorCheck.setErrorReason(homeworkPictureCorrect.getErrorReason());
             errorCheck.setErrorReason(homeworkPictureCorrect.getErrorReason());
             errorCheck.setType(homeworkPictureCorrect.getType());
             errorCheck.setType(homeworkPictureCorrect.getType());
             if (StringUtil.isBlank(checkedUserId)) {
             if (StringUtil.isBlank(checkedUserId)) {
-                if (teacherType == Constant.KMT_122_TEACHER_TYPE) {
-                    errorCheck.setCheckedUserId(homeworkPicture.getTeacherId());
-                } else {
-                    errorCheck.setCheckedUserId(homeworkPicture.getKnowTeacherId());
-                }
+                   errorCheck.setCheckedUserId(homeworkPicture.getTeacherId());
             } else {
             } else {
                 errorCheck.setCheckedUserId(checkedUserId);
                 errorCheck.setCheckedUserId(checkedUserId);
             }
             }
             //标注图片问题
             //标注图片问题
             SconTeacherCorrectRecord sconTeacherCorrectRecord =
             SconTeacherCorrectRecord sconTeacherCorrectRecord =
                     sconTeacherCorrectRecordService.findByHomeworkPictureId(homeworkPicture.getId());
                     sconTeacherCorrectRecordService.findByHomeworkPictureId(homeworkPicture.getId());
-            if (sconTeacherCorrectRecord != null && StringUtils.isNotBlank(sconTeacherCorrectRecord.getCorrected_picture_url())
-                    && teacherType == Constant.KMT_122_TEACHER_TYPE) {
+            if (sconTeacherCorrectRecord != null && StringUtils.isNotBlank(sconTeacherCorrectRecord.getCorrected_picture_url())) {
                 errorCheck.setCheckPictureUrl(sconTeacherCorrectRecord.getCorrected_picture_url());
                 errorCheck.setCheckPictureUrl(sconTeacherCorrectRecord.getCorrected_picture_url());
             } else {
             } else {
                 errorCheck.setCheckPictureUrl(StringUtils.isEmpty(homeworkPicture.getCorrectedPictureUrl())
                 errorCheck.setCheckPictureUrl(StringUtils.isEmpty(homeworkPicture.getCorrectedPictureUrl())
                         ? homeworkPicture.getFileKey() : 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);
             homeworkPictureErrorCheckService.save(errorCheck);
         }
         }
     }
     }
     
     
     
     
     @Override
     @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, -1);
+    	
+		String endTime = DateUtil.format_yyyyMMddHHmmss(calendar.getTime());
+    	if(curHour24<12) {
+    		calendar.add(Calendar.DAY_OF_MONTH, -2);  
+    		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());
+	                        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;
     }
     }
     
     
+    
     /**
     /**
      * 按日期顺序插入
      * 按日期顺序插入
      *
      *

+ 15 - 1
src/main/java/com/ssj/service/kmt/correctsys/dto/HomeworkCheckStudentDto.java

@@ -27,9 +27,14 @@ public class HomeworkCheckStudentDto implements Serializable {
      * 总数
      * 总数
      */
      */
     private int totalCount;
     private int totalCount;
+    
+    /**
+     * 报错数
+     */
+    private int errorCount;
 
 
     /**
     /**
-     * 默认0, 1报错
+     * 默认0, 1超时
      */
      */
     private int type;
     private int type;
 
 
@@ -80,4 +85,13 @@ public class HomeworkCheckStudentDto implements Serializable {
     public void setType(int type) {
     public void setType(int type) {
         this.type = type;
         this.type = type;
     }
     }
+
+	public int getErrorCount() {
+		return errorCount;
+	}
+
+	public void setErrorCount(int errorCount) {
+		this.errorCount = errorCount;
+	}
+    
 }
 }

+ 35 - 0
src/main/java/com/ssj/service/kmt/correctsys/request/CorrectCheckInspectorReq.java

@@ -0,0 +1,35 @@
+package com.ssj.service.kmt.correctsys.request;
+
+import com.ssj.bean.common.framework.core.domain.BaseRequest;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @author Mount Liu
+ * @date 2019/5/21
+ */
+public class CorrectCheckInspectorReq extends BaseRequest {
+
+    private final static long serialVersionUID = 1L;
+
+    @ApiModelProperty(name = "homeworkPicId", value = "作业图片id", required = true)
+    private String homeworkPicId;
+    @ApiModelProperty(name = "type", value = "1:通过,2:批改错误", required = true)
+    private int type;
+
+    public String getHomeworkPicId() {
+        return homeworkPicId;
+    }
+
+    public void setHomeworkPicId(String homeworkPicId) {
+        this.homeworkPicId = homeworkPicId;
+    }
+
+    public int getType() {
+        return type;
+    }
+
+    public void setType(int type) {
+        this.type = type;
+    }
+
+}

+ 63 - 0
src/main/java/com/ssj/service/kmt/correctsys/request/InspectorAllotListReq.java

@@ -0,0 +1,63 @@
+package com.ssj.service.kmt.correctsys.request;
+
+import com.ssj.bean.common.framework.core.domain.BaseRequest;
+import io.swagger.annotations.ApiModelProperty;
+
+
+/**
+ * @author Admin
+ * @title: TeacherAllotListReq
+ * @projectName ssj
+ * @description: TODO
+ * @date 2019/5/21 9:32
+ */
+public class InspectorAllotListReq extends BaseRequest {
+
+    private final static long serialVersionUID = 1L;
+
+    @ApiModelProperty(name="pageNo",value = "页码",required = true)
+    private  int pageNo;
+
+    @ApiModelProperty(name="pageSize",value = "每页条数",required = true)
+    private int pageSize;
+
+    @ApiModelProperty(name="subject",value = "科目",required = true)
+    private  String subject;
+
+    @ApiModelProperty(name="childName",value = "学生姓名",required = true)
+    private  String childName;
+
+	public int getPageNo() {
+		return pageNo;
+	}
+
+	public void setPageNo(int pageNo) {
+		this.pageNo = pageNo;
+	}
+
+	public int getPageSize() {
+		return pageSize;
+	}
+
+	public void setPageSize(int pageSize) {
+		this.pageSize = pageSize;
+	}
+
+	public String getSubject() {
+		return subject;
+	}
+
+	public void setSubject(String subject) {
+		this.subject = subject;
+	}
+
+	public String getChildName() {
+		return childName;
+	}
+
+	public void setChildName(String childName) {
+		this.childName = childName;
+	}
+
+   
+}

+ 8 - 3
src/main/java/com/ssj/service/kmt/correctsys/service/KmtCorrectSysService.java

@@ -2,6 +2,10 @@ package com.ssj.service.kmt.correctsys.service;
 
 
 
 
 import java.util.List;
 import java.util.List;
+import java.util.Map;
+
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.Pageable;
 
 
 import com.ssj.bean.sys.homework.domain.HomeworkPicture;
 import com.ssj.bean.sys.homework.domain.HomeworkPicture;
 import com.ssj.framework.core.util.ResponseEntity;
 import com.ssj.framework.core.util.ResponseEntity;
@@ -9,6 +13,7 @@ import com.ssj.service.kmt.correctsys.dto.HomeworkCheckKnowDetailDto;
 import com.ssj.service.kmt.correctsys.dto.HomeworkCheckSubjectDto;
 import com.ssj.service.kmt.correctsys.dto.HomeworkCheckSubjectDto;
 import com.ssj.service.kmt.correctsys.dto.HomeworkPictureCheckDto;
 import com.ssj.service.kmt.correctsys.dto.HomeworkPictureCheckDto;
 import com.ssj.service.kmt.correctsys.dto.HomeworkPictureCheckHowDetailDto;
 import com.ssj.service.kmt.correctsys.dto.HomeworkPictureCheckHowDetailDto;
+import com.ssj.service.kmt.correctsys.request.CorrectCheckInspectorReq;
 import com.ssj.service.kmt.correctsys.request.CorrectCheckReq;
 import com.ssj.service.kmt.correctsys.request.CorrectCheckReq;
 
 
 /**
 /**
@@ -58,15 +63,15 @@ public interface KmtCorrectSysService {
      * @return
      * @return
      * @throws Exception
      * @throws Exception
      */
      */
-    ResponseEntity correctCheck(CorrectCheckReq req, String userId) throws Exception;
+    ResponseEntity correctCheck(CorrectCheckInspectorReq req, String userId) throws Exception;
     
     
 
 
     /**
     /**
-     * 查询某个老师的质检作业数据,默认7天的数据
+     * 查询某个老师的质检作业数据,默认150天的数据
      * @param teacherId
      * @param teacherId
      * @return
      * @return
      */
      */
-    List<HomeworkCheckSubjectDto> findCheckHomeworkList (String teacherId);
+    Page<HomeworkCheckSubjectDto> pageCheckHomeworkList(Map<String, Object> params, Pageable pageable);