using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Bowin.Common.Linq.Entity;
using EMIS.ViewModel.RetakeManage;
using EMIS.ViewModel;
using EMIS.ViewModel.EducationManage;
using EMIS.ViewModel.UniversityManage.ClassroomManage;
using EMIS.Entities;
namespace EMIS.CommonLogic.RetakeManage.General
{
public interface IRetakePlanTaskServices
{
///
/// 查询学生预查信息列表
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
IGridResultSet GetRetakePreStudentView(ConfiguretView configuretView, Guid? schoolyearID, Guid? collegeID,
Guid? departmentID, int? yearID, int? standardID, int? educationID, int? learningformID, string learnSystem, Guid? classmajorID,
int? inSchoolStatus, int? examsCategoryID, Guid? coursematerialID, string courseTypeIDs, int pageIndex, int pageSize);
///
/// 查询学生预查信息List
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
List GetRetakePreStudentViewList(ConfiguretView configuretView, Guid? schoolyearID, Guid? collegeID,
Guid? departmentID, int? yearID, int? standardID, int? educationID, int? learningformID, string learnSystem, Guid? classmajorID,
int? inSchoolStatus, int? examsCategoryID, Guid? coursematerialID, string courseTypeIDs);
///
/// 学生预查重修任务生成
///
///
///
///
string Generate(List finallyScoreIDList, int? retakeTypeID);
///
/// 查询重修任务信息View
///
///
///
///
///
///
///
///
///
///
///
IGridResultSet GetRetakePlanTaskView(ConfiguretView configuretView, Guid? schoolyearID, Guid? collegeID,
Guid? departmentID, Guid? coursematerialID, int? retakeTypeID, int? statusID, int pageIndex, int pageSize);
///
/// 查询重修任务信息List
///
///
///
///
///
///
///
///
///
List GetRetakePlanTaskViewList(ConfiguretView configuretView, Guid? schoolyearID, Guid? collegeID,
Guid? departmentID, Guid? coursematerialID, int? retakeTypeID, int? statusID);
///
/// 查询重修计划相关信息View(含相关设置信息、排课教室等)
/// 注:排课明细中目前只支持同一教室的情况
///
///
///
RetakePlanTaskSettingView GetRetakePlanTaskUpdateView(Guid? RetakePlanID);
///
/// 查询重修计划课程表信息List
///
///
///
List GetSchedulingView(Guid? RetakePlanID);
///
/// 查询重修计划任课老师信息List
///
///
///
List GetTeacherListView(Guid? RetakePlanID);
///
/// 查询重修计划授课方式信息List
///
///
///
List GetTeachingModeType(Guid? RetakePlanID);
///
/// 查询重修计划授课地点信息List
///
///
///
List GetTeachingPlace(Guid? RetakePlanID);
///
/// 查询对应的重修计划相关表信息
///
///
///
ER_RetakePlan GetRetakePlan(Guid? RetakePlanID);
///
/// 重修计划修改(排课冲突判断)
///
///
///
///
///
///
bool RetakePlanTaskSet(RetakePlanTaskSettingView RetakePlanTaskSettingView, IList teacherList,
IList schedulingList, out int? type);
///
/// 排课冲突检查,列出课程进度中的可选教室
///
///
///
///
///
///
///
///
///
///
///
IGridResultSet GetAvailableClassroom(ConfiguretView configuretView, Guid? buildingID, string schedulingWeek,
int? weekday, Guid courseTimeID, int? classroomTypeID, Guid SchoolYearID, int? pageIndex, int? pageSize);
///
/// 删除(需要检测是否存在对应的已报名重修计划名单,根据重修计划ID)
///
///
void DeleteRetakePlanTask(IList retakePlanIDsList);
///
/// 检测是否存在对应的已报名重修计划名单(根据重修计划ID)
///
///
///
bool IsExistsApplyStudentByRetakePlanID(string retakePlanIDs);
///
/// 重修计划取消开放(删除对应的重修计划报名名单)
///
///
void CancleRetakePlanTask(IList RetakePlanIDsList);
///
/// 重修计划开放
///
///
void OpenRetakePlanTask(IList RetakePlanIDsList);
///
/// 查询对应的重修计划分班信息View
///
///
///
RetakeDivideIntoClassesView GetDivideIntoClassesView(Guid? retakePlanID);
///
/// 重修任务分班(此分班形式不需分开人数,只做为分多少个任务班的计算参数)
/// 注:分多少个任务班,那么各个任务班的人数保持一致
///
///
void DivideIntoClassesSeparate(RetakeDivideIntoClassesView divideIntoClassesView);
///
/// 查询对应的重修计划名单信息View
///
///
///
///
///
IGridResultSet GetRetakePlanTaskStudentView(Guid? RetakePlanID, int pageIndex, int pageSize);
///
/// 查询对应的重修计划名单信息List
///
///
///
///
List GetRetakePlanTaskStudentViewList(ConfiguretView configuretView, Guid? RetakePlanID);
///
/// 查询对应的重修计划名单列表(不及格成绩,小于60分)
/// 不需排除已在其它相应的重修计划中存在的名单
///
///
///
///
///
///
///
///
///
///
IGridResultSet GetStudentView(ConfiguretView configuretView, Guid? RetakePlanID,
int? gradeYearID, int? standardID, Guid? classmajorID, int? inSchoolStatus, int pageIndex, int pageSize);
///
/// 重修任务页面添加名单确定
///
///
///
void AddStudent(Guid? retakePlanID, List finallyScoreIDList);
///
/// 删除(重修计划名单删除,根据重修计划名单ID)
///
///
void DeleteStudent(IList retakePlanStudentIDsList);
///
/// 检测是否存在对应的已报名重修计划名单(根据重修计划名单ID)
///
///
///
bool IsExistsApplyStudentByRetakePlanStudentID(string retakePlanStudentIDs);
}
}