【修改】 文件路径问题

This commit is contained in:
MSI\letre
2025-07-08 00:37:32 +08:00
parent 5267ba5cea
commit 5e71335e68
5 changed files with 215 additions and 201 deletions

View File

@@ -89,7 +89,6 @@ public class AutoForWinEdgeSettingServiceImpl implements AutoForWinEdgeSettingSe
resultFile.add(file); resultFile.add(file);
} }
} }
if (resultFile.size() == 0) return null;
List<String> trueFileQuid = new ArrayList<>(); List<String> trueFileQuid = new ArrayList<>();
List<String> noFileQuid = new ArrayList<>(); List<String> noFileQuid = new ArrayList<>();
// 开始读取文件并进行拆分 // 开始读取文件并进行拆分
@@ -259,7 +258,7 @@ public class AutoForWinEdgeSettingServiceImpl implements AutoForWinEdgeSettingSe
insertInfo.setContent(judgementStr); insertInfo.setContent(judgementStr);
insertInfo.setSort(educationPaperQu.getSort()); insertInfo.setSort(educationPaperQu.getSort());
insertInfo.setSubjectName("windows网络设置"); insertInfo.setSubjectName("windows网络设置");
stuPaperScoreDO.setIsTrue(1); insertInfo.setIsTrue(1);
insertInfo.setTenantId(systemTenant.getId()); insertInfo.setTenantId(systemTenant.getId());
insertInfo.setTrueScore(new BigDecimal(quScore)); insertInfo.setTrueScore(new BigDecimal(quScore));
stuPaperScoreService.insertStuPaperScore(insertInfo); stuPaperScoreService.insertStuPaperScore(insertInfo);

View File

