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