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 = "导出成功。"
});
}
}
}