using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using EMIS.ViewModel; using EMIS.ViewModel.DifferentDynamic; using EMIS.Web.Controls; using EMIS.CommonLogic.Students; using Bowin.Common.Exceptions; using Bowin.Common.Linq.Entity; using Bowin.Web.Controls.Mvc; using Bowin.Common.Utility; using Bowin.Common.Linq; using Bowin.Common.Mvc; using EMIS.CommonLogic.CalendarManage; namespace EMIS.Web.Controllers.DifferentDynamic { /// /// 异动申请 /// [Authorization] public class DifferentDynamicApplyController : DifferentDynamicController { public ISchoolYearServices SchoolYearServices { get; set; } //[StaticFileWriteFilter] public ActionResult List() { var schoolYear = SchoolYearServices.GetSchoolYearIsCurrent(true); ViewBag.SchoolYearID = schoolYear == null ? "-1" : schoolYear.SchoolyearID.ToString();//默认当前学年 return View(); } [HttpPost] public ActionResult ApplyStatusDropDown(DropdownListBindType? bindType) { var statusList = this.DifferentDynamicServices.GetStatusViewList() .Where(x => x.ID != DifferentDynamicServices.GetCorrectEndStatus()) .OrderBy(x => x.ID) .Select(x => new DropdownListItem() { Text = x.Name, Value = x.ID.HasValue ? x.ID.Value.ToString() : "" }).ToList(); DropdownListBindType dbt = bindType == null ? DropdownListBindType.SelectAll : bindType.Value; DropdownList.FormatDropdownItemList(dbt, statusList); return base.Json(statusList); } /// /// 列表查询 /// /// /// [HttpPost] public ActionResult List(QueryParamsModel pararms) { ConfiguretView configuretView = ConfiguretExtensions.GetConfiguretermsView(pararms); var campusID = pararms.getExtraGuid("CampusDropdown"); //校区 var collegeID = pararms.getExtraGuid("CollegeDropdown"); //院系所 var year = CheckIsSelectAll(pararms.getExtraInt("SchoolyearDictionaryDropDown")); //年级 var standard = CheckIsSelectAll(pararms.getExtraInt("StandardDictionaryDropDown")); //专业名称 var education = CheckIsSelectAll(pararms.getExtraInt("DictionaryEducation")); //培养层次 var learningform = CheckIsSelectAll(pararms.getExtraInt("DictionaryLearningform")); //学习形式 var classmajorID = pararms.getExtraGuid("ClassmajorDropdown"); //班级名称 var schoolYearID = pararms.getExtraGuid("SchoolYearDropdown"); //异动学期 var differentDynamicType = CheckIsSelectAll(pararms.getExtraInt("DictionaryDifferentDynamicType")); //异动类型 var differentDynamicStatus = CheckIsSelectAll(pararms.getExtraInt("DictionaryDifferentDynamicStatus")); //审批状态 var LearnSystem = pararms.getExtraString("DictionaryLearnSystem"); var result = DifferentDynamicServices.GetDifferentDynamicViewGrid(configuretView, campusID, collegeID, year, standard, education, learningform, classmajorID, schoolYearID, differentDynamicType, differentDynamicStatus,LearnSystem, (int)pararms.page, (int)pararms.rows, 1); return Json(result); } public ActionResult Edit(Guid? id) { var schoolYear = SchoolYearServices.GetSchoolYearIsCurrent(true); var vm = new DifferentDynamicView(); vm.SchoolyearID = schoolYear.SchoolyearID; vm.ApplyTypeID = (int)CF_ChangeApplyType.Normal; if (id != null && id != Guid.Empty) { vm = DifferentDynamicServices.GetDifferentDynamicView(id); } var isView = (vm.EntityApprovalStatus.HasValue && vm.EntityApprovalStatus != DifferentDynamicServices.GetStartStatus()) ? true : false; ViewBag.IsView = isView; ViewBag.StartStatusID = DifferentDynamicServices.GetStartStatus(); return View(vm); } /// /// 新增或更新 /// /// /// [HttpPost] public ActionResult Edit(DifferentDynamicView vm) { try { vm.Action = Request.Params["type"]; DifferentDynamicServices.AddOrUpdateDifferentDynamic(vm); return Json(new ReturnMessage() { IsSuccess = true, Message = "保存成功!" }); } catch (Exception ex) { return Json(new ReturnMessage() { IsSuccess = false, Message = "保存失败,原因:" + ex.Message }); } } /// /// 删除 /// /// /// [HttpPost] public ActionResult Delete(string ids) { try { var list = ids.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries).Select(s => Guid.Parse(s)).ToList(); DifferentDynamicServices.DeleteDifferentDynamic(list); return base.Json("删除成功"); } catch (Exception ex) { string mge = ex.Message; System.Data.SqlClient.SqlException num = ExceptionHelper.GetSqlException(ex); if (num != null) { if (num.Number == 547) //mge = "请先删除所有关联的数据,如:专业计划、选修计划等!"; mge = "请先删除所有关联的数据!"; } return base.Json("删除失败,原因:" + mge); } } /// /// 提交 /// /// /// [HttpPost] public ActionResult Submit(string ids) { try { var user = HttpContext.User as EMIS.Utility.FormValidate.CustomPrincipal; var list = ids.Split(',').Where(x => !string.IsNullOrEmpty(x)).Select(s => Guid.Parse(s)).ToList(); DifferentDynamicServices.Submit(list, user.UserID); return Json("提交成功"); } catch (Exception ex) { string mge = ex.Message; return Json("提交失败,原因:" + mge); } } [HttpPost] public ActionResult Excel() { NpoiExcelHelper neh = new NpoiExcelHelper(); ConfiguretView configuretView = ConfiguretExtensions.GetConfiguretermsView(null); //避开全选值 //var roleID = Request.Form["Role"].ParseStrTo(); var campusID = Request.Form["CampusDropdown"].ParseStrTo(); //校区 var collegeID = Request.Form["CollegeDropdown"].ParseStrTo(); //院系所 var year = CheckIsSelectAll(Request.Form["DictionarySchoolyear"].ParseStrTo()); //年级 var standard = CheckIsSelectAll(Request.Form["DictionaryStandard"].ParseStrTo()); //专业名称 var education = CheckIsSelectAll(Request.Form["DictionaryEducation"].ParseStrTo()); //培养层次 var learningform = CheckIsSelectAll(Request.Form["DictionaryLearningform"].ParseStrTo()); //学习形式 var classmajorID = Request.Form["ClassmajorDropdown"].ParseStrTo(); //班级名称 var schoolYearID = Request.Form["SchoolYearDropdown"].ParseStrTo(); //异动学期 var differentDynamicType = CheckIsSelectAll(Request.Form["DictionaryDifferentDynamicType"].ParseStrTo()); //异动类型 var differentDynamicStatus = CheckIsSelectAll(Request.Form["DictionaryDifferentDynamicStatus"].ParseStrTo()); //审批状态 var LearnSystem = Request.Form["DictionaryLearnSystem"].ToString(); var result = DifferentDynamicServices.GetDifferentDynamicViewList(configuretView, campusID, collegeID, year, standard, education, learningform, classmajorID, schoolYearID, differentDynamicType, differentDynamicStatus, LearnSystem,1); var dt = result.Select(s => new { s.SchoolyearCode, s.LoginID, s.Name, s.DifferentDynamicTypeName, s.ReasonName, s.InSchoolStatusName, s.StudentStatusName, s.StandardName, s.ClassmajorName, s.AfterStandardName, s.AfterClassmajorName, s.AfterInSchoolStatusName, s.AfterStudentStatusName, s.ReturnSchoolyearCode, s.ApprovalStatusName, s.ReportStatusName, }).ToTable(); string[] liststring = { "异动学期", "学号", "姓名", "异动类型", "异动原因", "在校状态", "学籍状态", "异动前专业", "异动前班级", "异动后专业", "异动后班级", "异动后在校状态", "异动后学籍状态", "异动日期", "审批状态", "注册状态" }; neh.Export(dt, liststring, "异动申请"); return RedirectToAction("MsgShow", "Common", new { msg = "导出成功!", url = Url.Action("List").AddMenuParameter() }); } /// /// 添加更新前验证 /// /// /// /// [HttpPost] public ActionResult Verification(Guid? ID) { return base.Json("成功"); } /// /// /// /// /// public ActionResult DifferentDynamicApplyReport(string LoginID) { return View(); } /// /// 列表查询(已弃用) /// /// /// //[HttpPost] //public ActionResult GetSelectReport(QueryParamsModel pararms) //{ // ConfiguretView configuretView = ConfiguretExtensions.GetConfiguretermsView(pararms); // var result = DifferentDynamicServices.GetDifferentDynamicViewGrid(configuretView); // return Json(result); //} } }