public ActionResult Join(int ID)
        {
            ViewBag.ProfilesBLL = ProfilesBLL;

            ResearchPlanInfo infoPlan = ResearchPlanBLL.GetList(p => p.ID == ID).FirstOrDefault();

            if (infoPlan.DateBegin < DateTime.Now.Date)
            {
                return(RedirectToAction("Msg", "CommPage", new { Title = "计划已过期" }));
            }
            if (null != UserBLL.GetCurrent())
            {
                return(RedirectToAction("index", "Research", new { ID = ID, PlanID = ID }));
            }
            if (null == infoWechatUserReturn)
            {
                return(RedirectToAction("Msg", "CommPage", new { Title = "系统无法获取到您的个人信息" }));
            }
            var infoUser = UserBLL.GetList(a => a.WechatOpenID == infoWechatUserReturn.openid).FirstOrDefault();

            if (null != infoUser && infoPlan.ResearchPlanUserInfo.Any(a => a.UserID == infoUser.ID))
            {
                return(RedirectToAction("Detail", "ResearchPlan", new { ID = infoPlan.ID }));
            }

            ViewBag.infoPlan             = infoPlan;
            ViewBag.infoWechatUserReturn = infoWechatUserReturn;
            return(View(infoUser));
        }
예제 #2
0
        /// <summary>
        /// 通知学校有组织调研
        /// </summary>
        /// <param name="ID"></param>
        /// <returns></returns>

        public ActionResult PushMsg(int ID)
        {
            ResearchPlanInfo infoPlan = ResearchPlanBLL.GetList(a => a.ID == ID).FirstOrDefault();

            ViewBag.listRule = RuleBLL.GetList(a => a.Enable);
            return(View(infoPlan));
        }
예제 #3
0
        public ActionResult Detail(int id)
        {
            infoHead.LeftURL = Url.Action("index");
            ResearchPlanInfo info = ResearchPlanBLL.GetList(p => p.ID == id).FirstOrDefault();

            return(View(info));
        }
예제 #4
0
        public ActionResult Detail(int PlanID)
        {
            infoHead.LeftURL = Url.Action("index");

            var infoPlan = ResearchPlanBLL.GetList(a => a.ID == PlanID).FirstOrDefault();

            if (null == infoPlan || infoPlan.TypeEnum != (int)SysEnum.ResearchPlanType.个人听课)
            {
                return(RedirectToAction("Msg", "CommPage", new { Title = "好像没有这样一个听课反馈窝" }));
            }
            ResearchInfo info = infoPlan.ResearchInfo.FirstOrDefault();

            if (null == info)
            {
                return(RedirectToAction("Msg", "CommPage", new { Title = "好像没有这样一个听课反馈窝" }));
            }

            ViewBag.listResearchNote = info.ResearchNoteInfo.ToList()
                                       .Select(a => new {
                a.ID,
                a.Detail,
                a.CreateDate,
                ImageJSON = ResearchNoteAttachmentBLL.GetImageJSON(a, "image"),
                AudioJSON = ResearchNoteAttachmentBLL.GetImageJSON(a, "audio")
            });
            ViewBag.listImagesResearchPlanJSON = new ResearchPlanAttachmentController().GetImageJSON(info.ResearchPlanInfo);
            return(View(info));
        }
예제 #5
0
        public JsonResult CreatePersonal(ResearchPlanAttachmentInfo info)
        {
            ResearchPlanInfo infoPlan = ResearchPlanBLL.GetList(a => a.ID == info.ResearchPlanID).FirstOrDefault();
            var ifnoResearch          = infoPlan.ResearchInfo.FirstOrDefault();

            if (infoPlan.DateBegin.Date < DateTime.Now.Date)
            {
                return(Json(new APIJson(-1, "活动已过期")));
            }
            if (infoPlan.TypeEnum != (int)SysEnum.ResearchPlanType.个人听课)
            {
                return(Json(new APIJson(-1, "数据有误,不是个人听评课数据")));
            }
            //info.ResearchPlanID
            string SavePathRelative = SaveWechatImage(info.Name, infoPlan);

            info.Name           = SavePathRelative.Substring(SavePathRelative.LastIndexOf("/") + 1);
            info.PathRelative   = SavePathRelative.Substring(0, SavePathRelative.LastIndexOf("/") + 1);
            info.CreateDate     = DateTime.Now;
            info.MineType       = "images/jpg";
            info.CreateUserID   = ifnoResearch.lectureUserID;
            info.CreateUserName = CurrentUser.Name;
            info.TypeEnum       = (int)SysEnum.ResearchPlanAttachmentType.教案;
            //info.Name = "课表" + Guid.NewGuid().ToString();
            info.Memo     = string.Empty;
            info.ShowName = "课表" + infoPlan.ResearchPlanAttachmentInfo.Count() + 1;


            if (ResearchPlanAttachmentBLL.Create(info).ID > 0)
            {
                //var datajson=infoPlan.ResearchPlanAttachmentInfo.Select(a => new { a.Name, FullPath = a.Name + a.PathRelative });
                return(Json(new APIJson(0, "提交成功", GetImageJSON(infoPlan))));
            }
            return(Json(new APIJson(-1, "提交失败,请重试")));
        }
예제 #6
0
        public ActionResult Report1(int PlanID)
        {
            infoHead.LeftURL = Url.Action("index", "Research", new { ID = PlanID, PlanID = PlanID });


            ResearchPlanInfo info = ResearchPlanBLL.GetList(a => a.ID == PlanID).FirstOrDefault();
            List <int>       listDepartmentTypeID = info.DepartmentInfo.DepartmentTypeInfo.Select(a => a.ID).ToList();
            var listSubject = SubjectBLL.GetList(a => listDepartmentTypeID.Contains(a.DepartmentTypeID)).ToList();
            var listValuableSubjectResearch = info.ResearchInfo.Where(a => a.UserInfo.SubjectInfo.Select(u => u.ID).Contains(a.SubjectID));

            var result = listSubject.Select(subject => new
            {
                ID           = subject.ID,
                Name         = subject.Name,
                CountTeacher = listValuableSubjectResearch.Where(r => r.SubjectID == subject.ID).GroupBy(r => r.lectureUserID).Count(),
                CountItems   = listValuableSubjectResearch.Where(r => r.SubjectID == subject.ID).Count()
            }).OrderByDescending(a => a.CountItems).ToList();

            result.Add(new
            {
                ID           = 0,
                Name         = "小计",
                CountTeacher = result.Sum(r => r.CountTeacher),
                CountItems   = result.Sum(r => r.CountItems)
            });
            ViewBag.listResult = result;

            return(View(info));
        }
예제 #7
0
        public ActionResult Index(int page = 1)
        {
            infoHead.LeftURL = Url.Action("index", "home");


            ViewBag.listUserLecture = UserBLL.GetList(a => true).ToList();

            var list = ResearchPlanBLL.GetList(p => p.TypeEnum == (int)SysEnum.ResearchPlanType.个人听课);

            if (!PowerActionBLL.PowerCheck(PowerInfo.P_评课管理.PP个人听课.PPP查看所有学校.KEY))
            {
                list = list.Where(a => CurrentUser.DepartmentID == a.DepartmentID);
            }
            if (!PowerActionBLL.PowerCheck(PowerInfo.P_评课管理.PP个人听课.PPP查看所有学科.KEY))
            {
                var listCurrentUserSubjectID = CurrentUser.SubjectInfo.Select(a => a.ID);
                list = list.Where(a => a.ResearchInfo.Any(r => listCurrentUserSubjectID.Contains(r.SubjectID)));
            }
            if (PowerActionBLL.PowerCheck(PowerInfo.P_评课管理.PP个人听课.PPP仅查看个人被评.KEY) && CurrentUser.ID != DicInfo.AdminID)
            {
                list = list.Where(a => a.ResearchInfo.Any(r => r.lectureUserID == CurrentUser.ID));
            }
            if (PowerActionBLL.PowerCheck(PowerInfo.P_评课管理.PP个人听课.PPP仅查看个人.KEY) && CurrentUser.ID != DicInfo.AdminID)
            {
                list = list.Where(a => a.ResearchInfo.Any(r => r.UserID == CurrentUser.ID));
            }

            list = list.OrderByDescending(p => p.DateBegin).ThenByDescending(a => a.ID);
            IPagedList <ResearchPlanInfo> result = list.ToPagedList(page, PageSize);

            return(View(result));
        }
예제 #8
0
        public ActionResult SelectUser(int ID)
        {
            var info = ResearchPlanBLL.GetList(a => a.ID == ID).FirstOrDefault();

            ViewBag.listMemberGroup = MemberGroupBLL.GetList(a => a.Enable).OrderByDescending(a => a.SortID).ThenByDescending(a => a.ID)
                                      .Select(a => new SelectListItem()
            {
                Text = a.Name, Value = a.ID.ToString()
            }).ToList();
            ViewBag.listSubject = SubjectBLL.GetList(a => true).ToList().Where(a => info.DepartmentInfo.DepartmentTypeInfo.Contains(a.DepartmentTypeInfo))
                                  .Select(a => new SelectListItem()
            {
                Text = a.Name, Value = a.ID.ToString()
            }).ToList();


            WechatHeaderInfo infoHead = new WechatHeaderInfo();

            infoHead.HeadText        = "人员选择";
            infoHead.LeftURL         = Url == null ? "" : Url.Action("Detail", new { ID = ID });
            ViewBag.WechatHeaderInfo = infoHead;

            ViewBag.SelectedUserJSON = Newtonsoft.Json.JsonConvert.SerializeObject(info.ResearchPlanUserInfo.Select(u => new
            {
                u.ID,
                u.UserID,
                Name = u.UserInfo.Name,
                u.IsConfirmed,
                subjectName    = string.Join(",", u.UserInfo.SubjectInfo.Select(s => s.Name)),
                DepartmentName = u.UserInfo.DepartmentInfo.Name
            }));
            ViewBag.info = info;

            int    MemberGroupID = Function.GetRequestInt("MemberGroupID");
            int    SubjectID     = Function.GetRequestInt("SubjectID");
            string Name          = Function.GetRequestString("Name");
            var    listUser      = UserBLL.GetList(a => a.Enable && a.RuleInfo.Any(r => r.PowerActionInfo.Any(p => p.NewID == PowerInfo.P_评课管理.PP组织调研.PPP听评课管理.添加)));

            if (MemberGroupID > 0)
            {
                listUser = listUser.Where(a => a.MemberGroupInfo.Any(mg => mg.ID == MemberGroupID));
                ViewBag.DdlMemberGroup = MemberGroupID;
            }
            if (SubjectID > 0)
            {
                listUser           = listUser.Where(a => a.SubjectInfo.Any(s => s.ID == SubjectID));
                ViewBag.DdlSubject = SubjectID;
            }
            if (!string.IsNullOrEmpty(Name))
            {
                listUser        = listUser.Where(a => (a.Name.Contains(Name) || a.Tel.Contains(Name) || a.Code.Contains(Name)));
                ViewBag.TxtName = Name;
            }

            listUser = listUser.OrderBy(a => a.Name);
            return(View(listUser));
        }
