jsp按照部门分层统计数据 可折叠

代码

<%@ page language="java" import="java.util.*, com.tisson.java.*, com.tisson.beans.*, com.tisson.hibernate.*,java.io.*" pageEncoding="UTF-8"%>
<%@ page import="sun.jdbc.rowset.CachedRowSet"%>
<%@ page import="com.gdhit.app.consts.SysConst"%>
<%@ page import="com.gdhit.app.session.*"%>
<%@ taglib uri="SelectTagLib" prefix="SelectTagLib"%>
<%@ taglib uri="SelectArrayTagLib" prefix="SelectArrayTagLib" %>
<%
    //设置页面不缓存
    //response.setHeader("Pragma","No-cache");
    //response.setHeader("Cache-Control","no-cache");
    //response.setDateHeader("Expires", 0);
    /*****************当前用户信息*********************/
    CachedRowSet userInfo = null;
    userInfo = (CachedRowSet) SessionRegister.getUserProperty(SessionRegister.USERTYPE_OPERATOR, request.getRemoteAddr(),SysConst.SESSION_OPERATOR_INFO);
    String userID = null;//用户ID
    String userDeptID = null;//部门ID
    String userDeptName = null;//部门名称
    String roleId = null;//角色ID
   
    if (userInfo != null) {
          userInfo.beforeFirst();
          if (userInfo.next()) {
            userID = userInfo.getString("OPERATORID");
            userDeptID = userInfo.getString("GROUPID");
            userDeptName = userInfo.getString("GROUPNAME");
            roleId = userInfo.getString("ROLEID");
           }
    }
       else {
        response.getWriter().print("<script> alert('请先登录!');</script>");
           return;
    }
   
    String bid = request.getParameter("bid");
    String nodeid = request.getParameter("nodeid");
   
    BpmNodeinstanceUtil nodeInstanceUtil = new BpmNodeinstanceUtil();
    ComWholeInfoUtil comUtil = new ComWholeInfoUtil();
   
    boolean hasData = false;
    List undoTasks = nodeInstanceUtil.getBidCountDepartData(bid, nodeid);
    DPTransition tran = new DPTransition();
    int size = undoTasks.size();
    if(size > 0 ) {
        hasData = true;
    }
   
%>

