diff --git a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/SEController/SETestController.cs b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/SEController/SETestController.cs index f2fc66c..eef2d45 100644 --- a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/SEController/SETestController.cs +++ b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/SEController/SETestController.cs @@ -334,6 +334,9 @@ namespace APT.SE.WebApi.Controllers.Api T_FM_USER_POST modelPost = null; List listPostNameEmpty = new List(); + List listAnswerErrorIndex = new List(); + List listAnswerError = new List(); + string strANSWER = string.Empty; T_SE_TEST_ENUM_POINT modelPoint = null; List listPointNameEmpty = new List(); DateTime dtNow = DateTime.Now; @@ -419,65 +422,90 @@ namespace APT.SE.WebApi.Controllers.Api { mainTable.OPTION_E = (dtSource.Rows[i][6].ToString().Trim()); } - if (!string.IsNullOrEmpty(dtSource.Rows[i][7].ToString().Trim())) + strANSWER = dtSource.Rows[i][7].ToString().Trim(); + if (!string.IsNullOrEmpty(strANSWER)) { if (mainTable.TYPE == SETestTypeEnum.是非题) { - if (dtSource.Rows[i][7].ToString().Trim() == "是") + if (strANSWER == "是") { mainTable.ANSWER = 1; } - else if (dtSource.Rows[i][7].ToString().Trim() == "否") + else if (strANSWER == "否") { mainTable.ANSWER = 2; } + else + { + if (listAnswerError.Contains(strANSWER)) + { + listAnswerError.Add(strANSWER); + } + listAnswerErrorIndex.Add(i + rowIndex); + } } if (mainTable.TYPE == SETestTypeEnum.单选题) { - if (dtSource.Rows[i][7].ToString().Trim() == "A") + if (strANSWER == "A") { mainTable.ANSWER = 1; } - else if (dtSource.Rows[i][7].ToString().Trim() == "B") + else if (strANSWER == "B") { mainTable.ANSWER = 2; } - else if (dtSource.Rows[i][7].ToString().Trim() == "C") + else if (strANSWER == "C") { mainTable.ANSWER = 4; } - else if (dtSource.Rows[i][7].ToString().Trim() == "D") + else if (strANSWER == "D") { mainTable.ANSWER = 8; } + else + { + if (listAnswerError.Contains(strANSWER)) + { + listAnswerError.Add(strANSWER); + } + listAnswerErrorIndex.Add(i + rowIndex); + } } if (mainTable.TYPE == SETestTypeEnum.多选题) { int answer = 0; - if (dtSource.Rows[i][7].ToString().Trim().Contains("A")) + if (strANSWER.Contains("A")) { answer = answer + 1; } - if (dtSource.Rows[i][7].ToString().Trim().Contains("B")) + if (strANSWER.Contains("B")) { answer = answer + 2; } - if (dtSource.Rows[i][7].ToString().Trim().Contains("C")) + if (strANSWER.Contains("C")) { answer = answer + 4; } - if (dtSource.Rows[i][7].ToString().Trim().Contains("D")) + if (strANSWER.Contains("D")) { answer = answer + 8; } - if (dtSource.Rows[i][7].ToString().Trim().Contains("E")) + if (strANSWER.Contains("E")) { answer = answer + 16; } mainTable.ANSWER = answer; } } + else + { + if (listAnswerError.Contains(strANSWER)) + { + listAnswerError.Add(strANSWER); + } + listAnswerErrorIndex.Add(i + rowIndex); + } if (!string.IsNullOrEmpty(dtSource.Rows[i][8].ToString().Trim())) { int k = 0; @@ -560,7 +588,7 @@ namespace APT.SE.WebApi.Controllers.Api #region 提示 string strEmptyError = string.Empty; - if (listPostNameEmpty.Count > 0 || dicIndexEmpty.Count > 0|| listPointNameEmpty.Count > 0) + if (listPostNameEmpty.Count > 0 || dicIndexEmpty.Count > 0 || listPointNameEmpty.Count > 0) { if (dicIndexEmpty.Count > 0) { @@ -587,6 +615,10 @@ namespace APT.SE.WebApi.Controllers.Api { throw new Exception("知识点未找到:" + string.Join(",", listPointNameEmpty)); } + if (listAnswerErrorIndex.Count > 0) + { + throw new Exception("答案有误,行:【" + string.Join("," + listAnswerErrorIndex) + "】值:" + string.Join(",", listAnswerError)); + } } if (strEmptyError != string.Empty) throw new Exception(strEmptyError);