@@ -52,7 +52,8 @@ public class AutoForCServiceImpl implements AutoForCService {
File csFiles = new File(file.getPath()); File csFiles = new File(file.getPath());
String quId = csFiles.getName(); String quId = csFiles.getName();
File[] csFileList = csFiles.listFiles(); File[] csFileList = csFiles.listFiles();
String name = csFileList[0].getName(); for (File csFile : csFileList) {
String name = csFile.getName();
if ("编程题".equals(name)) { if ("编程题".equals(name)) {
File[] cs_file_list = csFiles.listFiles(); File[] cs_file_list = csFiles.listFiles();
String lastFilePath = cs_file_list[0].getPath(); String lastFilePath = cs_file_list[0].getPath();
@@ -73,18 +74,19 @@ public class AutoForCServiceImpl implements AutoForCService {
judgementStr += "<p>试题名称:" + name + "</p>"; judgementStr += "<p>试题名称:" + name + "</p>";
SourceAndText cpojo = judgementService.ProgrammingC(Double.parseDouble(quScore), lastFilePath, lastFile.getName(), examQuestion, judgementStr); SourceAndText cpojo = judgementService.ProgrammingC(Double.parseDouble(quScore), lastFilePath, lastFile.getName(), examQuestion, judgementStr);
judgementStr = cpojo.getText(); judgementStr = cpojo.getText();
judgementStr += "<p>试题得分:" + cpojo.getScore() + "</p>"; BigDecimal dangSource = new BigDecimal(cpojo.getScore()).setScale(1, BigDecimal.ROUND_HALF_UP);
judgementStr += "<p>试题得分:" + dangSource + "</p>";
// 4、需要更新学生试题得分首先需要查询试题的数据库是否保存信息 // 4、需要更新学生试题得分首先需要查询试题的数据库是否保存信息
// 通过 quIdstuIdpaperId 查询 // 通过 quIdstuIdpaperId 查询
StuPaperScoreDO stuPaperScoreDO = stuPaperScoreService.getStuScoreByPaperIdAndQuid(stuInfoVo.getStuId(), stuInfoVo.getPaperId(), quId); StuPaperScoreDO stuPaperScoreDO = stuPaperScoreService.getStuScoreByPaperIdAndQuid(stuInfoVo.getStuId(), stuInfoVo.getPaperId(), quId);
score = score.add(new BigDecimal(cpojo.getScore()).setScale(1, BigDecimal.ROUND_HALF_UP)); score = score.add(new BigDecimal(cpojo.getScore()).setScale(1, BigDecimal.ROUND_HALF_UP));
if (stuPaperScoreDO != null) { if (stuPaperScoreDO != null) {
// 说明已经是做过该题,需要更新数据 // 说明已经是做过该题,需要更新数据
stuPaperScoreDO.setScore(new BigDecimal(cpojo.getScore()).setScale(1, BigDecimal.ROUND_HALF_UP)); stuPaperScoreDO.setScore(dangSource);
stuPaperScoreDO.setContent(judgementStr); stuPaperScoreDO.setContent(judgementStr);
stuPaperScoreDO.setSort(educationPaperQu.getSort()); stuPaperScoreDO.setSort(educationPaperQu.getSort());
stuPaperScoreDO.setSubjectName(name); stuPaperScoreDO.setSubjectName(name);
stuPaperScoreDO.setIsTrue(cpojo.getScore() == 0 ? 1 : cpojo.getScore() == Double.parseDouble(quScore) ? 0 : 2); stuPaperScoreDO.setIsTrue(cpojo.getScore() == 0 ? 1 : cpojo.getScore() >= Double.parseDouble(quScore) ? 0 : 2);
stuPaperScoreDO.setTrueScore(new BigDecimal(quScore)); stuPaperScoreDO.setTrueScore(new BigDecimal(quScore));
stuPaperScoreDO.setTenantId(systemTenant.getId()); stuPaperScoreDO.setTenantId(systemTenant.getId());
stuPaperScoreService.updateStuPaperScore(stuPaperScoreDO); stuPaperScoreService.updateStuPaperScore(stuPaperScoreDO);
@@ -93,19 +95,21 @@ public class AutoForCServiceImpl implements AutoForCService {
insertInfo.setStuId(stuInfoVo.getStuId()); insertInfo.setStuId(stuInfoVo.getStuId());
insertInfo.setPaperId(stuInfoVo.getPaperId()); insertInfo.setPaperId(stuInfoVo.getPaperId());
insertInfo.setQuId(quId); insertInfo.setQuId(quId);
insertInfo.setScore(new BigDecimal(cpojo.getScore()).setScale(1, BigDecimal.ROUND_HALF_UP)); insertInfo.setScore(dangSource);
insertInfo.setContent(judgementStr); insertInfo.setContent(judgementStr);
insertInfo.setSort(educationPaperQu.getSort()); insertInfo.setSort(educationPaperQu.getSort());
insertInfo.setSubjectName(name); insertInfo.setSubjectName(name);
insertInfo.setTrueScore(new BigDecimal(quScore)); insertInfo.setTrueScore(new BigDecimal(quScore));
insertInfo.setTenantId(systemTenant.getId()); insertInfo.setTenantId(systemTenant.getId());
insertInfo.setIsTrue(cpojo.getScore() == 0 ? 1 : cpojo.getScore() == Double.parseDouble(quScore) ? 0 : 2); insertInfo.setIsTrue(cpojo.getScore() == 0 ? 1 : cpojo.getScore() >= Double.parseDouble(quScore) ? 0 : 2);
stuPaperScoreService.insertStuPaperScore(insertInfo); stuPaperScoreService.insertStuPaperScore(insertInfo);
} }
break; break;
} }
} }
} }
}
return score; return score;
} }
} }

View File

