📄 whchannel.java
字号:
import java.io.*;
import java.text.*;
import java.util.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class WhChannel extends Channel
{
WhChannel()
{
channelName = "外汇";
}
public void makeChannel(Person p,TemplateList tempList,HtmlOut desHtml)
{
SingleTemplate st;
st = tempList.searchTemplate("频道右");
if(st==null)
return ;
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 )
desHtml.addString ( channelName );
if( sKey.compareTo("EditCGI")==0 )
desHtml.addString ("EditChannel?channel=wh");
if( sKey.compareTo("CloseCGI")==0 )
desHtml.addString ("CloseChannel?channel=wh");
if( sKey.compareTo("内容")==0 )
makeChannelContents( p,tempList, desHtml);
}
desHtml.addString(st.getEndString());
}
public boolean editChannel(Person p,HtmlOut desHtml)
{
TemplateList tempList = CommonMethods.getEditWhTemplate();
SingleTemplate st;
st = tempList.searchTemplate("ROOT");
if(st==null){
desHtml.setErrorID (desHtml.SINGLE_TEMPLATE_NOTFIND ,
"","模板错误"
,"Login");
desHtml.outHtml ();
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 )
makeChannelContents(p,tempList,desHtml);
if(sKey.compareTo ("外汇清单")==0)
makeWhlist(p,tempList,desHtml);
}
desHtml.addString(st.getEndString());
return true;
}
//按外汇名对外汇复选筐分类显示
public void makeWhlist(Person p,TemplateList tempList,HtmlOut desHtml)
{
ResultSet rs;
String queryString;
String code,name;
int i=0,j=1,count,k=0,kindwhcount=0,m=1;
boolean flag=false,flagstart=false,flagenter=false;
DBOperater DB = new DBOperater ("wh");
//get whcode kindcount
queryString="select count(*) from wh_dic";
rs=DB.executeQuery (queryString);
int whcount=0;
if(rs!=null)
{
try{
if(rs.next ())
whcount=rs.getInt (1);
}catch(Exception e){
}
}
//get whcode kind
queryString="select whdic_code,whdic_cname from wh_dic";
rs=DB.executeQuery (queryString);
String whkind[][];
whkind=new String [50][2];
if(rs!=null)
{
try{
while(rs.next ())
{
whkind[i][0]=rs.getString (1).trim ();
whkind[i][1]=rs.getString (2).trim ();
i=i+1;
}
}catch(Exception e){
}
}
//get user whcode 初值
i=0;
String userwh[];
userwh=new String[100];
for(i=0;i<100;i++)
{
userwh[i]="CZ";
}
i=0;
//按外汇种类进行分类
for(k=0;k<whcount;k++)
{
queryString="select whwarn_hlcode from wh_warning where whwarn_userid='"+CommonMethods.DealWithSQLParameter(p.username) +"' and whwarn_hlcode like '%"+CommonMethods.DealWithSQLParameter(whkind[k][0])+"'";
rs=DB.executeQuery (queryString);
if(rs!=null)
{
try{
while(rs.next ())
{
userwh[i]=rs.getString(1).trim ();
i=i+1;
}
}catch(Exception e){
}
}
count=i;
//获取外汇的分类数
queryString="select count(*) from wh_hldic where whhl_code like '%"+CommonMethods.DealWithSQLParameter(whkind[k][0])+"'";
rs=DB.executeQuery (queryString);
if(rs!=null)
{
try{
rs.next ();
kindwhcount=rs.getInt (1);
}catch(Exception e){
}
}
//所有外汇
queryString="select whhl_code,whhl_cname from wh_hldic where whhl_code like '%"+CommonMethods.DealWithSQLParameter(whkind[k][0])+"'";
rs=DB.executeQuery (queryString);
if(rs!=null)
{
try{
SingleTemplate sta;
sta = tempList.searchTemplate("外汇选择");
if(sta==null)
{
desHtml.setErrorID (desHtml.SINGLE_TEMPLATE_NOTFIND,"",
"","Login");
desHtml.outHtml ();
DB.close ();
return;
}
while(rs.next ())
{
code=rs.getString(1).trim ();
name=rs.getString(2).trim ();
for(i=0;i<count;i++)
{
if(userwh[i].compareTo (code)==0)
flag=true;
}
for(i=0;i<sta.getKeyNum();i++)
{
desHtml.addString (sta.getStringAt(i));
if(sta.getKeyAt (i).compareTo("cgi-path")==0){
desHtml.addString(CommonMethods.sHostNameCGI);
}
if(sta.getKeyAt (i).compareTo ("类别")==0)
if(flagstart==false)
{
desHtml.addString (whkind[k][1]);
flagstart=true;
}
else
desHtml.addString ("");
if(sta.getKeyAt (i).compareTo ("类别换行")==0)
if(m==kindwhcount)
{
desHtml.addString ("<br>");
j=0;
flagenter=true;
}
else
desHtml.addString ("");
if(sta.getKeyAt (i).compareTo ("号码")==0)
desHtml.addString (code);
if(sta.getKeyAt (i).compareTo ("名字")==0)
desHtml.addString (name);
if(sta.getKeyAt (i).compareTo ("选中")==0)
{
if(flag==true)
{
desHtml.addString ("checked");
flag=false;
}
else
desHtml.addString ("");
}
if(sta.getKeyAt (i).compareTo ("换行")==0)
{
if(j%8==0&&flagenter==false)
{
desHtml.addString ("<br>");
}
else
desHtml.addString ("");
}
}
flagenter=false;
j=j+1;
m=m+1;
desHtml.addString (sta.getEndString());
}
}catch(Exception e){
}
}
m=1;
flagstart=false;
}
DB.close ();
}
// 生成这个用户的外汇列表
public void makeChannelContents(Person p,TemplateList tempList,HtmlOut desHtml)
{
ResultSet rs;
String queryString;
String code,name,mrj,mcj,zgj,zdj,spj,zd;
DBOperater DB = new DBOperater ("wh");
queryString = "select whwarn_hlcode,whhl_cname,whwarn_type,whsshq_dqmrj,whsshq_dqmcj,whsshq_zgj,whsshq_zdj,whsshq_qrspj,whsshq_zd";
queryString = queryString + " from wh_warning,wh_hldic,wh_sshq where whwarn_userid='" +
CommonMethods.DealWithSQLParameter(p.getName()) + "' and whwarn_hlcode = whhl_code and whwarn_hlcode = whsshq_code";
rs = DB.executeQuery (queryString);
String editwarn,showrhq,showyhq,showzhq,biaomin;
String warntype;
if(rs!=null)
{
try{
SingleTemplate st0,st1;
st0 = tempList.searchTemplate("外汇列表");
st1 = tempList.searchTemplate("单支外汇");
int i1,i2;
for(i1=0;i1<st0.getKeyNum();i1++)
{
desHtml.addString(st0.getStringAt(i1));
if(st0.getKeyAt(i1).compareTo("cgi-path")==0){
desHtml.addString(CommonMethods.sHostNameCGI);
}
if(st0.getKeyAt(i1).compareTo("全部外汇")==0)
{
while(rs.next())
{
code = rs.getString(1).trim ();
name = rs.getString(2).trim ();
warntype = rs.getString(3).trim ();
mrj = rs.getString(4).trim ();
mcj = rs.getString(5).trim ();
zdj = rs.getString(6).trim ();
zgj = rs.getString(7).trim ();
spj = rs.getString(8).trim ();
zd = rs.getString (9).trim ();
mrj = CommonMethods.FormatDoubleString(mrj,4);
mcj = CommonMethods.FormatDoubleString(mcj,4);
zgj = CommonMethods.FormatDoubleString(zgj,4);
zdj = CommonMethods.FormatDoubleString(zdj,4);
spj = CommonMethods.FormatDoubleString(spj,4);
zd = CommonMethods.FormatDoubleString(zd,4);
editwarn = "<a href=\"" + CommonMethods.GetCGIDir() + "ServeWh?action=editWarn&whcode=" + code + "\">";
showrhq="<a href=\"" + CommonMethods.GetCGIDir() + "ServeWh?action=showhq&whcode=" + code + "&biaomin=wh_rhq\">";
showyhq="<a href=\"" + CommonMethods.GetCGIDir() + "ServeWh?action=showhq&whcode=" + code + "&biaomin=wh_yhq\">";
showzhq="<a href=\"" + CommonMethods.GetCGIDir() + "ServeWh?action=showhq&whcode=" + code + "&biaomin=wh_zhq\">";
for(i2=0;i2<st1.getKeyNum();i2++)
{
desHtml.addString(st1.getStringAt(i2));
if(st1.getKeyAt(i2).compareTo("cgi-path")==0){
desHtml.addString(CommonMethods.sHostNameCGI);
}
if(st1.getKeyAt(i2).compareTo("外汇名称")==0)
desHtml.addString(name);
if(st1.getKeyAt(i2).compareTo("买入价")==0)
desHtml.addString(mrj);
if(st1.getKeyAt(i2).compareTo("卖出价")==0)
desHtml.addString(mcj);
if(st1.getKeyAt(i2).compareTo("最高价")==0)
desHtml.addString(zgj);
if(st1.getKeyAt(i2).compareTo("最低价")==0)
desHtml.addString(zdj);
if(st1.getKeyAt(i2).compareTo("收盘价")==0)
desHtml.addString(spj);
if(st1.getKeyAt(i2).compareTo("涨跌")==0)
desHtml.addString(zd);
if(st1.getKeyAt(i2).compareTo("日行情")==0)
desHtml.addString(showrhq+"查看</a>");
if(st1.getKeyAt(i2).compareTo("月行情")==0)
desHtml.addString(showyhq+"查看</a>");
if(st1.getKeyAt(i2).compareTo("周行情")==0)
desHtml.addString(showzhq+"查看</a>");
if(st1.getKeyAt(i2).compareTo("价格提醒")==0)
{
editwarn = editwarn + "警报编辑</a>";
desHtml.addString(editwarn);
}
if(st1.getKeyAt(i2).compareTo("外汇代码")==0)
{
desHtml.addString(code);
}
}
desHtml.addString(st1.getEndString());
}
}
}
desHtml.addString(st0.getEndString());
}catch(Exception e){
}
}
DB.close ();
}
// 增加外汇
boolean addWh(String selectvalue,Person p,HtmlOut desHtml)
{
ResultSet rs;
String queryString,selectwhcode[];
int posi,i=0,start=0,selectcount,j=0;
boolean exist;
exist=false;
//获取用户选择的信息
selectwhcode=new String[100];
while(true)
{
posi = selectvalue.indexOf(",",start);
if(posi==-1)
break;
selectwhcode[i]=selectvalue.substring (start,posi);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -