|
@@ -3,17 +3,12 @@ package cn.com.qmth.stmms.ms.log.aop;
|
|
import cn.com.qmth.stmms.ms.commons.config.LevelConfig;
|
|
import cn.com.qmth.stmms.ms.commons.config.LevelConfig;
|
|
import cn.com.qmth.stmms.ms.commons.constant.ArbitrateCallback;
|
|
import cn.com.qmth.stmms.ms.commons.constant.ArbitrateCallback;
|
|
import cn.com.qmth.stmms.ms.commons.utils.SqlUtil;
|
|
import cn.com.qmth.stmms.ms.commons.utils.SqlUtil;
|
|
-import cn.com.qmth.stmms.ms.core.domain.MarkLog;
|
|
|
|
-import cn.com.qmth.stmms.ms.core.domain.MarkLogOperType;
|
|
|
|
-import cn.com.qmth.stmms.ms.core.domain.MarkStage;
|
|
|
|
-import cn.com.qmth.stmms.ms.core.domain.Paper;
|
|
|
|
|
|
+import cn.com.qmth.stmms.ms.core.domain.*;
|
|
import cn.com.qmth.stmms.ms.core.domain.task.MarkTask;
|
|
import cn.com.qmth.stmms.ms.core.domain.task.MarkTask;
|
|
import cn.com.qmth.stmms.ms.core.domain.user.MarkUser;
|
|
import cn.com.qmth.stmms.ms.core.domain.user.MarkUser;
|
|
import cn.com.qmth.stmms.ms.core.domain.user.Role;
|
|
import cn.com.qmth.stmms.ms.core.domain.user.Role;
|
|
-import cn.com.qmth.stmms.ms.core.repository.MarkLogRepo;
|
|
|
|
-import cn.com.qmth.stmms.ms.core.repository.MarkTaskRepo;
|
|
|
|
-import cn.com.qmth.stmms.ms.core.repository.PaperRepo;
|
|
|
|
-import cn.com.qmth.stmms.ms.core.repository.StudentRepo;
|
|
|
|
|
|
+import cn.com.qmth.stmms.ms.core.repository.*;
|
|
|
|
+import cn.com.qmth.stmms.ms.core.vo.Subject;
|
|
import cn.com.qmth.stmms.ms.marking.config.MarkingConfig;
|
|
import cn.com.qmth.stmms.ms.marking.config.MarkingConfig;
|
|
import cn.com.qmth.stmms.ms.marking.dto.MarkTaskDTO;
|
|
import cn.com.qmth.stmms.ms.marking.dto.MarkTaskDTO;
|
|
import com.alibaba.fastjson.JSONArray;
|
|
import com.alibaba.fastjson.JSONArray;
|
|
@@ -31,6 +26,7 @@ import org.springframework.web.context.request.ServletRequestAttributes;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpSession;
|
|
import javax.servlet.http.HttpSession;
|
|
|
|
+import java.text.SimpleDateFormat;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@@ -98,12 +94,12 @@ public class MarkLogAop {
|
|
public void markAspect() {
|
|
public void markAspect() {
|
|
}
|
|
}
|
|
|
|
|
|
-// /**
|
|
|
|
-// * 采集端采集试卷切入点
|
|
|
|
-// */
|
|
|
|
-// @Pointcut("execution(* cn.com.qmth.stmms.ms.collect.api.CollectApi.imageUploadSheet(..))")
|
|
|
|
-// public void collectAspect() {
|
|
|
|
-// }
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 采集端采集试卷切入点
|
|
|
|
+ */
|
|
|
|
+ @Pointcut("execution(* cn.com.qmth.stmms.ms.collect.api.CollectApi.imageUploadSheet(..))")
|
|
|
|
+ public void collectAspect() {
|
|
|
|
+ }
|
|
|
|
|
|
/**
|
|
/**
|
|
* 标准卷设置、定档设置、档位打回切入
|
|
* 标准卷设置、定档设置、档位打回切入
|
|
@@ -253,60 +249,63 @@ public class MarkLogAop {
|
|
//20191107wangliang加入仲裁自动打回算法 end
|
|
//20191107wangliang加入仲裁自动打回算法 end
|
|
}
|
|
}
|
|
|
|
|
|
-// /**
|
|
|
|
-// * 采集切入
|
|
|
|
-// *
|
|
|
|
-// * @param joinPoint
|
|
|
|
-// * @param result
|
|
|
|
-// * @throws Exception
|
|
|
|
-// */
|
|
|
|
-// @AfterReturning(value = "collectAspect()", returning = RESULT)
|
|
|
|
-// public void afterReturnCollectPoint(JoinPoint joinPoint, Object result) throws Exception {
|
|
|
|
-// Map<String, Object> map = getAspectCommon(joinPoint, 1);
|
|
|
|
-// JSONArray jsonArgsArray = (JSONArray) map.get(PARAM_ARGS);
|
|
|
|
-// MarkUser markUser = (MarkUser) map.get(MARK_USER);
|
|
|
|
-//// JSONObject aopResult = JSONObject.parseObject(JSONObject.toJSONString(result));
|
|
|
|
-//
|
|
|
|
-// // 参数 workdId, subjectId, examNumber
|
|
|
|
-// JSONObject arg0 = (JSONObject) jsonArgsArray.get(0);
|
|
|
|
-// Long workId = JSONObject.parseObject(arg0.toJSONString(), Long.class);
|
|
|
|
-// JSONObject arg1 = (JSONObject) jsonArgsArray.get(1);
|
|
|
|
-// int subjectId = JSONObject.parseObject(arg1.toJSONString(), int.class);
|
|
|
|
-// Subject subject = Subject.values()[subjectId - 1];
|
|
|
|
-// JSONObject arg3 = (JSONObject) jsonArgsArray.get(2);
|
|
|
|
-// String examNumber = JSONObject.parseObject(arg3.toJSONString(), String.class);
|
|
|
|
-//
|
|
|
|
-// //学生信息
|
|
|
|
-// Student student = studentRepo.findByWorkIdAndExamNumber(workId, examNumber);
|
|
|
|
-//
|
|
|
|
-// //试卷信息
|
|
|
|
-// List<Paper> paperList = paperRepo.findByWorkIdAndExamNumber(workId, examNumber);
|
|
|
|
-// Paper paper = paperList.get(0);
|
|
|
|
-//
|
|
|
|
-// Integer operType = MarkLogOperType.COLLECT.getId();
|
|
|
|
-//
|
|
|
|
-// MarkLog markLog = new MarkLog();
|
|
|
|
-// markLog.setCreateUserId(markUser.getId());
|
|
|
|
-// markLog.setCreateUserName(markUser.getName());
|
|
|
|
-// markLog.setCreateRole(markUser.getRole().getName());
|
|
|
|
-// markLog.setSubject(subject.toString());
|
|
|
|
-// markLog.setExamNumber(examNumber);
|
|
|
|
-// markLog.setStudentName(student.getName());
|
|
|
|
-// markLog.setOperType(operType);
|
|
|
|
-// markLog.setWorkId(workId);
|
|
|
|
-// markLog.setPaperId(paper.getId());
|
|
|
|
-// markLog.setStage(MarkStage.INIT);
|
|
|
|
-// //识别方式
|
|
|
|
-// markLog.setRemark("");
|
|
|
|
-// //操作时间
|
|
|
|
-// markLog.setCreateTime(new Date());
|
|
|
|
-// //todo
|
|
|
|
-// //登录时间
|
|
|
|
-// //退出时间
|
|
|
|
-// LOGGER.info("markLog:{}", JSONObject.toJSONString(markLog));
|
|
|
|
-// //分档、打分、回评档位、回评分数、档位打回、档位打回回评end
|
|
|
|
-// markLogRepo.save(markLog);
|
|
|
|
-// }
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 采集切入
|
|
|
|
+ *
|
|
|
|
+ * @param joinPoint
|
|
|
|
+ * @param result
|
|
|
|
+ * @throws Exception
|
|
|
|
+ */
|
|
|
|
+ @AfterReturning(value = "collectAspect()", returning = RESULT)
|
|
|
|
+ public void afterReturnCollectPoint(JoinPoint joinPoint, Object result) throws Exception {
|
|
|
|
+ //参数
|
|
|
|
+ Object[] paramValues = joinPoint.getArgs();
|
|
|
|
+
|
|
|
|
+ // 参数 workdId, subjectId, examNumber
|
|
|
|
+ Long workId = JSONObject.parseObject(String.valueOf(paramValues[0]), Long.class);
|
|
|
|
+ int subjectId = JSONObject.parseObject(String.valueOf(paramValues[1]), int.class);
|
|
|
|
+ Subject subject = Subject.values()[subjectId - 1];
|
|
|
|
+ String examNumber = JSONObject.parseObject(String.valueOf(paramValues[2]), String.class);
|
|
|
|
+
|
|
|
|
+ HttpServletRequest request = ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest();
|
|
|
|
+ //取采集用户id
|
|
|
|
+ Long clientUserId = Long.valueOf(request.getParameter("clientUserId"));
|
|
|
|
+ //取采集用户名称
|
|
|
|
+ String clientUsername = request.getParameter("clientUsername");
|
|
|
|
+ //学生信息
|
|
|
|
+ String name = request.getParameter("name");
|
|
|
|
+ //试卷信息
|
|
|
|
+ List<Paper> paperList = paperRepo.findByWorkIdAndExamNumber(workId, examNumber);
|
|
|
|
+ Paper paper = paperList.get(0);
|
|
|
|
+
|
|
|
|
+ Integer operType = MarkLogOperType.COLLECT.getId();
|
|
|
|
+
|
|
|
|
+ MarkLog markLog = new MarkLog();
|
|
|
|
+ markLog.setCreateUserId(clientUserId);
|
|
|
|
+ markLog.setCreateUserName(clientUsername);
|
|
|
|
+ markLog.setCreateRole(Role.COLLECTOR.getName());
|
|
|
|
+ markLog.setSubject(subject.toString());
|
|
|
|
+ markLog.setExamNumber(examNumber);
|
|
|
|
+ markLog.setStudentName(name);
|
|
|
|
+ markLog.setOperType(operType);
|
|
|
|
+ markLog.setWorkId(workId);
|
|
|
|
+ markLog.setPaperId(paper.getId());
|
|
|
|
+ markLog.setStage(MarkStage.INIT);
|
|
|
|
+ //识别方式
|
|
|
|
+ String manual = request.getParameter("manual");
|
|
|
|
+ markLog.setRemark("0".equals(manual) ? "正常扫描" : "1".equals(manual) ? "手工绑定": null);
|
|
|
|
+ //操作时间
|
|
|
|
+ SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
|
+ String time = request.getParameter("time");
|
|
|
|
+ markLog.setCreateTime(formatter.parse(time));
|
|
|
|
+ //登录时间
|
|
|
|
+ String clientUserLoginTime = request.getParameter("clientUserLoginTime");
|
|
|
|
+ markLog.setLoginTime(formatter.parse(clientUserLoginTime));
|
|
|
|
+ //退出时间(没有退出时间)
|
|
|
|
+ LOGGER.info("markLog:{}", JSONObject.toJSONString(markLog));
|
|
|
|
+ //分档、打分、回评档位、回评分数、档位打回、档位打回回评end
|
|
|
|
+ markLogRepo.save(markLog);
|
|
|
|
+ }
|
|
|
|
|
|
/**
|
|
/**
|
|
* 查询处于哪个档位公用
|
|
* 查询处于哪个档位公用
|