using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using Bowin.Web.Controls.Mvc; using Bowin.Common.Utility; using Bowin.Common.Data; using Bowin.Common.JSON; using EMIS.Utility; using EMIS.ViewModel; using EMIS.Web.Controls; using EMIS.CommonLogic.GraduationManage.GraduateCardManage; using EMIS.ViewModel.GraduationManage.GraduateCardManage; namespace EMIS.Web.Controllers.GraduationManage.GraduateCardManage { [Authorization] public class GraduateCardApplyController : Controller { public IGraduateCardApplyServices GraduateCardApplyServices { 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 graduationTypeID = pararms.getExtraInt("DictionaryGraduationType") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("DictionaryGraduationType"); //在校状态 var inSchoolStatus = pararms.getExtraInt("DictionaryInschoolStatus") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("DictionaryInschoolStatus"); //审核状态 var approvalStatus = pararms.getExtraInt("DictionaryApprovalStatus") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("DictionaryApprovalStatus"); return base.Json(GraduateCardApplyServices.GetGraduateCardApplyViewGrid(configuretView, gradSchoolyearID, campusID, collegeID, yearID, standardID, educationID, learningformID, learnSystem, graduationTypeID, inSchoolStatus, approvalStatus, (int)pararms.page, (int)pararms.rows)); } /// /// 名单生成(新增、修改) /// 新增包括:毕业学期小于等于当前启用的毕业学期、学籍信息为在校(排除在校状态为结业、毕业的信息)、在毕业申请允许最大年限(年)范围内 /// 修改:未提交 /// 业务主键:学生信息ID、毕业学期ID(实际的毕业学期) /// /// /// public ActionResult GraduateCardApplyCreate(QueryParamsModel pararms) { try { ConfiguretView configuretView = ConfiguretExtensions.GetConfiguretermsView(pararms); string result = GraduateCardApplyServices.GraduateCardApplyEdit(); return Json(new ReturnMessage() { IsSuccess = true, Message = "生成成功" + result + "。" }); } catch (Exception ex) { return Json(new ReturnMessage() { IsSuccess = false, Message = "生成失败,原因:" + ex.Message }); } } /// /// 复制新增 /// /// /// public ActionResult CopyAdd(Guid graduateCardApplyID) { GraduateCardApplyView graduateCardApplyView = new GraduateCardApplyView(); graduateCardApplyView = GraduateCardApplyServices.GetGraduateCardApplyView(graduateCardApplyID); return View("Edit", graduateCardApplyView); } /// /// 复制新增 /// /// /// [HttpPost] public ActionResult CopyAdd(GraduateCardApplyView graduateCardApplyView) { graduateCardApplyView.GraduateCardApplyID = Guid.Empty; return this.Edit(graduateCardApplyView); } /// /// 编辑(新增、修改,业务主键:学生信息ID、毕业学期ID(实际的毕业学期)) /// /// /// [HttpGet] public ActionResult Edit(Guid? graduateCardApplyID) { GraduateCardApplyView graduateCardApplyView = new GraduateCardApplyView(); if (graduateCardApplyID.HasValue && graduateCardApplyID != Guid.Empty) { graduateCardApplyView = GraduateCardApplyServices.GetGraduateCardApplyView(graduateCardApplyID); } else { graduateCardApplyView.GraduatingSemesterID = BaseExtensions.GetGradSchoolYearID(); } return View(graduateCardApplyView); } /// /// 编辑(新增、修改,业务主键:学生信息ID、毕业学期ID(实际的毕业学期)) /// /// /// [HttpPost] public ActionResult Edit(GraduateCardApplyView graduateCardApplyView) { try { var sessionName = FileUploadHelper.GetFileUploadSessionName(graduateCardApplyView.GraduateCardApplyID); var fileList = (List)Session[sessionName]; GraduateCardApplyServices.GraduateCardApplyEdit(graduateCardApplyView, fileList); return Json(new ReturnMessage() { IsSuccess = true, Message = "保存成功。" }); } catch (Exception ex) { return Json(new ReturnMessage() { IsSuccess = false, Message = "保存失败,原因:" + ex.Message }); } } /// /// 去向申请批量新增(业务主键:学生信息ID、毕业学期ID(实际的毕业学期)) /// /// [HttpGet] public ActionResult GraduateCardApplyBatchAdd() { GraduateCardApplyView graduateCardApplyView = new GraduateCardApplyView(); return View(graduateCardApplyView); } /// /// 去向申请批量新增(业务主键:学生信息ID、毕业学期ID(实际的毕业学期)) /// /// /// public ActionResult GraduateCardApplyBatchAdd(GraduateCardApplyView graduateCardApplyView) { try { var graduationStudentViewList = Request["graduationStudentViewList"].JsonToObject>(); string result = GraduateCardApplyServices.GraduateCardApplyBatchAdd(graduationStudentViewList, graduateCardApplyView); return Json(new ReturnMessage() { IsSuccess = true, Message = "新增成功" + result + "。" }); } catch (Exception ex) { return Json(new ReturnMessage() { IsSuccess = false, Message = "新增失败,原因:" + ex.Message }); } } /// /// 查询未新增毕业学生信息GraduateCardApplyView /// /// /// [HttpPost] public ActionResult GraduationStudentList(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(GraduateCardApplyServices.GetGraduationStudentNoAddViewGrid(configuretView, campusID, collegeID, schoolyearID, standardID, educationID, learningformID, learnSystem, inSchoolStatus, gradSchoolyearID, (int)pararms.page, (int)pararms.rows)); } /// /// 删除 /// /// /// [HttpPost] public ActionResult Delete(string graduateCardApplyIDs) { try { List list = graduateCardApplyIDs.Split(',').Where(x => !string.IsNullOrEmpty(x)) .Select(x => (Guid?)new Guid(x)).ToList(); GraduateCardApplyServices.GraduateCardApplyDelete(list); return base.Json(new ReturnMessage { IsSuccess = true, Message = "删除成功。" }); } catch (Exception ex) { return base.Json(new ReturnMessage { IsSuccess = false, Message = "删除失败,原因:" + ex.Message }); } } /// /// 根据去向申请查看对应的最终成绩信息 /// /// public ActionResult FinallyScoreList() { return View(); } /// /// 根据去向申请查看对应的最终成绩信息 /// /// /// [HttpPost] public ActionResult FinallyScoreList(QueryParamsModel pararms) { ConfiguretView configuretView = ConfiguretExtensions.GetConfiguretermsView(pararms); var graduateCardApplyID = Request["graduateCardApplyID"].ParseStrTo(); var schoolyearID = pararms.getExtraGuid("SchoolyearDropdown"); var courseTypeID = pararms.getExtraInt("DictionaryCourseType") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("DictionaryCourseType"); var courseSelectTypeID = pararms.getExtraInt("DictionaryCourseSelectType") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("DictionaryCourseSelectType"); var examsCategoryID = pararms.getExtraInt("DictionaryExamsCategory") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("DictionaryExamsCategory"); 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 isExecutablePlan = pararms.getExtraInt("DictionaryIsExecutablePlan") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("DictionaryIsExecutablePlan"); //计划状态(执行计划) var executablePlanStatus = pararms.getExtraInt("DictionaryExecutablePlanStatus") == DropdownList.SELECT_ALL ? null : pararms.getExtraInt("DictionaryExecutablePlanStatus"); return Json(GraduateCardApplyServices.GetFinallyScoreViewGrid(configuretView, graduateCardApplyID, schoolyearID, courseTypeID, courseSelectTypeID, examsCategoryID, starttermID, isMainCourse, handleModeID, isExecutablePlan, executablePlanStatus, (int)pararms.page, (int)pararms.rows)); } /// /// 最终成绩明细Excel导出 /// /// [HttpPost] public ActionResult FinallyScoreListExcel() { return null; } /// /// 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 graduationTypeID = Request.Form["DictionaryGraduationType"].ParseStrTo() == DropdownList.SELECT_ALL ? null : Request.Form["DictionaryGraduationType"].ParseStrTo(); //在校状态 var inSchoolStatus = Request.Form["DictionaryInschoolStatus"].ParseStrTo() == DropdownList.SELECT_ALL ? null : Request.Form["DictionaryInschoolStatus"].ParseStrTo(); //审核状态 var approvalStatus = Request.Form["DictionaryApprovalStatus"].ParseStrTo() == DropdownList.SELECT_ALL ? null : Request.Form["DictionaryApprovalStatus"].ParseStrTo(); var dt = GraduateCardApplyServices.GetGraduateCardApplyViewList(configuretView, gradSchoolyearID, campusID, collegeID, yearID, standardID, educationID, learningformID, learnSystem, graduationTypeID, inSchoolStatus, approvalStatus) .Select(x => new { x.GraduatingSemesterCode, x.StudentNo, x.UserName, x.SexName, x.GraduationTypeName, BirthDate = x.BirthDate.HasValue ? x.BirthDate.Value.ToString("yyyyMMdd") : "", x.StandardID, x.StandardCode, x.StandardName, x.SchoolyearID, x.CampusName, x.CollegeNo, x.CollegeName, x.GrademajorCode, x.GrademajorName, x.ClassNo, x.ClassName, x.EducationName, x.LearningformName, LearnSystem = x.LearnSystem.HasValue ? x.LearnSystem.Value.ToString("#.#") : null, x.ExamineeNum, x.NationName, x.PoliticsName, x.IDNumber, EntranceDate = x.EntranceDate.HasValue ? x.EntranceDate.Value.ToString("yyyyMMdd") : "", x.ZIPCode, x.Telephone, x.Address, x.InSchoolStatusName, x.StudentStatusName, x.FinallyScoreCount, x.ApprovalStatusName, x.Remark }).ToTable(); string[] liststring = { "毕业学期", "学号", "姓名", "性别", "毕业类型", "出生日期", "专业ID(Value)", "专业代码", "专业名称", "年级", RSL.Get("CampusName"), RSL.Get("CollegeCode"), RSL.Get("CollegeName"), "年级专业编号", "年级专业名称", "班级编号", "班级名称", RSL.Get("EducationID"), "学习形式", "学制", "考生号", "民族", "政治面貌", "身份证号", "入学日期", "邮政编码", "联系电话", "通讯地址", "在校状态", "学籍状态", "已修门数", "审核状态", "备注" }; neh.Export(dt, liststring, "去向申请信息" + DateTime.Now.ToString("yyyyMMdd")); return Json(new ReturnMessage() { IsSuccess = true, Message = "导出成功。" }); } } }