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