From 86001d7586458af87f16bdabd51116861a2f4008 Mon Sep 17 00:00:00 2001 From: wyw <571921741@qq.com> Date: Thu, 26 Mar 2026 14:08:13 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A2=98=E5=BA=93=E5=AF=BC=E5=85=A5=20?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=A2=98=E7=9B=AE=E9=87=8D=E5=A4=8D=E5=88=A4?= =?UTF-8?q?=E6=96=AD=20=20=E4=B8=8E=E8=AF=95=E9=A2=98=E4=B8=80=E8=87=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Api/SEController/SECoursewearlibrary.cs | 47 +++++++++++++++---- 1 file changed, 38 insertions(+), 9 deletions(-) diff --git a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/SEController/SECoursewearlibrary.cs b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/SEController/SECoursewearlibrary.cs index 012ef37..d09cc69 100644 --- a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/SEController/SECoursewearlibrary.cs +++ b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/SEController/SECoursewearlibrary.cs @@ -522,6 +522,14 @@ namespace APT.SE.WebApi.Controllers.Api List listPointNameEmpty = new List(); DateTime dtNow = DateTime.Now; + //数据库现有题目 去重判断 + List listDataAllCheck = GetEntities(e => !e.IS_DELETED, null, null).ToList(); + T_SE_TEST check = null; + List listRepeatDataIndex = new List(); + List listNameTypeError = new List(); + List listRepeatExcelIndex = new List(); + List listNameTypeEError = new List(); + for (int i = 0; i < rowAll; i++) { #region 不能为空 @@ -562,15 +570,15 @@ namespace APT.SE.WebApi.Controllers.Api var testType = dtSource.Rows[i][1].ToString().Trim(); if (!string.IsNullOrEmpty(testType)) { - if (dtSource.Rows[i][1].ToString().Trim() == "是非题") + if (testType == "是非题") { mainTable.TYPE = SETestTypeEnum.是非题; } - else if (dtSource.Rows[i][1].ToString().Trim() == "单选题") + else if (testType == "单选题") { mainTable.TYPE = SETestTypeEnum.单选题; } - else if (dtSource.Rows[i][1].ToString().Trim() == "多选题") + else if (testType == "多选题") { mainTable.TYPE = SETestTypeEnum.多选题; } @@ -583,6 +591,20 @@ namespace APT.SE.WebApi.Controllers.Api { throw new Exception("题型不能为空!"); } + + check = listDataAllCheck.FirstOrDefault(e => e.NAME == mainTable.NAME && e.TYPE == mainTable.TYPE); + if (check != null) + { + listRepeatDataIndex.Add((i + rowIndex).ToString()); + listNameTypeError.Add(mainTable.NAME + "" + testType); + } + check = mainTables.FirstOrDefault(e => e.NAME == mainTable.NAME && e.TYPE == mainTable.TYPE); + if (check != null) + { + listRepeatExcelIndex.Add((i + rowIndex).ToString()); + listNameTypeEError.Add(mainTable.NAME + "" + testType); + } + if (!string.IsNullOrEmpty(dtSource.Rows[i][2].ToString().Trim())) { mainTable.OPTION_A = (dtSource.Rows[i][2].ToString().Trim()); @@ -609,11 +631,11 @@ namespace APT.SE.WebApi.Controllers.Api mainTable.ANSWERSHOW = strANSWER; if (mainTable.TYPE == SETestTypeEnum.是非题) { - if (strANSWER == "是" || strANSWER == "A") + if (strANSWER == "A" || strANSWER == "是" || strANSWER == "a") { mainTable.ANSWER = 1; } - else if (strANSWER == "否" || strANSWER == "B") + else if (strANSWER == "B" || strANSWER == "否" || strANSWER == "b") { mainTable.ANSWER = 2; } @@ -626,8 +648,7 @@ namespace APT.SE.WebApi.Controllers.Api listAnswerErrorIndex.Add((i + rowIndex).ToString()); } } - - if (mainTable.TYPE == SETestTypeEnum.单选题) + else if (mainTable.TYPE == SETestTypeEnum.单选题) { if (strANSWER == "A") { @@ -654,7 +675,7 @@ namespace APT.SE.WebApi.Controllers.Api listAnswerErrorIndex.Add((i + rowIndex).ToString()); } } - if (mainTable.TYPE == SETestTypeEnum.多选题) + else if (mainTable.TYPE == SETestTypeEnum.多选题) { int answer = 0; if (strANSWER.Contains("A")) @@ -809,7 +830,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 || listRepeatDataIndex.Count > 0 || listRepeatExcelIndex.Count > 0) { if (dicIndexEmpty.Count > 0) { @@ -840,6 +861,14 @@ namespace APT.SE.WebApi.Controllers.Api { throw new Exception("答案有误,行:【" + string.Join(",", listAnswerErrorIndex) + "】值:" + string.Join(",", listAnswerError)); } + if (listRepeatDataIndex.Count > 0) + { + throw new Exception("与现有题库重复,行:【" + string.Join(",", listRepeatDataIndex) + "】值:" + string.Join(",", listNameTypeError)); + } + if (listRepeatExcelIndex.Count > 0) + { + throw new Exception("Excel中题目重复,行:【" + string.Join(",", listRepeatExcelIndex) + "】值:" + string.Join(",", listNameTypeEError)); + } } if (strEmptyError != string.Empty) throw new Exception(strEmptyError);