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