using Learun.Util;
using System.Data;
using Learun.Application.TwoDevelopment.EducationalAdministration;
using System.Web.Mvc;
using System.Collections.Generic;
using System;
using System.Linq;
using DocumentFormat.OpenXml.Office.CustomUI;
namespace Learun.Application.Web.Areas.EducationalAdministration.Controllers
{
///
/// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园
/// Copyright (c) 2013-2018 北京泉江科技有限公司
/// 创 建:超级管理员
/// 日 期:2019-08-21 17:28
/// 描 述:成绩比例设置
///
public class ClassPlanController : MvcControllerBase
{
private ClassPlanIBLL classPlanIBLL = new ClassPlanBLL();
private ClassInfoIBLL classInfoIBLL = new ClassInfoBLL();
private TeachClassIBLL teachClassIBLL = new TeachClassBLL();
#region 视图功能
///
/// 主页面
///
///
[HttpGet]
public ActionResult Index()
{
return View();
}
///
/// 表单页
///
///
[HttpGet]
public ActionResult Form()
{
return View();
}
///
/// 全校开课计划
///
///
[HttpGet]
public ActionResult IndexSchool()
{
return View();
}
#endregion
#region 获取数据
///
/// 获取页面显示列表数据
///
/// 分页参数
/// 查询参数
///
[HttpGet]
[AjaxOnly]
public ActionResult GetPageList(string pagination, string queryJson)
{
Pagination paginationobj = pagination.ToObject();
var data = classPlanIBLL.GetPageList(paginationobj, queryJson);
var jsonData = new
{
rows = data,
total = paginationobj.total,
page = paginationobj.page,
records = paginationobj.records
};
return Success(jsonData);
}
///
/// 全校开课计划
///
///
///
///
[HttpGet]
[AjaxOnly]
public ActionResult GetPageListForSchool(string pagination, string queryJson)
{
Pagination paginationobj = pagination.ToObject();
var data = classPlanIBLL.GetPageListForSchool(paginationobj, queryJson);
var jsonData = new
{
rows = data,
total = paginationobj.total,
page = paginationobj.page,
records = paginationobj.records
};
return Success(jsonData);
}
///
/// 获取表单数据
///
/// 主键
///
[HttpGet]
[AjaxOnly]
public ActionResult GetFormData(string keyValue)
{
var ClassPlanData = classPlanIBLL.GetClassPlanEntity(keyValue);
var jsonData = new
{
ClassPlan = ClassPlanData,
};
return Success(jsonData);
}
#endregion
#region 提交数据
///
/// 删除实体数据
///
/// 主键
///
[HttpPost]
[AjaxOnly]
public ActionResult DeleteForm(string keyValue)
{
classPlanIBLL.DeleteEntity(keyValue);
return Success("删除成功!");
}
///
/// 保存实体数据(新增、修改)
///
/// 主键
/// 实体
///
[HttpPost]
[ValidateAntiForgeryToken]
[AjaxOnly]
public ActionResult SaveForm(string keyValue, string strEntity)
{
OpenLessonPlanEntity entity = strEntity.ToObject();
if (!string.IsNullOrEmpty(keyValue))
{
entity.AmendDate = DateTime.Now;
}
entity.State = 0;
entity.IsAllowEdit = true;
entity.LessonSortNo = "1";
entity.CheckMark = "1";
entity.MakeDate = DateTime.Now;
var model = classPlanIBLL.GetRepetitions(entity.F_SchoolId, entity.AcademicYearNo, entity.Semester, entity.DeptNo, entity.MajorNo, entity.Grade, entity.LessonNo);
if (model != null)
{
if (keyValue != model.ID.ToString())
{
return Fail("此课程已重复!不可再次添加此课程");
}
}
classPlanIBLL.SaveEntity(keyValue, entity);
return Success("保存成功!");
}
#endregion
#region 扩展数据
///
/// 排课
///
/// 主键
///
[HttpPost]
[AjaxOnly]
public ActionResult CourseArranging(string keyValue)
{
var entity = classPlanIBLL.GetListById(keyValue);
List TeachList = new List();
for (int i = 0; i < entity.Count; i++)
{
var lessonList = classInfoIBLL.GetAllClass().
Where(x => x.DeptNo == entity[i].DeptNo && x.MajorNo == entity[i].MajorNo && x.Grade == entity[i].Grade)
.OrderBy(x => x.ClassNo).Select(field1 => new { field1.ClassNo, field1.ClassName }).ToList();
if (lessonList.Count > 0)
{
for (int j = 0; j < lessonList.Count; j++)
{
TeachClassEntity TeachEntity = new TeachClassEntity();
TeachEntity.TeachClassNo = lessonList[j].ClassNo;
TeachEntity.AcademicYearNo = entity[i].AcademicYearNo;
TeachEntity.DeptNo = entity[i].DeptNo;
TeachEntity.MajorNo = entity[i].MajorNo;
TeachEntity.Grade = entity[i].Grade;
TeachEntity.Semester = entity[i].Semester;
TeachEntity.LessonNo = entity[i].LessonNo;
TeachEntity.StuNum = entity[i].StuNum;
TeachEntity.LessonSortNo = entity[i].LessonSortNo;
TeachEntity.F_SchoolId = entity[i].F_SchoolId;
TeachList.Add(TeachEntity);
}
}
else
{
return Fail("排课失败!暂无排课班级");
}
}
teachClassIBLL.SaveEntityList(TeachList);
classPlanIBLL.SaveEntityList(keyValue, entity);
return Success("排课成功");
}
#endregion
}
}