using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using Bowin.Web.Controls.Mvc; using EMIS.Utility; using EMIS.ViewModel; using EMIS.Web.Controls; using EMIS.CommonLogic.CalendarManage; using EMIS.ViewModel.CalendarManage; using EMIS.Entities; using Bowin.Common.Exceptions; using Bowin.Common.Utility; using Bowin.Common.Data; namespace EMIS.Web.Controllers.CalendarManage { [Authorization] public class SchoolYearController : Controller { public ISchoolYearServices SchoolYearServices { get; set; } public DictionaryHelper DictionaryHelper { get; set; } /// /// 学年学期页面 /// /// public ActionResult List() { return View(); } /// /// 列表查询 /// /// /// [HttpPost] public ActionResult List(QueryParamsModel pararms) { ConfiguretView configuretView = ConfiguretExtensions.GetConfiguretermsView(pararms); var isCurrent = pararms.getExtraInt("IsCurrentDropDown") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("IsCurrentDropDown"); return base.Json(SchoolYearServices.GetSchoolYearViewGrid(configuretView, isCurrent, (int)pararms.page, (int)pararms.rows)); } /// /// 编辑页面 /// /// public ActionResult Edit(Guid? schoolyearID) { SchoolYearView schoolyearView = new SchoolYearView(); if (schoolyearID != null && schoolyearID != Guid.Empty) schoolyearView = SchoolYearServices.GetSchoolYearView(schoolyearID); return View(schoolyearView); } /// /// 新增或更新 /// /// /// [HttpPost] public ActionResult Edit(SchoolYearView schoolyearView) { try { if (!schoolyearView.SchoolYearID.HasValue || schoolyearView.SchoolYearID == Guid.Empty) { SchoolYearServices.SchoolYearAdd(schoolyearView); } else { SchoolYearServices.SchoolYearUpdate(schoolyearView); } return Json(new ReturnMessage() { IsSuccess = true, Message = "保存成功!" }); } catch (Exception ex) { return Json(new ReturnMessage() { IsSuccess = false, Message = "保存失败:" + ex.Message }); } } /// /// 删除 /// /// /// [HttpPost] public ActionResult Delete(string schoolyearIDs) { try { List list = new List(); for (int i = 0; i < schoolyearIDs.Split(',').Length; i++) { string id = schoolyearIDs.Split(',')[i]; if (!string.IsNullOrEmpty(id)) { Guid schoolyearID = new Guid(id); list.Add(schoolyearID); } } SchoolYearServices.SchoolYearDelete(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 = "请先删除所有关联的数据,如学期注册、评价控制"; } return base.Json("删除失败,原因:" + mge + "!"); } } /// /// /// /// /// [HttpPost] public ActionResult GetYearsList(QueryParamsModel pararms) { ConfiguretView configuretView = ConfiguretExtensions.GetConfiguretermsView(pararms); var isCurrent = pararms.getExtraInt("IsCurrentDropDown") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("IsCurrentDropDown"); return base.Json(SchoolYearServices.GetYearsViewGrid(configuretView, isCurrent, (int)pararms.page, (int)pararms.rows)); } /// /// 学年学期下拉菜单(全部学年学期,以降序排列) /// /// /// [HttpPost] public ActionResult DropDown(DropdownListBindType? bindType) { var isCurrent = Request.Form["IsCurrentDropDown"].ParseStrTo() == DropdownList.SELECT_ALL ? null : Request.Form["IsCurrentDropDown"].ParseStrTo(); List list = SchoolYearServices.GetSchoolYearViewList(new ConfiguretView(), isCurrent) .Select(x => new DropdownListItem { Text = x.Code, Value = x.SchoolYearID.ToString() }).ToList(); DropdownListBindType dbt = bindType == null ? DropdownListBindType.SelectAll : bindType.Value; DropdownList.FormatDropdownItemList(dbt, list); return base.Json(list); } /// /// 学年学期(全部学年学期,以降序排列-启用学年学期首位) /// /// /// [HttpPost] public ActionResult YearsDropdownListBanid(DropdownListBindType? bindType) { ConfiguretView configuretView = ConfiguretExtensions.GetConfiguretermsView(null); List list = SchoolYearServices.GetSchoolYearViewList(configuretView, null).ToList() .OrderByDescending(x => x.IsCurrent).Select(x => new DropdownListItem { Text = x.Code, Value = x.SchoolYearID.ToString() }).ToList(); DropdownListBindType dbt = bindType == null ? DropdownListBindType.SelectAll : bindType.Value; DropdownList.FormatDropdownItemList(dbt, list); return base.Json(list); } /// /// 学年学期下拉菜单(当前校历之后的学年学期,以降序排列) /// /// /// [HttpPost] public ActionResult DropDownAfterCurrent(DropdownListBindType? bindType) { //var isCurrent = Request.Form["IsCurrentDropDown"].ParseStrTo() == DropdownList.SELECT_ALL ? null : Request.Form["IsCurrentDropDown"].ParseStrTo(); List list = SchoolYearServices.GetSchoolYearViewListAfterCurrent() .Select(x => new DropdownListItem { Text = x.Code, Value = x.SchoolYearID.ToString() }).ToList(); DropdownListBindType dbt = bindType == null ? DropdownListBindType.SelectAll : bindType.Value; DropdownList.FormatDropdownItemList(dbt, list); return base.Json(list); } /// /// 学年学期下拉菜单(当前校历之前的学年学期,以降序排列) /// /// /// [HttpPost] public ActionResult DropDownBeforeCurrent(DropdownListBindType? bindType) { //var isCurrent = Request.Form["IsCurrentDropDown"].ParseStrTo() == DropdownList.SELECT_ALL ? null : Request.Form["IsCurrentDropDown"].ParseStrTo(); List list = SchoolYearServices.GetSchoolYearViewListBeforeCurrent().Select(x => new DropdownListItem { Text = x.Code, Value = x.SchoolYearID.ToString() }).ToList(); DropdownListBindType dbt = bindType == null ? DropdownListBindType.SelectAll : bindType.Value; DropdownList.FormatDropdownItemList(dbt, list); return base.Json(list); } /// /// /// /// /// [HttpPost] public ActionResult CurrentWeekListDropdown(DropdownListBindType? bindType) { List list = SchoolYearServices.GetCurrentSchoolyearWeekNumList().OrderByDescending(x => x).Select(x => new DropdownListItem { Text = x.ToString(), Value = x.ToString() }).ToList(); DropdownListBindType dbt = bindType == null ? DropdownListBindType.SelectAll : bindType.Value; DropdownList.FormatDropdownItemList(dbt, list); return base.Json(list); } /// /// /// /// /// /// [HttpPost] public ActionResult GetWeekListDropdown(DropdownListBindType? bindType, Guid? schoolyearID) { var list = SchoolYearServices.GetSchoolyearWeekNumList(schoolyearID).OrderByDescending(x => x).Select(x => new DropdownListItem { Text = x.ToString(), Value = x.ToString() }).ToList(); DropdownListBindType dbt = bindType == null ? DropdownListBindType.SelectAll : bindType.Value; DropdownList.FormatDropdownItemList(dbt, list); return base.Json(list); } /// /// /// /// /// /// [HttpPost] public ActionResult GetFutureWeekListDropdown(DropdownListBindType? bindType, int weekNum) { var list = SchoolYearServices.GetFutureWeekdayList(weekNum) .OrderBy(x => (x.WeekDay == 0 ? 7 : x.WeekDay)).Select(x => new DropdownListItem { Value = x.WeekDay.ToString(), Text = x.ChineseName.ToString() }).ToList(); DropdownListBindType dbt = bindType == null ? DropdownListBindType.SelectAll : bindType.Value; DropdownList.FormatDropdownItemList(dbt, list); return base.Json(list); } /// /// 导出Excel /// /// /// [HttpPost] public ActionResult Excel() { try { NpoiExcelHelper neh = new NpoiExcelHelper(); ConfiguretView configuretView = ConfiguretExtensions.GetConfiguretermsView(null); var isCurrent = Request.Form["IsCurrentDropDown"].ParseStrTo() == DropdownList.SELECT_ALL ? null : Request.Form["IsCurrentDropDown"].ParseStrTo(); var dt = SchoolYearServices.GetSchoolYearViewList(configuretView, isCurrent).Select(x => new { x.Code, x.Years, x.SchoolcodeName, x.WeeksNum, FirstWeek = x.FirstWeek.Value.ToString("yyyy-MM-dd"), x.Current, x.WeekDays }).ToTable(); string[] liststring = { "学年学期", "学年", "学期名称", "周数", "首周周一日期", "是否当前学期", "每周工作天数" }; neh.Export(dt, liststring, "学年学期信息"); return RedirectToAction("MsgShow", "Common", new { msg = "导出成功!", url = Url.Content("~/SchoolYear/List").AddMenuParameter() }); } catch (Exception ex) { return RedirectToAction("MsgShow", "Common", new { msg = "导出失败,原因:" + ex.Message + "!", url = Url.Content("~/SchoolYear/List").AddMenuParameter() }); } } } }