From 0ef7780459204247c19075839ec839e417c53d09 Mon Sep 17 00:00:00 2001
From: Cool <747682928@qq.com>
Date: Wed, 23 Oct 2024 20:44:00 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AD=A6=E7=94=9F=E5=AF=BC=E5=85=A5=E6=8E=A5?=
=?UTF-8?q?=E5=8F=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../jeecg-system-start/pom.xml | 5 +
.../controller/Cet4MajorController.java | 177 ++++++++++++++++++
.../controller/CetStudentController.java | 73 --------
.../org/jeecg/modules/entity/Cet4_major.java | 62 +++++-
.../org/jeecg/modules/pojo/CetStudent.java | 93 +++++++++
.../modules/service/ICet4MajorService.java | 24 +++
.../service/impl/Cet4MajorServiceImpl.java | 147 +++++++++++++++
.../service/impl/CetMajorServiceImpl.java | 52 -----
.../service/impl/Cet_4ServiceImpl.java | 1 -
.../service/impl/Cet_6ServiceImpl.java | 27 ++-
.../src/main/resources/application-dev.yml | 4 +-
.../src/main/resources/application-prod.yml | 4 +-
12 files changed, 520 insertions(+), 149 deletions(-)
create mode 100644 jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/controller/Cet4MajorController.java
delete mode 100644 jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/controller/CetStudentController.java
create mode 100644 jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/pojo/CetStudent.java
create mode 100644 jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/ICet4MajorService.java
create mode 100644 jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/impl/Cet4MajorServiceImpl.java
delete mode 100644 jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/impl/CetMajorServiceImpl.java
diff --git a/jeecg-module-system/jeecg-system-start/pom.xml b/jeecg-module-system/jeecg-system-start/pom.xml
index a7a7026a..d34bbda2 100644
--- a/jeecg-module-system/jeecg-system-start/pom.xml
+++ b/jeecg-module-system/jeecg-system-start/pom.xml
@@ -32,6 +32,11 @@
runtime
-->
+
+ com.alibaba
+ easyexcel
+ 3.1.0
+
com.dameng
Dm8JdbcDriver18
diff --git a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/controller/Cet4MajorController.java b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/controller/Cet4MajorController.java
new file mode 100644
index 00000000..9666d164
--- /dev/null
+++ b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/controller/Cet4MajorController.java
@@ -0,0 +1,177 @@
+package org.jeecg.modules.controller;
+
+
+import java.util.Arrays;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
+
+import org.jeecg.modules.entity.Cet4_major;
+import org.jeecg.modules.service.ICet4MajorService;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+
+/**
+ * @Description: cet4_major
+ * @Author: jeecg-boot
+ * @Date: 2024-10-23
+ * @Version: V1.0
+ */
+@Api(tags = "cet4_major")
+@RestController
+@RequestMapping("/com/cet4Major")
+@Slf4j
+public class Cet4MajorController extends JeecgController {
+ @Autowired
+ private ICet4MajorService cet4MajorService;
+
+ /**
+ * 分页列表查询
+ *
+ * @param cet4Major
+ * @param pageNo
+ * @param pageSize
+ * @param req
+ * @return
+ */
+ //@AutoLog(value = "cet4_major-分页列表查询")
+ @ApiOperation(value = "cet4_major-分页列表查询", notes = "cet4_major-分页列表查询")
+ @GetMapping(value = "/list")
+ public Result> queryPageList(Cet4_major cet4Major,
+ @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+ @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+ HttpServletRequest req) {
+ QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(cet4Major, req.getParameterMap());
+ Page page = new Page(pageNo, pageSize);
+ IPage pageList = cet4MajorService.page(page, queryWrapper);
+ return Result.OK(pageList);
+ }
+
+ /**
+ * 添加
+ *
+ * @param cet4Major
+ * @return
+ */
+ @AutoLog(value = "cet4_major-添加")
+ @ApiOperation(value = "cet4_major-添加", notes = "cet4_major-添加")
+ @RequiresPermissions("com:cet4_major:add")
+ @PostMapping(value = "/add")
+ public Result add(@RequestBody Cet4_major cet4Major) {
+ cet4MajorService.save(cet4Major);
+ return Result.OK("添加成功!");
+ }
+
+ /**
+ * 编辑
+ *
+ * @param cet4Major
+ * @return
+ */
+ @AutoLog(value = "cet4_major-编辑")
+ @ApiOperation(value = "cet4_major-编辑", notes = "cet4_major-编辑")
+ @RequiresPermissions("com:cet4_major:edit")
+ @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
+ public Result edit(@RequestBody Cet4_major cet4Major) {
+ cet4MajorService.updateById(cet4Major);
+ return Result.OK("编辑成功!");
+ }
+
+ /**
+ * 通过id删除
+ *
+ * @param id
+ * @return
+ */
+ @AutoLog(value = "cet4_major-通过id删除")
+ @ApiOperation(value = "cet4_major-通过id删除", notes = "cet4_major-通过id删除")
+ @RequiresPermissions("com:cet4_major:delete")
+ @DeleteMapping(value = "/delete")
+ public Result delete(@RequestParam(name = "id", required = true) String id) {
+ cet4MajorService.removeById(id);
+ return Result.OK("删除成功!");
+ }
+
+ /**
+ * 批量删除
+ *
+ * @param ids
+ * @return
+ */
+ @AutoLog(value = "cet4_major-批量删除")
+ @ApiOperation(value = "cet4_major-批量删除", notes = "cet4_major-批量删除")
+ @RequiresPermissions("com:cet4_major:deleteBatch")
+ @DeleteMapping(value = "/deleteBatch")
+ public Result deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
+ this.cet4MajorService.removeByIds(Arrays.asList(ids.split(",")));
+ return Result.OK("批量删除成功!");
+ }
+
+ /**
+ * 通过id查询
+ *
+ * @param id
+ * @return
+ */
+ //@AutoLog(value = "cet4_major-通过id查询")
+ @ApiOperation(value = "cet4_major-通过id查询", notes = "cet4_major-通过id查询")
+ @GetMapping(value = "/queryById")
+ public Result queryById(@RequestParam(name = "id", required = true) String id) {
+ Cet4_major cet4Major = cet4MajorService.getById(id);
+ if (cet4Major == null) {
+ return Result.error("未找到对应数据");
+ }
+ return Result.OK(cet4Major);
+ }
+
+ /**
+ * 导出excel
+ *
+ * @param request
+ * @param cet4Major
+ */
+// @RequiresPermissions("com:cet4_major:exportXls")
+ @RequestMapping(value = "/exportXls")
+ public ModelAndView exportXls(HttpServletRequest request, Cet4_major cet4Major) {
+ return super.exportXls(request, cet4Major, Cet4_major.class, "cet4_major");
+ }
+
+ /**
+ * 通过excel导入数据
+ *
+ * @param request
+ * @param response
+ * @return
+ */
+// @RequiresPermissions("com:cet4_major:importExcel")
+ @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+ public Result> importExcel(HttpServletRequest request, HttpServletResponse response) {
+ return cet4MajorService.importStudentData(request);
+ }
+
+ @RequestMapping("downloadTemplate")
+ @ApiOperation("四六级导入数据文件模版")
+ public Result> downloadTemplate(HttpServletResponse response) {
+ return cet4MajorService.downloadTemplate(response);
+ }
+
+ @RequestMapping("loadTable")
+ @ApiOperation("加载表格")
+ public Result> loadTable() {
+ return cet4MajorService.loadTable();
+ }
+
+}
diff --git a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/controller/CetStudentController.java b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/controller/CetStudentController.java
deleted file mode 100644
index 3e21a2b5..00000000
--- a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/controller/CetStudentController.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package org.jeecg.modules.controller;
-
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.shiro.authz.annotation.RequiresPermissions;
-import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.system.base.controller.JeecgController;
-import org.jeecg.modules.entity.Cet4_major;
-import org.jeecg.modules.entity.Cet_4;
-import org.jeecg.modules.service.impl.CetMajorServiceImpl;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RestController;
-import org.springframework.web.servlet.ModelAndView;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-/**
- * Created with IntelliJ IDEA.
- *
- * @Author: Cool
- * @Date: 2024/10/16/17:58
- * @Description: 学生信息Controller
- */
-@Api(tags = "cetStudent")
-@RestController
-@RequestMapping("/cetStudent")
-@Slf4j
-public class CetStudentController extends JeecgController {
-
- @Autowired
- private CetMajorServiceImpl cetMajorService;
-
- /**
- * 导出excel
- *
- * @param request
- * @param
- */
- @RequiresPermissions("cet:cetStudent:exportXls")
- @RequestMapping(value = "/exportXls")
- public ModelAndView exportXls(HttpServletRequest request, Cet4_major major) {
- return super.exportXls(request, major, Cet4_major.class, "cet_4");
- }
-
- /**
- * 通过excel导入数据
- *
- * @param request
- * @param response
- * @return
- */
- @RequiresPermissions("cet:cetStudent:importExcel")
- @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
- public Result> importExcel(HttpServletRequest request, HttpServletResponse response) {
- return super.importExcel(request, response, Cet4_major.class);
- }
-
- @RequestMapping("downloadTemplate")
- @ApiOperation("四六级导入数据文件模版")
- public Result> downloadTemplate(HttpServletResponse response) {
- return cetMajorService.downloadTemplate(response);
- }
-
- @RequestMapping("loadTable")
- @ApiOperation("加载表格")
- public Result> loadTable() {
- return cetMajorService.loadTable();
- }
-}
diff --git a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/entity/Cet4_major.java b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/entity/Cet4_major.java
index aa411815..fa95f7b9 100644
--- a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/entity/Cet4_major.java
+++ b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/entity/Cet4_major.java
@@ -1,22 +1,78 @@
package org.jeecg.modules.entity;
+import java.io.Serializable;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+/**
+ * @Description: cet4_major
+ * @Author: jeecg-boot
+ * @Date: 2024-10-23
+ * @Version: V1.0
+ */
@Data
@TableName("cet4_major")
-public class Cet4_major {
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="cet4_major对象", description="cet4_major")
+public class Cet4_major implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ /**id*/
+ @TableId(type = IdType.ASSIGN_ID)
+ @Excel(name = "学号", width = 15)
+ @ApiModelProperty(value = "id")
private String id;
+ /**name*/
+ @Excel(name = "姓名", width = 15)
+ @ApiModelProperty(value = "name")
private String name;
+ /**college*/
+ @Excel(name = "上课院系", width = 15)
+ @ApiModelProperty(value = "college")
private String college;
- private String major_id;
+ /**majorId*/
+ @Excel(name = "专业号", width = 15)
+ @ApiModelProperty(value = "majorId")
+ private String majorId;
+ /**majorname*/
+ @Excel(name = "专业名称", width = 15)
+ @ApiModelProperty(value = "majorname")
private String majorname;
- private String class_name;
+ /**className*/
+ @Excel(name = "班级", width = 15)
+ @ApiModelProperty(value = "className")
+ private String className;
+ /**educate*/
+ @Excel(name = "学制", width = 15)
+ @ApiModelProperty(value = "educate")
private String educate;
+ /**entrydate*/
+ @Excel(name = "当前所在级", width = 15)
+ @ApiModelProperty(value = "entrydate")
private String entrydate;
+ /**campus*/
+ @Excel(name = "校区", width = 15)
+ @ApiModelProperty(value = "campus")
private String campus;
+ /**state*/
+ @Excel(name = "在校状态", width = 15)
+ @ApiModelProperty(value = "state")
private String state;
+ /**level*/
+ @Excel(name = "培养层次", width = 15)
+ @ApiModelProperty(value = "level")
private String level;
+ /**category*/
+ @Excel(name = "学生类别", width = 15)
+ @ApiModelProperty(value = "category")
private String category;
}
diff --git a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/pojo/CetStudent.java b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/pojo/CetStudent.java
new file mode 100644
index 00000000..153d4eca
--- /dev/null
+++ b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/pojo/CetStudent.java
@@ -0,0 +1,93 @@
+package org.jeecg.modules.pojo;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+/**
+ * Created with IntelliJ IDEA.
+ *
+ * @Author: Cool
+ * @Date: 2024/10/23/20:35
+ * @Description:
+ */
+@Data
+public class CetStudent {
+
+ /**
+ * id
+ */
+ @TableId(type = IdType.ASSIGN_ID)
+ @ExcelProperty("学号")
+ @ApiModelProperty(value = "id")
+ private String id;
+ /**
+ * name
+ */
+ @ExcelProperty("姓名")
+ @ApiModelProperty(value = "name")
+ private String name;
+ /**
+ * college
+ */
+ @ExcelProperty("上课院系")
+ @ApiModelProperty(value = "college")
+ private String college;
+ /**
+ * majorId
+ */
+ @ExcelProperty("专业号")
+ @ApiModelProperty(value = "majorId")
+ private String majorId;
+ /**
+ * majorname
+ */
+ @ExcelProperty("专业名称")
+ @ApiModelProperty(value = "majorname")
+ private String majorname;
+ /**
+ * className
+ */
+ @ExcelProperty("班级")
+ @ApiModelProperty(value = "className")
+ private String className;
+ /**
+ * educate
+ */
+ @ExcelProperty("学制")
+ @ApiModelProperty(value = "educate")
+ private String educate;
+ /**
+ * entrydate
+ */
+ @ExcelProperty("当前所在级")
+ @ApiModelProperty(value = "entrydate")
+ private String entrydate;
+ /**
+ * campus
+ */
+ @ExcelProperty("校区")
+ @ApiModelProperty(value = "campus")
+ private String campus;
+ /**
+ * state
+ */
+ @ExcelProperty("在校状态")
+ @ApiModelProperty(value = "state")
+ private String state;
+ /**
+ * level
+ */
+ @ExcelProperty("培养层次")
+ @ApiModelProperty(value = "level")
+ private String level;
+ /**
+ * category
+ */
+ @ExcelProperty("学生类别")
+ @ApiModelProperty(value = "category")
+ private String category;
+}
diff --git a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/ICet4MajorService.java b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/ICet4MajorService.java
new file mode 100644
index 00000000..e12e3d25
--- /dev/null
+++ b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/ICet4MajorService.java
@@ -0,0 +1,24 @@
+package org.jeecg.modules.service;
+
+import org.jeecg.common.api.vo.Result;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.entity.Cet4_major;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * @Description: cet4_major
+ * @Author: jeecg-boot
+ * @Date: 2024-10-23
+ * @Version: V1.0
+ */
+public interface ICet4MajorService extends IService {
+
+ Result> downloadTemplate(HttpServletResponse response);
+
+ Result> loadTable();
+
+ Result> importStudentData(HttpServletRequest request);
+
+}
diff --git a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/impl/Cet4MajorServiceImpl.java b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/impl/Cet4MajorServiceImpl.java
new file mode 100644
index 00000000..a3d20f30
--- /dev/null
+++ b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/impl/Cet4MajorServiceImpl.java
@@ -0,0 +1,147 @@
+package org.jeecg.modules.service.impl;
+
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.context.AnalysisContext;
+import com.alibaba.excel.event.AnalysisEventListener;
+import com.alibaba.excel.support.ExcelTypeEnum;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.modules.entity.Cet4_major;
+import org.jeecg.modules.mapper.Cet4_majorMapper;
+import org.jeecg.modules.pojo.CetStudent;
+import org.jeecg.modules.service.ICet4MajorService;
+import org.jeecg.modules.utils.ExportUtil;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.sql.Timestamp;
+import java.util.*;
+import java.util.stream.Collectors;
+
+/**
+ * @Description: cet4_major
+ * @Author: jeecg-boot
+ * @Date: 2024-10-23
+ * @Version: V1.0
+ */
+@Service
+public class Cet4MajorServiceImpl extends ServiceImpl implements ICet4MajorService {
+ private final String CET_STUDENT_IMPORT_TEMPLATE = "template/cetStudentImportTemplate.xls";
+ private final String CET_STUDENT_FILE_TEMPLATE_NAME = "四六级学生信息导入模版.xlsx";
+
+ @Override
+ public Result> downloadTemplate(HttpServletResponse response) {
+ try {
+ ExportUtil.downloadExcelTemplate(response, CET_STUDENT_FILE_TEMPLATE_NAME, CET_STUDENT_IMPORT_TEMPLATE);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ @Override
+ public Result> loadTable() {
+ QueryWrapper wrapper = new QueryWrapper<>();
+ wrapper.select("entrydate", "count(*) as studentNumber")
+ .groupBy("entrydate");
+ List