|
- using Learun.Application.Base.SystemModule;
- using Learun.Application.TwoDevelopment.EducationalAdministration;
- using Learun.Application.TwoDevelopment.LogisticsManagement;
- using Learun.Application.TwoDevelopment.ReceiveSendFeeManagement;
- using Learun.Util;
- using Newtonsoft.Json;
- using NPOI.HSSF.UserModel;
- using NPOI.SS.UserModel;
- using NPOI.XSSF.UserModel;
- using System;
- using System.Collections.Generic;
- using System.Data;
- using System.IO;
- using System.Linq;
- using System.Text;
- using System.Web;
- using System.Web.Mvc;
-
- namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
- {
- /// <summary>
- /// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园
- /// Copyright (c) 2013-2018 北京泉江科技有限公司
- /// 创 建:超级管理员
- /// 日 期:2019-08-08 17:21
- /// 描 述:新生信息管理
- /// </summary>
- public class StuInfoFreshController : MvcControllerBase
- {
- private StuInfoFreshIBLL stuInfoFreshIBLL = new StuInfoFreshBLL();
- private AnnexesFileIBLL annexesFileIBLL = new AnnexesFileBLL();
- private ClassInfoIBLL classInfoIBLL = new ClassInfoBLL();
- private FinaChargesStandardIBLL finaChargesStandardIBLL = new FinaChargesStandardBLL();
- private AccommodationIBLL accommodationIBLL = new AccommodationBLL();
- private CdMajorIBLL cdMajorIBLL = new CdMajorBLL();
- private CdDeptIBLL cdDeptIBLL = new CdDeptBLL();
-
- #region 视图功能
-
- /// <summary>
- /// 主页面
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult Index()
- {
- return View();
- }
- [HttpGet]
- public ActionResult IndexDC()
- {
- return View();
- }
- [HttpGet]
- public ActionResult SchoolUniform()
- {
- return View();
- }
- [HttpGet]
- public ActionResult StatusView()
- {
- return View();
- }
- [HttpGet]
- public ActionResult PrintSignFlow(string Id)
- {
- if (!string.IsNullOrEmpty(Id))
- {
- var vwinfo = stuInfoFreshIBLL.GetStuInfoFreshEntity(Id);
- vwinfo.MajorName = cdMajorIBLL.GetCdMajorEntityByMajorNo(vwinfo.MajorNo).MajorName;
- return View(vwinfo);
- }
- else
- {
- return View();
- }
- }
-
- /// <summary>
- /// 根据区域统计
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult StatisticsArea()
- {
- return View();
- }
-
-
- /// <summary>
- /// 表单页
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult Form()
- {
- var url = Config.GetValue("defaultheadimg");
- ViewBag.Url = url;
- return View();
- }
- [HttpGet]
- public ActionResult FormDC()
- {
- var url = Config.GetValue("defaultheadimg");
- ViewBag.Url = url;
- return View();
- }
- /// <summary>
- /// 表单查看页
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult FormView()
- {
- var url = Config.GetValue("defaultheadimg");
- ViewBag.Url = url;
- return View();
- }
- /// <summary>
- /// 表单【学子在线】
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult FormOfStudent()
- {
- var url = Config.GetValue("defaultheadimg");
- ViewBag.Url = url;
- return View();
- }
- /// <summary>
- /// 新生报到管理页面
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult RegisterIndex()
- {
- return View();
- }
- /// <summary>
- /// 新生档案管理页面
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult CollectFileIndex()
- {
- return View();
- }
- /// <summary>
- /// 新生领取用品页面
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult GetKeyIndex()
- {
- return View();
- }
- /// <summary>
- /// 新生缴费管理页面
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult PayFeeIndex()
- {
- return View();
- }
- /// <summary>
- /// 新生缴费管理表单页
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult PayFeeForm()
- {
- return View();
- }
- /// <summary>
- /// 助学贷款表单页
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult LoanForm()
- {
- return View();
- }
- /// <summary>
- /// 现场缴费表单页
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult OnsitePayForm()
- {
- return View();
- }
-
- /// <summary>
- /// 主页面【学子在线-新生信息完善】
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult IndexOfStudent()
- {
- return View();
- }
- /// <summary>
- /// 分配班级
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult AllocationClass()
- {
- return View();
- }
- [HttpGet]
- public ActionResult AllocationClassDC()
- {
- return View();
- }
- /// <summary>
- /// 分配宿舍
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult AllocationDormitory()
- {
- return View();
- }
- /// <summary>
- /// 分配床位
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult AllocationBed()
- {
- return View();
- }
- /// <summary>
- /// 导入床位页
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult ImportBedForm()
- {
- return View();
- }
- /// <summary>
- /// 导出学生宿页舍
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult ExportBedForm()
- {
- return View();
- }
- /// <summary>
- /// 新生信息统计
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult StatisticIndex()
- {
- var academic = Common.GetSemesterAndYear();
- ViewBag.Grade = academic.AcademicYearShort.Substring(0, 2);
- return View();
- }
- /// <summary>
- /// 新生信息班级统计
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult StatisticClassIndex()
- {
- var academic = Common.GetSemesterAndYear();
- ViewBag.Grade = academic.AcademicYearShort.Substring(0, 2);
- return View();
- }
- #endregion
-
- #region 获取数据
-
- /// <summary>
- /// 获取列表数据
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- [AjaxOnly]
- public ActionResult GetList(string queryJson)
- {
- var data = stuInfoFreshIBLL.GetList(queryJson);
- return Success(data);
- }
- /// <summary>
- /// 获取列表分页数据
- /// <param name="pagination">分页参数</param>
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- [AjaxOnly]
- public ActionResult GetPageList(string pagination, string queryJson)
- {
- Pagination paginationobj = pagination.ToObject<Pagination>();
- var data = stuInfoFreshIBLL.GetPageList(paginationobj, queryJson);
- var jsonData = new
- {
- rows = data,
- total = paginationobj.total,
- page = paginationobj.page,
- records = paginationobj.records
- };
- return Success(jsonData);
- }
- /// <summary>
- /// 获取表单数据
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- [AjaxOnly]
- public ActionResult GetFormData(string keyValue)
- {
- var StuInfoFreshData = stuInfoFreshIBLL.GetStuInfoFreshEntity(keyValue);
- StuInfoFreshData.Files = StuInfoFreshData.ID;
- //获取头像地址
- var url = Config.GetValue("defaultheadimg");
- if (StuInfoFreshData.IsPhoto == true && !string.IsNullOrEmpty(StuInfoFreshData.Photo))
- {
- var annexesFileEntity = annexesFileIBLL.GetEntity(StuInfoFreshData.Photo);
- if (annexesFileEntity != null)
- {
- url = "/" + annexesFileEntity.F_FilePath.Substring(annexesFileEntity.F_FilePath.IndexOf("Resource"));
- }
- }
- var StuInfoFreshEmergePeopleData = stuInfoFreshIBLL.GetStuInfoFreshEmergePeopleList(StuInfoFreshData.ID);
- var StuInfoFreshFamilyData = stuInfoFreshIBLL.GetStuInfoFreshFamilyList(StuInfoFreshData.ID);
- var jsonData = new
- {
- StuInfoFresh = StuInfoFreshData,
- StuInfoFreshEmergePeople = StuInfoFreshEmergePeopleData,
- StuInfoFreshFamily = StuInfoFreshFamilyData,
- Url = url
- };
- return Success(jsonData);
- }
- /// <summary>
- /// 获取分配宿舍列表
- /// </summary>
- /// <param name="pagination"></param>
- /// <param name="queryJson"></param>
- /// <returns></returns>
- [HttpGet]
- [AjaxOnly]
- public ActionResult GetDormitorys(string pagination, string queryJson)
- {
- Pagination paginationobj = pagination.ToObject<Pagination>();
- var data = stuInfoFreshIBLL.GetDormitorys(paginationobj, queryJson);
- var jsonData = new
- {
- rows = data,
- total = paginationobj.total,
- page = paginationobj.page,
- records = paginationobj.records
- };
- return Success(jsonData);
- }
- /// <summary>
- /// 获取分配宿舍列表
- /// </summary>
- /// <param name="pagination"></param>
- /// <param name="queryJson"></param>
- /// <returns></returns>
- [HttpGet]
- [AjaxOnly]
- public ActionResult GetDormitorys2(string pagination, string queryJson)
- {
- Pagination paginationobj = pagination.ToObject<Pagination>();
- var data = stuInfoFreshIBLL.GetDormitorys2(paginationobj, queryJson);
- var jsonData = new
- {
- rows = data,
- total = paginationobj.total,
- page = paginationobj.page,
- records = paginationobj.records
- };
- return Success(jsonData);
- }
-
- /// <summary>
- /// 获取分配宿舍左侧树形数据
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- [AjaxOnly]
- public ActionResult GetDormitoryTree()
- {
- var data = stuInfoFreshIBLL.GetTree().OrderBy(x => x.value);
- return Success(data);
- }
-
- /// <summary>
- /// 获取分配床位左侧树形数据
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- [AjaxOnly]
- public ActionResult GetBedTree(string classNo, string gender)
- {
- var data = stuInfoFreshIBLL.GetBedTree(classNo, gender).OrderBy(x => x.text);
- return Success(data);
- }
- #endregion
-
- #region 提交数据
- /// <summary>
- /// 删除实体数据
- /// <param name="keyValue">主键</param>
- /// <summary>
- /// <returns></returns>
- [HttpPost]
- [AjaxOnly]
- public ActionResult DeleteForm(string keyValue)
- {
- stuInfoFreshIBLL.DeleteEntity(keyValue);
- return Success("删除成功!");
- }
- /// <summary>
- /// 保存实体数据(新增、修改)
- /// <param name="keyValue">主键</param>
- /// <summary>
- /// <returns></returns>
- [HttpPost]
- [ValidateAntiForgeryToken]
- [AjaxOnly]
- public ActionResult SaveForm(string keyValue, string strEntity, string strstuInfoFreshEmergePeopleList, string strstuInfoFreshFamilyList)
- {
- StuInfoFreshEntity entity = strEntity.ToObject<StuInfoFreshEntity>();
- if (!string.IsNullOrEmpty(entity.Photo))
- {
- entity.IsPhoto = true;
- }
- else
- {
- entity.IsPhoto = false;
- }
- List<StuInfoFreshEmergePeopleEntity> stuInfoFreshEmergePeopleList = strstuInfoFreshEmergePeopleList.ToObject<List<StuInfoFreshEmergePeopleEntity>>();
- List<StuInfoFreshFamilyEntity> stuInfoFreshFamilyList = strstuInfoFreshFamilyList.ToObject<List<StuInfoFreshFamilyEntity>>();
- var kshList = stuInfoFreshIBLL.Getksh(entity.ksh);
- if (string.IsNullOrEmpty(keyValue))
- {
- if (kshList != null)
- {
- return Fail("保存失败,考生号不可重复");
- }
- }
- else
- {
- if (kshList != null && kshList.ID != keyValue)
- {
- return Fail("保存失败,考生号不可重复");
- }
- }
- stuInfoFreshIBLL.SaveEntity(keyValue, entity, stuInfoFreshEmergePeopleList, stuInfoFreshFamilyList);
- return Success("保存成功!");
- }
-
- /// <summary>
- /// 保存实体数据(新增、修改)
- /// <param name="keyValue">主键</param>
- /// <summary>
- /// <returns></returns>
- [HttpPost]
- [ValidateAntiForgeryToken]
- [AjaxOnly]
- public ActionResult SaveLoanForm(string keyValue, string strEntity)
- {
- StuInfoFreshEntity entity = strEntity.ToObject<StuInfoFreshEntity>();
- stuInfoFreshIBLL.SaveEntity(keyValue, entity);
- return Success("保存成功!");
- }
-
- #endregion
-
- #region 扩展数据
-
- /// <summary>
- /// 拍照
- /// </summary>
- /// <param name="stuId"></param>
- /// <param name="base64url"></param>
- /// <returns></returns>
- [HttpPost]
- [AjaxOnly]
- public ActionResult DoPhoto(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 data = new
- {
- Url = virtualPath,
- AnnexesFileId = fileGuid
- };
- return Success(data);
- }
-
- /// <summary>
- ///确认报到、取消报到
- /// </summary>
- /// <returns></returns>
- [HttpPost]
- [AjaxOnly]
- public ActionResult IsRegister(string keyValue, string status)
- {
- stuInfoFreshIBLL.IsRegister(keyValue, status);
- return Success("操作成功");
- }
- /// <summary>
- ///收取学生档案
- /// </summary>
- /// <returns></returns>
- [HttpPost]
- [AjaxOnly]
- public ActionResult IsCollectFile(string keyValue, string status)
- {
- stuInfoFreshIBLL.IsCollectFile(keyValue, status);
- return Success("操作成功");
- }
- /// <summary>
- ///领取钥匙
- /// </summary>
- /// <returns></returns>
- [HttpPost]
- [AjaxOnly]
- public ActionResult IsGetKey(string keyValue, string status)
- {
- stuInfoFreshIBLL.IsGetKey(keyValue, status);
- return Success("操作成功");
- }
- /// <summary>
- ///领取校园卡
- /// </summary>
- /// <returns></returns>
- [HttpPost]
- [AjaxOnly]
- public ActionResult IsGetCard(string keyValue, string status)
- {
- stuInfoFreshIBLL.IsGetCard(keyValue, status);
- return Success("操作成功");
- }
- /// <summary>
- ///缴费
- /// </summary>
- /// <returns></returns>
- [HttpPost]
- [AjaxOnly]
- public ActionResult IsPayFee(string keyValue, string status)
- {
- stuInfoFreshIBLL.IsPayFee(keyValue, status);
- return Success("操作成功");
- }
-
- /// <summary>
- ///其他费用缴费
- /// </summary>
- /// <returns></returns>
- [HttpPost]
- [AjaxOnly]
- public ActionResult IsOtherPayFee(string keyValue, string status)
- {
- stuInfoFreshIBLL.IsOtherPayFee(keyValue, status);
- return Success("操作成功");
- }
-
- /// <summary>
- ///审核助学贷款
- /// </summary>
- /// <returns></returns>
- [HttpPost]
- [AjaxOnly]
- public ActionResult DoCheckLoan(string keyValue, string status)
- {
- stuInfoFreshIBLL.DoCheckLoan(keyValue, status);
- return Success("操作成功");
- }
-
- /// <summary>
- /// 获取新生缴费明细
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- [AjaxOnly]
- public ActionResult GetPayFeeDetail(string keyValue)
- {
- var StuInfoFreshData = stuInfoFreshIBLL.GetStuInfoFreshEntity(keyValue);
- var FinaChargesStandardList = new List<FinaChargesStandardEntity>();
- if (!string.IsNullOrEmpty(StuInfoFreshData.ClassNo) && !string.IsNullOrEmpty(StuInfoFreshData.MajorNo))
- {
- var ClassInfoEntity = classInfoIBLL.GetClassInfoEntityByClassNo(StuInfoFreshData.ClassNo);
- if (ClassInfoEntity != null)
- {
- var academicAndYear = Common.GetSemesterAndYear();
- FinaChargesStandardList = finaChargesStandardIBLL.GetFinaChargesStandardListByMajorNoOfNotAll(StuInfoFreshData.MajorNo, academicAndYear.AcademicYearShort, academicAndYear.Semester, ClassInfoEntity.Grade).ToList();
- }
- }
- var PayFeeTotal = FinaChargesStandardList.Select(x => x.Standard).Sum();
- var jsonData = new
- {
- FinaChargesStandardList = FinaChargesStandardList,
- PayFeeTotal = PayFeeTotal
- };
- return Success(jsonData);
- }
-
- /// <summary>
- /// 分配班级
- /// </summary>
- /// <param name="classNo"></param>
- /// <param name="dataJson"></param>
- /// <returns></returns>
- [HttpPost]
- [AjaxOnly]
- public ActionResult DoAllocationClass(string classNo, string dataJson)
- {
- var StuInfoFreshList = JsonConvert.DeserializeObject<List<StuInfoFreshEntity>>(dataJson);
- var ClassInfoEntity = classInfoIBLL.GetClassInfoEntityByClassNo(classNo);
- if (ClassInfoEntity == null)
- {
- return Fail("分配的班级不存在!");
- }
- //获取当前班级已有人数
- var hasList = stuInfoFreshIBLL.GetStuInfoFreshListByClassNo(classNo);
- var hasLength = hasList.Count();
- var tempLength = hasLength;
- if (StuInfoFreshList.Any())
- {
- foreach (var item in StuInfoFreshList)
- {
- tempLength++;
- item.ClassNo = classNo;
- item.DeptNo = ClassInfoEntity.DeptNo;
- item.MajorNo = ClassInfoEntity.MajorNo;
- item.Grade = ClassInfoEntity.Grade;
- item.StuNo = string.Format("{0}{1}", classNo, tempLength < 10 ? "0" + tempLength : tempLength.ToString());
- }
- }
- stuInfoFreshIBLL.DoAllocationClass(StuInfoFreshList);
-
- return Success("分配成功!");
- }
-
- /// <summary>
- /// 分配宿舍
- /// </summary>
- /// <param name="classNo"></param>
- /// <param name="dataJson"></param>
- /// <returns></returns>
- [HttpPost]
- [AjaxOnly]
- public ActionResult DoAllocationDormitory(string classNo, string dataJson)
- {
- var acc_DormitoryBuildEntities = JsonConvert.DeserializeObject<List<Acc_DormitoryBuildEntity>>(dataJson);
- foreach (var entity in acc_DormitoryBuildEntities)
- {
- //预分床位数量是否合理
- if (entity.PlanBedNum < 1)
- {
- return Fail("预分床位数量至少为1位!");
- }
- if (entity.PlanBedNum > entity.RemainBedNum)
- {
- return Fail("预分床位数量不能超出可分配床位数量!");
- }
-
- entity.PlanClassNo = classNo;
- }
- stuInfoFreshIBLL.DoAllocationDormitory(acc_DormitoryBuildEntities);
- return Success("分配成功!");
- }
-
- /// <summary>
- /// 取消分配宿舍
- /// </summary>
- /// <param name="classNo"></param>
- /// <param name="dataJson"></param>
- /// <returns></returns>
- [HttpPost]
- [AjaxOnly]
- public ActionResult CancelAllocationDormitory(string classNo, string dataJson)
- {
- var acc_DormitoryBuildEntities = JsonConvert.DeserializeObject<List<Acc_DormitoryBuildEntity>>(dataJson);
- foreach (var entity in acc_DormitoryBuildEntities)
- {
- //取消已分配床位数量是否合理
- if (entity.CancelUseBedNum < 1)
- {
- return Fail("取消已分配床位数量至少为1位!");
- }
- if (entity.CancelUseBedNum > entity.UseBedNum)
- {
- return Fail("取消已分配床位数量不能超出已分配床位数量!");
- }
-
- entity.PlanClassNo = classNo;
- }
- stuInfoFreshIBLL.CancelAllocationDormitory(acc_DormitoryBuildEntities);
- return Success("取消分配成功!");
- }
-
- /// <summary>
- /// 分配床位
- /// </summary>
- /// <param name="dormitoryNo"></param>
- /// <param name="stuId"></param>
- /// <param name="dormitoryName"></param>
- /// <returns></returns>
- [HttpPost]
- [AjaxOnly]
- public ActionResult DoAllocationBed(string dormitoryNo, string keyValue)
- {
- stuInfoFreshIBLL.DoAllocationBed(dormitoryNo, keyValue);
- return Success("分配成功!");
-
- }
-
- /// <summary>
- /// 自动分配床位
- /// </summary>
- /// <param name="dormitoryNo"></param>
- /// <param name="stuId"></param>
- /// <param name="dormitoryName"></param>
- /// <returns></returns>
- [HttpPost]
- [AjaxOnly]
- public ActionResult DoAllocationBedOfAuto(string classNo)
- {
- stuInfoFreshIBLL.DoAllocationBedOfAuto(classNo);
- return Success("分配成功!");
-
- }
- [HttpGet]
- [AjaxOnly]
- public ActionResult ConfirmDormitory()
- {
- stuInfoFreshIBLL.ConfirmDormitory();
- return Success("操作成功!");
-
- }
- [HttpGet]
- [AjaxOnly]
- public ActionResult ConfirmDormitoryTwo()
- {
- stuInfoFreshIBLL.ConfirmDormitoryTwo();
- return Success("操作成功!");
-
- }
-
-
- [HttpPost]
- [AjaxOnly]
- public ActionResult GetUniform(string keyValue, bool Status)
- {
- stuInfoFreshIBLL.GetUniform(keyValue, Status);
- return Success("操作成功");
-
- }
- [HttpPost]
- [AjaxOnly]
- public ActionResult PayUniform(string keyValue, bool Status)
- {
- stuInfoFreshIBLL.PayUniform(keyValue, Status);
- return Success("操作成功");
-
- }
-
- /// <summary>
- /// 导入学籍信息
- /// </summary>
- /// <param name="dormitoryNo"></param>
- /// <param name="stuId"></param>
- /// <param name="dormitoryName"></param>
- /// <returns></returns>
- [HttpPost]
- [AjaxOnly]
- public ActionResult ImportStuInfoBasic()
- {
- stuInfoFreshIBLL.ImportStuInfoBasic();
- return Success("生成学籍信息成功!");
-
- }
-
-
- /// <summary>
- /// 导入床位
- /// </summary>
- /// <returns></returns>
- public ActionResult ImportBed(HttpPostedFileBase filedata)
- {
-
- if (filedata == null || filedata.FileName == null || filedata.ContentLength == 0)
- {
- if (Request.Files.Count > 0)
- {
- filedata = Request.Files[0];
- }
- }
- if (filedata == null)
- {
- return Fail("未获取到文件");
- }
-
- var pathoffirst = Config.GetValue("AnnexesFile");
- var pathofsecond = "/DormitoryBuildImportFile";
- var pathofthird = DateTime.Now.ToString("yyyyMMdd");
- var filename = filedata.FileName;
- var exten = Path.GetExtension(filename);
- var fileguid = Guid.NewGuid().ToString();
- var pathoffull = string.Format("{0}/{1}/{2}/{3}{4}", pathoffirst, pathofsecond, pathofthird, fileguid, exten);
- var pathofdown = string.Format("{0}/{1}/{2}{3}", pathofsecond, pathofthird, fileguid, exten);
- var directory = Path.GetDirectoryName(pathoffull);
- if (!Directory.Exists(directory))
- {
- Directory.CreateDirectory(directory);
- }
- //保存文件
- filedata.SaveAs(pathoffull);
- //读取文件
- var filePath = pathoffull;
- var strMsg = string.Empty;
- IWorkbook wk = null;
- string extension = System.IO.Path.GetExtension(filePath);
- try
- {
- FileStream fs = System.IO.File.OpenRead(filePath);
- if (extension.Equals(".xls"))
- {
- wk = new HSSFWorkbook(fs);
- }
- else
- {
- wk = new XSSFWorkbook(fs);
- }
-
- fs.Close();
- //读取当前表数据
- ISheet sheet = wk.GetSheetAt(0);
-
- IRow row = sheet.GetRow(0);
- int offset = 0;
- //导入床位成功数量
- int bedSuccNum = 0;
- var stuinfofreshlist = stuInfoFreshIBLL.GetList("{}");
- var accommodationList = accommodationIBLL.GetList();
- for (int i = 1; i <= sheet.LastRowNum; i++)
- {
- row = sheet.GetRow(i);
- if (row != null)
- {
- //姓名0、学号1、班级2、宿舍楼3、单元4、楼层5、房间6、床位7
- var stuInfoFreshEntity = stuinfofreshlist.FirstOrDefault(m => m.StuNo == row.GetCell(1).ToString());
- if (stuInfoFreshEntity == null)
- {
- continue;
- }
- var classInfoEntity = classInfoIBLL.GetClassInfoEntityByClassName(row.GetCell(2).ToString());
- if (classInfoEntity == null)
- {
- continue;
- }
- if (accommodationList.Any())
- {
- var build = accommodationList.FirstOrDefault(x => x.BuildType == "1" && x.Name == row.GetCell(3).ToString());
- if (build != null)
- {
- var unit = accommodationList.FirstOrDefault(x => x.BuildType == "2" && x.ParentID == build.ID && x.Name == row.GetCell(4).ToString());
- if (unit != null)
- {
- var floor = accommodationList.FirstOrDefault(x => x.BuildType == "3" && x.ParentID == unit.ID && x.Name == row.GetCell(5).ToString());
- if (floor != null)
- {
- var room = accommodationList.FirstOrDefault(x => x.BuildType == "4" && x.ParentID == floor.ID && x.Name == row.GetCell(6).ToString());
- if (room != null)
- {
- var bed = accommodationList.FirstOrDefault(x => x.BuildType == "5" && x.ParentID == room.ID && x.Name == row.GetCell(7).ToString());
- if (bed != null)
- {
- //分配床位
- stuInfoFreshIBLL.DoAllocationBed(bed.ID, stuInfoFreshEntity.ID);
- bedSuccNum++;
- //分配宿舍
- var alist = new List<Acc_DormitoryBuildEntity>();
- var accommodationEntity = new Acc_DormitoryBuildEntity();
- accommodationEntity.ID = room.ID;
- accommodationEntity.PlanBedNum = 1;
- accommodationEntity.PlanClassNo = classInfoEntity.ClassNo;
- accommodationEntity.bedId = bed.ID;
- alist.Add(accommodationEntity);
- stuInfoFreshIBLL.ImportDormitory(alist);
- }
- }
- }
- }
- }
- }
-
- }
- }
- strMsg = "导入床位成功" + bedSuccNum + "个!";
- }
-
- catch (Exception e)
- {
- return Fail("导入床位失败!" + strMsg);
- }
-
- return Success("导入床位成功!" + strMsg);
-
- }
-
- /// <summary>
- /// 导出学生宿舍信息
- /// </summary>
- /// <returns></returns>
- public FileResult ExportBed(string queryJson)
- {
- var fileHead = "学生宿舍信息";
- var postData = JsonConvert.DeserializeObject<StuInfoFreshEntity>(queryJson);
- if (!string.IsNullOrEmpty(postData.ClassNo))
- {
- var classInfoEntity = classInfoIBLL.GetClassInfoEntityByClassNo(postData.ClassNo);
- fileHead = classInfoEntity?.ClassName + fileHead;
- }
- else if (!string.IsNullOrEmpty(postData.MajorNo))
- {
- var majorEntity = cdMajorIBLL.GetCdMajorEntityByMajorNo(postData.MajorNo);
- fileHead = majorEntity?.MajorName + fileHead;
- }
- else if (!string.IsNullOrEmpty(postData.DeptNo))
- {
- var deptEntity = cdDeptIBLL.GetCdDeptEntityByNo(postData.DeptNo);
- fileHead = deptEntity?.DeptName + fileHead;
- }
-
- FileStreamResult result = null;
-
- HSSFWorkbook book = new HSSFWorkbook();
- ISheet sheet = book.CreateSheet("Sheet0");
- for (int i = 0; i <= 9; i++)
- {
- sheet.SetColumnWidth(i, 256 * 15);
- }
- IRow headrow = sheet.CreateRow(0);
- headrow.CreateCell(0).SetCellValue(fileHead);
- sheet.AddMergedRegion(new NPOI.SS.Util.CellRangeAddress(0, 0, 0, 9));
- IRow cellrow = sheet.CreateRow(1);
- cellrow.CreateCell(0).SetCellValue("姓名");
- cellrow.CreateCell(1).SetCellValue("学号");
- cellrow.CreateCell(2).SetCellValue("系");
- cellrow.CreateCell(3).SetCellValue("专业");
- cellrow.CreateCell(4).SetCellValue("班级");
- cellrow.CreateCell(5).SetCellValue("宿舍楼");
- cellrow.CreateCell(6).SetCellValue("单元");
- cellrow.CreateCell(7).SetCellValue("楼层");
- cellrow.CreateCell(8).SetCellValue("房间");
- cellrow.CreateCell(9).SetCellValue("床位");
-
- //获取数据源
- var data = stuInfoFreshIBLL.GetList(queryJson).ToList();
- foreach (var item in data)
- {
- var i = data.IndexOf(item);
- IRow row = sheet.CreateRow(2 + i);
- row.CreateCell(0).SetCellValue(item.StuName);
- row.CreateCell(1).SetCellValue(item.StuNo);
- row.CreateCell(2).SetCellValue(item.DeptName);
- row.CreateCell(3).SetCellValue(item.MajorName);
- row.CreateCell(4).SetCellValue(item.ClassName);
- row.CreateCell(5).SetCellValue(item.Build);
- row.CreateCell(6).SetCellValue(item.Unit);
- row.CreateCell(7).SetCellValue(item.floor);
- row.CreateCell(8).SetCellValue(item.Room);
- row.CreateCell(9).SetCellValue(item.Bed);
- }
-
- var fileguid = Guid.NewGuid().ToString();
- var path = Server.MapPath("~/Resource/DormitoryBuildExportFile/" + DateTime.Now.ToString("yyyyMMdd") + "/");
- var pathoffull = path + fileguid + ".xls";
- if (!Directory.Exists(path))
- {
- Directory.CreateDirectory(path);
- }
-
- FileStream fswrite = new FileStream(pathoffull, FileMode.OpenOrCreate, FileAccess.Write);
- book.Write(fswrite);
- fswrite.Close();
- FileStream fsread = new FileStream(pathoffull, FileMode.OpenOrCreate, FileAccess.Read);
- result = File(fsread, "application/ms-excel", fileHead + ".xls");
-
- return result;
- }
-
- /// <summary>
- /// 删除宿舍信息
- /// </summary>
- /// <param name="dormitoryNo"></param>
- /// <param name="stuId"></param>
- /// <param name="dormitoryName"></param>
- /// <returns></returns>
- [HttpPost]
- [AjaxOnly]
- public ActionResult DeleteBed(string keyValue)
- {
- stuInfoFreshIBLL.DeleteBed(keyValue);
- return Success("删除成功!");
-
- }
-
-
- /// <summary>
- /// 年级下拉框信息【新生信息统计】
- /// </summary>
- /// <returns></returns>
- [HttpGet]
- [AjaxOnly]
- public ActionResult GetGradeData()
- {
- var data = WebHelper.GenerateNearByYear2();
-
- return Success(data);
- }
- /// <summary>
- /// 获取列表数据
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- [AjaxOnly]
- public ActionResult GetStatisticList(string queryJson)
- {
- var data = stuInfoFreshIBLL.GetList2(queryJson);
- var list = data.Where(x => !string.IsNullOrEmpty(x.MajorNo)).GroupBy(x => x.MajorNo).Select(x => new StatisticModel
- {
- MajorNo = x.Key,
- MajorName = x.FirstOrDefault()?.MajorName,
- Grade = x.FirstOrDefault()?.Grade,
- TotalNum = x.Count(),
- InfoNum = x.Count(y => y.IsStudentEdit == true),
- RegisterNum = x.Count(y => y.RegisterStatus == "1"),
- PayFeeNum = x.Count(y => y.PayFeeStatus == "1" || y.OnsitePayFeeStatus == "1"),
- GetKeyNum = x.Count(y => y.GetKeyStatus == "1"),
- GetCardNum = x.Count(y => y.GetCardStatus == "1"),
- CollectFileNum = x.Count(y => y.CollectFileStatus == "1"),
- LoanNum = x.Count(y => y.StudentLoanStatus == "1")
- }).OrderBy(x => x.MajorNo);
-
- //var aa = new StatisticModel
- //{
- // MajorNo = "全校",
- // MajorName = "全校",
- // Grade = list.FirstOrDefault()?.Grade,
- // TotalNum = list.Select(x => x.TotalNum).Sum(),
- // InfoNum = list.Select(x => x.InfoNum).Sum(),
- // RegisterNum = list.Select(x => x.RegisterNum).Sum(),
- // PayFeeNum = list.Select(x => x.PayFeeNum).Sum(),
- // GetKeyNum = list.Select(x => x.GetKeyNum).Sum(),
- //};
-
- //var allList = new List<StatisticModel>();
- //allList.Add(aa);
- //allList.AddRange(list);
-
- return Success(list);
- }
- /// <summary>
- /// 获取列表数据
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- [AjaxOnly]
- public ActionResult GetStatisticListOfClass(string queryJson)
- {
- var data = stuInfoFreshIBLL.GetList2(queryJson);
- var list = data.Where(x => !string.IsNullOrEmpty(x.ClassNo) && !string.IsNullOrEmpty(x.MajorNo)).GroupBy(x => new { x.MajorNo, x.ClassNo }).Select(x => new StatisticModel
- {
- ClassNo = x.Key.ClassNo,
- ClassName = x.FirstOrDefault()?.ClassName,
- Grade = x.FirstOrDefault()?.Grade,
- MajorNo = x.Key.MajorNo,
- MajorName = x.FirstOrDefault()?.MajorName,
- TotalNum = x.Count(),
- InfoNum = x.Count(y => y.IsStudentEdit == true),
- RegisterNum = x.Count(y => y.RegisterStatus == "1"),
- PayFeeNum = x.Count(y => y.PayFeeStatus == "1" || y.OnsitePayFeeStatus == "1"),
- GetKeyNum = x.Count(y => y.GetKeyStatus == "1"),
- GetCardNum = x.Count(y => y.GetCardStatus == "1"),
- CollectFileNum = x.Count(y => y.CollectFileStatus == "1"),
- LoanNum = x.Count(y => y.StudentLoanStatus == "1")
- }).OrderBy(x => x.MajorNo).ThenBy(x => x.ClassNo);
- return Success(list);
- }
- public class StatisticModel
- {
- public string MajorNo { get; set; }
- public string MajorName { get; set; }
- public string ClassNo { get; set; }
- public string ClassName { get; set; }
- public string Grade { get; set; }
- /// <summary>
- /// 总人数
- /// </summary>
- public int TotalNum { get; set; }
- /// <summary>
- /// 完善个人信息人数
- /// </summary>
- public int InfoNum { get; set; }
- /// <summary>
- /// 报到人数
- /// </summary>
- public int RegisterNum { get; set; }
- /// <summary>
- /// 缴费人数
- /// </summary>
- public int PayFeeNum { get; set; }
- /// <summary>
- /// 领钥匙人数
- /// </summary>
- public int GetKeyNum { get; set; }
- /// <summary>
- /// 已领取校园卡人数
- /// </summary>
- public int GetCardNum { get; set; }
- /// <summary>
- /// 已收取档案人数
- /// </summary>
- public int CollectFileNum { get; set; }
- /// <summary>
- /// 贷款人数
- /// </summary>
- public int LoanNum { get; set; }
- }
- /// <summary>
- /// 获取列表数据
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- [AjaxOnly]
- public ActionResult GetStatisticArea(string queryJson)
- {
- var data = stuInfoFreshIBLL.GetList(queryJson);
- var list = data.GroupBy(x => x.ProvinceNo).Select(x => new
- {
- ProvinceNo = x.Key,
- TotalNum = x.Count(),
- RegisterNum = x.Count(y => y.RegisterStatus == "1"),
- BoyNum = x.Count(y => y.GenderNo == "1"),
- GirlNum = x.Count(y => y.GenderNo == "0"),
- }).OrderByDescending(a => a.TotalNum).ToList();
- var item = new
- {
- ProvinceNo = "总计",
- TotalNum = data.Count(),
- RegisterNum = data.Count(y => y.RegisterStatus == "1"),
- BoyNum = data.Count(y => y.GenderNo == "1"),
- GirlNum = data.Count(y => y.GenderNo == "0"),
- };
- var zhounei = data.Where(a => a.ProvinceNo.Contains("5121"));
- var item1 = new
- {
- ProvinceNo = "州内",
- TotalNum = zhounei.Count(),
- RegisterNum = zhounei.Count(y => y.RegisterStatus == "1"),
- BoyNum = zhounei.Count(y => y.GenderNo == "1"),
- GirlNum = zhounei.Count(y => y.GenderNo == "0"),
-
- };
- var zhouwai = data.Where(a => !a.ProvinceNo.Contains("5121"));
- var item2 = new
- {
-
- ProvinceNo = "州外",
- TotalNum = zhouwai.Count(),
- RegisterNum = zhouwai.Count(y => y.RegisterStatus == "1"),
- BoyNum = zhouwai.Count(y => y.GenderNo == "1"),
- GirlNum = zhouwai.Count(y => y.GenderNo == "0"),
- };
- list.Add(item);
- list.Add(item1);
- list.Add(item2);
-
- // var jsonData = new
- // {
- // rows = list,
- // total = list.Count(),
- // page = 1,
- // records = list.Count();
- //};
- return Success(list);
-
-
- }
-
- #endregion
-
- #region 上传图片
- [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 result = stuInfoFreshIBLL.IsPhoto(stuId, true, fileGuid);
- if (result.Item1)
- {
- return Success(result.Item2);
- }
- else
- {
- return Fail(result.Item2);
- }
- }
- #endregion
-
- }
- }
|