diff --git a/src/main/java/com/jevon/controller/LearnController.java b/src/main/java/com/jevon/controller/LearnController.java index d5000e5..f27da8c 100644 --- a/src/main/java/com/jevon/controller/LearnController.java +++ b/src/main/java/com/jevon/controller/LearnController.java @@ -3,13 +3,13 @@ package com.jevon.controller; import com.jevon.enums.DifficultEnums; import com.jevon.enums.DimensionalEnums; import com.jevon.model.*; -import com.jevon.service.AnalyseDetailService; -import com.jevon.service.AnalyseDimensionalService; -import com.jevon.service.AnalyseService; -import com.jevon.service.DimensionalService; +import com.jevon.service.*; import com.jevon.vo.BaseVo; import com.jevon.vo.excel.ExamExcelVo; +import com.jevon.vo.excel.ScoreExcelVo; +import com.jevon.vo.req.CreateExamReqVo; import com.jevon.vo.req.InitAnalyseReqVo; +import com.jevon.vo.req.UpdateExamReqVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; @@ -48,6 +48,48 @@ public class LearnController { @Autowired AnalyseDetailService analyseDetailService; + @Autowired + StudentDetailService studentDetailService; + + @Autowired + StudentService studentService; + + @ApiOperation("获取列表") + @RequestMapping(value = "getList", method = RequestMethod.POST) + public List getList(){ + List list = analyseService.select(new Analyse()); + return list; + } + + @ApiOperation("创建考试") + @RequestMapping(value = "createExam", method = RequestMethod.POST) + public BaseVo createExam(@RequestBody CreateExamReqVo createExamReqVo){ + BaseVo baseVo = new BaseVo(); + Analyse analyse = new Analyse(); + analyse.setCourseName(createExamReqVo.getCourseName()); + analyse.setExamName(createExamReqVo.getExamName()); + analyse.setExamTime(createExamReqVo.getExamTime()); + int id = analyseService.insert(analyse); + baseVo.setMessage(id+""); + return baseVo; + } + + @ApiOperation("更新考试信息") + @RequestMapping(value = "updateExam", method = RequestMethod.POST) + public BaseVo updateExam(@RequestBody UpdateExamReqVo updateExamReqVo){ + BaseVo baseVo = new BaseVo(); + Analyse analyse = analyseService.selectById(updateExamReqVo.getAnalyseId()); + if(analyse == null){ + baseVo.setMessage("考试不存在"); + baseVo.setSuccess(false); + return baseVo; + } + analyse.setExamTime(updateExamReqVo.getExamTime()); + analyse.setExamName(updateExamReqVo.getExamName()); + analyse.setCourseName(updateExamReqVo.getCourseName()); + return baseVo; + } + @ApiOperation("试卷信息导入") @RequestMapping(value = "initAnalyse", method = RequestMethod.POST) public BaseVo initAnalyse(@RequestBody InitAnalyseReqVo initAnalyseReqVo){ @@ -60,6 +102,7 @@ public class LearnController { try{ List analyseDetails = new ArrayList<>(); List analyseDimensionals = new ArrayList<>(); + Float maxScore = 0f; Analyse analyse = analyseService.selectById(initAnalyseReqVo.getAnalyseId()); String fileUrl = initAnalyseReqVo.getUrl(); File excelFile = new File(fileUrl); @@ -85,6 +128,7 @@ public class LearnController { //获取表头 } else { ExamExcelVo examExcelVo = new ExamExcelVo(sheetRow); + maxScore = maxScore + new Float(examExcelVo.getScore()); AnalyseDetail analyseDetail = new AnalyseDetail(); String questionNumber = null ; if(StringUtils.isNotBlank(examExcelVo.getQuestionSmallNumber())){ @@ -107,6 +151,8 @@ public class LearnController { } analyseDetailService.insertBatch(analyseDetails); analyseDimensionalService.insertBatch(analyseDimensionals); + analyse.setMaxScore(maxScore); + analyseService.update(analyse); }catch (Exception e){ System.out.println(e); } @@ -141,5 +187,71 @@ public class LearnController { } } + @ApiOperation("考生成绩导入") + @RequestMapping(value = "initScore", method = RequestMethod.POST) + public BaseVo initScore(@RequestBody InitAnalyseReqVo initAnalyseReqVo){ + BaseVo baseVo = new BaseVo(); + analysisScoreExcel(initAnalyseReqVo); + return baseVo; + } + private void analysisScoreExcel(InitAnalyseReqVo initAnalyseReqVo){ + try{ + List studentDetails = new ArrayList<>(); + List students = new ArrayList<>(); + Analyse analyse = analyseService.selectById(initAnalyseReqVo.getAnalyseId()); + String fileUrl = initAnalyseReqVo.getUrl(); + File excelFile = new File(fileUrl); + // 获得工作簿 + String file = excelFile.getName(); + Workbook workbook = null; + if (file.endsWith("xls")) { + workbook = new HSSFWorkbook(new FileInputStream(excelFile)); + } else { + workbook = new XSSFWorkbook(new FileInputStream(excelFile)); + } + // 获得工作表 + Sheet sheet = workbook.getSheetAt(0); + Date date = new Date(); + int rows = sheet.getPhysicalNumberOfRows(); + Map map = new HashMap<>(); + for (int i = 0; i <= rows; i++) { + // 获取第i行数据 + Row sheetRow = sheet.getRow(i); + if (i == 0) { + //获取标题 + }else if(i == 1){ + //获取表头 + int j = 7 ; + while (sheetRow.getCell(j) != null){ + Cell cell = sheetRow.getCell(j); + cell.setCellType(CellType.STRING); + map.put(j,cell.getStringCellValue().trim()); + j++; + } + } else { + ScoreExcelVo scoreExcelVo = new ScoreExcelVo(sheetRow); + Student student = new Student(scoreExcelVo); + student.setAnalyseId(analyse.getId()); + student.setCreateTime(date); + students.add(student); + int j = 7 ; + while (sheetRow.getCell(j) != null){ + Cell cell = sheetRow.getCell(j); + StudentDetail studentDetail = new StudentDetail(scoreExcelVo); + studentDetail.setAnalyseId(analyse.getId()); + studentDetail.setExamNumber(map.get(j)); + studentDetail.setScore(new Float(cell.getNumericCellValue())); + studentDetail.setCreateTime(date); + studentDetails.add(studentDetail); + j++; + } + } + } + studentService.insertBatch(students); + studentDetailService.insertBatch(studentDetails); + }catch (Exception e){ + System.out.println(e); + } + } } diff --git a/src/main/java/com/jevon/controller/LearnStatController.java b/src/main/java/com/jevon/controller/LearnStatController.java new file mode 100644 index 0000000..6922ac1 --- /dev/null +++ b/src/main/java/com/jevon/controller/LearnStatController.java @@ -0,0 +1,125 @@ +package com.jevon.controller; + +import com.jevon.model.Analyse; +import com.jevon.model.Student; +import com.jevon.service.*; +import com.jevon.vo.req.GetLearnReqVo; +import com.jevon.wordDTO.second.Form1; +import com.jevon.wordDTO.second.Form1RepVo; +import com.jevon.wordDTO.second.Form2; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @author chen + * @version 1.0 + * @date 2019/10/18 0018 15:54 + */ +@RestController +@RequestMapping(value = "/getLearn") +@Api(value = "学情分析") +public class LearnStatController { + @Autowired + AnalyseService analyseService; + + @Autowired + DimensionalService dimensionalService; + + @Autowired + AnalyseDimensionalService analyseDimensionalService; + + @Autowired + AnalyseDetailService analyseDetailService; + + @Autowired + StudentDetailService studentDetailService; + + @Autowired + StudentService studentService; + + @ApiOperation("getForm2_1") + @RequestMapping(value = "getForm2_1", method = RequestMethod.POST) + public Form1RepVo getForm2_1(@RequestBody GetLearnReqVo getLearnReqVo){ + Form1RepVo form1RepVo = new Form1RepVo(); + //2.1表 + Analyse analyse = analyseService.selectById(getLearnReqVo.getAnalyseId()); + //分数段 + float maxScore = analyse.getMaxScore(); + Map segmentMap = new HashMap<>(); + segmentMap.put("A(优秀)",maxScore*0.85 + "~" + maxScore+"分"); + segmentMap.put("B(良好)",maxScore*0.7 + "~" + (maxScore*0.85-1f)+"分"); + segmentMap.put("C(及格)",maxScore*0.7 + "~" + (maxScore*0.7-1f)+"分"); + segmentMap.put("D(不及格)",0 + "~" + (maxScore*0.6-1f)+"分"); + form1RepVo.setMap(segmentMap); + List students = studentService.selectBySchoolName(getLearnReqVo.getAnalyseId(),getLearnReqVo.getSchoolName()); + double sum = new Double(students.size()); + int a = studentService.selectCountByScore(getLearnReqVo.getAnalyseId(),getLearnReqVo.getSchoolName(),maxScore*0.85,maxScore+1f); + int b = studentService.selectCountByScore(getLearnReqVo.getAnalyseId(),getLearnReqVo.getSchoolName(),maxScore*0.7,(maxScore*0.85)); + int c = studentService.selectCountByScore(getLearnReqVo.getAnalyseId(),getLearnReqVo.getSchoolName(),maxScore*0.6,(maxScore*0.7)); + int d = studentService.selectCountByScore(getLearnReqVo.getAnalyseId(),getLearnReqVo.getSchoolName(),maxScore*0,(maxScore*0.6)); + List form1List = new ArrayList<>(); + Form1 formA = new Form1(); + formA.setLevel("A"); + formA.setNumber(a); + formA.setProp(a/sum); + Form1 formB = new Form1(); + formB.setLevel("B"); + formB.setNumber(b); + formB.setProp(b/sum); + Form1 formC = new Form1(); + formC.setLevel("C"); + formC.setNumber(c); + formC.setProp(c/sum); + Form1 formD = new Form1(); + formD.setLevel("D"); + formD.setNumber(d); + formD.setProp(d/sum); + form1List.add(formA); + form1List.add(formB); + form1List.add(formC); + form1List.add(formD); + form1RepVo.setList(form1List); + return form1RepVo; + } + + @ApiOperation("getForm2_2") + @RequestMapping(value = "getForm2_2", method = RequestMethod.POST) + public List getForm2_2(@RequestBody GetLearnReqVo getLearnReqVo){ + Analyse analyse = analyseService.selectById(getLearnReqVo.getAnalyseId()); + List allStudents = studentService.selectBySchoolName(getLearnReqVo.getAnalyseId(),null); + List students = studentService.selectBySchoolName(getLearnReqVo.getAnalyseId(),getLearnReqVo.getSchoolName()); + //先算高分段的分数 再去人数 + int highNumber = (int) Math.floor(allStudents.size()*0.27); + double highScore = allStudents.get(highNumber).getScore(); + int lowNumber = allStudents.size()-highNumber; + double lowScore = allStudents.get(lowNumber).getScore(); + int highCount = studentService.selectCountByScore(getLearnReqVo.getAnalyseId(),getLearnReqVo.getSchoolName(),highScore,analyse.getMaxScore()+1f); + int lowCount = studentService.selectCountByScore(getLearnReqVo.getAnalyseId(),getLearnReqVo.getSchoolName(),0,lowScore); + List list = new ArrayList<>(); + Form2 form = new Form2(); + form.setName("联盟校"); + form.setStudentNumber(allStudents.size()); + form.setHighNumber(highNumber); + form.setLowNumber(highNumber); + list.add(form); + Form2 form2 = new Form2(); + form2.setName(getLearnReqVo.getSchoolName()); + form2.setStudentNumber(students.size()); + form2.setHighNumber(highCount); + form2.setLowNumber(lowCount); + form2.setHighProp(highCount/new Double(allStudents.size())); + form2.setLowProp(lowCount/new Double(allStudents.size())); + list.add(form2); + return list; + } +} diff --git a/src/main/java/com/jevon/mapper/AnalyseMapper.java b/src/main/java/com/jevon/mapper/AnalyseMapper.java index b0b10ef..1711604 100644 --- a/src/main/java/com/jevon/mapper/AnalyseMapper.java +++ b/src/main/java/com/jevon/mapper/AnalyseMapper.java @@ -16,4 +16,6 @@ public interface AnalyseMapper { List select(Analyse analyse); Analyse selectById(int id); + + int update(Analyse analyse); } diff --git a/src/main/java/com/jevon/mapper/StudentDetailMapper.java b/src/main/java/com/jevon/mapper/StudentDetailMapper.java new file mode 100644 index 0000000..0b52e19 --- /dev/null +++ b/src/main/java/com/jevon/mapper/StudentDetailMapper.java @@ -0,0 +1,15 @@ +package com.jevon.mapper; + +import com.jevon.model.StudentDetail; + +import java.util.List; + +/** + * @author chen + * @version 1.0 + * @date 2019/10/18 0018 13:42 + */ +public interface StudentDetailMapper { + + int insertBatch(List list); +} diff --git a/src/main/java/com/jevon/mapper/StudentMapper.java b/src/main/java/com/jevon/mapper/StudentMapper.java new file mode 100644 index 0000000..4fdbbee --- /dev/null +++ b/src/main/java/com/jevon/mapper/StudentMapper.java @@ -0,0 +1,19 @@ +package com.jevon.mapper; + +import com.jevon.model.Student; + +import java.util.List; + +/** + * @author chen + * @version 1.0 + * @date 2019/10/18 0018 13:42 + */ +public interface StudentMapper { + + int insertBatch(List list); + + List selectBySchoolName(Student student); + + int selectCountByScore(Student student); +} diff --git a/src/main/java/com/jevon/model/Analyse.java b/src/main/java/com/jevon/model/Analyse.java index b61147a..4f8329a 100644 --- a/src/main/java/com/jevon/model/Analyse.java +++ b/src/main/java/com/jevon/model/Analyse.java @@ -11,9 +11,10 @@ public class Analyse { private int id ; private String examName ; - private Date examTime ; + private String examTime ; private String courseName ; private Date createTime ; + private Float maxScore ; public int getId() { return id; @@ -31,11 +32,11 @@ public class Analyse { this.examName = examName; } - public Date getExamTime() { + public String getExamTime() { return examTime; } - public void setExamTime(Date examTime) { + public void setExamTime(String examTime) { this.examTime = examTime; } @@ -54,4 +55,12 @@ public class Analyse { public void setCreateTime(Date createTime) { this.createTime = createTime; } + + public Float getMaxScore() { + return maxScore; + } + + public void setMaxScore(Float maxScore) { + this.maxScore = maxScore; + } } diff --git a/src/main/java/com/jevon/model/Student.java b/src/main/java/com/jevon/model/Student.java new file mode 100644 index 0000000..5efb79b --- /dev/null +++ b/src/main/java/com/jevon/model/Student.java @@ -0,0 +1,125 @@ +package com.jevon.model; + +import com.jevon.vo.excel.ScoreExcelVo; + +import java.util.Date; + +/** + * @author chen + * @version 1.0 + * @date 2019/10/18 0018 13:38 + */ +public class Student { + + private int id ; + private int openId; + private String schoolName ; + private String className ; + private String studentName ; + private String studentNumber ; + private int analyseId ; + private float score ; + private Date createTime ; + + private double begin ; + private double end ; + + public Student(ScoreExcelVo scoreExcelVo) { + this.schoolName = scoreExcelVo.getSchoolName(); + this.className = scoreExcelVo.getClassName(); + this.studentName = scoreExcelVo.getStudentName(); + this.studentNumber = scoreExcelVo.getStudentNumber(); + this.score =new Float(scoreExcelVo.getScore()); + } + + public Student() { + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public int getOpenId() { + return openId; + } + + public void setOpenId(int openId) { + this.openId = openId; + } + + public String getSchoolName() { + return schoolName; + } + + public void setSchoolName(String schoolName) { + this.schoolName = schoolName; + } + + public String getClassName() { + return className; + } + + public void setClassName(String className) { + this.className = className; + } + + public String getStudentName() { + return studentName; + } + + public void setStudentName(String studentName) { + this.studentName = studentName; + } + + public String getStudentNumber() { + return studentNumber; + } + + public void setStudentNumber(String studentNumber) { + this.studentNumber = studentNumber; + } + + public int getAnalyseId() { + return analyseId; + } + + public void setAnalyseId(int analyseId) { + this.analyseId = analyseId; + } + + public float getScore() { + return score; + } + + public void setScore(float score) { + this.score = score; + } + + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + public double getBegin() { + return begin; + } + + public void setBegin(double begin) { + this.begin = begin; + } + + public double getEnd() { + return end; + } + + public void setEnd(double end) { + this.end = end; + } +} diff --git a/src/main/java/com/jevon/model/StudentDetail.java b/src/main/java/com/jevon/model/StudentDetail.java new file mode 100644 index 0000000..9e4122d --- /dev/null +++ b/src/main/java/com/jevon/model/StudentDetail.java @@ -0,0 +1,111 @@ +package com.jevon.model; + +import com.jevon.vo.excel.ScoreExcelVo; + +import java.util.Date; + +/** + * @author chen + * @version 1.0 + * @date 2019/10/18 0018 13:38 + */ +public class StudentDetail { + + private int id ; + private int openId; + private String schoolName ; + private String className ; + private String studentName ; + private String studentNumber ; + private int analyseId ; + private String examNumber ; + private float score ; + private Date createTime ; + + public StudentDetail(ScoreExcelVo scoreExcelVo) { + this.schoolName = scoreExcelVo.getSchoolName(); + this.className = scoreExcelVo.getClassName(); + this.studentName = scoreExcelVo.getStudentName(); + this.studentNumber = scoreExcelVo.getStudentNumber(); + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public int getOpenId() { + return openId; + } + + public void setOpenId(int openId) { + this.openId = openId; + } + + public String getSchoolName() { + return schoolName; + } + + public void setSchoolName(String schoolName) { + this.schoolName = schoolName; + } + + public String getClassName() { + return className; + } + + public void setClassName(String className) { + this.className = className; + } + + public String getStudentName() { + return studentName; + } + + public void setStudentName(String studentName) { + this.studentName = studentName; + } + + public String getStudentNumber() { + return studentNumber; + } + + public void setStudentNumber(String studentNumber) { + this.studentNumber = studentNumber; + } + + public int getAnalyseId() { + return analyseId; + } + + public void setAnalyseId(int analyseId) { + this.analyseId = analyseId; + } + + public String getExamNumber() { + return examNumber; + } + + public void setExamNumber(String examNumber) { + this.examNumber = examNumber; + } + + public float getScore() { + return score; + } + + public void setScore(float score) { + this.score = score; + } + + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } +} diff --git a/src/main/java/com/jevon/service/AnalyseService.java b/src/main/java/com/jevon/service/AnalyseService.java index 3b874b2..b62125c 100644 --- a/src/main/java/com/jevon/service/AnalyseService.java +++ b/src/main/java/com/jevon/service/AnalyseService.java @@ -17,4 +17,5 @@ public interface AnalyseService { Analyse selectById(int id); + int update(Analyse analyse); } diff --git a/src/main/java/com/jevon/service/StudentDetailService.java b/src/main/java/com/jevon/service/StudentDetailService.java new file mode 100644 index 0000000..ce03cb0 --- /dev/null +++ b/src/main/java/com/jevon/service/StudentDetailService.java @@ -0,0 +1,16 @@ +package com.jevon.service; + +import com.jevon.model.StudentDetail; + +import java.util.List; + +/** + * @author chen + * @version 1.0 + * @date 2019/10/18 0018 13:46 + */ +public interface StudentDetailService { + + int insertBatch(List list); + +} diff --git a/src/main/java/com/jevon/service/StudentService.java b/src/main/java/com/jevon/service/StudentService.java new file mode 100644 index 0000000..1d4a274 --- /dev/null +++ b/src/main/java/com/jevon/service/StudentService.java @@ -0,0 +1,20 @@ +package com.jevon.service; + +import com.jevon.model.Student; + +import java.util.List; + +/** + * @author chen + * @version 1.0 + * @date 2019/10/18 0018 15:16 + */ +public interface StudentService { + + int insertBatch(List list); + + List selectBySchoolName(int analyseId , String schoolName); + + int selectCountByScore(int analyseId , String schoolName , double begin , double end); + +} diff --git a/src/main/java/com/jevon/service/impl/AnalyseServiceImpl.java b/src/main/java/com/jevon/service/impl/AnalyseServiceImpl.java index 31f87e5..d60c697 100644 --- a/src/main/java/com/jevon/service/impl/AnalyseServiceImpl.java +++ b/src/main/java/com/jevon/service/impl/AnalyseServiceImpl.java @@ -33,4 +33,9 @@ public class AnalyseServiceImpl implements AnalyseService { public Analyse selectById(int id) { return analyseMapper.selectById(id); } + + @Override + public int update(Analyse analyse) { + return analyseMapper.update(analyse); + } } diff --git a/src/main/java/com/jevon/service/impl/StudentDetailServiceImpl.java b/src/main/java/com/jevon/service/impl/StudentDetailServiceImpl.java new file mode 100644 index 0000000..be7d218 --- /dev/null +++ b/src/main/java/com/jevon/service/impl/StudentDetailServiceImpl.java @@ -0,0 +1,38 @@ +package com.jevon.service.impl; + +import com.jevon.mapper.StudentDetailMapper; +import com.jevon.model.StudentDetail; +import com.jevon.service.StudentDetailService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author chen + * @version 1.0 + * @date 2019/10/18 0018 13:47 + */ +@Service +public class StudentDetailServiceImpl implements StudentDetailService { + + @Autowired + StudentDetailMapper studentDetailMapper; + + @Override + public int insertBatch(List list) { + int i = 0 ; + List result = new ArrayList<>(); + for(StudentDetail studentDetail :list){ + i++ ; + result.add(studentDetail); + if(i % 100 == 0){ + studentDetailMapper.insertBatch(result); + result = new ArrayList<>(); + } + } + studentDetailMapper.insertBatch(result); + return 1 ; + } +} diff --git a/src/main/java/com/jevon/service/impl/StudentServiceImpl.java b/src/main/java/com/jevon/service/impl/StudentServiceImpl.java new file mode 100644 index 0000000..631b3e6 --- /dev/null +++ b/src/main/java/com/jevon/service/impl/StudentServiceImpl.java @@ -0,0 +1,56 @@ +package com.jevon.service.impl; + +import com.jevon.mapper.StudentMapper; +import com.jevon.model.Student; +import com.jevon.service.StudentService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author chen + * @version 1.0 + * @date 2019/10/18 0018 15:16 + */ +@Service +public class StudentServiceImpl implements StudentService { + + @Autowired + StudentMapper studentMapper; + + @Override + public int insertBatch(List list) { + int i = 0 ; + List result = new ArrayList<>(); + for(Student student :list){ + i++ ; + result.add(student); + if(i % 100 == 0){ + studentMapper.insertBatch(result); + result = new ArrayList<>(); + } + } + studentMapper.insertBatch(result); + return 1 ; + } + + @Override + public List selectBySchoolName(int analyseId, String schoolName) { + Student student = new Student(); + student.setAnalyseId(analyseId); + student.setSchoolName(schoolName); + return studentMapper.selectBySchoolName(student); + } + + @Override + public int selectCountByScore(int analyseId, String schoolName, double begin, double end) { + Student student = new Student(); + student.setAnalyseId(analyseId); + student.setSchoolName(schoolName); + student.setBegin(begin); + student.setEnd(end); + return studentMapper.selectCountByScore(student); + } +} diff --git a/src/main/java/com/jevon/utils/ExcelImportUtils.java b/src/main/java/com/jevon/utils/ExcelImportUtils.java new file mode 100644 index 0000000..4a06606 --- /dev/null +++ b/src/main/java/com/jevon/utils/ExcelImportUtils.java @@ -0,0 +1,51 @@ +//package com.jevon.utils; +// +//import com.jevon.vo.excel.ExcelVo; +//import org.apache.poi.hssf.usermodel.HSSFWorkbook; +//import org.apache.poi.ss.usermodel.Row; +//import org.apache.poi.ss.usermodel.Sheet; +//import org.apache.poi.ss.usermodel.Workbook; +//import org.apache.poi.xssf.usermodel.XSSFWorkbook; +// +//import java.io.File; +//import java.io.FileInputStream; +//import java.util.Date; +//import java.util.List; +// +///** +// * @author chen +// * @version 1.0 +// * @date 2019/10/18 0018 13:54 +// */ +//public class ExcelImportUtils { +// +// public static List getExcelList(String url){ +// try{ +// File excelFile = new File(url); +// // 获得工作簿 +// String file = excelFile.getName(); +// Workbook workbook = null; +// if (file.endsWith("xls")) { +// workbook = new HSSFWorkbook(new FileInputStream(excelFile)); +// } else { +// workbook = new XSSFWorkbook(new FileInputStream(excelFile)); +// } +// // 获得工作表 +// Sheet sheet = workbook.getSheetAt(0); +// int rows = sheet.getPhysicalNumberOfRows(); +// for (int i = 0; i < rows; i++) { +// Row sheetRow = sheet.getRow(i); +// if (i == 0) { +// //获取标题 +// }else if(i == 1){ +// //获取表头 +// } else { +// +// } +// } +// }catch (Exception e){ +// +// } +// +// } +//} diff --git a/src/main/java/com/jevon/utils/ExcelUtils.java b/src/main/java/com/jevon/utils/ExcelUtils.java index c326db5..6226a1f 100644 --- a/src/main/java/com/jevon/utils/ExcelUtils.java +++ b/src/main/java/com/jevon/utils/ExcelUtils.java @@ -143,4 +143,5 @@ public class ExcelUtils { throw new IOException("工作表表名不能为NULL"); } } + } diff --git a/src/main/java/com/jevon/vo/excel/ExamExcelVo.java b/src/main/java/com/jevon/vo/excel/ExamExcelVo.java index b895b7f..e0e95dc 100644 --- a/src/main/java/com/jevon/vo/excel/ExamExcelVo.java +++ b/src/main/java/com/jevon/vo/excel/ExamExcelVo.java @@ -9,7 +9,7 @@ import org.apache.poi.ss.usermodel.Row; * @version 1.0 * @date 2019/10/18 0018 8:51 */ -public class ExamExcelVo { +public class ExamExcelVo extends ExcelVo { private String questionNumber ; private String questionSmallNumber ; @@ -94,6 +94,7 @@ public class ExamExcelVo { } public ExamExcelVo(Row sheetRow) { + super(sheetRow); Cell cell1 = sheetRow.getCell(0); if(cell1 != null){ cell1.setCellType(CellType.STRING); @@ -108,7 +109,6 @@ public class ExamExcelVo { this.questionSmallNumber = null ; } - Cell cell3 = sheetRow.getCell(2); if(cell3 != null){ cell3.setCellType(CellType.STRING); diff --git a/src/main/java/com/jevon/vo/excel/ExcelVo.java b/src/main/java/com/jevon/vo/excel/ExcelVo.java new file mode 100644 index 0000000..4ddff4f --- /dev/null +++ b/src/main/java/com/jevon/vo/excel/ExcelVo.java @@ -0,0 +1,14 @@ +package com.jevon.vo.excel; + +import org.apache.poi.ss.usermodel.Row; + +/** + * @author chen + * @version 1.0 + * @date 2019/10/18 0018 13:59 + */ +public class ExcelVo { + + public ExcelVo(Row sheetRow) { + } +} diff --git a/src/main/java/com/jevon/vo/excel/ScoreExcelVo.java b/src/main/java/com/jevon/vo/excel/ScoreExcelVo.java new file mode 100644 index 0000000..d3759c8 --- /dev/null +++ b/src/main/java/com/jevon/vo/excel/ScoreExcelVo.java @@ -0,0 +1,102 @@ +package com.jevon.vo.excel; + +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.CellType; +import org.apache.poi.ss.usermodel.Row; + +/** + * @author chen + * @version 1.0 + * @date 2019/10/18 0018 13:50 + */ +public class ScoreExcelVo extends ExcelVo { + + private String schoolName ; + private String className ; + private String studentNumber ; + private String studentName ; + private String courseName ; + private String score ; + + public String getSchoolName() { + return schoolName; + } + + public void setSchoolName(String schoolName) { + this.schoolName = schoolName; + } + + public String getClassName() { + return className; + } + + public void setClassName(String className) { + this.className = className; + } + + public String getStudentNumber() { + return studentNumber; + } + + public void setStudentNumber(String studentNumber) { + this.studentNumber = studentNumber; + } + + public String getStudentName() { + return studentName; + } + + public void setStudentName(String studentName) { + this.studentName = studentName; + } + + public String getCourseName() { + return courseName; + } + + public void setCourseName(String courseName) { + this.courseName = courseName; + } + + public String getScore() { + return score; + } + + public void setScore(String score) { + this.score = score; + } + + public ScoreExcelVo(Row sheetRow) { + super(sheetRow); + Cell cell1 = sheetRow.getCell(1); + if(cell1 != null){ + cell1.setCellType(CellType.STRING); + this.schoolName = cell1.getStringCellValue().trim(); + } + Cell cell2 = sheetRow.getCell(2); + if(cell2 != null){ + cell2.setCellType(CellType.STRING); + this.className = cell2.getStringCellValue().trim(); + } + Cell cell3 = sheetRow.getCell(3); + if(cell3 != null){ + cell3.setCellType(CellType.STRING); + this.studentNumber = cell3.getStringCellValue().trim(); + } + Cell cell4 = sheetRow.getCell(4); + if(cell4 != null){ + cell4.setCellType(CellType.STRING); + this.studentName = cell4.getStringCellValue().trim(); + } + Cell cell5 = sheetRow.getCell(5); + if(cell5 != null){ + cell5.setCellType(CellType.STRING); + this.courseName = cell5.getStringCellValue().trim(); + } + Cell cell6 = sheetRow.getCell(6); + if(cell6 != null){ + cell6.setCellType(CellType.STRING); + this.score = cell6.getStringCellValue().trim(); + } + } +} diff --git a/src/main/java/com/jevon/vo/req/CreateExamReqVo.java b/src/main/java/com/jevon/vo/req/CreateExamReqVo.java new file mode 100644 index 0000000..9a68da0 --- /dev/null +++ b/src/main/java/com/jevon/vo/req/CreateExamReqVo.java @@ -0,0 +1,37 @@ +package com.jevon.vo.req; + +/** + * @author chen + * @version 1.0 + * @date 2019/10/18 0018 14:48 + */ +public class CreateExamReqVo { + + private String examName ; + private String courseName ; + private String examTime ; + + public String getExamName() { + return examName; + } + + public void setExamName(String examName) { + this.examName = examName; + } + + public String getCourseName() { + return courseName; + } + + public void setCourseName(String courseName) { + this.courseName = courseName; + } + + public String getExamTime() { + return examTime; + } + + public void setExamTime(String examTime) { + this.examTime = examTime; + } +} diff --git a/src/main/java/com/jevon/vo/req/GetLearnReqVo.java b/src/main/java/com/jevon/vo/req/GetLearnReqVo.java new file mode 100644 index 0000000..55855d4 --- /dev/null +++ b/src/main/java/com/jevon/vo/req/GetLearnReqVo.java @@ -0,0 +1,28 @@ +package com.jevon.vo.req; + +/** + * @author chen + * @version 1.0 + * @date 2019/10/18 0018 14:57 + */ +public class GetLearnReqVo { + + private int analyseId ; + private String schoolName ; + + public int getAnalyseId() { + return analyseId; + } + + public void setAnalyseId(int analyseId) { + this.analyseId = analyseId; + } + + public String getSchoolName() { + return schoolName; + } + + public void setSchoolName(String schoolName) { + this.schoolName = schoolName; + } +} diff --git a/src/main/java/com/jevon/vo/req/UpdateExamReqVo.java b/src/main/java/com/jevon/vo/req/UpdateExamReqVo.java new file mode 100644 index 0000000..1d47e57 --- /dev/null +++ b/src/main/java/com/jevon/vo/req/UpdateExamReqVo.java @@ -0,0 +1,19 @@ +package com.jevon.vo.req; + +/** + * @author chen + * @version 1.0 + * @date 2019/10/18 0018 14:53 + */ +public class UpdateExamReqVo extends CreateExamReqVo{ + + private int analyseId ; + + public int getAnalyseId() { + return analyseId; + } + + public void setAnalyseId(int analyseId) { + this.analyseId = analyseId; + } +} diff --git a/src/main/java/com/jevon/wordDTO/second/Form1.java b/src/main/java/com/jevon/wordDTO/second/Form1.java new file mode 100644 index 0000000..0535e63 --- /dev/null +++ b/src/main/java/com/jevon/wordDTO/second/Form1.java @@ -0,0 +1,37 @@ +package com.jevon.wordDTO.second; + +/** + * @author chen + * @version 1.0 + * @date 2019/10/18 0018 15:37 + */ +public class Form1 { + + private String level ; + private int number ; + private double prop ; + + public String getLevel() { + return level; + } + + public void setLevel(String level) { + this.level = level; + } + + public int getNumber() { + return number; + } + + public void setNumber(int number) { + this.number = number; + } + + public double getProp() { + return prop; + } + + public void setProp(double prop) { + this.prop = prop; + } +} diff --git a/src/main/java/com/jevon/wordDTO/second/Form1RepVo.java b/src/main/java/com/jevon/wordDTO/second/Form1RepVo.java new file mode 100644 index 0000000..818832f --- /dev/null +++ b/src/main/java/com/jevon/wordDTO/second/Form1RepVo.java @@ -0,0 +1,31 @@ +package com.jevon.wordDTO.second; + +import java.util.List; +import java.util.Map; + +/** + * @author chen + * @version 1.0 + * @date 2019/10/18 0018 15:46 + */ +public class Form1RepVo { + + private Map map ; + private List list ; + + public Map getMap() { + return map; + } + + public void setMap(Map map) { + this.map = map; + } + + public List getList() { + return list; + } + + public void setList(List list) { + this.list = list; + } +} diff --git a/src/main/java/com/jevon/wordDTO/second/Form2.java b/src/main/java/com/jevon/wordDTO/second/Form2.java new file mode 100644 index 0000000..6bb408f --- /dev/null +++ b/src/main/java/com/jevon/wordDTO/second/Form2.java @@ -0,0 +1,64 @@ +package com.jevon.wordDTO.second; + +/** + * @author chen + * @version 1.0 + * @date 2019/10/18 0018 16:10 + */ +public class Form2 { + + private String name ; + private int studentNumber ; + private int highNumber ; + private double highProp ; + private int lowNumber ; + private double lowProp ; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getStudentNumber() { + return studentNumber; + } + + public void setStudentNumber(int studentNumber) { + this.studentNumber = studentNumber; + } + + public int getHighNumber() { + return highNumber; + } + + public void setHighNumber(int highNumber) { + this.highNumber = highNumber; + } + + public double getHighProp() { + return highProp; + } + + public void setHighProp(double highProp) { + this.highProp = highProp; + } + + public int getLowNumber() { + return lowNumber; + } + + public void setLowNumber(int lowNumber) { + this.lowNumber = lowNumber; + } + + public double getLowProp() { + return lowProp; + } + + public void setLowProp(double lowProp) { + this.lowProp = lowProp; + } +} diff --git a/src/main/java/com/jevon/wordDTO/test.java b/src/main/java/com/jevon/wordDTO/test.java new file mode 100644 index 0000000..1c07fc6 --- /dev/null +++ b/src/main/java/com/jevon/wordDTO/test.java @@ -0,0 +1,9 @@ +package com.jevon.wordDTO; + +/** + * @author chen + * @version 1.0 + * @date 2019/10/18 0018 15:36 + */ +public class test { +} diff --git a/src/main/resources/mapping/AnalyseMapper.xml b/src/main/resources/mapping/AnalyseMapper.xml index 8720c6e..e3137c0 100644 --- a/src/main/resources/mapping/AnalyseMapper.xml +++ b/src/main/resources/mapping/AnalyseMapper.xml @@ -4,9 +4,10 @@ - + + @@ -14,6 +15,22 @@ values (#{examName},#{examTime},#{courseName},#{createTime}) + + update sz_learn_analyse + + + exam_name = #{examName}, + + + exam_time = #{examTime}, + + + max_score = #{maxScore}, + + + where id = #{id} + + + select * from sz_learn_student where 1=1 + + and analyse_id = #{analyseId} + + + and school_name = #{schoolName} + + order by score desc + + + + \ No newline at end of file -- libgit2 0.21.0