From 1808cd0769da0a746a93430ba1a3258856b92741 Mon Sep 17 00:00:00 2001
From: yn147 <2270338776@qq.com>
Date: 星期二, 04 四月 2023 09:59:55 +0800
Subject: [PATCH] 学生档案管理
---
src/main/java/com/qxueyou/scc/admin/studentFiles/StudentFilesService.java | 37 ++++++++++++
src/main/java/com/qxueyou/scc/controller/StudentFilesController.java | 41 +++++++++++++
src/main/java/com/qxueyou/scc/teach/student/model/StuStudent.java | 12 +++
src/main/java/com/qxueyou/scc/admin/studentFiles/Impl/StudentFilesServiceImpl.java | 78 ++++++++++++++++++++++++++
4 files changed, 167 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/qxueyou/scc/admin/studentFiles/Impl/StudentFilesServiceImpl.java b/src/main/java/com/qxueyou/scc/admin/studentFiles/Impl/StudentFilesServiceImpl.java
new file mode 100644
index 0000000..d6d1489
--- /dev/null
+++ b/src/main/java/com/qxueyou/scc/admin/studentFiles/Impl/StudentFilesServiceImpl.java
@@ -0,0 +1,78 @@
+package com.qxueyou.scc.admin.studentFiles.Impl;
+
+import com.qxueyou.scc.admin.studentFiles.StudentFilesService;
+import com.qxueyou.scc.base.model.Pager;
+import com.qxueyou.scc.base.model.Result;
+import com.qxueyou.scc.base.service.impl.CommonAppService;
+import com.qxueyou.scc.base.util.CollectionUtils;
+import com.qxueyou.scc.teach.student.model.QStuStudent;
+import com.qxueyou.scc.teach.student.model.StuStudent;
+import com.qxueyou.scc.user.model.QUser;
+import org.springframework.stereotype.Service;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+@Service
+public class StudentFilesServiceImpl extends CommonAppService implements StudentFilesService {
+ @Override
+ public List<Map<String, Object>> getStudentLst(String classId, String keyword, Pager pager) {
+ QUser qUser = QUser.user;
+ QStuStudent qStuStudent = QStuStudent.stuStudent;
+ return this.getQueryFactory()
+ .select(qStuStudent.studentId, qStuStudent.name, qStuStudent.studentNo, qStuStudent.sex,
+ qStuStudent.mobilePhone, qStuStudent.status, qStuStudent.studyDuration, qStuStudent.tenantId, qStuStudent.score,qStuStudent.attendanceStatus, qStuStudent.graduationText,qStuStudent.comment,
+ qUser.imgPath)
+ .from(qUser, qStuStudent)
+ .where(qUser.deleteFlag.isFalse().and(qUser.userId.eq(qStuStudent.userId))
+ .and(qStuStudent.classId.eq(classId)).and(qStuStudent.name.like("%" + keyword + "%")).and(qStuStudent.deleteFlag.isFalse()))
+ .limit(pager.getPageSize()).offset(pager.getOffset()).orderBy(qStuStudent.createTime.desc()).fetch().stream().map(tuple -> {
+ Map<String, Object> map = new HashMap<String, Object>();
+ map.put("studentId", tuple.get(qStuStudent.studentId));
+ map.put("name", tuple.get(qStuStudent.name));
+ map.put("studentNo", tuple.get(qStuStudent.studentNo));
+ map.put("studentNumber", tuple.get(qStuStudent.studentNo));
+ map.put("sex", tuple.get(qStuStudent.sex));
+ map.put("mobilePhone", tuple.get(qStuStudent.mobilePhone));
+ map.put("status", tuple.get(qStuStudent.status));
+ map.put("studyDuration", tuple.get(qStuStudent.studyDuration));
+ map.put("tenantId", tuple.get(qStuStudent.tenantId));
+ map.put("score", tuple.get(qStuStudent.score));
+ map.put("graduationText", tuple.get(qStuStudent.graduationText));
+ map.put("attendanceStatus", tuple.get(qStuStudent.attendanceStatus));
+ map.put("comment", tuple.get(qStuStudent.comment));
+ map.put("imgPath", tuple.get(qUser.imgPath));
+ return map;
+ }).collect(Collectors.toList());
+ }
+ @Override
+ public int getStudentsCount(String classId, String keyword) {
+// //TODO 鍒ゆ柇鏄惁涓鸿ˉ鑰冨垎缁�
+// ClsClass cls = clsService.read(classId);
+// String hql=null;
+// if(cls!=null && cls.getClassTypes()!=null && "1".equals(cls.getClassTypes())){
+// //TODO 琛ヨ�冨垎缁勯渶瑕佸彟涓�绉嶆煡璇㈠鍛� stu.tenantId = class.classId
+// hql = "from StuStudent where tenantId=:classId and name like :keyword and deleteFlag is false";
+// }else {
+ String hql = "from StuStudent where classId=:classId and name like :keyword and deleteFlag is false";
+// }
+ return findCountByComplexHql(hql, CollectionUtils.newObjectMap("classId", classId, "keyword", "%" + keyword + "%" ));
+
+ }
+
+ @Override
+ public String studentCommentAddAndUp(String[] studentIds,String comment) {
+ StringBuffer hql=new StringBuffer("from StuStudent where studentId=? and deleteFlag is false");
+
+ List<Object> args = CollectionUtils.newList(studentIds);
+
+ StuStudent stuStudent = findUnique(hql.toString(), args, StuStudent.class);
+
+ stuStudent.setComment(comment);
+
+ save(stuStudent);
+ return "";
+ }
+}
diff --git a/src/main/java/com/qxueyou/scc/admin/studentFiles/StudentFilesService.java b/src/main/java/com/qxueyou/scc/admin/studentFiles/StudentFilesService.java
new file mode 100644
index 0000000..6cd9348
--- /dev/null
+++ b/src/main/java/com/qxueyou/scc/admin/studentFiles/StudentFilesService.java
@@ -0,0 +1,37 @@
+package com.qxueyou.scc.admin.studentFiles;
+
+import com.qxueyou.scc.base.model.Pager;
+import com.qxueyou.scc.base.model.Result;
+import com.qxueyou.scc.teach.student.model.StuStudent;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 瀛︾敓妗f绠$悊
+ */
+public interface StudentFilesService {
+ /**
+ * 瀛︾敓妗f鏌ヨ
+ * @param classId
+ * @param keyword
+ * @param pager
+ * @return
+ */
+ List<Map<String, Object>> getStudentLst(String classId, String keyword, Pager pager);
+
+ /**
+ * 鑾峰彇瀛﹀憳鏁伴噺
+ * @param classId 鐝骇id
+ * @param keyword 鍏抽敭璇�
+ * @return
+ */
+ int getStudentsCount(String classId,String keyword);
+ /**
+ * 璇勮
+ * @param studentIds
+ * @param comment
+ * @return
+ */
+ String studentCommentAddAndUp(String[] studentIds,String comment);
+}
diff --git a/src/main/java/com/qxueyou/scc/controller/StudentFilesController.java b/src/main/java/com/qxueyou/scc/controller/StudentFilesController.java
new file mode 100644
index 0000000..d567a9f
--- /dev/null
+++ b/src/main/java/com/qxueyou/scc/controller/StudentFilesController.java
@@ -0,0 +1,41 @@
+package com.qxueyou.scc.controller;
+
+import com.qxueyou.scc.admin.studentFiles.StudentFilesService;
+import com.qxueyou.scc.base.model.Pager;
+import com.qxueyou.scc.base.model.Result;
+import com.qxueyou.scc.base.util.CollectionUtils;
+import com.qxueyou.scc.base.util.QBeanUtils;
+import com.qxueyou.scc.teach.student.model.StuStudent;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.Map;
+
+@Api(tags="瀛︾敓妗f绠$悊鎺ュ彛")
+@RestController
+@RequestMapping("/admin/StudentFiles")
+public class StudentFilesController {
+
+ @Autowired
+ private StudentFilesService studentFilesService;
+ @ApiOperation(value = "瀛︾敓妗f", notes = "")
+ @GetMapping(value = "/studentFilesList")
+ public Result studentFilesList(String classId, @RequestParam(defaultValue = "10") Integer limit,
+ @RequestParam(defaultValue = "1") Integer pageNum, @RequestParam(defaultValue = "") String keyword) {
+
+ List<Map<String, Object>> students = studentFilesService.getStudentLst(classId, keyword, new Pager(limit, pageNum));
+ int studentCount = studentFilesService.getStudentsCount(classId, keyword);
+
+ return new Result(true, "success",
+ CollectionUtils.newObjectMap("studentCount", studentCount, "studentLst", students));
+ }
+
+ @ApiOperation(value = "瀛︾敓璇勮", notes = "")
+ @PostMapping(value = "/studentCommentAddAndUp")
+ public String studentCommentAddAndUp(String[] studentIds, String comment) {
+ return studentFilesService.studentCommentAddAndUp(studentIds,comment);
+ }
+}
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 690e1f4..962e0ec 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
@@ -64,6 +64,7 @@
private String studentNumber;
private String attendanceStatus;
private String graduationText;
+ private String comment;
public StuStudent() {
}
@@ -81,7 +82,7 @@
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 graduationText,String studentNumber) {
+ String tenantId, String status, String attendanceStatus, String graduationText,String comment,String studentNumber) {
this.studentId = studentId;
this.createTime = createTime;
this.updateTime = updateTime;
@@ -97,6 +98,7 @@
this.status = status;
this.attendanceStatus = attendanceStatus;
this.graduationText = graduationText;
+ this.comment = comment;
this.studentNumber=studentNumber;
}
@@ -243,6 +245,14 @@
this.graduationText = graduationText;
}
+ @Column(name = "COMMENT", length = 200)
+ public String getComment() {
+ return this.comment;
+ }
+ public void setComment(String comment) {
+ this.comment = comment;
+ }
+
@Column(name = "STUDENT_NO", length = 32)
public String getStudentNo() {
return studentNo;
--
Gitblit v1.8.0