package action;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import models.Course;
import models.Course_teacher;
import models.Student;
import models.Student_course;
import models.Teacher;
import org.apache.struts2.ServletActionContext;
import service.TeacherService;
import com.opensymphony.xwork2.ActionContext;
public class TeacherAction {
	private HttpServletRequest request;
	private Teacher newteacher;
	private TeacherService teacherservice;
	
	
	public HttpServletRequest getRequest() {
		return request;
	}
	public void setRequest(HttpServletRequest request) {
		this.request = request;
	}
	public Teacher getNewteacher() {
		return newteacher;
	}
	public void setNewteacher(Teacher newteacher) {
		this.newteacher = newteacher;
	}
	public TeacherService getTeacherservice() {
		return teacherservice;
	}
	public void setTeacherservice(TeacherService teacherservice) {
		this.teacherservice = teacherservice;
	}
	public String execute() throws Exception {       //教师可选课程 
		ActionContext.getContext().getSession().put("teacher", newteacher);
		teacherservice.updateTeachInfo(newteacher);
		return "success";
	}
	public String selectCourse(){
		request=ServletActionContext.getRequest();
		HttpSession session=request.getSession();
		Teacher teacher=(Teacher)session.getAttribute("teacher");
		
			List<Course_teacher> course_selected=teacherservice.hasSelect(teacher);//得到已经选择过的课程
			System.out.println(course_selected.size());
			
		
		List<Course> all=teacherservice.getAll();   //保存所有课程
		ArrayList<Integer> selected=new ArrayList<Integer>();   //记录已经选择的课程id
		ArrayList<Integer> allcourse=new ArrayList<Integer>();   //记录所有课程的id
		for(int i=0;i<course_selected.size();i++){
			Integer a=course_selected.get(i).getCourse().getCId();
			selected.add(a);
		}
		for(int i=0;i<all.size();i++){
			Integer b=all.get(i).getCId();
			allcourse.add(b);
		}
		for (int j = 0; j < selected.size(); j++) {
			if (allcourse.contains(selected.get(j))) {
				allcourse.remove(selected.get(j));          //已经选择过该课程,进行移除
			}
		}
		ArrayList<Integer> rest=allcourse;
		ArrayList<Course> restcourse=new ArrayList<Course>();    //记录教师可以选择的课程
	  for(Course c:all){
		  for(Integer i:rest){
			  if(c.getCId()==i){
				  restcourse.add(c);
			  }
		  }
	  }
	  for(int i=0;i<restcourse.size();i++){
		  Course a=restcourse.get(i);
		  System.out.println("cid为:"+a.getCId());
		  System.out.println("cname为:"+a.getCName());
		  System.out.println("chour为:"+a.getCHour());
		  
	  }
	  request.setAttribute("canSelect", restcourse);
		
	
		
		return "success";
		
	
		
	}
	
	public String  sure(){              //教师确定选择某个课程
		request=ServletActionContext.getRequest();
		HttpSession session=request.getSession();
		Teacher a=(Teacher)session.getAttribute("teacher");
		int t_id=a.getTId();
		String c_id=request.getParameter("cid");
		System.out.println("t_id"+t_id);
		System.out.println("c_id"+c_id);
		Course_teacher ct=new Course_teacher();
		ct.setTeacher(a);
		Course cou=new Course();
		cou.setCId(Integer.parseInt(c_id));
		ct.setCourse(cou);
		
		teacherservice.sureSelect(ct);
	return "success";
	}
	
	
	public String selectResult(){                //选课结果查询
		request=ServletActionContext.getRequest();
		HttpSession session=request.getSession();
		Teacher teacher=(Teacher)session.getAttribute("teacher");
		
			List<Course_teacher> course_selected=teacherservice.hasSelect(teacher);//得到已经选择过的课程
	  request.setAttribute("hasSelect", course_selected);
	  
		return "success";
	}
	
	
	public String cancel(){                 //删除选课结果
		request=ServletActionContext.getRequest();
		HttpSession session=request.getSession();
		Teacher a=(Teacher)session.getAttribute("teacher");
		String ct_id=request.getParameter("ctid");
		
		List<Student_course> list=teacherservice.showOneStu(Integer.parseInt(ct_id));
		if(list.size()==0){
			Course_teacher ct=new Course_teacher();
			ct.setCTId(Integer.parseInt(ct_id));
			
			teacherservice.cancelSelect(ct);
		return "success";
		}
		else return "fail";
		
	}
	
	
	public String showAll(){           //查询授课
		request=ServletActionContext.getRequest();
		HttpSession session=request.getSession();
		Teacher teacher=(Teacher)session.getAttribute("teacher");
		
			List<Course_teacher> course_selected=teacherservice.hasSelect(teacher);//得到已经选择过的课程
	  request.setAttribute("hasSelect", course_selected);
	  
		return "success";
	}
	
