public ActionResult BatchAuditGraduate(int classId, string Ids, string Remark)
        {
            try
            {
                var bll = new Member_ClassRegisterBLL();
                var ids = Ids.Split(',');
                var classDetail = new Dianda.AP.BLL.Class_DetailBLL().GetModel(classId);
                var tranFieldModel = new Traning_DetailBLL().GetModel(classDetail.TraningId, "");

                foreach (var id in ids)
                {
                    if (!string.IsNullOrEmpty(id))
                    {
                        var Val = id.Split('|')[1].ToInt();
                        if (Val == 0) continue;//不操作

                        var model = bll.GetList("Delflag=0 and ClassId=" + classId + " and AccountId=" + id.Split('|')[0].ToInt(), "").First();

                        model.Result = Val;

                        var totalScore = (model.ReadingScore.HasValue ? model.ReadingScore.Value : 0)
                            + (model.DiscussScore.HasValue ? model.DiscussScore.Value : 0)
                            + (model.HomeWorkScore.HasValue ? model.HomeWorkScore.Value : 0)
                            + (model.TestingScore.HasValue ? model.TestingScore.Value : 0)
                            + (model.ExaminationScore.HasValue ? model.ExaminationScore.Value : 0)
                            + (model.CommentScore.HasValue ? model.CommentScore.Value : 0);

                        if (Math.Ceiling(totalScore) < 60 && Val == 1 && tranFieldModel.OutSideType == -1)//分数小于60,不操作
                            continue;

                        model.ApplyRemark = Remark;
                        model.ResultCreater = SiteCache.Instance.LoginInfo.UserId;
                        model.TotalScore = totalScore;
                        bll.Update(model);

                        var comment = new Dianda.AP.BLL.Class_TraningCommentResultBLL().GetListModel(" ClassId=" + classId + " and AccountId=" + id.Split('|')[0].ToInt() + " and Delflag=0");
                        if (Val == 1 && comment != null && comment.Count>0)//如果结论是合格,,并且评论过课程,则要更新用户学分
                        {
                            var tranEditModel = new Member_TrainingReditBLL().GetList("Delflag=0 and TrainingField=" + tranFieldModel.TraingField
                                + " and PlanId=" + model.PlanId + " and AccountId=" + model.AccountId, "");
                            Member_TrainingRedit tranEdit = null;
                            if (tranEditModel == null || tranEditModel.Count == 0)//创建
                            {
                                tranEdit = new Member_TrainingRedit();
                                tranEdit.AccountId = model.AccountId;
                                tranEdit.CreateDate = DateTime.Now;
                                tranEdit.Credits = tranFieldModel.TotalTime.Value;
                                tranEdit.Delflag = false;
                                tranEdit.PlanId = model.PlanId;
                                tranEdit.TrainingField = tranFieldModel.TraingField;
                                new Member_TrainingReditBLL().Add(tranEdit);
                            }
                            else//更新
                            {
                                tranEdit = tranEditModel.First();
                                tranEdit.Credits += tranFieldModel.TotalTime.Value;
                                new Member_TrainingReditBLL().Update(tranEdit);
                            }
                            var traningCredit = DataTableToListHelper<Training_Credits>.ConvertToModel(
                                new Training_CreditsBLL().GetList(" and PlanId=" + model.PlanId + " and OrganId=" + classDetail.OrganId, "")
                                );//查找学时学分
                            if (traningCredit != null && traningCredit.Count > 0) //轮循所有大类
                            {
                                bool graduateFlag = true;
                                var member_traningBll = new Member_TrainingReditBLL();
                                foreach (var item in traningCredit)
                                {
                                    var traning_credit = member_traningBll.GetList
                                        (" Delflag=0 and PlanId=" + model.PlanId + " and AccountId=" + model.AccountId + " and TrainingField=" + item.TraningField
                                        , "");
                                    if (traningCredit != null && traningCredit.Count > 0)
                                    {
                                        if (traningCredit.First().MinValue > tranEdit.Credits)
                                        {
                                            graduateFlag = false;
                                            break;
                                        }
                                    }
                                }
                                if (graduateFlag)//所有大类学分均合格,更新Member_PlanOverall表的用户合格状态。
                                {
                                    var Member_PlanOverallBll = new Member_PlanOverallBLL();
                                    var Member_PlanOverall = Member_PlanOverallBll.GetListModel(" Delflag=0 and  PlanId=" + model.PlanId + " and AccountId=" + model.AccountId);
                                    if (Member_PlanOverall != null && Member_PlanOverall.Count > 0)
                                    {
                                        var item = Member_PlanOverall.First();
                                        item.Result = 1;
                                        Member_PlanOverallBll.Update(item);
                                    }
                                    else
                                    {
                                        var item = new Member_PlanOverall();
                                        item.Result = 1;
                                        item.PlanId = model.PlanId;

                                        item.AccountId = model.AccountId;
                                        item.CreateDate = DateTime.Now;
                                        item.Delflag = false;

                                        Member_PlanOverallBll.Add(item);
                                    }
                                }
                            }

                        }
                    }
                }

                return Json(new { Code = 0, Msg = "提交成功" }, JsonRequestBehavior.AllowGet);
            }
            catch (Exception ex)
            {
                return Json(new { Code = -1, Msg = ex.Message + ex.StackTrace }, JsonRequestBehavior.AllowGet);
            }
        }
        public ActionResult MyVerify(int Status, int mpId, string verifycontent)
        {
            try
            {
                Member_PracticalCourseBLL member_PracticalCourseBLL = new Member_PracticalCourseBLL();
                Member_PracticalCourse member_PracticalCourse = new Member_PracticalCourse();
                PracticalCourse_DetailBLL practicalCourse_DetailBLL = new PracticalCourse_DetailBLL();
                PracticalCourse_Detail practicalCourse_Detail = new PracticalCourse_Detail();
                member_PracticalCourse = member_PracticalCourseBLL.GetModel(mpId, "");
                practicalCourse_Detail = practicalCourse_DetailBLL.GetPracticeModel(mpId);

                //用户培训计划课程大类学时表
                if (member_PracticalCourse.Status == 1 && Status == 2 || member_PracticalCourse.Status == 3 && Status == 2)
                {
                    Member_TrainingReditBLL member_TrainingReditBLL = new Member_TrainingReditBLL();
                    List<Member_TrainingRedit> Listmember_TrainingRedit = member_TrainingReditBLL.GetList(" TrainingField=3 and Delflag='false' and PlanId='" + practicalCourse_Detail.PlanId + "' and AccountId='" + member_PracticalCourse.AccountId + "' ", "");
                    if (Listmember_TrainingRedit == null || Listmember_TrainingRedit.Count == 0)
                    {
                        Member_TrainingRedit member_TrainingRedit = new Member_TrainingRedit();
                        member_TrainingRedit.TrainingField = 3;
                        member_TrainingRedit.PlanId = practicalCourse_Detail.PlanId;
                        member_TrainingRedit.AccountId = member_PracticalCourse.AccountId;
                        PracticalCourse_RoleCreditsBLL practicalCourse_RoleCreditsBLL = new PracticalCourse_RoleCreditsBLL();
                        member_TrainingRedit.Credits = practicalCourse_RoleCreditsBLL.GetList(" TraingField=3 and TraingCategory='" + practicalCourse_Detail.TraingCategory.ToInt() + "' and TraingTopic='" + practicalCourse_Detail.TraingTopic.ToInt() + "' and RoleId='" + Convert.ToInt32(member_PracticalCourse.RoleId) + "'", "")[0].Credits;
                        member_TrainingRedit.Delflag = false;
                        member_TrainingRedit.CreateDate = DateTime.Now;
                        member_TrainingReditBLL.Add(member_TrainingRedit);
                    }
                    else
                    {
                        Member_TrainingRedit member_TrainingRedit = Listmember_TrainingRedit[0];
                        PracticalCourse_RoleCreditsBLL practicalCourse_RoleCreditsBLL = new PracticalCourse_RoleCreditsBLL();
                        member_TrainingRedit.Credits += practicalCourse_RoleCreditsBLL.GetList(" TraingField=3 and TraingCategory='" + practicalCourse_Detail.TraingCategory.ToInt() + "' and TraingTopic='" + practicalCourse_Detail.TraingTopic.ToInt() + "' and RoleId='" + Convert.ToInt32(member_PracticalCourse.RoleId) + "'", "")[0].Credits;
                        member_TrainingReditBLL.Update(member_TrainingRedit);
                    }
                }
                else if (member_PracticalCourse.Status == 2 && Status == 3)
                {
                    Member_TrainingReditBLL member_TrainingReditBLL = new Member_TrainingReditBLL();
                    List<Member_TrainingRedit> Listmember_TrainingRedit = new List<Member_TrainingRedit>();
                    Listmember_TrainingRedit = member_TrainingReditBLL.GetList(" TrainingField=3 and Delflag='false' and PlanId='" + practicalCourse_Detail.PlanId + "' and AccountId='" + member_PracticalCourse.AccountId + "' ", "");

                    Member_TrainingRedit member_TrainingRedit = Listmember_TrainingRedit[0];
                    PracticalCourse_RoleCreditsBLL practicalCourse_RoleCreditsBLL = new PracticalCourse_RoleCreditsBLL();
                    member_TrainingRedit.Credits -= practicalCourse_RoleCreditsBLL.GetList(" TraingField=3 and TraingCategory='" + practicalCourse_Detail.TraingCategory.ToInt() + "' and TraingTopic='" + practicalCourse_Detail.TraingTopic.ToInt() + "' and RoleId='" + Convert.ToInt32(member_PracticalCourse.RoleId) + "'", "")[0].Credits;
                    member_TrainingReditBLL.Update(member_TrainingRedit);
                }

                member_PracticalCourse.Status = Status;
                member_PracticalCourse.ApplyRemark = verifycontent;
                member_PracticalCourseBLL.Update(member_PracticalCourse);

                Member_PracticalCourseApplicationBLL member_PracticalCourseApplicationBLL = new Member_PracticalCourseApplicationBLL();
                Member_PracticalCourseApplication member_PracticalCourseApplication = new Member_PracticalCourseApplication();
                member_PracticalCourseApplication.FlowId = mpId;
                member_PracticalCourseApplication.Status = Status;
                member_PracticalCourseApplication.Remark = verifycontent;
                member_PracticalCourseApplication.Creater = Code.SiteCache.Instance.LoginInfo.UserId;
                member_PracticalCourseApplication.AccountId = member_PracticalCourse.AccountId;
                member_PracticalCourseApplication.Delflag = false;
                member_PracticalCourseApplication.CreateDate = DateTime.Now;
                member_PracticalCourseApplicationBLL.Add(member_PracticalCourseApplication);

                TempData["Msg"] = "提交成功!";
                return RedirectToAction("../../Practice/PracticalCourse/PracticalCourseList");
            }
            catch (Exception)
            {
                TempData["Msg"] = "提交失败!";
                return RedirectToAction("../../Practice/PracticalCourse/PracticalCourseList");
            }
        }
        public ActionResult CreatePracticalCourse(string Title, string TraingField, string CreatetraingCategory, string CreatetraingTopic, string Content, string Members, string Roles, string AttachPathList, string createtraingNation)
        {
            try
            {
                string[] sMembers = Members.Trim(',').Split(',');
                string[] sRoles = Roles.Trim(',').Split(',');
                PracticalCourse_Detail pCourseModel = new PracticalCourse_Detail();
                pCourseModel.Title = Title;
                pCourseModel.TraingField = TraingField.ToInt();
                pCourseModel.TraingCategory = CreatetraingCategory.ToInt();
                pCourseModel.TraingTopic = CreatetraingTopic.ToInt();
                pCourseModel.Content = Content;
                pCourseModel.IsBatch = true;
                pCourseModel.OrganId = Code.SiteCache.Instance.OrganId;
                pCourseModel.PlanId = Code.SiteCache.Instance.PlanId;
                pCourseModel.People = sMembers.Length;
                pCourseModel.Display = true;
                pCourseModel.Delflag = false;
                pCourseModel.CreateDate = DateTime.Now;
                pCourseModel.NationalCoursId = Convert.ToInt32(createtraingNation);
                PracticalCourse_DetailBLL practicalCourse_DetailBLL = new PracticalCourse_DetailBLL();

                //实践课程
                int PracticalCourseId = practicalCourse_DetailBLL.Add(pCourseModel);

                PracticalCourse_AttachmentBLL practicalCourse_AttachmentBLL = new PracticalCourse_AttachmentBLL();
                if (!string.IsNullOrEmpty(AttachPathList))
                {
                    DataTable dt = practicalCourse_AttachmentBLL.GetTable("1=0", "");
                    foreach (string s in AttachPathList.Split(new string[] { ":" }, StringSplitOptions.RemoveEmptyEntries))
                    {
                        DataRow row = dt.NewRow();
                        string[] file = s.Split('|');
                        row["Id"] = file[0];
                        row["PracticalCourseId"] = pCourseModel.Id;
                        row["Title"] = file[1].Replace("'", "''");
                        row["Link"] = file[2];
                        row["Sort"] = 50;
                        row["Display"] = 1;
                        row["Delflag"] = 0;
                        row["CreateDate"] = DateTime.Now;
                        dt.Rows.Add(row);
                    }
                    //实践课程附件表
                    practicalCourse_AttachmentBLL.BatchAttach(dt);
                }

                for (int i = 0; i < sMembers.Length; i++)
                {

                    Member_PracticalCourseBLL member_PracticalCourseBLL = new Member_PracticalCourseBLL();
                    Member_PracticalCourse memPCourseModel = new Member_PracticalCourse();
                    Member_PracticalCourseApplication mpcamodel = new Member_PracticalCourseApplication();
                    memPCourseModel.PracticalCourseId = PracticalCourseId;
                    memPCourseModel.AccountId = Convert.ToInt32(sMembers[i]);
                    memPCourseModel.OrganId = Code.SiteCache.Instance.OrganId;
                    memPCourseModel.Creater = Code.SiteCache.Instance.LoginInfo.UserId;
                    memPCourseModel.Status = 2;
                    memPCourseModel.RoleId = Convert.ToInt32(sRoles[i]);
                    memPCourseModel.Delflag = false;
                    memPCourseModel.CreateDate = DateTime.Now;
                    //用户实践课程申请表
                    mpcamodel.FlowId = member_PracticalCourseBLL.Add(memPCourseModel);
                    mpcamodel.Status = 2;
                    mpcamodel.Creater = Code.SiteCache.Instance.LoginInfo.UserId;
                    mpcamodel.AccountId = Convert.ToInt32(sMembers[i]);
                    mpcamodel.CreateDate = DateTime.Now;
                    mpcamodel.Delflag = false;
                    if (mpcamodel.FlowId > 0)
                    {
                        Member_PracticalCourseApplicationBLL member_PracticalCourseApplicationBLL = new Member_PracticalCourseApplicationBLL();
                        //用户实践课程流程表
                        member_PracticalCourseApplicationBLL.Add(mpcamodel);
                    }
                    //用户培训计划课程大类学时表
                    Member_TrainingReditBLL member_TrainingReditBLL = new Member_TrainingReditBLL();
                    List<Member_TrainingRedit> Listmember_TrainingRedit = new List<Member_TrainingRedit>();
                    Listmember_TrainingRedit = member_TrainingReditBLL.GetList(" TrainingField=3 and Delflag='false' and PlanId='" + Code.SiteCache.Instance.PlanId + "' and AccountId='" + Convert.ToInt32(sMembers[i]) + "' ", "");
                    if (Listmember_TrainingRedit == null || Listmember_TrainingRedit.Count == 0)
                    {
                        Member_TrainingRedit member_TrainingRedit = new Member_TrainingRedit();
                        member_TrainingRedit.TrainingField = 3;
                        member_TrainingRedit.PlanId = Code.SiteCache.Instance.PlanId;
                        member_TrainingRedit.AccountId = Convert.ToInt32(sMembers[i]);
                        PracticalCourse_RoleCreditsBLL practicalCourse_RoleCreditsBLL = new PracticalCourse_RoleCreditsBLL();
                        member_TrainingRedit.Credits = practicalCourse_RoleCreditsBLL.GetList(" TraingField=3 and TraingCategory='" + CreatetraingCategory.ToInt() + "' and TraingTopic='" + CreatetraingTopic.ToInt() + "' and RoleId='" + Convert.ToInt32(sRoles[i]) + "'", "")[0].Credits;
                        member_TrainingRedit.Delflag = false;
                        member_TrainingRedit.CreateDate = DateTime.Now;
                        member_TrainingReditBLL.Add(member_TrainingRedit);
                    }
                    else
                    {
                        Member_TrainingRedit member_TrainingRedit = Listmember_TrainingRedit[0];
                        PracticalCourse_RoleCreditsBLL practicalCourse_RoleCreditsBLL = new PracticalCourse_RoleCreditsBLL();
                        member_TrainingRedit.Credits += practicalCourse_RoleCreditsBLL.GetList(" TraingField=3 and TraingCategory='" + CreatetraingCategory.ToInt() + "' and TraingTopic='" + CreatetraingTopic.ToInt() + "' and RoleId='" + Convert.ToInt32(sRoles[i]) + "'", "")[0].Credits;
                        member_TrainingReditBLL.Update(member_TrainingRedit);
                    }

                }
                TempData["Msg"] = "提交成功!";
                return RedirectToAction("PracticalCourseList");
            }
            catch (Exception ex)
            {
                TempData["Msg"] = "提交失败!";
                return RedirectToAction("PracticalCourseList");
            }
        }
