From 06d6372b451b964738cbfe2adb37e1da85d856ed Mon Sep 17 00:00:00 2001
From: 胡仁荣 <897853850@qq.com>
Date: 星期四, 24 十一月 2022 16:05:03 +0800
Subject: [PATCH] 新增

---
 src/main/java/com/qxueyou/scc/admin/schoolRoll/ISchoolRollService.java         |    8 ++
 src/main/java/com/qxueyou/scc/teach/student/service/impl/StudentService.java   |    8 ++
 src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseVerService.java    |    1 
 src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseInfoService.java   |    2 
 src/main/java/com/qxueyou/scc/admin/schoolRoll/impl/SchoolRollServiceImpl.java |   62 +++++++++++++++-----
 src/main/java/com/qxueyou/scc/controller/SchoolRollController.java             |   31 +++++++--
 src/main/java/com/qxueyou/scc/teach/student/model/StuStudent.java              |   18 ++++-
 src/main/java/com/qxueyou/scc/exam/service/IExamService.java                   |    1 
 8 files changed, 100 insertions(+), 31 deletions(-)

diff --git a/src/main/java/com/qxueyou/scc/admin/schoolRoll/ISchoolRollService.java b/src/main/java/com/qxueyou/scc/admin/schoolRoll/ISchoolRollService.java
index 2c4ab25..63f4f27 100644
--- a/src/main/java/com/qxueyou/scc/admin/schoolRoll/ISchoolRollService.java
+++ b/src/main/java/com/qxueyou/scc/admin/schoolRoll/ISchoolRollService.java
@@ -1,5 +1,7 @@
 package com.qxueyou.scc.admin.schoolRoll;
 
+import com.qxueyou.scc.admin.classes.model.ClsClass;
+import com.qxueyou.scc.base.model.Result;
 import com.qxueyou.scc.teach.student.model.StuStudent;
 import io.swagger.models.auth.In;
 
@@ -10,9 +12,11 @@
 
     int findSchoolRollListCount(String keyword,String status);
 
-    String updateSchool(String StudentId,String ClassId);
+    Result updateSchool(String [] studentIds,String classId);
 
     void deriveStudentMessage();
 
-    Boolean auditStudent(String Student);
+    Result loopStudentIds(String[] studentIds);
+
+    List<ClsClass> findClass();
 }
diff --git a/src/main/java/com/qxueyou/scc/admin/schoolRoll/impl/SchoolRollServiceImpl.java b/src/main/java/com/qxueyou/scc/admin/schoolRoll/impl/SchoolRollServiceImpl.java
index 50c9114..2b978e2 100644
--- a/src/main/java/com/qxueyou/scc/admin/schoolRoll/impl/SchoolRollServiceImpl.java
+++ b/src/main/java/com/qxueyou/scc/admin/schoolRoll/impl/SchoolRollServiceImpl.java
@@ -1,5 +1,8 @@
 package com.qxueyou.scc.admin.schoolRoll.impl;
 
+import cn.hutool.core.date.LocalDateTimeUtil;
+import cn.hutool.core.util.RandomUtil;
+import com.qxueyou.scc.admin.classes.model.ClsClass;
 import com.qxueyou.scc.admin.schoolRoll.ISchoolRollService;
 import com.qxueyou.scc.base.model.ExcelExportParam;
 import com.qxueyou.scc.base.model.Pager;
@@ -8,8 +11,10 @@
 import com.qxueyou.scc.base.util.ClientUtils;
 import com.qxueyou.scc.base.util.CollectionUtils;
 import com.qxueyou.scc.base.util.ExcelExportUtils;
+import com.qxueyou.scc.base.util.TraceUtils;
 import com.qxueyou.scc.teach.student.model.StuStudent;
 import com.qxueyou.scc.user.model.UserRegistration;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -17,6 +22,7 @@
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.OutputStream;
+import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -49,20 +55,25 @@
     }
 
     @Override
-    public String updateSchool(String StudentId, String ClassId) {
-        StringBuffer hql=new StringBuffer("from StuStudent where studentId=? and deleteFlag is false");
+    public Result updateSchool(String [] studentIds, String classId) {
+        for (String studentId:
+                studentIds) {
+            StringBuffer hql=new StringBuffer("from StuStudent where studentId=? and deleteFlag is false");
 
-        List<Object> args = CollectionUtils.newList(StudentId);
+            List<Object> args = CollectionUtils.newList(studentId);
 
-        StuStudent stuStudent = findUnique(hql.toString(), args, StuStudent.class);
+            StuStudent stuStudent = findUnique(hql.toString(), args, StuStudent.class);
 
-        if(stuStudent!=null && ClassId!=null){
-            stuStudent.setClassId(ClassId);
-            save(stuStudent);
-            return "true";
+            if(stuStudent!=null && classId!=null){
+                stuStudent.setClassId(classId);
+                save(stuStudent);
+            }else {
+                return new Result(false,"班级不存在或学生不存在");
+            }
         }
 
-        return "false";
+        return new Result(true);
+
     }
 
     @Override
@@ -120,18 +131,37 @@
     }
 
     @Override
-    public Boolean auditStudent(String Student) {
-        StringBuffer hql=new StringBuffer("from StuStudent where studentId=? and deleteFlag is false");
+    public Result loopStudentIds(String[] studentIds) {
+        for (String studentId:
+             studentIds) {
+            auditStudent(studentId);
+        }
+        return new Result(true);
+    }
 
-        List<Object> arg = CollectionUtils.newList(Student);
+    private Result auditStudent(String studentId) {
+        StuStudent student = read(StuStudent.class, studentId);
+        TraceUtils.setUpdateTrace(student);
+        String currentTime = LocalDateTimeUtil.format(LocalDateTime.now(), "yyMMddHHmmssSSS");
 
-        StuStudent stuStudent = findUnique(hql.toString(), arg, StuStudent.class);
+        String examCardNo = currentTime.concat(RandomUtil.randomNumbers(1));
 
-        stuStudent.setStatus(StuStudent.STATUS_ACTIVE);
+        student.setStudentNumber(examCardNo);
+        student.setStatus(StuStudent.STATUS_ACTIVE);
+        save(student);
 
-        Result save = save(stuStudent);
+        return new Result(true);
+    }
 
-        return save.isSuccess();
+    @Override
+    public List<ClsClass> findClass() {
+        StringBuffer hql=new StringBuffer("from ClsClass where deleteFlag is false");
+
+        List<Object> arg = CollectionUtils.newList();
+
+        List<ClsClass> clsClasses = find(hql.toString(), arg, ClsClass.class);
+
+        return clsClasses;
     }
 
 }
diff --git a/src/main/java/com/qxueyou/scc/controller/SchoolRollController.java b/src/main/java/com/qxueyou/scc/controller/SchoolRollController.java
index 3b3ffad..b204a3e 100644
--- a/src/main/java/com/qxueyou/scc/controller/SchoolRollController.java
+++ b/src/main/java/com/qxueyou/scc/controller/SchoolRollController.java
@@ -1,5 +1,6 @@
 package com.qxueyou.scc.controller;
 
+import com.qxueyou.scc.admin.classes.model.ClsClass;
 import com.qxueyou.scc.admin.schoolRoll.ISchoolRollService;
 import com.qxueyou.scc.base.model.Pager;
 import com.qxueyou.scc.base.model.Result;
@@ -45,8 +46,8 @@
 
         return new Result(true,"success", CollectionUtils.newObjectMap("schoolRollList",
                 QBeanUtils.listBean2ListMap(schoolRollList,
-                        CollectionUtils.newStringMap("name", "studentName", "studentNo", "studentNo","sex","sex", "status",
-                                "status", "createTime", "createTime")),
+                        CollectionUtils.newStringMap("name", "studentName","studentId","studentId", "studentNo", "studentNo","sex","sex", "status",
+                                "status", "createTime", "createTime","mobilePhone","mobilePhone","studentNumber","studentNumber")),
                 "schoolrollCount", count));
     }
 
@@ -56,9 +57,9 @@
      * @return
      */
     @ApiOperation(value = "给学员分配班级", notes = "")
-    @PutMapping(value = "/updateSchoolClass")
-    public String updateSchoolClass(String StudentId,String ClassId) {
-        return iSchoolRollService.updateSchool(StudentId, ClassId);
+    @GetMapping(value = "/updateSchoolClass")
+    public Result updateSchoolClass(String [] studentIds,String classId) {
+        return iSchoolRollService.updateSchool(studentIds, classId);
     }
 
     /**
@@ -67,9 +68,9 @@
      * @return
      */
     @ApiOperation(value = "审核学员并生成学号", notes = "")
-    @PutMapping(value = "/auditStudent")
-    public Boolean auditStudent(String StudentId) {
-        return iSchoolRollService.auditStudent(StudentId);
+    @GetMapping(value = "/auditStudent")
+    public Result auditStudent(String studentIds) {
+        return iSchoolRollService.loopStudentIds(studentIds.split(","));
     }
 
     /**
@@ -83,4 +84,18 @@
         iSchoolRollService.deriveStudentMessage();
     }
 
+    /**
+     * 查询班级
+     *
+     * @return
+     */
+    @ApiOperation(value = "查询班级", notes = "")
+    @GetMapping(value = "/findClass")
+    public Result findClass() {
+        List<ClsClass> aClass = iSchoolRollService.findClass();
+        return new Result(true,"success",CollectionUtils.newObjectMap("schoolRollList",  QBeanUtils.listBean2ListMap(aClass,
+                CollectionUtils.newStringMap("name","classname","classId","classId"))
+                ));
+    }
+
 }
diff --git a/src/main/java/com/qxueyou/scc/exam/service/IExamService.java b/src/main/java/com/qxueyou/scc/exam/service/IExamService.java
index 0b0c8fc..2e75322 100644
--- a/src/main/java/com/qxueyou/scc/exam/service/IExamService.java
+++ b/src/main/java/com/qxueyou/scc/exam/service/IExamService.java
@@ -68,6 +68,7 @@
 	 * @return
 	 */
 	Result doStartExam(String examBatchId, String classId,String studentUserId);
+
 	Result doStartReExam(String examId,String studentUserId);
 
 	/**
diff --git a/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseInfoService.java b/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseInfoService.java
index 0a0a36e..99b8d9e 100644
--- a/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseInfoService.java
+++ b/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseInfoService.java
@@ -753,12 +753,14 @@
 		} else {
 			OrgText orgText = orgTextService.getOrgText(exerciseCompleteInfoId, OrgText.TABLE_WRITING_EXERCISE);
 			orgText.setContent(content);
+			orgText.setCreator(ClientUtils.getUserName());
 			this.save(orgText);
 		}
 
 		if (submitType > 0) {
 			exerciseCompleteInfo.setSubmitTime(new Date());
 			exerciseCompleteInfo.setCompleteStatus(ExerciseCompleteInfo.STATUS_COMMIT);
+			exerciseCompleteInfo.setCreator(ClientUtils.getUserName());
 		}
 	
 		this.save(exerciseCompleteInfo);
diff --git a/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseVerService.java b/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseVerService.java
index 37bb6d3..9d0d70f 100644
--- a/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseVerService.java
+++ b/src/main/java/com/qxueyou/scc/exercise/service/impl/ExerciseVerService.java
@@ -2978,7 +2978,6 @@
 		log.setStatus(status);
 		log.setUrl(url);
 
-
 		this.save(log);
 
 		return log.getExerciseDataLogId();
diff --git a/src/main/java/com/qxueyou/scc/teach/student/model/StuStudent.java b/src/main/java/com/qxueyou/scc/teach/student/model/StuStudent.java
index de56938..221fcb6 100644
--- a/src/main/java/com/qxueyou/scc/teach/student/model/StuStudent.java
+++ b/src/main/java/com/qxueyou/scc/teach/student/model/StuStudent.java
@@ -53,24 +53,26 @@
 	private String mobilePhone;
 	private BigDecimal studyDuration;
 	private BigDecimal score;
+	private String studentNumber;
 	private String attendanceStatus;
 
 	public StuStudent() {
 	}
 
 	public StuStudent(String studentId, Date createTime, Date updateTime, String creator, String createId,
-			boolean deleteFlag) {
+			boolean deleteFlag,String studentNumber) {
 		this.studentId = studentId;
 		this.createTime = createTime;
 		this.updateTime = updateTime;
 		this.creator = creator;
 		this.createId = createId;
 		this.deleteFlag = deleteFlag;
+		this.studentNumber=studentNumber;
 	}
 
 	public StuStudent(String studentId, Date createTime, Date updateTime, String creator, String createId,
 			String updator, String updateId, boolean deleteFlag, String userId, String name, String classId,
-			String tenantId, String status, String attendanceStatus) {
+			String tenantId, String status, String attendanceStatus,String studentNumber) {
 		this.studentId = studentId;
 		this.createTime = createTime;
 		this.updateTime = updateTime;
@@ -85,6 +87,7 @@
 		this.tenantId = tenantId;
 		this.status = status;
 		this.attendanceStatus = attendanceStatus;
+		this.studentNumber=studentNumber;
 	}
 
 	@Id
@@ -274,7 +277,14 @@
 	public void setSubjectId(String subjectId) {
 		this.subjectId = subjectId;
 	}
-	
-	
+
+	@Column(name = "STUDENTSUMBER", length=30)
+	public String getStudentNumber() {
+		return studentNumber;
+	}
+
+	public void setStudentNumber(String studentNumber) {
+		this.studentNumber = studentNumber;
+	}
 
 }
diff --git a/src/main/java/com/qxueyou/scc/teach/student/service/impl/StudentService.java b/src/main/java/com/qxueyou/scc/teach/student/service/impl/StudentService.java
index 5222a92..b1b5b0f 100644
--- a/src/main/java/com/qxueyou/scc/teach/student/service/impl/StudentService.java
+++ b/src/main/java/com/qxueyou/scc/teach/student/service/impl/StudentService.java
@@ -1,11 +1,14 @@
 package com.qxueyou.scc.teach.student.service.impl;
 
+import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
 
+import cn.hutool.core.date.LocalDateTimeUtil;
+import cn.hutool.core.util.RandomUtil;
 import com.qxueyou.scc.admin.classes.model.ClsClass;
 import com.qxueyou.scc.exam.model.ExamResultV;
 import org.apache.commons.lang3.StringUtils;
@@ -238,6 +241,11 @@
         }
 
         TraceUtils.setUpdateTrace(student);
+        String currentTime = LocalDateTimeUtil.format(LocalDateTime.now(), "yyMMddHHmmssSSS");
+
+        String examCardNo = currentTime.concat(RandomUtil.randomNumbers(1));
+
+        student.setStudentNumber(examCardNo);
         student.setStatus(status);
         save(student);
 

--
Gitblit v1.8.0