【修改】 文件路径问题

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,59 +52,63 @@ 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) {
if ("编程题".equals(name)) { String name = csFile.getName();
File[] cs_file_list = csFiles.listFiles(); if ("编程题".equals(name)) {
String lastFilePath = cs_file_list[0].getPath(); File[] cs_file_list = csFiles.listFiles();
File[] lastFiles = cs_file_list[0].listFiles(); String lastFilePath = cs_file_list[0].getPath();
// 3、根据题号进行查询试题的相关信息 File[] lastFiles = cs_file_list[0].listFiles();
Optional<EducationPaperScheme> result = educationPaperSchemeList.stream().filter(quLists -> quLists.getSpName().equals(name)).findFirst(); // 3、根据题号进行查询试题的相关信息
Optional<EducationPaperQu> results = educationPaperQus.stream().filter(quLists -> quLists.getQuId().equals(quId)).findFirst(); Optional<EducationPaperScheme> result = educationPaperSchemeList.stream().filter(quLists -> quLists.getSpName().equals(name)).findFirst();
Optional<EducationPaperQu> results = educationPaperQus.stream().filter(quLists -> quLists.getQuId().equals(quId)).findFirst();
EducationPaperScheme educationPaperScheme = result.get(); EducationPaperScheme educationPaperScheme = result.get();
EducationPaperQu educationPaperQu = results.get(); EducationPaperQu educationPaperQu = results.get();
String quScore = educationPaperScheme.getQuScores(); String quScore = educationPaperScheme.getQuScores();
ExamQuestion examQuestion = examQuestionService.selectExamQuestionByQuId(quId); ExamQuestion examQuestion = examQuestionService.selectExamQuestionByQuId(quId);
for (File lastFile : lastFiles) { for (File lastFile : lastFiles) {
String judgementStr = "<p>-----------------------------------------------------------</p>"; String judgementStr = "<p>-----------------------------------------------------------</p>";
judgementStr += "<p>试题序号:" + educationPaperQu.getSort() + "</p>"; judgementStr += "<p>试题序号:" + educationPaperQu.getSort() + "</p>";
judgementStr += "<p>试题编号:" + examQuestion.getQuNum() + "</p>"; judgementStr += "<p>试题编号:" + examQuestion.getQuNum() + "</p>";
judgementStr += "<p>试题分数:" + Double.parseDouble(quScore) + "</p>"; judgementStr += "<p>试题分数:" + Double.parseDouble(quScore) + "</p>";
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);
// 4、需要更新学生试题得分首先需要查询试题的数据库是否保存信息 judgementStr += "<p>试题得分:" + dangSource + "</p>";
// 通过 quIdstuIdpaperId 查询 // 4、需要更新学生试题得分首先需要查询试题的数据库是否保存信息
StuPaperScoreDO stuPaperScoreDO = stuPaperScoreService.getStuScoreByPaperIdAndQuid(stuInfoVo.getStuId(), stuInfoVo.getPaperId(), quId); // 通过 quIdstuIdpaperId 查询
score = score.add(new BigDecimal(cpojo.getScore()).setScale(1, BigDecimal.ROUND_HALF_UP)); StuPaperScoreDO stuPaperScoreDO = stuPaperScoreService.getStuScoreByPaperIdAndQuid(stuInfoVo.getStuId(), stuInfoVo.getPaperId(), quId);
if (stuPaperScoreDO != null) { score = score.add(new BigDecimal(cpojo.getScore()).setScale(1, BigDecimal.ROUND_HALF_UP));
// 说明已经是做过该题,需要更新数据 if (stuPaperScoreDO != null) {
stuPaperScoreDO.setScore(new BigDecimal(cpojo.getScore()).setScale(1, BigDecimal.ROUND_HALF_UP)); // 说明已经是做过该题,需要更新数据
stuPaperScoreDO.setContent(judgementStr); stuPaperScoreDO.setScore(dangSource);
stuPaperScoreDO.setSort(educationPaperQu.getSort()); stuPaperScoreDO.setContent(judgementStr);
stuPaperScoreDO.setSubjectName(name); stuPaperScoreDO.setSort(educationPaperQu.getSort());
stuPaperScoreDO.setIsTrue(cpojo.getScore() == 0 ? 1 : cpojo.getScore() == Double.parseDouble(quScore) ? 0 : 2); stuPaperScoreDO.setSubjectName(name);
stuPaperScoreDO.setTrueScore(new BigDecimal(quScore)); stuPaperScoreDO.setIsTrue(cpojo.getScore() == 0 ? 1 : cpojo.getScore() >= Double.parseDouble(quScore) ? 0 : 2);
stuPaperScoreDO.setTenantId(systemTenant.getId()); stuPaperScoreDO.setTrueScore(new BigDecimal(quScore));
stuPaperScoreService.updateStuPaperScore(stuPaperScoreDO); stuPaperScoreDO.setTenantId(systemTenant.getId());
} else { stuPaperScoreService.updateStuPaperScore(stuPaperScoreDO);
StuPaperScoreDO insertInfo = new StuPaperScoreDO(); } else {
insertInfo.setStuId(stuInfoVo.getStuId()); StuPaperScoreDO insertInfo = new StuPaperScoreDO();
insertInfo.setPaperId(stuInfoVo.getPaperId()); insertInfo.setStuId(stuInfoVo.getStuId());
insertInfo.setQuId(quId); insertInfo.setPaperId(stuInfoVo.getPaperId());
insertInfo.setScore(new BigDecimal(cpojo.getScore()).setScale(1, BigDecimal.ROUND_HALF_UP)); insertInfo.setQuId(quId);
insertInfo.setContent(judgementStr); insertInfo.setScore(dangSource);
insertInfo.setSort(educationPaperQu.getSort()); insertInfo.setContent(judgementStr);
insertInfo.setSubjectName(name); insertInfo.setSort(educationPaperQu.getSort());
insertInfo.setTrueScore(new BigDecimal(quScore)); insertInfo.setSubjectName(name);
insertInfo.setTenantId(systemTenant.getId()); insertInfo.setTrueScore(new BigDecimal(quScore));
insertInfo.setIsTrue(cpojo.getScore() == 0 ? 1 : cpojo.getScore() == Double.parseDouble(quScore) ? 0 : 2); insertInfo.setTenantId(systemTenant.getId());
stuPaperScoreService.insertStuPaperScore(insertInfo); insertInfo.setIsTrue(cpojo.getScore() == 0 ? 1 : cpojo.getScore() >= Double.parseDouble(quScore) ? 0 : 2);
stuPaperScoreService.insertStuPaperScore(insertInfo);
}
break;
} }
break;
} }
} }
} }
return score; return score;
} }

