package scheme;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.List;
import common.CommonTool;
import db.ParentBean;
public class CourseSchemeBean extends ParentBean{
public CourseSchemeBean(){
}
public Hashtable getXS()//学生学院,学生专业,学生班级,学生姓名
{
Hashtable out = new Hashtable();
out.put("CLASS","");
out.put("CLASSNAME","");
out.put("NAME","");
out.put("SSNJ","");
out.put("COLLEGE","");
out.put("SPECIALTY","");
out.put("SPECIALTYID","");
try
{
String sqlCommand = "SELECT * FROM studentinfo WHERE stuid='"+userid+"' ";
Statement stm = conn.createStatement();
ResultSet rs = stm.executeQuery(sqlCommand);
if(rs.next())
{
out.put("CLASS",CommonTool.NullToString(rs.getString("CLASS")));
out.put("CLASSNAME",CommonTool.NullToString(rs.getString("CLASSNAME")));
out.put("NAME",CommonTool.NullToString(rs.getString("NAME")));
out.put("SSNJ",CommonTool.NullToString(rs.getString("SSNJ")));
out.put("COLLEGE",CommonTool.NullToString(rs.getString("COLLEGE")));
out.put("SPECIALTY",CommonTool.NullToString(rs.getString("SPECIALTY")));
out.put("SPECIALTYID",CommonTool.NullToString(rs.getString("SPECIALTYID")));
}
if(rs!=null)rs.close();
stm.close();
}catch(SQLException sqle){System.out.println("调用getXS()函数错误:"+sqle);}
return out;
}
//取得相应节次、星期的学生选课课程信息
public List getCourse()
{
List out = new ArrayList();
try
{
//提取课表
String sqlCommand = "SELECT * FROM course a,stucourse b,code_kclb c " +
"WHERE a.courseid = b.courseid AND a.platform = b.platform " +
" AND b.kcsx = c.kclb AND b.stuid='"+this.userid+"'" +
"ORDER BY b.kcsx,b.courseid";
Statement stm = conn.createStatement();
ResultSet rs = stm.executeQuery(sqlCommand);
while(rs.next())
{
//获得课程号
String kch = CommonTool.NullToString(rs.getString("COURSEID"));
//获得课序号
String kxh = CommonTool.NullToString(rs.getString("PLATFORM"));
//获得课程名
String kcm = CommonTool.NullToString(rs.getString("COURSENAME"));
//获得教师名
String jsm = CommonTool.NullToString(rs.getString("TEACHER"));
String sfsk = CommonTool.NullToString(rs.getString("SFSK"));
String kclbmc = CommonTool.NullToString(rs.getString("KCLBMC"));
if(sfsk.equals("1")) sfsk="是";
else sfsk = "否";
Hashtable hash = new Hashtable();
hash.put("KCH", kch);
hash.put("KXH", kxh);
hash.put("KCM", kcm);
hash.put("JSM", jsm);
hash.put("SFSK", sfsk);
hash.put("KCLBMC", kclbmc);
out.add(hash);
}
if(rs!=null) rs.close();
if(stm!=null) stm.close();
}catch(Exception e){System.out.println("调用getCourse()函数错误:"+e);}
return out;
}
public Hashtable getCourseScheme()//sfsk = "[未中签,请换讲台]";
{
Hashtable out = new Hashtable();
//建立空白课程表
for(int i=1;i<=5;i++)
{
for(int j=1;j<=7;j++)
{
out.put(i+""+j,"");
}
}
try
{
Statement stm = conn.createStatement();
ResultSet rs = null;
String sqlCommand = "";
List courseList = this.getCourse();
Iterator itr = courseList.iterator();
while (itr.hasNext()) {
Hashtable hash = (Hashtable) itr.next();
String kch = (String) hash.get("KCH");
String kxh = (String) hash.get("KXH");
String kcm = (String) hash.get("KCM");
String kcsx = (String) hash.get("KCLBMC");
String jsm = (String) hash.get("JSM");
if(((String)hash.get("SFSK")).equals("否")) continue;
sqlCommand = " SELECT * FROM coursetime "
+" WHERE courseid ='"+kch+"'"
+" AND platform = '"+kxh+"' "
+" ORDER BY skxq,skjc ";
rs = stm.executeQuery(sqlCommand);
while(rs.next())
{
//上课星期
String skxq = CommonTool.NullToString(rs.getString("SKXQ"));
//上课节次
String skjc = CommonTool.NullToString(rs.getString("SKJC"));
//上课周次
String skzc = CommonTool.NullToString(rs.getString("SKZCZFC"));
//上课教室
String skjs = CommonTool.NullToString(rs.getString("CLASS"));
//课程信息合并
String str = kcm+"("+kcsx+")"+"\r\n"+jsm+"("+skzc+")"+skjs;
//同一课程名
str = str.replaceAll(" ","");
if(!out.get(skjc+skxq).equals(""))
{
str = out.get(skjc+skxq)+"\r\n\r\n"+str;
}
out.put(skjc+skxq,str);
}
}
if(rs!=null) rs.close();
if(stm!=null) stm.close();
}catch(Exception e){System.out.println("调用getCourseScheme()函数错误:"+ e);}
return out;
}
public List getChoosedCourse(String kclb)//取得我的必修课程表(必修)
{
List out = new ArrayList();//已行作为一个记录,每个记录为Hashtable类型
try
{
String sqlCommand = "SELECT * FROM course a,stucourse b " +
"WHERE a.courseid = b.courseid AND a.platform = b.platform " +
" AND b.kcsx = '"+kclb+"' AND b.stuid='"+this.userid+"'" +
"ORDER BY b.kcsx,b.courseid";
Statement stm = conn.createStatement();
ResultSet rs = stm.executeQuery(sqlCommand);
while(rs.next())
{
Hashtable onerow = new Hashtable();
String kch_t = CommonTool.NullToString(rs.getString("COURSEID"));
String kxh_t = CommonTool.NullToString(rs.getString("PLATFORM"));
String sfsk = CommonTool.NullToString(rs.getString("SFSK"));
String kcm = CommonTool.NullToString(rs.getString("COURSENAME"));
if(sfsk.equals("0")){
kcm += "[未中签,请换讲台]";
sfsk = "否";
}
else{
sfsk = "是";
}
onerow.put("课程号",kch_t);
onerow.put("序号",kxh_t);
onerow.put("课程名",kcm );
onerow.put("主讲教师",CommonTool.NullToString(rs.getString("TEACHER")));
onerow.put("类别",CommonTool.NullToString(rs.getString("KCLB")));
onerow.put("学时",CommonTool.NullToString(rs.getString("XS")));
onerow.put("学分",CommonTool.NullToString(rs.getString("XF")));
onerow.put("课容量",CommonTool.NullToString(rs.getString("CAPACITY")));
onerow.put("选中人数",CommonTool.NullToString(rs.getString("CHOOSENUM")));
onerow.put("上课",CommonTool.NullToString(rs.getString("SFSK")));
onerow.put("是否可选",CommonTool.NullToString(rs.getString("SFKX")));
onerow.put("是否中签",sfsk);
String rowcol = this.getTimeString(kch_t, kxh_t,"","");
onerow.put("节次星期",rowcol);
out.add(onerow);
}
if(rs!=null)rs.close();
if(stm!=null)stm.close();
}catch(Exception sqle){System.out.println("调用getChoosedCourse()函数错误:"+sqle);}
return out;
}
//上课的时间字符串(11,12,34)
public List getTime(String kch, String kxh,String query3,String query4) {
List out = new ArrayList();
try {
String sqlCommand = "SELECT * FROM coursetime WHERE courseid='"
+ kch + "' and platform='" + kxh + "'";
if(!query3.equals(""))sqlCommand += " and SKXQ="+query3;
if(!query4.equals(""))sqlCommand += " and SKJC="+query4;
sqlCommand += " ORDER BY skxq,skjc ";
Statement stm = conn.createStatement();
ResultSet rs = stm.executeQuery(sqlCommand);
while (rs.next()) {
Hashtable onerow = new Hashtable();
onerow.put("星期",CommonTool.NullToString(rs.getString("SKXQ")));
onerow.put("节次",CommonTool.NullToString(rs.getString("SKJC")));
onerow.put("上课教室",CommonTool.NullToString(rs.getString("CLASS")));
onerow.put("上课周次",CommonTool.NullToString(rs.getString("SKZCZFC")));
out.add(onerow);
}
if (rs != null)
rs.close();
if (st