예제 #9
0
        /// <summary>
        /// 当前被评人员在组织调研中上传教案情况
        /// </summary>
        /// <param name="page"></param>
        /// <returns></returns>
        public ActionResult ListLectureUser(int page = 1)
        {
            var list = ResearchPlanBLL.GetList(p => p.TypeEnum == (int)SysEnum.ResearchPlanType.组织调研);

            list = list.Where(a => a.DepartmentID == CurrentUser.DepartmentID);
            list = list.OrderByDescending(p => p.DateBegin).ThenByDescending(a => a.ID);
            IPagedList <ResearchPlanInfo> result = list.ToPagedList(page, PageSize);

            return(View(result));
        }
예제 #10
0
        public ActionResult Delete(int id)
        {
            var infoPlan = ResearchPlanBLL.GetList(a => a.ResearchInfo.Any(r => r.ID == id)).FirstOrDefault();

            if (ResearchPlanBLL.Delete(infoPlan))
            {
                return(Json(new APIJson(0, "删除成功")));
            }
            return(Json(new APIJson(-1, "删除失败,请重试")));
        }
예제 #11
0
        public ActionResult index(int PlanID)
        {
            ResearchPlanInfo info = ResearchPlanBLL.GetList(p => p.ID == PlanID).FirstOrDefault();

            if (info.DateBegin < DateTime.Now.Date)
            {
                return(RedirectToAction("Msg", "CommPage", new { Title = "计划已过期" }));
            }
            ViewBag.ImageJSON = GetImageJSON(info);// info.ResearchPlanAttachmentInfo.Select(a => new { a.ID, FullPath = a.Name + a.PathRelative });
            return(View(info));
        }
예제 #12
0
        public ActionResult EditPlan(int PlanID)
        {
            infoHead.LeftURL = Url.Action("index");

            GetSelectList();

            ResearchPlanInfo infoPlan = ResearchPlanBLL.GetList(a => a.ID == PlanID).FirstOrDefault();

            infoPlan.DateBegin = infoPlan.DateEnd = DateTime.Now;

            return(View(infoPlan));
        }
예제 #13
0
        public ActionResult Edit(int id)
        {
            infoHead.LeftURL = Url.Action("Detail", new { id = id });
            GetSelectList();
            ResearchPlanInfo info = ResearchPlanBLL.GetList(p => p.ID == id).FirstOrDefault();

            ViewBag.listPlanCategory = PlanCategoryBLL.GetList(a => a.Enable || a.ID == info.CategoryID).OrderByDescending(a => a.ID)
                                       .ToList().Select(a => new SelectListItem()
            {
                Text = a.Name, Value = a.ID.ToString()
            });
            return(View(info));
        }
예제 #14
0
        public ActionResult Delete(int id)
        {
            var info = ResearchPlanBLL.GetList(p => p.ID == id).FirstOrDefault();

            if (null == info)
            {
                return(Json(new APIJson(-1, "删除失败,参数有误", info)));
            }
            if (ResearchPlanBLL.Delete(info))
            {
                return(Json(new APIJson(0, "删除成功", info)));
            }
            return(Json(new APIJson(-1, "删除失败,请重试", info)));
        }
예제 #15
0
        public ActionResult SelectUser(int UserID, bool IsAdd, int ResearchPlanID)
        {
            var info              = ResearchPlanBLL.GetList(a => a.ID == ResearchPlanID).FirstOrDefault();
            var infoUser          = UserBLL.GetList(a => a.ID == UserID).FirstOrDefault();
            var infoPlanUserExist = info.ResearchPlanUserInfo.FirstOrDefault(a => a.UserID == UserID);
            var result            = true;

            if (null == infoUser)
            {
                return(Json(new APIJson(-1, "用户不存在")));
            }
            if (!IsAdd)
            {
                if (null != infoPlanUserExist)
                {
                    result = ResearchPlanUserBLL.Delete(infoPlanUserExist);
                }
            }
            else
            {
                if (null == infoPlanUserExist)
                {
                    infoPlanUserExist = new ResearchPlanUserInfo();
                    infoPlanUserExist.ResearchPlanID = info.ID;
                    infoPlanUserExist.UserID         = UserID;
                    infoPlanUserExist.DateCreate     = DateTime.Now;
                    infoPlanUserExist.DateConfirm    = DicInfo.DateZone;
                    infoPlanUserExist.IsConfirmed    = false;
                    infoPlanUserExist.Memo           = string.Empty;
                    infoPlanUserExist.SumRemark      = string.Empty;
                    info.ResearchPlanUserInfo.Add(infoPlanUserExist);
                    result = ResearchPlanBLL.Edit(info);
                    new WeiXin.APIClient.WechatService.TemplateMsg().ResponseTemplateMsg(infoPlanUserExist, infoUser.WechatOpenID);
                }
            }
            if (result)
            {
                var SelectedUserJSON = info.ResearchPlanUserInfo.ToList().Select(u => new
                {
                    u.ID,
                    u.UserID,
                    Name = u.UserInfo.Name,
                    u.IsConfirmed,
                    subjectName    = string.Join(",", u.UserInfo.SubjectInfo.Select(s => s.Name)),
                    DepartmentName = u.UserInfo.DepartmentInfo.Name
                });
                return(Json(new APIJson(0, "处理成功", SelectedUserJSON)));
            }
            return(Json(new APIJson(-1, "处理失败,请重试")));
        }
