@SuppressWarnings({ "rawtypes", "unchecked" })
    public Map<String, Object> getNewStatement(HttpServletRequest request,
            HttpServletResponse response,Long grantId,String type,String operate,String columnJson) throws UnsupportedEncodingException, IOException {
   
        List<Map<String,Object>> lMap=new ArrayList<Map<String,Object>>();
        List<Map<String,Object>> cMap=new ArrayList<Map<String,Object>>();
        
        lMap=grantApplicationPersistence.findBySql(sql.toString(),names, condition1);
        Map <String, Object> colMap=new HashMap<String, Object>();
        Map<String, Object> footer= getCountMap();
        if("1".equals(type)){
            List<List<ColumnVO>> frozenColumnsList =new ArrayList<List<ColumnVO>>();
            List<ColumnVO> frozenColumnsList1= new ArrayList<ColumnVO>();
            // field 字段名  名称  宽度  对齐方式  是否影藏  是否复选框  是否排序  是否冻结列
            frozenColumnsList1.add(new ColumnVO("townCode","列名",80,"right",true,false,true,false,null));
            frozenColumnsList1.add(new ColumnVO("townName","列名",80,"left",false,false,true,true,"linkStyle"));
            frozenColumnsList.add(frozenColumnsList1);
            colMap.put("frozenColumns", frozenColumnsList);
            List<List<ColumnVO>> columnsList =new ArrayList<List<ColumnVO>>();
            List<ColumnVO> columnsList1= new ArrayList<ColumnVO>();
            List<ColumnVO> columnsList2= new ArrayList<ColumnVO>();
            columnsList1.add(new ColumnVO("currentTotalSum","列名",80,"right",2,null));
            columnsList1.add(new ColumnVO("currentTotalMoney","列名",80,"right",2,null,"valueToFixed"));
            columnsList1.add(new ColumnVO("successPerson","列名",80,"right",2,null));
            columnsList1.add(new ColumnVO("successMoney","列名",80,"right",2,null,"valueToFixed"));
            columnsList1.add(new ColumnVO("failPerson","列名",80,"right",2,null,"nonzeroWarning"));
            columnsList1.add(new ColumnVO("failMoney","列名",80,"right",2,null,"nonzeroWarning"));
            columnsList1.add(new ColumnVO("updatePerson","列名",80,"right",2,null));
            for (int j = 0; j < bankList.size(); j++) {
                columnsList1.add(new ColumnVO("",bankList.get(j).get("name").toString(),80,"",null,2));
                columnsList2.add(new ColumnVO("person"+bankList.get(j).get("code"),"列名",80,"right","nonzeroWarning"));
                columnsList2.add(new ColumnVO("money"+bankList.get(j).get("code"),"列名",80,"right","nonzeroWarningFixed"));
                footer.put("person"+bankList.get(j).get("code"), 0);
                footer.put("money"+bankList.get(j).get("code"), 0);
            }
            columnsList.add(columnsList1);
            columnsList.add(columnsList2);
            colMap.put("columns", columnsList);
        }
        Set key=footer.keySet();
        for (Map<String, Object> map : lMap) {
            for (Object object : key) {
                if(!"townCode".equals(object.toString())){
                    if(!"townName".equals(object.toString())){
                        double num=Double.valueOf(Assert.isNotEmpty(footer.get(object.toString()))==true?footer.get(object.toString()).toString():"0");
                        double a= Assert.isNotEmpty(map.get(object))?Double.valueOf(map.get(object).toString()):0;
                        footer.put(object.toString(),num+=a );
                    }else{
                        footer.put(object.toString(),"合计");
                    }
                    
                }
            }
        }
        cMap.add(footer);
        Map <String, Object> mpAll = new HashMap <String, Object>();
        Map <String, Object> mp = new HashMap <String, Object>();
        mp.put("total", lMap.size());
        mp.put("rows", lMap);
        mp.put("footer",cMap);
        if("1".equals(type)){
            mpAll.put("columnsMp",colMap);
            mpAll.put("ta", mp);
            if(Assert.isNotEmpty(operate)){
                List<Map<String,Object>> date= (List<Map<String, Object>>) mp.get("rows");
                List<Map<String,Object>> footerDate= (List<Map<String, Object>>) mp.get("footer");
                for (Map<String, Object> map : footerDate) {
                    date.add(map);
                }
                new WorkbookUtil().exportToCollect(request, response, operate,"表名", columnJson,date);
                return null;
            }
            return mpAll;
        }
        if(Assert.isNotEmpty(operate)){
            List<Map<String,Object>> date= (List<Map<String, Object>>) mp.get("rows");
            List<Map<String,Object>> footerDate= (List<Map<String, Object>>) mp.get("footer");
            for (Map<String, Object> map : footerDate) {
                date.add(map);
            }
            new WorkbookUtil().exportToCollect(request, response, operate,"表名", columnJson,date);
            return null;
        }
        
        return mp;
    }