View File

@@ -56,58 +56,62 @@ 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();
if ("表格".equals(name)) {
File[] cs_file_list = csFiles.listFiles();
String lastFilePath = cs_file_list[0].getPath();
File[] lastFiles = cs_file_list[0].listFiles();
// 3、根据题号进行查询试题的相关信息
Optional<EducationPaperScheme> result = educationPaperSchemeList.stream().filter(quLists -> quLists.getSpName().equals(name)).findFirst();
Optional<EducationPaperQu> results = educationPaperQus.stream().filter(quLists -> quLists.getQuId().equals(quId)).findFirst();
EducationPaperScheme educationPaperScheme = result.get(); for (File csFile : csFileList) {
EducationPaperQu educationPaperQu = results.get(); String name = csFile.getName();
String quScore = educationPaperScheme.getQuScores(); if ("表格".equals(name)) {
ExamQuestion examQuestion = examQuestionService.selectExamQuestionByQuId(quId); File[] cs_file_list = csFiles.listFiles();
for (File lastFile : lastFiles) { String lastFilePath = cs_file_list[0].getPath();
if (lastFile.getName().contains("文档")) { File[] lastFiles = cs_file_list[0].listFiles();
String judgementStr = "<p>-----------------------------------------------------------</p>"; // 3、根据题号进行查询试题的相关信息
judgementStr += "<p>试题序号:" + educationPaperQu.getSort() + "</p>"; Optional<EducationPaperScheme> result = educationPaperSchemeList.stream().filter(quLists -> quLists.getSpName().equals(name)).findFirst();
judgementStr += "<p>试题编号:" + examQuestion.getQuNum() + "</p>"; Optional<EducationPaperQu> results = educationPaperQus.stream().filter(quLists -> quLists.getQuId().equals(quId)).findFirst();
judgementStr += "<p>试题分数:" + Double.parseDouble(quScore) + "</p>";
judgementStr += "<p>试题名称:" + name + "</p>"; EducationPaperScheme educationPaperScheme = result.get();
SourceAndText excelpojo = judgementWpsExcelService.judgementWpsXlsx(Double.parseDouble(quScore), lastFilePath, lastFile.getPath(), examQuestion, judgementStr); EducationPaperQu educationPaperQu = results.get();
score = score.add(new BigDecimal(excelpojo.getScore()).setScale(1, BigDecimal.ROUND_HALF_UP)); String quScore = educationPaperScheme.getQuScores();
judgementStr = excelpojo.getText(); ExamQuestion examQuestion = examQuestionService.selectExamQuestionByQuId(quId);
judgementStr += "<p>试题得分:" + excelpojo.getScore() + "</p>"; for (File lastFile : lastFiles) {
// 4、需要更新学生试题得分首先需要查询试题的数据库是否保存信息 if (lastFile.getName().contains("文档")) {
// 通过 quIdstuIdpaperId 查询 String judgementStr = "<p>-----------------------------------------------------------</p>";
StuPaperScoreDO stuPaperScoreDO = stuPaperScoreService.getStuScoreByPaperIdAndQuid(stuInfoVo.getStuId(), stuInfoVo.getPaperId(), quId); judgementStr += "<p>试题序号:" + educationPaperQu.getSort() + "</p>";
if (stuPaperScoreDO != null) { judgementStr += "<p>试题编号:" + examQuestion.getQuNum() + "</p>";
// 说明已经是做过该题,需要更新数据 judgementStr += "<p>试题分数:" + Double.parseDouble(quScore) + "</p>";
stuPaperScoreDO.setScore(new BigDecimal(excelpojo.getScore()).setScale(1, BigDecimal.ROUND_HALF_UP)); judgementStr += "<p>试题名称:" + name + "</p>";
stuPaperScoreDO.setContent(judgementStr); SourceAndText excelpojo = judgementWpsExcelService.judgementWpsXlsx(Double.parseDouble(quScore), lastFilePath, lastFile.getPath(), examQuestion, judgementStr);
stuPaperScoreDO.setSort(educationPaperQu.getSort()); score = score.add(new BigDecimal(excelpojo.getScore()).setScale(1, BigDecimal.ROUND_HALF_UP));
stuPaperScoreDO.setSubjectName(name); judgementStr = excelpojo.getText();
stuPaperScoreDO.setIsTrue(excelpojo.getScore() == 0 ? 1 : excelpojo.getScore() == Double.parseDouble(quScore) ? 0 : 2); BigDecimal dangSource = new BigDecimal(excelpojo.getScore()).setScale(1, BigDecimal.ROUND_HALF_UP);
stuPaperScoreDO.setTrueScore(new BigDecimal(quScore)); judgementStr += "<p>试题得分:" + dangSource + "</p>";
stuPaperScoreDO.setTenantId(systemTenant.getId()); // 4、需要更新学生试题得分首先需要查询试题的数据库是否保存信息
stuPaperScoreService.updateStuPaperScore(stuPaperScoreDO); // 通过 quIdstuIdpaperId 查询
} else { StuPaperScoreDO stuPaperScoreDO = stuPaperScoreService.getStuScoreByPaperIdAndQuid(stuInfoVo.getStuId(), stuInfoVo.getPaperId(), quId);
StuPaperScoreDO insertInfo = new StuPaperScoreDO(); if (stuPaperScoreDO != null) {
insertInfo.setStuId(stuInfoVo.getStuId()); // 说明已经是做过该题,需要更新数据
insertInfo.setPaperId(stuInfoVo.getPaperId()); stuPaperScoreDO.setScore(dangSource);
insertInfo.setQuId(quId); stuPaperScoreDO.setContent(judgementStr);
insertInfo.setScore(new BigDecimal(excelpojo.getScore()).setScale(1, BigDecimal.ROUND_HALF_UP)); stuPaperScoreDO.setSort(educationPaperQu.getSort());
insertInfo.setContent(judgementStr); stuPaperScoreDO.setSubjectName(name);
insertInfo.setSort(educationPaperQu.getSort()); stuPaperScoreDO.setIsTrue(excelpojo.getScore() == 0 ? 1 : excelpojo.getScore() >= Double.parseDouble(quScore) ? 0 : 2);
insertInfo.setSubjectName(name); stuPaperScoreDO.setTrueScore(new BigDecimal(quScore));
insertInfo.setTrueScore(new BigDecimal(quScore)); stuPaperScoreDO.setTenantId(systemTenant.getId());
insertInfo.setTenantId(systemTenant.getId()); stuPaperScoreService.updateStuPaperScore(stuPaperScoreDO);
insertInfo.setIsTrue(excelpojo.getScore() == 0 ? 1 : excelpojo.getScore() == Double.parseDouble(quScore) ? 0 : 2); } else {
stuPaperScoreService.insertStuPaperScore(insertInfo); StuPaperScoreDO insertInfo = new StuPaperScoreDO();
insertInfo.setStuId(stuInfoVo.getStuId());
insertInfo.setPaperId(stuInfoVo.getPaperId());
insertInfo.setQuId(quId);
insertInfo.setScore(dangSource);
insertInfo.setContent(judgementStr);
insertInfo.setSort(educationPaperQu.getSort());
insertInfo.setSubjectName(name);
insertInfo.setTrueScore(new BigDecimal(quScore));
insertInfo.setTenantId(systemTenant.getId());
insertInfo.setIsTrue(excelpojo.getScore() == 0 ? 1 : excelpojo.getScore() >= Double.parseDouble(quScore) ? 0 : 2);
stuPaperScoreService.insertStuPaperScore(insertInfo);
}
break;
} }
break;
} }
} }
} }

