diff --git a/plugin.xml b/plugin.xml index 4eebcc4d97f84f31ae250aa5334230d3d21ca111..41b5473990c6eec6444916ab62b75778efb5ceef 100644 --- a/plugin.xml +++ b/plugin.xml @@ -50,6 +50,12 @@ name="部门" restorable="true"> + + diff --git a/src/cn/edu/hit/education/view/CourseScheduleView.java b/src/cn/edu/hit/education/view/CourseScheduleView.java index 0d6e14b7ff025b31282e44bba42b6672e65c8e46..711df943a642fb708db67db65dc9252f5fbf2843 100644 --- a/src/cn/edu/hit/education/view/CourseScheduleView.java +++ b/src/cn/edu/hit/education/view/CourseScheduleView.java @@ -34,17 +34,17 @@ import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Table; import org.eclipse.swt.widgets.TableColumn; import org.eclipse.swt.widgets.TableItem; -import org.eclipse.ui.ISelectionService; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.part.ViewPart; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; -import cn.edu.hit.education.contentprovider.CourseScheduleContentProvider; -import cn.edu.hit.education.labelprovider.CourseScheduleLabelProvider; -import cn.edu.hit.education.listener.CourseDropTargetListener; +import cn.edu.hit.education.contentprovider.ExScheduleContentProvider; +import cn.edu.hit.education.labelprovider.ExScheduleLabelProvider; +import cn.edu.hit.education.listener.MyDropTargetListener; import cn.edu.hit.education.pojo.Course; import cn.edu.hit.education.pojo.ExCourse; +import cn.edu.hit.education.pojo.ExSchedule; import cn.edu.hit.education.pojo.Schedule; import cn.edu.hit.education.pojo.Semester; import cn.edu.hit.education.pojo.Specialty; @@ -53,9 +53,7 @@ import cn.edu.hit.education.service.ICourseService; import cn.edu.hit.education.service.IScheduleService; import cn.edu.hit.education.service.ISemesterService; import cn.edu.hit.education.service.ISpecialtyService; -import cn.edu.hit.education.service.IUserService; import cn.edu.hit.education.service.IUserSpeciatyService; -import cn.edu.hit.education.utils.StatisticsUtil; @Component public class CourseScheduleView extends ViewPart implements ISelectionProvider{ @@ -101,54 +99,45 @@ public class CourseScheduleView extends ViewPart implements ISelectionProvider{ refreshData(); } }); - comboSemester.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, - false, 1, 1)); + comboSemester.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1)); - tableViewer = new TableViewer(composite, SWT.BORDER - | SWT.FULL_SELECTION); + tableViewer = new TableViewer(composite, SWT.BORDER | SWT.FULL_SELECTION); table = tableViewer.getTable(); table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1)); table.setSize(297, 469); table.setLinesVisible(true); table.setHeaderVisible(true); - TableViewerColumn tableViewerColumn = new TableViewerColumn( - tableViewer, SWT.NONE); + TableViewerColumn tableViewerColumn = new TableViewerColumn(tableViewer, SWT.NONE); TableColumn tableColumn = tableViewerColumn.getColumn(); tableColumn.setWidth(100); tableColumn.setText("\u8BFE\u7A0B\u4EE3\u7801"); - TableViewerColumn tableViewerColumn_1 = new TableViewerColumn( - tableViewer, SWT.NONE); + TableViewerColumn tableViewerColumn_1 = new TableViewerColumn(tableViewer, SWT.NONE); TableColumn tableColumn_1 = tableViewerColumn_1.getColumn(); tableColumn_1.setWidth(300); tableColumn_1.setText("\u8BFE\u7A0B\u540D\u79F0"); - TableViewerColumn tableViewerColumn_2 = new TableViewerColumn( - tableViewer, SWT.NONE); + TableViewerColumn tableViewerColumn_2 = new TableViewerColumn(tableViewer, SWT.NONE); TableColumn tableColumn_2 = tableViewerColumn_2.getColumn(); tableColumn_2.setWidth(100); tableColumn_2.setText("\u5B66\u5206"); - TableViewerColumn tableViewerColumn_3 = new TableViewerColumn( - tableViewer, SWT.NONE); + TableViewerColumn tableViewerColumn_3 = new TableViewerColumn(tableViewer, SWT.NONE); TableColumn tableColumn_3 = tableViewerColumn_3.getColumn(); tableColumn_3.setWidth(100); tableColumn_3.setText("\u5B66\u65F6"); - TableViewerColumn tableViewerColumn_4 = new TableViewerColumn( - tableViewer, SWT.NONE); + TableViewerColumn tableViewerColumn_4 = new TableViewerColumn(tableViewer, SWT.NONE); TableColumn tableColumn_4 = tableViewerColumn_4.getColumn(); tableColumn_4.setWidth(100); tableColumn_4.setText("\u7406\u8BBA\u5B66\u65F6"); - TableViewerColumn tableViewerColumn_5 = new TableViewerColumn( - tableViewer, SWT.NONE); + TableViewerColumn tableViewerColumn_5 = new TableViewerColumn(tableViewer, SWT.NONE); TableColumn tblclmnNewColumn = tableViewerColumn_5.getColumn(); tblclmnNewColumn.setWidth(100); tblclmnNewColumn.setText("\u5B9E\u9A8C\u5B66\u65F6"); - tableViewer.addDropSupport(DND.DROP_MOVE, transfer2, - new CourseDropTargetListener(tableViewer, this)); + tableViewer.addDropSupport(DND.DROP_MOVE, transfer2, new MyDropTargetListener(tableViewer, this)); Menu contextMenu = new Menu(table); table.setMenu(contextMenu); @@ -161,15 +150,12 @@ public class CourseScheduleView extends ViewPart implements ISelectionProvider{ @Override public void widgetSelected(SelectionEvent e) { TableItem[] selections = table.getSelection(); - Shell parentShell = PlatformUI.getWorkbench() - .getActiveWorkbenchWindow().getShell(); + Shell parentShell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(); if (selections.length > 0) { for (TableItem tableItem : selections) { Course theCourse = (Course) tableItem.getData(); - List schedules = scheduleService - .querySchedulesBySemesterCourseId( - semester.getId(), theCourse.getId()); + List schedules = scheduleService.querySchedulesBySemesterCourseId(semester.getId(), theCourse.getId()); //获取当前可查看专业的Id List specityIds = specialties.stream().map(item->{ return item.getId(); @@ -210,8 +196,11 @@ public class CourseScheduleView extends ViewPart implements ISelectionProvider{ } } }); - tableViewer.setContentProvider(new CourseScheduleContentProvider()); - tableViewer.setLabelProvider(new CourseScheduleLabelProvider()); + /*tableViewer.setContentProvider(new CourseScheduleContentProvider()); + tableViewer.setLabelProvider(new CourseScheduleLabelProvider());*/ + + tableViewer.setContentProvider(new ExScheduleContentProvider()); + tableViewer.setLabelProvider(new ExScheduleLabelProvider()); initSpecialty(); initSemesterCombo(); @@ -226,9 +215,7 @@ public class CourseScheduleView extends ViewPart implements ISelectionProvider{ private List queryCourseBySememster(Specialty specialty, Semester semester) { - List schedules = scheduleService - .querySchedulesBySpecialtySemesterId(specialty.getId(), - semester.getId()); + List schedules = scheduleService.querySchedulesBySpecialtySemesterId(specialty.getId(),semester.getId()); Set allCourseIds = new HashSet(); List courses = new ArrayList(); if (schedules != null && schedules.size() > 0) { @@ -244,10 +231,10 @@ public class CourseScheduleView extends ViewPart implements ISelectionProvider{ public void addNewCourse(int id) { Course course = courseService.queryCourseByPrimaryKey(id); - if (!isSameCourse(course.getId(), 0, semester.getId())) { + if (!isSameCourse(course.getId(), 1, semester.getId())) { Schedule schedule = new Schedule(); schedule.setCourseId(course.getId()); - schedule.setSpecialtyId(0); + schedule.setSpecialtyId(1); schedule.setSemesterId(semester.getId()); schedule.setOpened(0); // @@ -259,14 +246,12 @@ public class CourseScheduleView extends ViewPart implements ISelectionProvider{ refreshData(); } else { - MessageDialog.openWarning(PlatformUI.getWorkbench().getDisplay() - .getActiveShell(), "提示", "培养方案表格中已安排该课程!"); + MessageDialog.openWarning(PlatformUI.getWorkbench().getDisplay().getActiveShell(), "提示", "培养方案表格中已安排该课程!"); } } private boolean isSameCourse(int courseId, int specialtyId, int semesterId) { - List theSchedules = scheduleService - .querySchedulesBySpecialtyId(specialtyId, 0); + List theSchedules = scheduleService.querySchedulesBySpecialtyId(specialtyId, 0); if (theSchedules != null && theSchedules.size() > 0) { for (Schedule schedule : theSchedules) { if (schedule.getCourseId() == courseId) { @@ -286,14 +271,12 @@ public class CourseScheduleView extends ViewPart implements ISelectionProvider{ } else if (subject.hasRole("president")) { User user = (User) subject.getPrincipal(); // 根据院长的用户Id查询到关联的专业Id - List ids = userSpeciatyService.querySpeciatyIdsByUser(user - .getId()); + List ids = userSpeciatyService.querySpeciatyIdsByUser(user.getId()); specialties = specialtyService.queryRelativeSpecialty(ids); } else if (subject.hasRole("director")) { User user = (User) subject.getPrincipal(); // 根据普通用户的用户Id查询到关联的专业Id - List ids = userSpeciatyService.querySpeciatyIdsByUser(user - .getId()); + List ids = userSpeciatyService.querySpeciatyIdsByUser(user.getId()); specialties = specialtyService.queryRelativeSpecialty(ids); } } @@ -303,8 +286,7 @@ public class CourseScheduleView extends ViewPart implements ISelectionProvider{ if (semesters != null && semesters.size() > 0) { semester = semesters.get(0); for (Semester semester : semesters) { - comboSemester.add(semester.getGrade() + ":" - + semester.getSemester() + ":" + semester.getId()); + comboSemester.add(semester.getGrade() + ":" + semester.getSemester() + ":" + semester.getId()); } comboSemester.select(0); @@ -336,7 +318,7 @@ public class CourseScheduleView extends ViewPart implements ISelectionProvider{ } } - private void refreshData() { + /*private void refreshData() { // List courses = queryCourseBySememster(specialty, semester); List courses = queryCourseBySememster(semester); List exCourses = new ArrayList(); @@ -345,7 +327,13 @@ public class CourseScheduleView extends ViewPart implements ISelectionProvider{ StatisticsUtil.processCourseScheduleData(courses); } tableViewer.setInput(courses); + }*/ + + private void refreshData(){ + List exSchedules = scheduleService.queryExSchedulesBySpecialtySemesterId(1, semester.getId()); + tableViewer.setInput(exSchedules); } + public Semester getSemester() { return semester; }