From 9cf4f11047a4915024696a51d92d5b80c208fac1 Mon Sep 17 00:00:00 2001
From: 胡仁荣 <897853850@qq.com>
Date: 星期二, 08 十一月 2022 16:42:33 +0800
Subject: [PATCH] 新增学籍接口

---
 src/main/java/com/qxueyou/scc/admin/schoolRoll/ISchoolRollService.java         |    6 ++
 src/main/java/com/qxueyou/scc/admin/schoolRoll/impl/SchoolRollServiceImpl.java |  100 ++++++++++++++++++++++++++++++++
 src/main/java/com/qxueyou/scc/sys/service/impl/PriviledgeService.java          |    4 
 src/main/java/com/qxueyou/scc/controller/SchoolRollController.java             |   41 ++++++++++++-
 4 files changed, 142 insertions(+), 9 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 74f62f6..2c4ab25 100644
--- a/src/main/java/com/qxueyou/scc/admin/schoolRoll/ISchoolRollService.java
+++ b/src/main/java/com/qxueyou/scc/admin/schoolRoll/ISchoolRollService.java
@@ -9,4 +9,10 @@
     List<StuStudent> findSchoolRollList(Integer limit,Integer pageNum,String keyword,String status);
 
     int findSchoolRollListCount(String keyword,String status);
+
+    String updateSchool(String StudentId,String ClassId);
+
+    void deriveStudentMessage();
+
+    Boolean auditStudent(String Student);
 }
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 2c4c408..50c9114 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,24 +1,33 @@
 package com.qxueyou.scc.admin.schoolRoll.impl;
 
 import com.qxueyou.scc.admin.schoolRoll.ISchoolRollService;
+import com.qxueyou.scc.base.model.ExcelExportParam;
 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.ClientUtils;
 import com.qxueyou.scc.base.util.CollectionUtils;
+import com.qxueyou.scc.base.util.ExcelExportUtils;
 import com.qxueyou.scc.teach.student.model.StuStudent;
+import com.qxueyou.scc.user.model.UserRegistration;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.util.ArrayList;
 import java.util.List;
 
 @Service
 public class SchoolRollServiceImpl extends CommonAppService implements ISchoolRollService {
 
 
-    @Autowired
-    CommonAppService commonAppService;
+
     @Override
     public List<StuStudent> findSchoolRollList(Integer limit, Integer pageNum, String keyword, String status) {
+
         StringBuffer hql=new StringBuffer("from StuStudent where name like ? and status=? and deleteFlag is false");
 
         List<Object> args = CollectionUtils.newList(keyword + "%", status);
@@ -38,4 +47,91 @@
 
         return findCount(hql.toString(),args);
     }
+
+    @Override
+    public String updateSchool(String StudentId, String ClassId) {
+        StringBuffer hql=new StringBuffer("from StuStudent where studentId=? and deleteFlag is false");
+
+        List<Object> args = CollectionUtils.newList(StudentId);
+
+        StuStudent stuStudent = findUnique(hql.toString(), args, StuStudent.class);
+
+        if(stuStudent!=null && ClassId!=null){
+            stuStudent.setClassId(ClassId);
+            save(stuStudent);
+            return "true";
+        }
+
+        return "false";
+    }
+
+    @Override
+    public void deriveStudentMessage() {
+        StringBuffer hql=new StringBuffer("from StuStudent where status=? and deleteFlag is false");
+
+        List<Object> args = CollectionUtils.newList("active");
+
+        List<StuStudent> stuStudents = find(hql.toString(), args, StuStudent.class);
+
+        ExcelExportUtils<StuStudent> ex = new ExcelExportUtils<StuStudent>();
+        String[] headers = { "姓名", "性别" ,"手机号" ,"身份证"};
+        List<StuStudent> dataset = new ArrayList<StuStudent>();
+        for (StuStudent stuStudent:
+        stuStudents) {
+            StuStudent u = new StuStudent();
+            u.setName(stuStudent.getName());
+            u.setSex(stuStudent.getSex());
+            u.setMobilePhone(stuStudent.getMobilePhone());
+            u.setStudentNo(stuStudent.getStudentNo());
+            dataset.add(u);
+        }
+
+        ExcelExportParam<StuStudent> obj = new ExcelExportParam<StuStudent>();
+        obj.setColData(dataset);
+        obj.setHeaders(headers);
+
+        try {
+            OutputStream out = new FileOutputStream("D://Student.xls");
+            obj.setOut(out);
+            ex.exportExcel(obj);
+            out.close();
+            System.out.println("excel导出成功!");
+        } catch (FileNotFoundException e) {
+            e.printStackTrace();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+
+        try {
+            OutputStream out = new FileOutputStream("D://Student.xls");
+            List<String> lst = new ArrayList<String>();
+            lst.add("className");
+            lst.add("userName");
+            obj.setLstColumn(lst);
+            obj.setOut(out);
+            ex.exportExcelByColomn(obj);
+            out.close();
+            System.out.println("excel指定列导出成功!");
+        } catch (FileNotFoundException e) {
+            e.printStackTrace();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+
+    @Override
+    public Boolean auditStudent(String Student) {
+        StringBuffer hql=new StringBuffer("from StuStudent where studentId=? and deleteFlag is false");
+
+        List<Object> arg = CollectionUtils.newList(Student);
+
+        StuStudent stuStudent = findUnique(hql.toString(), arg, StuStudent.class);
+
+        stuStudent.setStatus(StuStudent.STATUS_ACTIVE);
+
+        Result save = save(stuStudent);
+
+        return save.isSuccess();
+    }
+
 }
diff --git a/src/main/java/com/qxueyou/scc/controller/SchoolRollController.java b/src/main/java/com/qxueyou/scc/controller/SchoolRollController.java
index f98dcf2..3b3ffad 100644
--- a/src/main/java/com/qxueyou/scc/controller/SchoolRollController.java
+++ b/src/main/java/com/qxueyou/scc/controller/SchoolRollController.java
@@ -10,10 +10,7 @@
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
 
@@ -38,7 +35,7 @@
      * @param pageNum
      * @return
      */
-    @ApiOperation(value = "获取正常班级列表", notes = "")
+    @ApiOperation(value = "获取正学籍列表", notes = "")
     @GetMapping(value = "/schoolList")
     public Result schoolList(@RequestParam(defaultValue = "10") Integer limit, @RequestParam(defaultValue = "1") Integer pageNum,String keyword,String status) {
 
@@ -52,4 +49,38 @@
                                 "status", "createTime", "createTime")),
                 "schoolrollCount", count));
     }
