Browse Source

批量新增用户给提示

ting.yin 1 year ago
parent
commit
9ccf47c686

+ 1 - 1
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/dao/MarkLibraryDao.java

@@ -93,7 +93,7 @@ public interface MarkLibraryDao extends JpaRepository<MarkLibrary, Integer>, Jpa
     @Query("select f.markerId, count(f) as markerCount from MarkLibrary f where f.examId=?1 and f.status in (?2) group by f.markerId")
     List<Object[]> countMarkerAndStatus(Integer examId, LibraryStatus... status);
 
-    @Query("select f.markerId, count(f) as markerCount from MarkLibrary f where f.examId=?1 and f.subjectCode in (?2) and f.status in (?3) and and f.markerScore != -1 group by f.markerId")
+    @Query("select f.markerId, count(f) as markerCount from MarkLibrary f where f.examId=?1 and f.subjectCode in (?2) and f.status in (?3) and f.markerScore != -1 group by f.markerId")
     List<Object[]> countMarkerAndStatusAndSubjectCodeIn(Integer examId, Set<String> codes, LibraryStatus... status);
 
     @Query("select f.markerId, count(f) as markerCount from MarkLibrary f where f.examId=?1 and f.subjectCode=?2 and f.status in (?3) group by f.markerId")

+ 2 - 2
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/user/service/UserService.java