	public String showAStudent(){
		request=ServletActionContext.getRequest();
		HttpSession session=request.getSession();
		Teacher teacher=(Teacher)session.getAttribute("teacher");
		String Ctid=request.getParameter("ctid");
		List<Student_course> list=teacherservice.showOneStu(Integer.parseInt(Ctid));
	    request.setAttribute("oneStu", list);
	    return "success";
	}
	
	
	public String showWindow(){
		request=ServletActionContext.getRequest();
		HttpSession session=request.getSession();
		
		String stu_id=request.getParameter("stuid");
		String c_t_id=request.getParameter("ctid");
		String grade=request.getParameter("grade");
		Student a=teacherservice.searchStudent(stu_id);
		
		System.out.println("ctid------------->"+c_t_id);
		session.setAttribute("stuid", stu_id);
		session.setAttribute("ctid", c_t_id);
		session.setAttribute("stuName", a.getStuName());
		request.setAttribute("grade", grade);
		
		return "success";
	}
	public String changeGrade(){
		request=ServletActionContext.getRequest();
		HttpSession session=request.getSession();
//		Teacher a=(Teacher)session.getAttribute("teacher");
		String ctid=(String)session.getAttribute("ctid");
		String stuid=(String)session.getAttribute("stuid");
		String newgrade=(String)request.getParameter("newgrade");
		
		teacherservice.changeGrade(Integer.parseInt(ctid), stuid, Integer.parseInt(newgrade));
		return "success";
		
	}
	
}
 最近下载更多
最近下载更多
                
                krispeng     LV15
                6月1日
            
            
        
                571818771     LV3
                2024年12月17日
            
            
        
                星予宝藏666     LV6
                2023年5月27日
            
            
        
                海棠花瘦     LV9
                2023年5月5日
            
            
        
                aaa最代码     LV14
                2023年2月27日
            
            
        
                LITIANYU084414     LV11
                2022年12月30日
            
            
        
                weilaizhisheng     LV21
                2022年12月5日
            
            
        
                yut1an     LV2
                2022年10月31日
            
            
        
                hdwangxin     LV1
                2022年7月7日
            
            
        
                bluesky2016     LV15
                2022年7月6日
            
            
         最近浏览更多
最近浏览更多
                
                微信网友_7407113009926144     LV1
                3月2日
            
            
        
                微信网友_7391151377240064    
                2月19日
            
            
                    暂无贡献等级
            
        
                ma406805131     LV19
                2024年12月26日
            
            
        
                571818771     LV3
                2024年12月17日
            
            
        
                AOAO1234     LV2
                2024年12月12日
            
            
        
                xuanwomingren    
                2024年12月9日
            
            
                    暂无贡献等级
            
        
                liulian666     LV2
                2024年7月19日
            
            
        
                y_x_happy     LV4
                2024年6月7日
            
            
        
                sunlea     LV20
                2024年5月17日
            
            
        
                阿昌先生     LV13
                2024年3月26日
            
            
        
 
                 
                 
                