【修改】 判分逻辑稍微优化
This commit is contained in:
@@ -18,6 +18,7 @@ import pc.exam.pp.module.exam.service.stuPaperScore.StuPaperScoreService;
|
||||
import pc.exam.pp.module.judgement.controller.admin.autoTools.vo.StuPaperReqVo;
|
||||
import pc.exam.pp.module.judgement.controller.admin.autoTools.vo.StuPaperScoreInfoVo;
|
||||
import pc.exam.pp.module.judgement.service.auto_tools.AutoToolsService;
|
||||
import pc.exam.pp.module.judgement.service.c_programming.JudgementService;
|
||||
import pc.exam.pp.module.judgement.service.wps_excel.JudgementWpsExcelService;
|
||||
import pc.exam.pp.module.judgement.service.wps_pptx.JudgementWpsPptxService;
|
||||
import pc.exam.pp.module.judgement.service.wps_word.JudgementWpsWordService;
|
||||
@@ -48,28 +49,34 @@ public class AutoToolsController {
|
||||
@Resource
|
||||
private JudgementWpsExcelService judgementWpsExcelService;
|
||||
@Resource
|
||||
private JudgementService judgementService;
|
||||
@Resource
|
||||
IExamQuestionService examQuestionService;
|
||||
|
||||
@GetMapping("/get")
|
||||
public CommonResult<BigDecimal> get(StuPaperReqVo stuPaperReqVo) throws Exception {
|
||||
return autoToolsService.judgementScore(stuPaperReqVo.getStuId(),stuPaperReqVo.getPaperId());
|
||||
}
|
||||
// @GetMapping("/getTest")
|
||||
// public double gets(StuPaperReqVo stuPaperReqVo) throws Exception {
|
||||
// ExamQuestion examQuestion = examQuestionService.selectExamQuestionByQuId(stuPaperReqVo.getPaperId());
|
||||
// return judgementWpsWordService.judgementWpsWord(15.0, "D:\\", "D:\\stu\\wps_word\\9f7d8f5d7c68cc2bfd03a23c19045efe7ba13a4bebeb833abece146908bcd0c6.docx", examQuestion);
|
||||
// }
|
||||
// @GetMapping("/getTests")
|
||||
// public double getss(StuPaperReqVo stuPaperReqVo) throws Exception {
|
||||
// ExamQuestion examQuestion = examQuestionService.selectExamQuestionByQuId(stuPaperReqVo.getPaperId());
|
||||
// return judgementWpsPptxService.judgementWpsPptx(15.0, "D:\\", "D:\\文档.pptx", examQuestion);
|
||||
// }
|
||||
// @GetMapping("/getTestss")
|
||||
// public double getsss(StuPaperReqVo stuPaperReqVo) throws Exception {
|
||||
// ExamQuestion examQuestion = examQuestionService.selectExamQuestionByQuId(stuPaperReqVo.getPaperId());
|
||||
// return judgementWpsExcelService.judgementWpsXlsx(15.0, "D:\\", "D:\\文档.xlsx", examQuestion);
|
||||
// }
|
||||
@GetMapping("/getTest")
|
||||
public double gets(StuPaperReqVo stuPaperReqVo) throws Exception {
|
||||
ExamQuestion examQuestion = examQuestionService.selectExamQuestionByQuId(stuPaperReqVo.getPaperId());
|
||||
return judgementWpsWordService.judgementWpsWord(15.0, "D:\\", "D:\\stu\\wps_word\\9f7d8f5d7c68cc2bfd03a23c19045efe7ba13a4bebeb833abece146908bcd0c6.docx", examQuestion);
|
||||
return judgementService.ProgrammingC(15.0, "D:\\", "C语言编程题.c", examQuestion);
|
||||
}
|
||||
@GetMapping("/getTests")
|
||||
public double getss(StuPaperReqVo stuPaperReqVo) throws Exception {
|
||||
ExamQuestion examQuestion = examQuestionService.selectExamQuestionByQuId(stuPaperReqVo.getPaperId());
|
||||
return judgementWpsPptxService.judgementWpsPptx(15.0, "D:\\", "D:\\文档.pptx", examQuestion);
|
||||
}
|
||||
@GetMapping("/getTestss")
|
||||
public double getsss(StuPaperReqVo stuPaperReqVo) throws Exception {
|
||||
ExamQuestion examQuestion = examQuestionService.selectExamQuestionByQuId(stuPaperReqVo.getPaperId());
|
||||
return judgementWpsExcelService.judgementWpsXlsx(15.0, "D:\\", "D:\\文档.xlsx", examQuestion);
|
||||
}
|
||||
|
||||
@GetMapping("/getStuScoreInfo")
|
||||
@Operation(summary = "通过学生ID、试卷ID获取")
|
||||
public CommonResult<StuPaperScoreInfoVo> getStuScore(StuPaperReqVo stuPaperReqVo){
|
||||
|
@@ -326,31 +326,31 @@ public class AutoToolsServiceImpl implements AutoToolsService{
|
||||
System.out.println(wps_word_score+"wps_word得分");
|
||||
break;
|
||||
}
|
||||
// if ("演示".equals(one_file.getName().split("\\.")[0])) {
|
||||
// double wps_pptx_score = judgementWpsPptxService.judgementWpsPptx(15.0, one_file.getPath(), file_one.getPath(), examQuestion);
|
||||
// score += wps_pptx_score;
|
||||
// stuPaperScoreDO.setScore(new BigDecimal(wps_pptx_score));
|
||||
// // 原始正确分数
|
||||
// stuPaperScoreDO.setTrueScore(new BigDecimal("15.0"));
|
||||
// // 判断题是否正确
|
||||
// if (wps_pptx_score == 15.0) {
|
||||
// stuPaperScoreDO.setIsTrue(0);
|
||||
// } else if (wps_pptx_score == 0) {
|
||||
// stuPaperScoreDO.setIsTrue(1);
|
||||
// } else {
|
||||
// stuPaperScoreDO.setIsTrue(2);
|
||||
// }
|
||||
// stuPaperScoreDO.setSubjectName(examQuestion.getSubjectName());
|
||||
// if (isNull) {
|
||||
// // 如果之前没做过,则插入该题的分数
|
||||
// stuPaperScoreService.insertStuPaperScore(stuPaperScoreDO);
|
||||
// } else {
|
||||
// // 如果之前做过,则更新该题的分数
|
||||
// stuPaperScoreService.updateStuPaperScore(stuPaperScoreDO);
|
||||
// }
|
||||
// System.out.println(wps_pptx_score+"wps_ppt得分");
|
||||
// break;
|
||||
// }
|
||||
if ("演示".equals(one_file.getName().split("\\.")[0])) {
|
||||
double wps_pptx_score = judgementWpsPptxService.judgementWpsPptx(15.0, one_file.getPath(), file_one.getPath(), examQuestion);
|
||||
score += wps_pptx_score;
|
||||
stuPaperScoreDO.setScore(new BigDecimal(wps_pptx_score));
|
||||
// 原始正确分数
|
||||
stuPaperScoreDO.setTrueScore(new BigDecimal("15.0"));
|
||||
// 判断题是否正确
|
||||
if (wps_pptx_score == 15.0) {
|
||||
stuPaperScoreDO.setIsTrue(0);
|
||||
} else if (wps_pptx_score == 0) {
|
||||
stuPaperScoreDO.setIsTrue(1);
|
||||
} else {
|
||||
stuPaperScoreDO.setIsTrue(2);
|
||||
}
|
||||
stuPaperScoreDO.setSubjectName(examQuestion.getSubjectName());
|
||||
if (isNull) {
|
||||
// 如果之前没做过,则插入该题的分数
|
||||
stuPaperScoreService.insertStuPaperScore(stuPaperScoreDO);
|
||||
} else {
|
||||
// 如果之前做过,则更新该题的分数
|
||||
stuPaperScoreService.updateStuPaperScore(stuPaperScoreDO);
|
||||
}
|
||||
System.out.println(wps_pptx_score+"wps_ppt得分");
|
||||
break;
|
||||
}
|
||||
// if ("表格".equals(one_file.getName().split("\\.")[0])) {
|
||||
// double wps_excel_score = judgementWpsExcelService.judgementWpsXlsx(15.0, one_file.getPath(), file_one.getPath(), examQuestion);
|
||||
// score += wps_excel_score;
|
||||
@@ -433,36 +433,35 @@ public class AutoToolsServiceImpl implements AutoToolsService{
|
||||
|
||||
break;
|
||||
}
|
||||
// if ("程序设计".equals(one_file.getName().split("\\.")[0])) {
|
||||
// System.out.println(one_file);
|
||||
// File mysql_file = new File(one_file.getPath());
|
||||
// double judgement = mysqlServerice.Judgement(20.0,mysql_file, examQuestion);
|
||||
// score+=judgement;
|
||||
// stuPaperScoreDO.setScore(new BigDecimal(judgement));
|
||||
// // 原始正确分数
|
||||
// stuPaperScoreDO.setTrueScore(new BigDecimal("15.0"));
|
||||
// // 判断题是否正确
|
||||
// if (judgement == 20.0) {
|
||||
// stuPaperScoreDO.setIsTrue(0);
|
||||
// } else if (judgement == 0) {
|
||||
// stuPaperScoreDO.setIsTrue(1);
|
||||
// } else {
|
||||
// stuPaperScoreDO.setIsTrue(2);
|
||||
// }
|
||||
// stuPaperScoreDO.setSubjectName(examQuestion.getSubjectName());
|
||||
// if (isNull) {
|
||||
// // 如果之前没做过,则插入该题的分数
|
||||
// stuPaperScoreService.insertStuPaperScore(stuPaperScoreDO);
|
||||
// } else {
|
||||
// // 如果之前做过,则更新该题的分数
|
||||
// stuPaperScoreService.updateStuPaperScore(stuPaperScoreDO);
|
||||
// }
|
||||
// System.out.println(judgement+"mysql得分");
|
||||
// break;
|
||||
// }
|
||||
if ("程序设计".equals(one_file.getName().split("\\.")[0])) {
|
||||
System.out.println(one_file);
|
||||
File mysql_file = new File(one_file.getPath());
|
||||
double judgement = mysqlServerice.Judgement(20.0,mysql_file, examQuestion);
|
||||
score+=judgement;
|
||||
stuPaperScoreDO.setScore(new BigDecimal(judgement));
|
||||
// 原始正确分数
|
||||
stuPaperScoreDO.setTrueScore(new BigDecimal("15.0"));
|
||||
// 判断题是否正确
|
||||
if (judgement == 20.0) {
|
||||
stuPaperScoreDO.setIsTrue(0);
|
||||
} else if (judgement == 0) {
|
||||
stuPaperScoreDO.setIsTrue(1);
|
||||
} else {
|
||||
stuPaperScoreDO.setIsTrue(2);
|
||||
}
|
||||
stuPaperScoreDO.setSubjectName(examQuestion.getSubjectName());
|
||||
if (isNull) {
|
||||
// 如果之前没做过,则插入该题的分数
|
||||
stuPaperScoreService.insertStuPaperScore(stuPaperScoreDO);
|
||||
} else {
|
||||
// 如果之前做过,则更新该题的分数
|
||||
stuPaperScoreService.updateStuPaperScore(stuPaperScoreDO);
|
||||
}
|
||||
System.out.println(judgement+"mysql得分");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -70,8 +70,10 @@ public class JudgementCUtils
|
||||
try {
|
||||
boolean hasInput = code.contains("scanf") || code.contains("fgets") || code.contains("getchar");
|
||||
System.out.println(System.getenv("PATH"));
|
||||
String programC = pathC + "/program.c";
|
||||
String programOut = pathC + "/program.out";
|
||||
// String[] programCList = pathC.split("\\\\");
|
||||
|
||||
String programC = pathC + "\\program.c";
|
||||
String programOut = pathC + "\\program.out";
|
||||
// 写入 C 源码到文件
|
||||
File file = new File(programC);
|
||||
try (FileWriter writer = new FileWriter(file)) {
|
||||
|
Reference in New Issue
Block a user