コード例 #1
0
        /// <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());
        }
コード例 #2
0
ファイル: APITestPlanService.cs プロジェクト: klniu/SUBHSSE
        /// <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());
        }
コード例 #3
0
        /// <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());
        }
コード例 #4
0
        /// <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());
        }
コード例 #5
0
ファイル: APITestPlanService.cs プロジェクト: klniu/SUBHSSE
        /// <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);
        }