@@ -2272,10 +2272,13 @@ group by AcademicYearNo,Semester,DeptNo,MajorNo,LessonNo,TeachClassNo,EmpNo,Les
/// <returns></returns>
public string ArrangeLessonTermImport(DataTable dt, string fileId)
{
var db = this.BaseRepository("CollegeMIS").BeginTrans();
try
{
int snum = 0;
int fnum = 0;
//插入时间
var Insertdate = DateTime.Now;
if (dt.Rows.Count > 0)
{
DataTable failDt = new DataTable();
@@ -2284,7 +2287,6 @@ group by AcademicYearNo,Semester,DeptNo,MajorNo,LessonNo,TeachClassNo,EmpNo,Les
{
failDt.Columns.Add(dc.ColumnName, dc.DataType);
}
var db = this.BaseRepository("CollegeMIS").BeginTrans();
IEnumerable<ArrangeLessonTermEntity> ArrangeLessonTermHistory = db.FindList<ArrangeLessonTermEntity>("select * from ArrangeLessonTerm");
var ArrangeLessonTerminsert = new List<ArrangeLessonTermEntity>();
@@ -2297,7 +2299,7 @@ group by AcademicYearNo,Semester,DeptNo,MajorNo,LessonNo,TeachClassNo,EmpNo,Les
#region 必填项空验证
if (dr["上课日期"].ToString().IsEmpty())
{
throw (new Exception("资上课日期不能为空"));
throw (new Exception("上课日期不能为空"));
}
if (dr["开始时间"].ToString().IsEmpty())
{
@@ -2313,67 +2315,101 @@ group by AcademicYearNo,Semester,DeptNo,MajorNo,LessonNo,TeachClassNo,EmpNo,Les
}
if (dr["学期"].ToString().IsEmpty())
{
throw (new Exception("学期入账日期不能为空"));
throw (new Exception("学期不能为空"));
}
if (dr["班级"].ToString().IsEmpty())
if (dr["班级编号"].ToString().IsEmpty())
{
throw (new Exception("班级类型不能为空"));
throw (new Exception("班级编号不能为空"));
}
if (dr["课程"].ToString().IsEmpty())
if (dr["班级名称"].ToString().IsEmpty())
{
throw (new Exception("课程不能为空"));
throw (new Exception("班级名称不能为空"));
}
if (dr["教师姓名"].ToString().IsEmpty())
if (dr["课程编号"].ToString().IsEmpty())
{
throw (new Exception("教师姓名不能为空"));
throw (new Exception("课程编号不能为空"));
}
if (dr["上课时间"].ToString().IsEmpty())
if (dr["课程名称"].ToString().IsEmpty())
{
throw (new Exception("上课时间不能为空"));
throw (new Exception("课程名称不能为空"));
}
if (dr["是否必修课"].ToString().IsEmpty())
if (dr["教师编号"].ToString().IsEmpty())
{
throw (new Exception("是否必修课不能为空"));
throw (new Exception("教师编号不能为空"));
}
#endregion
//插入时间
var Insertdate = DateTime.Now;
var LessonName = dr["课程"].ToString();
var ClassName = dr["班级"].ToString();
var ClassroomName = dr["教室"].ToString();
var EmpName = dr["教师姓名"].ToString();
if (dr["教师名称"].ToString().IsEmpty())
{
throw (new Exception("教师名称不能为空"));
}
if (dr["教室编号"].ToString().IsEmpty())
{
throw (new Exception("教室编号不能为空"));
}
if (dr["教室名称"].ToString().IsEmpty())
{
throw (new Exception("教室名称不能为空"));
}
if (dr["上课节次"].ToString().IsEmpty())
{
throw (new Exception("上课节次不能为空"));
}
#endregion
#region 开始时间、结束时间格式判断
var st = new TimeSpan();
var stFlag = TimeSpan.TryParse(dr["开始时间"].ToString(), out st);
if (!stFlag)
{
throw (new Exception("开始时间格式有误"));
}
var et = new TimeSpan();
var etFlag = TimeSpan.TryParse(dr["结束时间"].ToString(), out et);
if (!etFlag)
{
throw (new Exception("结束时间格式有误"));
}
#endregion
//基础数据
var lessonEntity = BaseRepository("CollegeMIS").FindEntity<LessonInfoEntity>(x => x.LessonName == LessonName);
var classEntity = BaseRepository("CollegeMIS").FindEntity<ClassInfoEntity>(x => x.ClassName == ClassName);
var classroomEntity = BaseRepository("CollegeMIS").FindEntity<ClassroomInfoEntity>(x => x.ClassroomName == ClassroomName);
var lessonEntity = db.FindList<LessonInfoEntity>($"select * from Lessoninfo where LessonName='" + dr["课程名称"].ToString().Trim() + "' and LessonNo='" + dr["课程编号"].ToString().Trim() + "' and CheckMark=1 ");
var classEntity = db.FindList<ClassInfoEntity>($"select * from ClassInfo where ClassName='" + dr["班级名称"].ToString().Trim() + "' and ClassNo='" + dr["班级编号"].ToString().Trim() + "' and CheckMark=1 ");
var classroomEntity = db.FindList<ClassroomInfoEntity>($"select * from ClassroomInfo where ClassroomName='" + dr["教室名称"].ToString().Trim() + "' and ClassroomNo='" + dr["教室编号"].ToString().Trim() + "' and CheckMark=1 ");
var empinfoEntity = db.FindList<EmpInfoEntity>($"select * from EmpInfo where EmpName='" + dr["教师名称"].ToString().Trim() + "' and EmpNo='" + dr["教师编号"].ToString().Trim() + "' and CheckMark=1 ");
var CompanyEntity = BaseRepository().FindList<CompanyEntity>(x => x.F_EnabledMark == 1).ToList().FirstOrDefault();
var empinfoEntity = BaseRepository("CollegeMIS").FindEntity<EmpInfoEntity>(x => x.EmpName == EmpName);
if (lessonEntity.Count() <= 0)
throw (new Exception("查无此课程"));
if (classEntity.Count() <= 0)
throw (new Exception("查无此班级"));
if (empinfoEntity.Count() <= 0)
throw (new Exception("查无此教师"));
if (classroomEntity.Count() <= 0)
throw (new Exception("查无此教室"));
//写入要导入替换的数据
ArrangeLessonTermEntity arrangeLessonTermEntity = new ArrangeLessonTermEntity
@@ -2430,6 +2472,239 @@ group by AcademicYearNo,Semester,DeptNo,MajorNo,LessonNo,TeachClassNo,EmpNo,Les
}
}
/// <summary>
/// 课表导入时,写入开课计划数据
/// </summary>
/// <param name="insertdate">写入时间</param>
public bool InsertTeachClassDataInImport(DateTime insertdate)
{
bool result = false;
var date = insertdate.AddSeconds(1);
try
{
IEnumerable<ArrangeLessonTermEntity> ArrangeLessonTermData = BaseRepository("CollegeMIS").FindList<ArrangeLessonTermEntity>("SELECT t.* from ArrangeLessonTerm t WHERE t.InsertDate >= '" + insertdate + "' and t.InsertDate < '" + date + "' and t.IsImport=1 ");
if (ArrangeLessonTermData.Any())
{
//表已有数据
var TeachClassData = this.BaseRepository("CollegeMIS").FindList<TeachClassEntity>();
//待插入数据
var insertTeachClassDataList = new List<TeachClassEntity>();
var teachclasslist = ArrangeLessonTermData.GroupBy(x => new { x.AcademicYearNo, x.Semester, x.TeachClassNo, x.LessonNo, x.LessonName, x.EmpNo, x.LessonSortNo })