using Learun.Util;
using System.Data;
using System.Collections.Generic;
using System.Threading.Tasks;
using Learun.Application.Organization;
using static Learun.Application.TwoDevelopment.EducationalAdministration.ArrangeExamTermService;
namespace Learun.Application.TwoDevelopment.EducationalAdministration
{
///
/// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园
/// Copyright (c) 2013-2018 北京泉江科技有限公司
/// 创 建:超级管理员
/// 日 期:2019-02-27 11:05
/// 描 述:排课
///
public interface ArrangeLessonTermIBLL
{
#region 获取数据
IEnumerable AttendanceStudents(Pagination pagination, string queryJson);
IEnumerable GetMajors(string academicYearNo, string semester);
IEnumerable GetMajorsNotRecord(string academicYearNo, string semester);
IEnumerable GetClassrooms(string academicYearNo, string semester);
IEnumerable GetClassroomsNotRecord(string academicYearNo, string semester);
IEnumerable GetClassType();
IEnumerable GetLessons(string academicYearNo, string semester);
IEnumerable GetLessonsNotRecord(string academicYearNo, string semester);
IEnumerable GetTeachers(string academicYearNo, string semester);
IEnumerable GetTeachersNotRecord(string academicYearNo, string semester);
IEnumerable GetClasses(string academicYearNo, string semester);
IEnumerable GetClassesNotRecord(string academicYearNo, string semester);
IEnumerable GetStus(string academicYearNo, string semester);
IEnumerable GetStusNotRecord(string academicYearNo, string semester);
///
/// 课程表
///
/// 账号
/// 用户类型 学生 教师
/// 查询开始时间
/// 查询截止时间
///
IEnumerable GetTimeTable(string userAccount, string userType, string startDate, string endDate);
///
/// 获取列表数据
///
///
IEnumerable GetList(string queryJson);
Task AsyncArrangeLessonData();
Task AsyncModifyArrangeLessonData();
///
/// 按条件清空排课数据
///
///
Task AsyncModifyArrangeLessonDataByCondition(ArrangeLessonTermEntity entity);
///
/// 按条件同步排课数据
///
///
Task AsyncArrangeLessonDataByCondition(ArrangeLessonTermEntity entity);
///
/// 获取列表分页数据
/// 分页参数
///
///
IEnumerable GetPageList(Pagination pagination, string queryJson);
List GetTree();
///
/// 获取实体数据
/// 主键
///
///
ArrangeLessonTermEntity GetEntity(string keyValue);
#endregion
#region 提交数据
///
/// 删除实体数据
/// 主键
///
///
void DeleteEntity(string keyValue);
void DeleteLessonTerm(string keyValue,string WeekTime);
string UpdateLessonTerm(string keyValue, UpdateLessonTermEntity model);
///
/// 保存实体数据(新增、修改)
/// 主键
///
///
void SaveEntity(string keyValue, ArrangeLessonTermEntity entity);
IEnumerable GetListByEmpNo(List empNos);
#endregion
IEnumerable GetStudents();
IEnumerable GetLessonSortDetails();
IEnumerable GetLessonSorts();
IEnumerable GetClassLessons();
///
/// 课程表【教务】
///
/// 查询开始时间
/// 查询截止时间
/// 班级编号
/// 教师编号
///
IEnumerable GetTimeTableInEducation(string startDate, string endDate, string classNo, string empNo, string schoolId);
///
/// 课程表【教务】--班级下拉框信息
///
///
IEnumerable GetClassData(string schoolId);
///
/// 课程表【教务】--教师下拉框信息
///
///
///
IEnumerable GetTeacherData(string schoolId);
bool GetAny();
IEnumerable GetDepts(string academicYearNo, string semester);
IEnumerable GetDeptsNotRecord(string academicYearNo, string semester);
IEnumerable GetSchools(string academicYearNo, string semester);
IEnumerable GetSchoolsNotRecord(string academicYearNo, string semester);
IEnumerable GetLessonTypes();
IEnumerable GetPageListForTeacherWorkload(Pagination paginationobj, string queryJson);
///
/// 教学工作量
///
///
///
///
IEnumerable GetPageListForTeacherWorkloadByEmpNo(Pagination paginationobj, string queryJson, string empNo);
///
/// 教学调度【教务】--课程下拉框信息
///
///
IEnumerable GetLessonDataInTerm(string queryJson);
IEnumerable GetAllClassLesson(string academicYearNo, string semester);
bool InitAsyncDataByCondition(ArrangeLessonTermEntity entity);
}
}