📄 newaccesslogimpl.java
字号:
if (whereSql.length() > 0) {
selectSql.append(whereSql);
}
//selectSql.append(" and t3.nodeid in (select a.nodeid ");
//selectSql.append(" from td_report_node a ");
//selectSql.append(" where a.indexcode like ");
//selectSql.append(" t2.indexcode || '%' and a.state='E' and a.type=?) ) 访问量" );
/*
selectSql.append(" and exists(select 'X' ");
selectSql.append(" from td_report_node a");
selectSql.append(" where a.Nodeid=t3.Nodeid and a.indexcode like ");
selectSql.append(" t2.indexcode || '%' and a.state='E' and a.type=?) ) 访问量" );
*/
selectSql.append(" and a.Nodeid=t3.Nodeid and a.indexcode like ");
selectSql.append(" t2.indexcode || '%' and a.state='E' and a.type=? ) 访问量" );
oParam.add(sOptype);
}
// 判断从第几级算起
public int levelNum(Map _map) {
Object ap[] = new Object[1];
String sSearName = (String) _map.get("SEARNAME");
String sNodeId = (String) _map.get("NODEID");
StringBuffer _sb1 = new StringBuffer();
int len=0;
String sNodeId1=this.getNodeId("1");
String sNodeId2=this.getNodeId("2");
if (((sSearName==null)||(sSearName.length()==0))&&(sNodeId!=null)&&(sNodeId.length()!=0)&&(!sNodeId.equals(sNodeId1))&&(!sNodeId.equals(sNodeId2))) {
_sb1.append(" select t2.indexcode");
_sb1.append(" from td_report_node t2 ");
_sb1.append(" where nodeid=? ");
ap[0]=sNodeId;
DacClient db = new DacClient();
try {
DataTable dt1 = db.executeQuery(_sb1.toString(), ap);
if((dt1!=null)&&(dt1.getRows().getCount()!=0))
{
if (dt1.getRow(0).getString("INDEXCODE").length()!=0)
{
len=(dt1.getRow(0).getString("INDEXCODE").length()/3)-1;
}
}//判断从第几级算起,如2,则2为第一级
} catch (Exception e) {
FileLogger.getLogger().info(e.getMessage(),e);
}}
return len;
}
public String genHtml(Map _map) {
DataTable dt = getRptList(_map);
StringBuffer _sb = new StringBuffer();
String sCityCode = (String) _map.get("CITYCODE");
String sAreaCode = (String) _map.get("AREA");
String slevel = (String) _map.get("OPLEVEL");
String sSearName = (String) _map.get("SEARNAME");
String sOptype = (String) _map.get("OPTYPE");
String sNodeId = (String) _map.get("NODEID");
String sOpLevel = (String) _map.get("OPLEVEL");
int len=0;
Map map = new HashMap();
int iOpLevel=buildGetLevel(_map);
len=this.levelNum(_map);
String noDisp="";
if ( dt != null && dt.getRows().getCount() > 0 ) {
_sb.append("<table>");
try {
com.doone.data.DataColumnCollection dcs = dt.getColumns();
int colcount = dcs.getCount();
_sb.append("<tr>");
for (int icol = 0;icol<colcount;icol++){
com.doone.data.DataColumn dc = dcs.getDataColumn(icol);
if (dc.getColumnName().equals("NODEID")||dc.getColumnName().equals("ROWNUM_")||dc.getColumnName().equals("NEXTLEVEL")||dc.getColumnName().equals("城市编号")||dc.getColumnName().equals("AREACODE")) {
noDisp="style=\"display:none;\"";
}
if ((dc.getColumnName().equals("INDEXCODE"))||(dc.getColumnName().equals("LEVEL1")) ||(dc.getColumnName().equals("UPNODEID"))) {
noDisp="style=\"display:none;\"";
}
if (ExtString.isEmpty(sSearName)) {
if (dc.getColumnName().equals("名称")) {
for (int j = 1;j<iOpLevel+1;j++){
_sb.append("<td class=\"body_td\" align=\"left\" nowrap ><b>第"+j+"级");
_sb.append("</b></TD>");
}
}else{
_sb.append("<td class=\"body_td\" align=\"left\" nowrap "+noDisp+"><b>");
_sb.append(dc.getColumnName());
_sb.append("</b></TD>");
}
}else {
_sb.append("<td class=\"body_td\" align=\"left\" nowrap "+noDisp+"><b>");
_sb.append(dc.getColumnName());
_sb.append("</b></TD>");
}
noDisp="";
}
_sb.append("</tr>");
for(int iresult=0;iresult<dt.getRows().getCount(); iresult++){
com.doone.data.DataColumnCollection dcs1 = dt.getColumns();
DataRow drresult = dt.getRow(iresult);
_sb.append("<tr height=\"20\" >");
for (int icol=0; icol<colcount;icol++){
com.doone.data.DataColumn dc1 = dcs1.getDataColumn(icol);
if (dc1.getColumnName().equals("NODEID")||dc1.getColumnName().equals("ROWNUM_")||dc1.getColumnName().equals("NEXTLEVEL")||dc1.getColumnName().equals("城市编号")||dc1.getColumnName().equals("AREACODE")) {
noDisp="style=\"display:none;\"";
}
if ((dc1.getColumnName().equals("INDEXCODE"))||(dc1.getColumnName().equals("LEVEL1"))||(dc1.getColumnName().equals("UPNODEID"))) {
noDisp="style=\"display:none;\"";
}
if (ExtString.isEmpty(sSearName)) {
if ((!sOptype.equals("3"))&&(dc1.getColumnName().equals("名称"))) {
for (int j = 1;j<iOpLevel+1;j++){
_sb.append("<td class=\"body_td\" align=\"left\" nowrap >");
if ((drresult.getString("LEVEL1").equals(Integer.toString(j+len)))) {
setLinkJavaScript(sCityCode,sAreaCode,_sb,drresult.getString("NODEID"),drresult.getString("名称"),sOptype,drresult.getString("NEXTLEVEL"));
}else {
_sb.append(" ");
}
_sb.append("</TD>");
}
}else {
_sb.append("<td class=\"body_td\" align=\"left\" nowrap "+noDisp+">");
if (((dc1.getColumnName().equals("地区"))||(dc1.getColumnName().equals("区域")))) {
if (iresult==0)_sb.append(drresult.getString(icol));
}else{
if ((dc1.getColumnName().equals("占比情况"))) {//0.0X格式的记录显示
String ab=drresult.getString(icol);
double abc =Double.parseDouble(ab);
String sPartSecond = new java.text.DecimalFormat("0.0###############").format(abc);
_sb.append(sPartSecond);
_sb.append("%");
}else {
String oneLevel=(String)map.get("oneLevel");//业务受理量,最后一页,过滤显示重复项
String twoLevel=(String)map.get("twoLevel");
String threeLevel=(String)map.get("threeLevel");
if ((dc1.getColumnName().equals("第1级")||dc1.getColumnName().equals("第2级")||dc1.getColumnName().equals("第3级"))&&((dc1.getColumnName().equals("第1级")&&((oneLevel==null)||(!oneLevel.equals(drresult.getString(icol)))))||(dc1.getColumnName().equals("第2级")&&((twoLevel==null)||(!twoLevel.equals(drresult.getString(icol)))))||(dc1.getColumnName().equals("第3级")&&((threeLevel==null)||(!threeLevel.equals(drresult.getString(icol)))))))
_sb.append(drresult.getString(icol));
else {
if (!(dc1.getColumnName().equals("第1级")||dc1.getColumnName().equals("第2级")||dc1.getColumnName().equals("第3级"))) {
_sb.append(drresult.getString(icol));
}
}
if (dc1.getColumnName().equals("第1级")) {
map.put("oneLevel", drresult.getString(icol));
}
if (dc1.getColumnName().equals("第2级")) {
map.put("twoLevel", drresult.getString(icol));
}
if (dc1.getColumnName().equals("第3级")) {
map.put("threeLevel", drresult.getString(icol));
}
}
}
_sb.append(" </TD>");
}
}else {
_sb.append("<td class=\"body_td\" align=\"left\" nowrap "+noDisp+">");
if ((dc1.getColumnName().equals("名称"))) {
setLinkJavaScript1(sCityCode,sAreaCode,_sb,drresult.getString("名称"),sOptype);
}else {
_sb.append(drresult.getString(icol));
}
_sb.append(" </TD>");
}
noDisp="";
}
_sb.append("</tr>");
}
} catch (Exception e) {
FileLogger.getLogger().info(e.getMessage(),e);
}
_sb.append("</table>");
}
else if(dt == null || dt.getRows().getCount() == 0 ) {
_sb.append("<table>");
_sb.append("<tr key=\"-1\" type=\"\">");
_sb.append("<td class=\"InnerHead\" style=\"cursor: default;\" onclick=\"\" colspan=\"6\">没有找到任何记录信息</td>");
_sb.append("</tr>");
_sb.append("</table>");
}
return _sb.toString();
}
/**
* ×?·???·???
* @param longStr ±?·?????
* @param strBreak ·???·?
* @return ×?·????à????×é
*/
public static String[] breakString(String longStr, String strBreak)
{
String strResult[] = new String[0];
if(longStr != null)
{
Vector vec = new Vector(5);
int i;
while((i = longStr.indexOf(strBreak)) >= 0)
{
vec.addElement(longStr.substring(0, i));
longStr = longStr.substring(i + strBreak.length());
}
if(longStr.length() != 0)
vec.addElement(longStr);
strResult = new String[vec.size()];
vec.copyInto(strResult);
}
return strResult;
}
public String genRow(DataTable dt,Map _map) {
StringBuffer _sb = new StringBuffer();
String sCityCode = (String) _map.get("CITYCODE");
String sAreaCode = (String) _map.get("AREA");
String slevel = (String) _map.get("OPLEVEL");
String sSearName = (String) _map.get("SEARNAME");
String sOptype = (String) _map.get("OPTYPE");
String noDisp="";
if ( dt != null && dt.getRows().getCount() > 0 ) {
try {
com.doone.data.DataColumnCollection dcs = dt.getColumns();
int colcount = dcs.getCount();
_sb.append("<tr>");
for (int icol = 0;icol<colcount-1;icol++){
com.doone.data.DataColumn dc = dcs.getDataColumn(icol);
if (!ExtString.isEmpty(sCityCode)&&(sCityCode.equals("0590"))) {//福建
if(icol == 0) {
noDisp="style=\"display:none;\"";
}}
else{ if (ExtString.isEmpty(sAreaCode)) {//福州全部,少
if(icol == 0) {
noDisp="style=\"display:none;\"";
}} else {
if((icol == 0)||(icol == 2)) {//福州区域,多
noDisp="style=\"display:none;\"";
}}}
if (dc.getColumnName().equals("SUBNODEID")||dc.getColumnName().equals("UPNODEID")||dc.getColumnName().equals("NODEID")) {
noDisp="style=\"display:none;\"";
}
_sb.append("<td class=\"body_td\" align=\"left\" nowrap "+noDisp+"><b>");
_sb.append(dc.getColumnName());
_sb.append("</b></TD>");
noDisp="";
}
_sb.append("</tr>");
for(int iresult=0;iresult<dt.getRows().getCount(); iresult++){
com.doone.data.DataColumnCollection dcs1 = dt.getColumns();
DataRow drresult = dt.getRow(iresult);
_sb.append("<tr height=\"20\" >");
for (int icol=0; icol<colcount-1;icol++){
com.doone.data.DataColumn dc1 = dcs1.getDataColumn(icol);
if (!ExtString.isEmpty(sCityCode)&&(sCityCode.equals("0590"))) {//福建,少
if(icol == 0) {
noDisp="style=\"display:none;\"";
}}
else{if (ExtString.isEmpty(sAreaCode)) {//福州全部,少
if(icol == 0) {
noDisp="style=\"display:none;\"";
}} else {
if((icol == 0)||(icol == 2)) {//福州区域,多
noDisp="style=\"display:none;\"";
}}}
if (dc1.getColumnName().equals("SUBNODEID")||dc1.getColumnName().equals("UPNODEID")||dc1.getColumnName().equals("NODEID")) {
noDisp="style=\"display:none;\"";
}
_sb.append("<td class=\"body_td\" align=\"left\" nowrap "+noDisp+">");
if(dc1.getColumnName().equals("第一级名称")) {
setLinkJavaScript(sCityCode,sAreaCode,_sb,drresult.getString("UPNODEID"), drresult.getString(icol),sOptype,drresult.getString("NEXTLEVEL"));
}
else {
if(dc1.getColumnName().equals("第二级名称")){
setLinkJavaScript(sCityCode,sAreaCode,_sb,drresult.getString("NODEID") ,drresult.getString(icol),sOptype,drresult.getString("NEXTLEVEL"));}
else {
if(dc1.getColumnName().equals("第三级名称")){
setLinkJavaScript(sCityCode,sAreaCode,_sb,drresult.getString("SUBNODEID"), drresult.getString(icol),sOptype,drresult.getString("NEXTLEVEL"));}
else {
_sb.append(drresult.getString(icol));
}
}
}
_sb.append("</TD>");
noDisp="";
}
_sb.append("</tr>");
}
} catch (Exception e) {
FileLogger.getLogger().info(e.getMessage(),e);
}
}
return _sb.toString();
}
/**判断是否是实体,有就添加双击的脚本,没有就不添加
*
*/
private void setLinkJavaScript(String cityCode,String areaCode,StringBuffer _sb,String sNodeid,String value,String type,String nextlevel) {
boolean hasNext=false;
if (nextlevel!=null&&(!nextlevel.equals("0"))) {
_sb.append("<a href='javascript:' onclick='fn_onClick(\""+cityCode+"\",\""+areaCode+"\",\""+sNodeid+"\",\""+type+"\");'>");
_sb.append(value);
_sb.append("</a> ");}
else {
hasNext=this.hasNext(sNodeid);
if (hasNext) {
_sb.append("<a href='javascript:' onclick='fn_onClick_4level(\""+cityCode+"\",\""+areaCode+"\",\""+sNodeid+"\",\"3\");'>");
_sb.append(value);
_sb.append("</a> ");
}else{
_sb.append(value);}
}
}
/**判断是否是实体,有就添加双击的脚本,没有就不添加
*
*/
private void setLinkJavaScript1(String cityCode,String areaCode,StringBuffer _sb,String value,String type) {
String strResult[] = breakString(value, "->");
for (int j=0;j<strResult.length;j++) {
_sb.append("<a href='javascript:' onclick='fn_onClick1(\""+cityCode+"\",\""+areaCode+"\",\""+strResult[j]+"\",\""+type+"\");'>"+strResult[j]+"</a>-> ");
}
_sb.substring(0, _sb.length()-3);
}
/**判断某个模块下是否有子节点
*
* @param request
* @param response
* @param _map
* @return "1" 表示失败,"0" 表示成功
*/
public String isLink(ServletRequest request, ServletResponse response, Map _map) {
String str = "1";
//String sClientType = (String) _map.get("CLIENTTYPE");
DacClient db = new DacClient();
try {
String sNodeId = (String) _map.get("pid");
if(sNodeId != null) {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -