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