|
- using Learun.Util;
- using System.Data;
- using Learun.Application.TwoDevelopment.PersonnelManagement;
- using System.Web.Mvc;
- using System.Collections.Generic;
- using Learun.Application.TwoDevelopment.EducationalAdministration;
- using System;
- using System.Linq;
- using System.Threading.Tasks;
- using Newtonsoft.Json;
- using System.IO;
- using Learun.Application.Base.SystemModule;
- using Learun.Application.TwoDevelopment.Pk;
-
- namespace Learun.Application.Web.Areas.PersonnelManagement.Controllers
- {
- /// <summary>
- /// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园
- /// Copyright (c) 2013-2018 北京泉江科技有限公司
- /// 创 建:超级管理员
- /// 日 期:2019-03-25 11:16
- /// 描 述:课程表
- /// </summary>
- public class TimeTableController : MvcControllerBase
- {
-
- private ArrangeLessonTermIBLL arrangeLessonTermIBLL = new ArrangeLessonTermBLL();
- private StuAttendanceIBLL stuAttendanceIBLL = new StuAttendanceBLL();
- private ArrangeLessonTermOfElectiveIBLL arrangeLessonTermOfElectiveIBLL = new ArrangeLessonTermOfElectiveBLL();
- private StuAttendanceLeaveIBLL stuAttendanceLeaveIBLL = new StuAttendanceLeaveBLL();
- private StuSelectLessonListOfElectiveIBLL stuSelectLessonList = new StuSelectLessonListOfElectiveBLL();
- private StuInfoBasicIBLL stuInfoBasicIBLL = new StuInfoBasicBLL();
- private LessonInfoIBLL lessonInfoIBLL = new LessonInfoBLL();
- private Edu_ChangeTeacherLessonIBLL edu_ChangeTeacherLessonIBLL = new Edu_ChangeTeacherLessonBLL();
- private AnnexesFileIBLL annexesFileIBLL = new AnnexesFileBLL();
- private Pm_LessonscheduleverIBLL pm_LessonscheduleverIBLL=new Pm_LessonscheduleverBLL();
- private Pm_PkDataIBLL pm_PkDataIBLL = new Pm_PkDataBLL();
- #region 视图功能
-
- /// <summary>
- /// 主页面
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult Index()
- {
- return View();
- }
-
- /// <summary>
- /// 考勤
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult Attendance()
- {
- return View();
- }
-
- [HttpGet]
- public ActionResult AttendanceDetail()
- {
- return View();
- }
-
- [HttpGet]
- public ActionResult AttendanceStatistic()
- {
- return View();
- }
- [HttpGet]
- public ActionResult AttendanceList()
- {
- return View();
- }
-
- [HttpGet]
- public ActionResult Leave()
- {
- return View();
- }
-
- /// <summary>
- /// 导入页面
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult ImportForm()
- {
- return View();
- }
- /// <summary>
- /// 排课导入页面
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult PkImportForm()
- {
- return View();
- }
-
- /// <summary>
- /// 课程表【教务】
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult IndexInEducation()
- {
- return View();
- }
- /// <summary>
- /// 班级课程表【教务】
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult ClassIndexInEducation()
- {
- return View();
- }
- /// <summary>
- /// 课程表【教学调度】
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult IndexInEducationSelect()
- {
- return View();
- }
- /// <summary>
- /// 课程表【教学调度】--调课
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult IndexInEducationSelect_()
- {
- return View();
- }
-
- /// <summary>
- /// 课程表--修改教师所带的课程【教务】
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult IndexInEducationModify()
- {
- return View();
- }
- /// <summary>
- /// 表单--修改教师所带的课程【教务】
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult ModifyLessonForm()
- {
- return View();
- }
- /// <summary>
- /// 表单--修改教师所带的课程【教务】
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult SchoolLesson()
- {
- return View();
- }
- /// <summary>
- /// 表单--修改教师所带的课程【教务】
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- public ActionResult PrintSchedule()
- {
- return View();
- }
-
- public class WeekDate
- {
- public int week { get; set; }
- public string startdate { get; set; }
- public string enddate { get; set; }
- public string textweek { get; set; }
- }
-
- [HttpGet]
- [AjaxOnly]
- public ActionResult GetWeeksData()
- {
- var weekdatelist = new List<WeekDate>();
- var yearsemester = Common.GetSemesterAndYear();
- var arrangelessonlist = arrangeLessonTermIBLL.GetListForTimeTable("{\"AcademicYearNo\":\"" + yearsemester.AcademicYearShort + "\",\"Semester\":\"" + yearsemester.Semester + "\"}").OrderBy(m => m.LessonDate);
- if (arrangelessonlist.Any())
- {
- var firstday = arrangelessonlist.First();
- var lastday = arrangelessonlist.Last();
- var monday = firstday.LessonDate.Value.AddDays(-Convert.ToInt32(firstday.LessonDate.Value.DayOfWeek) + 1);
- var sunday = lastday.LessonDate.Value.AddDays(7 - Convert.ToInt32(lastday.LessonDate.Value.DayOfWeek));
- //总周数
- var weekCount = Math.Ceiling(Convert.ToDouble((sunday - monday).Days+1) / 7);
- for (var i = 0; i < weekCount; i++)
- {
- var wentity = new WeekDate();
- wentity.week = i + 1;
- wentity.startdate = monday.AddDays(i * 7).ToString("yyyy-MM-dd");
- wentity.enddate = monday.AddDays(i * 7+6).ToString("yyyy-MM-dd");
- wentity.textweek = "第" + wentity.week + "周 (" + wentity.startdate + "~" + wentity.enddate + ")";
- weekdatelist.Add(wentity);
- }
- return Success(weekdatelist);
- }
- else
- return Success(new { });
- }
-
- /// <summary>
- /// 获取当前日期是第几周
- /// </summary>
- /// <returns></returns>
- [HttpGet]
- [AjaxOnly]
- public ActionResult GetCurrentWeek()
- {
- var yearsemester = Common.GetSemesterAndYear();
- var arrangelessonlist = arrangeLessonTermIBLL.GetListForTimeTable("{\"AcademicYearNo\":\"" + yearsemester.AcademicYearShort + "\",\"Semester\":\"" + yearsemester.Semester + "\"}").OrderBy(m => m.LessonDate);
- if (arrangelessonlist.Any())
- {
- var firstday = arrangelessonlist.First();
- var lastday = arrangelessonlist.Last();
- var monday = firstday.LessonDate.Value.AddDays(-(Convert.ToInt32(firstday.LessonDate.Value.DayOfWeek) == 0 ? 7 : Convert.ToInt32(firstday.LessonDate.Value.DayOfWeek)) + 1);
- var sunday = lastday.LessonDate.Value.AddDays(7 - (Convert.ToInt32(lastday.LessonDate.Value.DayOfWeek) == 0 ? 7 : Convert.ToInt32(lastday.LessonDate.Value.DayOfWeek)));
- var currentweek = Util.Time.GetWeekOfDay(monday, sunday);
- return Success(currentweek);
- }
- return Success(1);
- }
-
- /// <summary>
- /// 获取表单数据
- /// <summary>
- /// <returns></returns>
- [HttpGet]
- [AjaxOnly]
- public ActionResult GetFormData()
- {
- var userInfo = LoginUserInfo.Get();
- var stuInfo = stuInfoBasicIBLL.GetStuInfoBasicEntityByStuNo(userInfo.account);
- StuAttendanceLeaveEntity entity = new StuAttendanceLeaveEntity();
- entity.ClassNo = stuInfo.ClassNo;
- entity.DeptNo = stuInfo.DeptNo;
- entity.Grade = stuInfo.Grade;
- entity.MajorNo = stuInfo.MajorNo;
- entity.StuNo = userInfo.account;
- entity.StuName = userInfo.realName;
-
-
-
- var jsonData = new
- {
- StuAttendanceLeave = entity,
- };
- return Success(jsonData);
- }
-
- /// <summary>
- /// 获取相关课程考勤的学生信息
- /// </summary>
- /// <returns></returns>
- [HttpGet]
- [AjaxOnly]
- public ActionResult AttendanceStudents(string pagination, string queryJson, string lessonSortNo)
- {
- Pagination paginationobj = pagination.ToObject<Pagination>();
- var data = new List<StuSelectLessonListEntity>();
- if (lessonSortNo == "1")//必修课
- {
- data = arrangeLessonTermIBLL.AttendanceStudents(paginationobj, queryJson).ToList();
- }
- else if (lessonSortNo == "2")//选修课
- {
- data = arrangeLessonTermOfElectiveIBLL.AttendanceStudents(paginationobj, queryJson).ToList();
- }
- var jsonData = new
- {
- rows = data,
- total = paginationobj.total,
- page = paginationobj.page,
- records = paginationobj.records
- };
- return Success(jsonData);
- }
-
- /// <summary>
- /// 提交课程考勤
- /// </summary>
- /// <returns></returns>
- [HttpPost]
- [AjaxOnly]
- public async Task<ActionResult> AttendanceApply(string kqType, string lessonTime, string lessonDate, string classRoomNo, string dataJson, decimal? attenScore, string attenCondition)
- {
- var data = await stuAttendanceIBLL.AttendanceApply(kqType, lessonTime, lessonDate, classRoomNo, dataJson, attenScore, attenCondition);
- return Success(data);
- }
- /// <summary>
- /// 排课同步
- /// <summary>
- /// <returns></returns>
- [HttpPost]
- [AjaxOnly]
- public ActionResult PkSyncForm()
- {
- var bb=pm_LessonscheduleverIBLL.GetData();
- if(bb!=null)
- {
- var bbid = bb.id;
- var r=pm_PkDataIBLL.SyncPkData(bbid);
- return Success(r);
- }
- return Fail("同步失败(未找到版本)");
- }
- /// <summary>
- /// 教师/学生课程表
- /// </summary>
- /// <returns></returns>
- [HttpGet]
- [AjaxOnly]
- public ActionResult GetData(string startTime, string endTime)
- {
- var userInfo = LoginUserInfo.Get();
- //var startDate = startTime ?? Common.CalculateFirstDateOfWeek(DateTime.Today).ToString("yyyy-MM-dd");
- //var endDate = endTime ?? Common.CalculateLastDateOfWeek(DateTime.Today).ToString("yyyy-MM-dd");
- //开始时间
- var startdate = string.IsNullOrEmpty(startTime) ? DateTime.Today : Convert.ToDateTime(startTime);
- var startDate = Common.CalculateFirstDateOfWeek(startdate).ToString("yyyy-MM-dd");
- var endDate = Common.CalculateLastDateOfWeek(startdate).ToString("yyyy-MM-dd");
-
- var semesterAndYear = Common.GetSemesterAndYear(startDate);
- var strAcademicYear = semesterAndYear.AcademicYearLong;
- var strSemester = semesterAndYear.Semester;
-
- var timeTableList = new List<TimeTable>();
- //课程表
- var data = arrangeLessonTermIBLL.GetTimeTable(userInfo.account, userInfo.Description, startDate, endDate);
- timeTableList.AddRange(data);
- //选修课课程表
- var dataOfElective = arrangeLessonTermOfElectiveIBLL.GetTimeTable(userInfo.account, userInfo.Description, startDate, endDate);
- timeTableList.AddRange(dataOfElective);
-
-
- //var timeTables = data.ToList();
- var timeTables = timeTableList.ToList();
- var noDataResult = new
- { schoolName = "课程表", semester = $"{strAcademicYear}学年度 第{strSemester}学期", weekList = "", teacherName = userInfo.realName };
- if (!timeTables.Any())
- {
- return JsonResult(noDataResult);
- }
- var leaveList = stuAttendanceLeaveIBLL.GetList();
- var formatData = from d in timeTables
- let tt = d.LessonTime.Substring(1)
- group d by tt into g
- orderby g.Key
- select new
- {
- time = g.Key,
- list = from e in timeTables
- let ee = e.LessonTime.Substring(1)
- where ee == g.Key
- select new
- {
- day = e.LessonTime.ToCharArray()[0],
- curriculum = string.IsNullOrEmpty(e.EnName) ? (e.LessonSortNo == "2" ? e.LessonName + "[选修]" : e.LessonName) : (e.LessonSortNo == "2" ? e.EnName + "[选修]" : e.EnName),
- lessonName = e.LessonName,
- teacher = e.EmpName,
- classRoom = e?.ClassroomName?.Trim(),
- academicyear = semesterAndYear.AcademicYearShort,
- semester = strSemester,
- lessonNo = e?.LessonNo,
- teachClassNo = e?.TeachClassNo,
- empno = e?.EmpNo,
- lessonTime = e.LessonTime,
- lessonDate = e.LessonDate.ToString("yyyy-MM-dd"),
- classRoomNo = e?.ClassRoomNo?.Trim(),
- lessonSortNo = e.LessonSortNo,
- e.OLPEId,
- className = string.IsNullOrEmpty(e.ClassName) ? "" : e.ClassName,
- leaveType = leaveList.Any(c => c.LessonNo == e.LessonNo && c.StuNo == userInfo.account && c.LessonDate == e.LessonDate && c.LessonTime == e.LessonTime) ? 1 : 0,
- checkType = leaveList.FirstOrDefault(c => c.LessonNo == e.LessonNo && c.StuNo == userInfo.account && c.LessonDate == e.LessonDate && c.LessonTime == e.LessonTime)?.IsCheck,
-
- }
- }
-
- ;
-
-
- // var leaveList = stuAttendanceLeaveIBLL.GetList();
- //var formatData = timeTables.OrderBy(a => a.LessonTime.Substring(1))
- // .Select(a => new
- // {
- // time = a.LessonTime.Substring(1),
- // list = timeTables.Where(b => b.LessonTime.Substring(1) == a.LessonTime.Substring(1))
- // .Select(b => new
- // {
- // day = b.LessonTime.ToCharArray()[0],
- // curriculum = string.IsNullOrEmpty(b.EnName) ? (b.LessonSortNo == "2" ? b.LessonName + "[选修]" : b.LessonName) : (b.LessonSortNo == "2" ? b.EnName + "[选修]" : b.EnName),
- // lessonName = b.LessonName,
- // teacher = b.EmpName,
- // classRoom = b.ClassroomName.Trim(),
- // academicyear = semesterAndYear.AcademicYearShort,
- // semester = strSemester,
- // lessonNo = b?.LessonNo,
- // teachClassNo = b?.TeachClassNo,
- // empno = b?.EmpNo,
- // lessonTime = b.LessonTime,
- // lessonDate = b.LessonDate.ToString("yyyy-MM-dd"),
- // classRoomNo = b?.ClassRoomNo.Trim(),
- // lessonSortNo = b.LessonSortNo,
- // b.OLPEId,
- // className = string.IsNullOrEmpty(b.ClassName) ? "" : b.ClassName,
- // leaveType = leaveList.Any(c => c.LessonNo == b.LessonNo && c.StuNo == userInfo.account && c.LessonDate == b.LessonDate && c.LessonTime == b.LessonTime) ? 1 : 0,
- // checkType = leaveList.FirstOrDefault(c => c.LessonNo == b.LessonNo && c.StuNo == userInfo.account && c.LessonDate == b.LessonDate && c.LessonTime == b.LessonTime)?.IsCheck,
-
- // })
-
- // });
- //foreach (var item in formatData.list)
- //{
-
- // if(leaveList.Any(a=>a.LessonNo==item.))
- //}
- var result = new
- { schoolName = "课程表", semester = $"{strAcademicYear}学年度 第{strSemester}学期", teacherName = userInfo.realName, weekList = formatData };
- return JsonResult(result);
- }
-
- /// <summary>
- /// 课程表【教务】
- /// </summary>
- /// <returns></returns>
- [HttpGet]
- [AjaxOnly]
- public ActionResult GetDataInEducation(string startTime, string endTime, string classNo, string empNo, string schoolId, string classroomNo)
- {
- var userInfo = LoginUserInfo.Get();
- //开始时间
- var startdate = string.IsNullOrEmpty(startTime) ? DateTime.Today : Convert.ToDateTime(startTime);
- var startDate = Common.CalculateFirstDateOfWeek(startdate).ToString("yyyy-MM-dd");
- var endDate = Common.CalculateLastDateOfWeek(startdate).ToString("yyyy-MM-dd");
-
- var semesterAndYear = Common.GetSemesterAndYear(startDate);
- var strAcademicYear = semesterAndYear.AcademicYearLong;
- var strSemester = semesterAndYear.Semester;
-
- var timeTableList = new List<TimeTable>();
- //课程表
- var data = arrangeLessonTermIBLL.GetTimeTableInEducation(startDate, endDate, classNo, empNo, schoolId, classroomNo);
- timeTableList.AddRange(data);
- //选修课课程表
- //20220718因 更改教务课表显示格式为班级作为列头,选修课无班级所以不能显示在课表内
- //var dataOfElective = arrangeLessonTermOfElectiveIBLL.GetTimeTableInEducation(startDate, endDate, classNo, empNo, schoolId);
- //timeTableList.AddRange(dataOfElective);
-
- var timeTables = timeTableList.ToList();
- var noDataResult = new
- { schoolName = "课程表", semester = $"{strAcademicYear}学年度 第{strSemester}学期", weekList = "" };
- if (!timeTables.Any())
- {
- return JsonResult(noDataResult);
- }
- //最大节次
- int maxlessontime = timeTables.Max(m => Convert.ToInt32(m.LessonTime.Substring(1)));
- //班级列表
- var classinfolist = timeTables.Select(m => new { m.TeachClassNo, m.ClassName }).OrderBy(m => m.TeachClassNo).GroupBy(m => new { m.TeachClassNo, m.ClassName });
- var formatData = from d in timeTables
- let tt = d.LessonTime.Substring(1)
- group d by tt into g
- orderby g.Key
- select new
- {
- time = g.Key,
- list = from e in timeTables
- let ee = e.LessonTime.Substring(1)
- where ee == g.Key
- select new
- {
- day = e.LessonTime.ToCharArray()[0],
- curriculum = e.LessonSortNo == "2" ? e.LessonName + "[选修]" : e.LessonName,
- teacher = e?.EmpName,
- classRoom = string.IsNullOrEmpty(e.ClassroomName) ? "" : e.ClassroomName.Trim(),
- academicyear = semesterAndYear.AcademicYearShort,
- semester = strSemester,
- lessonNo = e?.LessonNo,
- teachClassNo = e?.TeachClassNo,
- empno = e?.EmpNo,
- lessonTime = e.LessonTime,
- lessonDate = e.LessonDate.ToString("yyyy-MM-dd"),
- classRoomNo = string.IsNullOrEmpty(e.ClassRoomNo) ? "" : e.ClassRoomNo.Trim(),
- lessonSortNo = e.LessonSortNo,
- e?.OLPEId,
- className = string.IsNullOrEmpty(e.ClassName) ? "" : e.ClassName
- }
- }
- ;
-
- var result = new
- { schoolName = "课程表", semester = $"{strAcademicYear}学年度 第{strSemester}学期", maxlessontime, classinfolist, weekList = formatData };
- return JsonResult(result);
- }
-
- /// <summary>
- /// 课程表【教务】
- /// </summary>
- /// <returns></returns>
- [HttpGet]
- [AjaxOnly]
- public ActionResult GetDataInEducationSelect(string startTime, string endTime, string classNo, string empNo, string schoolId)
- {
- var userInfo = LoginUserInfo.Get();
- //开始时间
- var startdate = string.IsNullOrEmpty(startTime) ? DateTime.Today : Convert.ToDateTime(startTime);
- var startDate = Common.CalculateFirstDateOfWeek(startdate).ToString("yyyy-MM-dd");
- var endDate = Common.CalculateLastDateOfWeek(startdate).ToString("yyyy-MM-dd");
-
- var semesterAndYear = Common.GetSemesterAndYear(startDate);
- var strAcademicYear = semesterAndYear.AcademicYearLong;
- var strSemester = semesterAndYear.Semester;
-
- var timeTableList = new List<TimeTable>();
- //课程表
- var data = arrangeLessonTermIBLL.GetTimeTableInEducation(startDate, endDate, classNo, empNo, schoolId, "");
- timeTableList.AddRange(data);
- //选修课课程表
- //var dataOfElective = arrangeLessonTermOfElectiveIBLL.GetTimeTableInEducation(startDate, endDate, classNo, empNo, schoolId);
- //timeTableList.AddRange(dataOfElective);
-
- var timeTables = timeTableList.ToList();
- var noDataResult = new
- { schoolName = "课程表", semester = $"{strAcademicYear}学年度 第{strSemester}学期", weekList = "" };
- if (!timeTables.Any())
- {
- return JsonResult(noDataResult);
- }
- var formatData = from d in timeTables
- let tt = d.LessonTime.Substring(1)
- group d by tt into g
- orderby g.Key
- select new
- {
- time = g.Key,
- list = from e in timeTables
- let ee = e.LessonTime.Substring(1)
- where ee == g.Key
- select new
- {
- AltId=e.AltId,
- day = e.LessonTime.ToCharArray()[0],
- lessonTime = e.LessonTime,
- lessonDate = e.LessonDate.ToString("yyyy-MM-dd"),
- schooldId = e?.F_SchoolId,
- academicyear = semesterAndYear.AcademicYearShort,
- semester = strSemester,
- deptNo = e?.DeptNo,
- deptname="",
- majorNo = e?.MajorNo,
- lessonNo = e?.LessonNo,
- curriculum = e.LessonSortNo == "2" ? e.LessonName + "[选修]" : e.LessonName,
- teachClassNo = e?.TeachClassNo,
- className = string.IsNullOrEmpty(e.ClassName) ? "" : e.ClassName,
- empno = e?.EmpNo,
- teacher = e?.EmpName,
- classRoomNo = string.IsNullOrEmpty(e.ClassRoomNo) ? "" : e.ClassRoomNo.Trim(),
- classRoom = string.IsNullOrEmpty(e.ClassroomName) ? "" : e.ClassroomName.Trim(),
- lessonSortNo = e.LessonSortNo
- }
- }
- ;
-
- var result = new
- { schoolName = "课程表", semester = $"{strAcademicYear}学年度 第{strSemester}学期", weekList = formatData };
- return JsonResult(result);
- }
-
- /// <summary>
- /// 课程表【教务】--班级下拉框信息
- /// </summary>
- /// <returns></returns>
- [HttpGet]
- [AjaxOnly]
- public ActionResult GetClassData(string schoolId = "")
- {
- var data = arrangeLessonTermIBLL.GetClassData(schoolId);
-
- return Success(data);
- }
-
- /// <summary>
- /// 课程表【教务】--教师下拉框信息
- /// </summary>
- /// <returns></returns>
- [HttpGet]
- [AjaxOnly]
- public ActionResult GetTeacherData(string schoolId = "")
- {
- var data = arrangeLessonTermIBLL.GetTeacherData(schoolId);
-
- return Success(data);
- }
-
- /// <summary>
- /// 课程表【教务】--教室下拉框信息
- /// </summary>
- /// <returns></returns>
- [HttpGet]
- [AjaxOnly]
- public ActionResult GetClassroomData(string schoolId = "")
- {
- var data = arrangeLessonTermIBLL.GetClassroomData(schoolId);
-
- return Success(data);
- }
-
- /// <summary>
- /// 表单--修改教师所带的课程【教务】--课程下拉框信息
- /// </summary>
- /// <returns></returns>
- [HttpGet]
- [AjaxOnly]
- public ActionResult GetLessonData()
- {
- var lessonList = lessonInfoIBLL.GetAllLesson().OrderBy(x => x.LessonNo);
- var data = lessonList.Select(x => new { value = x.LessonId, text = x.LessonName + "(" + x.LessonNo + ")" });
-
- return Success(data);
- }
-
- #endregion
-
- #region 保存数据
- [HttpPost]
- [ValidateAntiForgeryToken]
- [AjaxOnly]
- public ActionResult SaveForm(string keyValue, string strEntity)
- {
- StuAttendanceLeaveEntity entity = strEntity.ToObject<StuAttendanceLeaveEntity>();
- entity.TeachClassNo = entity.ClassNo;
- stuAttendanceLeaveIBLL.SaveEntity(keyValue, entity);
- return Success("保存成功!");
- }
-
- /// <summary>
- /// 修改教师课程--保存
- /// </summary>
- /// <param name="keyValue"></param>
- /// <param name="strEntity"></param>
- /// <returns></returns>
- [HttpPost]
- [ValidateAntiForgeryToken]
- [AjaxOnly]
- public ActionResult SaveChangeTeacherLesson(string strEntity)
- {
- Edu_ChangeTeacherLessonEntity entity = strEntity.ToObject<Edu_ChangeTeacherLessonEntity>();
- entity.CToTeacherId = entity.CFromTeacherId;
- entity.CToTeacherName = entity.CFromTeacherName;
- //获取目标课程
- var lessonInfoEntity = lessonInfoIBLL.GetLessonInfoEntity(entity.CToLessonId);
- if (lessonInfoEntity == null)
- {
- return Fail("目标课程不存在!");
- }
- entity.CToLessonId = lessonInfoEntity.LessonNo;
- entity.CToLessonName = lessonInfoEntity.LessonName;
- entity.CreateTime = DateTime.Now;
- if (entity.CFromLessonId == entity.CToLessonId)
- {
- return Fail("目标课程与原目标一致!");
- }
-
- //修改排课、成绩录入相关表
- edu_ChangeTeacherLessonIBLL.ModifyTableAboutTeacherLesson(entity);
- //新增Edu_ChangeTeacherLesson记录
- edu_ChangeTeacherLessonIBLL.SaveEntity("", entity);
-
- return Success("保存成功!");
- }
-
-
- /// <summary>
- /// 考勤统计
- /// <summary>
- /// <param name="pagination">分页参数</param>
- /// <param name="queryJson">查询参数</param>
- /// <returns></returns>
- [HttpGet]
- [AjaxOnly]
- public ActionResult GetAttendanceStatisticPageList(string pagination, string queryJson)
- {
- Pagination paginationobj = pagination.ToObject<Pagination>();
- var data = stuAttendanceIBLL.GetAttendanceStatisticPageList(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 GetAttendancePageList(string pagination, string queryJson)
- {
- Pagination paginationobj = pagination.ToObject<Pagination>();
- var data = stuAttendanceIBLL.GetAttendancePageList(paginationobj, queryJson);
- var jsonData = new
- {
- rows = data,
- total = paginationobj.total,
- page = paginationobj.page,
- records = paginationobj.records
- };
- return Success(jsonData);
- }
-
- #endregion
-
-
- /// <summary>
- /// 导入数据
- /// </summary>
- /// <returns></returns>
- public ActionResult DownTemplate()
- {
- FileStreamResult result = null;
- try
- {
- var path = Server.MapPath("~/Content/excel/");
- var pathoffull = path + "ArrangeLessonTermImport.xls";
- FileStream fsread = fsread = new FileStream(pathoffull, FileMode.OpenOrCreate, FileAccess.ReadWrite);
- result = File(fsread, "application/ms-excel", "课程表导入模版.xls");
-
- return result;
- }
- catch (Exception ex)
- {
- return null;
- }
- }
- public ActionResult DownTemplatePk()
- {
- FileStreamResult result = null;
- try
- {
- var path = Server.MapPath("~/Content/excel/");
- var pathoffull = path + "ArrangeLessonTermImportPk.xls";
- FileStream fsread = fsread = new FileStream(pathoffull, FileMode.OpenOrCreate, FileAccess.ReadWrite);
- result = File(fsread, "application/ms-excel", "排课系统课程表导入模版.xls");
-
- return result;
- }
- catch (Exception ex)
- {
- return null;
- }
- }
-
- /// <summary>
- ///
- /// </summary>
- /// <param name="fileId"></param>
- /// <param name="chunks"></param>
- /// <param name="ext"></param>
- /// <returns></returns>
- [HttpPost]
- [ValidateAntiForgeryToken]
- public ActionResult ArrangeLessonTermImport(string fileId, int chunks, string ext)
- {
- UserInfo userInfo = LoginUserInfo.Get();
- string path = annexesFileIBLL.SaveAnnexes(fileId, fileId + "." + ext, chunks, userInfo);
- if (!string.IsNullOrEmpty(path))
- {
- DataTable dt = ExcelHelper.ExcelImport(path);
- var res = arrangeLessonTermIBLL.ArrangeLessonTermImportPk(dt, fileId);
- var data = new
- {
- Success = res.Split('|')[0],
- Fail = res.Split('|')[1]
- };
- return JsonResult(data);
- }
- else
- {
- return Fail("导入数据失败!");
- }
- }
- }
- }
|