Explorar el Código

增加科组长打分字段

ting.yin hace 6 años
padre
commit
1ad524f2b9

+ 64 - 2
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/model/MarkLibrary.java

@@ -105,6 +105,30 @@ public class MarkLibrary implements Serializable {
 
 
     @Transient
     @Transient
     private Marker marker;
     private Marker marker;
+    
+    /**
+     * 科组长
+     */
+    @Column(name = "header_id")
+    private Integer headerId;
+
+    /**
+     * 科组长评卷时间
+     */
+    @Column(name = "header_time")
+    private Date headerTime;
+
+    /**
+     * 科组长给分总分
+     */
+    @Column(name = "header_score")
+    private Double headerScore;
+
+    /**
+     * 科组长给分明细
+     */
+    @Column(name = "header_score_list")
+    private String headerScoreList;
 
 
     public Integer getId() {
     public Integer getId() {
         return id;
         return id;
@@ -188,9 +212,15 @@ public class MarkLibrary implements Serializable {
 
 
     public List<ScoreItem> getScoreList() {
     public List<ScoreItem> getScoreList() {
         List<ScoreItem> list = new LinkedList<ScoreItem>();
         List<ScoreItem> list = new LinkedList<ScoreItem>();
-        if (StringUtils.isNotBlank(markerScoreList)) {
+        String scoreList = null;
+        if (StringUtils.isNotBlank(headerScoreList)){
+        	scoreList = headerScoreList;
+        }else if(StringUtils.isNotBlank(markerScoreList)){
+        	scoreList = markerScoreList;
+        }
+        if (StringUtils.isNotBlank(scoreList)) {
             try {
             try {
-                String[] values = markerScoreList.split(",");
+                String[] values = scoreList.split(",");
                 for (String value : values) {
                 for (String value : values) {
                     ScoreItem item = ScoreItem.parse(value, false);
                     ScoreItem item = ScoreItem.parse(value, false);
                     if (item != null) {
                     if (item != null) {
@@ -235,4 +265,36 @@ public class MarkLibrary implements Serializable {
         this.marker = marker;
         this.marker = marker;
     }
     }
 
 
+	public Integer getHeaderId() {
+		return headerId;
+	}
+
+	public void setHeaderId(Integer headerId) {
+		this.headerId = headerId;
+	}
+
+	public Date getHeaderTime() {
+		return headerTime;
+	}
+
+	public void setHeaderTime(Date headerTime) {
+		this.headerTime = headerTime;
+	}
+
+	public Double getHeaderScore() {
+		return headerScore;
+	}
+
+	public void setHeaderScore(Double headerScore) {
+		this.headerScore = headerScore;
+	}
+
+	public String getHeaderScoreList() {
+		return headerScoreList;
+	}
+
+	public void setHeaderScoreList(String headerScoreList) {
+		this.headerScoreList = headerScoreList;
+	}
+
 }
 }

+ 37 - 0
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/model/Task.java

@@ -118,6 +118,11 @@ public class Task implements Serializable {
 
 
     private String message;
     private String message;
     
     
+    private Integer headerId;
+    private Date headerTime;
+    private Double headerScore;
+    private String headerScoreList;
+    
     //特殊标识:√ 或 ❌ 或 乄
     //特殊标识:√ 或 ❌ 或 乄
     private SpecialTagDTO [] tagList;
     private SpecialTagDTO [] tagList;
 
 
@@ -325,4 +330,36 @@ public class Task implements Serializable {
 		this.tagList = tagList;
 		this.tagList = tagList;
 	}
 	}
 
 
+	public Integer getHeaderId() {
+		return headerId;
+	}
+
+	public void setHeaderId(Integer headerId) {
+		this.headerId = headerId;
+	}
+
+	public Date getHeaderTime() {
+		return headerTime;
+	}
+
+	public void setHeaderTime(Date headerTime) {
+		this.headerTime = headerTime;
+	}
+
+	public Double getHeaderScore() {
+		return headerScore;
+	}
+
+	public void setHeaderScore(Double headerScore) {
+		this.headerScore = headerScore;
+	}
+
+	public String getHeaderScoreList() {
+		return headerScoreList;
+	}
+
+	public void setHeaderScoreList(String headerScoreList) {
+		this.headerScoreList = headerScoreList;
+	}
+
 }
 }

+ 17 - 5
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/service/Impl/TaskServiceImpl.java

@@ -230,8 +230,13 @@ public class TaskServiceImpl implements TaskService {
                 List<ScoreItem> scoreList = new ArrayList<ScoreItem>();
                 List<ScoreItem> scoreList = new ArrayList<ScoreItem>();
                 Double markerScore = 0.0;
                 Double markerScore = 0.0;
                 for (MarkLibrary librarie : libraries) {
                 for (MarkLibrary librarie : libraries) {
-                    scoreList.addAll(librarie.getScoreList());
-                    markerScore = markerScore + librarie.getMarkerScore();
+                	if(librarie.getHeaderId()!=null){
+                		scoreList.addAll(librarie.getScoreList());
+                		markerScore = markerScore + librarie.getHeaderScore();
+                	}else{
+                		scoreList.addAll(librarie.getScoreList());
+                		markerScore = markerScore + librarie.getMarkerScore();
+                	}
                 }
                 }
                 studentService.updateSubjectiveScore(library.getStudentId(), markerScore,
                 studentService.updateSubjectiveScore(library.getStudentId(), markerScore,
                         ExamStudent.buildScoreList(scoreList));
                         ExamStudent.buildScoreList(scoreList));
@@ -280,6 +285,12 @@ public class TaskServiceImpl implements TaskService {
                 library.setMarkerScore(task.getTotalScore());
                 library.setMarkerScore(task.getTotalScore());
                 library.setMarkerScoreList(task.getScoreList());
                 library.setMarkerScoreList(task.getScoreList());
             }
             }
+            if(task.getHeaderId()!=null){
+            	library.setHeaderId(task.getHeaderId());
+            	library.setHeaderTime(new Date());
+            	library.setHeaderScore(task.getHeaderScore());
+                library.setHeaderScoreList(task.getHeaderScoreList());
+            }
             return libraryService.save(library);
             return libraryService.save(library);
         } else {
         } else {
             return null;
             return null;
@@ -349,6 +360,7 @@ public class TaskServiceImpl implements TaskService {
         task.setPaperUrl(PictureUrlBuilder.getPaperUrl(student.getExamId(), student.getSubjectCode()));
         task.setPaperUrl(PictureUrlBuilder.getPaperUrl(student.getExamId(), student.getSubjectCode()));
         task.setObjectiveScore(student != null ? student.getObjectiveScore() : 0);
         task.setObjectiveScore(student != null ? student.getObjectiveScore() : 0);
         task.setBack(true);
         task.setBack(true);
+        
         return task;
         return task;
     }
     }
 	private List<MarkStepDTO> buildMarkStep(ExamStudent student) {
 	private List<MarkStepDTO> buildMarkStep(ExamStudent student) {
@@ -394,7 +406,7 @@ public class TaskServiceImpl implements TaskService {
         		stepTask.setProblem(task.isProblem());
         		stepTask.setProblem(task.isProblem());
         		stepTask.setBack(task.isBack());
         		stepTask.setBack(task.isBack());
         		stepTask.setLibraryId(library.getId());
         		stepTask.setLibraryId(library.getId());
-        		stepTask.setMarkId(task.getMarkId());
+        		stepTask.setHeaderId(task.getHeaderId());
         		stepTask.setTags(task.getTags());
         		stepTask.setTags(task.getTags());
         		List<ExamQuestion> sList = questionService.findByExamAndSubjectAndObjectiveAndMainNumber(library.getExamId(),
         		List<ExamQuestion> sList = questionService.findByExamAndSubjectAndObjectiveAndMainNumber(library.getExamId(),
                         library.getSubjectCode(), false, library.getGroupNumber());
                         library.getSubjectCode(), false, library.getGroupNumber());
@@ -405,13 +417,13 @@ public class TaskServiceImpl implements TaskService {
         			end = start + sList.size()*2-1;
         			end = start + sList.size()*2-1;
         		}
         		}
         		String scoreList = task.getScoreList().substring(start, end);
         		String scoreList = task.getScoreList().substring(start, end);
-        		stepTask.setScoreList(scoreList);
+        		stepTask.setHeaderScoreList(scoreList);
         		String[] scores = scoreList.split(",");
         		String[] scores = scoreList.split(",");
         		double totalScore = 0;
         		double totalScore = 0;
         		for (String score : scores) {
         		for (String score : scores) {
         			totalScore = totalScore + Double.parseDouble(score);
         			totalScore = totalScore + Double.parseDouble(score);
 				}
 				}
-         		stepTask.setTotalScore(totalScore);
+         		stepTask.setHeaderScore(totalScore);
         		submitLibrary(stepTask);
         		submitLibrary(stepTask);
 			}
 			}
             return true;
             return true;

+ 10 - 0
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/ScoreController.java

@@ -42,6 +42,8 @@ import cn.com.qmth.stmms.biz.exam.service.MarkerService;
 import cn.com.qmth.stmms.biz.exam.service.ScoreRateService;
 import cn.com.qmth.stmms.biz.exam.service.ScoreRateService;
 import cn.com.qmth.stmms.biz.mark.model.MarkLibrary;
 import cn.com.qmth.stmms.biz.mark.model.MarkLibrary;
 import cn.com.qmth.stmms.biz.mark.service.MarkLibraryService;
 import cn.com.qmth.stmms.biz.mark.service.MarkLibraryService;
+import cn.com.qmth.stmms.biz.user.model.User;
+import cn.com.qmth.stmms.biz.user.service.UserService;
 import cn.com.qmth.stmms.biz.utils.ScoreItem;
 import cn.com.qmth.stmms.biz.utils.ScoreItem;
 import cn.com.qmth.stmms.common.auth.annotation.RoleRequire;
 import cn.com.qmth.stmms.common.auth.annotation.RoleRequire;
 import cn.com.qmth.stmms.common.domain.WebUser;
 import cn.com.qmth.stmms.common.domain.WebUser;
@@ -86,6 +88,9 @@ public class ScoreController extends BaseExamController {
     
     
     @Autowired
     @Autowired
     private MarkerService markerService;
     private MarkerService markerService;
+    
+    @Autowired
+    private UserService userService;
 
 
     @Autowired
     @Autowired
     private AsyncTaskExecutor taskExecutor;
     private AsyncTaskExecutor taskExecutor;
@@ -144,6 +149,11 @@ public class ScoreController extends BaseExamController {
             			for (String s : tag) {
             			for (String s : tag) {
             				tags.add(s);
             				tags.add(s);
 						}
 						}
+            		}
+            		if(markLibrary.getHeaderId()!=null){
+            			User user = userService.findById(markLibrary.getHeaderId());
+            			student.setMarkLogin(user.getLoginName());
+            			 student.setMarkName(user.getName());
             		}
             		}
 				}
 				}
             	if(!tags.isEmpty()){
             	if(!tags.isEmpty()){

+ 9 - 2
stmms-web/src/main/java/cn/com/qmth/stmms/mark/MarkLeaderController.java

@@ -69,7 +69,10 @@ public class MarkLeaderController extends BaseController {
     @RequestMapping("/index")
     @RequestMapping("/index")
     public ModelAndView index(HttpServletRequest request, @RequestParam(value = "studentId") Integer studentId) {
     public ModelAndView index(HttpServletRequest request, @RequestParam(value = "studentId") Integer studentId) {
     	ExamStudent student= studentService.findById(studentId);
     	ExamStudent student= studentService.findById(studentId);
+    	WebUser user= RequestUtils.getWebUser(request);
     	Marker marker = new Marker();
     	Marker marker = new Marker();
+    	marker.setId(user.getId());
+    	marker.setName(user.getName());
         marker.setExamId(student.getExamId());
         marker.setExamId(student.getExamId());
         marker.setSubjectCode(student.getSubjectCode());
         marker.setSubjectCode(student.getSubjectCode());
         ModelAndView modelAndView = new ModelAndView("modules/mark/markLeader");
         ModelAndView modelAndView = new ModelAndView("modules/mark/markLeader");
@@ -100,6 +103,8 @@ public class MarkLeaderController extends BaseController {
         JSONObject status = new JSONObject();
         JSONObject status = new JSONObject();
         if(studentId==null){
         if(studentId==null){
         	status.accumulate("valid", false);
         	status.accumulate("valid", false);
+            status.accumulate("totalCount", 1);
+            status.accumulate("markedCount", 1);
         }else{
         }else{
         	ExamStudent student= studentService.findById(studentId);
         	ExamStudent student= studentService.findById(studentId);
         	ExamSubject subject = subjectService.find(student.getExamId(), student.getSubjectCode());
         	ExamSubject subject = subjectService.find(student.getExamId(), student.getSubjectCode());
@@ -116,11 +121,13 @@ public class MarkLeaderController extends BaseController {
     @ResponseBody
     @ResponseBody
     public Task getTask(HttpServletRequest request, @RequestParam(value = "studentId", required = false) Integer studentId) {
     public Task getTask(HttpServletRequest request, @RequestParam(value = "studentId", required = false) Integer studentId) {
     	WebUser marker = RequestUtils.getWebUser(request);
     	WebUser marker = RequestUtils.getWebUser(request);
-        Task task = getTask(marker,studentId);
+        Task task = null;
         if (studentId == null) {
         if (studentId == null) {
             task = new Task();
             task = new Task();
             task.setExist(false);
             task.setExist(false);
             task.setMessage("当前无评卷任务");
             task.setMessage("当前无评卷任务");
+        }else{
+        	task = getTask(marker,studentId);
         }
         }
         return task;
         return task;
     }
     }
@@ -135,7 +142,7 @@ public class MarkLeaderController extends BaseController {
      * @param bmList
      * @param bmList
      */
      */
     private void setTaskParameter(Task task, WebUser marker) {
     private void setTaskParameter(Task task, WebUser marker) {
-        task.setMarkId(marker.getId());
+        task.setHeaderId(marker.getId());
         task.setSpent(new Date().getTime());
         task.setSpent(new Date().getTime());
     }
     }
 
 

+ 1 - 1
stmms-web/src/main/webapp/WEB-INF/views/modules/mark/markLeader.jsp

@@ -85,7 +85,7 @@
 			});
 			});
 			mc.start({
 			mc.start({
 				mode : 'loop',
 				mode : 'loop',
-				statusUrl : '${ctx}/admin/mark/leader/status?studentId=${studentId}',
+				statusUrl : '${ctx}/admin/mark/leader/status',
 				getUrl : '${ctx}/admin/mark/leader/gettask?studentId=${studentId}',
 				getUrl : '${ctx}/admin/mark/leader/gettask?studentId=${studentId}',
 				historyUrl : '${ctx}/admin/mark/leader/gethistory',
 				historyUrl : '${ctx}/admin/mark/leader/gethistory',
 				submitUrl : '${ctx}/admin/mark/leader/savetask',
 				submitUrl : '${ctx}/admin/mark/leader/savetask',