📄 hbnewchannel.java
字号:
/* www.365do.com 个人定制模块 2000.7.16
*
*/
import java.io.*;
import java.text.*;
import java.util.*;
import java.sql.*;
/*
* 从Channel派生的航班类
*
* @author Liyan
*/
public class HbNewChannel extends Channel
{
//HbChannel中的全局变量:
String[] sHbhArray,sJxdmArray,sQfsjArray,sLdsjArray,sZxrqArray;
//在构造函数中命名本频道
HbNewChannel()
{
channelName = "";
}
//实现频道栏的界面:
public boolean editChannel(Person p,HtmlOut desHtml)
{
return true;
}
//在主界面的显示:
public void makeChannel(Person p,TemplateList tempList,HtmlOut desHtml)
{
//定义单个模板
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) {
System.out.println("未找到航班按航线查询主模板!");
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("查询方式")==0){
desHtml.addString("航班计划:按航线");
}
if(sKey.compareTo("航线")==0){
desHtml.addString("从<b>"+sFrom+"</b>到<b>"+sTo+"</b>");
}
if(sKey.compareTo("数量")==0){
desHtml.addString(""+nHb);
}
if(sKey.compareTo("内容")==0){
//进入第二层模板:
showJh_Line(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) {
System.out.println("未找到航班按航线查询主模板!");
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);
Hb hb = new Hb();
String[] sHbhArray=hb.getHbJhCompany(sCompany);
if(sKey.compareTo("查询方式")==0){
desHtml.addString("航班计划:按航空公司");
}
if(sKey.compareTo("数量")==0){
desHtml.addString(""+sHbhArray.length);
}
int nBegin=CommonMethods.GetInt(sPage,10);
if(sKey.compareTo("分页")==0){
String sHtml="<form method=\"POST\" action=\"HbNewServlet?flag=jhcompany&ezdm="+sCompany+"\">";
sHtml+="第<select name=\"page\" onchange=\"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);
//System.out.println(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]);
if(sDateArray!=null)
for(int j2=0;j2<sDateArray.length;j2++)
showJh_Hbh(p,tempList,desHtml,sHbhArray[j],hb2,sDateArray[j2]);
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) {
System.out.println("未找到航班按航线查询主模板!");
desHtml.setErrorID (desHtml.SINGLE_TEMPLATE_NOTFIND ,
"","模板错误","Login");
return;
}
String sKey="";
Hb hb = new Hb();
String[] sDateArray = hb.JhZxrqQuery(sHbh);
int nKey=st.getKeyNum();
for(int i=0;i<nKey;i++){
desHtml.addString(st.getStringAt(i));
sKey=st.getKeyAt(i);
if(sKey.compareTo("查询方式")==0){
desHtml.addString("航班计划:按航班号");
}
if(sKey.compareTo("数量")==0){
if(sDateArray==null){
desHtml.addString("0");
}else
desHtml.addString(""+sDateArray.length);
}
if(sKey.compareTo("jhlinequery1")==0){
desHtml.addString("<!--");
}
if(sKey.compareTo("jhlinequery2")==0){
desHtml.addString("-->");
}
if(sKey.compareTo("内容")==0){
//进入第二层模板:
if(sDateArray==null){
//desHtml.addString("航班号"+sHbh+"未找到!");
}else
for(int j2=0;j2<sDateArray.length;j2++)
showJh_Hbh(p,tempList,desHtml,sHbh,hb,sDateArray[j2]);
}
}
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) {
System.out.println("未找到航班动态按航航班号查询主模板!");
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);
Hbdt hbdt = new Hbdt();
if(sKey.compareTo("数量")==0){
if(hbdt.DtHbhQuery(sHbh)==false)
desHtml.addString("0");
else
desHtml.addString("1");
}
if(sKey.compareTo("查询方式")==0){
desHtml.addString("航班动态:按航班号");
}
if(sKey.compareTo("内容")==0){
//进入第二层模板:
if(hbdt.DtHbhQuery(sHbh)==false){
desHtml.addString("<tr><td align=center>查询相关航班计划:<br>");
desHtml.addString("<a href=HbNewServlet?flag=jhhbh&hbh="+sHbh+">"+sHbh+"</a></td></tr>");
}else
showDt_Hbh(p,tempList,desHtml,hbdt);
}
}
desHtml.addString(st.getEndString());
}
//航班动态按航线查询:
public void makeHbdt_Line(Person p,TemplateList tempList,HtmlOut desHtml,String sFrom,String sTo)
{
SingleTemplate st;
st = tempList.searchTemplate("ROOT");
if(st==null) {
System.out.println("未找到航班动态按航航班号查询主模板!");
desHtml.setErrorID (desHtml.SINGLE_TEMPLATE_NOTFIND ,
"","模板错误","Login");
return;
}
if(sFrom.trim().length()==0&&sTo.trim().length()==0)
{
return;
}
String sKey="";
int nKey=st.getKeyNum();
for(int i=0;i<nKey;i++){
desHtml.addString(st.getStringAt(i));
sKey=st.getKeyAt(i);
Hbdt hbdt = new Hbdt();
String[][] sArray=hbdt.DtLineQuery(sFrom,sTo);
if(sKey.compareTo("数量")==0)
if(sArray!=null)
desHtml.addString(""+sArray.length);
else
desHtml.addString("0");
if(sKey.compareTo("航线")==0){
desHtml.addString("从<b>"+sFrom+"</b>到<b>"+sTo+"</b>");
}
if(sKey.compareTo("内容")==0){
//进入第二层模板:
if(sArray==null){
desHtml.addString("<tr><td align=center>您要找的未找到!<br>");
desHtml.addString("<a href=HbNewServlet?flag=jhline&from="+sFrom+"&to="+sTo+">查询相关航班计划</a>");
desHtml.addString("</td></tr>");
}else
for(int i2=0;i2<sArray.length;i2++) {
//sArray中依次为: hbh、hbzt、qfjc、jhqf、sjqf、jhld、sjld、ldjc、jxdm、zxrq、gngj
sArray[i2][1]=hbdt.hbztToZwzt(sArray[i2][1]);
//sArray[2]=sFrom;
sArray[i2][3]=hbdt.nemberToTime(sArray[i2][3]);
sArray[i2][4]=hbdt.nemberToTime(sArray[i2][4]);
sArray[i2][5]=hbdt.nemberToTime(sArray[i2][5]);
sArray[i2][6]=hbdt.nemberToTime(sArray[i2][6]);
//sArray[7]=sTo;
//国内国际:
if(sArray[i2][10].compareTo("T")==0)
sArray[i2][10]="国际航班";
else
sArray[i2][10]="国内航班";
showDt_Line(p,tempList,desHtml,sArray[i2]);
}
}
}
desHtml.addString(st.getEndString());
}
//航班计划按航空公司查询界面:
public void makeHbdt_Company(Person p,TemplateList tempList,HtmlOut desHtml,String sCompany,String sPage)
{
SingleTemplate st;
//页面长度:
int nPageLength=5;
st = tempList.searchTemplate("ROOT");
if(st==null) {
System.out.println("未找到航班主模板!");
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);
Hbdt hbdt = new Hbdt();
if(sKey.compareTo("数量")==0)
desHtml.addString(""+hbdt.getNember(sCompany));
if(sKey.compareTo("dtezdm")==0){
desHtml.addString(sCompany);
}
if(sKey.compareTo("查询方式")==0){
desHtml.addString("航班动态:按航空公司");
}
String[] sArray = hbdt.getHbdtCompany(sCompany,nPageLength,CommonMethods.GetInt(sPage,10));
if(sKey.compareTo("分页")==0){
int nPage=CommonMethods.GetInt(sPage,10),nPageUp,nPageDown;
if(nPage>1)
nPageUp = nPage-1;
else
nPageUp = 1;
nPageDown = nPage+1;
String sHtml1="<a href=\"javascript:gopage('"+nPageUp+"')\">上一页</a>";
String sHtml2="<a href=\"javascript:gopage('"+nPageDown+"')\">下一页</a>";
String sHtml="";
if(nPage==1)
sHtml=" ";
else
sHtml=sHtml1;
if(sArray!=null)
sHtml+=sHtml2;
sHtml+=" 第 "+nPage+" 页";
desHtml.addString(sHtml);
}
if(sKey.compareTo("内容")==0){
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -