⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hbchannel.java

📁 JAVA邮件系统
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
/* www.365do.com 个人定制模块 2000.7.16
 *
 */

import java.io.*;
import java.text.*;
import java.util.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;

/*
 * 从Channel派生的航班类
 *
 * @author Liyan
 */

public class HbChannel extends Channel
{
//HbChannel中的全局变量:
	String[] sHbhArray,sJxdmArray,sQfsjArray,sLdsjArray,sZxrqArray;

	
//在构造函数中命名本频道
	HbChannel()
	{
		channelName = "航班查询";
	}
	
	
//实现频道栏的界面:
	
	public boolean editChannel(Person p,HtmlOut desHtml)
	{
		TemplateList tempList = CommonMethods.getHbtx_MainTemplate();
		SingleTemplate st= tempList.searchTemplate("ROOT");
		if(st==null){
			return false;
		}
		
		int nKey = st.getKeyNum();
		String sKey;
		for(int i=0;i<nKey;i++)
		{
			desHtml.addString(st.getStringAt(i));
			sKey=st.getKeyAt(i);
			if(sKey.compareTo("cgi-path")==0){
				desHtml.addString(CommonMethods.sHostNameCGI);
			}
			if(sKey.compareTo("内容")==0)
				makeHbtx_Show(p,desHtml);
		}
		desHtml.addString(st.getEndString());
		return true;
	}
	
	//航班提醒的显示界面
	public void makeHbtx_Show(Person p,HtmlOut desHtml)
	{
		SingleTemplate st;
		TemplateList tempList = CommonMethods.getHbtx_ShowTemplate();
		st = tempList.searchTemplate("ROOT");
		if(st==null){
			return;
		}
		Hbtx hbtx = new Hbtx();
		hbtx.setTxQuery(p);
		int nKey = st.getKeyNum();
		String sKey;
		while(hbtx.getTxQuery()){
			for(int i=0;i<nKey;i++)
			{
				desHtml.addString(st.getStringAt(i));
				sKey = st.getKeyAt(i);
				if(sKey.compareTo("cgi-path")==0){
					desHtml.addString(CommonMethods.sHostNameCGI);
				}
				if(sKey.compareTo("航班号")==0){
					String sTmp="";
					sTmp+="<a href=\"HbServlet?flag=jhhbh&hbh="+hbtx.getHbh()+"\">";
					sTmp+=hbtx.getHbh();
					sTmp+="</a>";
					desHtml.addString(sTmp);
				}
				
				if(sKey.compareTo("删除")==0){
					desHtml.addString(hbtx.getHbh());
				}
				
				if(sKey.compareTo("地名")==0){
					desHtml.addString(hbtx.getDmdm());
				}
				
				if(sKey.compareTo("进出港")==0){
					desHtml.addString(hbtx.getInout());
				}
				
				if(sKey.compareTo("航班日期")==0){
					desHtml.addString(hbtx.getZxrq());
				}
				
				if(sKey.compareTo("提前时间")==0){
					desHtml.addString(hbtx.getTqtx());
				}
				
				if(sKey.compareTo("通知方式")==0){
					desHtml.addString(hbtx.getType());
				}

			}
			desHtml.addString(st.getEndString());
		}
		hbtx.closeTxQuery();
	}
	
	//在主界面的显示:
	public void makeChannel(Person p,TemplateList tempList,HtmlOut desHtml)
	{
		//定义单个模板
		SingleTemplate st,st2;

		//在全局变量tempList中找到"频道"模板
		st = tempList.searchTemplate("频道右");
		if(st==null){
			desHtml.setErrorID (desHtml.SINGLE_TEMPLATE_NOTFIND ,
								"","模板错误"
								,"Login");
			return ;
		}
		
		int nKey = st.getKeyNum ();
		String sKey ;
		for(int j=0;j<nKey;j++){
			desHtml.addString (st.getStringAt (j));
			sKey = st.getKeyAt (j);
			if( sKey .compareTo("cgi-path")==0 )
				desHtml.addString (CommonMethods.sHostNameCGI);

			if( sKey.compareTo("标题")==0 )
				desHtml.addString (	channelName );

			if( sKey.compareTo("链接")==0 )
				desHtml.addString (	"/Hb.html" );
			
			if( sKey.compareTo("EditCGI")==0 )
				desHtml.addString (	"EditChannel?channel=Hb" );
			
			if( sKey.compareTo("CloseCGI")==0 )
				desHtml.addString("CloseChannel?channel=Hb" );
			
			if( sKey.compareTo("内容")==0 ) 
			{
				st2 = tempList.searchTemplate("航班");
				if(st2==null){
					return ;
				}
				int nKey2 = st2.getKeyNum();
				String sKey2;
				for(int k=0;k<nKey2;k++)
				{
					desHtml.addString(st2.getStringAt(k));
					sKey2=st2.getKeyAt(k);
					if(sKey2.compareTo("cgi-path")==0){
						desHtml.addString(CommonMethods.sHostNameCGI);
					}
					if(sKey2.compareTo("内容")==0)
						makeHbtx_Show(p,desHtml);
				}
				desHtml.addString(st2.getEndString());
			}
		}
		desHtml.addString (st.getEndString());
		return;
	}
	
	public void makeChannelContents(Person p,TemplateList tempList,HtmlOut desHtml)
	{
		
		return ;
	}
	
	
//航班查询自己的主界面
	
	//航班计划按航线查询界面:
	public void makeHbjh_Line(Person p,TemplateList tempList,HtmlOut desHtml,String sFrom,String sTo,String sDate)
	{
		SingleTemplate st;
		st = tempList.searchTemplate("ROOT");
		if(st==null) {
			desHtml.setErrorID (desHtml.SINGLE_TEMPLATE_NOTFIND ,
								"","模板错误","Login");
			return ;
		}

		//航班数量:
		int nHb=0;
		Hb hb = new Hb();
		if(hb.jhLineQuery(sFrom,sTo,sDate)){
			sHbhArray=hb.getHbhArray();
			sJxdmArray=hb.getJxdmArray();
			sQfsjArray=hb.getQfsjArray();
			sLdsjArray=hb.getLdsjArray();
			sZxrqArray=hb.getZxrqArray();
			if(sHbhArray!=null)
				nHb=sZxrqArray.length;
		}
		
		String sKey="";
		int nKey=st.getKeyNum();
		for(int i=0;i<nKey;i++){
			desHtml.addString(st.getStringAt(i));
			sKey=st.getKeyAt(i);
			if(sKey.compareTo("cgi-path")==0){
				desHtml.addString(CommonMethods.sHostNameCGI);
			}
			
			if(sKey.compareTo("查询方式")==0){
				desHtml.addString("按航线");
			}
			
			if(sKey.compareTo("起飞机场")==0)
				desHtml.addString(sFrom);

			if(sKey.compareTo("落地机场")==0)
				desHtml.addString(sTo);
			
			if(sKey.compareTo("航班数")==0){
				desHtml.addString(""+nHb);
			}
			
			if(sKey.compareTo("内容")==0){
				//进入第二层模板:
				makeHbjh_Show1(p,tempList,desHtml,hb,sFrom,sTo,nHb);
			}
		}
		desHtml.addString(st.getEndString());
	}

	//航班计划按航空公司查询界面:
	public void makeHbjh_Company(Person p,TemplateList tempList,HtmlOut desHtml,String sCompany,String sPage)
	{
		SingleTemplate st;
		//页面长度:
		int nPageLength=5;
		st = tempList.searchTemplate("ROOT");
		if(st==null) {
			desHtml.setErrorID (desHtml.SINGLE_TEMPLATE_NOTFIND ,
								"","模板错误","Login");
			return;
		}
		
		String sKey="";
		int nKey=st.getKeyNum();
		for(int i=0;i<nKey;i++){
			desHtml.addString(st.getStringAt(i));
			sKey=st.getKeyAt(i);
			if(sKey.compareTo("cgi-path")==0){
				desHtml.addString(CommonMethods.sHostNameCGI);
			}
			
			Hb hb = new Hb();
			String[] sHbhArray=hb.getHbJhCompany(sCompany);
			
			if(sKey.compareTo("查询方式")==0){
				desHtml.addString("按航空公司");
			}
			
			if(sKey.compareTo("jhlinequery1")==0){
				desHtml.addString("<!--");
			}
			
			if(sKey.compareTo("jhlinequery2")==0){
				desHtml.addString("-->");
			}
			
			if(sKey.compareTo("航班数")==0){
				desHtml.addString(""+sHbhArray.length);
			}
			
			int nBegin=CommonMethods.GetInt(sPage,10);
			if(sKey.compareTo("page")==0){

				String sHtml="<form method=\"POST\" name=\"ok\" action=\"HbServlet?flag=jhcompany&ezdm="+sCompany+"\">";
				sHtml+="第<select name=\"page\" onchange=\"document.ok.submit()\">";
				for(int j=1;j<sHbhArray.length/nPageLength+2;j++){
					if(j==nBegin)
						sHtml+="<option selected>"+j+"</option>";
					else
						sHtml+="<option>"+j+"</option>";
				}
				sHtml+="</select>页</form>";
				desHtml.addString(sHtml);
			}
			
			if(sKey.compareTo("内容")==0){
				//进入第二层模板:
				if (sHbhArray!=null){
					for(int j=(nBegin-1)*nPageLength;j<sHbhArray.length;j++){
						Hb hb2 = new Hb();
						String[] sDateArray = hb2.JhZxrqQuery(sHbhArray[j]);
						makeHbjh_Show1(p,tempList,desHtml,sHbhArray[j],hb2,sDateArray);
						hb2=null;
						if(j>(nBegin-1)*nPageLength+nPageLength-2)
						   break;
					}
				}
			}
		}
		desHtml.addString(st.getEndString());
	}
	
	
	//航班计划按航班号查询界面:
	public void makeHbjh_Hbh(Person p,TemplateList tempList,HtmlOut desHtml,String sHbh)
	{
		SingleTemplate st;
		st = tempList.searchTemplate("ROOT");
		if(st==null) {
			desHtml.setErrorID (desHtml.SINGLE_TEMPLATE_NOTFIND ,
								"","模板错误","Login");
			return;
		}
		
		String sKey="";
		int nKey=st.getKeyNum();
		for(int i=0;i<nKey;i++){
			desHtml.addString(st.getStringAt(i));
			sKey=st.getKeyAt(i);
			if(sKey.compareTo("cgi-path")==0){
				desHtml.addString(CommonMethods.sHostNameCGI);
			}
			
			if(sKey.compareTo("查询方式")==0){
				desHtml.addString("按航班号");
			}
			
			if(sKey.compareTo("jhlinequery1")==0){
				desHtml.addString("<!--");
			}
			
			if(sKey.compareTo("jhlinequery2")==0){
				desHtml.addString("-->");
			}
			
			if(sKey.compareTo("内容")==0){
				//进入第二层模板:
				Hb hb = new Hb();
				String[] sDateArray = hb.JhZxrqQuery(sHbh);
				if(sDateArray==null){
					//desHtml.addString("航班号"+sHbh+"未找到!");
				}else
					makeHbjh_Show1(p,tempList,desHtml,sHbh,hb,sDateArray);
			}
		}
		desHtml.addString(st.getEndString());
	}
	
	//航班动态航班号查询界面:
	public void makeHbdt_Hbh(Person p,TemplateList tempList,HtmlOut desHtml,String sHbh)
	{
		SingleTemplate st;
		st = tempList.searchTemplate("ROOT");
		if(st==null) {
			desHtml.setErrorID (desHtml.SINGLE_TEMPLATE_NOTFIND ,
								"","模板错误","Login");
			return;
		}
		String sKey="";
		int nKey=st.getKeyNum();
		for(int i=0;i<nKey;i++){
			desHtml.addString(st.getStringAt(i));
			sKey=st.getKeyAt(i);
			
			if(sKey.compareTo("cgi-path")==0){
				desHtml.addString(CommonMethods.sHostNameCGI);
			}
			
			if(sKey.compareTo("查询方式")==0){
				desHtml.addString("按航班号");
			}
			
			if(sKey.compareTo("内容")==0){
				//进入第二层模板:
				Hbdt hbdt = new Hbdt();
				if(hbdt.DtHbhQuery(sHbh)==false){
					desHtml.addString("<tr><td align=center colspan=12>您要找的未找到!<br>");
					desHtml.addString("查询相关航班计划:<a href=HbServlet?flag=jhhbh&hbh="+sHbh+">"+sHbh+"</a></td></tr>");
					desHtml.addString("</td></tr>");
				}else
					makeHbdt_Show1(p,tempList,desHtml,hbdt);
			}
		}
		desHtml.addString(st.getEndString());
	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -