/// <summary>
        /// 根据条件查询补课周补课信息
        /// <para>作    者: Huang GaoLiang</para>
        /// <para>创建时间: 2018-11-22</para>
        /// </summary>
        /// <param name="search">补课周补课信息查询参数</param>
        /// <returns>返回补课周补课信息</returns>
        public List <TblTimAdjustLesson> GetTimAdjustLessonList(TimAdjustLessonInDto search)
        {
            var list = LoadList(m => m.SchoolId == search.SchoolId &&
                                m.FromTeacherId == search.ToTeacherId &&
                                m.BusinessType == (int)search.BusinessType)
                       .WhereIf(search.ClassId > 0, m => m.ClassId == search.ClassId)
                       .WhereIf(search.Status.HasValue, m => m.Status == (int)search.Status)
                       .ToList();

            return(list);
        }
Exemple #2
0
        /// <summary>
        /// 获取所有补课周补课中的补课数据
        /// <para>作    者:Huang GaoLiang </para>
        /// <para>创建时间:2019-03-12 </para>
        /// </summary>
        /// <returns>返回补课周业务调整表中的数据</returns>
        private List <TblTimAdjustLesson> GetTimAdjustLessonList()
        {
            TimAdjustLessonInDto inDto = new TimAdjustLessonInDto
            {
                SchoolId     = this._schoolId,
                ToTeacherId  = this._teacherId,
                BusinessType = ProcessBusinessType.C_AdjustLessonReplenishWeek,
                Status       = TimAdjustLessonStatus.Normal
            };
            List <TblTimAdjustLesson> timAdjustLessonList = new TblTimAdjustLessonRepository().GetTimAdjustLessonList(inDto);

            return(timAdjustLessonList);
        }
Exemple #3
0
        /// <summary>
        /// 删除已安排的补课周课次
        /// <para>作    者:Huang GaoLiang </para>
        /// <para>创建时间:2019-03-12 </para>
        /// </summary>
        /// <param name="adjustLessonIds">安排补课班级记录编号</param>
        /// <exception>
        /// 异常ID:1,未找到数据
        /// </exception>
        public void RemoveClassTime(List <long> adjustLessonIds)
        {
            var adjustLesson = _timAdjustLessonRepository.Value.GetTimAdjustLessonList(adjustLessonIds);

            if (!adjustLesson.Any())
            {
                throw new BussinessException((byte)ModelType.Default, 1);
            }

            lock (LocalThreadLock.GetLockKeyName(LockKeyNames.LOCK_AMSSCHOOLSTUDENT, this._schoolId, adjustLesson.FirstOrDefault().StudentId.ToString()))
            {
                // 获取班级信息
                TimAdjustLessonInDto inDto = new TimAdjustLessonInDto
                {
                    SchoolId     = this._schoolId,
                    ToTeacherId  = this._teacherId,
                    BusinessType = ProcessBusinessType.C_AdjustLessonReplenishWeek
                };
                long        classId  = _timAdjustLessonRepository.Value.Load(adjustLesson.FirstOrDefault().AdjustLessonId).ClassId;
                TblDatClass datClass = new ReplenishWeekClassService(classId).TblDatClass;

                // 操作日志
                TblDatOperationLog log = new TblDatOperationLog()
                {
                    OperationLogId = IdGenerator.NextId(),
                    SchoolId       = this._schoolId,
                    BusinessType   = (int)LogBusinessType.ReplenishWeekCancel,
                    BusinessId     = adjustLesson.FirstOrDefault().AdjustLessonId,
                    FlowStatus     = (int)OperationFlowStatus.Cancel,
                    OperatorId     = this._teacherId,
                    OperatorName   = this._teacherName,
                    Remark         = JsonConvert.SerializeObject($"ID是{adjustLesson.FirstOrDefault().StudentId}学生,被删除班级ID是{adjustLesson.FirstOrDefault().ClassId},上课时间是{adjustLesson.FirstOrDefault().ClassDate.ToString("yyyy-MM-dd")}     {adjustLesson.FirstOrDefault().ClassBeginTime}"),
                    CreateTime     = DateTime.Now,
                };

                // 要判断该课次是否该老师的课次,防止别人乱传ID
                if (adjustLesson.FirstOrDefault().ToTeacherId == this._teacherId)
                {
                    adjustLesson.FirstOrDefault().Status = (int)TimAdjustLessonStatus.Invalid;

                    using (var unitOfWork = new UnitOfWork())
                    {
                        try
                        {
                            unitOfWork.BeginTransaction();

                            // 调用课次服务
                            var adjustLessonWeekRevokeFinisher = new AdjustLessonReplenishWeekFinisher(this._schoolId, adjustLesson.FirstOrDefault().StudentId, adjustLesson, datClass, log, unitOfWork);

                            LessonService lessonService = new LessonService(unitOfWork);
                            lessonService.Finish(adjustLessonWeekRevokeFinisher);

                            unitOfWork.CommitTransaction();
                        }
                        catch (Exception ex)
                        {
                            unitOfWork.RollbackTransaction();
                            throw ex;
                        }
                    }
                }
            }
        }