【修改】修改判分格式
This commit is contained in:
@@ -238,14 +238,14 @@ public class IMysqlLocalServiceImpl implements IMysqlLocalService {
|
|||||||
|
|
||||||
if (table1Columns.equals(table2Columns)) {
|
if (table1Columns.equals(table2Columns)) {
|
||||||
correctCount++; // 完全正确
|
correctCount++; // 完全正确
|
||||||
appendToFile(answerLogPath, "【执行】" + "【" + showCreateTableSql + "】【验证】【表】【" + tableName + "】【√】");
|
appendToFile(answerLogPath, "【执行】" + "【" + showCreateTableSql + "】【验证】【表】【" + tableName + "】【结果】【√】");
|
||||||
judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "【执行】" + "【" + showCreateTableSql + "】【验证】【表】【" + tableName + "】【✅】");
|
judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "【执行】" + "【" + showCreateTableSql + "】【验证】【表】【" + tableName + "】【结果】【✅】");
|
||||||
SourceAndText studentScorePojo = accumulateScoreAndLog(examMysqlKeywordList, total, answerLogPath, stuSQL, totalKeyScore, score, answerId, scoreTotal, judgementStr);
|
SourceAndText studentScorePojo = accumulateScoreAndLog(examMysqlKeywordList, total, answerLogPath, stuSQL, totalKeyScore, score, answerId, scoreTotal, judgementStr);
|
||||||
scoreTotal += studentScorePojo.getScore();
|
scoreTotal += studentScorePojo.getScore();
|
||||||
judgementStr = studentScorePojo.getText();
|
judgementStr = studentScorePojo.getText();
|
||||||
} else {
|
} else {
|
||||||
appendToFile(answerLogPath, "【执行】 " + "【" + showCreateTableSql + "】【验证】【表】【" + tableName + "】【×】");
|
appendToFile(answerLogPath, "【执行】 " + "【" + showCreateTableSql + "】【验证】【表】【" + tableName + "】【结果】【×】");
|
||||||
judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "【执行】 " + "【" + showCreateTableSql + "】【验证】【表】【" + tableName + "】【❌】");
|
judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "【执行】 " + "【" + showCreateTableSql + "】【验证】【表】【" + tableName + "】【结果】【❌】");
|
||||||
SourceAndText studentScorePojo = calculateTotalScoreRate(stuSQL, examMysqlKeywordList, totalKeyScore, score, answerId, scoreTotal, judgementStr);
|
SourceAndText studentScorePojo = calculateTotalScoreRate(stuSQL, examMysqlKeywordList, totalKeyScore, score, answerId, scoreTotal, judgementStr);
|
||||||
scoreTotal += studentScorePojo.getScore();
|
scoreTotal += studentScorePojo.getScore();
|
||||||
judgementStr = studentScorePojo.getText();
|
judgementStr = studentScorePojo.getText();
|
||||||
@@ -323,15 +323,15 @@ public class IMysqlLocalServiceImpl implements IMysqlLocalService {
|
|||||||
|
|
||||||
if (isEquivalent) {
|
if (isEquivalent) {
|
||||||
correctCount++; // 完全正确
|
correctCount++; // 完全正确
|
||||||
appendToFile(answerLogPath, "【执行】" + "【" + yanzheng + "】【验证】【表】【" + tableName + "】【√】");
|
appendToFile(answerLogPath, "【执行】" + "【" + yanzheng + "】【验证】【表】【" + tableName + "】【结果】【√】");
|
||||||
judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "【执行】 " + "【" + yanzheng + "】【验证】【表】【" + tableName + "】【✅】");
|
judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "【执行】 " + "【" + yanzheng + "】【验证】【表】【" + tableName + "】【结果】【✅】");
|
||||||
SourceAndText studentScorePojo = accumulateScoreAndLog(examMysqlKeywordList, total, answerLogPath, stuSql, totalKeyScore, score, answerId, scoreTotal, judgementStr);
|
SourceAndText studentScorePojo = accumulateScoreAndLog(examMysqlKeywordList, total, answerLogPath, stuSql, totalKeyScore, score, answerId, scoreTotal, judgementStr);
|
||||||
scoreTotal += studentScorePojo.getScore();
|
scoreTotal += studentScorePojo.getScore();
|
||||||
judgementStr = studentScorePojo.getText();
|
judgementStr = studentScorePojo.getText();
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
appendToFile(answerLogPath, "【执行】" + "【" + yanzheng + "】【验证】【表】【" + tableName + "】【×】");
|
appendToFile(answerLogPath, "【执行】" + "【" + yanzheng + "】【验证】【表】【" + tableName + "】【结果】【×】");
|
||||||
judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "【执行】 " + "【" + yanzheng + "】【验证】【表】【" + tableName + "】【❌】");
|
judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "【执行】 " + "【" + yanzheng + "】【验证】【表】【" + tableName + "】【结果】【❌】");
|
||||||
SourceAndText studentScorePojo = calculateTotalScoreRate(stuSql, examMysqlKeywordList, totalKeyScore, score, answerId, scoreTotal, judgementStr);
|
SourceAndText studentScorePojo = calculateTotalScoreRate(stuSql, examMysqlKeywordList, totalKeyScore, score, answerId, scoreTotal, judgementStr);
|
||||||
scoreTotal += studentScorePojo.getScore();
|
scoreTotal += studentScorePojo.getScore();
|
||||||
judgementStr = studentScorePojo.getText();
|
judgementStr = studentScorePojo.getText();
|
||||||
@@ -388,15 +388,15 @@ public class IMysqlLocalServiceImpl implements IMysqlLocalService {
|
|||||||
//累加删除语句的所有权值 examQuestionKeywords累加scorerate
|
//累加删除语句的所有权值 examQuestionKeywords累加scorerate
|
||||||
// appendToFile(answerLogPath, "验证通过:符合 DELETE 条件的记录已删除。");
|
// appendToFile(answerLogPath, "验证通过:符合 DELETE 条件的记录已删除。");
|
||||||
// judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "验证通过:符合 DELETE 条件的记录已删除。");
|
// judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "验证通过:符合 DELETE 条件的记录已删除。");
|
||||||
appendToFile(answerLogPath, "【执行】 " + "【" + verifySql + "】 【验证】 【表】 【" + tableName + "】【√】");
|
appendToFile(answerLogPath, "【执行】 " + "【" + verifySql + "】 【验证】 【表】 【" + tableName + "】【结果】【√】");
|
||||||
judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "【执行】 " + "【" + verifySql + "】 【验证】 【表】 【" + tableName + "】【✅】");
|
judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "【执行】 " + "【" + verifySql + "】 【验证】 【表】 【" + tableName + "】【结果】【✅】");
|
||||||
SourceAndText studentScorePojo = accumulateScoreAndLog(examMysqlKeywordList, total, answerLogPath, sql, totalKeyScore, score, answerId, scoreTotal, judgementStr);
|
SourceAndText studentScorePojo = accumulateScoreAndLog(examMysqlKeywordList, total, answerLogPath, sql, totalKeyScore, score, answerId, scoreTotal, judgementStr);
|
||||||
scoreTotal += studentScorePojo.getScore();
|
scoreTotal += studentScorePojo.getScore();
|
||||||
judgementStr = studentScorePojo.getText();
|
judgementStr = studentScorePojo.getText();
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
appendToFile(answerLogPath, "【执行】 " + "【" + verifySql + "】 【验证】 【表】 【" + tableName + "】【×】");
|
appendToFile(answerLogPath, "【执行】 " + "【" + verifySql + "】 【验证】 【表】 【" + tableName + "】【结果】【×】");
|
||||||
judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "【执行】 " + "【" + verifySql + "】 【验证】 【表】 【" + tableName + "】【❌】");
|
judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "【执行】 " + "【" + verifySql + "】 【验证】 【表】 【" + tableName + "】【结果】【❌】");
|
||||||
SourceAndText studentScorePojo = calculateTotalScoreRate(null, examMysqlKeywordList, totalKeyScore, score, answerId, scoreTotal, judgementStr);
|
SourceAndText studentScorePojo = calculateTotalScoreRate(null, examMysqlKeywordList, totalKeyScore, score, answerId, scoreTotal, judgementStr);
|
||||||
scoreTotal += studentScorePojo.getScore();
|
scoreTotal += studentScorePojo.getScore();
|
||||||
judgementStr = studentScorePojo.getText();
|
judgementStr = studentScorePojo.getText();
|
||||||
@@ -498,15 +498,15 @@ public class IMysqlLocalServiceImpl implements IMysqlLocalService {
|
|||||||
//
|
//
|
||||||
if (isEquivalent) {
|
if (isEquivalent) {
|
||||||
correctCount++; // 完全正确
|
correctCount++; // 完全正确
|
||||||
appendToFile(answerLogPath, "【执行】 " + "【" + selectSql + "】【验证】【表】【" + tableName + "】【√】");
|
appendToFile(answerLogPath, "【执行】 " + "【" + selectSql + "】【验证】【表】【" + tableName + "】【结果】【√】");
|
||||||
judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "【执行】 " + "【" + selectSql + "】【验证】【表】【" + tableName + "】【✅】");
|
judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "【执行】 " + "【" + selectSql + "】【验证】【表】【" + tableName + "】【结果】【✅】");
|
||||||
SourceAndText studentScorePojo = accumulateScoreAndLog(examMysqlKeywordList, total, answerLogPath, stuSql, totalKeyScore, score, answerId, scoreTotal, judgementStr);
|
SourceAndText studentScorePojo = accumulateScoreAndLog(examMysqlKeywordList, total, answerLogPath, stuSql, totalKeyScore, score, answerId, scoreTotal, judgementStr);
|
||||||
scoreTotal += studentScorePojo.getScore();
|
scoreTotal += studentScorePojo.getScore();
|
||||||
judgementStr = studentScorePojo.getText();
|
judgementStr = studentScorePojo.getText();
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
appendToFile(answerLogPath, "【执行】 " + "【" + selectSql + "】【验证】【表】【" + tableName + "】【×】");
|
appendToFile(answerLogPath, "【执行】 " + "【" + selectSql + "】【验证】【表】【" + tableName + "】【结果】【×】");
|
||||||
judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "【执行】 " + "【" + selectSql + "】【验证】【表】【" + tableName + "】【❌】");
|
judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "【执行】 " + "【" + selectSql + "】【验证】【表】【" + tableName + "】【结果】【❌】");
|
||||||
SourceAndText studentScorePojo = calculateTotalScoreRate(stuSql, examMysqlKeywordList, totalKeyScore, score, answerId, scoreTotal, judgementStr);
|
SourceAndText studentScorePojo = calculateTotalScoreRate(stuSql, examMysqlKeywordList, totalKeyScore, score, answerId, scoreTotal, judgementStr);
|
||||||
scoreTotal += studentScorePojo.getScore();
|
scoreTotal += studentScorePojo.getScore();
|
||||||
judgementStr = studentScorePojo.getText();
|
judgementStr = studentScorePojo.getText();
|
||||||
@@ -604,16 +604,16 @@ public class IMysqlLocalServiceImpl implements IMysqlLocalService {
|
|||||||
|
|
||||||
if (isEquivalent) {
|
if (isEquivalent) {
|
||||||
correctCount++; // 完全正确
|
correctCount++; // 完全正确
|
||||||
appendToFile(answerLogPath, "执行" + sql + "验证文件【" + fileName.get() + "】【√】");
|
appendToFile(answerLogPath, "【执行】" + sql + "【验证】【文件】【" + fileName.get() + "】【结果】【√】");
|
||||||
judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "执行" + sql + "验证文件【" + fileName.get() + "】【✅】");
|
judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "【执行】" + sql + "【验证】【文件】【" + fileName.get() + "】【结果】【✅】");
|
||||||
//todo 得分
|
//todo 得分
|
||||||
SourceAndText studentScorePojo = accumulateScoreAndLog(examMysqlKeywordList, total, answerLogPath, String.valueOf(stuAnswer), totalKeyScore, score, answerId, scoreTotal, judgementStr);
|
SourceAndText studentScorePojo = accumulateScoreAndLog(examMysqlKeywordList, total, answerLogPath, String.valueOf(stuAnswer), totalKeyScore, score, answerId, scoreTotal, judgementStr);
|
||||||
scoreTotal += studentScorePojo.getScore();
|
scoreTotal += studentScorePojo.getScore();
|
||||||
judgementStr = studentScorePojo.getText();
|
judgementStr = studentScorePojo.getText();
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
appendToFile(answerLogPath, "执行" + sql + "验证文件【" + fileName.get() + "】【×】");
|
appendToFile(answerLogPath, "【执行】" + sql + "【验证】【文件】【" + fileName.get() + "】【结果】【×】");
|
||||||
judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "执行" + sql + "验证文件【" + fileName.get() + "】【❌】");
|
judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "【执行】" + sql + "【验证】【文件】【" + fileName.get() + "】【结果】【❌】");
|
||||||
SourceAndText studentScorePojo = calculateTotalScoreRate(String.valueOf(stuAnswer), examMysqlKeywordList, totalKeyScore, score, answerId, scoreTotal, judgementStr);
|
SourceAndText studentScorePojo = calculateTotalScoreRate(String.valueOf(stuAnswer), examMysqlKeywordList, totalKeyScore, score, answerId, scoreTotal, judgementStr);
|
||||||
scoreTotal += studentScorePojo.getScore();
|
scoreTotal += studentScorePojo.getScore();
|
||||||
judgementStr = studentScorePojo.getText();
|
judgementStr = studentScorePojo.getText();
|
||||||
@@ -687,7 +687,7 @@ public class IMysqlLocalServiceImpl implements IMysqlLocalService {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
appendToFile(answerLogPath, "【记录数】【" + result1.size() + "】【×】");
|
appendToFile(answerLogPath, "【记录数】【" + result1.size() + "】【×】");
|
||||||
judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "【记录数】【" + result1.size() + "】❌");
|
judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "【记录数】【" + result1.size() + "】【❌】");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 比较两个视图的结果
|
// 比较两个视图的结果
|
||||||
@@ -698,15 +698,15 @@ public class IMysqlLocalServiceImpl implements IMysqlLocalService {
|
|||||||
|
|
||||||
if (isEquivalent) {
|
if (isEquivalent) {
|
||||||
correctCount++; // 完全正确
|
correctCount++; // 完全正确
|
||||||
appendToFile(answerLogPath, "【执行】" + "【" + showCreateViewSql + "】【验证】【视图】【" + viewNam1 + "】 【√】");
|
appendToFile(answerLogPath, "【执行】" + "【" + showCreateViewSql + "】【验证】【视图】【" + viewNam1 + "】【结果】【√】");
|
||||||
judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "【执行】" + "【" + showCreateViewSql + "】【验证】【视图】【" + viewNam1 + "】【✅】");
|
judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "【执行】" + "【" + showCreateViewSql + "】【验证】【视图】【" + viewNam1 + "】【结果】【✅】");
|
||||||
SourceAndText studentScorePojo = accumulateScoreAndLog(examMysqlKeywordList, total, answerLogPath, stuSQL, totalKeyScore, score, answerId, scoreTotal, judgementStr);
|
SourceAndText studentScorePojo = accumulateScoreAndLog(examMysqlKeywordList, total, answerLogPath, stuSQL, totalKeyScore, score, answerId, scoreTotal, judgementStr);
|
||||||
scoreTotal += studentScorePojo.getScore();
|
scoreTotal += studentScorePojo.getScore();
|
||||||
judgementStr = studentScorePojo.getText();
|
judgementStr = studentScorePojo.getText();
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
appendToFile(answerLogPath, "【执行】 " + "【" + showCreateViewSql + "】【验证】【视图】【" + viewNam1 + "】【×】");
|
appendToFile(answerLogPath, "【执行】 " + "【" + showCreateViewSql + "】【验证】【视图】【" + viewNam1 + "】【结果】【×】");
|
||||||
judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "【执行】" + "【" + showCreateViewSql + "】【验证】【视图】【" + viewNam1 + "】【❌】");
|
judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "【执行】" + "【" + showCreateViewSql + "】【验证】【视图】【" + viewNam1 + "】【结果】【❌】");
|
||||||
SourceAndText studentScorePojo = calculateTotalScoreRate(stuSQL, examMysqlKeywordList, totalKeyScore, score, answerId, scoreTotal, judgementStr);
|
SourceAndText studentScorePojo = calculateTotalScoreRate(stuSQL, examMysqlKeywordList, totalKeyScore, score, answerId, scoreTotal, judgementStr);
|
||||||
scoreTotal += studentScorePojo.getScore();
|
scoreTotal += studentScorePojo.getScore();
|
||||||
judgementStr = studentScorePojo.getText();
|
judgementStr = studentScorePojo.getText();
|
||||||
@@ -783,7 +783,7 @@ public class IMysqlLocalServiceImpl implements IMysqlLocalService {
|
|||||||
if (StringUtils.isBlank(stuAnswer.get())) {
|
if (StringUtils.isBlank(stuAnswer.get())) {
|
||||||
SourceAndText sourceAndTextError = new SourceAndText();
|
SourceAndText sourceAndTextError = new SourceAndText();
|
||||||
appendToFile(answerLogPath, "考生SQL文件丢失或未作答,无法评分,得分:0.0【×】");
|
appendToFile(answerLogPath, "考生SQL文件丢失或未作答,无法评分,得分:0.0【×】");
|
||||||
judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "考生SQL文件丢失或未作答,无法评分,得分:0.0【×】");
|
judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "考生SQL文件丢失或未作答,无法评分,得分:0.0【❌】");
|
||||||
sourceAndTextError.setText(judgementStr);
|
sourceAndTextError.setText(judgementStr);
|
||||||
sourceAndTextError.setScore(0.0);
|
sourceAndTextError.setScore(0.0);
|
||||||
continue;
|
continue;
|
||||||
@@ -813,16 +813,16 @@ public class IMysqlLocalServiceImpl implements IMysqlLocalService {
|
|||||||
|
|
||||||
if (flag) {
|
if (flag) {
|
||||||
correctCount++; // 完全正确
|
correctCount++; // 完全正确
|
||||||
appendToFile(answerLogPath, "【执行】" + extractCallStatements + "【验证】【文件】【" + fileName.get() + "】【√】");
|
appendToFile(answerLogPath, "【执行】" + extractCallStatements + "【验证】【文件】【" + fileName.get() + "】【结果】【√】");
|
||||||
judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "【执行】" + extractCallStatements + "【验证】【文件】 【" + fileName.get() + "】【✅】");
|
judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "【执行】" + extractCallStatements + "【验证】【文件】 【" + fileName.get() + "】【结果】【✅】");
|
||||||
SourceAndText studentScorePojo = accumulateScoreAndLog(examMysqlKeywordList, total, answerLogPath, stuAnswer.get(), totalKeyScore, score, answerId, scoreTotal, judgementStr);
|
SourceAndText studentScorePojo = accumulateScoreAndLog(examMysqlKeywordList, total, answerLogPath, stuAnswer.get(), totalKeyScore, score, answerId, scoreTotal, judgementStr);
|
||||||
scoreTotal += studentScorePojo.getScore();
|
scoreTotal += studentScorePojo.getScore();
|
||||||
judgementStr = studentScorePojo.getText();
|
judgementStr = studentScorePojo.getText();
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
appendToFile(answerLogPath, "【执行】" + extractCallStatements + "【验证】【文件】【" + fileName.get() + "】【×】");
|
appendToFile(answerLogPath, "【执行】" + extractCallStatements + "【验证】【文件】【" + fileName.get() + "】【结果】【×】");
|
||||||
|
|
||||||
judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "【执行】" + extractCallStatements + "【验证】【文件】【" + fileName.get() + "】【❌】");
|
judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "【执行】" + extractCallStatements + "【验证】【文件】【" + fileName.get() + "】【结果】【❌】");
|
||||||
//得分
|
//得分
|
||||||
SourceAndText studentScorePojo = calculateTotalScoreRate(stuAnswer.get(), examMysqlKeywordList, totalKeyScore, score, answerId, scoreTotal, judgementStr);
|
SourceAndText studentScorePojo = calculateTotalScoreRate(stuAnswer.get(), examMysqlKeywordList, totalKeyScore, score, answerId, scoreTotal, judgementStr);
|
||||||
scoreTotal += studentScorePojo.getScore();
|
scoreTotal += studentScorePojo.getScore();
|
||||||
@@ -906,7 +906,7 @@ public class IMysqlLocalServiceImpl implements IMysqlLocalService {
|
|||||||
Statement stmtstu = connstu.createStatement()) {
|
Statement stmtstu = connstu.createStatement()) {
|
||||||
if (StringUtils.isBlank(stuAnswer.get())) {
|
if (StringUtils.isBlank(stuAnswer.get())) {
|
||||||
SourceAndText sourceAndTextError = new SourceAndText();
|
SourceAndText sourceAndTextError = new SourceAndText();
|
||||||
appendToFile(answerLogPath, "考生SQL文件丢失或未作答,无法评分,得分:0.0【√】");
|
appendToFile(answerLogPath, "考生SQL文件丢失或未作答,无法评分,得分:0.0【×】");
|
||||||
judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "考生SQL文件丢失或未作答,无法评分,得分:0.0【❌】");
|
judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "考生SQL文件丢失或未作答,无法评分,得分:0.0【❌】");
|
||||||
sourceAndTextError.setText(judgementStr);
|
sourceAndTextError.setText(judgementStr);
|
||||||
sourceAndTextError.setScore(0.0);
|
sourceAndTextError.setScore(0.0);
|
||||||
@@ -949,23 +949,23 @@ public class IMysqlLocalServiceImpl implements IMysqlLocalService {
|
|||||||
boolean equals = normalizedTriggerSql1.equals(normalizedTriggerSql2);
|
boolean equals = normalizedTriggerSql1.equals(normalizedTriggerSql2);
|
||||||
if (equals) {
|
if (equals) {
|
||||||
correctCount++; // 完全正确
|
correctCount++; // 完全正确
|
||||||
appendToFile(answerLogPath, "【文件】 【" + fileName.get() + "】【√】");
|
appendToFile(answerLogPath, "【执行】"+answerSQL+"【验证】【文件】 【" + fileName.get() + "】【结果】【√】");
|
||||||
judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "【文件】 【" + fileName.get() + "】【✅】");
|
judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "【执行】"+answerSQL+"【验证】【文件】 【" + fileName.get() + "】【结果】【✅】");
|
||||||
//todo 得分
|
//todo 得分
|
||||||
SourceAndText studentScorePojo = accumulateScoreAndLog(examMysqlKeywordList, total, answerLogPath, stuAnswer.get(), totalKeyScore, score, answerId, scoreTotal, judgementStr);
|
SourceAndText studentScorePojo = accumulateScoreAndLog(examMysqlKeywordList, total, answerLogPath, stuAnswer.get(), totalKeyScore, score, answerId, scoreTotal, judgementStr);
|
||||||
scoreTotal += studentScorePojo.getScore();
|
scoreTotal += studentScorePojo.getScore();
|
||||||
judgementStr = studentScorePojo.getText();
|
judgementStr = studentScorePojo.getText();
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
appendToFile(answerLogPath, "【文件】 【" + fileName.get() + "】【×】");
|
appendToFile(answerLogPath, "【执行】"+answerSQL+"【验证】【文件】 【" + fileName.get() + "】【结果】【×】");
|
||||||
judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "【文件】 【" + fileName.get() + "】【❌】");
|
judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "【执行】"+answerSQL+"【验证】【文件】 【" + fileName.get() + "】【验证】【结果】【❌】");
|
||||||
SourceAndText studentScorePojo = calculateTotalScoreRate(stuAnswer.get(), examMysqlKeywordList, totalKeyScore, score, answerId, scoreTotal, judgementStr);
|
SourceAndText studentScorePojo = calculateTotalScoreRate(stuAnswer.get(), examMysqlKeywordList, totalKeyScore, score, answerId, scoreTotal, judgementStr);
|
||||||
scoreTotal += studentScorePojo.getScore();
|
scoreTotal += studentScorePojo.getScore();
|
||||||
judgementStr = studentScorePojo.getText();
|
judgementStr = studentScorePojo.getText();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
appendToFile(answerLogPath, "【文件】 【" + fileName.get() + "】【×】");
|
appendToFile(answerLogPath, "【执行】"+answerSQL+"【验证】【文件】 【" + fileName.get() + "】【结果】【×】");
|
||||||
judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "【文件】 【" + fileName.get() + "】【❌】");
|
judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "【执行】"+answerSQL+"【验证】【文件】 【" + fileName.get() + "】【结果】【❌】");
|
||||||
SourceAndText studentScorePojo = calculateTotalScoreRate(stuAnswer.get(), examMysqlKeywordList, totalKeyScore, score, answerId, scoreTotal, judgementStr);
|
SourceAndText studentScorePojo = calculateTotalScoreRate(stuAnswer.get(), examMysqlKeywordList, totalKeyScore, score, answerId, scoreTotal, judgementStr);
|
||||||
scoreTotal += studentScorePojo.getScore();
|
scoreTotal += studentScorePojo.getScore();
|
||||||
judgementStr = studentScorePojo.getText();
|
judgementStr = studentScorePojo.getText();
|
||||||
@@ -991,7 +991,7 @@ public class IMysqlLocalServiceImpl implements IMysqlLocalService {
|
|||||||
Matcher matcher = pattern.matcher(sql);
|
Matcher matcher = pattern.matcher(sql);
|
||||||
|
|
||||||
if (!matcher.find()) {
|
if (!matcher.find()) {
|
||||||
throw new IllegalArgumentException("无法解析 UPDATE 语句");
|
appendToFile(answerLogPath, "无法解析 UPDATE 语句");
|
||||||
}
|
}
|
||||||
|
|
||||||
String tableName = matcher.group(1);
|
String tableName = matcher.group(1);
|
||||||
@@ -1034,16 +1034,14 @@ public class IMysqlLocalServiceImpl implements IMysqlLocalService {
|
|||||||
//
|
//
|
||||||
if (isEquivalent) {
|
if (isEquivalent) {
|
||||||
correctCount++; // 完全正确
|
correctCount++; // 完全正确
|
||||||
appendToFile(answerLogPath, "【执行】 " + "【" + selectSql + "】 【验证】 【表】 【" + tableName + "】【√】");
|
appendToFile(answerLogPath, "【执行】 " + "【" + selectSql + "】 【验证】 【表】 【" + tableName + "】【结果】【√】");
|
||||||
|
judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "【执行】 " + "【" + selectSql + "】 【验证】 【表】 【" + tableName + "】【结果】【✅】");
|
||||||
|
|
||||||
SourceAndText studentScorePojo = accumulateScoreAndLog(examMysqlKeywordList, total, answerLogPath, sql, totalKeyScore, score, answerId, scoreTotal, judgementStr);
|
SourceAndText studentScorePojo = accumulateScoreAndLog(examMysqlKeywordList, total, answerLogPath, sql, totalKeyScore, score, answerId, scoreTotal, judgementStr);
|
||||||
scoreTotal += studentScorePojo.getScore();
|
scoreTotal += studentScorePojo.getScore();
|
||||||
judgementStr = studentScorePojo.getText();
|
judgementStr = studentScorePojo.getText();
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "【执行】 " + "【" + selectSql + "】 【验证】 【表】 【" + tableName + "】【结果】【❌】");
|
||||||
|
|
||||||
if (answerListStu.size() >= 2) {
|
if (answerListStu.size() >= 2) {
|
||||||
List<String> fieldMeta = answerListStu.get(0);
|
List<String> fieldMeta = answerListStu.get(0);
|
||||||
List<String> fieldValue = answerListStu.get(1);
|
List<String> fieldValue = answerListStu.get(1);
|
||||||
@@ -1052,19 +1050,18 @@ public class IMysqlLocalServiceImpl implements IMysqlLocalService {
|
|||||||
for (int i = 0; i < fieldMeta.size() && i < fieldValue.size(); i++) {
|
for (int i = 0; i < fieldMeta.size() && i < fieldValue.size(); i++) {
|
||||||
columnInfo.put(fieldMeta.get(i), fieldValue.get(i));
|
columnInfo.put(fieldMeta.get(i), fieldValue.get(i));
|
||||||
}
|
}
|
||||||
|
|
||||||
String alterSQL = buildAlterFromShowColumn(tableName, columnInfo);
|
String alterSQL = buildAlterFromShowColumn(tableName, columnInfo);
|
||||||
appendToFile(answerLogPath, "【执行】 " + "【" + selectSql + "】 【验证】 【表】 【" + tableName + "】【×】");
|
appendToFile(answerLogPath, "【执行】 " + "【" + selectSql + "】 【验证】 【表】 【" + tableName + "】【结果】【×】");
|
||||||
SourceAndText studentScorePojo = calculateTotalScoreRate(alterSQL, examMysqlKeywordList, totalKeyScore, score, answerId, scoreTotal, judgementStr);
|
SourceAndText studentScorePojo = calculateTotalScoreRate(alterSQL, examMysqlKeywordList, totalKeyScore, score, answerId, scoreTotal, judgementStr);
|
||||||
scoreTotal += studentScorePojo.getScore();
|
scoreTotal += studentScorePojo.getScore();
|
||||||
judgementStr = studentScorePojo.getText();
|
judgementStr = studentScorePojo.getText();
|
||||||
|
}else {
|
||||||
|
SourceAndText studentScorePojo = calculateTotalScoreRate(null, examMysqlKeywordList, totalKeyScore, score, answerId, scoreTotal, judgementStr);
|
||||||
|
scoreTotal += studentScorePojo.getScore();
|
||||||
|
judgementStr = studentScorePojo.getText();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// //删除临时创建的数据库databaseName
|
// //删除临时创建的数据库databaseName
|
||||||
@@ -1076,7 +1073,12 @@ public class IMysqlLocalServiceImpl implements IMysqlLocalService {
|
|||||||
// stmt.executeUpdate(dropDbSql2);
|
// stmt.executeUpdate(dropDbSql2);
|
||||||
|
|
||||||
|
|
||||||
} finally {
|
}
|
||||||
|
}
|
||||||
|
appendToFile(answerLogPath, "共得分:" + String.format("%.2f", scoreTotal));
|
||||||
|
// judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "共得分:" + String.format("%.2f", scoreTotal));
|
||||||
|
folderzip.delete();
|
||||||
|
deleteFolder(folder);
|
||||||
//删除临时创建的数据库databaseName
|
//删除临时创建的数据库databaseName
|
||||||
try (Connection conn = DriverManager.getConnection(newDbUrl, user, password);
|
try (Connection conn = DriverManager.getConnection(newDbUrl, user, password);
|
||||||
Statement stmt = conn.createStatement()) {
|
Statement stmt = conn.createStatement()) {
|
||||||
@@ -1086,12 +1088,6 @@ public class IMysqlLocalServiceImpl implements IMysqlLocalService {
|
|||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
appendToFile(answerLogPath, "共得分:" + String.format("%.2f", scoreTotal));
|
|
||||||
// judgementStr = HtmlAppender.appendHtmlLine(judgementStr, "共得分:" + String.format("%.2f", scoreTotal));
|
|
||||||
folderzip.delete();
|
|
||||||
deleteFolder(folder);
|
|
||||||
// 全部题目处理完成后
|
// 全部题目处理完成后
|
||||||
if (correctCount == totalQuestions) {
|
if (correctCount == totalQuestions) {
|
||||||
scoreTotal = score; // 全对,直接给满分
|
scoreTotal = score; // 全对,直接给满分
|
||||||
|
@@ -17,7 +17,7 @@ public class MySQLExporterUtil {
|
|||||||
|
|
||||||
public MySQLExporterUtil(String databaseName, String user, String password,String outputFilePath) {
|
public MySQLExporterUtil(String databaseName, String user, String password,String outputFilePath) {
|
||||||
this.databaseName = databaseName;
|
this.databaseName = databaseName;
|
||||||
this.jdbcUrl = "jdbc:mysql://localhost:6033/" + databaseName + "?useSSL=false&serverTimezone=Asia/Shanghai";
|
this.jdbcUrl = "jdbc:mysql://localhost:48086/" + databaseName + "?useSSL=false&serverTimezone=Asia/Shanghai";
|
||||||
this.user = user;
|
this.user = user;
|
||||||
this.password = password;
|
this.password = password;
|
||||||
this.outputFilePath = outputFilePath;
|
this.outputFilePath = outputFilePath;
|
||||||
|
Reference in New Issue
Block a user