/// <summary> /// 根据培训教材主键获取考试试题详细信息 /// </summary> /// <param name="trainingId"></param> /// <returns></returns> public static Model.TestTrainingResourcesItem getTestTrainingItemByTrainingItemId(string trainingItemId) { var getDataInfo = from x in Funs.DB.Training_TestTrainingItem where x.TrainingItemId == trainingItemId select new Model.TestTrainingResourcesItem { TrainingItemId = x.TrainingItemId, TrainingId = x.TrainingId, TrainingItemCode = x.TrainingItemCode, Abstracts = x.Abstracts, AttachUrl = x.AttachUrl.Replace('\\', '/'), TestType = x.TestType, TestTypeName = x.TestType == "1" ? "单选题" : (x.TestType == "2" ? "多选题" : "判断题"), WorkPostIds = x.WorkPostIds, WorkPostNames = WorkPostService.getWorkPostNamesWorkPostIds(x.WorkPostIds), AItem = x.AItem, BItem = x.BItem, CItem = x.CItem, DItem = x.DItem, EItem = x.EItem, AnswerItems = x.AnswerItems, }; return(getDataInfo.FirstOrDefault()); }
/// <summary> /// 根据考试ID获取考试计划详细 /// </summary> /// <param name="testPlanId"></param> /// <returns></returns> public static Model.TestPlanItem getTestPlanByTestPlanId(string testPlanId) { var getDataLists = from x in Funs.DB.Training_TestPlan where x.TestPlanId == testPlanId select new Model.TestPlanItem { TestPlanId = x.TestPlanId, ProjectId = x.ProjectId, TestPlanCode = x.PlanCode, TestPlanName = x.PlanName, TestPlanManId = x.PlanManId, TestPlanManName = Funs.DB.Sys_User.First(y => y.UserId == x.TestPlanId).UserName, TestPlanDate = string.Format("{0:yyyy-MM-dd HH:mm}", x.PlanDate), TestStartTime = string.Format("{0:yyyy-MM-dd HH:mm}", x.TestStartTime), TestEndTime = string.Format("{0:yyyy-MM-dd HH:mm}", x.TestEndTime), Duration = x.Duration, SValue = x.SValue, MValue = x.MValue, JValue = x.JValue, TotalScore = x.TotalScore ?? 0, QuestionCount = x.QuestionCount ?? 0, TestPalce = x.TestPalce, UnitIds = x.UnitIds, UnitNames = UnitService.getUnitNamesUnitIds(x.UnitIds), WorkPostIds = x.WorkPostIds, WorkPostNames = WorkPostService.getWorkPostNamesWorkPostIds(x.WorkPostIds), States = x.States, QRCodeUrl = x.QRCodeUrl.Replace('\\', '/'), TrainingPlanId = x.PlanId, }; return(getDataLists.FirstOrDefault()); }
/// <summary> /// 根据培训ID获取培训计划详细 /// </summary> /// <param name="planId"></param> /// <returns></returns> public static Model.TrainingPlanItem getTrainingPlanByTrainingId(string planId) { var getDataLists = from x in Funs.DB.Training_Plan where x.PlanId == planId select new Model.TrainingPlanItem { PlanId = x.PlanId, PlanCode = x.PlanCode, PlanName = x.PlanName, ProjectId = x.ProjectId, TrainTypeId = x.TrainTypeId, TrainTypeName = Funs.DB.Base_TrainType.First(y => y.TrainTypeId == x.TrainTypeId).TrainTypeName, TrainLevelId = x.TrainLevelId, TrainLevelName = Funs.DB.Base_TrainLevel.First(y => y.TrainLevelId == x.TrainLevelId).TrainLevelName, TeachHour = x.TeachHour ?? 0, TeachAddress = x.TeachAddress, TrainStartDate = string.Format("{0:yyyy-MM-dd HH:mm}", x.TrainStartDate), TeachMan = x.TeachMan, UnitIds = x.UnitIds, WorkPostId = x.WorkPostId, TrainContent = x.TrainContent, UnitNames = UnitService.getUnitNamesUnitIds(x.UnitIds), WorkPostNames = WorkPostService.getWorkPostNamesWorkPostIds(x.WorkPostId), DesignerId = x.DesignerId, DesignerName = Funs.DB.Sys_User.First(y => y.UserId == x.DesignerId).UserName, DesignerDate = string.Format("{0:yyyy-MM-dd HH:mm}", x.TrainStartDate), States = x.States, QRCodeUrl = x.QRCodeUrl.Replace('\\', '/'), }; return(getDataLists.FirstOrDefault()); }
/// <summary> /// 根据培训ID获取培训记录详细 /// </summary> /// <param name="trainRecordId"></param> /// <returns></returns> public static Model.TrainRecordItem getTrainRecordByTrainingId(string trainRecordId) { var getDataLists = from x in Funs.DB.EduTrain_TrainRecord where x.TrainingId == trainRecordId select new Model.TrainRecordItem { TrainRecordId = x.TrainingId, TrainingCode = x.TrainingCode, TrainTitle = x.TrainTitle, ProjectId = x.ProjectId, TrainTypeId = x.TrainTypeId, TrainTypeName = Funs.DB.Base_TrainType.First(y => y.TrainTypeId == x.TrainTypeId).TrainTypeName, TrainLevelId = x.TrainLevelId, TrainLevelName = Funs.DB.Base_TrainLevel.First(y => y.TrainLevelId == x.TrainLevelId).TrainLevelName, TeachHour = x.TeachHour ?? 0, TeachAddress = x.TeachAddress, TrainStartDate = string.Format("{0:yyyy-MM-dd HH:mm}", x.TrainStartDate), UnitIds = x.UnitIds, WorkPostIds = x.WorkPostIds, TrainContent = x.TrainContent, AttachUrl = Funs.DB.AttachFile.First(y => y.ToKeyId == x.TrainingId).AttachUrl.Replace('\\', '/'), UnitNames = UnitService.getUnitNamesUnitIds(x.UnitIds), WorkPostNames = WorkPostService.getWorkPostNamesWorkPostIds(x.WorkPostIds), }; return(getDataLists.FirstOrDefault()); }
/// <summary> /// 根据培训计划ID生成 考试计划信息 /// </summary> /// <param name="getTestPlan"></param> public static string SaveTestPlanByTrainingPlanId(string trainingPlanId, string userId) { string testPlanId = string.Empty; using (Model.SUBHSSEDB db = new Model.SUBHSSEDB(Funs.ConnString)) { ////培训计划 var getTrainingPlan = db.Training_Plan.FirstOrDefault(x => x.PlanId == trainingPlanId);; if (getTrainingPlan != null && getTrainingPlan.States == "1") { testPlanId = SQLHelper.GetNewID(); Model.Training_TestPlan newTestPlan = new Model.Training_TestPlan { TestPlanId = testPlanId, ProjectId = getTrainingPlan.ProjectId, //PlanCode = getTrainingPlan.PlanCode, PlanName = getTrainingPlan.PlanName, PlanManId = userId, PlanDate = DateTime.Now, TestStartTime = DateTime.Now, TestPalce = getTrainingPlan.TeachAddress, UnitIds = getTrainingPlan.UnitIds, UnitNames = UnitService.getUnitNamesUnitIds(getTrainingPlan.UnitIds), WorkPostIds = getTrainingPlan.WorkPostId, WorkPostNames = WorkPostService.getWorkPostNamesWorkPostIds(getTrainingPlan.WorkPostId), PlanId = getTrainingPlan.PlanId, States = "0", }; string unitId = string.Empty; var user = db.Sys_User.FirstOrDefault(e => e.UserId == userId); if (user != null) { unitId = user.UnitId; } newTestPlan.PlanCode = CodeRecordsService.ReturnCodeByMenuIdProjectId(Const.ProjectTestPlanMenuId, newTestPlan.ProjectId, unitId); int Duration = 90; int SValue = 1; int MValue = 2; int JValue = 1; int testType1Count = 40; int testType2Count = 10; int testType3Count = 40; ////获取考试规则设置数据 var getTestRule = db.Sys_TestRule.FirstOrDefault(); ////考试数据设置 if (getTestRule != null) { Duration = getTestRule.Duration; SValue = getTestRule.SValue; MValue = getTestRule.MValue; JValue = getTestRule.JValue; testType1Count = getTestRule.SCount; testType2Count = getTestRule.MCount; testType3Count = getTestRule.JCount; } ////按照培训类型获取试题类型及题型数量 var getTrainTypeItems = from x in db.Base_TrainTypeItem where x.TrainTypeId == getTrainingPlan.TrainTypeId select x; if (getTrainTypeItems.Count() > 0) { testType1Count = getTrainTypeItems.Sum(x => x.SCount); testType2Count = getTrainTypeItems.Sum(x => x.MCount); testType3Count = getTrainTypeItems.Sum(x => x.JCount); } newTestPlan.Duration = getTestRule.Duration; newTestPlan.SValue = getTestRule.SValue; newTestPlan.MValue = getTestRule.MValue; newTestPlan.JValue = getTestRule.JValue; newTestPlan.TotalScore = testType1Count * SValue + testType2Count * MValue + testType3Count * JValue; newTestPlan.QuestionCount = testType1Count + testType2Count + testType3Count; newTestPlan.TestEndTime = newTestPlan.TestStartTime.AddMinutes(newTestPlan.Duration); ////新增考试计划记录 var getIsTestPlan = db.Training_TestPlan.FirstOrDefault(x => x.PlanId == newTestPlan.PlanId); if (getIsTestPlan == null) { db.Training_TestPlan.InsertOnSubmit(newTestPlan); db.SubmitChanges(); CodeRecordsService.InsertCodeRecordsByMenuIdProjectIdUnitId(Const.ProjectTestPlanMenuId, newTestPlan.ProjectId, null, testPlanId, newTestPlan.PlanDate); ///培训人员 var getTrainingTask = (from x in db.Training_Task where x.PlanId == trainingPlanId select x).ToList(); foreach (var itemTask in getTrainingTask) { Model.Training_TestRecord newTestRecord = new Model.Training_TestRecord { TestRecordId = SQLHelper.GetNewID(), ProjectId = getTrainingPlan.ProjectId, TestPlanId = testPlanId, TestManId = itemTask.UserId, TestType = db.Base_TrainType.First(z => z.TrainTypeId == getTrainingPlan.TrainTypeId).TrainTypeName, }; db.Training_TestRecord.InsertOnSubmit(newTestRecord); db.SubmitChanges(); } if (getTrainTypeItems.Count() == 0) { /////考试题型类别及数量 Model.Training_TestPlanTraining newTestPlanTraining = new Model.Training_TestPlanTraining { TestPlanTrainingId = SQLHelper.GetNewID(), TestPlanId = testPlanId, TestType1Count = testType1Count, TestType2Count = testType2Count, TestType3Count = testType3Count, }; db.Training_TestPlanTraining.InsertOnSubmit(newTestPlanTraining); db.SubmitChanges(); } else { foreach (var item in getTrainTypeItems) { /////考试题型类别及数量 Model.Training_TestPlanTraining newTestPlanTraining = new Model.Training_TestPlanTraining { TestPlanTrainingId = SQLHelper.GetNewID(), TestPlanId = testPlanId, TrainingId = item.TrainingId, TestType1Count = item.SCount, TestType2Count = item.MCount, TestType3Count = item.JCount, }; db.Training_TestPlanTraining.InsertOnSubmit(newTestPlanTraining); db.SubmitChanges(); } } } ////回写培训计划状态 getTrainingPlan.States = "2"; db.SubmitChanges(); } } return(testPlanId); }