| | |
| | | courseSchedule.setOrgId(ClientUtils.getOrgId()); |
| | | courseSchedule.setStatus(CourseSchedule.STATUS_DRAFT); |
| | | |
| | | //保存教师信息 |
| | | //保存教师信息 |
| | | UserTeacher teacher= teacherService.getTeacherByUserId(ClientUtils.getUserId()); |
| | | |
| | | if(teacher!=null){ |
| | |
| | | |
| | | this.insert(courseSchedule); |
| | | |
| | | //生成关联关系 |
| | | //生成关联关系 |
| | | List<String> lstClassIds= QBeanUtils.listPropertyVal(courseSchedule.getReClasses(), "classId"); |
| | | this.doClearAndAddReClass(courseSchedule.getScheduleId(),lstClassIds==null?null:lstClassIds.toArray(new String[lstClassIds.size()])); |
| | | |
| | | //生成明细 |
| | | //生成明细 |
| | | this.doCreateScheduleDetail(courseSchedule); |
| | | |
| | | return courseSchedule.getScheduleId(); |
| | |
| | | CourseSchedule newCourseSchedule = read(CourseSchedule.class, courseSchedule.getScheduleId()); |
| | | |
| | | if (newCourseSchedule == null) { |
| | | return new Result(false, "课表不存在"); |
| | | return new Result(false, "课表不存在"); |
| | | } |
| | | |
| | | TraceUtils.setUpdateTrace(newCourseSchedule); |
| | |
| | | newCourseSchedule.setSatTime(courseSchedule.getSatTime()); |
| | | newCourseSchedule.setSumTime(courseSchedule.getSumTime()); |
| | | |
| | | //保存教师信息 |
| | | //保存教师信息 |
| | | UserTeacher teacher= teacherService.getTeacherByUserId(ClientUtils.getUserId()); |
| | | |
| | | if(teacher!=null){ |
| | |
| | | |
| | | List<String> lstClassIds= QBeanUtils.listPropertyVal(newCourseSchedule.getReClasses(), "classId"); |
| | | |
| | | //更新关联关系 |
| | | //更新关联关系 |
| | | this.doClearAndAddReClass(courseSchedule.getScheduleId(),lstClassIds==null?null:lstClassIds.toArray(new String[lstClassIds.size()])); |
| | | |
| | | //生成明细 |
| | | //生成明细 |
| | | this.doCreateScheduleDetail(courseSchedule); |
| | | |
| | | // 保存课程班级信息 |
| | | // 保存课程班级信息 |
| | | return new Result(true); |
| | | } |
| | | |
| | | /** |
| | | * 清理并添加直播权限班级 |
| | | * 清理并添加直播权限班级 |
| | | * @param liveId |
| | | * @param classIds |
| | | */ |
| | |
| | | List<String> reIdLst = this.find("select r.reId from CourseScheduleReCls r where r.scheduleId=?", |
| | | CollectionUtils.newList(scheduleId), String.class); |
| | | |
| | | //删除关联关系 |
| | | //删除关联关系 |
| | | if(reIdLst!=null && reIdLst.size()>0){ |
| | | this.bulkUpdateInLoop("delete from CourseScheduleReCls where reId=?", reIdLst.toArray()); |
| | | } |
| | |
| | | @Override |
| | | public Result doRelease(String[] scheduleIds) { |
| | | if(scheduleIds==null || scheduleIds.length==0){ |
| | | return new Result(false, "没有选择要发布的课表"); |
| | | return new Result(false, "没有选择要发布的课表"); |
| | | } |
| | | |
| | | List<CourseSchedule> lstCourseSchedule = this.findByComplexHql("from CourseSchedule where scheduleId in (:scheduleIds)", |
| | |
| | | |
| | | for (CourseSchedule schedule : lstCourseSchedule) { |
| | | if (CourseSchedule.STATUS_DRAFT != schedule.getStatus()) { |
| | | return new Result(false, "只有草稿状态的课表,才能发布。"); |
| | | return new Result(false, "只有草稿状态的课表,才能发布。"); |
| | | } |
| | | schedule.setStatus(ClassRoom.STATUS_PUBLISH); |
| | | TraceUtils.setUpdateTrace(schedule); |
| | |
| | | @Override |
| | | public Result doCancel(String[] scheduleIds) { |
| | | if(scheduleIds==null || scheduleIds.length==0){ |
| | | return new Result(false, "没有选择要撤回的课表"); |
| | | return new Result(false, "没有选择要撤回的课表"); |
| | | } |
| | | |
| | | List<CourseSchedule> lstCourseSchedule = this.findByComplexHql("from CourseSchedule where scheduleId in (:scheduleIds)", |
| | |
| | | |
| | | for (CourseSchedule schedule : lstCourseSchedule) { |
| | | if (CourseSchedule.STATUS_PUBLISH != schedule.getStatus()) { |
| | | return new Result(false, "只有发布状态的课表,才能撤回"); |
| | | return new Result(false, "只有发布状态的课表,才能撤回"); |
| | | } |
| | | schedule.setStatus(ExamInfo.STATUS_DRAFT); |
| | | TraceUtils.setUpdateTrace(schedule); |
| | |
| | | return this.read(CourseSchedule.class, courseScheduleId); |
| | | } |
| | | |
| | | //查询当前的课表明细信息, |
| | | //查询当前的课表明细信息, |
| | | @Override |
| | | public List<CourseSchedule> listTeacherOfSchedule(String date,Integer pageSize, Integer pageNum) throws Exception{ |
| | | |
| | |
| | | return findList(hql.toString(),new Pager(pageSize, pageNum),params, CourseSchedule.class); |
| | | } |
| | | |
| | | //查询当前的课表明细信息 |
| | | //查询当前的课表明细信息 |
| | | @Override |
| | | public int listTeacherOfScheduleCount(String date,Integer pageSize, Integer pageNum) throws ParseException{ |
| | | |
| | |
| | | return findCount(hql.toString(),params); |
| | | } |
| | | |
| | | //查询当前的课表明细信息 |
| | | //查询当前的课表明细信息 |
| | | @Override |
| | | public List<CourseSchedule> listStudentSchedule(String date,Integer pageSize, Integer pageNum) throws Exception{ |
| | | StringBuffer hql = new StringBuffer(1000); |
| | |
| | | return findList(hql.toString(),new Pager(pageSize, pageNum),params, CourseSchedule.class); |
| | | } |
| | | |
| | | //查询当前的课表明细信息 |
| | | //查询当前的课表明细信息 |
| | | @Override |
| | | public int listStudentScheduleCount(String date,Integer pageSize, Integer pageNum) throws Exception{ |
| | | StringBuffer hql = new StringBuffer(1000); |
| | |
| | | } |
| | | |
| | | |
| | | //生成明细数据 |
| | | //生成明细数据 |
| | | private void doCreateScheduleDetail(CourseSchedule courseSchedule) throws Exception{ |
| | | SimpleDateFormat sdf = new SimpleDateFormat(SHORT_DATE_FORMAT); |
| | | String scheduleId = courseSchedule.getScheduleId(); |
| | | |
| | | //清理旧的关联关系 |
| | | //清理旧的关联关系 |
| | | List<String> detailIdLst = this.find("select d.detailId from CourseScheduleDetail d where d.scheduleId=?", |
| | | CollectionUtils.newList(scheduleId), String.class); |
| | | |
| | |
| | | this.bulkUpdateInLoop("delete from CourseScheduleDetail where detailId=?", detailIdLst.toArray()); |
| | | } |
| | | |
| | | //重新生成新的明细 |
| | | //重新生成新的明细 |
| | | Calendar cal = Calendar.getInstance(); |
| | | cal.setTime(courseSchedule.getBeginTime()); |
| | | cal.set(Calendar.HOUR, 0); |