View File

@@ -57,58 +57,61 @@ 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) {
if ("演示".equals(name)) { String name = csFile.getName();
File[] cs_file_list = csFiles.listFiles(); if ("演示".equals(name)) {
String lastFilePath = cs_file_list[0].getPath(); File[] cs_file_list = csFiles.listFiles();
File[] lastFiles = cs_file_list[0].listFiles(); String lastFilePath = cs_file_list[0].getPath();
// 3、根据题号进行查询试题的相关信息 File[] lastFiles = cs_file_list[0].listFiles();
Optional<EducationPaperScheme> result = educationPaperSchemeList.stream().filter(quLists -> quLists.getSpName().equals(name)).findFirst(); // 3、根据题号进行查询试题的相关信息
Optional<EducationPaperQu> results = educationPaperQus.stream().filter(quLists -> quLists.getQuId().equals(quId)).findFirst(); Optional<EducationPaperScheme> result = educationPaperSchemeList.stream().filter(quLists -> quLists.getSpName().equals(name)).findFirst();
Optional<EducationPaperQu> results = educationPaperQus.stream().filter(quLists -> quLists.getQuId().equals(quId)).findFirst();
EducationPaperScheme educationPaperScheme = result.get(); EducationPaperScheme educationPaperScheme = result.get();
EducationPaperQu educationPaperQu = results.get(); EducationPaperQu educationPaperQu = results.get();
String quScore = educationPaperScheme.getQuScores(); String quScore = educationPaperScheme.getQuScores();
ExamQuestion examQuestion = examQuestionService.selectExamQuestionByQuId(quId); ExamQuestion examQuestion = examQuestionService.selectExamQuestionByQuId(quId);
for (File lastFile : lastFiles) { for (File lastFile : lastFiles) {
if (lastFile.getName().contains("文档")) { if (lastFile.getName().contains("文档")) {
String judgementStr = "<p>-----------------------------------------------------------</p>"; String judgementStr = "<p>-----------------------------------------------------------</p>";
judgementStr += "<p>试题序号:" + educationPaperQu.getSort() + "</p>"; judgementStr += "<p>试题序号:" + educationPaperQu.getSort() + "</p>";
judgementStr += "<p>试题编号:" + examQuestion.getQuNum() + "</p>"; judgementStr += "<p>试题编号:" + examQuestion.getQuNum() + "</p>";
judgementStr += "<p>试题分数:" + Double.parseDouble(quScore) + "</p>"; judgementStr += "<p>试题分数:" + Double.parseDouble(quScore) + "</p>";
judgementStr += "<p>试题名称:" + name + "</p>"; judgementStr += "<p>试题名称:" + name + "</p>";
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);
// 4、需要更新学生试题得分首先需要查询试题的数据库是否保存信息 judgementStr += "<p>试题得分:" + dangSource + "</p>";
// 通过 quIdstuIdpaperId 查询 // 4、需要更新学生试题得分首先需要查询试题的数据库是否保存信息
StuPaperScoreDO stuPaperScoreDO = stuPaperScoreService.getStuScoreByPaperIdAndQuid(stuInfoVo.getStuId(), stuInfoVo.getPaperId(), quId); // 通过 quIdstuIdpaperId 查询
if (stuPaperScoreDO != null) { StuPaperScoreDO stuPaperScoreDO = stuPaperScoreService.getStuScoreByPaperIdAndQuid(stuInfoVo.getStuId(), stuInfoVo.getPaperId(), quId);
// 说明已经是做过该题,需要更新数据 if (stuPaperScoreDO != null) {
stuPaperScoreDO.setScore(new BigDecimal(pptxpojo.getScore()).setScale(1, BigDecimal.ROUND_HALF_UP)); // 说明已经是做过该题,需要更新数据
stuPaperScoreDO.setContent(judgementStr); stuPaperScoreDO.setScore(dangSource);
stuPaperScoreDO.setSort(educationPaperQu.getSort()); stuPaperScoreDO.setContent(judgementStr);
stuPaperScoreDO.setSubjectName(name); stuPaperScoreDO.setSort(educationPaperQu.getSort());
stuPaperScoreDO.setIsTrue(pptxpojo.getScore() == 0 ? 1 : pptxpojo.getScore() == Double.parseDouble(quScore) ? 0 : 2); stuPaperScoreDO.setSubjectName(name);
stuPaperScoreDO.setTrueScore(new BigDecimal(quScore)); stuPaperScoreDO.setIsTrue(pptxpojo.getScore() == 0 ? 1 : pptxpojo.getScore() >= Double.parseDouble(quScore) ? 0 : 2);
stuPaperScoreDO.setTenantId(systemTenant.getId()); stuPaperScoreDO.setTrueScore(new BigDecimal(quScore));
stuPaperScoreService.updateStuPaperScore(stuPaperScoreDO); stuPaperScoreDO.setTenantId(systemTenant.getId());
} else { stuPaperScoreService.updateStuPaperScore(stuPaperScoreDO);
StuPaperScoreDO insertInfo = new StuPaperScoreDO(); } else {
insertInfo.setStuId(stuInfoVo.getStuId()); StuPaperScoreDO insertInfo = new StuPaperScoreDO();
insertInfo.setPaperId(stuInfoVo.getPaperId()); insertInfo.setStuId(stuInfoVo.getStuId());
insertInfo.setQuId(quId); insertInfo.setPaperId(stuInfoVo.getPaperId());
insertInfo.setScore(new BigDecimal(pptxpojo.getScore()).setScale(1, BigDecimal.ROUND_HALF_UP)); insertInfo.setQuId(quId);
insertInfo.setContent(judgementStr); insertInfo.setScore(dangSource);
insertInfo.setSort(educationPaperQu.getSort()); insertInfo.setContent(judgementStr);
insertInfo.setSubjectName(name); insertInfo.setSort(educationPaperQu.getSort());
insertInfo.setTrueScore(new BigDecimal(quScore)); insertInfo.setSubjectName(name);
insertInfo.setTenantId(systemTenant.getId()); insertInfo.setTrueScore(new BigDecimal(quScore));
insertInfo.setIsTrue(pptxpojo.getScore() == 0 ? 1 : pptxpojo.getScore() == Double.parseDouble(quScore) ? 0 : 2); insertInfo.setTenantId(systemTenant.getId());
stuPaperScoreService.insertStuPaperScore(insertInfo); insertInfo.setIsTrue(pptxpojo.getScore() == 0 ? 1 : pptxpojo.getScore() >= Double.parseDouble(quScore) ? 0 : 2);
stuPaperScoreService.insertStuPaperScore(insertInfo);
}
break;
} }
break;
} }
} }
} }

