esayui-datagrid列表在后台新增统计行

1,service逻辑层的查询方法

public DataGrid findOrderBillCountList(OrderBillCount orderBillCount) {
    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    DataGrid dg = new DataGrid();
    List<OrderBillCount> l = new ArrayList<OrderBillCount>();
    int total = 0;
    List params1 = new ArrayList();
    List params2 = new ArrayList();
    String totalSql = "SELECT COUNT(*) FROM ("+
                    " select * from T_ORDERBILL_COUNT s where 1=1";

        String sql = "select * from (SELECT B.*, ROWNUM R FROM ("+
                    " select * from T_ORDERBILL_COUNT s where 1=1 ";    
        /*
         * 条件查询
         */
        //省份
    if (orderBillCount.getProvincename()!= null && !orderBillCount.getProvincename().equals("")&&!orderBillCount.getProvincename().equals("全部")) {
        totalSql += "  and  s.PROVINCENAME = ?";
        sql += "  and s.PROVINCENAME = ?";
        params1.add( orderBillCount.getProvincename().toString());
        params2.add( orderBillCount.getProvincename().toString());

        }
    //月份
    if (orderBillCount.getTime()!= null && !orderBillCount.getTime().equals("")) {
        totalSql += "  and  s.TIME = ?";
        sql += "  and s.TIME = ?";
        params1.add(orderBillCount.getTime().toString() );
        params2.add(orderBillCount.getTime().toString() );

        }
    //类型
    if (orderBillCount.getType()!= null && !orderBillCount.getType().equals("")) {
        totalSql += "  and  s.TYPE = ?";
        sql += "  and s.TYPE = ?";
        params1.add(Integer.valueOf(orderBillCount.getType()) );
        params2.add( Integer.valueOf(orderBillCount.getType()) );

        }
    //业务名称
    if (orderBillCount.getService()!= null && !orderBillCount.getService().equals("")) {
        totalSql += "  and  s.SERVICE = ?";
        sql += "  and s.SERVICE = ?";
        params1.add( orderBillCount.getService().toString());
        params2.add( orderBillCount.getService().toString());

        }

        //sql拼接
    totalSql += " order by s.UPDATETIME DESC)";
        sql += " order by s.UPDATETIME DESC) B  WHERE ROWNUM <= ? ) WHERE R >= ? ";

        params2.add(orderBillCount.getPage() * orderBillCount.getRows());
    params2.add((orderBillCount.getPage() - 1) * orderBillCount.getRows() + 1);

    logger.info("totalSql: " + totalSql);
    logger.info("sql: " + sql);
    total = jdbcTemplate.queryForInt(totalSql, params1.toArray());
    OrderBillCount orderBillCount2 = null;
    if (total > 0) {
            List list = jdbcTemplate.queryForList(sql, params2.toArray());
            if (list != null) {
                Iterator it = list.iterator();
        while (it.hasNext()) {
            Map temp = (Map) it.next();
             String id =    temp.get("ID") == null ? ""
                :  temp.get("ID").toString();
             String provincename = temp.get("PROVINCENAME") == null ? ""
                 : (String) temp.get("PROVINCENAME");
             String time = temp.get("TIME") == null ? ""
                 : (String) temp.get("TIME");
             String orderCount = temp.get("ORDER_COUNT") == null ? ""
                 :  temp.get("ORDER_COUNT").toString();
             String billCount = temp.get("BILL_COUNT") == null ? ""
                 :  temp.get("BILL_COUNT").toString();
             String type = temp.get("TYPE") == null ? ""
                 :  temp.get("TYPE").toString();
             String updatetime = temp.get("UPDATETIME") == null ? ""
                 :  dateFormat.format(temp.get("UPDATETIME")).toString();
             String service = temp.get("SERVICE") == null ? ""
                 : temp.get("SERVICE").toString();
             orderBillCount2 = new OrderBillCount();
             orderBillCount2.setId(id);
             orderBillCount2.setProvincename(provincename);
             orderBillCount2.setTime(time);
             orderBillCount2.setOrderCount(orderCount);
             orderBillCount2.setBillCount(billCount);
             orderBillCount2.setType(type);
             orderBillCount2.setUpdatetime(updatetime);
             orderBillCount2.setService(service);
                l.add(orderBillCount2);
        }
        //新增统计行
        int orderSum = 0;
        int billSum = 0;
        OrderBillCount a = new OrderBillCount();
        for(int i=0;i<l.size();i++){
            a=l.get(i);
            orderSum+= Integer.valueOf(l.get(i).getOrderCount());
            billSum+= Integer.valueOf(l.get(i).getBillCount());
        }
        OrderBillCount b= new OrderBillCount();
        b.setId("总计");
        b.setProvincename("总计");
        b.setTime(null);
        b.setService(null);
        b.setOrderCount(Integer.valueOf(orderSum).toString());
        b.setBillCount(Integer.valueOf(billSum).toString());
        b.setType(null);
        b.setUpdatetime(null);
        l.add(b);
        }
        dg.setRows(l);
        dg.setTotal((Long.valueOf(total)));
    }
    return dg;
}

2.效果图–每一页下面都有一行统计行
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值