@@ -30,9 +30,9 @@ public interface UserService {
 
     User findByAccount(Integer schoolId, String account);
 
-    void batchSaveMarker(int examId, Set<String> subjectCodes, Integer number, String password, boolean random);
+    int batchSaveMarker(int examId, Set<String> subjectCodes, Integer number, String password, boolean random);
 
-    void batchSaveSubjectUser(int examId, Role role, Set<String> subjectCodes, Integer number, String password,
+    int batchSaveSubjectUser(int examId, Role role, Set<String> subjectCodes, Integer number, String password,
             boolean random);
 
     public int findMaxNumberByLoginNameStart(String prefix);

+ 19 - 10
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/user/service/impl/UserServiceImpl.java

@@ -236,23 +236,25 @@ public class UserServiceImpl implements UserService {
 
     @Transactional
     @Override
-    public void batchSaveMarker(int examId, Set<String> subjectCodes, Integer number, String password, boolean random) {
+    public int batchSaveMarker(int examId, Set<String> subjectCodes, Integer number, String password, boolean random) {
+        int successNum = 0;
         if (subjectCodes.size() == 0) {
             List<ExamSubject> subjects = subjectService.list(examId);
             for (ExamSubject subject : subjects) {
-                saveMarkerBySubject(examId, number, password, subject.getCode(), random);
+                successNum = successNum + saveMarkerBySubject(examId, number, password, subject.getCode(), random);
             }
         } else {
             for (String subjectCode : subjectCodes) {
-                saveMarkerBySubject(examId, number, password, subjectCode, random);
+                successNum = successNum + saveMarkerBySubject(examId, number, password, subjectCode, random);
             }
         }
-
+        return successNum;
     }
 
-    private void saveMarkerBySubject(int examId, Integer number, String password, String subjectCode, boolean random) {
+    private int saveMarkerBySubject(int examId, Integer number, String password, String subjectCode, boolean random) {
         Exam exam = examService.findById(examId);
         List<MarkGroup> groups = groupService.findByExamAndSubject(examId, subjectCode);
+        int successNum = 0;
         for (MarkGroup group : groups) {
             List<Marker> saveList = new ArrayList<Marker>();
             String prefix = exam.getSchoolId() + "-" + subjectCode + "-" + group.getNumber();
@@ -283,6 +285,7 @@ public class UserServiceImpl implements UserService {
                         }
                     }
                     userDao.save(user);
+                    successNum++;
                     Marker marker = new Marker();
                     marker.setSubjectCode(subjectCode);
                     marker.setGroupNumber(group.getNumber());
@@ -293,30 +296,34 @@ public class UserServiceImpl implements UserService {
                 }
                 createNumber++;
             }
-            markerService.batchSave(saveList);
         }
+        return successNum;
     }
 
     @Transactional
     @Override
-    public void batchSaveSubjectUser(int examId, Role role, Set<String> subjectCodes, Integer number, String password,
+    public int batchSaveSubjectUser(int examId, Role role, Set<String> subjectCodes, Integer number, String password,
             boolean random) {
+        int successNum = 0;
         if (subjectCodes.size() == 0) {
             List<ExamSubject> subjects = subjectService.list(examId);
             for (ExamSubject subject : subjects) {
-                saveSubjectUserBySubject(examId, number, role, subject.getCode(), password, random);
+                successNum = successNum
+                        + saveSubjectUserBySubject(examId, number, role, subject.getCode(), password, random);
             }
         } else {
             for (String subjectCode : subjectCodes) {
-                saveSubjectUserBySubject(examId, number, role, subjectCode, password, random);
+                successNum = successNum + saveSubjectUserBySubject(examId, number, role, subjectCode, password, random);
             }
         }
+        return successNum;
     }
 
-    private void saveSubjectUserBySubject(int examId, Integer number, Role role, String subjectCode, String password,
+    private int saveSubjectUserBySubject(int examId, Integer number, Role role, String subjectCode, String password,
             boolean random) {
         Exam exam = examService.findById(examId);
         List<SubjectUser> saveList = new ArrayList<SubjectUser>();
+        int successNum = 0;
         int createNumber = 1;
         String prefix = exam.getSchoolId() + "-" + subjectCode;
         if (role.equals(Role.INSPECTOR)) {
@@ -348,6 +355,7 @@ public class UserServiceImpl implements UserService {
                 user.setSchoolId(exam.getSchoolId());
                 user.setCreatedTime(new Date());
                 user = userDao.save(user);
+                successNum++;
                 SubjectUser subjectUser = new SubjectUser();
                 subjectUser.setSubjectCode(subjectCode);
                 subjectUser.setUserId(user.getId());
@@ -356,6 +364,7 @@ public class UserServiceImpl implements UserService {
             createNumber++;
         }
         subjectUserService.batchSave(saveList);
+        return successNum;
     }
 
     // @Override

+ 8 - 4
stmms-web/src/main/java/cn/com/qmth/stmms/admin/user/UserController.java

@@ -530,11 +530,15 @@ public class UserController extends BaseExamController {
             @RequestParam String subjectCodeString, @RequestParam(required = false) Boolean random) {
         int examId = getSessionExamId(request);
         if (Role.MARKER.equals(role)) {
-            userService.batchSaveMarker(examId, getSubjectCodeSet(subjectCodeString), number, password,
-                    random == null ? false : random);
+            int successNum = userService.batchSaveMarker(examId, getSubjectCodeSet(subjectCodeString), number,
+                    password, random == null ? false : random);
+            String message = "已成功新增 " + successNum + " 条用户";
+            addMessage(redirectAttributes, message);
         } else {
-            userService.batchSaveSubjectUser(examId, role, getSubjectCodeSet(subjectCodeString), number, password,
-                    random == null ? false : random);
+            int successNum = userService.batchSaveSubjectUser(examId, role, getSubjectCodeSet(subjectCodeString),
+                    number, password, random == null ? false : random);
+            String message = "已成功新增 " + successNum + " 条用户";
+            addMessage(redirectAttributes, message);
         }
         return "redirect:/admin/user/list";
     }

+ 1 - 0
stmms-web/src/main/webapp/static/i18n/messages.properties

@@ -207,6 +207,7 @@ report.college.maxScore=\u6700\u9ad8\u5206
 report.college.minScore=\u6700\u4f4e\u5206
 report.college.passCount=\u53ca\u683c\u4eba\u6570
 report.college.passRate=\u53ca\u683c\u7387
+report.college.excellentCount=\u4f18\u79c0\u6570
 report.college.excellentRate=\u4f18\u79c0\u7387
 #report.teacher
 report.teacher=\u4efb\u8bfe\u8001\u5e08\u5206\u6790

+ 1 - 0
stmms-web/src/main/webapp/static/i18n/messages_en.properties

@@ -207,6 +207,7 @@ report.college.maxScore=max score
 report.college.minScore=min score
 report.college.passCount=pass count
 report.college.passRate=pass rete
+report.college.excellentCount=excellent count
 report.college.excellentRate=excellent rate
 #report.teacher
 report.teacher=teacher

+ 1 - 0
stmms-web/src/main/webapp/static/i18n/messages_ja.properties

@@ -207,6 +207,7 @@ report.college.maxScore=\u6700\u9ad8\u70b9
 report.college.minScore=\u6700\u4f4e\u70b9
 report.college.passCount=\u5408\u683c\u8005\u6570
 report.college.passRate=\u5408\u683c\u7387
+report.college.excellentCount=\u512a\u79c0\u5224\u5b9a\u6570
 report.college.excellentRate=\u512a\u79c0\u5224\u5b9a\u7387
 #report.teacher
 report.teacher=\u6559\u54e1\u306b\u3064\u3044\u3066\u306e\u8a55\u4fa1

+ 2 - 1
stmms-web/src/main/webapp/static/i18n/messages_zh.properties

@@ -205,8 +205,9 @@ report.college.name=\u5b66\u751f\u9662\u7cfb
 report.college.avgScore=\u5e73\u5747\u5206
 report.college.maxScore=\u6700\u9ad8\u5206
 report.college.minScore=\u6700\u4f4e\u5206
-report.college.passCount=\u53ca\u683c\u4eba\u6570
+report.college.passCount=\u53ca\u683c\u6570
 report.college.passRate=\u53ca\u683c\u7387
+report.college.excellentCount=\u4f18\u79c0\u6570
 report.college.excellentRate=\u4f18\u79c0\u7387
 #report.teacher
 report.teacher=\u4efb\u8bfe\u8001\u5e08\u5206\u6790