using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using EMIS.CommonLogic.GraduationManage.GraduationSetting;
using EMIS.ViewModel;
using EMIS.Web.Controls;
using Bowin.Web.Controls.Mvc;
using Bowin.Common.Utility;
using Bowin.Common.Data;
using Bowin.Common.JSON;
using EMIS.ViewModel.GraduationManage.GraduationSetting;
using EMIS.Utility;
using EMIS.CommonLogic.CalendarManage;
using EMIS.CommonLogic.SystemServices;
namespace EMIS.Web.Controllers.GraduationManage.GraduationSetting
{
[Authorization]
public class GraduationStandardController : Controller
{
public IGraduationStandardServices GraduationStandardServices { get; set; }
///
/// 毕业标准页面
///
///
public ActionResult List()
{
return View();
}
///
/// 毕业标准列表查询
///
///
///
[HttpPost]
public ActionResult List(QueryParamsModel pararms)
{
ConfiguretView configuretView = ConfiguretExtensions.GetConfiguretermsView(pararms);
var gradSchoolyearID = pararms.getExtraGuid("GradSchoolyearDropdown");
var campusID = pararms.getExtraGuid("CampusDropdown");
var collegeID = pararms.getExtraGuid("CollegeDropdown");
var yearID = pararms.getExtraInt("DictionarySchoolyear") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("DictionarySchoolyear");
var standardID = pararms.getExtraInt("DictionaryStandard") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("DictionaryStandard");
var educationID = pararms.getExtraInt("DictionaryEducation") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("DictionaryEducation");
var learningformID = pararms.getExtraInt("DictionaryLearningform") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("DictionaryLearningform");
var learnSystem = pararms.getExtraString("DictionaryLearnSystem");
//在校状态
var inSchoolStatus = pararms.getExtraInt("DictionaryInschoolStatus") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("DictionaryInschoolStatus");
return base.Json(GraduationStandardServices.GetGraduationStandardViewGrid(configuretView, gradSchoolyearID, campusID, collegeID, yearID,
standardID, educationID, learningformID, learnSystem, inSchoolStatus, (int)pararms.page, (int)pararms.rows));
}
///
/// 标准生成
///
///
[HttpGet]
public ActionResult Generate()
{
return View();
}
///
/// 标准生成(只生成年级专业对应的学生人数大于0的信息)
///
///
///
[HttpPost]
public ActionResult Generate(GraduationStandardView graduationStandardView)
{
try
{
string result = GraduationStandardServices
.GraduationStandardGenerate(graduationStandardView.GraduatingSemesterID, graduationStandardView.CollegeID);
return Json(new ReturnMessage()
{
IsSuccess = true,
Message = "生成成功" + result + "。"
});
}
catch (Exception ex)
{
return Json(new ReturnMessage()
{
IsSuccess = false,
Message = "生成失败,原因:" + ex.Message
});
}
}
///
/// 复制新增
///
///
///
public ActionResult CopyAdd(Guid graduationStandardID)
{
GraduationStandardView graduationStandardView = new GraduationStandardView();
graduationStandardView = GraduationStandardServices.GetGraduationStandardView(graduationStandardID);
return View("Edit", graduationStandardView);
}
///
/// 复制新增
///
///
///
[HttpPost]
public ActionResult CopyAdd(GraduationStandardView graduationStandardView)
{
graduationStandardView.GraduationStandardID = Guid.Empty;
return this.Edit(graduationStandardView);
}
///
/// 编辑(新增、修改)
///
///
///
[HttpGet]
public ActionResult Edit(Guid? GraduationStandardID)
{
GraduationStandardView graduationStandardView = new GraduationStandardView();
if (GraduationStandardID.HasValue && GraduationStandardID != Guid.Empty)
{
graduationStandardView = GraduationStandardServices.GetGraduationStandardView(GraduationStandardID);
}
return View(graduationStandardView);
}
///
/// 编辑(新增、修改)
///
///
///
[HttpPost]
public ActionResult Edit(GraduationStandardView graduationStandardView)
{
try
{
GraduationStandardServices.GraduationStandardEdit(graduationStandardView);
return Json(new ReturnMessage()
{
IsSuccess = true,
Message = "保存成功。"
});
}
catch (Exception ex)
{
return Json(new ReturnMessage()
{
IsSuccess = false,
Message = "保存失败,原因:" + ex.Message
});
}
}
///
/// 毕业标准批量新增(业务主键:年级专业ID)
///
///
[HttpGet]
public ActionResult GraduationStandardBatchAdd()
{
GraduationStandardView graduationStandardView = new GraduationStandardView();
return View(graduationStandardView);
}
///
/// 毕业标准批量新增(业务主键:年级专业ID)
///
///
///
public ActionResult GraduationStandardBatchAdd(GraduationStandardView graduationStandardView)
{
try
{
var grademajorIDList = Request["grademajorIDList"].JsonToObject>();
string result = GraduationStandardServices.GraduationStandardBatchAdd(grademajorIDList, graduationStandardView);
return Json(new ReturnMessage()
{
IsSuccess = true,
Message = "新增成功" + result + "。"
});
}
catch (Exception ex)
{
return Json(new ReturnMessage()
{
IsSuccess = false,
Message = "新增失败,原因:" + ex.Message
});
}
}
///
/// 查询未新增的毕业标准对应的年级专业信息
///
///
///
[HttpPost]
public ActionResult GraduationStandardNoAddList(QueryParamsModel pararms)
{
ConfiguretView configuretView = ConfiguretExtensions.GetConfiguretermsView(pararms);
var campusID = pararms.getExtraGuid("CampusDropdown");
var collegeID = pararms.getExtraGuid("CollegeDropdown");
var schoolyearID = pararms.getExtraInt("DictionarySchoolyear") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("DictionarySchoolyear");
var standardID = pararms.getExtraInt("DictionaryStandard") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("DictionaryStandard");
var educationID = pararms.getExtraInt("DictionaryEducation") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("DictionaryEducation");
var learningformID = pararms.getExtraInt("DictionaryLearningform") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("DictionaryLearningform");
var learnSystem = pararms.getExtraString("DictionaryLearnSystem");
//在校状态
var inSchoolStatus = pararms.getExtraInt("DictionaryInschoolStatus") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("DictionaryInschoolStatus");
//毕业学期(年级专业对应的毕业学期)
var gradSchoolyearID = pararms.getExtraGuid("GradSchoolyearDropdown");
return base.Json(GraduationStandardServices.GetGraduationStandardNoAddViewGrid(configuretView, campusID, collegeID,
schoolyearID, standardID, educationID, learningformID, learnSystem, inSchoolStatus, gradSchoolyearID, (int)pararms.page, (int)pararms.rows));
}
///
/// 删除
///
///
///
[HttpPost]
public ActionResult Delete(string graduationStandardIDs)
{
try
{
List list = graduationStandardIDs.Split(',').Where(x => !string.IsNullOrEmpty(x))
.Select(x => (Guid?)new Guid(x)).ToList();
GraduationStandardServices.GraduationStandardDelete(list);
return base.Json("删除成功。");
}
catch (Exception ex)
{
return base.Json("删除失败,原因:" + ex.Message);
}
}
///
/// 根据毕业标准查看对应的专业计划信息
///
///
public ActionResult SpecialtyPlanList()
{
return View();
}
///
/// 根据毕业标准查看对应的专业计划信息
///
///
///
[HttpPost]
public ActionResult SpecialtyPlanList(QueryParamsModel pararms)
{
ConfiguretView configuretView = ConfiguretExtensions.GetConfiguretermsView(pararms);
var graduationStandardID = Request["graduationStandardID"].ParseStrTo();
var schoolyearID = pararms.getExtraGuid("SchoolyearDropdown");
var courseTypeID = pararms.getExtraInt("DictionaryCourseType") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("DictionaryCourseType");
var starttermID = pararms.getExtraInt("DictionaryStartterm") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("DictionaryStartterm");
var isMainCourse = pararms.getExtraInt("DictionaryIsMainCourse") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("DictionaryIsMainCourse");
var handleModeID = pararms.getExtraInt("DictionaryHandleMode") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("DictionaryHandleMode");
return Json(GraduationStandardServices.GetSpecialtyPlanViewGrid(configuretView, graduationStandardID,
schoolyearID, courseTypeID, starttermID, isMainCourse, handleModeID, (int)pararms.page, (int)pararms.rows));
}
///
/// 专业计划明细Excel导出
///
///
[HttpPost]
public ActionResult SpecialtyPlanListExcel()
{
return null;
}
///
/// 根据毕业标准查看对应的执行计划信息
///
///
public ActionResult ExecutablePlanList()
{
return View();
}
///
/// 根据毕业标准查看对应的执行计划信息
///
///
///
[HttpPost]
public ActionResult ExecutablePlanList(QueryParamsModel pararms)
{
ConfiguretView configuretView = ConfiguretExtensions.GetConfiguretermsView(pararms);
var graduationStandardID = Request["graduationStandardID"].ParseStrTo();
var schoolyearID = pararms.getExtraGuid("SchoolyearDropdown");
var courseTypeID = pararms.getExtraInt("DictionaryCourseType") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("DictionaryCourseType");
var starttermID = pararms.getExtraInt("DictionaryStartterm") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("DictionaryStartterm");
var isMainCourse = pararms.getExtraInt("DictionaryIsMainCourse") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("DictionaryIsMainCourse");
var handleModeID = pararms.getExtraInt("DictionaryHandleMode") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("DictionaryHandleMode");
//计划状态(执行计划)
var executablePlanStatus = pararms.getExtraInt("DictionaryExecutablePlanStatus") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("DictionaryExecutablePlanStatus");
return Json(GraduationStandardServices.GetExecutablePlanViewGrid(configuretView, graduationStandardID,
schoolyearID, courseTypeID, starttermID, isMainCourse, handleModeID, executablePlanStatus, (int)pararms.page, (int)pararms.rows));
}
///
/// 执行计划明细Excel导出
///
///
[HttpPost]
public ActionResult ExecutablePlanListExcel()
{
return null;
}
///
/// 查询年级专业下各班级学生名单
///
///
public ActionResult Detail()
{
return View();
}
///
/// 查询年级专业下各班级学生名单
///
///
///
[HttpPost]
public ActionResult Detail(QueryParamsModel pararms)
{
ConfiguretView configuretView = ConfiguretExtensions.GetConfiguretermsView(pararms);
var grademajorID = Request["grademajorID"].ParseStrTo();
int? inschoolStatus = Request["inschoolStatus"].ParseStrTo() == DropdownList.SELECT_ALL ? null : Request["inschoolStatus"].ParseStrTo();
return Json(GraduationStandardServices.GetGradeMajorStudentViewGrid(configuretView, grademajorID, inschoolStatus, (int)pararms.page, (int)pararms.rows));
}
///
/// 学生信息明细Excel导出
///
///
[HttpPost]
public ActionResult GrademajorStudentExcel()
{
NpoiExcelHelper neh = new NpoiExcelHelper();
ConfiguretView configuretView = ConfiguretExtensions.GetConfiguretermsView(null);
var grademajorID = Request["grademajorID"].ParseStrTo();
int? inSchoolStatus = Request["inschoolStatus"].ParseStrTo() == DropdownList.SELECT_ALL ? null : Request["inschoolStatus"].ParseStrTo();
var dt = GraduationStandardServices.GetGradeMajorStudentViewGrid(configuretView, grademajorID, inSchoolStatus)
.Select(x => new
{
x.LoginID,
x.UserName,
x.SexName,
x.ClassmajorName,
x.InSchoolStatusName,
x.StudentStatusName
}).ToTable();
string[] liststring = { "学号", "姓名", "性别", "班级名称 ", "在校状态", "学籍状态" };
var title = "毕业标准学生信息";
if (inSchoolStatus == (int)CF_INOrOutSchoolStatus.No)
{
title = "毕业标准学生信息(非在校)";
}
if (inSchoolStatus == (int)CF_INOrOutSchoolStatus.Yes)
{
title = "毕业标准学生信息(在校)";
}
neh.Export(dt, liststring, title + DateTime.Now.ToString("yyyyMMdd"));
return Json(new ReturnMessage()
{
IsSuccess = true,
Message = "导出成功。"
});
}
///
/// Excel导出
///
///
[HttpPost]
public ActionResult Excel()
{
NpoiExcelHelper neh = new NpoiExcelHelper();
ConfiguretView configuretView = ConfiguretExtensions.GetConfiguretermsView(null);
var gradSchoolyearID = Request.Form["GradSchoolyearDropdown"] == DropdownList.SELECT_ALL.ToString() ? null : Request.Form["GradSchoolyearDropdown"].ParseStrTo();
var campusID = Request.Form["CampusDropdown"].ParseStrTo();
var collegeID = Request.Form["CollegeDropdown"].ParseStrTo();
var yearID = Request.Form["DictionarySchoolyear"].ParseStrTo() == DropdownList.SELECT_ALL ? null : Request.Form["DictionarySchoolyear"].ParseStrTo();
var standardID = Request.Form["DictionaryStandard"].ParseStrTo() == DropdownList.SELECT_ALL ? null : Request.Form["DictionaryStandard"].ParseStrTo();
var educationID = Request.Form["DictionaryEducation"].ParseStrTo() == DropdownList.SELECT_ALL ? null : Request.Form["DictionaryEducation"].ParseStrTo();
var learningformID = Request.Form["DictionaryLearningform"].ParseStrTo() == DropdownList.SELECT_ALL ? null : Request.Form["DictionaryLearningform"].ParseStrTo();
var learnSystem = Request.Form["DictionaryLearnSystem"].ToString();
//在校状态
var inSchoolStatus = Request.Form["DictionaryInschoolStatus"].ParseStrTo() == DropdownList.SELECT_ALL ? null : Request.Form["DictionaryInschoolStatus"].ParseStrTo();
var dt = GraduationStandardServices.GetGraduationStandardViewList(configuretView, gradSchoolyearID, campusID, collegeID, yearID,
standardID, educationID, learningformID, learnSystem, inSchoolStatus)
.Select(x => new
{
x.GraduatingSemesterCode,
x.GrademajorCode,
x.GrademajorName,
x.FacultymajorNo,
x.FacultymajorName,
x.CollegeNo,
x.CollegeName,
x.SchoolyearID,
x.SchoolcodeName,
x.EnteringSchoolYearCode,
x.StandardID,
x.StandardCode,
x.StandardName,
x.EducationName,
x.LearningformName,
x.LearnSystem,
x.PlanCourseCount,
x.SpecialtyCreditTotal,
x.SpecialtyRequireCreditTotal,
x.OptionalCreditTotal,
x.FreeSelectionCreditTotal,
x.ExecCourseCount,
x.ExecutableCreditTotal,
x.RequireCourseCount,
x.GraduationCredit,
x.StudentCount
}).ToTable();
string[] liststring = {
"毕业学期", "年级专业编号", "年级专业名称", "院系专业编号", "院系专业名称",
RSL.Get("CollegeCode"), RSL.Get("CollegeName"), "年级", "学期", "入学学年学期",
"专业ID(Value)", "专业代码", "专业名称", RSL.Get("EducationID"), "学习形式",
"学制", "计划门数", "计划学分", "必修学分", "限选学分", "任选学分",
"执行门数", "执行学分", "毕业门数", "毕业学分", "人数"
};
var title = "毕业标准信息";
if (inSchoolStatus == (int)CF_INOrOutSchoolStatus.No)
{
title = "毕业标准信息(非在校)";
}
if (inSchoolStatus == (int)CF_INOrOutSchoolStatus.Yes)
{
title = "毕业标准信息(在校)";
}
neh.Export(dt, liststring, title + DateTime.Now.ToString("yyyyMMdd"));
return Json(new ReturnMessage()
{
IsSuccess = true,
Message = "导出成功。"
});
}
}
}