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/config/ThreadPoolManager.java b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/config/ThreadPoolManager.java
new file mode 100644
index 00000000..171995de
--- /dev/null
+++ b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/config/ThreadPoolManager.java
@@ -0,0 +1,39 @@
+package org.jeecg.modules.config;
+
+import java.util.concurrent.Executors;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.ThreadPoolExecutor;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * Created with IntelliJ IDEA.
+ *
+ * @Author: Cool
+ * @Date: 2024/10/24/13:54
+ * @Description: 线程池管理
+ */
+public class ThreadPoolManager {
+ // 单例实例,使用 volatile 关键字
+ private static volatile ThreadPoolExecutor executor;
+
+ private ThreadPoolManager() {}
+
+ public static ThreadPoolExecutor getExecutor() {
+ if (executor == null) {
+ synchronized (ThreadPoolManager.class) {
+ if (executor == null) {
+ executor = new ThreadPoolExecutor(
+ 10,
+ 20,
+ 60L,
+ TimeUnit.SECONDS,
+ new LinkedBlockingQueue<>(100),
+ Executors.defaultThreadFactory(),
+ new ThreadPoolExecutor.AbortPolicy()
+ );
+ }
+ }
+ }
+ return executor;
+ }
+}
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..6fcbf672
--- /dev/null
+++ b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/controller/Cet4MajorController.java
@@ -0,0 +1,182 @@
+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();
+ }
+
+ @RequestMapping("asyncData")
+ @ApiOperation("同步数据")
+ public Result> asyncData() {
+ return cet4MajorService.asyncData();
+ }
+}
diff --git a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/controller/CetDataImportController.java b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/controller/CetDataImportController.java
index ab80a41f..c0e1ebd5 100644
--- a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/controller/CetDataImportController.java
+++ b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/controller/CetDataImportController.java
@@ -35,7 +35,7 @@ public class CetDataImportController {
/**
- * @param file dbf文件
+ * @param fileContent dbf文件
* @param batch 考试批次
* @param level cet等级(cet4/cet6)
* @Author Cool
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 83fb15a4..00000000
--- a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/controller/CetStudentController.java
+++ /dev/null
@@ -1,67 +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);
- }
-}
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..f052c969 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 {
- private String id;
+@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 code;
+ /**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/entity/Cet_4.java b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/entity/Cet_4.java
index 156b16e5..82b1b657 100644
--- a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/entity/Cet_4.java
+++ b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/entity/Cet_4.java
@@ -4,7 +4,6 @@ import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@@ -31,6 +30,10 @@ import lombok.experimental.Accessors;
public class Cet_4 implements Serializable {
private static final long serialVersionUID = 1L;
+ @ApiModelProperty(value = "主键id")
+ @TableId(type = IdType.AUTO)
+ private Integer id;
+
/**学生姓名*/
@Excel(name = "学生姓名", width = 15)
@AttributeName(4)
@@ -48,9 +51,8 @@ public class Cet_4 implements Serializable {
private Integer result;
/**学生学号*/
@AttributeName(19)
- @TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "学生学号")
- private String id;
+ private String code;
/**考试批次*/
@Excel(name = "考试批次", width = 15, format = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
diff --git a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/entity/Cet_4old.java b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/entity/Cet_4old.java
index 952090ab..863d8b62 100644
--- a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/entity/Cet_4old.java
+++ b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/entity/Cet_4old.java
@@ -14,6 +14,12 @@ import java.util.Date;
@Data
@TableName("cet_4old")
public class Cet_4old {
+
+
+ @ApiModelProperty(value = "主键id")
+ @TableId(type = IdType.AUTO)
+ private Integer id;
+
/**
* 学生姓名
*/
@@ -35,9 +41,8 @@ public class Cet_4old {
/**
* 学生学号
*/
- @TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "学生学号")
- private String id;
+ private String code;
/**
* 考试批次
*/
diff --git a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/entity/Cet_6.java b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/entity/Cet_6.java
index 879c0771..08cc7655 100644
--- a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/entity/Cet_6.java
+++ b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/entity/Cet_6.java
@@ -30,6 +30,11 @@ import lombok.experimental.Accessors;
public class Cet_6 implements Serializable {
private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty(value = "主键id")
+ @TableId(type = IdType.AUTO)
+ private Integer id;
+
/**
* 学生姓名
*/
@@ -55,9 +60,8 @@ public class Cet_6 implements Serializable {
* 学生学号
*/
@AttributeName(19)
- @TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "学生学号")
- private String id;
+ private String code;
/**
* 考试批次
*/
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..f9eeb8bf
--- /dev/null
+++ b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/pojo/CetStudent.java
@@ -0,0 +1,91 @@
+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;
+
+/**
+ * Created with IntelliJ IDEA.
+ *
+ * @Author: Cool
+ * @Date: 2024/10/23/20:35
+ * @Description:
+ */
+@Data
+public class CetStudent {
+
+ /**
+ * id
+ */
+ @ExcelProperty("学号")
+ @ApiModelProperty(value = "id")
+ private String code;
+ /**
+ * 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/runnable/CetDataAsync.java b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/runnable/CetDataAsync.java
new file mode 100644
index 00000000..0aa68e24
--- /dev/null
+++ b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/runnable/CetDataAsync.java
@@ -0,0 +1,85 @@
+package org.jeecg.modules.runnable;
+
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.modules.entity.Cet4_major;
+import org.jeecg.modules.entity.Cet_4;
+import org.jeecg.modules.entity.Cet_6;
+import org.jeecg.modules.service.ICet4MajorService;
+import org.jeecg.modules.service.ICet_4Service;
+import org.jeecg.modules.service.ICet_6Service;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.*;
+import java.util.stream.Collectors;
+
+/**
+ * Created with IntelliJ IDEA.
+ *
+ * @Author: Cool
+ * @Date: 2024/10/24/14:38
+ * @Description:
+ */
+@Slf4j
+public class CetDataAsync implements Runnable {
+
+ private final ICet_6Service cet6Service;
+ private final ICet_4Service cet4Service;
+ private final ICet4MajorService cet4MajorService;
+
+ // 构造函数注入
+ public CetDataAsync(ICet_6Service cet6Service, ICet_4Service cet4Service, ICet4MajorService cet4MajorService) {
+ this.cet6Service = cet6Service;
+ this.cet4Service = cet4Service;
+ this.cet4MajorService = cet4MajorService;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void run() {
+ long start = System.currentTimeMillis();
+ List majorList = cet4MajorService.list();
+ List allCet4 = cet4Service.list();
+ List allCet6 = cet6Service.list();
+ List cet4List = new ArrayList<>();
+ List cet6List = new ArrayList<>();
+ Map> cet4Map = allCet4.stream().collect(Collectors.groupingBy(Cet_4::getCode));
+ Map> cet6Map = allCet6.stream().collect(Collectors.groupingBy(Cet_6::getCode));
+ majorList.forEach(e -> {
+ List cet4Collect = cet4Map.getOrDefault(e.getCode(), Collections.emptyList());
+ List cet6Collect = cet6Map.getOrDefault(e.getCode(), Collections.emptyList());
+ cet4Collect.forEach(c -> {
+ //填充数据
+ c.setMajorname(e.getMajorname());
+ c.setLevel(e.getLevel());
+ c.setState(e.getState());
+ });
+ cet6Collect.forEach(c -> {
+ //填充数据
+ c.setMajorname(e.getMajorname());
+ c.setLevel(e.getLevel());
+ c.setState(e.getState());
+ });
+ cet4List.addAll(cet4Collect);
+ cet6List.addAll(cet6Collect);
+ if (cet4List.size() >= 500) {
+ cet4Service.updateBatchById(cet4List);
+ cet4List.clear();
+ }
+ if (cet6List.size() >= 500) {
+ cet6Service.updateBatchById(cet6List);
+ cet6List.clear();
+ }
+ });
+ //将剩下的不足500的提交
+ if (!cet4List.isEmpty()) {
+ cet4Service.updateBatchById(cet4List);
+ }
+ if (!cet6List.isEmpty()) {
+ cet6Service.updateBatchById(cet6List);
+ }
+ log.info("同步数据用时:{}",System.currentTimeMillis()-start);
+ }
+}
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..5e55ef81
--- /dev/null
+++ b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/ICet4MajorService.java
@@ -0,0 +1,25 @@
+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);
+
+ Result> asyncData();
+}
diff --git a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/ICet_6Service.java b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/ICet_6Service.java
index 3b2f13c2..232402af 100644
--- a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/ICet_6Service.java
+++ b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/ICet_6Service.java
@@ -16,6 +16,7 @@ public interface ICet_6Service extends IService {
Result getRate(Cet_6 data);
Result> getGrateRate();
+
Result loadImportDataList();
}
diff --git a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/impl/CenterServiceImpl.java b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/impl/CenterServiceImpl.java
index e4a8efd1..dc6b5ada 100644
--- a/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/impl/CenterServiceImpl.java
+++ b/jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/modules/service/impl/CenterServiceImpl.java
@@ -260,35 +260,35 @@ public class CenterServiceImpl extends ServiceImpl implement
Cet_4QW.eq(Cet_4::getEntrydate, entryDate).eq(Cet_4::getBatch, batchList.get(i));
//查询该年级的全校在籍学生
Cet4_majorQW.clear();
- Cet4_majorQW.select(Cet4_major::getId).eq(Cet4_major::getEntrydate, entryDate).eq(Cet4_major::getState, "在校");
+ Cet4_majorQW.select(Cet4_major::getCode).eq(Cet4_major::getEntrydate, entryDate).eq(Cet4_major::getState, "在校");
allStudent = cet4_majorMapper.selectCount(Cet4_majorQW);
} else if (college.equals("专升本")) {
totalName = "全校";
Cet_4QW.eq(Cet_4::getLevel, college).eq(Cet_4::getEntrydate, entryDate).eq(Cet_4::getBatch, batchList.get(i));
//查询该年级的专升本在籍学生
Cet4_majorQW.clear();
- Cet4_majorQW.select(Cet4_major::getId).eq(Cet4_major::getLevel, college).eq(Cet4_major::getState, "在校").eq(Cet4_major::getEntrydate, entryDate);
+ Cet4_majorQW.select(Cet4_major::getCode).eq(Cet4_major::getLevel, college).eq(Cet4_major::getState, "在校").eq(Cet4_major::getEntrydate, entryDate);
allStudent = cet4_majorMapper.selectCount(Cet4_majorQW);
} else if (major.equals("")) {
totalName = "学院";
Cet_4QW.eq(Cet_4::getCollege, college).eq(Cet_4::getEntrydate, entryDate).eq(Cet_4::getBatch, batchList.get(i));
//查询该年级的学院在籍学生
Cet4_majorQW.clear();
- Cet4_majorQW.select(Cet4_major::getId).eq(Cet4_major::getCollege, college).eq(Cet4_major::getState, "在校").eq(Cet4_major::getEntrydate, entryDate);
+ Cet4_majorQW.select(Cet4_major::getCode).eq(Cet4_major::getCollege, college).eq(Cet4_major::getState, "在校").eq(Cet4_major::getEntrydate, entryDate);
allStudent = cet4_majorMapper.selectCount(Cet4_majorQW);
} else {
totalName = "专业";
//查询该年级的学院专业在籍学生
Cet_4QW.eq(Cet_4::getCollege, college).eq(Cet_4::getMajorname, major).eq(Cet_4::getEntrydate, entryDate).eq(Cet_4::getBatch, batchList.get(i));
Cet4_majorQW.clear();
- Cet4_majorQW.select(Cet4_major::getId).eq(Cet4_major::getCollege, college).eq(Cet4_major::getState, "在校").eq(Cet4_major::getMajorname, major).eq(Cet4_major::getEntrydate, entryDate);
+ Cet4_majorQW.select(Cet4_major::getCode).eq(Cet4_major::getCollege, college).eq(Cet4_major::getState, "在校").eq(Cet4_major::getMajorname, major).eq(Cet4_major::getEntrydate, entryDate);
allStudent = cet4_majorMapper.selectCount(Cet4_majorQW);
}
List