using Learun.Util; using System.Data; using Learun.Application.TwoDevelopment.ReceiveSendFeeManagement; using System.Web.Mvc; using System.Collections.Generic; using Learun.Application.TwoDevelopment.EducationalAdministration; using System.Linq; using System; using static Learun.Util.WebHelper; using Newtonsoft.Json; namespace Learun.Application.Web.Areas.ReceiveSendFeeManagement.Controllers { /// /// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园 /// Copyright (c) 2013-2018 北京泉江科技有限公司 /// 创 建:超级管理员 /// 日 期:2019-06-04 15:14 /// 描 述:收费标准设置 /// public class FinaChargesStandardController : MvcControllerBase { private FinaChargesStandardIBLL finaChargesStandardIBLL = new FinaChargesStandardBLL(); private FinaChargeItemIBLL finaChargeItemIBLL = new FinaChargeItemBLL(); #region 视图功能 /// /// 主页面 /// /// [HttpGet] public ActionResult Index() { return View(); } /// /// 表单页 /// /// [HttpGet] public ActionResult Form() { return View(); } /// /// 编辑表单页 /// /// [HttpGet] public ActionResult EditForm() { return View(); } /// /// 主页面 /// /// [HttpGet] public ActionResult ShowIndex() { var semesterAndYear = Common.GetSemesterAndYear(); var queryObject = new { AcademicYearNo = semesterAndYear.AcademicYearShort, Semester = semesterAndYear.Semester, Grade = semesterAndYear.AcademicYearShort.Substring(0, 2) }; var queryJson = JsonConvert.SerializeObject(queryObject); var data = finaChargesStandardIBLL.GetTreeList(queryJson).Where(x => x.ParentId == "0"); var result = new modelTemp() { AcademicYearNoList = WebHelper.GenerateNearByAcademic(), SemesterList = WebHelper.GenerateNearBySemeter(), GradeList = WebHelper.GenerateNearByYear2(), AcademicYearNo = semesterAndYear.AcademicYearShort, Semester = semesterAndYear.Semester, Grade = semesterAndYear.AcademicYearShort.Substring(0, 2), FinaChargesStandardList = data.ToList(), TotalNum = data.Count() }; return View(result); } /// /// 页面临时模型 /// public class modelTemp { public List AcademicYearNoList { get; set; } public List SemesterList { get; set; } public List GradeList { get; set; } public string AcademicYearNo { get; set; } public string Semester { get; set; } public string Grade { get; set; } public List FinaChargesStandardList { get; set; } public int TotalNum { get; set; } } #endregion #region 获取数据 /// /// 获取页面显示列表数据 /// /// 查询参数 /// [HttpGet] [AjaxOnly] public ActionResult GetPageList(string pagination, string queryJson) { Pagination paginationobj = pagination.ToObject(); var data = finaChargesStandardIBLL.GetPageList(paginationobj, queryJson); var jsonData = new { rows = data, total = paginationobj.total, page = paginationobj.page, records = paginationobj.records }; return Success(jsonData); } /// /// 获取页面显示列表数据 /// /// 查询参数 /// [HttpGet] [AjaxOnly] public ActionResult GetTreeList(string queryJson) { var data = finaChargesStandardIBLL.GetTreeList(queryJson); var jsonData = new { rows = data }; return Success(jsonData); } /// /// 获取页面显示列表数据 /// /// 查询参数 /// [HttpGet] [AjaxOnly] public ActionResult GetList(string queryJson) { var data = finaChargesStandardIBLL.GetTreeList(queryJson).Where(x => x.ParentId == "0"); return Success(data); } /// /// 获取表单数据 /// /// [HttpGet] [AjaxOnly] public ActionResult GetFormData(string majorNo, string academicYearNo, string semester, string grade) { var FinaChargesStandardData = finaChargesStandardIBLL.GetFinaChargesStandardListByMajorNo(majorNo, academicYearNo, semester, grade); var jsonData = new { FinaChargesStandard = FinaChargesStandardData, }; return Success(jsonData); } /// /// 获取编辑表单数据 /// /// [HttpGet] [AjaxOnly] public ActionResult GetFormDataOfEdit(string keyValue) { var FinaChargesStandardData = finaChargesStandardIBLL.GetFinaChargesStandardEntity(keyValue); var FinaChargeItemData = finaChargeItemIBLL.GetFinaChargeItemEntity(FinaChargesStandardData.ChargeItemID.ToString()); FinaChargesStandardData.ChargeItemName = FinaChargeItemData.ChargeItemName; var jsonData = new { FinaChargesStandard = FinaChargesStandardData, }; return Success(jsonData); } /// /// 获取某专业下的收费项目收费标准信息 /// /// [AjaxOnly] public ActionResult GetFinaChargesStandardListByMajorNo(string majorNo, string academicYearNo, string semester, string grade) { var FinaChargesStandardData = finaChargesStandardIBLL.GetFinaChargesStandardListByMajorNo(majorNo, academicYearNo, semester, grade); var hasStandardData = FinaChargesStandardData.Where(x => x.ChargeStandardID > 0); var nohasStandardData = FinaChargesStandardData.Except(hasStandardData); var hasStandardResult = hasStandardData.Select(x => new { id = x.ChargeItemID, title = x.ChargeItemName, money = x.Standard.HasValue ? x.Standard.Value : 0 }).OrderBy(x => x.id).ToArray(); var nohasStandardResult = nohasStandardData.Select(x => new { id = x.ChargeItemID, title = x.ChargeItemName, money = x.Standard.HasValue ? x.Standard.Value : 0 }).OrderBy(x => x.id).ToArray(); var jsonData = new { hasStandardResult = hasStandardResult, nohasStandardResult = nohasStandardResult }; return Success(jsonData); } #endregion #region 提交数据 /// /// 删除实体数据 /// 主键 /// /// [HttpPost] [AjaxOnly] public ActionResult DeleteForm(string keyValue) { var entity = finaChargesStandardIBLL.GetFinaChargesStandardEntity(keyValue); if (entity == null) { return Fail("收费标准不存在!"); } //判断某专业收费标准是否已使用 var isCharge = finaChargesStandardIBLL.IsChargeByMajorNo(entity.MajorNo, entity.AcademicYearNo, entity.Semester, entity.Grade); if (isCharge) { return Fail("该信息正在被系统使用,不能删除!"); } finaChargesStandardIBLL.DeleteEntity(keyValue); return Success("删除成功!"); } /// /// 保存实体数据(新增、修改) /// 主键 /// /// [HttpPost] [AjaxOnly] public ActionResult SaveForm(string majorNo, string academicYearNo, string semester, string grade, string strEntity) { var aa = strEntity.ToObject>(); var aaa = aa.Where(x => x.Standard.HasValue && x.Standard.Value > 0).ToList(); finaChargesStandardIBLL.SaveFinaChargesStandardList(majorNo, academicYearNo, semester, grade, aaa); return Success("保存成功!"); } /// /// 保存实体数据(新增、修改) /// 主键 /// /// [HttpPost] [AjaxOnly] public ActionResult SaveFormOfEdit(string keyValue, string strEntity) { var entity = strEntity.ToObject(); var model = finaChargesStandardIBLL.GetFinaChargesStandardEntity(keyValue); model.Standard = entity.Standard; finaChargesStandardIBLL.SaveEntity(keyValue, model); return Success("保存成功!"); } /// /// 判断当前专业的收费标准是否已使用 /// 主键 /// /// [AjaxOnly] public ActionResult IsChargeByMajorNo(string majorNo, string academicYearNo, string semester, string grade) { var isCharge = finaChargesStandardIBLL.IsChargeByMajorNo(majorNo, academicYearNo, semester, grade); return Success(isCharge); } #endregion #region 扩展数据 /// /// 学年 /// /// [HttpGet] public ActionResult GenerateNearByAcademic() { return Success(Learun.Util.WebHelper.GenerateNearByAcademic()); } /// /// 学期 /// /// [HttpGet] public ActionResult GenerateNearBySemeter() { return Success(Learun.Util.WebHelper.GenerateNearBySemeter()); } /// /// 年级 /// /// [HttpGet] public ActionResult GenerateNearByYear2() { return Success(Learun.Util.WebHelper.GenerateNearByYear2()); } /// /// 当前时间的学年与学期 /// /// [HttpGet] public ActionResult AcademicAndSemeter() { var semesterAndYear = Common.GetSemesterAndYear(); return Success(new { academic = semesterAndYear.AcademicYearShort, semester = semesterAndYear.Semester, grade = semesterAndYear.AcademicYearShort.Substring(0, 2) }); } #endregion } }