From 0f7638febcabb2af3f0816a79549fc78f512c427 Mon Sep 17 00:00:00 2001 From: yhw0507 Date: Mon, 25 Jul 2022 10:08:36 +0800 Subject: [PATCH] =?UTF-8?q?20220725=20=E4=BC=98=E5=8C=96=E7=AD=94=E9=A2=98?= =?UTF-8?q?=E4=BA=A4=E5=8D=B7=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SGGL/BLL/API/HSSE/APITestRecordService.cs | 43 +++++----- SGGL/BLL/SysManage/SysConstSetService.cs | 14 ++-- SGGL/SgManager.AI/SgManager.AI.csproj | 5 +- .../Controllers/HSSE/TestRecordController.cs | 2 +- .../Controllers/HSSE/TestingController.cs | 80 +++++++++---------- .../PublishProfiles/FolderProfile.pubxml | 14 ++-- 6 files changed, 80 insertions(+), 78 deletions(-) diff --git a/SGGL/BLL/API/HSSE/APITestRecordService.cs b/SGGL/BLL/API/HSSE/APITestRecordService.cs index cc933073..b010cafe 100644 --- a/SGGL/BLL/API/HSSE/APITestRecordService.cs +++ b/SGGL/BLL/API/HSSE/APITestRecordService.cs @@ -502,11 +502,11 @@ namespace BLL /// /// /// - public static void getTestRecordItemAnswerBySelectedItem(Model.Training_TestRecordItem getTItemT, string selectedItem) + public static void getTestRecordItemAnswerBySelectedItem(string testRecordItemId, string selectedItem) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { - var getTItem = db.Training_TestRecordItem.FirstOrDefault(x => x.TestRecordItemId == getTItemT.TestRecordItemId); + var getTItem = db.Training_TestRecordItem.FirstOrDefault(x => x.TestRecordItemId == testRecordItemId); if (getTItem != null) { getTItem.SubjectScore = 0; @@ -588,28 +588,31 @@ namespace BLL /// public static string getResitTestRecord(Model.Training_TestRecord getTestRecord) { - Model.Training_TestRecord newTestRecord = new Model.Training_TestRecord + using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { - TestRecordId = SQLHelper.GetNewID(), - ProjectId = getTestRecord.ProjectId, - TestPlanId = getTestRecord.TestPlanId, - TestManId = getTestRecord.TestManId, - TestType = getTestRecord.TestType, - TemporaryUser = getTestRecord.TemporaryUser, - Duration = getTestRecord.Duration, - // TestStartTime = DateTime.Now, - }; + Model.Training_TestRecord newTestRecord = new Model.Training_TestRecord + { + TestRecordId = SQLHelper.GetNewID(), + ProjectId = getTestRecord.ProjectId, + TestPlanId = getTestRecord.TestPlanId, + TestManId = getTestRecord.TestManId, + TestType = getTestRecord.TestType, + TemporaryUser = getTestRecord.TemporaryUser, + Duration = getTestRecord.Duration, + // TestStartTime = DateTime.Now, + }; - Funs.DB.Training_TestRecord.InsertOnSubmit(newTestRecord); - Funs.DB.SubmitChanges(); + db.Training_TestRecord.InsertOnSubmit(newTestRecord); + db.SubmitChanges(); - var getTestPlan = Funs.DB.Training_TestPlan.FirstOrDefault(x => x.TestPlanId == newTestRecord.TestPlanId); - var person = PersonService.GetPersonByUserId(newTestRecord.TestManId, getTestPlan.ProjectId); - if (getTestPlan != null && person != null) - { - CreateTestRecordItem(getTestPlan, newTestRecord.TestRecordId, person); + var getTestPlan = db.Training_TestPlan.FirstOrDefault(x => x.TestPlanId == newTestRecord.TestPlanId); + var person = PersonService.GetPersonByUserId(newTestRecord.TestManId, getTestPlan.ProjectId); + if (getTestPlan != null && person != null) + { + CreateTestRecordItem(getTestPlan, newTestRecord.TestRecordId, person); + } + return newTestRecord.TestRecordId; } - return newTestRecord.TestRecordId; } #endregion } diff --git a/SGGL/BLL/SysManage/SysConstSetService.cs b/SGGL/BLL/SysManage/SysConstSetService.cs index 123cbe94..ae356048 100644 --- a/SGGL/BLL/SysManage/SysConstSetService.cs +++ b/SGGL/BLL/SysManage/SysConstSetService.cs @@ -13,13 +13,17 @@ /// public static int getPassScore() { - int passScore = 80; - var testRule = Funs.DB.Sys_TestRule.FirstOrDefault(); - if (testRule != null) + using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { - passScore = testRule.PassingScore; + int passScore = 80; + var testRule =db.Sys_TestRule.FirstOrDefault(); + if (testRule != null) + { + passScore = testRule.PassingScore; + } + + return passScore; } - return passScore; } #region 菜单编码模板 diff --git a/SGGL/SgManager.AI/SgManager.AI.csproj b/SGGL/SgManager.AI/SgManager.AI.csproj index 3f8eebc9..5ffc1bab 100644 --- a/SGGL/SgManager.AI/SgManager.AI.csproj +++ b/SGGL/SgManager.AI/SgManager.AI.csproj @@ -38,8 +38,8 @@ False bin\Debug\AOP.Common.dll - - ..\packages\Newtonsoft.Json.10.0.3\lib\net45\Newtonsoft.Json.dll + + ..\packages\Newtonsoft.Json.12.0.1\lib\net45\Newtonsoft.Json.dll @@ -76,6 +76,7 @@ + diff --git a/SGGL/WebAPI/Controllers/HSSE/TestRecordController.cs b/SGGL/WebAPI/Controllers/HSSE/TestRecordController.cs index 34a3540a..303ca136 100644 --- a/SGGL/WebAPI/Controllers/HSSE/TestRecordController.cs +++ b/SGGL/WebAPI/Controllers/HSSE/TestRecordController.cs @@ -321,7 +321,7 @@ namespace WebAPI.Controllers var getItem = TestRecordItemService.GetTestRecordItemTestRecordItemId(testRecordItemId); if (getItem != null) { - APITestRecordService.getTestRecordItemAnswerBySelectedItem(getItem, selectedItem); + APITestRecordService.getTestRecordItemAnswerBySelectedItem(testRecordItemId, selectedItem); var testRecord = Funs.DB.Training_TestRecord.FirstOrDefault(x => x.TestRecordId == getItem.TestRecordId && x.TestStartTime.Value.AddMinutes(x.Duration) < DateTime.Now); if (testRecord != null) { diff --git a/SGGL/WebAPI/Controllers/HSSE/TestingController.cs b/SGGL/WebAPI/Controllers/HSSE/TestingController.cs index 164ae619..e71709f3 100644 --- a/SGGL/WebAPI/Controllers/HSSE/TestingController.cs +++ b/SGGL/WebAPI/Controllers/HSSE/TestingController.cs @@ -298,27 +298,7 @@ namespace WebAPI.Controllers var responeData = new Model.ResponeData(); try { - var getItem = TestRecordItemService.GetTestRecordItemTestRecordItemId(testRecordItemId); - if (getItem != null) - { - APITestRecordService.getTestRecordItemAnswerBySelectedItem(getItem, selectedItem); - var testRecord = Funs.DB.Training_TestRecord.FirstOrDefault(x => x.TestRecordId == getItem.TestRecordId && x.TestStartTime.Value.AddMinutes(x.Duration) < DateTime.Now); - if (testRecord != null) - { - //更新没有结束时间且超时的考试记录 - int closeCount = TestRecordService.UpdateTestEndTimeNull(getItem.TestRecordId); - if (closeCount > 0) - { - responeData.code = 2; - responeData.message = "本次考试已结束,系统自动交卷!"; - } - } - } - else - { - responeData.code = 0; - responeData.message = "试题有问题!"; - } + APITestRecordService.getTestRecordItemAnswerBySelectedItem(testRecordItemId, selectedItem); } catch (Exception ex) { @@ -340,36 +320,50 @@ namespace WebAPI.Controllers var responeData = new Model.ResponeData(); try { - var getTestRecord = Funs.DB.Training_TestRecord.FirstOrDefault(e => e.TestRecordId == testRecordId); - if (getTestRecord != null) + using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { string returnTestRecordId = string.Empty; - ////考试分数 - decimal getTestScores = APITestRecordService.getSubmitTestRecord(getTestRecord); - ////及格分数 - int getPassScores = SysConstSetService.getPassScore(); - if (getTestScores <= getPassScores) - { - int testCount = Funs.DB.Training_TestRecord.Where(x => x.TestPlanId == getTestRecord.TestPlanId && x.TestManId == getTestRecord.TestManId).Count(); - if (testCount < 2) + decimal getTestScores = 0; + var getTestRecord =db.Training_TestRecord.FirstOrDefault(e => e.TestRecordId == testRecordId); + if (getTestRecord != null) + { + if (getTestRecord.TestStartTime.HasValue) { - ////重新生成一条考试记录 以及考试试卷 - returnTestRecordId = APITestRecordService.getResitTestRecord(getTestRecord); - responeData.message = "考试不合格!您的成绩为:【" + getTestScores.ToString() + "】,您将进入补考。"; + getTestRecord.TestEndTime = DateTime.Now; + var getRItem = db.Training_TestRecordItem.Where(x => x.TestRecordId == testRecordId); + if (getRItem.Count() > 0) + { + getTestRecord.TestScores = getRItem.Sum(x => x.SubjectScore ?? 0); + } + db.SubmitChanges(); + getTestScores = getTestRecord.TestScores ?? 0; + } + + ////考试分数 + int getPassScores = SysConstSetService.getPassScore(); + if (getTestScores <= getPassScores) + { + int testCount = db.Training_TestRecord.Where(x => x.TestPlanId == getTestRecord.TestPlanId && x.TestManId == getTestRecord.TestManId).Count(); + if (testCount < 2) + { + ////重新生成一条考试记录 以及考试试卷 + returnTestRecordId = APITestRecordService.getResitTestRecord(getTestRecord); + responeData.message = "考试不合格!您的成绩为:【" + getTestScores.ToString() + "】,您将进入补考。"; + } + else + { + // APITestRecordService.updateAll(getTestRecord.TestPlanId); + responeData.message = "考试不合格!您的成绩为:【" + getTestScores.ToString() + "】,请再次参加培训后补考。"; + } } else { - // APITestRecordService.updateAll(getTestRecord.TestPlanId); - responeData.message = "考试不合格!您的成绩为:【" + getTestScores.ToString() + "】,请再次参加培训后补考。"; + // APITestRecordService.updateAll(getTestRecord.TestPlanId); + responeData.message = "恭喜考试通过!您的成绩为:【" + getTestScores.ToString() + "】。"; } - } - else - { - // APITestRecordService.updateAll(getTestRecord.TestPlanId); - responeData.message = "恭喜考试通过!您的成绩为:【" + getTestScores.ToString() + "】。"; - } - responeData.data = new { getTestScores, getPassScores, returnTestRecordId }; + responeData.data = new { getTestScores, getPassScores, returnTestRecordId }; + } } } catch (Exception ex) diff --git a/SGGL/WebAPI/Properties/PublishProfiles/FolderProfile.pubxml b/SGGL/WebAPI/Properties/PublishProfiles/FolderProfile.pubxml index 026d6437..cd13ab3f 100644 --- a/SGGL/WebAPI/Properties/PublishProfiles/FolderProfile.pubxml +++ b/SGGL/WebAPI/Properties/PublishProfiles/FolderProfile.pubxml @@ -10,13 +10,13 @@ Release Any CPU - True - False - F:\Package\中化五环\SGGLAPI - True - True - True - False + true + false + E:\Package\中国五环工程有限公司\SGGLAPI + true + true + true + false DonotMerge \ No newline at end of file