View File

@@ -54,61 +54,65 @@ 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) {
if ("文字".equals(name)) { String name = csFile.getName();
File[] cs_file_list = csFiles.listFiles(); if ("文字".equals(name)) {
String lastFilePath = cs_file_list[0].getPath(); File[] cs_file_list = csFiles.listFiles();
File[] lastFiles = cs_file_list[0].listFiles(); String lastFilePath = cs_file_list[0].getPath();
// 3、根据题号进行查询试题的相关信息 File[] lastFiles = cs_file_list[0].listFiles();
Optional<EducationPaperScheme> result = educationPaperSchemeList.stream().filter(quLists -> quLists.getSpName().equals(name)).findFirst(); // 3、根据题号进行查询试题的相关信息
Optional<EducationPaperQu> results = educationPaperQus.stream().filter(quLists -> quLists.getQuId().equals(quId)).findFirst(); Optional<EducationPaperScheme> result = educationPaperSchemeList.stream().filter(quLists -> quLists.getSpName().equals(name)).findFirst();
Optional<EducationPaperQu> results = educationPaperQus.stream().filter(quLists -> quLists.getQuId().equals(quId)).findFirst();
EducationPaperScheme educationPaperScheme = result.get(); EducationPaperScheme educationPaperScheme = result.get();
EducationPaperQu educationPaperQu = results.get(); EducationPaperQu educationPaperQu = results.get();
String quScore = educationPaperScheme.getQuScores(); String quScore = educationPaperScheme.getQuScores();
ExamQuestion examQuestion = examQuestionService.selectExamQuestionByQuId(quId); ExamQuestion examQuestion = examQuestionService.selectExamQuestionByQuId(quId);
for (File lastFile : lastFiles) { for (File lastFile : lastFiles) {
if (lastFile.getName().contains("文档")) { if (lastFile.getName().contains("文档")) {
String judgementStr = "<p>-----------------------------------------------------------</p>"; String judgementStr = "<p>-----------------------------------------------------------</p>";
judgementStr += "<p>试题序号:" + educationPaperQu.getSort() + "</p>"; judgementStr += "<p>试题序号:" + educationPaperQu.getSort() + "</p>";
judgementStr += "<p>试题编号:" + examQuestion.getQuNum() + "</p>"; judgementStr += "<p>试题编号:" + examQuestion.getQuNum() + "</p>";
judgementStr += "<p>试题分数:" + Double.parseDouble(quScore) + "</p>"; judgementStr += "<p>试题分数:" + Double.parseDouble(quScore) + "</p>";
judgementStr += "<p>试题名称:" + name + "</p>"; judgementStr += "<p>试题名称:" + name + "</p>";
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);
// 4、需要更新学生试题得分首先需要查询试题的数据库是否保存信息 judgementStr += "<p>试题得分:" + dangSource + "</p>";
// 通过 quIdstuIdpaperId 查询 // 4、需要更新学生试题得分首先需要查询试题的数据库是否保存信息
StuPaperScoreDO stuPaperScoreDO = stuPaperScoreService.getStuScoreByPaperIdAndQuid(stuInfoVo.getStuId(), stuInfoVo.getPaperId(), quId); // 通过 quIdstuIdpaperId 查询
if (stuPaperScoreDO != null) { StuPaperScoreDO stuPaperScoreDO = stuPaperScoreService.getStuScoreByPaperIdAndQuid(stuInfoVo.getStuId(), stuInfoVo.getPaperId(), quId);
// 说明已经是做过该题,需要更新数据 if (stuPaperScoreDO != null) {
stuPaperScoreDO.setScore(new BigDecimal(wordpojo.getScore()).setScale(1, BigDecimal.ROUND_HALF_UP)); // 说明已经是做过该题,需要更新数据
stuPaperScoreDO.setContent(judgementStr); stuPaperScoreDO.setScore(dangSource);
stuPaperScoreDO.setSort(educationPaperQu.getSort()); stuPaperScoreDO.setContent(judgementStr);
stuPaperScoreDO.setSubjectName(name); stuPaperScoreDO.setSort(educationPaperQu.getSort());
stuPaperScoreDO.setIsTrue(wordpojo.getScore() == 0 ? 1 : wordpojo.getScore() == Double.parseDouble(quScore) ? 0 : 2); stuPaperScoreDO.setSubjectName(name);
stuPaperScoreDO.setTrueScore(new BigDecimal(quScore)); stuPaperScoreDO.setIsTrue(wordpojo.getScore() == 0 ? 1 : wordpojo.getScore() >= Double.parseDouble(quScore) ? 0 : 2);
stuPaperScoreDO.setTenantId(systemTenant.getId()); stuPaperScoreDO.setTrueScore(new BigDecimal(quScore));
stuPaperScoreService.updateStuPaperScore(stuPaperScoreDO); stuPaperScoreDO.setTenantId(systemTenant.getId());
} else { stuPaperScoreService.updateStuPaperScore(stuPaperScoreDO);
StuPaperScoreDO insertInfo = new StuPaperScoreDO(); } else {
insertInfo.setStuId(stuInfoVo.getStuId()); StuPaperScoreDO insertInfo = new StuPaperScoreDO();
insertInfo.setPaperId(stuInfoVo.getPaperId()); insertInfo.setStuId(stuInfoVo.getStuId());
insertInfo.setQuId(quId); insertInfo.setPaperId(stuInfoVo.getPaperId());
insertInfo.setScore(new BigDecimal(wordpojo.getScore()).setScale(1, BigDecimal.ROUND_HALF_UP)); insertInfo.setQuId(quId);
insertInfo.setContent(judgementStr); insertInfo.setScore(dangSource);
insertInfo.setSort(educationPaperQu.getSort()); insertInfo.setContent(judgementStr);
insertInfo.setSubjectName(name); insertInfo.setSort(educationPaperQu.getSort());
insertInfo.setTrueScore(new BigDecimal(quScore)); insertInfo.setSubjectName(name);
insertInfo.setTenantId(systemTenant.getId()); insertInfo.setTrueScore(new BigDecimal(quScore));
insertInfo.setIsTrue(wordpojo.getScore() == 0 ? 1 : wordpojo.getScore() == Double.parseDouble(quScore) ? 0 : 2); insertInfo.setTenantId(systemTenant.getId());
stuPaperScoreService.insertStuPaperScore(insertInfo); insertInfo.setIsTrue(wordpojo.getScore() == 0 ? 1 : wordpojo.getScore() >= Double.parseDouble(quScore) ? 0 : 2);
stuPaperScoreService.insertStuPaperScore(insertInfo);
}
break;
} }
break;
} }
} }
} }
} }
return score; return score;
} }