예제 #16
0
        /// <summary>
        /// 学校调研报表
        /// </summary>
        public ActionResult ResearchDepartment(int DepartmentID = 0, int EvalTemplateID = 0)
        {
            ViewBag.listEvalTempate = EvalTemplateBLL.GetList(a => true).OrderByDescending(a => a.ID).ToList()
                                      .Select(a => new SelectListItem()
            {
                Text = a.Name, Value = a.ID.ToString()
            });
            var listDepartment = DepartmentBLL.GetList(a => true);

            if (!PowerActionBLL.PowerCheck(PowerInfo.P_评课管理.PP组织调研.PPP听评课管理.查看所有学校))
            {
                listDepartment = listDepartment.Where(a => a.ID == CurrentUser.DepartmentID);
                DepartmentID   = CurrentUser.DepartmentID;
            }
            ViewBag.listDepartment = listDepartment.Select(a => new SelectListItem()
            {
                Text = a.Name, Value = a.ID.ToString()
            });

            DateTime DateBegin = Function.GetRequestDateTime("DateBegin");
            DateTime DateEnd   = Function.GetRequestDateTime("DateEnd");

            if (EvalTemplateID <= 0)
            {
                EvalTemplateID = EvalTemplateBLL.GetList(a => a.Enable).OrderByDescending(a => a.ID).FirstOrDefault().ID;
            }
            ViewBag.infoEvalTemplate  = EvalTemplateBLL.GetList(a => a.ID == EvalTemplateID).FirstOrDefault();
            ViewBag.DdlEvalTemplateID = EvalTemplateID;
            var list = ResearchPlanBLL.GetList(a => a.TypeEnum == (int)SysEnum.ResearchPlanType.组织调研);

            if (DepartmentID > 0)
            {
                list = list.Where(a => a.DepartmentID == DepartmentID);
                ViewBag.DdlDepartmentID = DepartmentID;
            }
            if (DateBegin > DicInfo.DateZone)
            {
                list = list.Where(a => DbFunctions.DiffDays(a.DateBegin, DateBegin) <= 0);
                ViewBag.TxtDateBegin = DateBegin.ToString("yyyy-MM-dd");
            }
            if (DateEnd > DicInfo.DateZone)
            {
                list = list.Where(a => DbFunctions.DiffDays(a.DateEnd, DateEnd) <= 0);
                ViewBag.TxtDateEnd = DateEnd.ToString("yyyy-MM-dd");
            }

            return(View(list));
        }
예제 #17
0
        public ActionResult Confirm(int PlanID)
        {
            ResearchPlanInfo info = ResearchPlanBLL.GetList(p => p.ID == PlanID).FirstOrDefault();

            if (info.DateBegin < DateTime.Now.Date)
            {
                return(RedirectToAction("Msg", "CommPage", new { Title = "计划已过期" }));
            }
            var infoUser = info.ResearchPlanUserInfo.First(a => a.UserID == CurrentUser.ID);

            if (null == infoUser)
            {
                return(RedirectToAction("Msg", "CommPage", new { Title = "当前计划并没有邀请到您哦", Detail = "管理员可能已将您去除邀请" }));
            }

            return(View(infoUser));
        }
예제 #18
0
        public ActionResult Report3(int PlanID, int SubjectID)
        {
            //infoHead.LeftURL = Url.Action("ReportA", new { PlanID = PlanID });
            infoHead.LeftURL = Url.Action("index", "Research", new { ID = PlanID, PlanID = PlanID });

            ResearchPlanInfo info = ResearchPlanBLL.GetList(a => a.ID == PlanID).FirstOrDefault();
            var infoSubject       = SubjectBLL.GetList(a => a.ID == SubjectID).FirstOrDefault();

            ViewBag.infoSubject = infoSubject;
            foreach (var item in info.EvalTemplateInfo.TemplateSubjectSummaryInfo)
            {
                var infoItemSummary = info.ResearchPlanSubjectSummaryInfo.Where(s => s.SubjectID == SubjectID)
                                      .SelectMany(s => s.ResearchPlanSubjectSummaryItemInfo).FirstOrDefault(i => i.TemplateSummaryID == item.ID);
                if (null != infoItemSummary)
                {
                    ViewData["Detail" + item.ID] = infoItemSummary.Detail;
                }
            }
            return(View(info));
        }
예제 #19
0
        public ActionResult PushMsg(int ID, string TimeStramp)
        {
            string RulesID = Function.GetRequestString("RulesID");

            WeiXin.APIClient.WechatService.TemplateMsg templateMsgHelper = new WeiXin.APIClient.WechatService.TemplateMsg();
            ResearchPlanInfo infoPlan    = ResearchPlanBLL.GetList(a => a.ID == ID).FirstOrDefault();
            List <string>    listRuleStr = RulesID.Split(',').ToList();

            if (null == listRuleStr || listRuleStr.Count() == 0)
            {
                return(Json(new APIJson(-1, "没有接收人员")));
            }
            List <int> listRuleID = new List <int>();

            foreach (var item in listRuleStr)
            {
                int RuleID = Convert.ToInt32(item);
                if (RuleID <= 0)
                {
                    continue;
                }

                listRuleID.Add(RuleID);
            }
            var listUserTarget = UserBLL.GetList(a => a.DepartmentID == infoPlan.DepartmentID && a.RuleInfo.Select(r => r.ID).Any(r => listRuleID.Contains(r)));
            int SuccessFlag    = 0;

            foreach (var itemUser in listUserTarget)
            {
                if (string.IsNullOrEmpty(itemUser.WechatOpenID))
                {
                    continue;
                }
                bool SendResult = templateMsgHelper.ResponseTemplateMsg(infoPlan, itemUser.WechatOpenID);
                if (SendResult)
                {
                    SuccessFlag++;
                }
            }
            return(Json(new APIJson(0, SuccessFlag + "人推送成功")));
        }
예제 #20
0
        public ActionResult Create(ResearchPlanInfo info)
        {
            if (string.IsNullOrEmpty(info.Name))
            {
                return(Json(new APIJson("请填写名称")));
            }
            if (info.DepartmentID <= 0)
            {
                return(Json(new APIJson("请选择学校")));
            }

            if (info.TemplateID <= 0)
            {
                return(Json(new APIJson("请选择模板")));
            }

            if (string.IsNullOrEmpty(info.Memo))
            {
                info.Memo = string.Empty;
            }
            if (info.DateBegin.Date < DateTime.Now.Date)
            {
                return(Json(new APIJson("计划调研日期有误")));
            }

            info.Address         = string.Empty;
            info.DateEnd         = info.DateBegin;
            info.TypeEnum        = (int)SysEnum.ResearchPlanType.组织调研;
            info.CreateUserID    = CurrentUser.ID;
            info.CreateDate      = DateTime.Now;
            info.Status          = (int)SysEnum.ResearchPlanStatus.未开始;
            info.SummaryUserName = string.Empty;
            info.SummaryDetail   = string.Empty;

            if (ResearchPlanBLL.Create(info).ID > 0)
            {
                return(Json(new APIJson(0, "提交成功", new { info.ID })));
            }
            return(Json(new APIJson(-1, "提交失败,请重试")));
        }
예제 #21
0
        public ActionResult Index(int page = 1)
        {
            infoHead.LeftURL = Url.Action("index", "home");
            var list = ResearchPlanBLL.GetList(p => p.TypeEnum == (int)SysEnum.ResearchPlanType.组织调研);

            if (!PowerActionBLL.PowerCheck(PowerInfo.P_评课管理.PP组织调研.PPP听评课管理.查看所有学校))
            {
                if (PowerActionBLL.PowerCheck(PowerInfo.P_评课管理.PP组织调研.PPP听评课管理.仅查看个人))
                {
                    list = list.Where(a => a.ResearchPlanUserInfo.Select(rpu => rpu.UserID).Contains(CurrentUser.ID));
                }
                else
                {
                    list = list.Where(a => CurrentUser.DepartmentID == a.DepartmentID);
                }
            }


            list = list.OrderByDescending(p => p.DateBegin).ThenByDescending(a => a.ID);
            IPagedList <ResearchPlanInfo> result = list.ToPagedList(page, PageSize);

            return(View(result));
        }
예제 #22
0
        public ActionResult Edit(ResearchPlanInfo info)
        {
            ResearchPlanInfo infoExist = ResearchPlanBLL.GetList(p => p.ID == info.ID).FirstOrDefault();

            if (string.IsNullOrEmpty(info.Name))
            {
                return(Json(new APIJson("请填写名称")));
            }
            if (info.DepartmentID <= 0)
            {
                return(Json(new APIJson("请选择学校")));
            }
            if (string.IsNullOrEmpty(info.Memo))
            {
                info.Memo = string.Empty;
            }
            if (info.DateBegin.Date < DateTime.Now.Date && info.DateBegin != infoExist.DateBegin)
            {
                return(Json(new APIJson("计划调研日期有误")));
            }

            infoExist.CategoryID   = info.CategoryID;
            infoExist.Name         = info.Name;
            infoExist.DepartmentID = info.DepartmentID;
            infoExist.TemplateID   = info.TemplateID;
            infoExist.DateBegin    = info.DateBegin;
            infoExist.Memo         = info.Memo;
            //infoExist.typ


            if (ResearchPlanBLL.Edit(infoExist))
            {
                return(Json(new APIJson(0, "提交成功")));
            }
            return(Json(new APIJson(-1, "提交失败,请重试")));
        }