<html>
  <head>
    <title>汇总统计界面</title>
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="this is my page">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <link rel="stylesheet" type="text/css" href="../css/css.css">
    <script language=javascript>
           
        var close_img_url = "arrowdown.gif";
        var expend_img_url = "arrowup.gif";
        //根据图标将一个节点下的所有子节点打开或关闭
        function doTreeNode(img)
        {
            if(/arrowup/.gif$/.test(img.src.toLowerCase()))
            {
                var trId = img.id.replace(/^img_/, "");
                var obj = document.getElementById(trId);
                hiddenSelfAndChildrenNodes(obj, false);
                img.src = close_img_url;
            }
            else
            {
                var trId = img.id.replace(/^img_/, "");
                var obj = document.getElementById(trId);
                showChildrenNodes(obj);
                img.src = expend_img_url;
            }
        }
        function hiddenSelfAndChildrenNodes (obj, bool)
        {
            var pId = obj.id;
            if (pId == "") return;
            var cNodes = tbDataList.rows;
            var l = cNodes.length;
            for (var i = 0; i < l; i++)
            {
                var node = cNodes[i];
                var selfPId = node.getAttribute("parentid");
                if (selfPId != null && selfPId != "" && selfPId == pId)
                {
                    hiddenSelfAndChildrenNodes(node, true);
                }
            }
            changeImgByTrObj(obj, 0);
            if (bool)
            {
                obj.style.display = "none";
            }
        }
   
        function showChildrenNodes (obj)
        {
            var pId = obj.id;
            var cNodes = tbDataList.rows;
            var l = cNodes.length;
            for (var i = 0; i < l; i++)
            {
                var node = cNodes[i];
                if (node.getAttribute("parentid") == pId)
                {
                    node.style.display = "";
                }
            }
        }
   
        function changeImgByTrObj(obj, n)
        {
            var imgId = "img_" + obj.id;
            var img = document.getElementById(imgId);
            if(img == null) return;
            img.src = (n == 1) ? expend_img_url : close_img_url;
        }
   
   
        function expendAll()
        {
            window.status ="处理中请稍候...";
            var obj = document.getElementsByTagName("img");
   
            for(var j=0; j < obj.length;j++)
            {
                if(/arrowdown/.gif$/.test(obj[j].src.toLowerCase()))
                {
                    doTreeNode(obj[j]);
                }
   
            }
            window.status="";
        }
        function closeAll()
        {
            window.status ="处理中请稍候...";
            var obj = document.getElementsByTagName("tr");
            for(var j=0;j<obj.length;j++)
            {
                if(obj[j].parentid != null && obj[j].parentid==0)
                {
                    var imgobj = document.getElementById("img_"+obj[j].id);
   
                    if (imgobj != null && /arrowup/.gif$/.test(imgobj.src.toLowerCase()))
                    {
                        doTreeNode(imgobj);
                    }
   
                }
            }
            window.status="";
        }
        function downloadEvent(){
            <%
           
            if(hasData) {
                File sourcefile = new File(application.getRealPath("/")
                    + "//reports//sourceFiles//CollectView.xls");
                File targetfile = new File(application.getRealPath("/")
                    + "//reports//targetFiles//CollectView.xls");
                boolean readSuccess=false;
                if(targetfile.exists()){
                    targetfile.delete();
                }
                readSuccess=ReadXls.readCollectView(sourcefile, targetfile,undoTasks);
                if(readSuccess && targetfile.exists()){
                %>
                window.open("../reports/targetFiles/CollectView.xls");
                <%
                }
            } else {
            %>
                alert("无数据!");
            <%
            }
            %>
        }
    </script>
  </head>
 
  <body οnlοad="closeAll();">
    <br>
    <center>
    <form method="post" name="frm1">
    <table boder="0" width="98%">
        <tr><td align="right"><input type="button" class="button" value="导出申请统计表" style="width:100px" οnclick="downloadEvent();"></td></tr>
    </table>
    <table width="98%" border="1" id="tbDataList" cellspacing="0" cellpadding="0" align="center" bordercolorlight="#bdbec0" bordercolordark="#ffffff">
      <tr parentid="0" bgcolor="#ced9e7" height="19">
        <td colspan="3" rowspan="3" style="width:16%"><div align="center">分公司名称</div></td>
        <td rowspan="3"><div align="center">人数</div></td>
        <td colspan="5"><div align="center">已配置</div></td>
        <td colspan="8"><div align="center">申请新增</div></td>
        <td colspan="5"><div align="center">申请报废更换</div></td>
      </tr>
      <tr parentid="0" bgcolor="#ced9e7" height="19">
        <td colspan="2"><div align="center">台式机</div></td>
        <td colspan="2"><div align="center">笔记本</div></td>
        <td rowspan="2"><div align="center">打印机</div>      <div align="center"></div></td>
        <td colspan="2"><div align="center">台式机</div></td>
        <td colspan="2"><div align="center">笔记本</div></td>
        <td rowspan="2"><div align="center">网络打印机</div>      <div align="center"></div></td>
        <td rowspan="2"><div align="center">工单打印机</div>      <div align="center"></div></td>
        <td rowspan="2"><div align="center">专业打印机</div>      <div align="center"></div></td>
        <td rowspan="2"><div align="center">服务器</div>      <div align="center"></div></td>
        <td colspan="2"><div align="center">台式机</div></td>
        <td colspan="2"><div align="center">笔记本</div></td>
        <td rowspan="2"><div align="center">打印机</div>      <div align="center"></div></td>
      </tr>
      <tr parentid="0" bgcolor="#ced9e7" height="19">
        <td><div align="center">员工</div></td>
        <td><div align="center">非员工</div></td>
        <td><div align="center">员工</div></td>
        <td><div align="center">非员工</div></td>
        <td><div align="center">员工</div></td>
        <td><div align="center">非员工</div></td>
        <td><div align="center">员工</div></td>
        <td><div align="center">非员工</div></td>
        <td><div align="center">员工</div></td>
        <td><div align="center">非员工</div></td>
        <td><div align="center">员工</div></td>
        <td><div align="center">非员工</div></td>
      </tr>
      <%
      if(size != 0) {
          RequestAmount ra = null;
          RequestAmount raNext = null;
          String dCountRow = null;//跨行数
          String dClass = null;//层次
          String dFlag = null;//是否有下级
          String dArgumentid = null;//部门ID
          String dArgumentname = null;//部门名称
          int[] count = new int[19];
          String[] value = new String[19];
          for(int i=0; i<19; i++) {
              count[i] = 0;
              value[i] = "";
          }
          int layer1= 0;
          int layer2= 0;
          int layer3= 0;
          boolean layer1Open = false;
          boolean layer2Open = false;
          for(int i=0; i<size; i++) {
              ra = (RequestAmount)undoTasks.get(i);
              if(i != size-1) {
                  raNext = (RequestAmount)undoTasks.get(i+1);
                  raNext.setFiled0(ra.getFiled1());
                  undoTasks.set(i+1, raNext);
              }
              dCountRow = ra.getFiled0();
              dClass = ra.getFiled2();
              dFlag = ra.getFiled3();
              dArgumentid = ra.getFiled4();
              dArgumentname = ra.getFiled5();
              value[0] = ra.getFiled6();
              value[1] = ra.getFiled7();
              value[2] = ra.getFiled8();
              value[3] = ra.getFiled9();
              value[4] = ra.getFiled10();
              value[5] = ra.getFiled11();
              value[6] = ra.getFiled12();
              value[7] = ra.getFiled13();
              value[8] = ra.getFiled14();
              value[9] = ra.getFiled15();
              value[10] = ra.getFiled16();
              value[11] = ra.getFiled17();
              value[12] = ra.getFiled18();
              value[13] = ra.getFiled19();
              value[14] = ra.getFiled20();
              value[15] = ra.getFiled21();
              value[16] = ra.getFiled22();
              value[17] = ra.getFiled23();
              value[18] = ra.getFiled24();
              if(dClass != null && dClass.equals("1")) {//第一层,总数统计
                  count[0] += Integer.parseInt(value[0]);
                  count[1] += Integer.parseInt(value[1]);
                  count[2] += Integer.parseInt(value[2]);
                  count[3] += Integer.parseInt(value[3]);
                  count[4] += Integer.parseInt(value[4]);
                  count[5] += Integer.parseInt(value[5]);
                  count[6] += Integer.parseInt(value[6]);
                  count[7] += Integer.parseInt(value[7]);
                  count[8] += Integer.parseInt(value[8]);
                  count[9] += Integer.parseInt(value[9]);
                  count[10] += Integer.parseInt(value[10]);
                  count[11] += Integer.parseInt(value[11]);
                  count[12] += Integer.parseInt(value[12]);
                  count[13] += Integer.parseInt(value[13]);
                  count[14] += Integer.parseInt(value[14]);
                  count[15] += Integer.parseInt(value[15]);
                  count[16] += Integer.parseInt(value[16]);
                  count[17] += Integer.parseInt(value[17]);
                  count[18] += Integer.parseInt(value[18]);
              }
             
      %>
      <%
              if(dClass != null && dClass.equals("1")) {//第一层
                  layer1 ++;
       %>
      <tr id="layer<%=layer1 %>" parentid="0">
        <td style="width:5%"><img height=14 width=15 class=nodeImg id="img_layer<%=layer1 %>" src="arrowup.gif" οnclick="doTreeNode(this)"><%=dArgumentname %></td>
        <td colspan="2" style="width:10%"><div align="center">小计</div></td>
      <%
              } else if(dClass != null && dClass.equals("2")) { //第二层
                  layer2 ++;
      %>
      <tr id="layer<%=layer1 %><%=layer2 %>" parentid="layer<%=layer1 %>">
      <%
                  if(dCountRow != null && !dCountRow.equals("0")) {//是否有展开层
      %>
        <td rowspan="<%=dCountRow %>" style="width:5%"> &nbsp;</td>
      <%
                  }
                  if(dFlag != null && dFlag.equals("0")) {
       %>
        <td style="width:5%"><img height=14 width=15 class=nodeImg id="img_layer<%=layer1 %><%=layer2 %>" src="arrowup.gif" οnclick="doTreeNode(this)"><%=dArgumentname %></td>
      <%
                  } else {
      %>
          <td style="width:5%"><%=dArgumentname %>&nbsp;</td>
      <%
                  }
       %>
        <td style="width:6%">&nbsp;</td>
      <%
              } else if(dClass != null && dClass.equals("3")) { //第三层
                  layer3 ++;
      %>
      <tr id="layer<%=layer1 %><%=layer2 %><%=layer3 %>" parentid="layer<%=layer1 %><%=layer2 %>">
      <%
                  if(dCountRow != null && !dCountRow.equals("0")) {//是否有展开层
      %>
        <td rowspan="<%=dCountRow %>" style="width:5%">&nbsp;</td>
      <%
                  }
                  if(dFlag != null && dFlag.equals("0")) {
       %>
        <td style="width:6%"><%=dArgumentname %>&nbsp;</td>
      <%
                  } else {
       %>
          <td style="width:6%"><%=dArgumentname %>&nbsp;</td>
      <%
                  }
              }
       %>
        <td align="center"><%=value[0] %></td>
        <td align="center"><%=value[1].equals("0")?"&nbsp;":("<a href='assetList.jsp?depart="+dArgumentid+"&reqType=TSJ&nature=y'>"+value[1]+"</a>") %></td>
        <td align="center"><%=value[2].equals("0")?"&nbsp;":("<a href='assetList.jsp?depart="+dArgumentid+"&reqType=TSJ&nature=n'>"+value[2]+"</a>") %></td>
        <td align="center"><%=value[3].equals("0")?"&nbsp;":("<a href='assetList.jsp?depart="+dArgumentid+"&reqType=BJB&nature=y'>"+value[3]+"</a>") %></td>
        <td align="center"><%=value[4].equals("0")?"&nbsp;":("<a href='assetList.jsp?depart="+dArgumentid+"&reqType=BJB&nature=n'>"+value[4]+"</a>") %></td>
        <td align="center"><%=value[5].equals("0")?"&nbsp;":("<a href='assetList.jsp?depart="+dArgumentid+"&reqType=DYJ&nature=a'>"+value[5]+"</a>") %></td>
        <td align="center"><%=value[6].equals("0")?"&nbsp;":(bid.equals("")?value[6]:("<a href='shenheRequestView.jsp?depart="+dArgumentid+"&bid="+bid+"&reqType=TSJ&processType=60001&nature=y'>"+value[6]+"</a>")) %></td>
        <td align="center"><%=value[7].equals("0")?"&nbsp;":(bid.equals("")?value[7]:("<a href='shenheRequestView.jsp?depart="+dArgumentid+"&bid="+bid+"&reqType=TSJ&processType=60001&nature=n'>"+value[7]+"</a>")) %></td>
        <td align="center"><%=value[8].equals("0")?"&nbsp;":(bid.equals("")?value[8]:("<a href='shenheRequestView.jsp?depart="+dArgumentid+"&bid="+bid+"&reqType=BJB&processType=60002&nature=y'>"+value[8]+"</a>")) %></td>
        <td align="center"><%=value[9].equals("0")?"&nbsp;":(bid.equals("")?value[9]:("<a href='shenheRequestView.jsp?depart="+dArgumentid+"&bid="+bid+"&reqType=BJB&processType=60002&nature=n'>"+value[9]+"</a>")) %></td>
        <td align="center"><%=value[10].equals("0")?"&nbsp;":(bid.equals("")?value[10]:("<a href='shenheRequestView.jsp?depart="+dArgumentid+"&bid="+bid+"&reqType=DYJ&processType=60006&nature=a'>"+value[10]+"</a>")) %></td>
        <td align="center"><%=value[11].equals("0")?"&nbsp;":(bid.equals("")?value[11]:("<a href='shenheRequestView.jsp?depart="+dArgumentid+"&bid="+bid+"&reqType=DYJ&processType=60004&nature=a'>"+value[11]+"</a>")) %></td>
        <td align="center"><%=value[12].equals("0")?"&nbsp;":(bid.equals("")?value[12]:("<a href='shenheRequestView.jsp?depart="+dArgumentid+"&bid="+bid+"&reqType=DYJ&processType=60005&nature=a'>"+value[12]+"</a>")) %></td>
        <td align="center"><%=value[13].equals("0")?"&nbsp;":(bid.equals("")?value[13]:("<a href='shenheRequestView.jsp?depart="+dArgumentid+"&bid="+bid+"&reqType=CKT&processType=60007&nature=a'>"+value[13]+"</a>")) %></td>
        <td align="center"><%=value[14].equals("0")?"&nbsp;":(bid.equals("")?value[14]:("<a href='shenheRequestView.jsp?depart="+dArgumentid+"&bid="+bid+"&reqType=TSJ&processType=60008&nature=y'>"+value[14]+"</a>")) %></td>
        <td align="center"><%=value[15].equals("0")?"&nbsp;":(bid.equals("")?value[15]:("<a href='shenheRequestView.jsp?depart="+dArgumentid+"&bid="+bid+"&reqType=TSJ&processType=60008&nature=n'>"+value[15]+"</a>")) %></td>
        <td align="center"><%=value[16].equals("0")?"&nbsp;":(bid.equals("")?value[16]:("<a href='shenheRequestView.jsp?depart="+dArgumentid+"&bid="+bid+"&reqType=BJB&processType=60009&nature=y'>"+value[16]+"</a>")) %></td>
        <td align="center"><%=value[17].equals("0")?"&nbsp;":(bid.equals("")?value[17]:("<a href='shenheRequestView.jsp?depart="+dArgumentid+"&bid="+bid+"&reqType=BJB&processType=60009&nature=n'>"+value[17]+"</a>")) %></td>
        <td align="center"><%=value[18].equals("0")?"&nbsp;":(bid.equals("")?value[18]:("<a href='shenheRequestView.jsp?depart="+dArgumentid+"&bid="+bid+"&reqType=DYJ&processType=60010&nature=a'>"+value[18]+"</a>")) %></td>
      </tr>
      <% } %>
      <tr>
          <td colspan="3" align="right">合计</td>
      <% for(int i=0; i<count.length; i++) { %>
          <td align="center"><%=count[i]==0?"&nbsp;":count[i]+"" %></td>
      <% } %>
      </tr>
      <%
          }
      %>
     
      </table>
   
    </form>
    <br>
    </center>
  </body>
</html>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值