Commit b543a2f7359bef1fb8b897edc26944b597fcac28
1 parent
e6e6895d
Exists in
master
四维诊断
Showing
27 changed files
with
468 additions
and
62 deletions
Show diff stats
src/main/java/com/jevon/controller/LearnController.java
| ... | ... | @@ -69,8 +69,9 @@ public class LearnController { |
| 69 | 69 | analyse.setCourseName(createExamReqVo.getCourseName()); |
| 70 | 70 | analyse.setExamName(createExamReqVo.getExamName()); |
| 71 | 71 | analyse.setExamTime(createExamReqVo.getExamTime()); |
| 72 | - int id = analyseService.insert(analyse); | |
| 73 | - baseVo.setMessage(id+""); | |
| 72 | + analyse.setCreateTime(new Date()); | |
| 73 | + analyseService.insert(analyse); | |
| 74 | + baseVo.setMessage(analyse.getId()+""); | |
| 74 | 75 | return baseVo; |
| 75 | 76 | } |
| 76 | 77 | |
| ... | ... | @@ -179,7 +180,7 @@ public class LearnController { |
| 179 | 180 | analyseDimensional.setAnalyseId(analyse.getId()); |
| 180 | 181 | analyseDimensional.setDimensionalId(dimensionalId); |
| 181 | 182 | analyseDimensional.setQuestionNumber(questionNumber); |
| 182 | - analyseDimensional.setScore(new Float(score)); | |
| 183 | + analyseDimensional.setScore(new Double(score)); | |
| 183 | 184 | analyseDimensional.setCreateTime(new Date()); |
| 184 | 185 | analyseDimensionals.add(analyseDimensional); |
| 185 | 186 | } |
| ... | ... | @@ -197,8 +198,6 @@ public class LearnController { |
| 197 | 198 | |
| 198 | 199 | private void analysisScoreExcel(InitAnalyseReqVo initAnalyseReqVo){ |
| 199 | 200 | try{ |
| 200 | - List<StudentDetail> studentDetails = new ArrayList<>(); | |
| 201 | - List<Student> students = new ArrayList<>(); | |
| 202 | 201 | Analyse analyse = analyseService.selectById(initAnalyseReqVo.getAnalyseId()); |
| 203 | 202 | String fileUrl = initAnalyseReqVo.getUrl(); |
| 204 | 203 | File excelFile = new File(fileUrl); |
| ... | ... | @@ -211,47 +210,54 @@ public class LearnController { |
| 211 | 210 | workbook = new XSSFWorkbook(new FileInputStream(excelFile)); |
| 212 | 211 | } |
| 213 | 212 | // 获得工作表 |
| 214 | - Sheet sheet = workbook.getSheetAt(0); | |
| 215 | - Date date = new Date(); | |
| 216 | - int rows = sheet.getPhysicalNumberOfRows(); | |
| 217 | - Map<Integer , String> map = new HashMap<>(); | |
| 218 | - for (int i = 0; i <= rows; i++) { | |
| 219 | - // 获取第i行数据 | |
| 220 | - Row sheetRow = sheet.getRow(i); | |
| 221 | - if (i == 0) { | |
| 222 | - //获取标题 | |
| 223 | - }else if(i == 1){ | |
| 224 | - //获取表头 | |
| 225 | - int j = 7 ; | |
| 226 | - while (sheetRow.getCell(j) != null){ | |
| 227 | - Cell cell = sheetRow.getCell(j); | |
| 228 | - cell.setCellType(CellType.STRING); | |
| 229 | - map.put(j,cell.getStringCellValue().trim()); | |
| 230 | - j++; | |
| 231 | - } | |
| 232 | - } else { | |
| 233 | - ScoreExcelVo scoreExcelVo = new ScoreExcelVo(sheetRow); | |
| 234 | - Student student = new Student(scoreExcelVo); | |
| 235 | - student.setAnalyseId(analyse.getId()); | |
| 236 | - student.setCreateTime(date); | |
| 237 | - students.add(student); | |
| 238 | - int j = 7 ; | |
| 239 | - while (sheetRow.getCell(j) != null){ | |
| 240 | - Cell cell = sheetRow.getCell(j); | |
| 241 | - StudentDetail studentDetail = new StudentDetail(scoreExcelVo); | |
| 242 | - studentDetail.setAnalyseId(analyse.getId()); | |
| 243 | - studentDetail.setExamNumber(map.get(j)); | |
| 244 | - studentDetail.setScore(new Float(cell.getNumericCellValue())); | |
| 245 | - studentDetail.setCreateTime(date); | |
| 246 | - studentDetails.add(studentDetail); | |
| 247 | - j++; | |
| 213 | + for(int number = 0 ; number < workbook.getNumberOfSheets() ; number++){ | |
| 214 | + Sheet sheet = workbook.getSheetAt(number); | |
| 215 | + List<StudentDetail> studentDetails = new ArrayList<>(); | |
| 216 | + List<Student> students = new ArrayList<>(); | |
| 217 | + Date date = new Date(); | |
| 218 | + int rows = sheet.getPhysicalNumberOfRows(); | |
| 219 | + Map<Integer , String> map = new HashMap<>(); | |
| 220 | + for (int i = 0; i < rows; i++) { | |
| 221 | + // 获取第i行数据 | |
| 222 | + Row sheetRow = sheet.getRow(i); | |
| 223 | + if (i == 0) { | |
| 224 | + //获取标题 | |
| 225 | + }else if(i == 1){ | |
| 226 | + //获取表头 | |
| 227 | + int j = 7 ; | |
| 228 | + while (sheetRow.getCell(j) != null){ | |
| 229 | + Cell cell = sheetRow.getCell(j); | |
| 230 | + cell.setCellType(CellType.STRING); | |
| 231 | + map.put(j,cell.getStringCellValue().trim()); | |
| 232 | + j++; | |
| 233 | + } | |
| 234 | + } else { | |
| 235 | + ScoreExcelVo scoreExcelVo = new ScoreExcelVo(sheetRow); | |
| 236 | + if(StringUtils.isNotBlank(scoreExcelVo.getStudentName())){ | |
| 237 | + Student student = new Student(scoreExcelVo); | |
| 238 | + student.setAnalyseId(analyse.getId()); | |
| 239 | + student.setCreateTime(date); | |
| 240 | + students.add(student); | |
| 241 | + int j = 7 ; | |
| 242 | + while (sheetRow.getCell(j) != null){ | |
| 243 | + Cell cell = sheetRow.getCell(j); | |
| 244 | + StudentDetail studentDetail = new StudentDetail(scoreExcelVo); | |
| 245 | + studentDetail.setAnalyseId(analyse.getId()); | |
| 246 | + studentDetail.setExamNumber(map.get(j)); | |
| 247 | + studentDetail.setScore(new Double(cell.getNumericCellValue())); | |
| 248 | + studentDetail.setCreateTime(date); | |
| 249 | + studentDetails.add(studentDetail); | |
| 250 | + j++; | |
| 251 | + } | |
| 252 | + } | |
| 248 | 253 | } |
| 249 | - } | |
| 254 | + } | |
| 255 | + studentService.insertBatch(students); | |
| 256 | + studentDetailService.insertBatch(studentDetails); | |
| 250 | 257 | } |
| 251 | - studentService.insertBatch(students); | |
| 252 | - studentDetailService.insertBatch(studentDetails); | |
| 253 | 258 | }catch (Exception e){ |
| 254 | - System.out.println(e); | |
| 259 | + e.printStackTrace(); | |
| 260 | + System.out.println(e.toString()); | |
| 255 | 261 | } |
| 256 | 262 | } |
| 257 | 263 | } | ... | ... |
src/main/java/com/jevon/controller/LearnStatController.java
| 1 | 1 | package com.jevon.controller; |
| 2 | 2 | |
| 3 | -import com.jevon.model.Analyse; | |
| 4 | -import com.jevon.model.AnalyseDetail; | |
| 5 | -import com.jevon.model.Student; | |
| 3 | +import com.jevon.enums.DifficultEnums; | |
| 4 | +import com.jevon.enums.DimensionalEnums; | |
| 5 | +import com.jevon.model.*; | |
| 6 | 6 | import com.jevon.service.*; |
| 7 | -import com.jevon.vo.BaseVo; | |
| 8 | 7 | import com.jevon.vo.req.GetLearnReqVo; |
| 9 | 8 | import com.jevon.wordDTO.second.*; |
| 10 | 9 | import io.swagger.annotations.Api; |
| ... | ... | @@ -47,6 +46,26 @@ public class LearnStatController { |
| 47 | 46 | @Autowired |
| 48 | 47 | StudentService studentService; |
| 49 | 48 | |
| 49 | + @ApiOperation("getForm1_1") | |
| 50 | + @RequestMapping(value = "getForm1_1", method = RequestMethod.POST) | |
| 51 | + public List<Form7> getForm1_1(@RequestBody GetLearnReqVo getLearnReqVo){ | |
| 52 | + Analyse analyse = analyseService.selectById(getLearnReqVo.getAnalyseId()); | |
| 53 | + List<Form7> list = new ArrayList<>(); | |
| 54 | + Form7 form7 = new Form7(); | |
| 55 | + form7.setName(DifficultEnums.easy.getDifficultName()); | |
| 56 | + form7.setPercent(analyseDetailService.selectDifficult(analyse.getId(),DifficultEnums.easy.getDifficultType())/analyse.getMaxScore()*100); | |
| 57 | + list.add(form7); | |
| 58 | + Form7 form = new Form7(); | |
| 59 | + form.setName(DifficultEnums.medium.getDifficultName()); | |
| 60 | + form.setPercent(analyseDetailService.selectDifficult(analyse.getId(),DifficultEnums.medium.getDifficultType())/analyse.getMaxScore()*100); | |
| 61 | + list.add(form); | |
| 62 | + Form7 form2 = new Form7(); | |
| 63 | + form2.setName(DifficultEnums.difficult.getDifficultName()); | |
| 64 | + form2.setPercent(analyseDetailService.selectDifficult(analyse.getId(),DifficultEnums.difficult.getDifficultType())/analyse.getMaxScore()*100); | |
| 65 | + list.add(form2); | |
| 66 | + return list; | |
| 67 | + } | |
| 68 | + | |
| 50 | 69 | @ApiOperation("getForm2_1_1") |
| 51 | 70 | @RequestMapping(value = "getForm2_1_1", method = RequestMethod.POST) |
| 52 | 71 | public Form1RepVo getForm2_1_1(@RequestBody GetLearnReqVo getLearnReqVo){ |
| ... | ... | @@ -98,7 +117,7 @@ public class LearnStatController { |
| 98 | 117 | Analyse analyse = analyseService.selectById(getLearnReqVo.getAnalyseId()); |
| 99 | 118 | List<Student> allStudents = studentService.selectBySchoolName(getLearnReqVo.getAnalyseId(),null); |
| 100 | 119 | List<Student> students = studentService.selectBySchoolName(getLearnReqVo.getAnalyseId(),getLearnReqVo.getSchoolName()); |
| 101 | - //先算高分段的分数 再去人数 | |
| 120 | + //先算高分段的分数 | |
| 102 | 121 | int highNumber = (int) Math.floor(allStudents.size()*0.27); |
| 103 | 122 | double highScore = allStudents.get(highNumber).getScore(); |
| 104 | 123 | int lowNumber = allStudents.size()-highNumber; |
| ... | ... | @@ -290,6 +309,7 @@ public class LearnStatController { |
| 290 | 309 | Double schoolSumScore = studentDetailService.selectSumScore(analyse.getId(),getLearnReqVo.getSchoolName(),analyseDetail.getQuestionNumber()); |
| 291 | 310 | from5.setExamNumber(analyseDetail.getQuestionNumber()); |
| 292 | 311 | from5.setScore(analyseDetail.getScore()); |
| 312 | + from5.setDifficultName(DifficultEnums.getDifficultName(analyseDetail.getDifficult())); | |
| 293 | 313 | from5.setAllRate(allSumScore/new Double(allStudents.size()) / analyseDetail.getScore()); |
| 294 | 314 | from5.setSchoolRate(schoolSumScore/new Double(students.size()) / analyseDetail.getScore()); |
| 295 | 315 | from5.setAllAvg(allSumScore / new Double(allStudents.size())); |
| ... | ... | @@ -304,4 +324,110 @@ public class LearnStatController { |
| 304 | 324 | } |
| 305 | 325 | return list; |
| 306 | 326 | } |
| 327 | + | |
| 328 | + @ApiOperation("getForm2_2_4") | |
| 329 | + @RequestMapping(value = "getForm2_2_4", method = RequestMethod.POST) | |
| 330 | + public List<Form8> getForm2_2_4(@RequestBody GetLearnReqVo getLearnReqVo){ | |
| 331 | + Analyse analyse = analyseService.selectById(getLearnReqVo.getAnalyseId()); | |
| 332 | + List<Form8> list = new ArrayList<>(); | |
| 333 | + List<Student> allStudents = studentService.selectBySchoolName(analyse.getId(),null); | |
| 334 | + List<Student> students = studentService.selectBySchoolName(analyse.getId(),getLearnReqVo.getSchoolName()); | |
| 335 | + for(DifficultEnums enums : DifficultEnums.values()){ | |
| 336 | + Form8 form8 = new Form8(); | |
| 337 | + form8.setDifficultName(enums.getDifficultName()); | |
| 338 | + form8.setScore(analyseDetailService.selectDifficult(analyse.getId(),enums.getDifficultType())); | |
| 339 | + List<AnalyseDetail> analyseDetails = analyseDetailService.selectDifficultDetail(analyse.getId(),enums.getDifficultType()); | |
| 340 | + Double allSumScore = 0d , schoolSumScore = 0d , score = 0d; | |
| 341 | + for(AnalyseDetail analyseDetail : analyseDetails){ | |
| 342 | + allSumScore = allSumScore + studentDetailService.selectSumScore(analyse.getId(),null,analyseDetail.getQuestionNumber()); | |
| 343 | + schoolSumScore = schoolSumScore + studentDetailService.selectSumScore(analyse.getId(),getLearnReqVo.getSchoolName(),analyseDetail.getQuestionNumber()); | |
| 344 | + score = score + analyseDetail.getScore() ; | |
| 345 | + } | |
| 346 | + form8.setAllRate(allSumScore / new Double(allStudents.size()) / score ); | |
| 347 | + form8.setSchoolRate(schoolSumScore / new Double(students.size()) / score); | |
| 348 | + list.add(form8); | |
| 349 | + } | |
| 350 | + return list; | |
| 351 | + } | |
| 352 | + | |
| 353 | + @ApiOperation("getForm3_1") | |
| 354 | + @RequestMapping(value = "getForm3_1", method = RequestMethod.POST) | |
| 355 | + public List<Form6> getForm3_1(@RequestBody GetLearnReqVo getLearnReqVo){ | |
| 356 | + return initDimensional(getLearnReqVo,DimensionalEnums.knowledge.getDimensionalType()); | |
| 357 | + } | |
| 358 | + | |
| 359 | + @ApiOperation("getForm3_2") | |
| 360 | + @RequestMapping(value = "getForm3_2", method = RequestMethod.POST) | |
| 361 | + public List<Form6> getForm3_2(@RequestBody GetLearnReqVo getLearnReqVo){ | |
| 362 | + return initDimensional(getLearnReqVo,DimensionalEnums.skill.getDimensionalType()); | |
| 363 | + } | |
| 364 | + | |
| 365 | + @ApiOperation("getForm3_3") | |
| 366 | + @RequestMapping(value = "getForm3_3", method = RequestMethod.POST) | |
| 367 | + public List<Form6> getForm3_3(@RequestBody GetLearnReqVo getLearnReqVo){ | |
| 368 | + return initDimensional(getLearnReqVo,DimensionalEnums.ability.getDimensionalType()); | |
| 369 | + } | |
| 370 | + | |
| 371 | + @ApiOperation("getForm3_4") | |
| 372 | + @RequestMapping(value = "getForm3_4", method = RequestMethod.POST) | |
| 373 | + public List<Form6> getForm3_4(@RequestBody GetLearnReqVo getLearnReqVo){ | |
| 374 | + return initDimensional(getLearnReqVo,DimensionalEnums.think.getDimensionalType()); | |
| 375 | + } | |
| 376 | + | |
| 377 | + private List<Form6> initDimensional(GetLearnReqVo getLearnReqVo , int dimensionalType){ | |
| 378 | + List<Form6> list = new ArrayList<>(); | |
| 379 | + Analyse analyse = analyseService.selectById(getLearnReqVo.getAnalyseId()); | |
| 380 | + List<Student> allStudents = studentService.selectBySchoolName(analyse.getId(),null); | |
| 381 | + int allNumber = (int) Math.floor(allStudents.size()*0.27) ; | |
| 382 | + List<String> allHighStudent = new ArrayList<>(); | |
| 383 | + List<String> allLowStudent = new ArrayList<>(); | |
| 384 | + for (int i = 0; i < allNumber ; i++) { | |
| 385 | + allHighStudent.add(allStudents.get(i).getStudentNumber()); | |
| 386 | + } | |
| 387 | + for(int i =allStudents.size()-allNumber ; i < allStudents.size() ; i++){ | |
| 388 | + allLowStudent.add(allStudents.get(i).getStudentNumber()); | |
| 389 | + } | |
| 390 | + List<Student> students = studentService.selectBySchoolName(analyse.getId(),getLearnReqVo.getSchoolName()); | |
| 391 | + int number = (int) Math.floor(students.size()*0.27) ; | |
| 392 | + List<String> highStudent = new ArrayList<>(); | |
| 393 | + List<String> lowStudent = new ArrayList<>(); | |
| 394 | + for (int i = 0; i < number ; i++) { | |
| 395 | + highStudent.add(students.get(i).getStudentNumber()); | |
| 396 | + } | |
| 397 | + for(int i =students.size()-number ; i < students.size() ; i++){ | |
| 398 | + lowStudent.add(students.get(i).getStudentNumber()); | |
| 399 | + } | |
| 400 | + List<Dimensional> knowledgeList = dimensionalService.selectByAnalyse(analyse.getId(),dimensionalType); | |
| 401 | + for(Dimensional dimensional : knowledgeList){ | |
| 402 | + Form6 form6 = new Form6(); | |
| 403 | + form6.setKnowledge(dimensional.getDimensionalName()); | |
| 404 | + List<AnalyseDimensional> analyseDimensionals = analyseDimensionalService.selectByDimensional(analyse.getId(),dimensional.getId()); | |
| 405 | + Double score = 0d; | |
| 406 | + Double allSumScore = 0d ; | |
| 407 | + Double schoolSumScore = 0d ; | |
| 408 | + int allHigh = 0 , allLow = 0 , high = 0 , low = 0 ; | |
| 409 | + StringBuffer examNumber = new StringBuffer(); | |
| 410 | + for(AnalyseDimensional analyseDimensional :analyseDimensionals){ | |
| 411 | + score = score + analyseDimensional.getScore() ; | |
| 412 | + allSumScore = allSumScore + studentDetailService.selectSumScore(analyse.getId(),null,analyseDimensional.getQuestionNumber()); | |
| 413 | + schoolSumScore = schoolSumScore + studentDetailService.selectSumScore(analyse.getId(),getLearnReqVo.getSchoolName(),analyseDimensional.getQuestionNumber()); | |
| 414 | + allHigh = allHigh + studentDetailService.selectTrueByExamNumber(analyse.getId(),null ,analyseDimensional.getQuestionNumber(),allHighStudent,analyseDimensional.getScore()); | |
| 415 | + allLow = allLow + studentDetailService.selectTrueByExamNumber(analyse.getId(),null ,analyseDimensional.getQuestionNumber(),allLowStudent,analyseDimensional.getScore()); | |
| 416 | + high = high + studentDetailService.selectTrueByExamNumber(analyse.getId(),getLearnReqVo.getSchoolName() ,analyseDimensional.getQuestionNumber(),highStudent,analyseDimensional.getScore()); | |
| 417 | + low = low + studentDetailService.selectTrueByExamNumber(analyse.getId(),getLearnReqVo.getSchoolName() ,analyseDimensional.getQuestionNumber(),lowStudent,analyseDimensional.getScore()); | |
| 418 | + examNumber.append(analyseDimensional.getQuestionNumber()).append(","); | |
| 419 | + } | |
| 420 | + form6.setScore(score); | |
| 421 | + form6.setAllRate(allSumScore / new Double(allStudents.size()) / score ); | |
| 422 | + form6.setAllAvg(allSumScore / new Double(allStudents.size())); | |
| 423 | + form6.setSchoolRate(schoolSumScore / new Double(students.size()) / score); | |
| 424 | + form6.setSchoolAvg(schoolSumScore / new Double(students.size())); | |
| 425 | + form6.setAllDist(new Double(allHigh-allLow) / new Double(allNumber * analyseDimensionals.size())); | |
| 426 | + form6.setSchoolDist(new Double(high-low) / new Double(number * analyseDimensionals.size())); | |
| 427 | + form6.setExamNumber(examNumber.toString().substring(0,examNumber.toString().length()-1)); | |
| 428 | + list.add(form6); | |
| 429 | + } | |
| 430 | + return list; | |
| 431 | + } | |
| 432 | + | |
| 307 | 433 | } | ... | ... |
src/main/java/com/jevon/enums/DifficultEnums.java
| ... | ... | @@ -43,4 +43,13 @@ public enum DifficultEnums { |
| 43 | 43 | } |
| 44 | 44 | return 0 ; |
| 45 | 45 | } |
| 46 | + | |
| 47 | + public static String getDifficultName(int difficultType){ | |
| 48 | + for (DifficultEnums difficultEnums : DifficultEnums.values()) { | |
| 49 | + if (difficultEnums.getDifficultType() == difficultType) { | |
| 50 | + return difficultEnums.getDifficultName(); | |
| 51 | + } | |
| 52 | + } | |
| 53 | + return "" ; | |
| 54 | + } | |
| 46 | 55 | } | ... | ... |
src/main/java/com/jevon/mapper/AnalyseDetailMapper.java
| ... | ... | @@ -14,4 +14,10 @@ public interface AnalyseDetailMapper { |
| 14 | 14 | int insertBatch(List<AnalyseDetail> list); |
| 15 | 15 | |
| 16 | 16 | List<AnalyseDetail> selectByAnalyseId(int analyseId); |
| 17 | + | |
| 18 | + Double selectDifficult(AnalyseDetail analyseDetail); | |
| 19 | + | |
| 20 | + List<AnalyseDetail> selectDifficultDetail(AnalyseDetail analyseDetail); | |
| 21 | + | |
| 22 | + List<String> selectQuestionType(int analyseId); | |
| 17 | 23 | } | ... | ... |
src/main/java/com/jevon/mapper/AnalyseDimensionalMapper.java
src/main/java/com/jevon/mapper/DimensionalMapper.java
src/main/java/com/jevon/model/AnalyseDimensional.java
| ... | ... | @@ -13,7 +13,7 @@ public class AnalyseDimensional { |
| 13 | 13 | private int analyseId ; |
| 14 | 14 | private String questionNumber ; |
| 15 | 15 | private int dimensionalId ; |
| 16 | - private float score ; | |
| 16 | + private Double score ; | |
| 17 | 17 | private Date createTime ; |
| 18 | 18 | |
| 19 | 19 | public int getId() { |
| ... | ... | @@ -48,11 +48,11 @@ public class AnalyseDimensional { |
| 48 | 48 | this.dimensionalId = dimensionalId; |
| 49 | 49 | } |
| 50 | 50 | |
| 51 | - public float getScore() { | |
| 51 | + public Double getScore() { | |
| 52 | 52 | return score; |
| 53 | 53 | } |
| 54 | 54 | |
| 55 | - public void setScore(float score) { | |
| 55 | + public void setScore(Double score) { | |
| 56 | 56 | this.score = score; |
| 57 | 57 | } |
| 58 | 58 | |
| ... | ... | @@ -63,4 +63,5 @@ public class AnalyseDimensional { |
| 63 | 63 | public void setCreateTime(Date createTime) { |
| 64 | 64 | this.createTime = createTime; |
| 65 | 65 | } |
| 66 | + | |
| 66 | 67 | } | ... | ... |
src/main/java/com/jevon/model/Dimensional.java
| ... | ... | @@ -13,6 +13,8 @@ public class Dimensional { |
| 13 | 13 | private int dimensionalType ; |
| 14 | 14 | private String dimensionalName; |
| 15 | 15 | private Date createTime ; |
| 16 | + //查询用 | |
| 17 | + private int analyseId ; | |
| 16 | 18 | |
| 17 | 19 | public int getId() { |
| 18 | 20 | return id; |
| ... | ... | @@ -45,4 +47,12 @@ public class Dimensional { |
| 45 | 47 | public void setCreateTime(Date createTime) { |
| 46 | 48 | this.createTime = createTime; |
| 47 | 49 | } |
| 50 | + | |
| 51 | + public int getAnalyseId() { | |
| 52 | + return analyseId; | |
| 53 | + } | |
| 54 | + | |
| 55 | + public void setAnalyseId(int analyseId) { | |
| 56 | + this.analyseId = analyseId; | |
| 57 | + } | |
| 48 | 58 | } | ... | ... |
src/main/java/com/jevon/model/Student.java
| ... | ... | @@ -18,7 +18,7 @@ public class Student { |
| 18 | 18 | private String studentName ; |
| 19 | 19 | private String studentNumber ; |
| 20 | 20 | private int analyseId ; |
| 21 | - private float score ; | |
| 21 | + private double score ; | |
| 22 | 22 | private Date createTime ; |
| 23 | 23 | |
| 24 | 24 | private double begin ; |
| ... | ... | @@ -29,7 +29,7 @@ public class Student { |
| 29 | 29 | this.className = scoreExcelVo.getClassName(); |
| 30 | 30 | this.studentName = scoreExcelVo.getStudentName(); |
| 31 | 31 | this.studentNumber = scoreExcelVo.getStudentNumber(); |
| 32 | - this.score =new Float(scoreExcelVo.getScore()); | |
| 32 | + this.score = new Double(scoreExcelVo.getScore()); | |
| 33 | 33 | } |
| 34 | 34 | |
| 35 | 35 | public Student() { |
| ... | ... | @@ -91,11 +91,11 @@ public class Student { |
| 91 | 91 | this.analyseId = analyseId; |
| 92 | 92 | } |
| 93 | 93 | |
| 94 | - public float getScore() { | |
| 94 | + public double getScore() { | |
| 95 | 95 | return score; |
| 96 | 96 | } |
| 97 | 97 | |
| 98 | - public void setScore(float score) { | |
| 98 | + public void setScore(double score) { | |
| 99 | 99 | this.score = score; |
| 100 | 100 | } |
| 101 | 101 | ... | ... |
src/main/java/com/jevon/model/StudentDetail.java
| ... | ... | @@ -20,7 +20,7 @@ public class StudentDetail { |
| 20 | 20 | private String studentNumber ; |
| 21 | 21 | private int analyseId ; |
| 22 | 22 | private String examNumber ; |
| 23 | - private float score ; | |
| 23 | + private Double score ; | |
| 24 | 24 | private Date createTime ; |
| 25 | 25 | |
| 26 | 26 | //查询用 高分段 低分段学生考号 |
| ... | ... | @@ -100,11 +100,11 @@ public class StudentDetail { |
| 100 | 100 | this.examNumber = examNumber; |
| 101 | 101 | } |
| 102 | 102 | |
| 103 | - public float getScore() { | |
| 103 | + public Double getScore() { | |
| 104 | 104 | return score; |
| 105 | 105 | } |
| 106 | 106 | |
| 107 | - public void setScore(float score) { | |
| 107 | + public void setScore(Double score) { | |
| 108 | 108 | this.score = score; |
| 109 | 109 | } |
| 110 | 110 | ... | ... |
src/main/java/com/jevon/service/AnalyseDetailService.java
| ... | ... | @@ -15,5 +15,10 @@ public interface AnalyseDetailService { |
| 15 | 15 | |
| 16 | 16 | List<AnalyseDetail> selectByAnalyseId(int analyseId); |
| 17 | 17 | |
| 18 | + Double selectDifficult(int analyseId , int difficult); | |
| 19 | + | |
| 20 | + List<AnalyseDetail> selectDifficultDetail(int analyseId , int difficult); | |
| 21 | + | |
| 22 | + List<String> selectQuestionType(int analyseId); | |
| 18 | 23 | |
| 19 | 24 | } | ... | ... |
src/main/java/com/jevon/service/AnalyseDimensionalService.java
src/main/java/com/jevon/service/DimensionalService.java
src/main/java/com/jevon/service/StudentDetailService.java
| ... | ... | @@ -16,5 +16,4 @@ public interface StudentDetailService { |
| 16 | 16 | Double selectSumScore(int analyseId , String schoolName , String examNumber); |
| 17 | 17 | |
| 18 | 18 | int selectTrueByExamNumber(int analyseId , String schoolName , String examNumber , List<String> studentNumbers ,Double score); |
| 19 | - | |
| 20 | 19 | } | ... | ... |
src/main/java/com/jevon/service/impl/AnalyseDetailServiceImpl.java
| ... | ... | @@ -40,4 +40,25 @@ public class AnalyseDetailServiceImpl implements AnalyseDetailService { |
| 40 | 40 | public List<AnalyseDetail> selectByAnalyseId(int analyseId) { |
| 41 | 41 | return analyseDetailMapper.selectByAnalyseId(analyseId); |
| 42 | 42 | } |
| 43 | + | |
| 44 | + @Override | |
| 45 | + public Double selectDifficult(int analyseId, int difficult) { | |
| 46 | + AnalyseDetail analyseDetail = new AnalyseDetail(); | |
| 47 | + analyseDetail.setDifficult(difficult); | |
| 48 | + analyseDetail.setAnalyseId(analyseId); | |
| 49 | + return analyseDetailMapper.selectDifficult(analyseDetail); | |
| 50 | + } | |
| 51 | + | |
| 52 | + @Override | |
| 53 | + public List<AnalyseDetail> selectDifficultDetail(int analyseId, int difficult) { | |
| 54 | + AnalyseDetail analyseDetail = new AnalyseDetail(); | |
| 55 | + analyseDetail.setDifficult(difficult); | |
| 56 | + analyseDetail.setAnalyseId(analyseId); | |
| 57 | + return analyseDetailMapper.selectDifficultDetail(analyseDetail); | |
| 58 | + } | |
| 59 | + | |
| 60 | + @Override | |
| 61 | + public List<String> selectQuestionType(int analyseId) { | |
| 62 | + return analyseDetailMapper.selectQuestionType(analyseId); | |
| 63 | + } | |
| 43 | 64 | } | ... | ... |
src/main/java/com/jevon/service/impl/AnalyseDimensionalServiceImpl.java
| ... | ... | @@ -35,4 +35,12 @@ public class AnalyseDimensionalServiceImpl implements AnalyseDimensionalService |
| 35 | 35 | analyseDimensionalMapper.insertBatch(result); |
| 36 | 36 | return 1 ; |
| 37 | 37 | } |
| 38 | + | |
| 39 | + @Override | |
| 40 | + public List<AnalyseDimensional> selectByDimensional(int analyseId, int dimensionalId) { | |
| 41 | + AnalyseDimensional analyseDimensional = new AnalyseDimensional(); | |
| 42 | + analyseDimensional.setAnalyseId(analyseId); | |
| 43 | + analyseDimensional.setDimensionalId(dimensionalId); | |
| 44 | + return analyseDimensionalMapper.selectByDimensional(analyseDimensional); | |
| 45 | + } | |
| 38 | 46 | } | ... | ... |
src/main/java/com/jevon/service/impl/DimensionalServiceImpl.java
| ... | ... | @@ -41,4 +41,12 @@ public class DimensionalServiceImpl implements DimensionalService { |
| 41 | 41 | } |
| 42 | 42 | return null; |
| 43 | 43 | } |
| 44 | + | |
| 45 | + @Override | |
| 46 | + public List<Dimensional> selectByAnalyse(int analyseId, int dimensionalType) { | |
| 47 | + Dimensional dimensional = new Dimensional(); | |
| 48 | + dimensional.setDimensionalType(dimensionalType); | |
| 49 | + dimensional.setAnalyseId(analyseId); | |
| 50 | + return dimensionalMapper.selectByAnalyse(dimensional); | |
| 51 | + } | |
| 44 | 52 | } | ... | ... |
src/main/java/com/jevon/service/impl/StudentDetailServiceImpl.java
| ... | ... | @@ -51,7 +51,7 @@ public class StudentDetailServiceImpl implements StudentDetailService { |
| 51 | 51 | studentDetail.setAnalyseId(analyseId); |
| 52 | 52 | studentDetail.setSchoolName(schoolName); |
| 53 | 53 | studentDetail.setExamNumber(examNumber); |
| 54 | - studentDetail.setScore(new Float(score)); | |
| 54 | + studentDetail.setScore(score); | |
| 55 | 55 | studentDetail.setStudentNumbers(studentNumbers); |
| 56 | 56 | return studentDetailMapper.selectTrueByExamNumber(studentDetail); |
| 57 | 57 | } | ... | ... |
| ... | ... | @@ -0,0 +1,91 @@ |
| 1 | +package com.jevon.wordDTO.second; | |
| 2 | + | |
| 3 | +/** | |
| 4 | + * @author chen | |
| 5 | + * @version 1.0 | |
| 6 | + * @date 2019/10/21 0021 11:25 | |
| 7 | + */ | |
| 8 | +public class Form6 { | |
| 9 | + private String knowledge ; | |
| 10 | + private Double score ; | |
| 11 | + private Double allRate ; | |
| 12 | + private Double schoolRate ; | |
| 13 | + private Double allAvg ; | |
| 14 | + private Double schoolAvg ; | |
| 15 | + private Double allDist ; | |
| 16 | + private Double schoolDist ; | |
| 17 | + | |
| 18 | + private String examNumber ; | |
| 19 | + | |
| 20 | + public String getKnowledge() { | |
| 21 | + return knowledge; | |
| 22 | + } | |
| 23 | + | |
| 24 | + public void setKnowledge(String knowledge) { | |
| 25 | + this.knowledge = knowledge; | |
| 26 | + } | |
| 27 | + | |
| 28 | + public Double getScore() { | |
| 29 | + return score; | |
| 30 | + } | |
| 31 | + | |
| 32 | + public void setScore(Double score) { | |
| 33 | + this.score = score; | |
| 34 | + } | |
| 35 | + | |
| 36 | + public Double getAllRate() { | |
| 37 | + return allRate; | |
| 38 | + } | |
| 39 | + | |
| 40 | + public void setAllRate(Double allRate) { | |
| 41 | + this.allRate = allRate; | |
| 42 | + } | |
| 43 | + | |
| 44 | + public Double getSchoolRate() { | |
| 45 | + return schoolRate; | |
| 46 | + } | |
| 47 | + | |
| 48 | + public void setSchoolRate(Double schoolRate) { | |
| 49 | + this.schoolRate = schoolRate; | |
| 50 | + } | |
| 51 | + | |
| 52 | + public Double getAllAvg() { | |
| 53 | + return allAvg; | |
| 54 | + } | |
| 55 | + | |
| 56 | + public void setAllAvg(Double allAvg) { | |
| 57 | + this.allAvg = allAvg; | |
| 58 | + } | |
| 59 | + | |
| 60 | + public Double getSchoolAvg() { | |
| 61 | + return schoolAvg; | |
| 62 | + } | |
| 63 | + | |
| 64 | + public void setSchoolAvg(Double schoolAvg) { | |
| 65 | + this.schoolAvg = schoolAvg; | |
| 66 | + } | |
| 67 | + | |
| 68 | + public Double getAllDist() { | |
| 69 | + return allDist; | |
| 70 | + } | |
| 71 | + | |
| 72 | + public void setAllDist(Double allDist) { | |
| 73 | + this.allDist = allDist; | |
| 74 | + } | |
| 75 | + | |
| 76 | + public Double getSchoolDist() { | |
| 77 | + return schoolDist; | |
| 78 | + } | |
| 79 | + | |
| 80 | + public void setSchoolDist(Double schoolDist) { | |
| 81 | + this.schoolDist = schoolDist; | |
| 82 | + } | |
| 83 | + | |
| 84 | + public String getExamNumber() { | |
| 85 | + return examNumber; | |
| 86 | + } | |
| 87 | + | |
| 88 | + public void setExamNumber(String examNumber) { | |
| 89 | + this.examNumber = examNumber; | |
| 90 | + } | |
| 91 | +} | ... | ... |
| ... | ... | @@ -0,0 +1,28 @@ |
| 1 | +package com.jevon.wordDTO.second; | |
| 2 | + | |
| 3 | +/** | |
| 4 | + * @author chen | |
| 5 | + * @version 1.0 | |
| 6 | + * @date 2019/10/21 0021 14:58 | |
| 7 | + */ | |
| 8 | +public class Form7 { | |
| 9 | + | |
| 10 | + private String name ; | |
| 11 | + private Double percent ; | |
| 12 | + | |
| 13 | + public String getName() { | |
| 14 | + return name; | |
| 15 | + } | |
| 16 | + | |
| 17 | + public void setName(String name) { | |
| 18 | + this.name = name; | |
| 19 | + } | |
| 20 | + | |
| 21 | + public Double getPercent() { | |
| 22 | + return percent; | |
| 23 | + } | |
| 24 | + | |
| 25 | + public void setPercent(Double percent) { | |
| 26 | + this.percent = percent; | |
| 27 | + } | |
| 28 | +} | ... | ... |
| ... | ... | @@ -0,0 +1,46 @@ |
| 1 | +package com.jevon.wordDTO.second; | |
| 2 | + | |
| 3 | +/** | |
| 4 | + * @author chen | |
| 5 | + * @version 1.0 | |
| 6 | + * @date 2019/10/21 0021 15:14 | |
| 7 | + */ | |
| 8 | +public class Form8 { | |
| 9 | + | |
| 10 | + private String difficultName ; | |
| 11 | + private Double score ; | |
| 12 | + private Double allRate ; | |
| 13 | + private Double schoolRate ; | |
| 14 | + | |
| 15 | + public String getDifficultName() { | |
| 16 | + return difficultName; | |
| 17 | + } | |
| 18 | + | |
| 19 | + public void setDifficultName(String difficultName) { | |
| 20 | + this.difficultName = difficultName; | |
| 21 | + } | |
| 22 | + | |
| 23 | + public Double getScore() { | |
| 24 | + return score; | |
| 25 | + } | |
| 26 | + | |
| 27 | + public void setScore(Double score) { | |
| 28 | + this.score = score; | |
| 29 | + } | |
| 30 | + | |
| 31 | + public Double getAllRate() { | |
| 32 | + return allRate; | |
| 33 | + } | |
| 34 | + | |
| 35 | + public void setAllRate(Double allRate) { | |
| 36 | + this.allRate = allRate; | |
| 37 | + } | |
| 38 | + | |
| 39 | + public Double getSchoolRate() { | |
| 40 | + return schoolRate; | |
| 41 | + } | |
| 42 | + | |
| 43 | + public void setSchoolRate(Double schoolRate) { | |
| 44 | + this.schoolRate = schoolRate; | |
| 45 | + } | |
| 46 | +} | ... | ... |
src/main/java/com/jevon/wordDTO/second/From5.java
| ... | ... | @@ -8,6 +8,7 @@ package com.jevon.wordDTO.second; |
| 8 | 8 | public class From5 { |
| 9 | 9 | |
| 10 | 10 | private String examNumber ; |
| 11 | + private String difficultName ; | |
| 11 | 12 | private Double score ; |
| 12 | 13 | private Double allRate ; |
| 13 | 14 | private Double schoolRate ; |
| ... | ... | @@ -79,4 +80,12 @@ public class From5 { |
| 79 | 80 | public void setSchoolDist(Double schoolDist) { |
| 80 | 81 | this.schoolDist = schoolDist; |
| 81 | 82 | } |
| 83 | + | |
| 84 | + public String getDifficultName() { | |
| 85 | + return difficultName; | |
| 86 | + } | |
| 87 | + | |
| 88 | + public void setDifficultName(String difficultName) { | |
| 89 | + this.difficultName = difficultName; | |
| 90 | + } | |
| 82 | 91 | } | ... | ... |
src/main/resources/mapping/AnalyseDetailMapper.xml
| ... | ... | @@ -22,4 +22,17 @@ |
| 22 | 22 | <select id="selectByAnalyseId" parameterType="java.lang.Integer" resultMap="BaseResultMap"> |
| 23 | 23 | select * from sz_learn_analyse_detail where analyse_id = #{analyseId} order by id |
| 24 | 24 | </select> |
| 25 | + | |
| 26 | + <select id="selectDifficult" parameterType="com.jevon.model.AnalyseDetail" resultType="java.lang.Double"> | |
| 27 | + select sum(score) from sz_learn_analyse_detail where analyse_id = #{analyseId} and difficult =#{difficult} | |
| 28 | + </select> | |
| 29 | + | |
| 30 | + <select id="selectDifficultDetail" parameterType="com.jevon.model.AnalyseDetail" resultMap="BaseResultMap"> | |
| 31 | + select * from sz_learn_analyse_detail where analyse_id = #{analyseId} and difficult =#{difficult} | |
| 32 | + </select> | |
| 33 | + | |
| 34 | + <select id="selectQuestionType" parameterType="java.lang.Integer" resultType="java.lang.String"> | |
| 35 | + select DISTINCT questionType from sz_learn_analyse_detail where analyse_id = #{analyseId} | |
| 36 | + </select> | |
| 37 | + | |
| 25 | 38 | </mapper> |
| 26 | 39 | \ No newline at end of file | ... | ... |
src/main/resources/mapping/AnalyseDimensionalMapper.xml
| ... | ... | @@ -5,7 +5,7 @@ |
| 5 | 5 | <id column="id" property="id" jdbcType="INTEGER" /> |
| 6 | 6 | <result column="analyse_id" property="analyseId" jdbcType="INTEGER" /> |
| 7 | 7 | <result column="question_number" property="questionNumber" jdbcType="VARCHAR" /> |
| 8 | - <result column="dimensional_id" property="questionType" jdbcType="INTEGER" /> | |
| 8 | + <result column="dimensional_id" property="dimensionalId" jdbcType="INTEGER" /> | |
| 9 | 9 | <result column="score" property="score" jdbcType="FLOAT" /> |
| 10 | 10 | <result column="create_time" property="createTime" jdbcType="TIMESTAMP" /> |
| 11 | 11 | </resultMap> |
| ... | ... | @@ -17,4 +17,9 @@ |
| 17 | 17 | (#{emp.analyseId},#{emp.questionNumber},#{emp.dimensionalId},#{emp.score},#{emp.createTime}) |
| 18 | 18 | </foreach> |
| 19 | 19 | </insert> |
| 20 | + | |
| 21 | + <select id="selectByDimensional" parameterType="com.jevon.model.AnalyseDimensional" resultMap="BaseResultMap"> | |
| 22 | + select * from sz_learn_analyse_dimensional | |
| 23 | + where analyse_id = #{analyseId} and dimensional_id = #{dimensionalId} | |
| 24 | + </select> | |
| 20 | 25 | </mapper> |
| 21 | 26 | \ No newline at end of file | ... | ... |
src/main/resources/mapping/AnalyseMapper.xml
| ... | ... | @@ -10,7 +10,7 @@ |
| 10 | 10 | <result column="max_score" property="maxScore" jdbcType="FLOAT" /> |
| 11 | 11 | </resultMap> |
| 12 | 12 | |
| 13 | - <insert id="insert" parameterType="com.jevon.model.Analyse" useGeneratedKeys="true" keyColumn="id" keyProperty="id"> | |
| 13 | + <insert id="insert" parameterType="com.jevon.model.Analyse" useGeneratedKeys="true" keyProperty="id"> | |
| 14 | 14 | insert into sz_learn_analyse (exam_name, exam_time,course_name,create_time) |
| 15 | 15 | values (#{examName},#{examTime},#{courseName},#{createTime}) |
| 16 | 16 | </insert> | ... | ... |
src/main/resources/mapping/DimensionalMapper.xml
| ... | ... | @@ -22,4 +22,9 @@ |
| 22 | 22 | and dimensional_name = #{dimensionalName} |
| 23 | 23 | </if> |
| 24 | 24 | </select> |
| 25 | + | |
| 26 | + <select id="selectByAnalyse" parameterType="com.jevon.model.Dimensional" resultMap="BaseResultMap"> | |
| 27 | + select * from sz_learn_dimensional where dimensional_type = #{dimensionalType} and id in( | |
| 28 | + select dimensional_id from sz_learn_analyse_dimensional where analyse_id = #{analyseId} ) | |
| 29 | + </select> | |
| 25 | 30 | </mapper> |
| 26 | 31 | \ No newline at end of file | ... | ... |