Procházet zdrojové kódy

修复后端精度为####.###

ting.yin před 5 roky
rodič
revize
d3cd7e8d27

+ 8 - 6
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/model/MarkGroup.java

@@ -150,14 +150,15 @@ public class MarkGroup implements Serializable {
         this.pk = new MarkGroupPK();
     }
 
-    public MarkGroup(Integer examId, String subjectCode, Integer number, List<PictureConfigItem> configList, Double totalScore,
-            Double doubleRate, Double arbitrateThreshold, Integer scorePolicy, String markMode, Integer trialCount, boolean sheetView,
-            Integer thirdPolicy) {
+    public MarkGroup(Integer examId, String subjectCode, Integer number, List<PictureConfigItem> configList,
+            Double totalScore, Double doubleRate, Double arbitrateThreshold, Integer scorePolicy, String markMode,
+            Integer trialCount, boolean sheetView, Integer thirdPolicy) {
         this.pk = new MarkGroupPK();
         this.pk.setExamId(examId);
         this.pk.setNumber(number);
         this.pk.setSubjectCode(subjectCode);
-        this.picList = configList != null && configList.size() > 0 ? StringUtils.join(configList, PictureConfigItem.DB_ITEM_JOINER) : "";
+        this.picList = configList != null && configList.size() > 0 ? StringUtils.join(configList,
+                PictureConfigItem.DB_ITEM_JOINER) : "";
         this.totalScore = totalScore;
         this.libraryCount = 0;
         this.markedCount = 0;
@@ -225,7 +226,8 @@ public class MarkGroup implements Serializable {
     }
 
     public void setPicList(List<PictureConfigItem> configList) {
-        this.picList = configList != null && configList.size() > 0 ? StringUtils.join(configList, PictureConfigItem.DB_ITEM_JOINER) : "";
+        this.picList = configList != null && configList.size() > 0 ? StringUtils.join(configList,
+                PictureConfigItem.DB_ITEM_JOINER) : "";
     }
 
     public List<PictureConfigItem> getPictureConfigList() {
@@ -273,7 +275,7 @@ public class MarkGroup implements Serializable {
     }
 
     public void setQuestionList(List<ExamQuestion> questionList) {
-        DecimalFormat format = new DecimalFormat("###.#");
+        DecimalFormat format = new DecimalFormat("####.###");
         Set<Integer> mainNumbers = new LinkedHashSet<>();
         Set<String> mainTitles = new LinkedHashSet<>();
         StringBuilder score = new StringBuilder();

+ 2 - 2
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/exam/service/impl/ExamStudentServiceImpl.java

@@ -808,7 +808,7 @@ public class ExamStudentServiceImpl extends BaseQueryService<ExamStudent> implem
      */
     @SuppressWarnings("unused")
     private PictureTag buildScoreDetailTag(ExamStudent student) {
-        DecimalFormat format = new DecimalFormat("###.#");
+        DecimalFormat format = new DecimalFormat("####.###");
         // 所有显示内容
         List<String> lines = new LinkedList<>();
         lines.add("成绩明细");
@@ -869,7 +869,7 @@ public class ExamStudentServiceImpl extends BaseQueryService<ExamStudent> implem
      */
     private List<OriginTag> buildOriginTags(ExamStudent student, MarkGroup group, List<ExamQuestion> questions,
             List<ScoreItem> scoreList) {
-        DecimalFormat format = new DecimalFormat("###.#");
+        DecimalFormat format = new DecimalFormat("####.###");
         // 从考生主观题得分中拆解出本大题得分
         double score = 0;
         List<Double> details = new ArrayList<>();

+ 1 - 1
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/utils/ScoreItem.java

@@ -6,7 +6,7 @@ public class ScoreItem {
 
     public static final String SPLIT = ":";
 
-    public static final DecimalFormat NUMBER_FORMAT = new DecimalFormat("###.####");
+    public static final DecimalFormat NUMBER_FORMAT = new DecimalFormat("####.###");
 
     private int mainNumber;
 

+ 1 - 1
stmms-web/src/main/java/cn/com/qmth/stmms/admin/dto/MarkGroupDTO.java

@@ -44,7 +44,7 @@ public class MarkGroupDTO {
         libraryCount = group.getLibraryCount();
         markedCount = group.getMarkedCount();
         subjectRemark = subject.getRemark();
-        percent = libraryCount > 0 ? (new DecimalFormat("###.##").format(markedCount * 100.0 / libraryCount) + "%")
+        percent = libraryCount > 0 ? (new DecimalFormat("####.###").format(markedCount * 100.0 / libraryCount) + "%")
                 : "0%";
     }
 

+ 12 - 14
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/MarkController.java

@@ -45,7 +45,7 @@ public class MarkController extends BaseExamController {
 
     @Autowired
     private MarkGroupService groupService;
-    
+
     @Autowired
     private ExamQuestionService questionService;
 
@@ -78,7 +78,7 @@ public class MarkController extends BaseExamController {
         double total = (double) groupService.sumLibraryCount(examId);
         double finish = (double) groupService.sumMarkedCount(examId);
         double percent = total > 0 ? (finish * 100 / total) : 0;
-        model.addAttribute("percent", new DecimalFormat("###.#").format(percent));
+        model.addAttribute("percent", new DecimalFormat("####.###").format(percent));
         model.addAttribute("resultList", list);
         model.addAttribute("query", query);
         model.addAttribute("subjectList", getExamSubject(examId, wu));
@@ -93,14 +93,13 @@ public class MarkController extends BaseExamController {
         WebUser wu = RequestUtils.getWebUser(request);
         int examId = getSessionExamId(request);
         List<MarkGroupDTO> result = new LinkedList<MarkGroupDTO>();
-        List<MarkGroup> list = wu.isSubjectHeader()
-                ? groupService.findByExamAndSubject(examId, wu.getUser().getSubjectCode())
-                : groupService.findByExam(examId);
+        List<MarkGroup> list = wu.isSubjectHeader() ? groupService.findByExamAndSubject(examId, wu.getUser()
+                .getSubjectCode()) : groupService.findByExam(examId);
         for (MarkGroup group : list) {
-            group.setMarkerCount(
-                    markerService.countByExamAndSubjectAndGroup(examId, group.getSubjectCode(), group.getNumber()));
-            group.setQuestionList(questionService.findByExamAndSubjectAndObjectiveAndGroupNumber(examId, group.getSubjectCode(),
-                    false, group.getNumber()));
+            group.setMarkerCount(markerService.countByExamAndSubjectAndGroup(examId, group.getSubjectCode(),
+                    group.getNumber()));
+            group.setQuestionList(questionService.findByExamAndSubjectAndObjectiveAndGroupNumber(examId,
+                    group.getSubjectCode(), false, group.getNumber()));
             MarkGroupDTO dto = new MarkGroupDTO(subjectService.find(examId, group.getSubjectCode()), group);
             result.add(dto);
         }
@@ -125,11 +124,10 @@ public class MarkController extends BaseExamController {
                 : markerService.getMarkCount(examId);
         for (Marker marker : list) {
             MarkGroup group = groupService.findOne(examId, marker.getSubjectCode(), marker.getGroupNumber());
-            group.setQuestionList(questionService.findByExamAndSubjectAndObjectiveAndGroupNumber(examId, group.getSubjectCode(),
-                    false, group.getNumber()));
-            MarkerInfoDTO dto = new MarkerInfoDTO(marker,
-                    subjectService.find(marker.getExamId(), marker.getSubjectCode()),
-                    group);
+            group.setQuestionList(questionService.findByExamAndSubjectAndObjectiveAndGroupNumber(examId,
+                    group.getSubjectCode(), false, group.getNumber()));
+            MarkerInfoDTO dto = new MarkerInfoDTO(marker, subjectService.find(marker.getExamId(),
+                    marker.getSubjectCode()), group);
             result.add(dto);
         }
 

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

@@ -307,7 +307,7 @@ public class MarkGroupController extends BaseExamController {
                 List<ExamQuestion> list = questionService.findByExamAndSubjectAndObjectiveAndMainNumber(examId,
                         subjectCode, false, Integer.parseInt(mainNumber));
                 StringBuilder score = new StringBuilder();
-                DecimalFormat format = new DecimalFormat("###.#");
+                DecimalFormat format = new DecimalFormat("####.###");
                 String title = "";
                 for (ExamQuestion question : list) {
                     if (score.length() > 0) {

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

@@ -201,7 +201,7 @@ public class TrialController extends BaseExamController {
                 // 评卷记录集合
                 JSONArray array = new JSONArray();
                 List<TrialHistory> list = trialService.findHistory(libraryId);
-                DecimalFormat format = new DecimalFormat("###.##");
+                DecimalFormat format = new DecimalFormat("####.###");
                 for (TrialHistory history : list) {
                     Marker marker = markerService.findById(history.getMarkerId());
                     JSONObject item = new JSONObject();

+ 30 - 23
stmms-web/src/main/java/cn/com/qmth/stmms/api/controller/ExamStudentController.java

@@ -77,7 +77,8 @@ public class ExamStudentController extends BaseApiController {
     @RoleRequire({ Role.SCHOOL_ADMIN })
     @RequestMapping(value = "/student/manualAbsent/{examId}", method = RequestMethod.POST)
     @ResponseBody
-    public Object updateManualAbsent(HttpServletRequest request, @PathVariable Integer examId, @RequestBody MenualAbsentDTO[] datas) {
+    public Object updateManualAbsent(HttpServletRequest request, @PathVariable Integer examId,
+            @RequestBody MenualAbsentDTO[] datas) {
         ApiUser user = RequestUtils.getApiUser(request);
         Exam exam = examService.findById(examId);
         if (exam != null && exam.getSchoolId().equals(user.getSchoolId())) {
@@ -134,9 +135,9 @@ public class ExamStudentController extends BaseApiController {
     @RoleRequire({ Role.SCHOOL_ADMIN, Role.SCANNER })
     @RequestMapping(value = "/students/{examId}", method = RequestMethod.GET)
     @ResponseBody
-    public JSONArray getStudent(HttpServletRequest request, @PathVariable Integer examId, @RequestParam(required = false) Boolean upload,
-            @RequestParam(required = false) Boolean absent, @RequestParam(required = false) Integer pageNumber,
-            @RequestParam(required = false) Integer pageSize) {
+    public JSONArray getStudent(HttpServletRequest request, @PathVariable Integer examId,
+            @RequestParam(required = false) Boolean upload, @RequestParam(required = false) Boolean absent,
+            @RequestParam(required = false) Integer pageNumber, @RequestParam(required = false) Integer pageSize) {
         JSONArray array = new JSONArray();
         Exam exam = examService.findById(examId);
         if (exam == null) {
@@ -178,7 +179,8 @@ public class ExamStudentController extends BaseApiController {
     public JSONObject checkStudent(HttpServletRequest request, @RequestBody ExamStudent examStudent) {
         JSONObject obj = new JSONObject();
         Exam exam = examService.findById(examStudent.getExamId());
-        ExamStudent student = studentService.findByExamIdAndExamNumber(examStudent.getExamId(), examStudent.getExamNumber());
+        ExamStudent student = studentService.findByExamIdAndExamNumber(examStudent.getExamId(),
+                examStudent.getExamNumber());
         if (student != null) {
             obj.accumulate("examId", examStudent.getExamId());
             obj.accumulate("campusName", student.getCampusName());
@@ -206,8 +208,8 @@ public class ExamStudentController extends BaseApiController {
     @RoleRequire({ Role.SCHOOL_ADMIN })
     @RequestMapping("/students/count/{examId}")
     @ResponseBody
-    public long getStudentCount(HttpServletRequest request, @PathVariable Integer examId, @RequestParam(required = false) Boolean upload,
-            @RequestParam(required = false) Boolean absent) {
+    public long getStudentCount(HttpServletRequest request, @PathVariable Integer examId,
+            @RequestParam(required = false) Boolean upload, @RequestParam(required = false) Boolean absent) {
         ApiUser user = RequestUtils.getApiUser(request);
         Exam exam = examService.findById(examId);
         if (exam != null && exam.getSchoolId().equals(user.getSchoolId())) {
@@ -224,7 +226,8 @@ public class ExamStudentController extends BaseApiController {
     @RequestMapping("/exam/students")
     @ResponseBody
     public JSONArray getStudent(HttpServletRequest request, ExamStudentSearchQuery query,
-            @RequestParam(required = false) Boolean withScoreDetail, @RequestParam(required = false) Boolean withMarkTrack) {
+            @RequestParam(required = false) Boolean withScoreDetail,
+            @RequestParam(required = false) Boolean withMarkTrack) {
         ApiUser user = RequestUtils.getApiUser(request);
         JSONArray array = new JSONArray();
         if (query.getExamId() == null) {
@@ -232,7 +235,7 @@ public class ExamStudentController extends BaseApiController {
         }
         Exam exam = examService.findById(query.getExamId());
         if (exam != null && exam.getSchoolId().equals(user.getSchoolId())) {
-            DecimalFormat format = new DecimalFormat("####.##");
+            DecimalFormat format = new DecimalFormat("####.###");
             studentService.findByQuery(query);
             for (ExamStudent student : query.getResult()) {
                 JSONObject obj = new JSONObject();
@@ -253,8 +256,10 @@ public class ExamStudentController extends BaseApiController {
                 obj.accumulate("absent", student.isAbsent());
                 obj.accumulate("manualAbsent", student.isManualAbsent());
                 obj.accumulate("breach", student.isBreach());
-                obj.accumulate("objectiveScore", student.getObjectiveScore() == null ? "" : format.format(student.getObjectiveScore()));
-                obj.accumulate("subjectiveScore", student.getSubjectiveScore() == null ? "" : format.format(student.getSubjectiveScore()));
+                obj.accumulate("objectiveScore",
+                        student.getObjectiveScore() == null ? "" : format.format(student.getObjectiveScore()));
+                obj.accumulate("subjectiveScore",
+                        student.getSubjectiveScore() == null ? "" : format.format(student.getSubjectiveScore()));
                 obj.accumulate("examSite", StringUtils.trimToEmpty(student.getExamSite()));
                 obj.accumulate("examRoom", StringUtils.trimToEmpty(student.getExamRoom()));
                 obj.accumulate("remark", StringUtils.trimToEmpty(student.getRemark()));
@@ -266,9 +271,8 @@ public class ExamStudentController extends BaseApiController {
                         // 构造客观题得分明细
                         JSONArray objective = new JSONArray();
                         List<ScoreItem> scoreList = student.getScoreList(true);
-                        List<ExamQuestion> questionList = questionService
-                                .findByExamAndSubjectAndObjectiveAndPaperType(student.getExamId(), student.getSubjectCode(), true,
-                                        student.getPaperType());
+                        List<ExamQuestion> questionList = questionService.findByExamAndSubjectAndObjectiveAndPaperType(
+                                student.getExamId(), student.getSubjectCode(), true, student.getPaperType());
                         int i = 0;
                         for (ScoreItem item : scoreList) {
                             i++;
@@ -291,8 +295,8 @@ public class ExamStudentController extends BaseApiController {
                         // 构造主观题得分明细
                         JSONArray subjective = new JSONArray();
                         scoreList = student.getScoreList(false);
-                        questionList = questionService
-                                .findByExamAndSubjectAndObjective(student.getExamId(), student.getSubjectCode(), false);
+                        questionList = questionService.findByExamAndSubjectAndObjective(student.getExamId(),
+                                student.getSubjectCode(), false);
                         i = 0;
                         for (ScoreItem item : scoreList) {
                             i++;
@@ -357,8 +361,10 @@ public class ExamStudentController extends BaseApiController {
     }
 
     /**
-     * @param s       需要转换的字符串
-     * @param convert 是否正向转换
+     * @param s
+     *            需要转换的字符串
+     * @param convert
+     *            是否正向转换
      * @return
      */
     @SuppressWarnings("unused")
@@ -409,19 +415,20 @@ public class ExamStudentController extends BaseApiController {
 
     @RequestMapping(value = "/score/school/{schoolId}", method = RequestMethod.POST)
     @ResponseBody
-    public String getScore(@PathVariable Integer schoolId, @RequestParam String studentCode, @RequestParam String subjectCode,
-            @RequestParam(required = false, defaultValue = "true") boolean encrypt, @RequestParam(required = false) String examSeqCode) {
+    public String getScore(@PathVariable Integer schoolId, @RequestParam String studentCode,
+            @RequestParam String subjectCode, @RequestParam(required = false, defaultValue = "true") boolean encrypt,
+            @RequestParam(required = false) String examSeqCode) {
         JSONObject obj = new JSONObject();
         ExamStudent student = null;
         try {
             if (Strings.isNullOrEmpty(examSeqCode)) {
                 student = studentService.findBySchoolIdAndSubjectCodeAndStudentCode(schoolId, subjectCode, studentCode);
             } else {
-                student = studentService
-                        .findBySchoolIdAndSubjectCodeAndStudentCodeAndRemark(schoolId, subjectCode, studentCode, examSeqCode);
+                student = studentService.findBySchoolIdAndSubjectCodeAndStudentCodeAndRemark(schoolId, subjectCode,
+                        studentCode, examSeqCode);
             }
             if (student != null) {
-                DecimalFormat df = new DecimalFormat("###.#");
+                DecimalFormat df = new DecimalFormat("####.###");
                 obj.accumulate("exist", true);
                 obj.accumulate("objectiveScore", df.format(student.getObjectiveScore()));
                 obj.accumulate("subjectiveScore", df.format(student.getSubjectiveScore()));