浏览代码

排课数据导入优化基础数据读取

黑艺新账号
北京泉江 1年前
父节点
当前提交
2871b50761
共有 1 个文件被更改,包括 35 次插入19 次删除
  1. +35
    -19
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ArrangeLessonTerm/ArrangeLessonTermService.cs

+ 35
- 19
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ArrangeLessonTerm/ArrangeLessonTermService.cs 查看文件

@@ -8,6 +8,7 @@ using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.Net.Http;
using System.Text;
@@ -2482,6 +2483,8 @@ group by AcademicYearNo,Semester,DeptNo,MajorNo,LessonNo,TeachClassNo,EmpNo,Les
var Insertdate = DateTime.Now;
if (dt.Rows.Count > 0)
{
var stt = new Stopwatch();
stt.Start();
DataTable failDt = new DataTable();
dt.Columns.Add("导入错误", typeof(string));
foreach (DataColumn dc in dt.Columns)
@@ -2491,7 +2494,7 @@ group by AcademicYearNo,Semester,DeptNo,MajorNo,LessonNo,TeachClassNo,EmpNo,Les

IEnumerable<ArrangeLessonTermEntity> ArrangeLessonTermHistory = db.FindList<ArrangeLessonTermEntity>("select * from ArrangeLessonTerm");
var ArrangeLessonTerminsert = new List<ArrangeLessonTermEntity>();
#region 上课时间
var lessonTimes = new Dictionary<int, Tuple<string, string>>();
lessonTimes.Add(1, new Tuple<string, string>("8:30", "9:15"));
@@ -2509,9 +2512,18 @@ group by AcademicYearNo,Semester,DeptNo,MajorNo,LessonNo,TeachClassNo,EmpNo,Les
var startDate = DateTime.Today;
var endDate = DateTime.Today;

#region 基础数据
var lessons = db.FindList<LessonInfoEntity>(x => x.CheckMark == true);
var classes = db.FindList<ClassInfoEntity>(x => x.CheckMark == true);
var classrooms = db.FindList<ClassroomInfoEntity>(x => x.CheckMark == true);
var empinfo = db.FindList<EmpInfoEntity>(x => x.CheckMark == true);
var CompanyEntity = BaseRepository().FindEntity<CompanyEntity>(x => x.F_EnabledMark == 1);
#endregion

// 循环遍历导入
foreach (DataRow dr in dt.Rows)
{
try
{
#region 必填项空验证
@@ -2602,18 +2614,17 @@ group by AcademicYearNo,Semester,DeptNo,MajorNo,LessonNo,TeachClassNo,EmpNo,Les
#endregion

#region 基础数据
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();
if (lessonEntity.Count() <= 0)
var lessonEntity = lessons.FirstOrDefault(x => x.LessonName == dr["课程名称"].ToString().Trim() && x.LessonNo == dr["课程编号"].ToString().Trim());
var classEntity = classes.FirstOrDefault(x=>x.ClassName== dr["班级名称"].ToString().Trim() && x.ClassNo== dr["班级编号"].ToString().Trim());
var classroomEntity = classrooms.FirstOrDefault(x=>x.ClassroomName== dr["教室名称"].ToString().Trim() && x.ClassroomNo== dr["教室编号"].ToString().Trim());
var empinfoEntity = empinfo.FirstOrDefault(x=>x.EmpName== dr["教师名称"].ToString().Trim() && x.EmpNo== dr["教师编号"].ToString().Trim());
if (lessonEntity == null)
throw (new Exception("查无此课程"));
if (classEntity.Count() <= 0)
if (classEntity == null)
throw (new Exception("查无此班级"));
if (empinfoEntity.Count() <= 0)
if (empinfoEntity == null)
throw (new Exception("查无此教师"));
if (classroomEntity.Count() <= 0)
if (classroomEntity == null)
throw (new Exception("查无此教室"));
#endregion
#region 初始化学期时间
@@ -2657,16 +2668,16 @@ group by AcademicYearNo,Semester,DeptNo,MajorNo,LessonNo,TeachClassNo,EmpNo,Les
EndTime = TimeSpan.Parse(lessonTime.Item2).ToString(@"hh\:mm"),
AcademicYearNo = dr["学年"].ToString(),
Semester = dr["学期"].ToString(),
DeptNo = classEntity.FirstOrDefault().DeptNo,
MajorNo = classEntity.FirstOrDefault().MajorNo,
LessonNo = lessonEntity.FirstOrDefault().LessonNo,
LessonName = lessonEntity.FirstOrDefault().LessonName,
TeachClassNo = lessonEntity.FirstOrDefault().LessonName + classEntity.FirstOrDefault().ClassNo,
EmpNo = empinfoEntity.FirstOrDefault().EmpNo,
EmpName = empinfoEntity.FirstOrDefault().EmpName,
ClassroomNo = classroomEntity.FirstOrDefault().ClassroomNo,
DeptNo = classEntity.DeptNo,
MajorNo = classEntity.MajorNo,
LessonNo = lessonEntity.LessonNo,
LessonName = lessonEntity.LessonName,
TeachClassNo = lessonEntity.LessonName + classEntity.ClassNo,
EmpNo = empinfoEntity.EmpNo,
EmpName = empinfoEntity.EmpName,
ClassroomNo = classroomEntity.ClassroomNo,
LessonTime = $"{dr["上课周几"].ToString()}{dr["上课节次"].ToString()}",
LessonSortNo = lessonEntity.FirstOrDefault().LessonSortNo,
LessonSortNo = lessonEntity.LessonSortNo,
//默认数;
CheckMark = "1",
InsertDate = Insertdate,
@@ -2716,20 +2727,25 @@ group by AcademicYearNo,Semester,DeptNo,MajorNo,LessonNo,TeachClassNo,EmpNo,Les
dr["导入错误"] = ex.Message;
failDt.Rows.Add(dr.ItemArray);
}

}
//执行导入
db.Insert(ArrangeLessonTerminsert);
db.Commit();
if (failDt.Rows.Count > 0)
{
string errordt = failDt.ToJson();
cache.Write<string>(cacheKey + fileId, errordt, CacheId.excel);
}
if (snum > 0)
{
//写入开课计划数据
InsertTeachClassDataInImport(Insertdate);
}
}
return snum + "|" + fnum;
}


正在加载...
取消
保存