예제 #23
0
        public ActionResult Create(ResearchPlanInfo info)
        {
            #region 计划对象ResearchPlanInfo
            info.Name = string.Format("{0}听评{1}", CurrentUser.Name, SysEnum.GetName(typeof(SysEnum.ResearchArea), info.AreaID));
            if (string.IsNullOrEmpty(info.Memo))
            {
                info.Memo = string.Empty;
            }
            if (info.DateBegin.Date < DateTime.Now.Date)
            {
                return(Json(new APIJson("日期有误")));
            }
            if (info.TemplateID <= 0)
            {
                return(Json(new APIJson("请选择评价模板")));
            }
            info.CategoryID   = PlanCategoryPersonalID;
            info.Address      = string.Empty;
            info.DateEnd      = info.DateBegin;
            info.TypeEnum     = (int)SysEnum.ResearchPlanType.个人听课;
            info.CreateUserID = CurrentUser.ID;
            info.CreateDate   = DateTime.Now;
            info.Status       = (int)SysEnum.ResearchPlanStatus.进行中;

            info.SummaryDetail   = string.Empty;
            info.SummaryUserName = string.Empty;
            #endregion

            #region 听评课对象ResearchInfo
            var infoResearch = new ResearchInfo();
            infoResearch.UserID            = CurrentUser.ID;
            infoResearch.SubjectID         = Function.GetRequestInt("SubjectID");
            infoResearch.lectureUserID     = Function.GetRequestInt("lectureUserID", 0);
            infoResearch.Topic             = Function.GetRequestString("Topic");
            infoResearch.LessionNumber     = Function.GetRequestInt("LessionNumber");
            infoResearch.ClassName         = Function.GetRequestString("ClassName");
            infoResearch.GradeName         = Function.GetRequestString("GradeName");
            infoResearch.SubjectiveOpinion = string.Empty;
            infoResearch.NoteMemo          = string.Empty;
            infoResearch.Status            = (int)SysEnum.ResearchStatus.未评;
            infoResearch.ScoreTotal        = 0;
            infoResearch.ScoreLever        = (int)SysEnum.ResearchScoreLever.合格;
            infoResearch.CreateDate        = DateTime.Now;
            var infoExist = ResearchBLL.GetList(a =>
                                                DbFunctions.DiffDays(a.CreateDate, infoResearch.CreateDate) == 0 &&
                                                a.ResearchPlanID == infoResearch.ResearchPlanID &&
                                                a.UserID == CurrentUser.ID &&
                                                a.ClassName == infoResearch.ClassName &&
                                                a.GradeName == infoResearch.GradeName &&
                                                a.LessionNumber == infoResearch.LessionNumber
                                                ).FirstOrDefault();
            if (null != infoExist)
            {
                return(Json(new APIJson(2, "您还在听评当前课程,将直接进入", new { PlanID = infoExist.ResearchPlanID, ResearchID = infoExist.ID })));
            }
            //infoResearch.ResearchPlanID
            //infoResearch.SubjectID
            if (string.IsNullOrEmpty(infoResearch.Topic))
            {
                return(Json(new APIJson(-1, "请填写课题")));
            }
            if (string.IsNullOrEmpty(infoResearch.ClassName))
            {
                return(Json(new APIJson(-1, "请填写年级")));
            }
            if (string.IsNullOrEmpty(infoResearch.GradeName))
            {
                return(Json(new APIJson(-1, "请填写班级")));
            }
            if (infoResearch.SubjectID <= 0)
            {
                return(Json(new APIJson(-1, "请选择学科")));
            }
            SubjectInfo infoSubject = SubjectBLL.GetList(a => a.ID == infoResearch.SubjectID).FirstOrDefault();
            if (null == infoSubject)
            {
                return(Json(new APIJson(-1, "请选择学科")));
            }
            infoResearch.SubjectInfo       = infoSubject;
            infoResearch.SubjectiveOpinion = string.Empty;
            infoResearch.NoteMemo          = string.Empty;
            infoResearch.Status            = (int)SysEnum.ResearchStatus.未评;
            infoResearch.ScoreTotal        = 0;
            infoResearch.ScoreLever        = (int)SysEnum.ResearchScoreLever.合格;

            infoResearch.ResearchPlanInfo = info;
            info.ResearchInfo.Add(infoResearch);
            #endregion


            if (!CreatePConfirmDepartmentID(info))
            {
                return(Json(new APIJson(-1, "请认真输放学校信息,对于系统未录入的学校,请务必认真输入全名")));
            }
            if (!CreatePConfirmlectureUserID(infoResearch))
            {
                return(Json(new APIJson(-1, "请认真输放听课对象,对于系统未录入的老师,请务必认真填写其姓名")));
            }
            if (ResearchPlanBLL.Create(info).ID > 0)
            {
                return(Json(new APIJson(0, "提交成功", new { PlanID = info.ID, ResearchID = infoResearch.ID })));
            }
            return(Json(new APIJson(-1, "提交失败,请重试")));
        }
