Example #1
0
        /// <summary>
        /// 创建补课周补课
        /// <para>作    者:Huang GaoLiang </para>
        /// <para>创建时间:2019-03-12 </para>
        /// </summary>
        /// <param name="weekClassId">班级主键编号</param>
        /// <param name="replenishWeekClassTime"></param>
        /// <param name="oldDatClass">常规课班级信息</param>
        /// <param name="classNo">补课周班级生成规则</param>
        /// <param name="datClassList">补课周补课班级</param>
        /// <param name="m">补课周补课信息</param>
        /// <param name="studentTimeLessList">学生考勤数据</param>
        /// <param name="batchNo">批次号</param>
        private void CreateDatClass(long weekClassId, ReplenishWeekClassTimeAddRequest replenishWeekClassTime, TblDatClass oldDatClass, string classNo, List <TblDatClass> datClassList, WeekClassTime m, ViewStudentTimeLess studentTimeLessList, long batchNo)
        {
            replenishWeekClassTime.NewClassId = weekClassId;

            if (!datClassList.Any(c => c.ClassId == weekClassId))
            {
                TblDatClass weekClass = new TblDatClass
                {
                    ClassId      = weekClassId,
                    SchoolId     = this._schoolId,
                    ClassNo      = classNo,
                    TermId       = oldDatClass.TermId,
                    RoomCourseId = oldDatClass.RoomCourseId,
                    ClassRoomId  = m.ClassRoomId,
                    CourseId     = oldDatClass.CourseId,
                    CourseLeveId = oldDatClass.CourseLeveId,
                    TeacherId    = oldDatClass.TeacherId,
                    CourseNum    = oldDatClass.CourseNum,
                    StudentsNum  = oldDatClass.StudentsNum,
                    ClassType    = (int)ClassType.ReplenishWeek,
                    CreateTime   = DateTime.Now,
                    UpdateTime   = DateTime.Now
                };
                datClassList.Add(weekClass);
            }
        }
Example #2
0
        /// <summary>
        /// 生成补课周补课班级信息
        /// <para>作    者:Huang GaoLiang </para>
        /// <para>创建时间:2019-03-12 </para>
        /// </summary>
        /// <param name="replenishWeekClassTime"></param>
        /// <param name="oldDatClass">常规课班级信息</param>
        /// <param name="timAdjustLessonList">补课周补课集合</param>
        /// <param name="classNo">补课周班级生成规则</param>
        /// <param name="newClassList">新班级集合</param>
        /// <param name="adjustLessonList">业务调整数据集合</param>
        /// <param name="m">补课周补课信息</param>
        /// <param name="replenishWeekList">即将生成补课周的信息</param>
        /// <param name="studentTimeLessList">学生考勤数据</param>
        /// <param name="batchNo">批次号</param>
        private void SetDatClass(ReplenishWeekClassTimeAddRequest replenishWeekClassTime, TblDatClass oldDatClass, List <TblTimAdjustLesson> timAdjustLessonList, string classNo, List <TblDatClass> newClassList, List <TblTimAdjustLesson> adjustLessonList, WeekClassTime m, List <WeekClassTime> replenishWeekList, ViewStudentTimeLess studentTimeLessList, long batchNo)
        {
            // 检查该班级是否存在(上课日期/上课时间/下课时间/教室)
            var adjustLesson = timAdjustLessonList.FirstOrDefault(j => j.ClassDate == m.ClassDate &&
                                                                  j.ClassBeginTime == m.ClassBeginTime &&
                                                                  j.ClassEndTime == m.ClassEndTime &&
                                                                  j.ClassRoomId == m.ClassRoomId);

            // 如果补课周补课班级不存在,则需要生成一个补课周补课班级
            long weekClassId = 0;

            // 如果不是连着上的,则判断补课周班级存不存在
            if (!oldDatClass.ClassNo.Contains(HundredEight) && null == adjustLesson)
            {
                weekClassId = IdGenerator.NextId();
            }
            // 如果是连着上的
            else if (oldDatClass.ClassNo.Contains(HundredEight))
            {
                adjustLesson = timAdjustLessonList.FirstOrDefault(j => j.ClassDate == m.ClassDate && j.ClassRoomId == m.ClassRoomId);
                if (adjustLesson == null && adjustLessonList.Any())
                {
                    weekClassId = adjustLessonList.FirstOrDefault().ClassId;
                }
                else
                {
                    weekClassId = IdGenerator.NextId();
                }
            }
            else
            {
                weekClassId = adjustLesson.ClassId;
                replenishWeekClassTime.NewClassId = adjustLesson.ClassId;
            }

            CreateDatClass(weekClassId, replenishWeekClassTime, oldDatClass, classNo, newClassList, m, studentTimeLessList, batchNo);

            var adjust = new TblTimAdjustLesson
            {
                AdjustLessonId = IdGenerator.NextId(),
                BatchNo        = batchNo,
                BusinessType   = (int)LessonBusinessType.AdjustLessonReplenishWeek,
                ClassBeginTime = m.ClassBeginTime,
                ClassDate      = m.ClassDate,
                ClassEndTime   = m.ClassEndTime,
                ClassId        = weekClassId,
                ClassRoomId    = m.ClassRoomId,
                FromLessonId   = studentTimeLessList.LessonId,
                FromTeacherId  = studentTimeLessList.TeacherId,
                ToTeacherId    = studentTimeLessList.TeacherId,
                Remark         = LessonProcessConstants.WeekRemark,
                SchoolId       = this._schoolId,
                SchoolTimeId   = 0,//补课周补课,无需添加上课时间段编号
                StudentId      = replenishWeekClassTime.StudentId,
                Status         = (int)TimAdjustLessonStatus.Normal,
                CreateTime     = DateTime.Now
            };

            adjustLessonList.Add(adjust);
        }