yin hace 1 mes
padre
commit
55b4890fde

+ 1 - 0
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/PaperController.java

@@ -204,6 +204,7 @@ public class PaperController extends BaseExamController {
                     }
                     // 选做题判分策略
                     if (selectiveMap.containsKey(examQuestion.getMainNumber())) {
+                        examQuestion.setEnableUpdate(false);
                         examQuestion.setSelective(true);
                         examQuestion
                                 .setSelectiveIndex(selectiveMap.get(examQuestion.getMainNumber()).getSelectiveIndex());

+ 24 - 0
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/ScanController.java

@@ -184,6 +184,12 @@ public class ScanController extends BaseExamController {
             vo.setTotalCount(studentService.countByExamIdAndSubjectCode(examId, subject.getCode()));
             vo.setScanCount(studentService.countByExamIdAndSubjectCode(examId, subject.getCode(), true));
             vo.setScanSheetCount(studentService.countSheetCountByExamIdAndSubjectCode(examId, subject.getCode()) / 2);
+            ExamStudentSearchQuery studentSearchQuery = new ExamStudentSearchQuery();
+            studentSearchQuery.setExamId(examId);
+            studentSearchQuery.setSubjectCode(subject.getCode());
+            studentSearchQuery.setManualAbsent(true);
+            long manualAbsentCount = studentService.countByQuery(studentSearchQuery);
+            vo.setManualAbsentCount(manualAbsentCount);
             list.add(vo);
         }
         try {
@@ -232,6 +238,12 @@ public class ScanController extends BaseExamController {
             vo.setTotalCount(studentService.countByExamIdAndExamSite(examId, query.getExamSite()));
             vo.setScanCount(studentService.countByExamIdAndExamSite(examId, query.getExamSite(), true));
             vo.setScanSheetCount(studentService.countSheetCountByExamIdAndExamSite(examId, query.getExamSite()) / 2);
+            ExamStudentSearchQuery studentSearchQuery = new ExamStudentSearchQuery();
+            studentSearchQuery.setExamId(examId);
+            studentSearchQuery.setExamSite(query.getExamSite());
+            studentSearchQuery.setManualAbsent(true);
+            long manualAbsentCount = studentService.countByQuery(studentSearchQuery);
+            vo.setManualAbsentCount(manualAbsentCount);
             list.add(vo);
 
             query.setTotalCount(1);
@@ -262,6 +274,12 @@ public class ScanController extends BaseExamController {
                 vo.setTotalCount(studentService.countByExamIdAndExamSite(examId, examSite));
                 vo.setScanCount(studentService.countByExamIdAndExamSite(examId, examSite, true));
                 vo.setScanSheetCount(studentService.countSheetCountByExamIdAndExamSite(examId, examSite) / 2);
+                ExamStudentSearchQuery studentSearchQuery = new ExamStudentSearchQuery();
+                studentSearchQuery.setExamId(examId);
+                studentSearchQuery.setExamSite(examSite);
+                studentSearchQuery.setManualAbsent(true);
+                long manualAbsentCount = studentService.countByQuery(studentSearchQuery);
+                vo.setManualAbsentCount(manualAbsentCount);
                 list.add(vo);
             }
         } else {
@@ -270,6 +288,12 @@ public class ScanController extends BaseExamController {
             vo.setTotalCount(studentService.countByExamIdAndExamSite(examId, query.getExamSite()));
             vo.setScanCount(studentService.countByExamIdAndExamSite(examId, query.getExamSite(), true));
             vo.setScanSheetCount(studentService.countSheetCountByExamIdAndExamSite(examId, query.getExamSite()) / 2);
+            ExamStudentSearchQuery studentSearchQuery = new ExamStudentSearchQuery();
+            studentSearchQuery.setExamId(examId);
+            studentSearchQuery.setExamSite(query.getExamSite());
+            studentSearchQuery.setManualAbsent(true);
+            long manualAbsentCount = studentService.countByQuery(studentSearchQuery);
+            vo.setManualAbsentCount(manualAbsentCount);
             list.add(vo);
         }
         try {

+ 5 - 5
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/SelectiveGroupController.java

@@ -109,7 +109,7 @@ public class SelectiveGroupController extends BaseExamController {
     @RequestMapping("/add")
     public String add(Model model, HttpServletRequest request, RedirectAttributes redirectAttributes,
             @RequestParam String subjectCode, @RequestParam Integer selectiveCount, @RequestParam Integer scorePolicy,
-            @RequestParam Integer selectivePart, @RequestParam(required = true,defaultValue = "false") Boolean enableAllSelective,
+            @RequestParam Integer selectivePart, @RequestParam(required = true,defaultValue = "false") Boolean enableAllSelectiveAdd,
                       @RequestParam(required = false) String parts) {
         int examId = getSessionExamId(request);
         List<MarkGroup> groups = groupService.findByExamAndSubject(examId, subjectCode);
@@ -142,7 +142,7 @@ public class SelectiveGroupController extends BaseExamController {
         }
         model.addAttribute("selectiveCount", selectiveCount);
         model.addAttribute("selectivePart", selectivePart);
-        model.addAttribute("enableAllSelective", enableAllSelective);
+        model.addAttribute("enableAllSelectiveAdd", enableAllSelectiveAdd);
         model.addAttribute("selectivePartNo", partList.size() + 1);
         model.addAttribute("scorePolicy", scorePolicy);
         model.addAttribute("questions", questions);
@@ -177,7 +177,7 @@ public class SelectiveGroupController extends BaseExamController {
     @Transactional
     public String save(HttpServletRequest request, RedirectAttributes redirectAttributes,
             @RequestParam String subjectCode, @RequestParam Integer selectiveCount, @RequestParam Integer scorePolicy,
-            @RequestParam Integer selectivePart,  @RequestParam(required = true,defaultValue = "false") Boolean enableAllSelective,
+            @RequestParam Integer selectivePart,  @RequestParam(required = true,defaultValue = "false") Boolean enableAllSelectiveAdd,
                        @RequestParam String parts) {
         int examId = getSessionExamId(request);
         if (selectiveCount >= selectivePart) {
@@ -207,8 +207,8 @@ public class SelectiveGroupController extends BaseExamController {
         subjectService.updateScore(examId, subjectCode, false,
                 questionService.sumTotalScore(examId, subjectCode, false));
         ExamSubject subject = subjectService.find(examId,subjectCode);
-        if(subject.isEnableAllSelective()!=enableAllSelective){
-            subjectService.updateEnableAllSelective(examId,subjectCode,enableAllSelective);
+        if(subject.isEnableAllSelective()!=enableAllSelectiveAdd){
+            subjectService.updateEnableAllSelective(examId,subjectCode,enableAllSelectiveAdd);
         }
         return "redirect:/admin/exam/selectiveGroup?subjectCode=" + subjectCode;
     }

+ 1 - 1
stmms-web/src/main/webapp/WEB-INF/views/modules/exam/paperDetail.jsp

@@ -98,7 +98,7 @@
                 </c:if>
                 <c:if test="${question.deleting!=true}">
 					<a href="${ctx}/admin/exam/paper/question-edit/${question.id}?pageNumber=${query.pageNumber}&code=${query.code }&category=${ query.category}&level=${query.level }&upload=${ upload}&totalScoreNotEqual=${  query.totalScoreNotEqual}&enableUpdate=${question.enableUpdate}">编辑</a>
-					<c:if test="${question.groupNumber==null ||question.groupNumber==0}"><a href="${ctx}/admin/exam/paper/question-delete/${question.id}?pageNumber=${query.pageNumber}&code=${query.code }&category=${ query.category}&level=${query.level }&upload=${ upload}&totalScoreNotEqual=${  query.totalScoreNotEqual}" class="delete-button">删除</a></c:if>
+					<c:if test="${(question.groupNumber==null ||question.groupNumber==0) && !question.selective }"><a href="${ctx}/admin/exam/paper/question-delete/${question.id}?pageNumber=${query.pageNumber}&code=${query.code }&category=${ query.category}&level=${query.level }&upload=${ upload}&totalScoreNotEqual=${  query.totalScoreNotEqual}" class="delete-button">删除</a></c:if>
                 </c:if>
 				</td>
 			</tr>

+ 1 - 1
stmms-web/src/main/webapp/WEB-INF/views/modules/exam/selectiveAdd.jsp

@@ -14,7 +14,7 @@
 		<input name="selectiveCount" value="${selectiveCount}" type="hidden"/>
 		<input name="selectivePart" value="${selectivePart}" type="hidden"/>
 		<input name="scorePolicy" value="${scorePolicy}" type="hidden"/>
-		<input name="enableAllSelective" value="${enableAllSelective}" type="hidden"/>
+		<input name="enableAllSelectiveAdd" value="${enableAllSelectiveAdd}" type="hidden"/>
 		<input name="parts" value="${parts}" type="hidden" id="parts"/>
 		<div>
 			<label>科目:${subject.code}-${subject.name}</label>

+ 27 - 27
stmms-web/src/main/webapp/WEB-INF/views/modules/exam/selectiveList.jsp

@@ -134,7 +134,7 @@
 		</div>
 	    <div class="task-content">
 			选做题规则:<input type="number" id="selectivePart" name="selectivePart" class="task-count" oninput="if(value<0)value=0"/>选<input type="number" id="selectiveCount" name="selectiveCount" class="task-count" oninput="if(value<0)value=0"/><br/>
-			启用一键未选做:<input name="enableAllSelective" type="checkbox" <c:if test="${subject.enableAllSelective}">checked</c:if>/><br/>
+			启用一键未选做:<input name="enableAllSelectiveAdd" type="checkbox" <c:if test="${subject.enableAllSelective}">checked="checked"</c:if>/><br/>
 			<div style="z-index:99999">
 			取分规则:<select name="scorePolicy" style="z-index:99999;">
 						 <c:forEach items="${scorePolicyList}" var="item">
@@ -153,32 +153,32 @@
 	        <p class="image-close"><img src="${ctxStatic}/mark-new/images/images-close.png"/></p></div>
 	    <div class="task-content">
 	    	<table id="contentTable" class="table table-striped table-bordered table-condensed">
-		<thead>
-			<tr>
-				<th>选做题组</th>
-				<th>规则</th>
-				<th>大题名称</th>
-				<th>分值</th>
-				<th>操作</th>
-			</tr>
-		</thead>
-		<tbody>
-		<c:forEach items="${list}" var="group">
-			<tr>
-				<td>${group.selectiveIndex}</td>
-				<td>${group.selectivePart}选${group.selectiveCount}
-					<br/>	${group.scorePolicy.name}
-				</td>
-				<td>${group.title}</td>
-				<td><fmt:formatNumber pattern="###.###" value="${group.partScore*group.selectiveCount}"/></td>
-				<td>
-					<a href="${ctx}/admin/exam/selectiveGroup/delete?subjectCode=${subject.code}&selectiveIndex=${group.selectiveIndex}">删除</a>
-					<a href="#" onclick="goScorePolicy(${group.selectiveIndex},${group.selectivePart},${group.selectiveCount},${group.scorePolicy.value})" >编辑</a>	
-				</td>
-			</tr>
-		</c:forEach>
-		</tbody>
-	</table>
+			<thead>
+				<tr>
+					<th>选做题组</th>
+					<th>规则</th>
+					<th>大题名称</th>
+					<th>分值</th>
+					<th>操作</th>
+				</tr>
+			</thead>
+			<tbody>
+			<c:forEach items="${list}" var="group">
+				<tr>
+					<td>${group.selectiveIndex}</td>
+					<td>${group.selectivePart}选${group.selectiveCount}
+						<br/>	${group.scorePolicy.name}
+					</td>
+					<td>${group.title}</td>
+					<td><fmt:formatNumber pattern="###.###" value="${group.partScore*group.selectiveCount}"/></td>
+					<td>
+						<a href="${ctx}/admin/exam/selectiveGroup/delete?subjectCode=${subject.code}&selectiveIndex=${group.selectiveIndex}">删除</a>
+						<a href="#" onclick="goScorePolicy(${group.selectiveIndex},${group.selectivePart},${group.selectiveCount},${group.scorePolicy.value})" >编辑</a>
+					</td>
+				</tr>
+			</c:forEach>
+			</tbody>
+			</table>
 	    </div>
 	</div>
 	<div class="scorePolicyWindow" style="display:none">