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
}
}