easyui DataGrid 工具类之 后台生成列的更多相关文章

  1. easyui DataGrid 工具类之 WorkbookUtil class

    /** * @Title: WorkbookUtil.java * @Description: excel工具类 * @date 2014年5月29日 上午10:36:42 * @version V1 ...

  2. easyui DataGrid 工具类之 TableUtil class

    import java.lang.reflect.InvocationTargetException;import java.util.ArrayList;import java.util.HashM ...

  3. easyui DataGrid 工具类之 列属性class

    public class ColumnVO { /**     * 列标题文本     */    private String title; /**     * 列字段名称     */    pr ...

  4. easyui DataGrid 工具类之 util js

    var jq;                var tab;                var tabsIndex;                                /**     ...

  5. easyui DataGrid 工具类之 Utils class

    import java.lang.reflect.InvocationTargetException;import java.text.ParseException;import java.text. ...

  6. easyui DataGrid表体单元格跨列rowspan

    最近做项目用到了jquery easyui,其中一组DataGrid做的报表是给客户大领导看的,客户要求报表样式跟他们原有系统的一模一样(如下图1). DataGrid样式好调,只是城市名称单元格跨行 ...

  7. Mybitis根据工具类反射数据库生成映射+整合springboot

    一 反向生成数据库mapper的工具类: 添加依赖 <dependency> <groupId>org.mybatis.generator</groupId> &l ...

  8. EasyUI datagrid : 启用行号、固定列及多级表头后,头部行号位置单元格错位的问题

    症状如图: 上图中,行号列与checkbox 列融合了.解决方法是在datagrid 的 onLoadSuccess 事件中加入如下代码: var opts = $(this).datagrid('o ...

  9. java工具类(三)之生成若干位随机数

    java 生成若干位随机数的问题 在一次编程的过程中偶然碰到一个小问题,就是需要生成一个4位数的随机数,如果是一个不到4位大的数字,前面可以加0来显示.因为要求最后是一个4位的整数,不带小数点.当时就 ...

随机推荐

  1. 【转】如何把Json格式字符写进text文件中

    http://www.cnblogs.com/insus/p/4306640.html http://json2csharp.chahuo.com/ 本篇一步一步学习怎样把显示于网页的json格式的字 ...

  2. iOS用户信息单例的创建

    UserInfo.h + (UserInfo *) sharedInstance; UserInfo.m #import "UserInfo.h" static UserInfo ...

  3. 一个node项目的框架搭建流程

    项目服务端编程语言node,前端js,数据库mongodb, 开发工具用webstorm. 使用express应用生成器,生成项目雏形. 安装应用生成器工具,命令是npm install expres ...

  4. 在 shell 脚本获取 ip、数字转换等网络操作

    在 shell 脚本获取 ip.数字转换等网络操作 ip 和数字的相互转换 ip转换为数字 :: function ip2num() { local ip=$1 local a=$(echo $ip ...

  5. 使用linq的好处

    1.linq非常方便,把复杂的业务逻辑从数据库分离,起到了很好的优化作用 2.linq非常灵活,可以用基本统一的访问方式,访问各种数据源,对项目的管理和维护,起到了十分便捷的作用 3.用linq可以不 ...

  6. ARM 开发工具 Keil和DS-5的比较。

    http://www.eeboard.com/bbs/thread-25219-1-1.html 如今ARM体系架构的处理器在嵌入式市场上呼风唤雨,从低端的MCU应用到高端的多媒体消费电子,移动设备领 ...

  7. hp-pa安装oracle和bash

    一.安装oracle数据库 安装之前先进行环境检查: 1.检查系统版本 #uname -a 2.查看内存大小 #/usr/contrib/bin/machinfo | grep -i Memory 3 ...

  8. Hihocoder 1063 缩地

    树形dp 涉及不重复背包组合求最小 从边长分段看不好入手 因为点数只有100点值<=2,总值<=200 可以对每个点的每个值进行dp 这里最后不回来肯定优于全回来 然后由于要分为回来和不回 ...

  9. Easy Tag Write(1)

    package skyseraph.easytagwrite; import skyseraph.android.util.CustomDialog; import skyseraph.android ...

  10. docker-compose编写(英文)

    原文地址:https://docker.github.io/compose/compose-file/ Compose file reference The Compose file is a YAM ...