using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using Bowin.Common.Data; using Bowin.Common.Exceptions; using Bowin.Common.Utility; using Bowin.Common.JSON; using Bowin.Web.Controls.Mvc; using EMIS.Web.Controls; using EMIS.Utility; using EMIS.ViewModel; using EMIS.ViewModel.EvaluationManage.StudentEvaluation; using EMIS.ViewModel.EducationManage.EducationArrange; using EMIS.CommonLogic.EvaluationManage.StudentEvaluation; namespace EMIS.Web.Controllers.EvaluationManage.StudentEvaluation { [Authorization] public class EvaluationStudentSettingController : Controller { public Lazy EvaluationStudentSettingServices { get; set; } /// /// 学评设定页面 /// /// public ActionResult List() { return View(); } /// /// 学评设定列表查询 /// /// /// [HttpPost] public ActionResult List(QueryParamsModel pararms) { ConfiguretView configuretView = ConfiguretExtensions.GetConfiguretermsView(pararms); var schoolyearID = pararms.getExtraGuid("SchoolyearDropdown"); var campusID = pararms.getExtraGuid("CampusDropdown"); var collegeID = pararms.getExtraGuid("CollegeDropdown"); var departmentID = pararms.getExtraGuid("DepartmentDropdown"); var coursematerialID = pararms.getExtraGuid("CourseComboGrid"); var courseTypeID = pararms.getExtraInt("DictionaryCourseType") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("DictionaryCourseType"); var handleModeID = pararms.getExtraInt("DictionaryHandleMode") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("DictionaryHandleMode"); var teachingModeID = pararms.getExtraInt("DictionaryTeachingMode") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("DictionaryTeachingMode"); var staffID = pararms.getExtraGuid("StaffComboGrid"); var teachingMethodID = pararms.getExtraInt("DictionaryTeachingMethod") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("DictionaryTeachingMethod"); var evaluationTableID = pararms.getExtraGuid("EvaluationTableDropdown"); var openState = pararms.getExtraInt("OpenStateDropdown") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("OpenStateDropdown"); return base.Json(EvaluationStudentSettingServices.Value.GetEvaluationStudentSettingViewGrid(configuretView, schoolyearID, campusID, collegeID, departmentID, coursematerialID, courseTypeID, handleModeID, teachingModeID, staffID, teachingMethodID, evaluationTableID, openState, (int)pararms.page, (int)pararms.rows)); } /// /// 评价生成 /// /// public ActionResult Create() { return View(); } /// /// 评价生成 /// /// /// [HttpPost] public ActionResult Create(EvaluationStudentSettingView evaluationStudentSettingView) { try { ConfiguretView configuretView = ConfiguretExtensions.GetConfiguretermsView(null); var campusID = Request.Form["CampusDropdown"].ParseStrTo(); var collegeID = Request.Form["CollegeDropdown"].ParseStrTo(); var departmentID = Request.Form["DepartmentDropdown"].ParseStrTo(); var gradeID = Request.Form["DictionaryGrade"].ParseStrTo() == DropdownList.SELECT_ALL ? null : Request.Form["DictionaryGrade"].ParseStrTo(); var standardID = Request.Form["DictionaryStandard"].ParseStrTo() == DropdownList.SELECT_ALL ? null : Request.Form["DictionaryStandard"].ParseStrTo(); var coursematerialID = Request.Form["CourseComboGrid"].ParseStrTo(); var courseTypeID = Request.Form["DictionaryCourseType"].ParseStrTo() == DropdownList.SELECT_ALL ? null : Request.Form["DictionaryCourseType"].ParseStrTo(); var handleModeID = Request.Form["DictionaryHandleMode"].ParseStrTo() == DropdownList.SELECT_ALL ? null : Request.Form["DictionaryHandleMode"].ParseStrTo(); var teachingModeID = Request.Form["DictionaryTeachingMode"].ParseStrTo() == DropdownList.SELECT_ALL ? null : Request.Form["DictionaryTeachingMode"].ParseStrTo(); var staffID = Request.Form["StaffComboGrid"].ParseStrTo(); var teachingMethodID = Request.Form["DictionaryTeachingMethod"].ParseStrTo() == DropdownList.SELECT_ALL ? null : Request.Form["DictionaryTeachingMethod"].ParseStrTo(); string result = EvaluationStudentSettingServices.Value.EvaluationStudentSettingCreate(campusID, collegeID, departmentID, gradeID, standardID, coursematerialID, courseTypeID, handleModeID, teachingModeID, staffID, teachingMethodID, evaluationStudentSettingView.SchoolyearID); return Json(new ReturnMessage() { IsSuccess = true, Message = "生成成功" + result + "。" }); } catch (Exception ex) { return Json(new ReturnMessage() { IsSuccess = false, Message = "生成失败,原因:" + ex.Message }); } } /// /// 复制新增 /// /// /// public ActionResult CopyAdd(Guid evaluationStudentSettingID) { var evaluationStudentSettingView = new EvaluationStudentSettingView(); evaluationStudentSettingView = EvaluationStudentSettingServices.Value.GetEvaluationStudentSettingView(evaluationStudentSettingID); return View("Edit", evaluationStudentSettingView); } /// /// 复制新增 /// /// /// [HttpPost] public ActionResult CopyAdd(EvaluationStudentSettingView evaluationStudentSettingView) { evaluationStudentSettingView.EvaluationStudentSettingID = Guid.Empty; evaluationStudentSettingView.OpenState = false; return this.Edit(evaluationStudentSettingView); } /// /// 编辑 /// /// /// [HttpGet] public ActionResult Edit(Guid? evaluationStudentSettingID) { var evaluationStudentSettingView = new EvaluationStudentSettingView(); if (evaluationStudentSettingID.HasValue && evaluationStudentSettingID != Guid.Empty) { evaluationStudentSettingView = EvaluationStudentSettingServices.Value.GetEvaluationStudentSettingView(evaluationStudentSettingID); } else { evaluationStudentSettingView.OpenState = false; } return View(evaluationStudentSettingView); } /// /// 编辑 /// /// /// [HttpPost] public ActionResult Edit(EvaluationStudentSettingView evaluationStudentSettingView) { try { EvaluationStudentSettingServices.Value.EvaluationStudentSettingEdit(evaluationStudentSettingView); return Json(new ReturnMessage() { IsSuccess = true, Message = "保存成功。" }); } catch (Exception ex) { return Json(new ReturnMessage() { IsSuccess = false, Message = "保存失败,原因:" + ex.Message }); } } /// /// 批量新增 /// /// [HttpGet] public ActionResult EvaluationStudentSettingBatchAdd() { var evaluationStudentSettingView = new EvaluationStudentSettingView(); return View(evaluationStudentSettingView); } /// /// 批量新增 /// /// /// public ActionResult EvaluationStudentSettingBatchAdd(EvaluationStudentSettingView evaluationStudentSettingView) { try { var educationMissionClassViewList = Request["educationMissionClassViewList"].JsonToObject>(); string result = EvaluationStudentSettingServices.Value.EvaluationStudentSettingBatchAdd(educationMissionClassViewList, evaluationStudentSettingView); return Json(new ReturnMessage() { IsSuccess = true, Message = "新增成功" + result + "。" }); } catch (Exception ex) { return Json(new ReturnMessage() { IsSuccess = false, Message = "新增失败,原因:" + ex.Message }); } } /// /// 查询教学任务班中未新增学生评价信息EducationMissionClassView /// /// /// [HttpPost] public ActionResult EducationMissionClassNoAddList(QueryParamsModel pararms) { ConfiguretView configuretView = ConfiguretExtensions.GetConfiguretermsView(pararms); var campusID = pararms.getExtraGuid("CampusDropdown"); var collegeID = pararms.getExtraGuid("CollegeDropdown"); var departmentID = pararms.getExtraGuid("DepartmentDropdown"); var gradeID = pararms.getExtraInt("DictionaryGrade") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("DictionaryGrade"); var standardID = pararms.getExtraInt("DictionaryStandard") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("DictionaryStandard"); var coursematerialID = pararms.getExtraGuid("CourseComboGrid"); var courseTypeID = pararms.getExtraInt("DictionaryCourseType") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("DictionaryCourseType"); var handleModeID = pararms.getExtraInt("DictionaryHandleMode") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("DictionaryHandleMode"); var teachingModeID = pararms.getExtraInt("DictionaryTeachingMode") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("DictionaryTeachingMode"); var staffID = pararms.getExtraGuid("StaffComboGrid"); var teachingMethodID = pararms.getExtraInt("DictionaryTeachingMethod") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("DictionaryTeachingMethod"); var schoolyearID = pararms.getExtraGuid("SchoolyearID"); return base.Json(EvaluationStudentSettingServices.Value.GetEducationMissionClassViewNoAddGrid(configuretView, campusID, collegeID, departmentID, gradeID, standardID, coursematerialID, courseTypeID, handleModeID, teachingModeID, staffID, teachingMethodID, schoolyearID, (int)pararms.page, (int)pararms.rows)); } /// /// 查询教学任务班中未新增学生评价信息Excel导出 /// /// [HttpPost] public ActionResult EducationMissionClassNoAddListExcel() { return null; } /// /// 删除 /// /// /// [HttpPost] public ActionResult Delete(string evaluationStudentSettingIDs) { try { List list = evaluationStudentSettingIDs.Split(',').Where(x => !string.IsNullOrEmpty(x)).Select(x => (Guid?)new Guid(x)).ToList(); EvaluationStudentSettingServices.Value.EvaluationStudentSettingDelete(list); return base.Json(new ReturnMessage { IsSuccess = true, Message = "删除成功。" }); } catch (Exception ex) { string mge = ex.Message; System.Data.SqlClient.SqlException num = ExceptionHelper.GetSqlException(ex); if (num != null) { if (num.Number == 547) { mge = "请先删除所有关联的数据,如:评价记录、评价建议等。"; } } return base.Json(new ReturnMessage { IsSuccess = false, Message = "删除失败,原因:" + mge }); } } /// /// 对应的学生信息页面 /// /// public ActionResult EvaluationStudentList() { return View(); } /// /// 对应的学生信息列表查询 /// /// /// [HttpPost] public ActionResult EvaluationStudentList(QueryParamsModel pararms) { ConfiguretView configuretView = ConfiguretExtensions.GetConfiguretermsView(pararms); var evaluationStudentSettingID = Request["evaluationStudentSettingID"].ParseStrTo(); var isEvaluation = pararms.getExtraInt("IsEvaluationDropdown") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("IsEvaluationDropdown"); var inSchoolStatus = pararms.getExtraInt("DictionaryInschoolStatus") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("DictionaryInschoolStatus"); return Json(EvaluationStudentSettingServices.Value.GetEvaluationStudentSettingDetailViewGrid(configuretView, evaluationStudentSettingID, isEvaluation, inSchoolStatus, (int)pararms.page, (int)pararms.rows)); } /// /// 对应的学生信息Excel导出 /// /// [HttpPost] public ActionResult EvaluationStudentListExcel() { NpoiExcelHelper neh = new NpoiExcelHelper(); ConfiguretView configuretView = ConfiguretExtensions.GetConfiguretermsView(null); var evaluationStudentSettingID = Request["evaluationStudentSettingID"].ParseStrTo(); int? isEvaluation = Request["IsEvaluationDropdown"].ParseStrTo() == DropdownList.SELECT_ALL ? null : Request["IsEvaluationDropdown"].ParseStrTo(); int? inSchoolStatus = Request["DictionaryInschoolStatus"].ParseStrTo() == DropdownList.SELECT_ALL ? null : Request["DictionaryInschoolStatus"].ParseStrTo(); var dt = EvaluationStudentSettingServices.Value.GetEvaluationStudentSettingDetailViewList(configuretView, evaluationStudentSettingID, isEvaluation, inSchoolStatus) .Select(x => new { x.StudentNo, x.Name, x.SexName, x.ClassmajorNo, x.ClassmajorName, x.CollegeNo, x.CollegeName, x.CampusNo, x.CampusName, x.InSchoolStatusName, x.SchoolyearCode, x.MissionName, x.MissionClassName, x.CourseCode, x.CourseName, x.CourseStructureName, x.CourseCategoryName, x.CourseTypeName, x.CourseQualityName, Credit = x.Credit.HasValue ? x.Credit.Value.ToString("#.#") : null, x.DepartmentNo, x.DepartmentName, x.HandleModeName, x.TeachingModeName, x.MissionClassStatusName, x.EvaluationTableCode, x.EvaluationTableName, x.ParticipateTypeName, x.EvaluationTypeCode, x.EvaluationTypeName, x.StaffCode, x.StaffName, x.TitleName, x.TeachingMethodName, x.OpenStateName, x.IsEvaluationName }).ToTable(); string[] liststring = { "学号", "姓名", "性别", "班级编号", "班级名称", RSL.Get("CollegeCode"), RSL.Get("College"), RSL.Get("CampusCode"), RSL.Get("CampusName"), "在校状态", "学年学期", "任务名称", "任务班名称", "课程代码", "课程名称", "课程结构", "课程属性", "课程类型", "课程性质", "课程学分", "开课教研室代码", "开课教研室", "处理方式", "授课方式", "任务状态", "评价表编号", "评价表名", "参评类型", "评价类型编号", "评价类型", "教师工号", "任课教师", "职称", "任课方式", "开放状态", "评价状态" }; var title = "参评人数明细信息"; if (isEvaluation == (int)CF_GeneralPurpose.IsNo) { title = "参评人数明细信息(未评)"; } if (isEvaluation == (int)CF_GeneralPurpose.IsYes) { title = "参评人数明细信息(已评)"; } neh.Export(dt, liststring, title + DateTime.Now.ToString("yyyyMMdd")); return Json(new ReturnMessage() { IsSuccess = true, Message = "导出成功。" }); } /// /// 编辑学生 /// /// /// public ActionResult EvaluationStudentEdit(Guid? evaluationStudentSettingID) { var evaluationStudentSettingDetailView = new EvaluationStudentSettingDetailView(); if (evaluationStudentSettingID.HasValue && evaluationStudentSettingID != Guid.Empty) { var evaluationStudentSettingView = EvaluationStudentSettingServices.Value.GetEvaluationStudentSettingView(evaluationStudentSettingID); evaluationStudentSettingDetailView.EvaluationStudentSettingID = evaluationStudentSettingView.EvaluationStudentSettingID; evaluationStudentSettingDetailView.EducationMissionClassID = evaluationStudentSettingView.EducationMissionClassID; evaluationStudentSettingDetailView.MissionClassName = evaluationStudentSettingView.MissionClassName; evaluationStudentSettingDetailView.SchoolyearID = evaluationStudentSettingView.SchoolyearID; evaluationStudentSettingDetailView.CollegeID = evaluationStudentSettingView.CollegeID; evaluationStudentSettingDetailView.CoursematerialID = evaluationStudentSettingView.CoursematerialID; evaluationStudentSettingDetailView.DepartmentID = evaluationStudentSettingView.DepartmentID; evaluationStudentSettingDetailView.CourseTypeID = evaluationStudentSettingView.CourseTypeID; evaluationStudentSettingDetailView.TeachingModeID = evaluationStudentSettingView.TeachingModeID; } else { evaluationStudentSettingDetailView.EvaluationStudentSettingID = evaluationStudentSettingID.Value; } return View(evaluationStudentSettingDetailView); } /// /// 编辑学生 /// /// /// [HttpPost] public ActionResult EvaluationStudentEdit(Guid? evaluationStudentSettingID, Guid? userID) { try { EvaluationStudentSettingServices.Value.EvaluationStudentEdit(evaluationStudentSettingID, userID); return Json(new ReturnMessage() { IsSuccess = true, Message = "保存成功。" }); } catch (Exception ex) { return Json(new ReturnMessage() { IsSuccess = false, Message = "保存失败,原因:" + ex.Message }); } } /// /// 删除学生 /// /// /// /// [HttpPost] public ActionResult EvaluationStudentDelete(Guid? evaluationStudentSettingID, string userIDs) { try { List list = userIDs.Split(',').Where(x => !string.IsNullOrEmpty(x)).Select(x => (Guid?)new Guid(x)).ToList(); EvaluationStudentSettingServices.Value.EvaluationStudentDelete(evaluationStudentSettingID, list); return base.Json(new ReturnMessage { IsSuccess = true, Message = "删除成功。" }); } catch (Exception ex) { return base.Json(new ReturnMessage() { IsSuccess = false, Message = "删除失败,原因:" + ex.Message }); } } /// /// 取消 /// /// /// [HttpPost] public ActionResult Cancel(string evaluationStudentSettingIDs) { try { List list = evaluationStudentSettingIDs.Split(',').Where(x => !string.IsNullOrEmpty(x)).Select(x => (Guid?)new Guid(x)).ToList(); EvaluationStudentSettingServices.Value.EvaluationStudentSettingCancel(list); return base.Json(new ReturnMessage { IsSuccess = true, Message = "取消评价成功。" }); } catch (Exception ex) { return base.Json(new ReturnMessage() { IsSuccess = false, Message = "取消评价失败,原因:" + ex.Message }); } } /// /// 开放 /// /// /// [HttpPost] public ActionResult Open(string evaluationStudentSettingIDs) { try { List list = evaluationStudentSettingIDs.Split(',').Where(x => !string.IsNullOrEmpty(x)).Select(x => (Guid?)new Guid(x)).ToList(); EvaluationStudentSettingServices.Value.EvaluationStudentSettingOpen(list); return base.Json(new ReturnMessage { IsSuccess = true, Message = "开放评价成功。" }); } catch (Exception ex) { return base.Json(new ReturnMessage() { IsSuccess = false, Message = "开放评价失败,原因:" + ex.Message }); } } /// /// Excel导出 /// /// [HttpPost] public ActionResult Excel() { NpoiExcelHelper neh = new NpoiExcelHelper(); ConfiguretView configuretView = ConfiguretExtensions.GetConfiguretermsView(null); var schoolyearID = Request.Form["SchoolyearDropdown"] == DropdownList.SELECT_ALL.ToString() ? null : Request.Form["SchoolyearDropdown"].ParseStrTo(); var campusID = Request.Form["CampusDropdown"].ParseStrTo(); var collegeID = Request.Form["CollegeDropdown"].ParseStrTo(); var departmentID = Request.Form["DepartmentDropdown"].ParseStrTo(); var coursematerialID = Request.Form["CourseComboGrid"].ParseStrTo(); var courseTypeID = Request.Form["DictionaryCourseType"].ParseStrTo() == DropdownList.SELECT_ALL ? null : Request.Form["DictionaryCourseType"].ParseStrTo(); var handleModeID = Request.Form["DictionaryHandleMode"].ParseStrTo() == DropdownList.SELECT_ALL ? null : Request.Form["DictionaryHandleMode"].ParseStrTo(); var teachingModeID = Request.Form["DictionaryTeachingMode"].ParseStrTo() == DropdownList.SELECT_ALL ? null : Request.Form["DictionaryTeachingMode"].ParseStrTo(); var staffID = Request.Form["StaffComboGrid"].ParseStrTo(); var teachingMethodID = Request.Form["DictionaryTeachingMethod"].ParseStrTo() == DropdownList.SELECT_ALL ? null : Request.Form["DictionaryTeachingMethod"].ParseStrTo(); var evaluationTableID = Request.Form["EvaluationTableDropdown"].ParseStrTo(); var openState = Request.Form["OpenStateDropdown"].ParseStrTo() == DropdownList.SELECT_ALL ? null : Request.Form["OpenStateDropdown"].ParseStrTo(); var dt = EvaluationStudentSettingServices.Value.GetEvaluationStudentSettingViewList(configuretView, schoolyearID, campusID, collegeID, departmentID, coursematerialID, courseTypeID, handleModeID, teachingModeID, staffID, teachingMethodID, evaluationTableID, openState) .Select(x => new { x.SchoolyearCode, x.MissionName, x.MissionClassName, x.CollegeNo, x.CollegeName, x.CampusNo, x.CampusName, x.CourseCode, x.CourseName, x.CourseStructureName, x.CourseCategoryName, x.CourseTypeName, x.CourseQualityName, Credit = x.Credit.HasValue ? x.Credit.Value.ToString("#.#") : null, x.DepartmentNo, x.DepartmentName, x.HandleModeName, x.TeachingModeName, x.MissionClassStatusName, x.EvaluationTableCode, x.EvaluationTableName, x.ParticipateTypeName, x.EvaluationTypeCode, x.EvaluationTypeName, x.StaffCode, x.StaffName, x.TitleName, x.TeachingMethodName, x.ParticipateCount, x.NoParticipateCount, x.ValidityParticipateCount, ValidityParticipateRate = x.ValidityParticipateRate.HasValue ? x.ValidityParticipateRate.Value.ToString("#.#") : "0", x.OpenStateName, x.Remark }).ToTable(); string[] liststring = { "学年学期", "任务名称", "任务班名称", RSL.Get("CollegeCode"), RSL.Get("College"), RSL.Get("CampusCode"), RSL.Get("CampusName"), "课程代码", "课程名称", "课程结构", "课程属性", "课程类型", "课程性质", "课程学分", "开课教研室代码", "开课教研室", "处理方式", "授课方式", "任务状态", "评价表编号", "评价表名", "参评类型", "评价类型编号", "评价类型", "教师工号", "任课教师", "职称", "任课方式", "参评人数", "未评人数", "有效评数", "有效评率%", "开放状态", "备注" }; neh.Export(dt, liststring, "学评设定信息" + DateTime.Now.ToString("yyyyMMdd")); return Json(new ReturnMessage() { IsSuccess = true, Message = "导出成功。" }); } } }