+
+    /**
+     * 给学员分配班级
+     *
+     * @return
+     */
+    @ApiOperation(value = "给学员分配班级", notes = "")
+    @PutMapping(value = "/updateSchoolClass")
+    public String updateSchoolClass(String StudentId,String ClassId) {
+        return iSchoolRollService.updateSchool(StudentId, ClassId);
+    }
+
+    /**
+     * 审核学员并生成学号
+     *
+     * @return
+     */
+    @ApiOperation(value = "审核学员并生成学号", notes = "")
+    @PutMapping(value = "/auditStudent")
+    public Boolean auditStudent(String StudentId) {
+        return iSchoolRollService.auditStudent(StudentId);
+    }
+
+    /**
+     * 导出学员信息
+     *
+     * @return
+     */
+    @ApiOperation(value = "导出学员信息", notes = "")
+    @GetMapping(value = "/deriveStudentMessage")
+    public void deriveStudentMessage(String StudentId,String ClassId) {
+        iSchoolRollService.deriveStudentMessage();
+    }
+
 }
diff --git a/src/main/java/com/qxueyou/scc/sys/service/impl/PriviledgeService.java b/src/main/java/com/qxueyou/scc/sys/service/impl/PriviledgeService.java
index 8e6bba2..1c34d74 100644
--- a/src/main/java/com/qxueyou/scc/sys/service/impl/PriviledgeService.java
+++ b/src/main/java/com/qxueyou/scc/sys/service/impl/PriviledgeService.java
@@ -324,11 +324,11 @@
 		String hql = "select m.menuId as index ,m.name as title ,m.url as router ,  m.hover as hover , "
 				+ " m.icon as icon ,m.parentMenuId as parentMenuId ,m.menuOrder as menuOrder from SysMenu m , UserReRoleUser u ,"
 				+ "SysPrivilege s where m.deleteFlag is false and u.deleteFlag is false and s.deleteFlag is false and "
-				+ "u.userId =:userId and u.roleId = s.roleId  and s.menuId = m.menuId order by m.menuOrder ";
+					+ "u.userId =:userId and u.roleId = s.roleId  and s.menuId = m.menuId order by m.menuOrder ";
 
 		List<Map<String, Object>> menuLst = findListWithMapByHql(hql,
 				CollectionUtils.newObjectMap("userId", user.getUserId()));
-
+		System.out.println(menuLst);
 		for (Map<String, Object> map : menuLst) {
 			map.put("children", CollectionUtils.newList());
 		}

--
Gitblit v1.8.0