把那个for注销掉试一试.另外,注意Console提供的出错信息.如果网页太复杂,建议分隔一下,用include来包含.

解决方案 »

  1.   

    <%@ page contentType="text/html;charset=GBK" %>
    <%@ include file = "../../../common/common.inc"%>
    <%@ include file = "../../../common/logon_check.inc"%>
    <%@ include file = "../common/common.inc"%>
    <HTML>
    <HEAD>
    <TITLE></TITLE>
    <link rel="stylesheet" href="../../../common/styles.css" type="text/css">
    <script src="../../../js/common.js"></script><script>
    Function uf_RefreshRpt()
    {
            var ls_URL = "";
            
            ls_URL = "rpt_prj_stat.jsp?"
                    + "STAT_YEAR=" + document.all.input_SelectedYear.value
                    + "&DEPT_ID=" + document.all.input_SelectedDept.value;
            document.location=ls_URL;
    }Function uf_ShowPrjList(as_Filter)
    {
            var li_Width = 1000;
            var li_Height = 700;
                            
            var x = (screen.width- li_Width ) /2;
            var y = (screen.height- li_Height) /2 ;
            var ls_Return = window.showModalDialog("prj_list.jsp?"+ as_Filter, "","dialogHeight:"+li_Height+"px;dialogWidth:"+li_Width+"px;dialogTop:"+y+"px;dialogLeft:"+x+"px;status:no;scroll:off");
    }Function uf_ShowPrjListByFields(ai_ConsignedYear, as_ForwordFlag, as_PrjNOPrefix)
    {
            var li_Width = 1000;
            var li_Height = 700;
                            
            var x = (screen.width- li_Width ) /2;
            var y = (screen.height- li_Height) /2 ;
            
            var ls_Param = "CONSIGNED_YEAR="+ai_ConsignedYear + "&FORWORD_FLAG=" + as_ForwordFlag + "&PRJ_NO_PREFIX=" + as_PrjNOPrefix;
            var ls_Return = window.showModalDialog("prj_list.jsp?"+ ls_Param, "","dialogHeight:"+li_Height+"px;dialogWidth:"+li_Width+"px;dialogTop:"+y+"px;dialogLeft:"+x+"px;status:no;scroll:off");
    }
    </script>
    </HEAD>
      

  2.   

    <%
      /***参数开始***********************************************************************************************/
      String ls_SelectedDeptID = SFCommonUtil.nullToEmptyS(request.getParameter("DEPT_ID"));
      int li_ThisYear = SFCommonUtil.parseInt(SFCommonUtil.formatDate(new java.util.Date(),"yyyy"));
      int li_StatYear = SFCommonUtil.parseInt(request.getParameter("STAT_YEAR"),li_ThisYear);
      String ls_SQL,ls_Filter;
      SFSQLQuery lsfsqlquery_Data;
      
      String ls_RptName = "公司接受咨询业务情况汇总表";
      /***参数结束***********************************************************************************************/
      
      /***提取数据***********************************************************************************************/
      String[] larrs_Row; // = new real[12]; //0:部门;1:项目合计;2:上年结转;3:新委托;4:国务院;5:发改委;6:科工委;7:小计;
                                       //8:市场业务;9:自开业务;10:项目预算;11:项目市预算
      String[] larrs_Display; //用于存放显示内容的数组,是对larrs_Row中的内容进行进一步加工的产物
      String[] larrs_Row_LastYear,larrs_Row_IncRatio;
      
      Vector lvect_Data = new Vector(); //用于存放各部门的统计数据
      
      int li_PrjSum,li_PrjNewSum,li_PrjOfLastYearSum;
      
      String ls_DeptIDs = ""; //用于记录需要显示的部门标识,目的在于做为“其它部门”的过滤条件(用not in方式)
      
      //算法:
      //1.第一步:先计算“合计”,然后放入lvect_Data
      //2.第二步:然后再计算各部门的数据,并放入lvect_Data
      //3.第三步:再计算“其它部门”的数据,并放入lvect_Data
      //4.第四步:计算去年同期
      //5.第五步:计算同比增长
      
      //1.第一步
      larrs_Row = new String[12];
      //合计
      larrs_Row[0] = "合计";
      
      //上年结转
      ls_Filter = "last_year = " + (li_StatYear -1);
      li_PrjOfLastYearSum = uf_GetPrjOfLastYearSum(ls_Filter,ldbagent_CDSS);
      larrs_Row[2] = Integer.toString(li_PrjOfLastYearSum);
      
      //新委托
      ls_Filter = "stat_year = " + li_StatYear ;
      li_PrjNewSum = uf_GetPrjNewSum(ls_Filter,ldbagent_CDSS);
      larrs_Row[3] = Integer.toString(li_PrjNewSum);
      
      //项目合计
      larrs_Row[1] = Long.toString(SFCommonUtil.parseLong(larrs_Row[2]) + SFCommonUtil.parseLong(larrs_Row[3]));
      
      //国务院
      ls_Filter = "stat_year = " + li_StatYear + " and prj_source = '国务院交办'";
      li_PrjNewSum = uf_GetPrjNewSum(ls_Filter,ldbagent_CDSS);
      ls_Filter = "last_year = " + (li_StatYear -1)+ " and prj_source = '国务院交办'";
      li_PrjOfLastYearSum = uf_GetPrjOfLastYearSum(ls_Filter,ldbagent_CDSS);
      larrs_Row[4] = Integer.toString(li_PrjNewSum + li_PrjOfLastYearSum);
      
      //发改委
      ls_Filter = "stat_year = " + li_StatYear + " and prj_source = '发改委'";
      li_PrjNewSum = uf_GetPrjNewSum(ls_Filter,ldbagent_CDSS);
      ls_Filter = "last_year = " + (li_StatYear -1)+ " and prj_source = '发改委'";
      li_PrjOfLastYearSum = uf_GetPrjOfLastYearSum(ls_Filter,ldbagent_CDSS);
      larrs_Row[5] = Integer.toString(li_PrjNewSum + li_PrjOfLastYearSum);
      
      //科工委
      ls_Filter = "stat_year = " + li_StatYear + " and prj_source = '科工委委托'";
      li_PrjNewSum = uf_GetPrjNewSum(ls_Filter,ldbagent_CDSS);
      ls_Filter = "last_year = " + (li_StatYear -1)+ " and prj_source = '科工委委托'";
      li_PrjOfLastYearSum = uf_GetPrjOfLastYearSum(ls_Filter,ldbagent_CDSS);
      larrs_Row[6] = Integer.toString(li_PrjNewSum + li_PrjOfLastYearSum);
      
      //小计
      larrs_Row[7] = Long.toString( SFCommonUtil.parseLong(larrs_Row[4])
                                    + SFCommonUtil.parseLong(larrs_Row[5])+ SFCommonUtil.parseLong(larrs_Row[6]));
      //市场业务
      ls_Filter = "stat_year = " + li_StatYear + " and prj_source = '市场任务'";
      li_PrjNewSum = uf_GetPrjNewSum(ls_Filter,ldbagent_CDSS);
      ls_Filter = "last_year = " + (li_StatYear -1)+ " and prj_source = '市场任务'";
      li_PrjOfLastYearSum = uf_GetPrjOfLastYearSum(ls_Filter,ldbagent_CDSS);
      larrs_Row[8] = Integer.toString(li_PrjNewSum + li_PrjOfLastYearSum);
      
      //自开业务
      ls_Filter = "stat_year = " + li_StatYear + " and prj_source = '自开任务'";
      li_PrjNewSum = uf_GetPrjNewSum(ls_Filter,ldbagent_CDSS);
      ls_Filter = "last_year = " + (li_StatYear -1)+ " and prj_source = '自开任务'";
      li_PrjOfLastYearSum = uf_GetPrjOfLastYearSum(ls_Filter,ldbagent_CDSS);
      larrs_Row[9] = Integer.toString(li_PrjNewSum + li_PrjOfLastYearSum);
      

  3.   

    //项目预算
      larrs_Row[10] = "0";
      //项目市预算
      larrs_Row[11] = "0";
      
      lvect_Data.addElement(larrs_Row);
      
      //2.第二步:
      ls_SQL = "select user_id as dept_id, user_name as dept_name from cdw_rpt_dept"
                    + " where rpt_name = '" + ls_RptName + "' and is_shown=1 "
                    + " order by display_order";
      SFSQLQuery lsfsqlquery_Dept = new SFSQLQuery(ls_SQL,ldbagent_CDSS);
      lsfsqlquery_Dept.retrieve();
      String[] larrs_DeptID = new String[lsfsqlquery_Dept.getRowCount()];
      
      for (int i = 1; i <= lsfsqlquery_Dept.getRowCount(); i ++)
        {     String ls_DeptID = SFCommonUtil.nullToEmptyS(lsfsqlquery_Dept.getItemString(i,"dept_id")).trim();
              larrs_DeptID[i-1] = ls_DeptID.substring(ls_DeptID.length() - 1);
              
              if(!ls_DeptIDs.trim().equals("")) ls_DeptIDs += ","; ls_DeptIDs += "'" + ls_DeptID + "'";
              larrs_Row = new String[12];
              
              larrs_Row[0] = lsfsqlquery_Dept.getItemString(i,"dept_name");
              
              //上年结转
              ls_Filter = "last_year = " + (li_StatYear -1) + " and user_id = '" + ls_DeptID + "'";
              li_PrjOfLastYearSum = uf_GetPrjOfLastYearSum(ls_Filter,ldbagent_CDSS);
              larrs_Row[2] = Integer.toString(li_PrjOfLastYearSum);
              
              //新委托
              ls_Filter = "stat_year = " + li_StatYear + " and prj_source <> '政府委托小计'" + " and user_id = '" + ls_DeptID + "'";
              li_PrjNewSum = uf_GetPrjNewSum(ls_Filter,ldbagent_CDSS);
              larrs_Row[3] = Integer.toString(li_PrjNewSum);
              
              //项目合计
              larrs_Row[1] = Long.toString(SFCommonUtil.parseLong(larrs_Row[2]) + SFCommonUtil.parseLong(larrs_Row[3]));
              
              //国务院
              ls_Filter = "stat_year = " + li_StatYear + " and prj_source = '国务院交办'" + " and user_id = '" + ls_DeptID + "'";
              li_PrjNewSum = uf_GetPrjNewSum(ls_Filter,ldbagent_CDSS);
              ls_Filter = "last_year = " + (li_StatYear -1)+ " and prj_source = '国务院交办'" + " and user_id = '" + ls_DeptID + "'";
              li_PrjOfLastYearSum = uf_GetPrjOfLastYearSum(ls_Filter,ldbagent_CDSS);
              larrs_Row[4] = Integer.toString(li_PrjNewSum + li_PrjOfLastYearSum);
              
              //发改委
              ls_Filter = "stat_year = " + li_StatYear + " and prj_source = '发改委'" + " and user_id = '" + ls_DeptID + "'";
              li_PrjNewSum = uf_GetPrjNewSum(ls_Filter,ldbagent_CDSS);
              ls_Filter = "last_year = " + (li_StatYear -1)+ " and prj_source = '发改委'" + " and user_id = '" + ls_DeptID + "'";
              li_PrjOfLastYearSum = uf_GetPrjOfLastYearSum(ls_Filter,ldbagent_CDSS);
              larrs_Row[5] = Integer.toString(li_PrjNewSum + li_PrjOfLastYearSum);
              
              //科工委
              ls_Filter = "stat_year = " + li_StatYear + " and prj_source = '科工委委托'" + " and user_id = '" + ls_DeptID + "'";
              li_PrjNewSum = uf_GetPrjNewSum(ls_Filter,ldbagent_CDSS);
              ls_Filter = "last_year = " + (li_StatYear -1)+ " and prj_source = '科工委委托'"+ " and user_id = '" + ls_DeptID + "'";
              li_PrjOfLastYearSum = uf_GetPrjOfLastYearSum(ls_Filter,ldbagent_CDSS);
              larrs_Row[6] = Integer.toString(li_PrjNewSum + li_PrjOfLastYearSum);
              
              //小计
              larrs_Row[7] = Long.toString( SFCommonUtil.parseLong(larrs_Row[4])
                                            + SFCommonUtil.parseLong(larrs_Row[5])+ SFCommonUtil.parseLong(larrs_Row[6]));
              //市场业务
              ls_Filter = "stat_year = " + li_StatYear + " and prj_source = '市场任务'"+ " and user_id = '" + ls_DeptID + "'";
              li_PrjNewSum = uf_GetPrjNewSum(ls_Filter,ldbagent_CDSS);
              ls_Filter = "last_year = " + (li_StatYear -1)+ " and prj_source = '市场任务'"+ " and user_id = '" + ls_DeptID + "'";
              li_PrjOfLastYearSum = uf_GetPrjOfLastYearSum(ls_Filter,ldbagent_CDSS);
              larrs_Row[8] = Integer.toString(li_PrjNewSum + li_PrjOfLastYearSum);
      

  4.   

    还有好多,贴不完了,不过问题已经解决了,将部分代码封装到Bean里,居然行了,不知什么原理
      

  5.   

    恭喜你啦,不过如果要在网页中嵌入太多的代码的话,不妨把它封闭成一个BEAN,这样调试方便,代码的可读性也提高了。
      

  6.   

    kongxiangli(笑看红尘),代码没错,Console没有报错,页面也没报错