@@ -56,7 +56,9 @@ public class JudgementForExcelServiceImpl implements JudgementForExcelService {
File csFiles = new File(file.getPath()); File csFiles = new File(file.getPath());
String quId = csFiles.getName(); String quId = csFiles.getName();
File[] csFileList = csFiles.listFiles(); File[] csFileList = csFiles.listFiles();
String name = csFileList[0].getName();
for (File csFile : csFileList) {
String name = csFile.getName();
if ("表格".equals(name)) { if ("表格".equals(name)) {
File[] cs_file_list = csFiles.listFiles(); File[] cs_file_list = csFiles.listFiles();
String lastFilePath = cs_file_list[0].getPath(); String lastFilePath = cs_file_list[0].getPath();
@@ -79,17 +81,18 @@ public class JudgementForExcelServiceImpl implements JudgementForExcelService {
SourceAndText excelpojo = judgementWpsExcelService.judgementWpsXlsx(Double.parseDouble(quScore), lastFilePath, lastFile.getPath(), examQuestion, judgementStr); SourceAndText excelpojo = judgementWpsExcelService.judgementWpsXlsx(Double.parseDouble(quScore), lastFilePath, lastFile.getPath(), examQuestion, judgementStr);
score = score.add(new BigDecimal(excelpojo.getScore()).setScale(1, BigDecimal.ROUND_HALF_UP)); score = score.add(new BigDecimal(excelpojo.getScore()).setScale(1, BigDecimal.ROUND_HALF_UP));
judgementStr = excelpojo.getText(); judgementStr = excelpojo.getText();
judgementStr += "<p>试题得分:" + excelpojo.getScore() + "</p>"; BigDecimal dangSource = new BigDecimal(excelpojo.getScore()).setScale(1, BigDecimal.ROUND_HALF_UP);
judgementStr += "<p>试题得分:" + dangSource + "</p>";
// 4、需要更新学生试题得分首先需要查询试题的数据库是否保存信息 // 4、需要更新学生试题得分首先需要查询试题的数据库是否保存信息
// 通过 quIdstuIdpaperId 查询 // 通过 quIdstuIdpaperId 查询
StuPaperScoreDO stuPaperScoreDO = stuPaperScoreService.getStuScoreByPaperIdAndQuid(stuInfoVo.getStuId(), stuInfoVo.getPaperId(), quId); StuPaperScoreDO stuPaperScoreDO = stuPaperScoreService.getStuScoreByPaperIdAndQuid(stuInfoVo.getStuId(), stuInfoVo.getPaperId(), quId);
if (stuPaperScoreDO != null) { if (stuPaperScoreDO != null) {
// 说明已经是做过该题,需要更新数据 // 说明已经是做过该题,需要更新数据
stuPaperScoreDO.setScore(new BigDecimal(excelpojo.getScore()).setScale(1, BigDecimal.ROUND_HALF_UP)); stuPaperScoreDO.setScore(dangSource);
stuPaperScoreDO.setContent(judgementStr); stuPaperScoreDO.setContent(judgementStr);
stuPaperScoreDO.setSort(educationPaperQu.getSort()); stuPaperScoreDO.setSort(educationPaperQu.getSort());
stuPaperScoreDO.setSubjectName(name); stuPaperScoreDO.setSubjectName(name);
stuPaperScoreDO.setIsTrue(excelpojo.getScore() == 0 ? 1 : excelpojo.getScore() == Double.parseDouble(quScore) ? 0 : 2); stuPaperScoreDO.setIsTrue(excelpojo.getScore() == 0 ? 1 : excelpojo.getScore() >= Double.parseDouble(quScore) ? 0 : 2);
stuPaperScoreDO.setTrueScore(new BigDecimal(quScore)); stuPaperScoreDO.setTrueScore(new BigDecimal(quScore));
stuPaperScoreDO.setTenantId(systemTenant.getId()); stuPaperScoreDO.setTenantId(systemTenant.getId());
stuPaperScoreService.updateStuPaperScore(stuPaperScoreDO); stuPaperScoreService.updateStuPaperScore(stuPaperScoreDO);
@@ -98,13 +101,13 @@ public class JudgementForExcelServiceImpl implements JudgementForExcelService {
insertInfo.setStuId(stuInfoVo.getStuId()); insertInfo.setStuId(stuInfoVo.getStuId());
insertInfo.setPaperId(stuInfoVo.getPaperId()); insertInfo.setPaperId(stuInfoVo.getPaperId());
insertInfo.setQuId(quId); insertInfo.setQuId(quId);
insertInfo.setScore(new BigDecimal(excelpojo.getScore()).setScale(1, BigDecimal.ROUND_HALF_UP)); insertInfo.setScore(dangSource);
insertInfo.setContent(judgementStr); insertInfo.setContent(judgementStr);
insertInfo.setSort(educationPaperQu.getSort()); insertInfo.setSort(educationPaperQu.getSort());
insertInfo.setSubjectName(name); insertInfo.setSubjectName(name);
insertInfo.setTrueScore(new BigDecimal(quScore)); insertInfo.setTrueScore(new BigDecimal(quScore));
insertInfo.setTenantId(systemTenant.getId()); insertInfo.setTenantId(systemTenant.getId());
insertInfo.setIsTrue(excelpojo.getScore() == 0 ? 1 : excelpojo.getScore() == Double.parseDouble(quScore) ? 0 : 2); insertInfo.setIsTrue(excelpojo.getScore() == 0 ? 1 : excelpojo.getScore() >= Double.parseDouble(quScore) ? 0 : 2);
stuPaperScoreService.insertStuPaperScore(insertInfo); stuPaperScoreService.insertStuPaperScore(insertInfo);
} }
break; break;
@@ -112,6 +115,7 @@ public class JudgementForExcelServiceImpl implements JudgementForExcelService {
} }
} }
} }
}
return score; return score;
} }
} }

