常忠宇 1 year ago
parent
commit
6f5d534f7b

+ 105 - 0
controller/src/main/java/com/koobietech/eas/controller/EasArcTlsScoresController.java

@@ -0,0 +1,105 @@
+package com.koobietech.eas.controller;
+
+import cn.hutool.db.Page;
+import com.github.pagehelper.PageHelper;
+import com.koobietech.eas.common.result.JsonPageResult;
+import com.koobietech.eas.common.result.JsonResult;
+import com.koobietech.eas.common.result.PageData;
+import com.koobietech.eas.mbg.model.EasArcTlsScores;
+import com.koobietech.eas.service.EasArcTlsScoresService;
+import io.swagger.v3.core.util.Json;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.annotation.Resource;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.List;
+
+@RestController
+@Tag(name = "成绩控制器")
+public class EasArcTlsScoresController {
+
+    @Resource
+    EasArcTlsScoresService easArcTlsScoresService;
+
+    /**
+     * 添加学生成绩信息
+     * @param easArcTlsScores
+     * @return
+     */
+    @PostMapping(value = "/addStudentScore")
+    @Operation(summary = "添加学生成绩信息",description = "用于添加学生成绩信息")
+    public JsonResult addStudentScore(@RequestBody EasArcTlsScores easArcTlsScores) {
+        int i = easArcTlsScoresService.addStudentScore(easArcTlsScores);
+        System.out.println(i);
+        return JsonResult.ok("添加成功!");
+    }
+
+    /**
+     * 修改学生成绩信息
+     * @param easArcTlsScores
+     * @return
+     */
+    @PutMapping(value = "/updateStudentScore")
+    @Operation(summary = "修改学生成绩信息",description = "用于修改学生成绩信息")
+    public JsonResult updateStudentScore(@RequestBody EasArcTlsScores easArcTlsScores) {
+        int i = easArcTlsScoresService.updateStudentScore(easArcTlsScores);
+        if (i > 0){
+            return JsonResult.ok();
+        }else {
+            return JsonResult.fail();
+        }
+    }
+
+    /**
+     * 查询所有学生成绩信息
+     * @return
+     */
+    @GetMapping(value = "/selectAllStudentScores")
+    @Operation(summary = "查询所有学生的成绩信息",description = "用于查询所有学生的成绩信息")
+    public JsonResult selectAllStudentScores() {
+        List<EasArcTlsScores> easArcTlsScores = easArcTlsScoresService.selectAllStudentScores();
+        return JsonResult.data(easArcTlsScores);
+    }
+
+    /**
+     * 条件查询学生成绩信息
+     * @param easArcTlsScores
+     * @param pageNum
+     * @param pageSize
+     * @return
+     */
+    @PostMapping(value = "/selectScoreByExample")
+    @Operation(summary = "条件查询学生成绩信息",description = "用于条件查询学生成绩信息")
+    public JsonPageResult selectScoreByExample(@RequestBody EasArcTlsScores easArcTlsScores,
+                                               @RequestParam Integer pageNum,@RequestParam Integer pageSize){
+        PageHelper.startPage(pageNum,pageSize);
+        PageData pageData = easArcTlsScoresService.selectScoreByExample(easArcTlsScores);
+        return JsonPageResult.data(pageData);
+    }
+
+    @PostMapping(value = "/importExcelScores")
+    @Operation(summary = "Excel导入学生成绩信息",description = "用于Excel导入学生成绩信息")
+    public JsonResult importExcelScores(MultipartFile excelFile) {
+        InputStream inputStream = null;
+        Boolean aBoolean = null;
+        try {
+            inputStream = excelFile.getInputStream();
+            aBoolean = easArcTlsScoresService.importExcelScores(inputStream);
+        } catch (IOException e) {
+            aBoolean = false;
+        } finally {
+            try {
+                inputStream.close();
+            } catch (IOException e) {}
+        }
+        if (aBoolean == true){
+            return JsonResult.ok();
+        }else {
+            return JsonResult.fail();
+        }
+    }
+}

+ 2 - 2
controller/src/main/resources/application-local.yaml

@@ -1,10 +1,10 @@
 server:
-  port: 8081
+  port: 8080
 spring:
   datasource:
     url: jdbc:mysql://127.0.0.1:3306/eas?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=true&tinyInt1isBit=false
     username: root
-    password: 123456
+    password: 1234
     driver-class-name: com.mysql.cj.jdbc.Driver
   redis:
     host: localhost

+ 22 - 0
service/src/main/java/com/koobietech/eas/service/EasArcTlsScoresService.java

@@ -0,0 +1,22 @@
+package com.koobietech.eas.service;
+
+import com.koobietech.eas.common.result.PageData;
+import com.koobietech.eas.mbg.model.EasArcTlsScores;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.InputStream;
+import java.util.List;
+
+public interface EasArcTlsScoresService {
+
+    int addStudentScore(EasArcTlsScores easArcTlsScores);
+
+    int updateStudentScore(EasArcTlsScores easArcTlsScores);
+
+    List<EasArcTlsScores> selectAllStudentScores();
+
+    PageData selectScoreByExample(EasArcTlsScores easArcTlsScores);
+
+    Boolean importExcelScores(InputStream inputStream);
+
+}