Esempio n. 4
0
        /// <summary>
        /// 课程评价,如果已合格,加上学时
        /// </summary>
        public static void commentTraningOper(int classId,int accountId)
        {
            var classDetail = new Dianda.AP.BLL.Class_DetailBLL().GetModel(classId);
            var tranFieldModel = new Traning_DetailBLL().GetModel(classDetail.TraningId, "");

            var model = new Dianda.AP.BLL.Member_ClassRegisterBLL().GetList("Delflag=0 and ClassId=" + classId + " and AccountId=" + accountId, "").First();

            var comment = new Dianda.AP.BLL.Class_TraningCommentResultBLL().GetListModel(" ClassId=" + classId + " and AccountId=" + accountId + " and Delflag=0");
            if (model.Result == 1 && comment != null && comment.Count > 0)//如果结论是合格,,并且评论过课程,则要更新用户学分
            {
                var tranEditModel = new Member_TrainingReditBLL().GetList("Delflag=0 and TrainingField=" + tranFieldModel.TraingField
                    + " and PlanId=" + model.PlanId + " and AccountId=" + model.AccountId, "");
                Member_TrainingRedit tranEdit = null;
                if (tranEditModel == null || tranEditModel.Count == 0)//创建
                {
                    tranEdit = new Member_TrainingRedit();
                    tranEdit.AccountId = model.AccountId;
                    tranEdit.CreateDate = DateTime.Now;
                    tranEdit.Credits = tranFieldModel.TotalTime.Value;
                    tranEdit.Delflag = false;
                    tranEdit.PlanId = model.PlanId;
                    tranEdit.TrainingField = tranFieldModel.TraingField;
                    new Member_TrainingReditBLL().Add(tranEdit);
                }
                else//更新
                {
                    tranEdit = tranEditModel.First();
                    tranEdit.Credits += tranFieldModel.TotalTime.Value;
                    new Member_TrainingReditBLL().Update(tranEdit);
                }
                var traningCredit = DataTableToListHelper<Training_Credits>.ConvertToModel(
                    new Training_CreditsBLL().GetList(" and PlanId=" + model.PlanId + " and OrganId=" + classDetail.OrganId, "")
                    );//查找学时学分
                if (traningCredit != null && traningCredit.Count > 0) //轮循所有大类
                {
                    bool graduateFlag = true;
                    var member_traningBll = new Member_TrainingReditBLL();
                    foreach (var item in traningCredit)
                    {
                        var traning_credit = member_traningBll.GetList
                            (" Delflag=0 and PlanId=" + model.PlanId + " and AccountId=" + model.AccountId + " and TrainingField=" + item.TraningField
                            , "");
                        if (traningCredit != null && traningCredit.Count > 0)
                        {
                            if (traningCredit.First().MinValue > tranEdit.Credits)
                            {
                                graduateFlag = false;
                                break;
                            }
                        }
                    }
                    if (graduateFlag)//所有大类学分均合格,更新Member_PlanOverall表的用户合格状态。
                    {
                        var Member_PlanOverallBll = new Member_PlanOverallBLL();
                        var Member_PlanOverall = Member_PlanOverallBll.GetListModel(" Delflag=0 and  PlanId=" + model.PlanId + " and AccountId=" + model.AccountId);
                        if (Member_PlanOverall != null && Member_PlanOverall.Count > 0)
                        {
                            var item = Member_PlanOverall.First();
                            item.Result = 1;
                            Member_PlanOverallBll.Update(item);
                        }
                        else
                        {
                            var item = new Member_PlanOverall();
                            item.Result = 1;
                            item.PlanId = model.PlanId;

                            item.AccountId = model.AccountId;
                            item.CreateDate = DateTime.Now;
                            item.Delflag = false;

                            Member_PlanOverallBll.Add(item);
                        }
                    }
                }

            }
        }