View File

@@ -57,7 +57,8 @@ public class JudgementForPptxServiceImpl implements JudgementForPptxService {
File csFiles = new File(file.getPath()); File csFiles = new File(file.getPath());
String quId = csFiles.getName(); String quId = csFiles.getName();
File[] csFileList = csFiles.listFiles(); File[] csFileList = csFiles.listFiles();
String name = csFileList[0].getName(); for (File csFile : csFileList) {
String name = csFile.getName();
if ("演示".equals(name)) { if ("演示".equals(name)) {
File[] cs_file_list = csFiles.listFiles(); File[] cs_file_list = csFiles.listFiles();
String lastFilePath = cs_file_list[0].getPath(); String lastFilePath = cs_file_list[0].getPath();
@@ -80,17 +81,18 @@ public class JudgementForPptxServiceImpl implements JudgementForPptxService {
SourceAndText pptxpojo = judgementWpsPptxService.judgementWpsPptx(Double.parseDouble(quScore), lastFilePath, lastFile.getPath(), examQuestion, judgementStr); SourceAndText pptxpojo = judgementWpsPptxService.judgementWpsPptx(Double.parseDouble(quScore), lastFilePath, lastFile.getPath(), examQuestion, judgementStr);
score = score.add(new BigDecimal(pptxpojo.getScore()).setScale(1, BigDecimal.ROUND_HALF_UP)); score = score.add(new BigDecimal(pptxpojo.getScore()).setScale(1, BigDecimal.ROUND_HALF_UP));
judgementStr = pptxpojo.getText(); judgementStr = pptxpojo.getText();
judgementStr += "<p>试题得分:" + pptxpojo.getScore() + "</p>"; BigDecimal dangSource = new BigDecimal(pptxpojo.getScore()).setScale(1, BigDecimal.ROUND_HALF_UP);
judgementStr += "<p>试题得分:" + dangSource + "</p>";
// 4、需要更新学生试题得分首先需要查询试题的数据库是否保存信息 // 4、需要更新学生试题得分首先需要查询试题的数据库是否保存信息
// 通过 quIdstuIdpaperId 查询 // 通过 quIdstuIdpaperId 查询
StuPaperScoreDO stuPaperScoreDO = stuPaperScoreService.getStuScoreByPaperIdAndQuid(stuInfoVo.getStuId(), stuInfoVo.getPaperId(), quId); StuPaperScoreDO stuPaperScoreDO = stuPaperScoreService.getStuScoreByPaperIdAndQuid(stuInfoVo.getStuId(), stuInfoVo.getPaperId(), quId);
if (stuPaperScoreDO != null) { if (stuPaperScoreDO != null) {
// 说明已经是做过该题,需要更新数据 // 说明已经是做过该题,需要更新数据
stuPaperScoreDO.setScore(new BigDecimal(pptxpojo.getScore()).setScale(1, BigDecimal.ROUND_HALF_UP)); stuPaperScoreDO.setScore(dangSource);
stuPaperScoreDO.setContent(judgementStr); stuPaperScoreDO.setContent(judgementStr);
stuPaperScoreDO.setSort(educationPaperQu.getSort()); stuPaperScoreDO.setSort(educationPaperQu.getSort());
stuPaperScoreDO.setSubjectName(name); stuPaperScoreDO.setSubjectName(name);
stuPaperScoreDO.setIsTrue(pptxpojo.getScore() == 0 ? 1 : pptxpojo.getScore() == Double.parseDouble(quScore) ? 0 : 2); stuPaperScoreDO.setIsTrue(pptxpojo.getScore() == 0 ? 1 : pptxpojo.getScore() >= Double.parseDouble(quScore) ? 0 : 2);
stuPaperScoreDO.setTrueScore(new BigDecimal(quScore)); stuPaperScoreDO.setTrueScore(new BigDecimal(quScore));
stuPaperScoreDO.setTenantId(systemTenant.getId()); stuPaperScoreDO.setTenantId(systemTenant.getId());
stuPaperScoreService.updateStuPaperScore(stuPaperScoreDO); stuPaperScoreService.updateStuPaperScore(stuPaperScoreDO);
@@ -99,13 +101,13 @@ public class JudgementForPptxServiceImpl implements JudgementForPptxService {
insertInfo.setStuId(stuInfoVo.getStuId()); insertInfo.setStuId(stuInfoVo.getStuId());
insertInfo.setPaperId(stuInfoVo.getPaperId()); insertInfo.setPaperId(stuInfoVo.getPaperId());
insertInfo.setQuId(quId); insertInfo.setQuId(quId);
insertInfo.setScore(new BigDecimal(pptxpojo.getScore()).setScale(1, BigDecimal.ROUND_HALF_UP)); insertInfo.setScore(dangSource);
insertInfo.setContent(judgementStr); insertInfo.setContent(judgementStr);
insertInfo.setSort(educationPaperQu.getSort()); insertInfo.setSort(educationPaperQu.getSort());
insertInfo.setSubjectName(name); insertInfo.setSubjectName(name);
insertInfo.setTrueScore(new BigDecimal(quScore)); insertInfo.setTrueScore(new BigDecimal(quScore));
insertInfo.setTenantId(systemTenant.getId()); insertInfo.setTenantId(systemTenant.getId());
insertInfo.setIsTrue(pptxpojo.getScore() == 0 ? 1 : pptxpojo.getScore() == Double.parseDouble(quScore) ? 0 : 2); insertInfo.setIsTrue(pptxpojo.getScore() == 0 ? 1 : pptxpojo.getScore() >= Double.parseDouble(quScore) ? 0 : 2);
stuPaperScoreService.insertStuPaperScore(insertInfo); stuPaperScoreService.insertStuPaperScore(insertInfo);
} }
break; break;
@@ -113,6 +115,7 @@ public class JudgementForPptxServiceImpl implements JudgementForPptxService {
} }
} }
} }
}
return score; return score;
} }
} }