+ 217 - 0
service/src/main/java/com/koobietech/eas/service/impl/EasArcTlsScoresServiceImpl.java

@@ -0,0 +1,217 @@
+package com.koobietech.eas.service.impl;
+
+import cn.afterturn.easypoi.excel.ExcelImportUtil;
+import cn.afterturn.easypoi.excel.entity.ImportParams;
+import cn.afterturn.easypoi.excel.imports.ExcelImportService;
+import cn.afterturn.easypoi.handler.inter.IReadHandler;
+import com.koobietech.eas.common.result.PageData;
+import com.koobietech.eas.mbg.mapper.EasArcTlsScoresMapper;
+import com.koobietech.eas.mbg.model.EasArcTlsScores;
+import com.koobietech.eas.mbg.model.EasArcTlsScoresExample;
+import com.koobietech.eas.service.EasArcTlsScoresService;
+import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
+import org.apache.poi.ss.usermodel.CellType;
+import org.apache.poi.ss.usermodel.DateUtil;
+import org.apache.poi.xssf.usermodel.XSSFRow;
+import org.apache.poi.xssf.usermodel.XSSFSheet;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
+
+import javax.annotation.Resource;
+import java.io.*;
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+
+@Service
+public class EasArcTlsScoresServiceImpl implements EasArcTlsScoresService {
+
+    @Resource
+    EasArcTlsScoresMapper easArcTlsScoresMapper;
+
+
+    @Override
+    public int addStudentScore(EasArcTlsScores easArcTlsScores) {
+        easArcTlsScores.setCreateTime(new Date());
+        easArcTlsScores.setModifyTime(new Date());
+        return easArcTlsScoresMapper.insert(easArcTlsScores);
+    }
+
+    @Override
+    public int updateStudentScore(EasArcTlsScores easArcTlsScores) {
+        return easArcTlsScoresMapper.updateByPrimaryKey(easArcTlsScores);
+    }
+
+    @Override
+    public List<EasArcTlsScores> selectAllStudentScores() {
+        return easArcTlsScoresMapper.selectByExample(null);
+    }
+
+    @Override
+    public PageData selectScoreByExample(EasArcTlsScores easArcTlsScores) {
+        EasArcTlsScoresExample easArcTlsScoresExample = new EasArcTlsScoresExample();
+        EasArcTlsScoresExample.Criteria criteria = easArcTlsScoresExample.createCriteria();
+        if (Objects.nonNull(easArcTlsScores)){
+            if (Objects.nonNull(easArcTlsScores.getId())) {
+                criteria.andIdEqualTo(easArcTlsScores.getId());
+            }
+            if (StringUtils.hasText(easArcTlsScores.getStudentNumber())) {
+                criteria.andStudentNumberLike("%"+easArcTlsScores.getStudentNumber()+"%");
+            }
+            if (Objects.nonNull(easArcTlsScores.getTestDate())) {
+                criteria.andTestDateGreaterThan(easArcTlsScores.getTestDate());
+            }
+            if (Objects.nonNull(easArcTlsScores.getScore())) {
+                criteria.andScoreEqualTo(easArcTlsScores.getScore());
+            }
+            if (Objects.nonNull(easArcTlsScores.getPassRate())) {
+                criteria.andPassRateEqualTo(easArcTlsScores.getPassRate());
+            }
+            if (Objects.nonNull(easArcTlsScores.getExcelRate())) {
+                criteria.andExcelRateEqualTo(easArcTlsScores.getExcelRate());
+            }
+            if (Objects.nonNull(easArcTlsScores.getCreateTime())) {
+                criteria.andCreateTimeGreaterThan(easArcTlsScores.getCreateTime());
+            }
+            if (Objects.nonNull(easArcTlsScores.getModifyTime())) {
+                criteria.andCreateTimeGreaterThan(easArcTlsScores.getModifyTime());
+            }
+            if (Objects.nonNull(easArcTlsScores.getCreateUid())) {
+                criteria.andCreateUidEqualTo(easArcTlsScores.getCreateUid());
+            }
+            if (StringUtils.hasText(easArcTlsScores.getComment())) {
+                criteria.andCommentLike("%"+easArcTlsScores.getComment()+"%");
+            }
+        }
+        List<EasArcTlsScores> easArcTlsScores1 = easArcTlsScoresMapper.selectByExample(easArcTlsScoresExample);
+        long l = easArcTlsScoresMapper.countByExample(easArcTlsScoresExample);
+        return PageData.init(easArcTlsScores1,l);
+    }
+
+        @Override
+    public Boolean importExcelScores(InputStream inputStream) {
+            ImportParams params = new ImportParams();
+            params.setTitleRows(0);
+            params.setStartSheetIndex(1);
+            try {
+                ExcelImportUtil.importExcelBySax(
+                        new FileInputStream("C:\\Users\\常忠宇\\Desktop\\新建XLSX工作表.xlsx"),
+                        Map.class, params,
+                        new IReadHandler<Map>() {
+                            @Override
+                            public void handler(Map o) {
+                                System.out.println(o);
+                            }
+                            @Override
+                            public void doAfterAll() {
+                                System.out.println("全部执行完毕了--------------------------------");
+                            }
+                        });
+            } catch (FileNotFoundException e) {
+                e.printStackTrace();
+            }
+//            ImportParams params = new ImportParams();
+//            params.setTitleRows(0);
+//            try {
+//                List<EasArcTlsScores> list = new ExcelImportService().importExcelByIs(inputStream,
+//                        EasArcTlsScores.class, params, false).getList();
+//                for ( EasArcTlsScores eas : list) {
+//                    System.out.println( eas );
+//                }
+//            } catch (Exception e) {
+//                e.printStackTrace();
+//            }
+            return true;
+    }
+
+//    @Override
+//    public Boolean importExcelScores(InputStream inputStream) {
+//        try {
+////            创建一个Excel实体
+//            XSSFWorkbook workbook = new XSSFWorkbook(inputStream);
+////            获取第一个表格页面
+//            XSSFSheet sheetAt = workbook.getSheetAt(0);
+////            获取第一个表格页面共有多少行
+//            int lastRowNum = sheetAt.getLastRowNum();
+////            遍历表格行数
+//            for (int rowNum = 0; rowNum < lastRowNum; rowNum++) {
+////                取表格中的每一行
+//                XSSFRow row = sheetAt.getRow(rowNum);
+////                取每一行共有多少列
+//                short lastCellNum = row.getLastCellNum();
+////                创建一个对象准备填入数据
+//                EasArcTlsScores easArcTlsScores = new EasArcTlsScores();
+////                循环表格列数
+//                for (int cellNum = 0; cellNum < lastCellNum; cellNum++) {
+//                    CellType cellType = CellType.forInt(row.getCell(cellNum).getCellType());
+//                    switch (cellType) {
+//                        case _NONE:break;
+//                        case STRING:
+//                            row.getCell(cellNum).getStringCellValue();
+//                            break;
+//                        case NUMERIC:
+////                            判断是否是日期类型
+//                            if (DateUtil.isCellDateFormatted(row.getCell(rowNum))){
+////                                如果是日期类型将其转变为JavaDate格式
+//                                Date javaDate = DateUtil.getJavaDate(row.getCell(cellNum).getNumericCellValue());
+//                                if (cellNum == 5){
+////                                    若是第五列将其设置为考试时间
+//                                    easArcTlsScores.setTestDate( javaDate );
+////                                    第九列设置为创建时间
+//                                }else if (cellNum == 9) {
+//                                    easArcTlsScores.setCreateTime( javaDate );
+////                                    第十列设置为modifyTime
+//                                }else if (cellNum == 10) {
+//                                    easArcTlsScores.setModifyTime( javaDate );
+//                                }
+//                            }else {
+//                                if (cellNum == 1) {
+//                                    easArcTlsScores.setId((int)row.getCell(cellNum).getNumericCellValue());
+//                                }
+//                                if (cellNum == 2) {
+//                                    easArcTlsScores.setStudentNumber(String.valueOf(row.getCell(cellNum).getNumericCellValue()));
+//                                }
+//                                if (cellNum == 3) {
+//                                    easArcTlsScores.setCategoryId((int) row.getCell(cellNum).getNumericCellValue());
+//                                }
+//                                if (cellNum == 4) {
+//                                    easArcTlsScores.setSubjectId((int) row.getCell(cellNum).getNumericCellValue());
+//                                }
+//                                if (cellNum == 6){
+//                                    easArcTlsScores.setScore(BigDecimal.valueOf(row.getCell(cellNum).getNumericCellValue()));
+//                                }
+//                                if (cellNum == 7){
+//                                    easArcTlsScores.setPassRate(BigDecimal.valueOf(row.getCell(cellNum).getNumericCellValue()));
+//                                }
+//                                if (cellNum == 8){
+//                                    easArcTlsScores.setExcelRate(BigDecimal.valueOf(row.getCell(cellNum).getNumericCellValue()));
+//                                }
+//                                if (cellNum == 11){
+//                                    easArcTlsScores.setCreateUid((int) row.getCell(cellNum).getNumericCellValue());
+//                                }
+//                            }
+//                                break;
+//                        case FORMULA:
+//                            break;
+//
+//                        case BLANK:
+//                            break;
+//
+//                        case BOOLEAN:
+//                            break;
+//
+//                        case ERROR:
+//                            break;
+//                    }
+//                }
+//                easArcTlsScoresMapper.insert(easArcTlsScores);
+//            }
+//        } catch (IOException e) {
+//            e.printStackTrace();
+//        }
+//        return true;
+//    }
+}