using System; using Learun.Util; using System.Data; using Learun.Application.TwoDevelopment.EducationalAdministration; using System.Web.Mvc; using System.Collections.Generic; using System.IO; using System.Linq; using Learun.Application.Base.SystemModule; using static Learun.Application.TwoDevelopment.EducationalAdministration.StuInfoBasicEntity; namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers { /// /// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园 /// Copyright (c) 2013-2018 北京泉江科技有限公司 /// 创 建:超级管理员 /// 日 期:2019-02-21 16:53 /// 描 述:学生学籍 /// public class StuInfoBasicController : MvcControllerBase { private StuInfoBasicIBLL stuInfoBasicIBLL = new StuInfoBasicBLL(); private ArrangeLessonSyncIBLL arrangeLessonSyncIBLL = new ArrangeLessonSyncBLL(); private AnnexesFileIBLL annexesFileIbll = new AnnexesFileBLL(); private StuEncourgementIBLL stuEncourgementIBLL = new StuEncourgementBLL(); private StuPunishmentIBLL stuPunishmentIBLL = new StuPunishmentBLL(); private StuScoreIBLL stuScoreIBLL = new StuScoreBLL(); #region 视图功能 /// /// 主页面 /// /// [HttpGet] public ActionResult Index() { return View(); } /// /// 银行 /// /// [HttpGet] public ActionResult IndexBank() { return View("Index"); } /// /// 主页面【大厂】 /// /// [HttpGet] public ActionResult IndexOfDC() { return View(); } /// /// 表单页 /// /// [HttpGet] public ActionResult Form() { return View(); } /// /// 表单页【大厂】 /// /// [HttpGet] public ActionResult FormOfDC() { return View(); } [HttpGet] public ActionResult FormView() { return View(); } [HttpGet] public ActionResult MyClass() { return View(); } [HttpGet] public ActionResult CreateGraduateNo() { return View(); } [HttpGet] public ActionResult Graduate() { return View(); } [HttpGet] public ActionResult CreateGraduateNoForm() { return View(); } /// /// 学生列表【班级信息管理】 /// /// [HttpGet] public ActionResult IndexInClass() { return View(); } /// /// 打印 /// /// [HttpGet] public ActionResult Print(string keyValue) { var stuInfoBasicEntity = stuInfoBasicIBLL.GetStuInfoBasicEntity(keyValue); if (stuInfoBasicEntity == null) { return View(new StuInfoBasicEntity()); } //头像 stuInfoBasicEntity.Photo = annexesFileIbll.GetEntityByFolderId(stuInfoBasicEntity.Photo)?.F_FilePath; if (!string.IsNullOrEmpty(stuInfoBasicEntity.Photo)) { stuInfoBasicEntity.Photo = stuInfoBasicEntity.Photo.Substring(stuInfoBasicEntity.Photo.IndexOf("Resource") - 1); } //奖罚情况 stuInfoBasicEntity.StuEncourgementList = stuEncourgementIBLL.GetEncourgementListByStuNo(stuInfoBasicEntity.StuNo).OrderBy(x => x.AcademicYearNo).ThenBy(x => x.Semester).ToList(); stuInfoBasicEntity.StuPunishmentList = stuPunishmentIBLL.GetPunishmentListByStuNo(stuInfoBasicEntity.StuNo).OrderBy(x => x.AcademicYearNo).ThenBy(x => x.Semester).ToList(); //学习成绩 stuInfoBasicEntity.StuScoreClassOneList = stuScoreIBLL.GetAllScoreListByStuNo(stuInfoBasicEntity.StuNo) .Where(x => x.AcademicYearNo != null && x.Semester != null && x.Score != null) .GroupBy(x => new { x.AcademicYearNo, x.Semester }) .Select(x => new StuScoreClassOne() { AcademicYearNo = x.Key.AcademicYearNo, Semester = x.Key.Semester, StuScoreList = x.Select(y => new StuScoreEntity() { LessonNo = y.LessonNo, LessonName = y.LessonName, Score = y.Score }).OrderBy(xx => xx.LessonNo).ToList() }).OrderBy(xx => xx.AcademicYearNo).ThenBy(xx => xx.Semester).ToList(); return View(stuInfoBasicEntity); } #endregion #region 获取数据 /// /// 生成帐号 /// /// [HttpPost] [AjaxOnly] public ActionResult Generate() { stuInfoBasicIBLL.GenerateAccout(); return Success("生成成功!"); } [HttpPost] [AjaxOnly] public ActionResult UpdateAccount() { stuInfoBasicIBLL.UpdateAccount(); return Success("更新成功!"); } /// /// 获取页面显示列表数据 /// /// 查询参数 /// [HttpGet] [AjaxOnly] public ActionResult GetPageList(string pagination, string queryJson) { Pagination paginationobj = pagination.ToObject(); var data = stuInfoBasicIBLL.GetPageList(paginationobj, queryJson); var jsonData = new { rows = data, total = paginationobj.total, page = paginationobj.page, records = paginationobj.records }; return Success(jsonData); } /// /// 获取页面显示列表数据 /// /// [HttpGet] [AjaxOnly] public ActionResult GetAllList() { var data = stuInfoBasicIBLL.GetAllList(); return Success(data); } /// /// 获取表单数据 /// /// [HttpGet] [AjaxOnly] public ActionResult GetFormData(string keyValue) { var StuInfoBasicData = stuInfoBasicIBLL.GetStuInfoBasicEntity(keyValue); var jsonData = new { StuInfoBasic = StuInfoBasicData, }; return Success(jsonData); } /// /// 获取毕业学生的专业 /// /// [HttpGet] [AjaxOnly] public ActionResult GetMajorInfoWithGraduation() { var data = stuInfoBasicIBLL.GetMajorInfoWithGraduation(); return Success(data); } /// /// 根据帐号获取学生的信息 /// /// /// [HttpGet] [AjaxOnly] public ActionResult GetStuInfo(string Account) { var stuInfo = stuInfoBasicIBLL.GetStuInfoBasicEntityByStuNo(Account); if (stuInfo != null) { return JsonResult(stuInfo); } else { return Fail("学生不存在"); } } /// /// 根据帐号获取学生的信息 /// /// 班级码 /// [HttpGet] [AjaxOnly] public ActionResult GetStuInfoByClassNo(string ClassNo) { var stuInfo = stuInfoBasicIBLL.GetStuInfoByClassNo(ClassNo); return Success(stuInfo); } /// /// 根据帐号获取学生的信息 /// /// /// [HttpGet] [AjaxOnly] public ActionResult GetStuInfoBasicEntityByStuName(string name) { var stuInfo = stuInfoBasicIBLL.GetStuInfoBasicEntityByStuName(name); return Success(stuInfo); } /// /// 获取左侧树形数据 /// /// [HttpGet] [AjaxOnly] public ActionResult GetTree() { var data = stuInfoBasicIBLL.GetTree(); return Success(data); } #endregion #region 提交数据 /// /// 领取毕业证 /// /// 学生id /// [HttpPost] [AjaxOnly] public ActionResult GetCard(string keyValue) { stuInfoBasicIBLL.GetCard(keyValue); return Success("领取成功"); } /// /// 学生毕业归档 /// /// 学生id /// [HttpPost] [AjaxOnly] public ActionResult StuStore() { stuInfoBasicIBLL.StuStore(); return Success("操作成功"); } /// /// 删除实体数据 /// 主键 /// /// [HttpPost] [AjaxOnly] public ActionResult DeleteForm(string keyValue) { stuInfoBasicIBLL.DeleteEntity(keyValue); return Success("删除成功!"); } /// /// 保存实体数据(新增、修改) /// 主键 /// /// [HttpPost] [ValidateAntiForgeryToken] [AjaxOnly] public ActionResult SaveForm(string keyValue, string strEntity) { StuInfoBasicEntity entity = strEntity.ToObject(); entity.SyncFlag = false; var model = stuInfoBasicIBLL.GetStuInfoBasicEntityByStuNo(entity.StuNo); if (string.IsNullOrEmpty(keyValue)) { if (model != null) { return Fail("学号已存在!"); } } else { if (model != null && model.StuId != keyValue) { return Fail("学号已存在!"); } entity.SyncFlag = true; //判断排课同步数据是否存在:若存在,清除同步数据; var arrangeLessonSyncList = arrangeLessonSyncIBLL.GetArrangeLessonSyncListByTableId(keyValue); if (arrangeLessonSyncList.Any()) { arrangeLessonSyncIBLL.DeleteEntityByTableId(keyValue); } else { entity.SyncFlag = false; } } stuInfoBasicIBLL.SaveEntity(keyValue, entity); return Success("保存成功!"); } [HttpPost] [AjaxOnly] public ActionResult CreateGraduateNoByMajor(string CityCode, string SchoolCode, string MajorList) { stuInfoBasicIBLL.CreateGraduateNoByMajor(CityCode, SchoolCode, MajorList); return Success("生成成功"); } /// /// 审核 /// 主键 /// /// [HttpPost] [AjaxOnly] public ActionResult Check(string keyValue) { var keyValueArr = keyValue.Split(','); foreach (var item in keyValueArr) { var StuInfoBasicData = stuInfoBasicIBLL.GetStuInfoBasicEntity(item); if (StuInfoBasicData != null) { StuInfoBasicData.CheckMark = "1"; stuInfoBasicIBLL.SaveEntity(item, StuInfoBasicData); } } return Success("审核成功!"); } /// /// 取消审核 /// 主键 /// /// [HttpPost] [AjaxOnly] public ActionResult UnCheck(string keyValue) { var keyValueArr = keyValue.Split(','); foreach (var item in keyValueArr) { var StuInfoBasicData = stuInfoBasicIBLL.GetStuInfoBasicEntity(item); if (StuInfoBasicData != null) { StuInfoBasicData.CheckMark = "0"; stuInfoBasicIBLL.SaveEntity(item, StuInfoBasicData); } } return Success("取消审核成功!"); } /// /// 全部审核 /// 主键 /// /// [HttpPost] [AjaxOnly] public ActionResult CheckAll() { stuInfoBasicIBLL.CheckAll(); return Success("全部审核成功!"); } /// /// 准许学生毕业操作 /// 学号 /// /// [HttpGet] [AjaxOnly] public ActionResult AllowGraduate(string stuNo, string status) { stuInfoBasicIBLL.AllowGraduate(stuNo, status); return Success("操作成功!"); } [HttpPost] [AjaxOnly] public ActionResult IsPhoto(string stuId, string base64url) { var loginuser = LoginUserInfo.Get(); //头像处理 var folderId = Guid.NewGuid().ToString(); string filePath = Config.GetValue("AnnexesFile"); string uploadDate = DateTime.Now.ToString("yyyyMMdd"); string FileEextension = ".png"; string fileGuid = Guid.NewGuid().ToString(); string virtualPath = string.Format("{0}/{1}/{2}/{3}{4}", filePath, loginuser.account, uploadDate, fileGuid, FileEextension); //创建文件夹 string path = Path.GetDirectoryName(virtualPath); Directory.CreateDirectory(path); AnnexesFileEntity fileAnnexesEntity = new AnnexesFileEntity(); if (!System.IO.File.Exists(virtualPath)) { byte[] bytes = Convert.FromBase64String(base64url.Replace("data:image/png;base64,", "")); FileInfo file = new FileInfo(virtualPath); FileStream fs = file.Create(); fs.Write(bytes, 0, bytes.Length); fs.Close(); //文件信息写入数据库 fileAnnexesEntity.F_Id = fileGuid; fileAnnexesEntity.F_FileName = "userphoto.png"; fileAnnexesEntity.F_FilePath = virtualPath; fileAnnexesEntity.F_FileSize = bytes.Length.ToString(); fileAnnexesEntity.F_FileExtensions = FileEextension; fileAnnexesEntity.F_FileType = FileEextension.Replace(".", ""); fileAnnexesEntity.F_CreateUserId = loginuser.userId; fileAnnexesEntity.F_CreateUserName = loginuser.realName; annexesFileIbll.SaveEntity(folderId, fileAnnexesEntity); var stuEntity = stuInfoBasicIBLL.GetStuInfoBasicEntity(stuId); stuEntity.Photo = folderId; stuInfoBasicIBLL.SaveEntity(stuEntity.StuId, stuEntity); return Success("上传成功"); } else { return Fail("上传失败"); } } /// /// 同步照片 /// /// [HttpGet] [AjaxOnly] public ActionResult SynPhoto() { stuInfoBasicIBLL.SynPhoto(); return Success("同步成功!"); } [HttpPost] [AjaxOnly] public ActionResult SyncDept() { stuInfoBasicIBLL.SyncDept(); return Success("同步成功"); } [HttpPost] [AjaxOnly] public ActionResult SyncMajor() { stuInfoBasicIBLL.SyncMajor(); return Success("同步成功"); } #endregion } }