【修改】 判分逻辑稍微优化

This commit is contained in:
DESKTOP-932OMT8\REN
2025-05-29 16:06:19 +08:00
parent 993e4c56c1
commit 06054139c7
3 changed files with 76 additions and 68 deletions

View File

@@ -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.StuPaperReqVo;
import pc.exam.pp.module.judgement.controller.admin.autoTools.vo.StuPaperScoreInfoVo; 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.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_excel.JudgementWpsExcelService;
import pc.exam.pp.module.judgement.service.wps_pptx.JudgementWpsPptxService; import pc.exam.pp.module.judgement.service.wps_pptx.JudgementWpsPptxService;
import pc.exam.pp.module.judgement.service.wps_word.JudgementWpsWordService; import pc.exam.pp.module.judgement.service.wps_word.JudgementWpsWordService;
@@ -48,28 +49,34 @@ public class AutoToolsController {
@Resource @Resource
private JudgementWpsExcelService judgementWpsExcelService; private JudgementWpsExcelService judgementWpsExcelService;
@Resource @Resource
private JudgementService judgementService;
@Resource
IExamQuestionService examQuestionService; IExamQuestionService examQuestionService;
@GetMapping("/get") @GetMapping("/get")
public CommonResult<BigDecimal> get(StuPaperReqVo stuPaperReqVo) throws Exception { public CommonResult<BigDecimal> get(StuPaperReqVo stuPaperReqVo) throws Exception {
return autoToolsService.judgementScore(stuPaperReqVo.getStuId(),stuPaperReqVo.getPaperId()); 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") @GetMapping("/getTest")
public double gets(StuPaperReqVo stuPaperReqVo) throws Exception { public double gets(StuPaperReqVo stuPaperReqVo) throws Exception {
ExamQuestion examQuestion = examQuestionService.selectExamQuestionByQuId(stuPaperReqVo.getPaperId()); 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") @GetMapping("/getStuScoreInfo")
@Operation(summary = "通过学生ID、试卷ID获取") @Operation(summary = "通过学生ID、试卷ID获取")
public CommonResult<StuPaperScoreInfoVo> getStuScore(StuPaperReqVo stuPaperReqVo){ public CommonResult<StuPaperScoreInfoVo> getStuScore(StuPaperReqVo stuPaperReqVo){

View File

@@ -326,31 +326,31 @@ public class AutoToolsServiceImpl implements AutoToolsService{
System.out.println(wps_word_score+"wps_word得分"); System.out.println(wps_word_score+"wps_word得分");
break; break;
} }
// if ("演示".equals(one_file.getName().split("\\.")[0])) { if ("演示".equals(one_file.getName().split("\\.")[0])) {
// double wps_pptx_score = judgementWpsPptxService.judgementWpsPptx(15.0, one_file.getPath(), file_one.getPath(), examQuestion); double wps_pptx_score = judgementWpsPptxService.judgementWpsPptx(15.0, one_file.getPath(), file_one.getPath(), examQuestion);
// score += wps_pptx_score; score += wps_pptx_score;
// stuPaperScoreDO.setScore(new BigDecimal(wps_pptx_score)); stuPaperScoreDO.setScore(new BigDecimal(wps_pptx_score));
// // 原始正确分数 // 原始正确分数
// stuPaperScoreDO.setTrueScore(new BigDecimal("15.0")); stuPaperScoreDO.setTrueScore(new BigDecimal("15.0"));
// // 判断题是否正确 // 判断题是否正确
// if (wps_pptx_score == 15.0) { if (wps_pptx_score == 15.0) {
// stuPaperScoreDO.setIsTrue(0); stuPaperScoreDO.setIsTrue(0);
// } else if (wps_pptx_score == 0) { } else if (wps_pptx_score == 0) {
// stuPaperScoreDO.setIsTrue(1); stuPaperScoreDO.setIsTrue(1);
// } else { } else {
// stuPaperScoreDO.setIsTrue(2); stuPaperScoreDO.setIsTrue(2);
// } }
// stuPaperScoreDO.setSubjectName(examQuestion.getSubjectName()); stuPaperScoreDO.setSubjectName(examQuestion.getSubjectName());
// if (isNull) { if (isNull) {
// // 如果之前没做过,则插入该题的分数 // 如果之前没做过,则插入该题的分数
// stuPaperScoreService.insertStuPaperScore(stuPaperScoreDO); stuPaperScoreService.insertStuPaperScore(stuPaperScoreDO);
// } else { } else {
// // 如果之前做过,则更新该题的分数 // 如果之前做过,则更新该题的分数
// stuPaperScoreService.updateStuPaperScore(stuPaperScoreDO); stuPaperScoreService.updateStuPaperScore(stuPaperScoreDO);
// } }
// System.out.println(wps_pptx_score+"wps_ppt得分"); System.out.println(wps_pptx_score+"wps_ppt得分");
// break; break;
// } }
// if ("表格".equals(one_file.getName().split("\\.")[0])) { // if ("表格".equals(one_file.getName().split("\\.")[0])) {
// double wps_excel_score = judgementWpsExcelService.judgementWpsXlsx(15.0, one_file.getPath(), file_one.getPath(), examQuestion); // double wps_excel_score = judgementWpsExcelService.judgementWpsXlsx(15.0, one_file.getPath(), file_one.getPath(), examQuestion);
// score += wps_excel_score; // score += wps_excel_score;
@@ -433,36 +433,35 @@ public class AutoToolsServiceImpl implements AutoToolsService{
break; break;
} }
// if ("程序设计".equals(one_file.getName().split("\\.")[0])) { if ("程序设计".equals(one_file.getName().split("\\.")[0])) {
// System.out.println(one_file); System.out.println(one_file);
// File mysql_file = new File(one_file.getPath()); File mysql_file = new File(one_file.getPath());
// double judgement = mysqlServerice.Judgement(20.0,mysql_file, examQuestion); double judgement = mysqlServerice.Judgement(20.0,mysql_file, examQuestion);
// score+=judgement; score+=judgement;
// stuPaperScoreDO.setScore(new BigDecimal(judgement)); stuPaperScoreDO.setScore(new BigDecimal(judgement));
// // 原始正确分数 // 原始正确分数
// stuPaperScoreDO.setTrueScore(new BigDecimal("15.0")); stuPaperScoreDO.setTrueScore(new BigDecimal("15.0"));
// // 判断题是否正确 // 判断题是否正确
// if (judgement == 20.0) { if (judgement == 20.0) {
// stuPaperScoreDO.setIsTrue(0); stuPaperScoreDO.setIsTrue(0);
// } else if (judgement == 0) { } else if (judgement == 0) {
// stuPaperScoreDO.setIsTrue(1); stuPaperScoreDO.setIsTrue(1);
// } else { } else {
// stuPaperScoreDO.setIsTrue(2); stuPaperScoreDO.setIsTrue(2);
// } }
// stuPaperScoreDO.setSubjectName(examQuestion.getSubjectName()); stuPaperScoreDO.setSubjectName(examQuestion.getSubjectName());
// if (isNull) { if (isNull) {
// // 如果之前没做过,则插入该题的分数 // 如果之前没做过,则插入该题的分数
// stuPaperScoreService.insertStuPaperScore(stuPaperScoreDO); stuPaperScoreService.insertStuPaperScore(stuPaperScoreDO);
// } else { } else {
// // 如果之前做过,则更新该题的分数 // 如果之前做过,则更新该题的分数
// stuPaperScoreService.updateStuPaperScore(stuPaperScoreDO); stuPaperScoreService.updateStuPaperScore(stuPaperScoreDO);
// } }
// System.out.println(judgement+"mysql得分"); System.out.println(judgement+"mysql得分");
// break; break;
// } }
} }
} }
} }
} }
} }

View File

@@ -70,8 +70,10 @@ public class JudgementCUtils
try { try {
boolean hasInput = code.contains("scanf") || code.contains("fgets") || code.contains("getchar"); boolean hasInput = code.contains("scanf") || code.contains("fgets") || code.contains("getchar");
System.out.println(System.getenv("PATH")); System.out.println(System.getenv("PATH"));
String programC = pathC + "/program.c"; // String[] programCList = pathC.split("\\\\");
String programOut = pathC + "/program.out";
String programC = pathC + "\\program.c";
String programOut = pathC + "\\program.out";
// 写入 C 源码到文件 // 写入 C 源码到文件
File file = new File(programC); File file = new File(programC);
try (FileWriter writer = new FileWriter(file)) { try (FileWriter writer = new FileWriter(file)) {