Spring JdbcTemplate例子

来源:互联网 发布:快手伴奏软件下载 编辑:程序博客网 时间:2024/05/01 01:01
public  List findByExample(TJxEnshiContractmaininfo example){        JdbcTemplate template = Utils.getJdbcTemplate();        String sql ;                     sql = "SELECT  T01.CONTRACTYEAR,T01.OBLIGATION,T01.CONTRACTYEAR||'年' MBNF,T01.CONTRACTLAYER,T03.NAME BMMC,T08.DVALUE ZBLB, "                        + " CASE WHEN T04.FIRSTRATEDSIGNSTATUS IS NOT NULL AND T04.FIRSTRATEDSIGNSTATUS = '1' THEN '已签定' ELSE '未签定' END FIRSTRATEDSIGNSTATUS,"                        + " CASE WHEN T04.CONTRACTCONFIRMSTATUS IS NOT NULL AND T04.CONTRACTCONFIRMSTATUS = '1' THEN '已确认' ELSE '未确认' END CONTRACTCONFIRMSTATUS, "                        + " CASE WHEN T07.NAME IS NULL THEN T06.NAME ELSE T07.NAME END FZR, "                        + " NULLIF('1','1'),  NULLIF('1','1'), NULLIF('1','1'), NULLIF('1','1'),"                        + " T01.CONTRACTTYPE, T01.TARGETNAME,T01.TARGETVAULE, "                        + " T01.OBLIGATIONSIZE, T01.TARGETEVALUATERULE,T01.MUTUALLYRATED,"                        + " CASE WHEN T02.MUTUALLYEVASTATUS IS NOT NULL AND T02.MUTUALLYEVASTATUS = '1' THEN T02.MUTUALLYRESULT ELSE NULLIF('1','1') END MUTUALLYEVASTATUS, "                        + " CASE WHEN T02.SELFEVASTATUS IS NOT NULL AND T02.SELFEVASTATUS = '1' THEN T02.SELFSCORE ELSE NULLIF(1,1) END SELFSCORE,"                        + " CASE WHEN T02.FIRSTEVASTATUS IS NOT NULL AND T02.FIRSTEVASTATUS = '1' THEN T02.FIRSTSCORE ELSE NULLIF(1,1) END FIRSTSCORE, "                        + " CASE WHEN T02.SECONDEVASTATUS IS NOT NULL AND T02.SECONDEVASTATUS = '1' THEN T02.SECONDSCORE ELSE NULLIF(1,1) END SECONDSCORE "                        + " FROM T_JX_ENSHI_TARGETDETAILINFO T01 "                        + " LEFT JOIN T_JX_ENSHI_TARGETEVAREULT T02 ON T02.TARGETDETAILINFOID = T01.ID "                        + " LEFT JOIN ORGMODEL_GROUP T03 ON T01.OBLIGATION = T03.ID "                        + " LEFT JOIN T_JX_ENSHI_CONTRACTMAININFO T04 ON T01.CONTRACTMAININFOID = T04.ID "                        + " LEFT JOIN ORGMODEL_USER T07 ON T04.CONTRACTPRINCIPAL = T07.ID "                        + " LEFT JOIN DATADICT_VALUE T08 ON T08.DKEY =  T01.CONTRACTTYPE"                        + " LEFT JOIN T_JX_ENSHI_PINGJIAZHUTI T05 ON T01.OBLIGATION = T05.DEPARTID"                        + " LEFT JOIN ORGMODEL_USER T06 ON T06.ID = T05.USER_ZIPING"                        + " WHERE T05.FLAG = '0' AND"                        + " T01.CONTRACTFLAG = ? AND T01.CONTRACTYEAR = ? "                        + addObligationCondition(example)                        + " ORDER BY T01.CONTRACTYEAR,T03.WEIGHT DESC,T03.NAME,T01.CONTRACTTYPE,T01.TARGETNAME,T01.TARGETVAULE";                       List result = template.queryForList(sql, new Object[]{example.getContractFlag(),example.getContractYear(),example.getDepartId()});       List infos = new ArrayList(0);       ListOrderedMap titleMap;       Map groups = getGroupIdMap();        if(result!=null && !result.isEmpty()){            String obligation = "";            List details = new ArrayList(0);//合约明细            for (Iterator iterator = result.iterator(); iterator.hasNext();) {                ListOrderedMap data = (ListOrderedMap) iterator.next();                                htmlFileter(data,"TARGETVAULE");                htmlFileter(data,"TARGETEVALUATERULE");                numberFilter(data,"OBLIGATIONSIZE");                numberFilter(data,"SELFSCORE");                numberFilter(data,"FIRSTSCORE");                numberFilter(data,"SECONDSCORE");                data.put("SJLY", getSjly(groups, (String) data.get("MUTUALLYRATED")));                                if(!obligation.equals(data.get("OBLIGATION"))){                    details = new ArrayList(0);                    obligation = (String) data.get("OBLIGATION");                    titleMap =   new ListOrderedMap();                    titleMap.put("title",data.get("BMMC")+" 部门年度绩效合约");//标题                    titleMap.put("bmmc","部门名称: "+ data.get("BMMC"));//部门名称                    titleMap.put("mbsj", "合约时间: "+data.get("MBNF")+"01月01日-"+ data.get("MBNF")+"12月31日");//目标时间                    titleMap.put("fzr", "负责人:"+data.get("FZR"));//负责人                    titleMap.put("infos", details);                    titleMap.put(data.get("OBLIGATION"), details);                    titleMap.put("hysj", data.get("MBNF"));//合约时间                    titleMap.put("qdzt", data.get("FIRSTRATEDSIGNSTATUS"));//签订状态                    titleMap.put("qrzt", data.get("CONTRACTCONFIRMSTATUS"));//确认状态                    titleMap.put("deptid", data.get("OBLIGATION"));//部门id                    titleMap.put("deptname", data.get("bmmc"));//部门id                    titleMap.put("id",data.get("CONTRACTLAYER")+","+ data.get("OBLIGATION"));//年份+部门id                    infos.add(titleMap);                }                details.add(data);            }        }        return infos;    }

 List result = template.queryForList(sql, new Object[]{example.getContractFlag(),example.getContractYear(),example.getDepartId()});       List infos = new ArrayList(0);       ListOrderedMap titleMap;List 中的元素是 ListOrderedMap

原创粉丝点击