@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. Linq分组

    1.lin语句 int[] nums = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0, 3 }; DataTable table = new DataTable("Numb ...

  2. 一个修改过简化版的InputQuery

    主要是觉得在单输入的情况下, 原来InputQuery输入框左边的文本太难看了...... function _InputQuery(const ACaption: string; const APr ...

  3. java中的Comparable接口

    类对象之间比较"大小"往往是很有用的操作,比如让对象数组排序时,就需要依赖比较操作.对于不同的类有不同的语义.如Student类,比较2个学生对象可以比较他们的score分数来评判 ...

  4. VS2013 GIT 克隆远程仓库

    1.配置本地GIT 工具->选项->源代码管理,选择GIT 2.打开团队资源管理器,找到GIT克隆选项 3.单击克隆,在输入框内输入远程仓库地址,然后单击克隆即可 GIT 插件配置:参考  ...

  5. Spring操作指南-IoC基础环境配置(基于注解手动装配)

    Source: http://code.taobao.org/p/LearningJavaEE/src/LearningSpring002%20-%20Wiring%20beans%20with%20 ...

  6. Issue 0:发刊词

    最近读吴军博士的文章,很受感悟.知识的成体系地积累过程对一个人的素养提高很有帮助,所以打算开通这本电子期刊,以一周一篇文章的形式汇总今后的知识体系. 宗旨:及时和团队讨论,反馈:善于利用工具.时间越长 ...

  7. [CC]DgmOctree—执行Cell遍历和单元计算

    DgmOctree类的executeFunctionForAllCellsAtLevel和executeFunctionForAllCellsStartingAtLevel方法通过回调函数octree ...

  8. eclipse配置项目

    project facets -> dynamic web module 2.5 java -> 1.6 deployment assembly -> webapp Web Proj ...

  9. ubuntu启动tomcat出错解决方案

    从终端进入tomcat的bin目录,然后执行startup.sh,出现以下异常: Cannot find ./catalina.sh The file is absent or does not ha ...

  10. Leetcode: Concatenated Words

    Given a list of words, please write a program that returns all concatenated words in the given list ...