예제 #24
0
        public ActionResult EditPlan(ResearchPlanInfo info)
        {
            ResearchPlanInfo infoExist = ResearchPlanBLL.GetList(a => a.ID == info.ID).FirstOrDefault();

            #region 计划对象ResearchPlanInfo
            if (string.IsNullOrEmpty(info.Memo))
            {
                info.Memo = string.Empty;
            }
            if (info.DateBegin.Date < DateTime.Now.Date)
            {
                return(Json(new APIJson("日期有误")));
            }
            infoExist.Memo      = info.Memo;
            infoExist.DateBegin = infoExist.DateEnd = info.DateBegin;

            #endregion

            #region 听评课对象ResearchInfo
            var infoResearch = infoExist.ResearchInfo.FirstOrDefault();
            //infoResearch.UserID = CurrentUser.ID;
            infoResearch.SubjectID     = Function.GetRequestInt("SubjectID");
            infoResearch.lectureUserID = Function.GetRequestInt("lectureUserID", 0);
            infoResearch.Topic         = Function.GetRequestString("Topic");
            infoResearch.LessionNumber = Function.GetRequestInt("LessionNumber");
            infoResearch.ClassName     = Function.GetRequestString("ClassName");
            infoResearch.GradeName     = Function.GetRequestString("GradeName");
            //  infoResearch.SubjectiveOpinion = string.Empty;
            infoResearch.NoteMemo = string.Empty;
            //  infoResearch.Status = (int)SysEnum.ResearchStatus.未评;
            // infoResearch.ScoreTotal = 0;
            //  infoResearch.ScoreLever = (int)SysEnum.ResearchScoreLever.不合格;
            //  infoResearch.CreateDate = DateTime.Now;

            if (string.IsNullOrEmpty(infoResearch.Topic))
            {
                return(Json(new APIJson(-1, "请填写课题")));
            }
            if (string.IsNullOrEmpty(infoResearch.ClassName))
            {
                return(Json(new APIJson(-1, "请填写年级")));
            }
            if (string.IsNullOrEmpty(infoResearch.GradeName))
            {
                return(Json(new APIJson(-1, "请填写班级")));
            }
            if (infoResearch.SubjectID <= 0)
            {
                return(Json(new APIJson(-1, "请选择学科")));
            }
            SubjectInfo infoSubject = SubjectBLL.GetList(a => a.ID == infoResearch.SubjectID).FirstOrDefault();
            if (null == infoSubject)
            {
                return(Json(new APIJson(-1, "请选择学科")));
            }
            //infoResearch.SubjectInfo = infoSubject;
            //infoResearch.SubjectiveOpinion = string.Empty;
            //infoResearch.NoteMemo = string.Empty;
            //infoResearch.Status = (int)SysEnum.ResearchStatus.未评;
            //infoResearch.ScoreTotal = 0;
            //infoResearch.ScoreLever = (int)SysEnum.ResearchScoreLever.不合格;

            #endregion


            if (!CreatePConfirmlectureUserID(infoResearch))
            {
                return(Json(new APIJson(-1, "请认真输入听课对象,对于系统未录入的老师,请务必认真填写其姓名")));
            }
            if (ResearchPlanBLL.Edit(infoExist))
            {
                return(Json(new APIJson(0, "提交成功", new { info.ID })));
            }
            return(Json(new APIJson(-1, "提交失败,请重试")));
        }
        public ActionResult Join(UserInfo info)
        {
            string log = string.Empty;

            try
            {
                int PlanID = Function.GetRequestInt("PlanID");
                log += "\n PlanID=" + PlanID;
                string infoWechatUserReturnOpenID = Function.GetRequestString("infoWechatUserReturnOpenID");
                log += "\n infoWechatUserReturnOpenID=" + infoWechatUserReturnOpenID;
                ResearchPlanInfo infoPlan = ResearchPlanBLL.GetList(p => p.ID == PlanID).FirstOrDefault();
                log += "\n infoPlan=" + infoPlan;
                UserInfo infoUser = null;
                if (info.ID > 0)
                {
                    log     += "\n info.ID > 0=";
                    infoUser = UserBLL.GetList(a => a.ID == info.ID).FirstOrDefault();
                }
                if (null == infoUser)
                {
                    log     += "\n info.ID < 0=";
                    infoUser = UserBLL.GetList(a => a.WechatOpenID == infoWechatUserReturnOpenID).FirstOrDefault();
                }
                log += "\n infoUser="******"\n infoUser is null";
                    WechatUserReturnInfo infoWechatUserReturn = WeiXin.APIClient.WechatService.WechatUser.GetWechatUserReturnInfo(infoWechatUserReturnOpenID);
                    if (null == infoWechatUserReturn)
                    {
                        return(Json(new APIJson(-1, "无法获取用户信息")));
                    }
                    log     += "\n infoWechatUserReturn=" + infoWechatUserReturn;
                    infoUser = new UserInfo();
                    //infoUser.DepartmentID 从config中读到表单hiden了里
                    //infoUser.Name
                    if (string.IsNullOrEmpty(info.Name) || info.Name.Length > 50)
                    {
                        return(Json(new APIJson(-1, "请输入您的姓名")));
                    }
                    if (UserBLL.GetList(a => true).Any(a => a.Name == infoUser.Name))
                    {
                        return(Json(new APIJson(-1, "系统里居然有人跟你同名了,你换一个或加个数字后缀吧")));
                    }
                    var infoUserExistName = UserBLL.GetList(a => a.Name == info.Name).FirstOrDefault();
                    if (null != infoUserExistName)
                    {
                        return(Json(new APIJson(-1, "系统已存在当前用户名,请更换")));
                    }
                    infoUser.DepartmentID = info.DepartmentID;
                    infoUser.Name         = info.Name;
                    infoUser.Code         = infoUser.Name;
                    infoUser.PassWord     = string.Empty;
                    //infoUser.Email
                    if (null == infoUser.Email)
                    {
                        infoUser.Email = string.Empty;
                    }
                    infoUser.Email            = info.Email;
                    infoUser.Tel              = string.Empty;
                    infoUser.CreateDate       = DateTime.Now;
                    infoUser.LastDate         = DateTime.Now;
                    infoUser.Enable           = true;
                    infoUser.LocationX        = infoUser.LocationY = 0;
                    infoUser.WechatOpenID     = infoWechatUserReturn.openid;
                    infoUser.WechatNameNick   = infoWechatUserReturn.nickname;
                    infoUser.WechatHeadImg    = infoWechatUserReturn.headimgurl;
                    infoUser.Sex              = infoWechatUserReturn.sex.ToString();
                    infoUser.IDCard           = string.Empty;
                    infoUser.TypeID           = -1;
                    infoUser.DefaultSubjectID = 0;

                    log += "\n 准备完后infoUser="******"\n 创建完了";
                }

                ResearchPlanUserInfo infoPlanUser = new ResearchPlanUserInfo();
                infoPlanUser.ResearchPlanID = info.ID;
                infoPlanUser.UserID         = infoUser.ID;
                infoPlanUser.DateCreate     = DateTime.Now;
                infoPlanUser.DateConfirm    = DicInfo.DateZone;
                infoPlanUser.IsConfirmed    = true;
                infoPlanUser.Memo           = "二维码邀请";
                infoPlanUser.SumRemark      = string.Empty;
                infoPlan.ResearchPlanUserInfo.Add(infoPlanUser);
                var result = ResearchPlanBLL.Edit(infoPlan);
                if (result)
                {
                    return(Json(new APIJson(0, "恭喜您,成功加入本次听评课计划")));
                }
                else
                {
                    return(Json(new APIJson(-1, "加入失败了,请重试")));
                }
            }
            catch (Exception ex)
            {
                var ex2 = (System.Data.Entity.Infrastructure.DbUpdateException)ex;

                var ErrorMsg = log
                               + "Ex========" + ex.Message
                               + "\n ex2.InnerException.ObjectToJSON();" + ex2.InnerException.ObjectToJSON();
                return(Json(new APIJson(-1, ErrorMsg)));

                throw;
            }
        }