View File

@@ -54,7 +54,8 @@ public class JudgementForWordServiceImpl implements JudgementForWordService {
File csFiles = new File(file.getPath()); File csFiles = new File(file.getPath());
String quId = csFiles.getName(); String quId = csFiles.getName();
File[] csFileList = csFiles.listFiles(); File[] csFileList = csFiles.listFiles();
String name = csFileList[0].getName(); for (File csFile : csFileList) {
String name = csFile.getName();
if ("文字".equals(name)) { if ("文字".equals(name)) {
File[] cs_file_list = csFiles.listFiles(); File[] cs_file_list = csFiles.listFiles();
String lastFilePath = cs_file_list[0].getPath(); String lastFilePath = cs_file_list[0].getPath();
@@ -77,17 +78,18 @@ public class JudgementForWordServiceImpl implements JudgementForWordService {
SourceAndText wordpojo = judgementWpsWordService.judgementWpsWord(Double.parseDouble(quScore), lastFilePath, lastFile.getPath(), examQuestion, judgementStr); SourceAndText wordpojo = judgementWpsWordService.judgementWpsWord(Double.parseDouble(quScore), lastFilePath, lastFile.getPath(), examQuestion, judgementStr);
score = score.add(new BigDecimal(wordpojo.getScore()).setScale(1, BigDecimal.ROUND_HALF_UP)); score = score.add(new BigDecimal(wordpojo.getScore()).setScale(1, BigDecimal.ROUND_HALF_UP));
judgementStr = wordpojo.getText(); judgementStr = wordpojo.getText();
judgementStr += "<p>试题得分:" + wordpojo.getScore() + "</p>"; BigDecimal dangSource = new BigDecimal(wordpojo.getScore()).setScale(1, BigDecimal.ROUND_HALF_UP);
judgementStr += "<p>试题得分:" + dangSource + "</p>";
// 4、需要更新学生试题得分首先需要查询试题的数据库是否保存信息 // 4、需要更新学生试题得分首先需要查询试题的数据库是否保存信息
// 通过 quIdstuIdpaperId 查询 // 通过 quIdstuIdpaperId 查询
StuPaperScoreDO stuPaperScoreDO = stuPaperScoreService.getStuScoreByPaperIdAndQuid(stuInfoVo.getStuId(), stuInfoVo.getPaperId(), quId); StuPaperScoreDO stuPaperScoreDO = stuPaperScoreService.getStuScoreByPaperIdAndQuid(stuInfoVo.getStuId(), stuInfoVo.getPaperId(), quId);
if (stuPaperScoreDO != null) { if (stuPaperScoreDO != null) {
// 说明已经是做过该题,需要更新数据 // 说明已经是做过该题,需要更新数据
stuPaperScoreDO.setScore(new BigDecimal(wordpojo.getScore()).setScale(1, BigDecimal.ROUND_HALF_UP)); stuPaperScoreDO.setScore(dangSource);
stuPaperScoreDO.setContent(judgementStr); stuPaperScoreDO.setContent(judgementStr);
stuPaperScoreDO.setSort(educationPaperQu.getSort()); stuPaperScoreDO.setSort(educationPaperQu.getSort());
stuPaperScoreDO.setSubjectName(name); stuPaperScoreDO.setSubjectName(name);
stuPaperScoreDO.setIsTrue(wordpojo.getScore() == 0 ? 1 : wordpojo.getScore() == Double.parseDouble(quScore) ? 0 : 2); stuPaperScoreDO.setIsTrue(wordpojo.getScore() == 0 ? 1 : wordpojo.getScore() >= Double.parseDouble(quScore) ? 0 : 2);
stuPaperScoreDO.setTrueScore(new BigDecimal(quScore)); stuPaperScoreDO.setTrueScore(new BigDecimal(quScore));
stuPaperScoreDO.setTenantId(systemTenant.getId()); stuPaperScoreDO.setTenantId(systemTenant.getId());
stuPaperScoreService.updateStuPaperScore(stuPaperScoreDO); stuPaperScoreService.updateStuPaperScore(stuPaperScoreDO);
@@ -96,13 +98,13 @@ public class JudgementForWordServiceImpl implements JudgementForWordService {
insertInfo.setStuId(stuInfoVo.getStuId()); insertInfo.setStuId(stuInfoVo.getStuId());
insertInfo.setPaperId(stuInfoVo.getPaperId()); insertInfo.setPaperId(stuInfoVo.getPaperId());
insertInfo.setQuId(quId); insertInfo.setQuId(quId);
insertInfo.setScore(new BigDecimal(wordpojo.getScore()).setScale(1, BigDecimal.ROUND_HALF_UP)); insertInfo.setScore(dangSource);
insertInfo.setContent(judgementStr); insertInfo.setContent(judgementStr);
insertInfo.setSort(educationPaperQu.getSort()); insertInfo.setSort(educationPaperQu.getSort());
insertInfo.setSubjectName(name); insertInfo.setSubjectName(name);
insertInfo.setTrueScore(new BigDecimal(quScore)); insertInfo.setTrueScore(new BigDecimal(quScore));
insertInfo.setTenantId(systemTenant.getId()); insertInfo.setTenantId(systemTenant.getId());
insertInfo.setIsTrue(wordpojo.getScore() == 0 ? 1 : wordpojo.getScore() == Double.parseDouble(quScore) ? 0 : 2); insertInfo.setIsTrue(wordpojo.getScore() == 0 ? 1 : wordpojo.getScore() >= Double.parseDouble(quScore) ? 0 : 2);
stuPaperScoreService.insertStuPaperScore(insertInfo); stuPaperScoreService.insertStuPaperScore(insertInfo);
} }
break; break;
@@ -110,6 +112,8 @@ public class JudgementForWordServiceImpl implements JudgementForWordService {
} }
} }
} }
}
return score; return score;
} }
} }