예제 #26
0
        public ActionResult index(int PlanID)
        {
            infoHead.LeftURL = null == Url ? "" : Url.Action("index", "ResearchPlan", new { GoAction = "index", GoController = "Research" });


            ResearchPlanInfo info = ResearchPlanBLL.GetList(p => p.ID == PlanID).FirstOrDefault();

            ViewBag.listSubject = info.DepartmentInfo.DepartmentTypeInfo.SelectMany(a => a.SubjectInfo)
                                  .Select(p => new SelectListItem()
            {
                Text = p.Name, Value = p.ID.ToString()
            }).ToList();

            ViewBag.listLessionNumber = Common.GetListOrderID();
            ViewBag.listGrade         = Common.EnumToSelectListItem(typeof(SysEnum.LessionGrade));
            List <SelectListItem> listClass = new List <SelectListItem>();

            for (int i = 1; i < 50; i++)
            {
                listClass.Add(new SelectListItem()
                {
                    Text = i + "班", Value = i + "班"
                });
            }
            ViewBag.listClass = listClass;

            ViewBag.infoPlan = info;

            var listResearch = info.ResearchInfo.Where(a => true);

            if (!PowerActionBLL.PowerCheck(PowerInfo.P_评课管理.PP组织调研.PPP听评课管理.查看所有学科))
            {
                listResearch = listResearch.Where(a => a.UserID == CurrentUser.ID || CurrentUser.SubjectInfo.Select(s => s.ID).Contains(a.SubjectID));
            }
            if (PowerActionBLL.PowerCheck(PowerInfo.P_评课管理.PP组织调研.PPP听评课管理.仅查看个人被评) && CurrentUser.Name != "admin")
            {
                listResearch = listResearch.Where(a => a.lectureUserID == CurrentUser.ID);
            }
            if (PowerActionBLL.PowerCheck(PowerInfo.P_评课管理.PP组织调研.PPP听评课管理.仅查看个人) && CurrentUser.Name != "admin")
            {
                listResearch = listResearch.Where(a => a.UserID == CurrentUser.ID);
            }

            string GradeS    = Function.GetRequestString("GradeS");
            string NameS     = Function.GetRequestString("NameS");
            int    SubjectID = Function.GetRequestInt("SubjectID");

            if (SubjectID > 0)
            {
                listResearch         = listResearch.Where(a => a.SubjectID == SubjectID);
                ViewBag.DdlSubjectID = SubjectID;
            }
            if (!string.IsNullOrEmpty(GradeS))
            {
                listResearch      = listResearch.Where(a => a.GradeName == GradeS);
                ViewBag.DdlGradeS = GradeS;
            }
            if (!string.IsNullOrEmpty(NameS))
            {
                var listlectureUser = UserBLL.GetList(a => a.DepartmentID == info.DepartmentID && a.Name.Contains(NameS));
                listResearch     = listResearch.Where(a => listlectureUser.Select(u => u.ID).Contains(a.lectureUserID));
                ViewBag.TxtNameS = NameS;
            }
            listResearch         = listResearch.OrderByDescending(a => a.ID);
            ViewBag.listResearch = listResearch;


            return(View());
        }
예제 #27
0
        /// <summary>
        /// 当前被评人员教案上传详细
        /// </summary>
        /// <param name="PlanID"></param>
        /// <returns></returns>
        public ActionResult DetailLectureUser(int PlanID)
        {
            var info = ResearchPlanBLL.GetList(a => a.ID == PlanID).FirstOrDefault();

            return(View(info));
        }