package cn.com.goldenwater.dcproj.service.impl.importex; import cn.com.goldenwater.dcproj.constValue.AdCodeLabel; import cn.com.goldenwater.dcproj.constValue.BisInspEnum; import cn.com.goldenwater.dcproj.dao.BisInspMileageDao; import cn.com.goldenwater.dcproj.dao.BriefReportDao; import cn.com.goldenwater.dcproj.dto.*; import cn.com.goldenwater.dcproj.model.*; import cn.com.goldenwater.dcproj.param.BriefReportParam; import cn.com.goldenwater.dcproj.service.BriefReportService; import cn.com.goldenwater.dcproj.utils.BeanUtil; import cn.com.goldenwater.dcproj.utils.EnumUtil; import cn.com.goldenwater.dcproj.utils.SortList; import cn.com.goldenwater.dcproj.utils.expExcel.ExcelExport; import cn.com.goldenwater.dcproj.utils.expExcel.ExportAbstract; import cn.com.goldenwater.dcproj.utils.expExcel.ExportUtil; import org.apache.commons.collections.map.HashedMap; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.servlet.http.HttpServletResponse; import java.lang.reflect.Field; import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; /** * @author xuw * @date 2019-3-11 */ @Service @Transactional public class BriefReportServiceImpl implements BriefReportService { @Autowired private BriefReportDao briefReportDao; @Autowired private BisInspMileageDao bisInspMileageDao; public BriefReportServiceImpl(BriefReportDao briefReportDao) { this.briefReportDao = briefReportDao; } @Override public Map getBriefReport() { return null; } @Override public Map getGroupPersPro(String orgId,String province) { Map map = new HashMap<>(3); int groupNum = briefReportDao.getGroupCountByType("",orgId,province); int persNum = briefReportDao.getPersCountByType("",orgId,province); int proNum = briefReportDao.getProCount(province); map.put("groupNum",groupNum); map.put("persNum",persNum); map.put("proNum",proNum); return map; } @Override public Map getPblmCount(String sttm, String entm,String gsttm, String gentm,String province) { Map result = new HashMap<>(4); Map map = new HashMap<>(2); map.put("sttm",sttm); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); if(!StringUtils.isBlank(entm)){ String year = entm.substring(0,entm.indexOf("-")); String mnth = entm.substring(entm.indexOf("-")+1,entm.lastIndexOf("-")); String day = entm.substring(entm.lastIndexOf("-")+1); Calendar calll=Calendar.getInstance(); calll.set(Calendar.YEAR,Integer.parseInt(year)); calll.set(Calendar.MONTH,Integer.parseInt(mnth)-1); calll.set(Calendar.DAY_OF_MONTH,Integer.parseInt(day)); calll.add(Calendar.DAY_OF_MONTH,1); Date date = calll.getTime(); entm = sdf.format(date); } map.put("entm",entm); map.put("province",province); int addNum = briefReportDao.getPblmCount(map); map = new HashMap<>(0); int countNum = briefReportDao.getPblmCount(map); map = new HashMap<>(3); map.put("sttm",gsttm); if(!StringUtils.isBlank(gentm)){ String year = gentm.substring(0,gentm.indexOf("-")); String mnth = gentm.substring(gentm.indexOf("-")+1,gentm.lastIndexOf("-")); String day = gentm.substring(gentm.lastIndexOf("-")+1); Calendar calll=Calendar.getInstance(); calll.set(Calendar.YEAR,Integer.parseInt(year)); calll.set(Calendar.MONTH,Integer.parseInt(mnth)-1); calll.set(Calendar.DAY_OF_MONTH,Integer.parseInt(day)); calll.add(Calendar.DAY_OF_MONTH,1); Date date = calll.getTime(); gentm = sdf.format(date); } map.put("entm",gentm); map.put("stat","6"); int gNum = briefReportDao.getPblmCount(map); double gRate = gNum/countNum*100; result.put("addNum",addNum); result.put("countNum",countNum); result.put("gNum",gNum); result.put("gRate",gRate); return result; } @Override public Map getAddPblmCount(String sttm, String entm,String province) { Map result = new HashMap<>(5); Map map = new HashMap<>(2); map.put("sttm",sttm); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); if(!StringUtils.isBlank(entm)){ String year = entm.substring(0,entm.indexOf("-")); String mnth = entm.substring(entm.indexOf("-")+1,entm.lastIndexOf("-")); String day = entm.substring(entm.lastIndexOf("-")+1); Calendar calll=Calendar.getInstance(); calll.set(Calendar.YEAR,Integer.parseInt(year)); calll.set(Calendar.MONTH,Integer.parseInt(mnth)-1); calll.set(Calendar.DAY_OF_MONTH,Integer.parseInt(day)); calll.add(Calendar.DAY_OF_MONTH,1); Date date = calll.getTime(); entm = sdf.format(date); } map.put("province",province); map.put("entm",entm); int addSum = briefReportDao.getPblmCount(map); map.put("cate","2"); int ySum = briefReportDao.getPblmCount(map); map = new HashMap<>(3); map.put("sttm",sttm); map.put("entm",entm); map.put("objType","1"); int rsvrNum = briefReportDao.getPblmCount(map); map.put("objType","2"); int villNum = briefReportDao.getPblmCount(map); map.put("objType","3"); int rectNum = briefReportDao.getPblmCount(map); result.put("addSum",addSum); result.put("ySum",ySum); result.put("villNum",villNum); result.put("rsvrNum",rsvrNum); result.put("rectNum",rectNum); return result; } @Override public Map getPblmCountByType(String sttm, String entm, String objType,String province) { Map result = new HashMap<>(3); Map map = new HashMap<>(4); map.put("sttm",sttm); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); if(!StringUtils.isBlank(entm)){ String year = entm.substring(0,entm.indexOf("-")); String mnth = entm.substring(entm.indexOf("-")+1,entm.lastIndexOf("-")); String day = entm.substring(entm.lastIndexOf("-")+1); Calendar calll=Calendar.getInstance(); calll.set(Calendar.YEAR,Integer.parseInt(year)); calll.set(Calendar.MONTH,Integer.parseInt(mnth)-1); calll.set(Calendar.DAY_OF_MONTH,Integer.parseInt(day)); calll.add(Calendar.DAY_OF_MONTH,1); Date date = calll.getTime(); entm = sdf.format(date); } map.put("province",province); map.put("entm",entm); map.put("objType",objType); int num = briefReportDao.getPblmCount(map); map.put("cate","0"); int num1 = briefReportDao.getPblmCount(map); map.put("cate","1"); int num2 = briefReportDao.getPblmCount(map); map.put("cate","2"); int num3 = briefReportDao.getPblmCount(map); result.put("num",num); result.put("num1",num1); result.put("num2",num2); result.put("num3",num3); return result; } @Override public Map getVillInfo(String orgId,String province) { Map result = new HashMap<>(6); int groupNum = briefReportDao.getGroupCountByType("002",orgId,province); int persNum = briefReportDao.getPersCountByType("002",orgId,province); int proNum = briefReportDao.getVillProCount(province); int countyNum = briefReportDao.getVillCtCount(province); province=province.replace(AdCodeLabel.START_PARENT_ADCODE,""); int villNum = briefReportDao.getVillVillCount(province); int wUserNum = briefReportDao.getVillPersCount(province); result.put("groupNum",groupNum); result.put("persNum",persNum); result.put("proNum",proNum); result.put("countyNum",countyNum); result.put("villNum",villNum); result.put("wUserNum",wUserNum); return result; } @Override public Map getRsvrInfo(String orgId,String province) { Map result = new HashMap<>(6); int groupNum = briefReportDao.getGroupCountByType("001",orgId,province); int persNum = briefReportDao.getPersCountByType("001",orgId,province); String shortPro=province.replace(AdCodeLabel.START_PARENT_ADCODE,""); int proNum = briefReportDao.getRsvrProCount(shortPro); int rsvrNum = briefReportDao.getRsvrCountByType("",province); int rsvrNum1 = briefReportDao.getRsvrCountByType("4",province); int rsvrNum2 = briefReportDao.getRsvrCountByType("5",province); result.put("groupNum",groupNum); result.put("persNum",persNum); result.put("proNum",proNum); result.put("rsvrNum",rsvrNum); result.put("rsvrNum1",rsvrNum1); result.put("rsvrNum2",rsvrNum2); return result; } @Override public Map getRectInfo(String orgId,String province) { Map result = new HashMap<>(6); int groupNum = briefReportDao.getGroupCountByType("003",orgId,province); int persNum = briefReportDao.getPersCountByType("003",orgId,province); int proNum = briefReportDao.getRectProCount(province); result.put("groupNum",groupNum); result.put("persNum",persNum); result.put("proNum",proNum); return result; } @Override public List> getPblmList(String sttm, String entm, String cate, String objType, String stat, String ifCase, String villType,String province) { List> list = new ArrayList<>(); Map map = new HashMap<>(7); map.put("sttm",sttm); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); if(!StringUtils.isBlank(entm)){ String year = entm.substring(0,entm.indexOf("-")); String mnth = entm.substring(entm.indexOf("-")+1,entm.lastIndexOf("-")); String day = entm.substring(entm.lastIndexOf("-")+1); Calendar calll=Calendar.getInstance(); calll.set(Calendar.YEAR,Integer.parseInt(year)); calll.set(Calendar.MONTH,Integer.parseInt(mnth)-1); calll.set(Calendar.DAY_OF_MONTH,Integer.parseInt(day)); calll.add(Calendar.DAY_OF_MONTH,1); Date date = calll.getTime(); entm = sdf.format(date); } map.put("entm",entm); map.put("cate",cate); map.put("objType",objType); map.put("stat",stat); map.put("ifCase",ifCase); map.put("villType",villType); map.put("province",province); list = briefReportDao.getPblmList(map); return list; } /** * 单位分类统计--获取人饮督查工作情况统计表 * @return */ @Override public List getVillWork(HttpServletResponse response, String orgName, String isExport,String sttm,String entm, String state,String province,String orgId) { List result = new ArrayList<>(); Map map = new HashMap<>(); map.put("orgName",orgName); map.put("type","002"); map.put("orgId",orgId); map.put("province",province); List list0 = briefReportDao.getGroupCountListByType(map); map.put("sttm",sttm); map.put("entm",entm); List list1 = briefReportDao.getGroupCountListByType(map); List list2 = briefReportDao.getPersCountListByType(map); List list3 = briefReportDao.getVillProCountList(orgName,sttm,entm,province); List list4 = briefReportDao.getVillCtCountList(orgName,sttm,entm,province); List list5 = briefReportDao.getVillVillCountList(orgName,sttm,entm, state,province);//添加督查状态 List list6 = briefReportDao.getVillPersCountList(orgName,sttm,entm,state,province);//添加督查状态 List list7 = briefReportDao.getVillCwsCountList(orgName,sttm,entm,state,province);//添加督查状态 List list8 = briefReportDao.getVillWaterCountList(orgName,sttm,entm,state,province);//添加督查状态 map = new HashMap<>(); map.put("objType","2"); map.put("orgName",orgName); map.put("sttm",sttm); map.put("entm",entm); map.put("orgId",orgId); map.put("state",state); map.put("province",province); List list9 = briefReportDao.getPblmCountList(map); map = new HashMap<>(); map.put("objType","2"); map.put("orgName",orgName); map.put("cate","0"); map.put("sttm",sttm); map.put("entm",entm); map.put("orgId",orgId); map.put("state",state); map.put("province",province); List list10 = briefReportDao.getPblmCountList(map); map.put("cate","1"); List list11 = briefReportDao.getPblmCountList(map); map.put("cate","2"); List list12 = briefReportDao.getPblmCountList(map); Map map1 = list1.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map2 = list2.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map3 = list3.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map4 = list4.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map5 = list5.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map6 = list6.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map7 = list7.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map8 = list8.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map9 = list9.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map10 = list10.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map11 = list11.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map12 = list12.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); List> list = new ArrayList<>(); for (BriefReport brief : list0) { String code = brief.getCode(); String pnm = brief.getPnm(); VillWork villWork = new VillWork(); villWork.setCode(code); villWork.setName(pnm); int group = 0; if(map1.get(code)!=null){ group = map1.get(code); } villWork.setGroup(group); int pers = 0; if(map2.get(code)!=null){ pers = map2.get(code); } villWork.setPers(pers); int pros = 0; if(map3.get(code)!=null){ pros = map3.get(code); } villWork.setPros(pros); int country = 0; if(map4.get(code)!=null){ country = map4.get(code); } villWork.setCountry(country); int vill = 0; if(map5.get(code)!=null){ vill = map5.get(code); } villWork.setVill(vill); int wUser = 0; if(map6.get(code)!=null){ wUser = map6.get(code); } villWork.setwUser(wUser); int cws = 0; if(map7.get(code)!=null){ cws = map7.get(code); } villWork.setCws(cws); int water = 0; if(map8.get(code)!=null){ water = map8.get(code); } villWork.setWater(water); int pblm = 0; if(map9.get(code)!=null){ pblm = map9.get(code); } villWork.setPblm(pblm); int pblmOne = 0; if(map10.get(code)!=null){ pblmOne = map10.get(code); } villWork.setPblmOne(pblmOne); int pblmTwo = 0; if(map11.get(code)!=null){ pblmTwo = map11.get(code); } villWork.setPblmTwo(pblmTwo); int pblmThree = 0; if(map12.get(code)!=null){ pblmThree = map12.get(code); } villWork.setPblmThree(pblmThree); result.add(villWork); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(villWork); list.add(listMap); } //计算 合计 VillWork villWork = new VillWork(); String code=province.replace(AdCodeLabel.START_PARENT_ADCODE,""); villWork.setCode(AdCodeLabel.START_PARENT_ADCODE); if(!code.startsWith(AdCodeLabel.START_PARENT_ADCODE)){ villWork.setCode(province); } villWork.setName("合计"); int group = result.stream().mapToInt(VillWork::getGroup).sum(); villWork.setGroup(group); int pers = result.stream().mapToInt(VillWork::getPers).sum(); villWork.setPers(pers); int pros = result.stream().mapToInt(VillWork::getPros).sum(); villWork.setPros(pros); int country = result.stream().mapToInt(VillWork::getCountry).sum(); villWork.setCountry(country); int vill = result.stream().mapToInt(VillWork::getVill).sum(); villWork.setVill(vill); int wUser = result.stream().mapToInt(VillWork::getwUser).sum(); villWork.setwUser(wUser); int cws = result.stream().mapToInt(VillWork::getCws).sum(); villWork.setCws(cws); int water = result.stream().mapToInt(VillWork::getWater).sum(); villWork.setWater(water); int pblm = result.stream().mapToInt(VillWork::getPblm).sum(); villWork.setPblm(pblm); int pblmOne = result.stream().mapToInt(VillWork::getPblmOne).sum(); villWork.setPblmOne(pblmOne); int pblmTwo = result.stream().mapToInt(VillWork::getPblmTwo).sum(); villWork.setPblmTwo(pblmTwo); int pblmThree = result.stream().mapToInt(VillWork::getPblmThree).sum(); villWork.setPblmThree(pblmThree); result.add(villWork); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(villWork); list.add(listMap); if("1".equals(isExport)){ ExportAbstract export = new ExcelExport(); export.setFileName( "人饮水督查工作统计" );//view.getView_name() export.setExport_ps_export( true ); export.setExport_ps_type( ExportAbstract.XLS ); export.setExport_bzip( false ); export.setTitle( "人饮水督查工作统计" ); ArrayList cols = new ArrayList(); cols.add( "name[单位]" ); cols.add( "group[组]" ); cols.add( "pers[人]" ); cols.add( "pros[省]" ); cols.add( "country[县]" ); cols.add( "vill[行政村]" ); cols.add( "wUser[用水户]" ); cols.add( "cws[农饮工程]" ); cols.add( "water[水源地]" ); cols.add( "pblmOne[一般问题]" ); cols.add( "pblmTwo[较重问题]" ); cols.add( "pblmThree[严重问题]" ); cols.add( "pblm[问题合计]" ); export.setCols( cols ); export.setGroupable( false ); // 设置视图指标 export.setLevel(1); export.setLocksize(0); try { export.Export(response); export.ExportHeadForCustom(response);//导出表头 export.ContinueExport(list); export.EndExport(); } catch (Exception e) { e.printStackTrace(); } } return result; } /** * 单位分类统计--获取小水库督查工作情况统计表 * @return */ @Override public List getRsvrWork(HttpServletResponse response, String orgName,String isExport,String sttm,String entm, String state,String province,String orgId) { List result = new ArrayList<>(); Map map = new HashMap<>(); map.put("orgName",orgName); map.put("type","001"); map.put("province",province); map.put("orgId",orgId); List list0 = briefReportDao.getGroupCountListByType(map); map.put("sttm",sttm); map.put("entm",entm); List list1 = briefReportDao.getGroupCountListByType(map); List list2 = briefReportDao.getPersCountListByType(map); List list3 = briefReportDao.getRsvrProCountList(orgName,sttm,entm, state,province);//添加督查状态 将原有的sel_are 替换成BIS_INSP_RSVR_RGSTR表 与下面保持一致 List list4 = briefReportDao.getRsvrCtCountList(orgName,sttm,entm,state,province);//添加督查状态 List list5 = briefReportDao.getRsvrCountListByType(orgName,"",sttm,entm,state,province);//添加督查状态 List list6 = briefReportDao.getRsvrCountListByType(orgName,"4",sttm,entm,state,province); List list7 = briefReportDao.getRsvrCountListByType(orgName,"5",sttm,entm,state,province); map = new HashMap<>(); map.put("objType","1"); map.put("orgName",orgName); map.put("sttm",sttm); map.put("entm",entm); map.put("state",state); map.put("province",province); List list8 = briefReportDao.getPblmCountList(map); map = new HashMap<>(); map.put("objType","1"); map.put("orgName",orgName); map.put("cate","0"); map.put("sttm",sttm); map.put("entm",entm); map.put("state",state); map.put("province",province); List list9 = briefReportDao.getPblmCountList(map); map.put("cate","1"); List list10 = briefReportDao.getPblmCountList(map); map.put("cate","2"); List list11 = briefReportDao.getPblmCountList(map); map.put("cate","3"); List list12 = briefReportDao.getPblmCountList(map); Map map1 = list1.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map2 = list2.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map3 = list3.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map4 = list4.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map5 = list5.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map6 = list6.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map7 = list7.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map8 = list8.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map9 = list9.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map10 = list10.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map11 = list11.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map12 = list12.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); List> list = new ArrayList<>(); for (BriefReport brief : list0) { String code = brief.getCode(); String pnm = brief.getPnm(); RsvrWork rsvrWork = new RsvrWork(); rsvrWork.setCode(code); rsvrWork.setName(pnm); int group = 0; if(map1.get(code)!=null){ group = map1.get(code); } rsvrWork.setGroup(group); int pers = 0; if(map2.get(code)!=null){ pers = map2.get(code); } rsvrWork.setPers(pers); int pros = 0; if(map3.get(code)!=null){ pros = map3.get(code); } rsvrWork.setPros(pros); int country = 0; if(map4.get(code)!=null){ country = map4.get(code); } rsvrWork.setCountry(country); int rsvr = 0; if(map5.get(code)!=null){ rsvr = map5.get(code); } rsvrWork.setRsvr(rsvr); int rsvrOne = 0; if(map6.get(code)!=null){ rsvrOne = map6.get(code); } rsvrWork.setRsvrOne(rsvrOne); int rsvrTwo = 0; if(map7.get(code)!=null){ rsvrTwo = map7.get(code); } rsvrWork.setRsvrTwo(rsvrTwo); int pblm = 0; if(map8.get(code)!=null){ pblm = map8.get(code); } rsvrWork.setPblm(pblm); int pblmOne = 0; if(map9.get(code)!=null){ pblmOne = map9.get(code); } rsvrWork.setPblmOne(pblmOne); int pblmTwo = 0; if(map10.get(code)!=null){ pblmTwo = map10.get(code); } rsvrWork.setPblmTwo(pblmTwo); int pblmThree = 0; if(map11.get(code)!=null){ pblmThree = map11.get(code); } rsvrWork.setPblmThree(pblmThree); int pblmFour = 0; if(map12.get(code)!=null){ pblmFour = map12.get(code); } rsvrWork.setPblmFour(pblmFour); result.add(rsvrWork); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(rsvrWork); list.add(listMap); } RsvrWork rsvrWork = new RsvrWork(); rsvrWork.setCode(AdCodeLabel.START_PARENT_ADCODE); rsvrWork.setName("合计"); int group = result.stream().mapToInt(RsvrWork::getGroup).sum(); rsvrWork.setGroup(group); int pers = result.stream().mapToInt(RsvrWork::getPers).sum(); rsvrWork.setPers(pers); int pros = result.stream().mapToInt(RsvrWork::getPros).sum(); rsvrWork.setPros(pros); int country = result.stream().mapToInt(RsvrWork::getCountry).sum(); rsvrWork.setCountry(country); int rsvr = result.stream().mapToInt(RsvrWork::getRsvr).sum(); rsvrWork.setRsvr(rsvr); int rsvrOne = result.stream().mapToInt(RsvrWork::getRsvrOne).sum(); rsvrWork.setRsvrOne(rsvrOne); int rsvrTwo = result.stream().mapToInt(RsvrWork::getRsvrTwo).sum(); rsvrWork.setRsvrTwo(rsvrTwo); int pblm = result.stream().mapToInt(RsvrWork::getPblm).sum(); rsvrWork.setPblm(pblm); int pblmOne = result.stream().mapToInt(RsvrWork::getPblmOne).sum(); rsvrWork.setPblmOne(pblmOne); int pblmTwo = result.stream().mapToInt(RsvrWork::getPblmTwo).sum(); rsvrWork.setPblmTwo(pblmTwo); int pblmThree = result.stream().mapToInt(RsvrWork::getPblmThree).sum(); rsvrWork.setPblmThree(pblmThree); int pblmFour = result.stream().mapToInt(RsvrWork::getPblmFour).sum(); rsvrWork.setPblmFour(pblmFour); result.add(rsvrWork); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(rsvrWork); list.add(listMap); if("1".equals(isExport)){ ExportAbstract export = new ExcelExport(); export.setFileName( "小水库督查工作统计" );//view.getView_name() export.setExport_ps_export( true ); export.setExport_ps_type( ExportAbstract.XLS ); export.setExport_bzip( false ); export.setTitle( "小水库督查工作统计" ); ArrayList cols = new ArrayList(); cols.add( "name[单位]" ); cols.add( "group[组]" ); cols.add( "pers[人]" ); cols.add( "pros[省]" ); cols.add( "country[县]" ); cols.add( "rsvr[水库]" ); cols.add( "rsvrOne[小一型]" ); cols.add( "rsvrTwo[小二型]" ); cols.add( "pblmOne[一般问题]" ); cols.add( "pblmTwo[较重问题]" ); cols.add( "pblmThree[严重问题]" ); cols.add( "pblm[问题合计]" ); export.setCols( cols ); export.setGroupable( false ); // 设置视图指标 export.setLevel(1); export.setLocksize(0); try { export.Export(response); export.ExportHeadForCustom(response);//导出表头 export.ContinueExport(list); export.EndExport(); } catch (Exception e) { e.printStackTrace(); } } return result; } /** * 单位分类统计--获取水毁督查工作情况统计表 * @return */ @Override public List getRectWork(HttpServletResponse response, String orgName,String isExport,String sttm,String entm, String state,String province,String orgId) { List result = new ArrayList<>(); Map map = new HashMap<>(); map.put("orgName",orgName); map.put("type","003"); map.put("province",province); map.put("orgId",orgId); List list0 = briefReportDao.getGroupCountListByType(map); map.put("sttm",sttm); map.put("entm",entm); List list1 = briefReportDao.getGroupCountListByType(map); List list2 = briefReportDao.getPersCountListByType(map); List list3 = briefReportDao.getRectProCountList(orgName,sttm,entm,state,province);//添加督查状态 List list4 = briefReportDao.getRectCtCountList(orgName,sttm,entm,state,province);//添加督查状态 List list5 = briefReportDao.getRectCountList(orgName,sttm,entm,state,province);//添加督查状态 map = new HashMap<>(); map.put("objType","3"); map.put("orgName",orgName); map.put("sttm",sttm); map.put("entm",entm); map.put("state",state); map.put("province",province); List list6 = briefReportDao.getPblmCountList(map);//添加督查状态 map = new HashMap<>(); map.put("objType","3"); map.put("orgName",orgName); map.put("cate","0"); map.put("sttm",sttm); map.put("entm",entm); map.put("province",province); map.put("state",state); List list7 = briefReportDao.getPblmCountList(map); map.put("cate","1"); List list8 = briefReportDao.getPblmCountList(map); map.put("cate","2"); List list9 = briefReportDao.getPblmCountList(map); Map map1 = list1.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map2 = list2.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map3 = list3.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map4 = list4.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map5 = list5.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map6 = list6.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map7 = list7.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map8 = list8.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map9 = list9.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); List> list = new ArrayList<>(); for (BriefReport brief : list0) { String code = brief.getCode(); String pnm = brief.getPnm(); RectWork rectWork = new RectWork(); rectWork.setCode(code); rectWork.setName(pnm); int group = 0; if(map1.get(code)!=null){ group = map1.get(code); } rectWork.setGroup(group); int pers = 0; if(map2.get(code)!=null){ pers = map2.get(code); } rectWork.setPers(pers); int pros = 0; if(map3.get(code)!=null){ pros = map3.get(code); } rectWork.setPros(pros); int country = 0; if(map4.get(code)!=null){ country = map4.get(code); } rectWork.setCountry(country); int rect = 0; if(map5.get(code)!=null){ rect = map5.get(code); } rectWork.setRect(rect); int pblm = 0; if(map6.get(code)!=null){ pblm = map6.get(code); } rectWork.setPblm(pblm); int pblmOne = 0; if(map7.get(code)!=null){ pblmOne = map7.get(code); } rectWork.setPblmOne(pblmOne); int pblmTwo = 0; if(map8.get(code)!=null){ pblmTwo = map8.get(code); } rectWork.setPblmTwo(pblmTwo); int pblmThree = 0; if(map9.get(code)!=null){ pblmThree = map9.get(code); } rectWork.setPblmThree(pblmThree); result.add(rectWork); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(rectWork); list.add(listMap); } RectWork rectWork = new RectWork(); rectWork.setCode(AdCodeLabel.START_PARENT_ADCODE); rectWork.setName("合计"); int group = result.stream().mapToInt(RectWork::getGroup).sum(); rectWork.setGroup(group); int pers = result.stream().mapToInt(RectWork::getPers).sum(); rectWork.setPers(pers); int pros = result.stream().mapToInt(RectWork::getPros).sum(); rectWork.setPros(pros); int country = result.stream().mapToInt(RectWork::getCountry).sum(); rectWork.setCountry(country); int rect = result.stream().mapToInt(RectWork::getRect).sum(); rectWork.setRect(rect); int pblm = result.stream().mapToInt(RectWork::getPblm).sum(); rectWork.setPblm(pblm); int pblmOne = result.stream().mapToInt(RectWork::getPblmOne).sum(); rectWork.setPblmOne(pblmOne); int pblmTwo = result.stream().mapToInt(RectWork::getPblmTwo).sum(); rectWork.setPblmTwo(pblmTwo); int pblmThree = result.stream().mapToInt(RectWork::getPblmThree).sum(); rectWork.setPblmThree(pblmThree); result.add(rectWork); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(rectWork); list.add(listMap); if("1".equals(isExport)){ ExportAbstract export = new ExcelExport(); export.setFileName( "水毁督查工作统计" );//view.getView_name() export.setExport_ps_export( true ); export.setExport_ps_type( ExportAbstract.XLS ); export.setExport_bzip( false ); export.setTitle( "水毁督查工作统计" ); ArrayList cols = new ArrayList(); cols.add( "name[单位]" ); cols.add( "group[组]" ); cols.add( "pers[人]" ); cols.add( "pros[省]" ); cols.add( "country[县]" ); cols.add( "rect[项目]" ); cols.add( "pblmOne[一般问题]" ); cols.add( "pblmTwo[较重问题]" ); cols.add( "pblmThree[严重问题]" ); cols.add( "pblm[问题合计]" ); export.setCols( cols ); export.setGroupable( false ); // 设置视图指标 export.setLevel(1); export.setLocksize(0); try { export.Export(response); export.ExportHeadForCustom(response);//导出表头 export.ContinueExport(list); export.EndExport(); } catch (Exception e) { e.printStackTrace(); } } return result; } /** * 单位分类统计--获取所有分类的督查工作情况统计表 * @param response * @param orgName * @param typeName * @param isExport * @return */ @Override public List getVillRsvrRectWork(HttpServletResponse response, String orgName, String typeName, String isExport,String sttm,String entm, String state,String orgId,String province) { List result = new ArrayList<>(); List> list = new ArrayList<>(); if(typeName!=null&&!"".equals(typeName)&&"人饮水安全".contains(typeName)){ List villList = getVillWork(response,orgName,"0",sttm,entm,state,province,orgId); for (VillWork vill:villList) { BriefWork briefWork = new BriefWork(); briefWork.setCode(vill.getCode()); briefWork.setName(vill.getName()); briefWork.setTypeName(vill.getTypeName()); briefWork.setGroup(vill.getGroup()); briefWork.setPers(vill.getPers()); briefWork.setPros(vill.getPros()); briefWork.setCountry(vill.getCountry()); briefWork.setPblmOne(vill.getPblmOne()); briefWork.setPblmTwo(vill.getPblmTwo()); briefWork.setPblmThree(vill.getPblmThree()); briefWork.setPblm(vill.getPblm()); result.add(briefWork); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(briefWork); list.add(listMap); } }else if(typeName!=null&&!"".equals(typeName)&&"小水库".contains(typeName)){ List rsvrList = getRsvrWork(response,orgName,"0",sttm,entm,state,province,orgId); for (RsvrWork rsvr:rsvrList) { BriefWork briefWork = new BriefWork(); briefWork.setCode(rsvr.getCode()); briefWork.setName(rsvr.getName()); briefWork.setTypeName(rsvr.getTypeName()); briefWork.setGroup(rsvr.getGroup()); briefWork.setPers(rsvr.getPers()); briefWork.setPros(rsvr.getPros()); briefWork.setCountry(rsvr.getCountry()); briefWork.setPblmOne(rsvr.getPblmOne()); briefWork.setPblmTwo(rsvr.getPblmTwo()); briefWork.setPblmThree(rsvr.getPblmThree()); briefWork.setPblmFour(rsvr.getPblmFour()); briefWork.setPblm(rsvr.getPblm()); result.add(briefWork); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(briefWork); list.add(listMap); } }else if(typeName!=null&&!"".equals(typeName)&&"水毁工程".contains(typeName)) { List rectList = getRectWork(response, orgName, "0", sttm, entm, state,province,orgId); for (RectWork rect : rectList) { BriefWork briefWork = new BriefWork(); briefWork.setCode(rect.getCode()); briefWork.setName(rect.getName()); briefWork.setTypeName(rect.getTypeName()); briefWork.setGroup(rect.getGroup()); briefWork.setPers(rect.getPers()); briefWork.setPros(rect.getPros()); briefWork.setCountry(rect.getCountry()); briefWork.setPblmOne(rect.getPblmOne()); briefWork.setPblmTwo(rect.getPblmTwo()); briefWork.setPblmThree(rect.getPblmThree()); briefWork.setPblm(rect.getPblm()); result.add(briefWork); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(briefWork); list.add(listMap); } }else if(typeName!=null&&!"".equals(typeName)&&"172重点工程建设".contains(typeName)){ List empwtConWorkList = getEmpwtConWork(response,orgName,"0",sttm,entm, state,province,orgId); for (EmpwtConWork rect:empwtConWorkList) { BriefWork briefWork = new BriefWork(); briefWork.setCode(rect.getCode()); briefWork.setName(rect.getName()); briefWork.setTypeName(rect.getTypeName()); briefWork.setGroup(rect.getGroup()); briefWork.setPers(rect.getPers()); briefWork.setPros(rect.getPros()); briefWork.setCountry(rect.getCountry()); briefWork.setPblmOne(rect.getPblmOne()); briefWork.setPblmTwo(rect.getPblmTwo()); briefWork.setPblmThree(rect.getPblmThree()); briefWork.setPblm(rect.getPblm()); result.add(briefWork); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(briefWork); list.add(listMap); } }else if(typeName!=null&&!"".equals(typeName)&&"172重点工程运行".contains(typeName)){ List empwtRunWorkList = getEmpwtRunWork(response,orgName,"0",sttm,entm, state,province,orgId); for (EmpwtRunWork rect:empwtRunWorkList) { BriefWork briefWork = new BriefWork(); briefWork.setCode(rect.getCode()); briefWork.setName(rect.getName()); briefWork.setTypeName(rect.getTypeName()); briefWork.setGroup(rect.getGroup()); briefWork.setPers(rect.getPers()); briefWork.setPros(rect.getPros()); briefWork.setCountry(rect.getCountry()); briefWork.setPblmOne(rect.getPblmOne()); briefWork.setPblmTwo(rect.getPblmTwo()); briefWork.setPblmThree(rect.getPblmThree()); briefWork.setPblm(rect.getPblm()); result.add(briefWork); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(briefWork); list.add(listMap); } }else if(typeName!=null&&!"".equals(typeName)&&"水闸工程".contains(typeName)){ List wagaWorkList = getWagaWork(response,orgName,"0",sttm,entm, state,province,orgId); for (WagaWork rect:wagaWorkList) { BriefWork briefWork = new BriefWork(); briefWork.setCode(rect.getCode()); briefWork.setName(rect.getName()); briefWork.setTypeName(rect.getTypeName()); briefWork.setGroup(rect.getGroup()); briefWork.setPers(rect.getPers()); briefWork.setPros(rect.getPros()); briefWork.setCountry(rect.getCountry()); briefWork.setPblmOne(rect.getPblmOne()); briefWork.setPblmTwo(rect.getPblmTwo()); briefWork.setPblmThree(rect.getPblmThree()); briefWork.setPblm(rect.getPblm()); result.add(briefWork); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(briefWork); list.add(listMap); } }else if("".equals(typeName)||typeName==null){ List villList = getVillWork(response,orgName,"0",sttm,entm, state,province,orgId); BriefWork a = new BriefWork(); for (VillWork vill:villList) { BriefWork briefWork = new BriefWork(); briefWork.setCode(vill.getCode()); briefWork.setName(vill.getName()); briefWork.setTypeName(vill.getTypeName()); briefWork.setGroup(vill.getGroup()); briefWork.setPers(vill.getPers()); briefWork.setPros(vill.getPros()); briefWork.setCountry(vill.getCountry()); briefWork.setPblmOne(vill.getPblmOne()); briefWork.setPblmTwo(vill.getPblmTwo()); briefWork.setPblmThree(vill.getPblmThree()); briefWork.setPblm(vill.getPblm()); if(!AdCodeLabel.START_PARENT_ADCODE.equals(vill.getCode())){ result.add(briefWork); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(briefWork); list.add(listMap); }else{ a=briefWork; } } List empwtConWorkList = getEmpwtConWork(response,orgName,"0",sttm,entm, state,province,orgId); BriefWork e = new BriefWork(); for (EmpwtConWork vill:empwtConWorkList) { BriefWork briefWork = new BriefWork(); briefWork.setCode(vill.getCode()); briefWork.setName(vill.getName()); briefWork.setTypeName(vill.getTypeName()); briefWork.setGroup(vill.getGroup()); briefWork.setPers(vill.getPers()); briefWork.setPros(vill.getPros()); briefWork.setCountry(vill.getCountry()); briefWork.setPblmOne(vill.getPblmOne()); briefWork.setPblmTwo(vill.getPblmTwo()); briefWork.setPblmThree(vill.getPblmThree()); briefWork.setPblm(vill.getPblm()); if(!AdCodeLabel.START_PARENT_ADCODE.equals(vill.getCode())){ result.add(briefWork); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(briefWork); list.add(listMap); }else{ e=briefWork; } } List empwtRunWorkList = getEmpwtRunWork(response,orgName,"0",sttm,entm, state,province,orgId); BriefWork f = new BriefWork(); for (EmpwtRunWork vill:empwtRunWorkList) { BriefWork briefWork = new BriefWork(); briefWork.setCode(vill.getCode()); briefWork.setName(vill.getName()); briefWork.setTypeName(vill.getTypeName()); briefWork.setGroup(vill.getGroup()); briefWork.setPers(vill.getPers()); briefWork.setPros(vill.getPros()); briefWork.setCountry(vill.getCountry()); briefWork.setPblmOne(vill.getPblmOne()); briefWork.setPblmTwo(vill.getPblmTwo()); briefWork.setPblmThree(vill.getPblmThree()); briefWork.setPblm(vill.getPblm()); if(!AdCodeLabel.START_PARENT_ADCODE.equals(vill.getCode())){ result.add(briefWork); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(briefWork); list.add(listMap); }else{ f=briefWork; } } List wagaWorkList = getWagaWork(response,orgName,"0",sttm,entm, state,province,orgId); BriefWork g = new BriefWork(); for (WagaWork vill:wagaWorkList) { BriefWork briefWork = new BriefWork(); briefWork.setCode(vill.getCode()); briefWork.setName(vill.getName()); briefWork.setTypeName(vill.getTypeName()); briefWork.setGroup(vill.getGroup()); briefWork.setPers(vill.getPers()); briefWork.setPros(vill.getPros()); briefWork.setCountry(vill.getCountry()); briefWork.setPblmOne(vill.getPblmOne()); briefWork.setPblmTwo(vill.getPblmTwo()); briefWork.setPblmThree(vill.getPblmThree()); briefWork.setPblm(vill.getPblm()); if(!AdCodeLabel.START_PARENT_ADCODE.equals(vill.getCode())){ result.add(briefWork); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(briefWork); list.add(listMap); }else{ g=briefWork; } } List rsvrList = getRsvrWork(response,orgName,"0",sttm,entm, state,province,orgId); BriefWork b = new BriefWork(); for (RsvrWork rsvr:rsvrList) { BriefWork briefWork = new BriefWork(); briefWork.setCode(rsvr.getCode()); briefWork.setName(rsvr.getName()); briefWork.setTypeName(rsvr.getTypeName()); briefWork.setGroup(rsvr.getGroup()); briefWork.setPers(rsvr.getPers()); briefWork.setPros(rsvr.getPros()); briefWork.setCountry(rsvr.getCountry()); briefWork.setPblmOne(rsvr.getPblmOne()); briefWork.setPblmTwo(rsvr.getPblmTwo()); briefWork.setPblmThree(rsvr.getPblmThree()); briefWork.setPblmFour(rsvr.getPblmFour()); briefWork.setPblm(rsvr.getPblm()); if(!AdCodeLabel.START_PARENT_ADCODE.equals(rsvr.getCode())){ result.add(briefWork); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(briefWork); list.add(listMap); }else{ b=briefWork; } } List rectList = getRectWork(response,orgName,"0",sttm,entm, state,province,orgId); BriefWork c = new BriefWork(); for (RectWork rect:rectList) { BriefWork briefWork = new BriefWork(); briefWork.setCode(rect.getCode()); briefWork.setName(rect.getName()); briefWork.setTypeName(rect.getTypeName()); briefWork.setGroup(rect.getGroup()); briefWork.setPers(rect.getPers()); briefWork.setPros(rect.getPros()); briefWork.setCountry(rect.getCountry()); briefWork.setPblmOne(rect.getPblmOne()); briefWork.setPblmTwo(rect.getPblmTwo()); briefWork.setPblmThree(rect.getPblmThree()); briefWork.setPblm(rect.getPblm()); if(!AdCodeLabel.START_PARENT_ADCODE.equals(rect.getCode())){ result.add(briefWork); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(briefWork); list.add(listMap); }else{ c=briefWork; } } BriefWork d = new BriefWork(); d.setCode(AdCodeLabel.START_PARENT_ADCODE); d.setName("合计"); d.setTypeName("所有"); int group = 0; int pers = 0; int pros = 0; int country = 0; int pblmOne = 0; int pblmTwo = 0; int pblmThree = 0; int pblmFour = 0; int pblm = 0; if(a!=null){ group += a.getGroup(); pers += a.getPers(); pros += a.getPros(); country += a.getCountry(); pblmOne += a.getPblmOne(); pblmTwo += a.getPblmTwo(); pblmThree += a.getPblmThree(); pblm += a.getPblm(); } if(b!=null){ group += b.getGroup(); pers += b.getPers(); pros += b.getPros(); country += b.getCountry(); pblmOne += b.getPblmOne(); pblmTwo += b.getPblmTwo(); pblmThree += b.getPblmThree(); pblmFour += b.getPblmFour(); pblm += b.getPblm(); } if(c!=null){ group += c.getGroup(); pers += c.getPers(); pros += c.getPros(); country += c.getCountry(); pblmOne += c.getPblmOne(); pblmTwo += c.getPblmTwo(); pblmThree += c.getPblmThree(); pblm += c.getPblm(); } if(e!=null){ group += e.getGroup(); pers += e.getPers(); pros += e.getPros(); country += e.getCountry(); pblmOne += e.getPblmOne(); pblmTwo += e.getPblmTwo(); pblmThree += e.getPblmThree(); pblm += e.getPblm(); } if(f!=null){ group += f.getGroup(); pers += f.getPers(); pros += f.getPros(); country += f.getCountry(); pblmOne += f.getPblmOne(); pblmTwo += f.getPblmTwo(); pblmThree += f.getPblmThree(); pblm += f.getPblm(); } if(g!=null){ group += g.getGroup(); pers += g.getPers(); pros += g.getPros(); country += g.getCountry(); pblmOne += g.getPblmOne(); pblmTwo += g.getPblmTwo(); pblmThree += g.getPblmThree(); pblm += g.getPblm(); } d.setGroup(group); d.setPers(pers); d.setPros(pros); d.setCountry(country); d.setPblmOne(pblmOne); d.setPblmTwo(pblmTwo); d.setPblmThree(pblmThree); d.setPblm(pblm); SortList sortList = new SortList<>(); result = sortList.sort(result, "getName", "desc"); result.add(d); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(d); list.add(listMap); } if("1".equals(isExport)){ ExportAbstract export = new ExcelExport(); export.setFileName( "督查工作统计" );//view.getView_name() export.setExport_ps_export( true ); export.setExport_ps_type( ExportAbstract.XLS ); export.setExport_bzip( false ); export.setTitle( "督查工作统计" ); ArrayList cols = new ArrayList(); cols.add( "name[单位]" ); cols.add( "typeName[检查项目]" ); cols.add( "group[组]" ); cols.add( "pers[人]" ); cols.add( "pros[省]" ); cols.add( "country[县]" ); cols.add( "pblmOne[一般问题]" ); cols.add( "pblmTwo[较重问题]" ); cols.add( "pblmThree[严重问题]" ); cols.add( "pblmFour[特别严重问题]" ); cols.add( "pblm[问题合计]" ); export.setCols( cols ); export.setGroupable( false ); // 设置视图指标 export.setLevel(1); export.setLocksize(0); try { export.Export(response); export.ExportHeadForCustom(response);//导出表头 export.ContinueExport(list); export.EndExport(); } catch (Exception e) { e.printStackTrace(); } } return result; } private Map getMap(String province){ Map params=new HashMap<>(); String length="2"; String zero="0000000000"; if(!province.startsWith(AdCodeLabel.START_PARENT_ADCODE)){ int headLength=province.replace(AdCodeLabel.START_PARENT_ADCODE,"").length(); if(headLength==2){ length="4"; zero="00000000"; } if(headLength==4){ length="6"; zero="0000000"; } if(headLength==6){ length="8"; zero="0000"; } } params.put("zero",zero); params.put("length",length); return params; } /** * 单位+省份--获取小水库的督查工作情况统计表 * @param response * @param orgName * @param adName * @param isExport * @return */ @Override public List getRsvrWorkByOrgPro(HttpServletResponse response, String adName, String orgName, String isExport,String sttm, String entm,String persid, String state,String province) { if(persid!=null&&persid!=""){ List objectNameDtoList = this.briefReportDao.getNmByPersid(persid,province); if(objectNameDtoList.size()>0){ int i = 0; for(ObjectNameDto o : objectNameDtoList){ if(o.getId().length()==3){ i ++ ; } } if(i==0){ ObjectNameDto ond = this.briefReportDao.getOrgName(objectNameDtoList.get(0).getId().substring(0,6)); orgName = ond.getName(); } } } Map params=getMap(province); String length=params.get("length"); String zero=params.get("zero"); List result = new ArrayList<>(); List list0 = briefReportDao.getAdCodeByType("001",adName,orgName,province,length,zero); List list1 = briefReportDao.getOrgProGroupList("001",adName,orgName,sttm,entm,province,length,zero); List list2 = briefReportDao.getOrgProPersList("001",adName,orgName,sttm,entm,province,length,zero); List list3 = briefReportDao.getOrgProCountryList(adName,orgName,sttm,entm,state,province,length,zero); //添加督查状态 List list4 = briefReportDao.getOrgProRsvrList("",adName,orgName,sttm,entm,state,province,length,zero);//添加督查状态 List list5 = briefReportDao.getOrgProRsvrList("4",adName,orgName,sttm,entm,state,province,length,zero); List list6 = briefReportDao.getOrgProRsvrList("5",adName,orgName,sttm,entm,state,province,length,zero); Map map = new HashMap<>(); map.put("orgName",orgName); map.put("adName",adName); map.put("objType","1"); map.put("sttm",sttm); map.put("entm",entm); map.put("state",state); map.put("length",length); map.put("zero",zero); map.put("province",province); List list7 = briefReportDao.getOrgProPblmList(map); map = new HashMap<>(); map.put("objType","1"); map.put("length",length); map.put("zero",zero); map.put("orgName",orgName); map.put("adName",adName); map.put("cate","0"); map.put("sttm",sttm); map.put("entm",entm); map.put("state",state); map.put("province",province); List list8 = briefReportDao.getOrgProPblmList(map); map.put("cate","1"); List list9 = briefReportDao.getOrgProPblmList(map); map.put("cate","2"); List list10 = briefReportDao.getOrgProPblmList(map); map.put("cate","3"); List list11 = briefReportDao.getOrgProPblmList(map); Map map1 = list1.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map2 = list2.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map3 = list3.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map4 = list4.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map5 = list5.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map6 = list6.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map7 = list7.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map8 = list8.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map9 = list9.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map10 = list10.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map11 = list11.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); List> list = new ArrayList<>(); for (BriefReport brief : list0) { String ad_code = brief.getAdCode(); String ad_name = brief.getAdName(); String code = brief.getCode(); String pnm = brief.getPnm(); // int num = brief.getNum(); RsvrWork rsvrWork = new RsvrWork(); rsvrWork.setAdCode(ad_code); rsvrWork.setAdName(ad_name); rsvrWork.setNm(ad_name); rsvrWork.setCode(code); rsvrWork.setName(pnm); // rsvrWork.setGroup(num); ad_code += code; int group = 0; if(map1.get(ad_code)!=null){ group = map1.get(ad_code); } rsvrWork.setGroup(group); int pers = 0; if(map2.get(ad_code)!=null){ pers = map2.get(ad_code); } rsvrWork.setPers(pers); int country = 0; if(map3.get(ad_code)!=null){ country = map3.get(ad_code); } rsvrWork.setCountry(country); int rsvr = 0; if(map4.get(ad_code)!=null){ rsvr = map4.get(ad_code); } rsvrWork.setRsvr(rsvr); int rsvrOne = 0; if(map5.get(ad_code)!=null){ rsvrOne = map5.get(ad_code); } rsvrWork.setRsvrOne(rsvrOne); int rsvrTwo = 0; if(map6.get(ad_code)!=null){ rsvrTwo = map6.get(ad_code); } rsvrWork.setRsvrTwo(rsvrTwo); int pblm = 0; if(map7.get(ad_code)!=null){ pblm = map7.get(ad_code); } rsvrWork.setPblm(pblm); int pblmOne = 0; if(map8.get(ad_code)!=null){ pblmOne = map8.get(ad_code); } rsvrWork.setPblmOne(pblmOne); int pblmTwo = 0; if(map9.get(ad_code)!=null){ pblmTwo = map9.get(ad_code); } rsvrWork.setPblmTwo(pblmTwo); int pblmThree = 0; if(map10.get(ad_code)!=null){ pblmThree = map10.get(ad_code); } int pblmFour=0; if(map11.get(ad_code)!=null){ pblmFour = map11.get(ad_code); } rsvrWork.setPblmThree(pblmThree); rsvrWork.setPblmFour(pblmFour); result.add(rsvrWork); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(rsvrWork); list.add(listMap); } RsvrWork rsvrWork = new RsvrWork(); rsvrWork.setCode(AdCodeLabel.START_PARENT_ADCODE); rsvrWork.setAdCode("000000000000"); rsvrWork.setAdName("全部"); rsvrWork.setNm("全部"); rsvrWork.setName("合计"); int group = result.stream().mapToInt(RsvrWork::getGroup).sum(); rsvrWork.setGroup(group); int pers = result.stream().mapToInt(RsvrWork::getPers).sum(); rsvrWork.setPers(pers); int country = result.stream().mapToInt(RsvrWork::getCountry).sum(); rsvrWork.setCountry(country); int rsvr = result.stream().mapToInt(RsvrWork::getRsvr).sum(); rsvrWork.setRsvr(rsvr); int rsvrOne = result.stream().mapToInt(RsvrWork::getRsvrOne).sum(); rsvrWork.setRsvrOne(rsvrOne); int rsvrTwo = result.stream().mapToInt(RsvrWork::getRsvrTwo).sum(); rsvrWork.setRsvrTwo(rsvrTwo); int pblm = result.stream().mapToInt(RsvrWork::getPblm).sum(); rsvrWork.setPblm(pblm); int pblmOne = result.stream().mapToInt(RsvrWork::getPblmOne).sum(); rsvrWork.setPblmOne(pblmOne); int pblmTwo = result.stream().mapToInt(RsvrWork::getPblmTwo).sum(); rsvrWork.setPblmTwo(pblmTwo); int pblmThree = result.stream().mapToInt(RsvrWork::getPblmThree).sum(); rsvrWork.setPblmThree(pblmThree); int pblmFour = result.stream().mapToInt(RsvrWork::getPblmFour).sum(); rsvrWork.setPblmFour(pblmFour); result.add(rsvrWork); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(rsvrWork); list.add(listMap); if("1".equals(isExport)){ ExportAbstract export = new ExcelExport(); export.setFileName( "省+单位-小水库督查工作统计" );//view.getView_name() export.setExport_ps_export( true ); export.setExport_ps_type( ExportAbstract.XLS ); export.setExport_bzip( false ); export.setTitle( "省+单位-小水库督查工作统计" ); ArrayList cols = new ArrayList(); cols.add( "adName[省份]" ); cols.add( "name[单位]" ); cols.add( "group[组]" ); cols.add( "pers[人]" ); cols.add( "country[县]" ); cols.add( "rsvr[水库]" ); cols.add( "rsvrOne[小一型]" ); cols.add( "rsvrTwo[小二型]" ); cols.add( "pblmOne[一般问题]" ); cols.add( "pblmTwo[较重问题]" ); cols.add( "pblmThree[严重问题]" ); cols.add( "pblmFour[特别严重问题]" ); cols.add( "pblm[问题合计]" ); export.setCols( cols ); export.setGroupable( false ); // 设置视图指标 export.setLevel(1); export.setLocksize(0); try { export.Export(response); export.ExportHeadForCustom(response);//导出表头 export.ContinueExport(list); export.EndExport(); } catch (Exception e) { e.printStackTrace(); } } return result; } /** * 单位+省份--获取小水库的督查工作情况统计表 * @param response * @param orgName * @param adName * @param isExport * @return */ @Override public List getBigRsvrWorkByOrgPro(HttpServletResponse response, String adName, String orgName, String isExport,String sttm, String entm,String persid, String state,String province) { if(persid!=null&&persid!=""){ List objectNameDtoList = this.briefReportDao.getbigNmByPersid(persid,province); if(objectNameDtoList.size()>0){ int i = 0; for(ObjectNameDto o : objectNameDtoList){ if(o.getId().length()==3){ i ++ ; } } if(i==0){ ObjectNameDto ond = this.briefReportDao.getOrgName(objectNameDtoList.get(0).getId().substring(0,6)); orgName = ond.getName(); } } } Map params=getMap(province); String length=params.get("length"); String zero=params.get("zero"); List result = new ArrayList<>(); List list0 = briefReportDao.getAdCodeByType("036",adName,orgName,province,length,zero); List list1 = briefReportDao.getOrgProGroupList("036",adName,orgName,sttm,entm,province,length,zero); List list2 = briefReportDao.getOrgProPersList("036",adName,orgName,sttm,entm,province,length,zero); List list3 = briefReportDao.getOrgProCountryList(adName,orgName,sttm,entm,state,province,length,zero); //添加督查状态 List list4 = briefReportDao.getOrgProRsvrList("",adName,orgName,sttm,entm,state,province,length,zero);//添加督查状态 List list5 = briefReportDao.getOrgProRsvrList("1",adName,orgName,sttm,entm,state,province,length,zero); List list6 = briefReportDao.getOrgProRsvrList("2",adName,orgName,sttm,entm,state,province,length,zero); List list12 = briefReportDao.getOrgProRsvrList("3",adName,orgName,sttm,entm,state,province,length,zero); Map map = new HashMap<>(); map.put("orgName",orgName); map.put("adName",adName); map.put("objType","36"); map.put("sttm",sttm); map.put("entm",entm); map.put("state",state); map.put("length",length); map.put("zero",zero); map.put("province",province); List list7 = briefReportDao.getOrgProPblmList(map); map = new HashMap<>(); map.put("objType","36"); map.put("length",length); map.put("zero",zero); map.put("orgName",orgName); map.put("adName",adName); map.put("cate","0"); map.put("sttm",sttm); map.put("entm",entm); map.put("state",state); map.put("province",province); List list8 = briefReportDao.getOrgProPblmList(map); map.put("cate","1"); List list9 = briefReportDao.getOrgProPblmList(map); map.put("cate","2"); List list10 = briefReportDao.getOrgProPblmList(map); map.put("cate","3"); List list11 = briefReportDao.getOrgProPblmList(map); Map map1 = list1.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map2 = list2.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map3 = list3.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map4 = list4.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map5 = list5.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map6 = list6.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map12 = list12.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map7 = list7.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map8 = list8.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map9 = list9.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map10 = list10.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map11 = list11.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); List> list = new ArrayList<>(); for (BriefReport brief : list0) { String ad_code = brief.getAdCode(); String ad_name = brief.getAdName(); String code = brief.getCode(); String pnm = brief.getPnm(); RsvrWork rsvrWork = new RsvrWork(); rsvrWork.setAdCode(ad_code); rsvrWork.setAdName(ad_name); rsvrWork.setNm(ad_name); rsvrWork.setCode(code); rsvrWork.setName(pnm); // rsvrWork.setGroup(num); ad_code += code; int group = 0; if(map1.get(ad_code)!=null){ group = map1.get(ad_code); } rsvrWork.setGroup(group); int pers = 0; if(map2.get(ad_code)!=null){ pers = map2.get(ad_code); } rsvrWork.setPers(pers); int country = 0; if(map3.get(ad_code)!=null){ country = map3.get(ad_code); } rsvrWork.setCountry(country); int rsvr = 0; if(map4.get(ad_code)!=null){ rsvr = map4.get(ad_code); } rsvrWork.setRsvr(rsvr); int rsvrThree = 0; if(map12.get(ad_code)!=null){ rsvrThree = map12.get(ad_code); } rsvrWork.setRsvrThree(rsvrThree); int rsvrFour = 0; if(map6.get(ad_code)!=null){ rsvrFour = map6.get(ad_code); } rsvrWork.setRsvrFour(rsvrFour); int rsvrFive = 0; if(map5.get(ad_code)!=null){ rsvrFive = map5.get(ad_code); } rsvrWork.setRsvrFive(rsvrFive); int pblm = 0; if(map7.get(ad_code)!=null){ pblm = map7.get(ad_code); } rsvrWork.setPblm(pblm); int pblmOne = 0; if(map8.get(ad_code)!=null){ pblmOne = map8.get(ad_code); } rsvrWork.setPblmOne(pblmOne); int pblmTwo = 0; if(map9.get(ad_code)!=null){ pblmTwo = map9.get(ad_code); } rsvrWork.setPblmTwo(pblmTwo); int pblmThree = 0; if(map10.get(ad_code)!=null){ pblmThree = map10.get(ad_code); } int pblmFour=0; if(map11.get(ad_code)!=null){ pblmFour = map11.get(ad_code); } rsvrWork.setPblmThree(pblmThree); rsvrWork.setPblmFour(pblmFour); result.add(rsvrWork); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(rsvrWork); list.add(listMap); } RsvrWork rsvrWork = new RsvrWork(); rsvrWork.setCode(AdCodeLabel.START_PARENT_ADCODE); rsvrWork.setAdCode("000000000000"); rsvrWork.setAdName("全部"); rsvrWork.setNm("全部"); rsvrWork.setName("合计"); int group = result.stream().mapToInt(RsvrWork::getGroup).sum(); rsvrWork.setGroup(group); int pers = result.stream().mapToInt(RsvrWork::getPers).sum(); rsvrWork.setPers(pers); int country = result.stream().mapToInt(RsvrWork::getCountry).sum(); rsvrWork.setCountry(country); int rsvr = result.stream().mapToInt(RsvrWork::getRsvr).sum(); rsvrWork.setRsvr(rsvr); int rsvrThree = result.stream().mapToInt(RsvrWork::getRsvrThree).sum(); rsvrWork.setRsvrThree(rsvrThree); int rsvrFour = result.stream().mapToInt(RsvrWork::getRsvrFour).sum(); rsvrWork.setRsvrFour(rsvrFour); int rsvrFive = result.stream().mapToInt(RsvrWork::getRsvrFive).sum(); rsvrWork.setRsvrFive(rsvrFive); int pblm = result.stream().mapToInt(RsvrWork::getPblm).sum(); rsvrWork.setPblm(pblm); int pblmOne = result.stream().mapToInt(RsvrWork::getPblmOne).sum(); rsvrWork.setPblmOne(pblmOne); int pblmTwo = result.stream().mapToInt(RsvrWork::getPblmTwo).sum(); rsvrWork.setPblmTwo(pblmTwo); int pblmThree = result.stream().mapToInt(RsvrWork::getPblmThree).sum(); rsvrWork.setPblmThree(pblmThree); int pblmFour = result.stream().mapToInt(RsvrWork::getPblmFour).sum(); rsvrWork.setPblmFour(pblmFour); result.add(rsvrWork); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(rsvrWork); list.add(listMap); if("1".equals(isExport)){ ExportAbstract export = new ExcelExport(); export.setFileName( "省+单位-小水库督查工作统计" );//view.getView_name() export.setExport_ps_export( true ); export.setExport_ps_type( ExportAbstract.XLS ); export.setExport_bzip( false ); export.setTitle( "省+单位-小水库督查工作统计" ); ArrayList cols = new ArrayList(); cols.add( "adName[省份]" ); cols.add( "name[单位]" ); cols.add( "group[组]" ); cols.add( "pers[人]" ); cols.add( "country[县]" ); cols.add( "rsvr[水库]" ); cols.add( "rsvrOne[小一型]" ); cols.add( "rsvrTwo[小二型]" ); cols.add( "pblmOne[一般问题]" ); cols.add( "pblmTwo[较重问题]" ); cols.add( "pblmThree[严重问题]" ); cols.add( "pblmFour[特别严重问题]" ); cols.add( "pblm[问题合计]" ); export.setCols( cols ); export.setGroupable( false ); // 设置视图指标 export.setLevel(1); export.setLocksize(0); try { export.Export(response); export.ExportHeadForCustom(response);//导出表头 export.ContinueExport(list); export.EndExport(); } catch (Exception e) { e.printStackTrace(); } } return result; } @Override public List getWorkByObjType(HttpServletResponse response, BriefReportParam briefReportParam) { List result = new ArrayList<>(); StringBuilder sb = new StringBuilder(""); if (org.apache.commons.lang3.StringUtils.isNotBlank(briefReportParam.getObjType())) { if (briefReportParam.getObjType().length() == 1) { sb.append("00").append(briefReportParam.getObjType()); } else if (briefReportParam.getObjType().length() == 2) { sb.append("0").append(briefReportParam.getObjType()); } else { sb.append(briefReportParam.getObjType()); } } String objType = sb.toString(); Map params=getMap(briefReportParam.getProvince()); String length=params.get("length"); String zero=params.get("zero"); List list0 = briefReportDao.getAdCodeByType(objType, briefReportParam.getAdName(), briefReportParam.getOrgName() ,briefReportParam.getProvince(),length,zero); List list1 = briefReportDao.getOrgProGroupList(objType, briefReportParam.getAdName(), briefReportParam.getOrgName(), briefReportParam.getSttm(), briefReportParam.getEntm(),briefReportParam.getProvince(),length,zero); List list2 = briefReportDao.getOrgProPersList(objType, briefReportParam.getAdName(), briefReportParam.getOrgName(), briefReportParam.getSttm(), briefReportParam.getEntm(),briefReportParam.getProvince(),length,zero); List list3 = briefReportDao.getOrgProCountryList(briefReportParam.getAdName(), briefReportParam.getOrgName(), briefReportParam.getSttm(), briefReportParam.getEntm(), briefReportParam.getState(),briefReportParam.getProvince(),length,zero); //添加督查状态 List proList = briefReportDao.getOrgProList(briefReportParam); Map proMap = convertToMap(proList, briefReportParam.getObjType()); List pblmList = briefReportDao.getOrgPblmList(briefReportParam); Map pblmMap = convertToMap(pblmList, briefReportParam.getObjType()); Map map1 = list1.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map2 = list2.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map3 = list3.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); list0.forEach(bf -> { BriefReportWorkDto dto = new BriefReportWorkDto(); dto.setAdCode(bf.getAdCode()); dto.setAdName(bf.getAdName()); dto.setOrgCode(bf.getCode()); dto.setOrgName(bf.getPnm()); dto.setObjType(briefReportParam.getObjType()); String ad_code = dto.getAdCode() + dto.getOrgCode(); int group = 0; if (map1.get(ad_code) != null) { group = map1.get(ad_code); } dto.setGroupCount(new Long(group)); int pers = 0; if (map2.get(ad_code) != null) { pers = map2.get(ad_code); } dto.setPersCount(new Long(pers)); int country = 0; if (map3.get(ad_code) != null) { country = map3.get(ad_code); } dto.setCountryCount(new Long(country)); int objCount = 0; if (proMap.get(ad_code) != null) { objCount = proMap.get(ad_code); } dto.setObjCount(new Long(objCount)); int objOneCount = 0; if (proMap.get(ad_code + "1") != null) { objOneCount = proMap.get(ad_code + "1"); } dto.setObjOneCount(new Long(objOneCount)); int objTwoCount = 0; if (proMap.get(ad_code+ "2") != null) { objTwoCount = proMap.get(ad_code + "2"); } dto.setObjTwoCount(new Long(objTwoCount)); int objThreeCount = 0; if (proMap.get(ad_code + "3") != null) { objThreeCount = proMap.get(ad_code + "3"); } dto.setObjCount(new Long(objThreeCount)); int objFourCount = 0; if (proMap.get(ad_code + "4") != null) { objFourCount = proMap.get(ad_code + "4"); } dto.setObjCount(new Long(objFourCount)); int pblmCount = 0; if (pblmMap.get(ad_code) != null) { pblmCount = pblmMap.get(ad_code); } dto.setPblmCount(Long.valueOf(pblmCount)); int pblmOneCount = 0; if (pblmMap.get(ad_code + "0") != null) { pblmOneCount = pblmMap.get(ad_code + "0"); } dto.setPblmOneCount(Long.valueOf(pblmOneCount)); int pblmTwoCount = 0; if (pblmMap.get(ad_code + "1") != null) { pblmTwoCount = pblmMap.get(ad_code + "1"); } dto.setPblmTwoCount(Long.valueOf(pblmTwoCount)); int pblmThreeCount = 0; if (pblmMap.get(ad_code + "2") != null) { pblmThreeCount = pblmMap.get(ad_code + "2"); } dto.setPblmThreeCount(Long.valueOf(pblmThreeCount)); int pblmFourCount = 0; if (pblmMap.get(ad_code + "3") != null) { pblmFourCount = pblmMap.get(ad_code + "3"); } dto.setPblmFourCount(Long.valueOf(pblmFourCount)); result.add(dto); }); exportExcel(briefReportParam, response, result, "0"); return result; } private Map convertToMap(List proList, String objType) { Map map = new HashedMap(); if (proList == null || proList.size() == 0) { return map; } proList.forEach(bf -> { if (map.containsKey(bf.getAdCode() + bf.getCode())) { map.put(bf.getAdCode() + bf.getCode(), map.get(bf.getAdCode() + bf.getCode()) + bf.getNum()); } else { map.put(bf.getAdCode() + bf.getCode(), bf.getNum()); } if (org.apache.commons.lang3.StringUtils.isNotBlank(bf.getType())) { map.put(bf.getAdCode() + bf.getCode() + bf.getType(), bf.getNum()); } }); return map; } private void exportExcel(BriefReportParam briefReportParam, HttpServletResponse response, List result, String type) { if ("1".equals(briefReportParam.getIsExport())) { List columns = new ArrayList<>(); columns.add("objType"); columns.add("orgCode"); if ("0".equals(type)) { columns.add("proCount"); columns.add("groupName"); columns.add("mileage"); } else if ("1".equals(type)) { columns.add("groupName"); columns.add("mileage"); } BisInspEnum inspEnum = EnumUtil.getBisInspEnum(briefReportParam.getObjType()); String fileName = ""; if (inspEnum != null) { fileName = inspEnum.getDesc(); } //根据不同分类过滤不同类别 ExportUtil.exportExcel(result, response, fileName + "统计列表", columns, BriefReportWorkDto.class); } } private Map convertToMapByCode(List proList, String objType) { Map map = new HashedMap(); if (proList == null || proList.size() == 0) { return map; } proList.forEach(bf -> { if (map.containsKey(bf.getCode())) { map.put(bf.getCode(), map.get(bf.getCode()) + bf.getNum()); } else { map.put(bf.getCode(), bf.getNum()); } if (org.apache.commons.lang3.StringUtils.isNotBlank(bf.getType())) { map.put(bf.getCode() + bf.getType(), bf.getNum()); } }); return map; } @Override public List getOrgWorkByObjType(HttpServletResponse response, BriefReportParam briefReportParam) { List result = new ArrayList<>(); StringBuilder sb = new StringBuilder(""); if (org.apache.commons.lang3.StringUtils.isNotBlank(briefReportParam.getObjType())) { if (briefReportParam.getObjType().length() == 1) { sb.append("00").append(briefReportParam.getObjType()); } else if (briefReportParam.getObjType().length() == 2) { sb.append("0").append(briefReportParam.getObjType()); } else { sb.append(briefReportParam.getObjType()); } } String objType = sb.toString(); Map map = new HashMap<>(); map.put("orgName", briefReportParam.getOrgName()); map.put("type", objType); List list0 = briefReportDao.getGroupCountListByType(map); map.put("sttm", briefReportParam.getSttm()); map.put("entm", briefReportParam.getEntm()); List list1 = briefReportDao.getGroupCountListByType(map); List list2 = briefReportDao.getPersCountListByType(map); //省 List proList = briefReportDao.getOrgWorkProCountList(briefReportParam); //县 List countryList = briefReportDao.getOrgWorkCtCountList(briefReportParam); List objList = briefReportDao.getOrgWorkObjCountListByType(briefReportParam);//添加督查状态 List pblmList = briefReportDao.getPblmCountListByType(briefReportParam); Map proMap = convertToMapByCode(proList, briefReportParam.getObjType()); Map countryMap = convertToMapByCode(countryList, briefReportParam.getObjType()); Map objMap = convertToMapByCode(objList, briefReportParam.getObjType()); Map pblmMap = convertToMapByCode(pblmList, briefReportParam.getObjType()); Map map1 = list1.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map2 = list2.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); list0.forEach(bf -> { BriefReportWorkDto dto = new BriefReportWorkDto(); dto.setAdCode(bf.getAdCode()); dto.setAdName(bf.getAdName()); dto.setOrgCode(bf.getCode()); dto.setOrgName(bf.getPnm()); dto.setObjType(briefReportParam.getObjType()); int groupCount = 0; if (map1.get(bf.getCode()) != null) { groupCount = map1.get(bf.getCode()); } dto.setGroupCount(Long.valueOf(groupCount)); int persCount = 0; if (map2.get(bf.getCode()) != null) { persCount = map2.get(bf.getCode()); } dto.setPersCount(Long.valueOf(persCount)); int proCount = 0; if (proMap.get(bf.getCode()) != null) { proCount = proMap.get(bf.getCode()); } dto.setProCount(Long.valueOf(proCount)); int countryCount = 0; if (countryMap.get(bf.getCode()) != null) { countryCount = countryMap.get(bf.getCode()); } dto.setCountryCount(Long.valueOf(countryCount)); int objCount = 0; if (proMap.get(bf.getCode()) != null) { objCount = proMap.get(bf.getCode()); } dto.setObjCount(new Long(objCount)); int objOneCount = 0; if (proMap.get(bf.getCode() + "1") != null) { objOneCount = proMap.get(bf.getCode() + "1"); } dto.setObjOneCount(new Long(objOneCount)); int objTwoCount = 0; if (proMap.get(bf.getCode() + "2") != null) { objTwoCount = proMap.get(bf.getCode() + "2"); } dto.setObjTwoCount(new Long(objTwoCount)); int objThreeCount = 0; if (proMap.get(bf.getCode() + "3") != null) { objThreeCount = proMap.get(bf.getCode() + "3"); } dto.setObjCount(new Long(objThreeCount)); int objFourCount = 0; if (proMap.get(bf.getCode() + "4") != null) { objFourCount = proMap.get(bf.getCode() + "4"); } dto.setObjCount(new Long(objFourCount)); int pblmCount = 0; if (pblmMap.get(bf.getCode()) != null) { pblmCount = pblmMap.get(bf.getCode()); } dto.setPblmCount(Long.valueOf(pblmCount)); int pblmOneCount = 0; if (pblmMap.get(bf.getCode() + "0") != null) { pblmOneCount = pblmMap.get(bf.getCode() + "0"); } dto.setPblmOneCount(Long.valueOf(pblmOneCount)); int pblmTwoCount = 0; if (pblmMap.get(bf.getCode() + "1") != null) { pblmTwoCount = pblmMap.get(bf.getCode() + "1"); } dto.setPblmTwoCount(Long.valueOf(pblmTwoCount)); int pblmThreeCount = 0; if (pblmMap.get(bf.getCode() + "2") != null) { pblmThreeCount = pblmMap.get(bf.getCode() + "2"); } dto.setPblmThreeCount(Long.valueOf(pblmThreeCount)); int pblmFourCount = 0; if (pblmMap.get(bf.getCode() + "3") != null) { pblmFourCount = pblmMap.get(bf.getCode() + "3"); } dto.setPblmFourCount(Long.valueOf(pblmFourCount)); result.add(dto); }); exportExcel(briefReportParam, response, result, "1"); return result; } @Override public List getGroupWorkByObjType(HttpServletResponse response, BriefReportParam briefReportParam) { List result = new ArrayList<>(); if (org.apache.commons.lang3.StringUtils.isBlank(briefReportParam.getObjType())) { return result; } String objType = briefReportParam.getObjType(); if (briefReportParam.getObjType().length() == 1) { briefReportParam.setObjType("00" + briefReportParam.getObjType()); } else if (briefReportParam.getObjType().length() == 2) { briefReportParam.setObjType("0" + briefReportParam.getObjType()); } List objCountList = this.briefReportDao.getRiverSupervisionCount(briefReportParam); if (objCountList.size() > 0) { String groupId = getIdsByName(objCountList, "groupId", false); if (org.apache.commons.lang3.StringUtils.isNotBlank(groupId)) { Map map = new HashedMap(); map.put("groupId", groupId); map.put("objType", objType); //得到区域列表 List adNameDtos = this.briefReportDao.getAdNameDtoListByGroupIds(map); Map> adNameMap = persAchiveNameListToMap(adNameDtos); //人员列表 List persCountDtos = briefReportDao.getPersCountById(groupId); Map persMap = persCountDtoToMapById(persCountDtos); //县列表 List countryDtos = briefReportDao.getGroupCountyCountById(map); Map countMap = persCountDtoToMapById(countryDtos); //对象列表列表 map.put("state", briefReportParam.getState()); List rsDtos = briefReportDao.getGroupCountByGroupId(map); Map rsMap = persCountDtoToMapByType(rsDtos); //问题列表 List proDtos = null; if (BisInspEnum.FSC.getValue().equals(objType) || BisInspEnum.OTHER.getValue().equals(objType)) { briefReportParam.setGroupId(groupId); proDtos = briefReportDao.getFscOrOthProCountByGroupId(briefReportParam); } else { proDtos = briefReportDao.getAllProCountByGroupId(objType, groupId, "1", briefReportParam.getSttm(), briefReportParam.getEntm(), briefReportParam.getState()); } Map proMap = persCountDtoToMapByType(proDtos); for (RiverSupervisionRivCount r : objCountList) { if (r.getGroupId() != null) { if (adNameMap.get(r.getGroupId()) == null) { continue; } BriefReportWorkDto r1 = new BriefReportWorkDto(); String adName = getAdNames(adNameMap.get(r.getGroupId()),briefReportParam); if (org.apache.commons.lang3.StringUtils.isBlank(adName) && org.apache.commons.lang3.StringUtils.isNotBlank(briefReportParam.getAdName())) { continue; } r1.setAdName(adName);//省(市、自治区) r1.setOrgCode(r.getBasinId()); r1.setOrgName(r.getBasinName()); r1.setGroupName(r.getGroupName()); r1.setProCount((long) (adNameMap.get(r.getGroupId()) == null ? 0 : adNameMap.get(r.getGroupId()).size()));//省(市、自治区)数量 r1.setPersCount((long) (persMap.get(r.getGroupId()) == null ? 0 : persMap.get(r.getGroupId())));//人数 r1.setCountryCount((long) (countMap.get(r.getGroupId()) == null ? 0 : countMap.get(r.getGroupId())));//县(市、区) r1.setObjOneCount((long) (rsMap.get(r.getGroupId()+"1") == null ? 0 : rsMap.get(r.getGroupId()+"1"))); r1.setObjTwoCount((long) (rsMap.get(r.getGroupId()+"2") == null ? 0 : rsMap.get(r.getGroupId()+"2"))); r1.setObjThreeCount((long) (rsMap.get(r.getGroupId()+"3") == null ? 0 : rsMap.get(r.getGroupId()+"3"))); r1.setObjFourCount((long) (rsMap.get(r.getGroupId()+"4") == null ? 0 : rsMap.get(r.getGroupId()+"4"))); r1.setObjCount(r1.getObjOneCount() + r1.getObjTwoCount() + r1.getObjThreeCount() + r1.getObjFourCount()); r1.setPblmOneCount((long) (proMap.get(r.getGroupId()+"0") == null ? 0 : proMap.get(r.getGroupId() + "0")));//一般问题统计 r1.setPblmTwoCount((long) (proMap.get(r.getGroupId()+"1") == null ? 0 : proMap.get(r.getGroupId() + "1")));//较重问题统计 r1.setPblmThreeCount((long)(proMap.get(r.getGroupId()+"2") == null ? 0 : proMap.get(r.getGroupId() + "2")));//严重问题统计 r1.setPblmFourCount((long) (proMap.get(r.getGroupId()+"3") == null ? 0 : proMap.get(r.getGroupId() + "3")));//严重问题统计 r1.setPblmCount(r1.getPblmOneCount() + r1.getPblmTwoCount() + r1.getPblmThreeCount() + r1.getPblmFourCount());//问题总数 result.add(r1); } } } } exportExcel(briefReportParam, response, result, "2"); return result; } @Override public List getPersWorkByObjType(HttpServletResponse response, BriefReportParam briefReportParam) { List result = new ArrayList<>(); if (org.apache.commons.lang3.StringUtils.isBlank(briefReportParam.getObjType())) { return result; } String objType = briefReportParam.getObjType(); if (briefReportParam.getObjType().length() == 1) { briefReportParam.setObjType("00" + briefReportParam.getObjType()); } else if (briefReportParam.getObjType().length() == 2) { briefReportParam.setObjType("0" + briefReportParam.getObjType()); } List riverSupervisionList = this.briefReportDao.getPersWorkSupervisionInfo(briefReportParam); if (riverSupervisionList.size() > 0) { String persIds = getIdsByName(riverSupervisionList,"persId", false); List adNameDtoList = briefReportDao.getPersAdFullNameDtoListByPersIds(persIds); Map> adNameMap = persAchiveNameListToMap(adNameDtoList); briefReportParam.setPersIds(persIds); List objDtos = briefReportDao.getPersCountByPersIds(briefReportParam); Map objMap = persCountDtoToMapByType(objDtos); List proDtos = null; if (BisInspEnum.FSC.getValue().equals(objType) || BisInspEnum.OTHER.getValue().equals(objType)) { briefReportParam.setPersIds(persIds); proDtos = briefReportDao.getPersFscOrOthProCountByPersIds(briefReportParam); } else { proDtos = briefReportDao.getPersAllProCountByPersIds(objType, persIds, briefReportParam.getSttm(), briefReportParam.getEntm(), briefReportParam.getState()); } Map proMap = persCountDtoToMapByType(proDtos); List mileDtos = bisInspMileageDao.calMileageByPerIdsAndDate(persIds, briefReportParam.getSttm(), briefReportParam.getEntm()); Map mileMap = persCountDtoToMapById(mileDtos); for (RiverSupervisionRivCount r : riverSupervisionList) { if (r.getPersId() != null) { if (adNameMap.get(r.getPersId()) == null) { continue; } BriefReportWorkDto r1 = new BriefReportWorkDto(); String adName = getAdNames(adNameMap.get(r.getPersId()), briefReportParam); if (org.apache.commons.lang3.StringUtils.isBlank(adName) && org.apache.commons.lang3.StringUtils.isNotBlank(briefReportParam.getAdName())) { continue; } r1.setAdName(adName); r1.setOrgCode(r.getBasinId()); r1.setOrgName(r.getBasinName()); r1.setGroupName(r.getGroupName()); r1.setGroupName(r.getPersName()); r1.setObjOneCount((long) (objMap.get(r.getGroupId()+"1") == null ? 0 : objMap.get(r.getGroupId()+"1"))); r1.setObjTwoCount((long) (objMap.get(r.getGroupId()+"2") == null ? 0 : objMap.get(r.getGroupId()+"2"))); r1.setObjThreeCount((long) (objMap.get(r.getGroupId()+"3") == null ? 0 : objMap.get(r.getGroupId()+"3"))); r1.setObjFourCount((long) (objMap.get(r.getGroupId()+"4") == null ? 0 : objMap.get(r.getGroupId()+"4"))); r1.setObjCount(r1.getObjOneCount() + r1.getObjTwoCount() + r1.getObjThreeCount() + r1.getObjFourCount()); r1.setPblmOneCount((long) (proMap.get(r.getGroupId()+"0") == null ? 0 : proMap.get(r.getGroupId() + "0")));//一般问题统计 r1.setPblmTwoCount((long) (proMap.get(r.getGroupId()+"1") == null ? 0 : proMap.get(r.getGroupId() + "1")));//较重问题统计 r1.setPblmThreeCount((long)(proMap.get(r.getGroupId()+"2") == null ? 0 : proMap.get(r.getGroupId() + "2")));//严重问题统计 r1.setPblmFourCount((long) (proMap.get(r.getGroupId()+"3") == null ? 0 : proMap.get(r.getGroupId() + "3")));//严重问题统计 r1.setPblmCount(r1.getPblmOneCount() + r1.getPblmTwoCount() + r1.getPblmThreeCount() + r1.getPblmFourCount());//问题总数 r1.setMileage((long) (mileMap.get(r.getPersId()) == null ? 0 : mileMap.get(r.getPersId()))); result.add(r1); } } } exportExcel(briefReportParam, response, result, "3"); return result; } /** * 单位+省份--获取农饮督查工作情况统计表 * @return */ @Override public List getVillWorkByOrgPro(HttpServletResponse response, String adName, String orgName, String isExport,String sttm,String entm,String state,String province) { Map params=getMap(province); String length=params.get("length"); String zero=params.get("zero"); List result = new ArrayList<>(); List list0 = briefReportDao.getAdCodeByType("002",adName,orgName,province,length,zero); List list1 = briefReportDao.getOrgProGroupList("002",adName,orgName,sttm,entm,province,length,zero); List list2 = briefReportDao.getOrgProPersList("002",adName,orgName,sttm,entm,province,length,zero); List list4 = briefReportDao.getOrgProVillCountryList(adName,orgName,sttm,entm,state,province);//添加督查状态 List list5 = briefReportDao.getOrgProVillVillList(adName,orgName,sttm,entm,state,province);//添加督查状态 List list6 = briefReportDao.getOrgProVillPersList(adName,orgName,sttm,entm,state,province);//添加督查状态 List list7 = briefReportDao.getOrgProVillCwsList(adName,orgName,sttm,entm,state,province);//添加督查状态 List list8 = briefReportDao.getOrgProVillWaterList(adName,orgName,sttm,entm,state,province);//添加督查状态 Map map = new HashMap<>(); map.put("orgName",orgName); map.put("adName",adName); map.put("objType","2"); map.put("sttm",sttm); map.put("entm",entm); map.put("state",state); map.put("length",length); map.put("zero",zero); map.put("province",province); List list9 = briefReportDao.getOrgProPblmList(map); map = new HashMap<>(); map.put("objType","2"); map.put("orgName",orgName); map.put("province",province); map.put("adName",adName); map.put("cate","0"); map.put("length",length); map.put("zero",zero); map.put("sttm",sttm); map.put("entm",entm); map.put("state",state); List list10 = briefReportDao.getOrgProPblmList(map); map.put("cate","1"); List list11 = briefReportDao.getOrgProPblmList(map); map.put("cate","2"); List list12 = briefReportDao.getOrgProPblmList(map); Map map1 = list1.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map2 = list2.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map4 = list4.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map5 = list5.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map6 = list6.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map7 = list7.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map8 = list8.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map9 = list9.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map10 = list10.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map11 = list11.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map12 = list12.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); List> list = new ArrayList<>(); for (BriefReport brief : list0) { String ad_code = brief.getAdCode(); String ad_name = brief.getAdName(); String code = brief.getCode(); String pnm = brief.getPnm(); // int num = brief.getNum(); VillWork villWork = new VillWork(); villWork.setAdCode(ad_code); villWork.setAdName(ad_name); villWork.setCode(code); villWork.setName(pnm); // villWork.setGroup(num); ad_code += code; int group = 0; if(map1.get(ad_code)!=null){ group = map1.get(ad_code); } villWork.setGroup(group); int pers = 0; if(map2.get(ad_code)!=null){ pers = map2.get(ad_code); } villWork.setPers(pers); int country = 0; if(map4.get(ad_code)!=null){ country = map4.get(ad_code); } villWork.setCountry(country); int vill = 0; if(map5.get(ad_code)!=null){ vill = map5.get(ad_code); } villWork.setVill(vill); int wUser = 0; if(map6.get(ad_code)!=null){ wUser = map6.get(ad_code); } villWork.setwUser(wUser); int cws = 0; if(map7.get(ad_code)!=null){ cws = map7.get(ad_code); } villWork.setCws(cws); int water = 0; if(map8.get(ad_code)!=null){ water = map8.get(ad_code); } villWork.setWater(water); int pblm = 0; if(map9.get(ad_code)!=null){ pblm = map9.get(ad_code); } villWork.setPblm(pblm); int pblmOne = 0; if(map10.get(ad_code)!=null){ pblmOne = map10.get(ad_code); } villWork.setPblmOne(pblmOne); int pblmTwo = 0; if(map11.get(ad_code)!=null){ pblmTwo = map11.get(ad_code); } villWork.setPblmTwo(pblmTwo); int pblmThree = 0; if(map12.get(ad_code)!=null){ pblmThree = map12.get(ad_code); } villWork.setPblmThree(pblmThree); result.add(villWork); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(villWork); list.add(listMap); } //计算 合计 VillWork villWork = new VillWork(); villWork.setAdCode("000000000000"); villWork.setAdName("全部"); villWork.setCode(AdCodeLabel.START_PARENT_ADCODE); villWork.setName("合计"); int group = result.stream().mapToInt(VillWork::getGroup).sum(); villWork.setGroup(group); int pers = result.stream().mapToInt(VillWork::getPers).sum(); villWork.setPers(pers); int pros = result.stream().mapToInt(VillWork::getPros).sum(); villWork.setPros(pros); int country = result.stream().mapToInt(VillWork::getCountry).sum(); villWork.setCountry(country); int vill = result.stream().mapToInt(VillWork::getVill).sum(); villWork.setVill(vill); int wUser = result.stream().mapToInt(VillWork::getwUser).sum(); villWork.setwUser(wUser); int cws = result.stream().mapToInt(VillWork::getCws).sum(); villWork.setCws(cws); int water = result.stream().mapToInt(VillWork::getWater).sum(); villWork.setWater(water); int pblm = result.stream().mapToInt(VillWork::getPblm).sum(); villWork.setPblm(pblm); int pblmOne = result.stream().mapToInt(VillWork::getPblmOne).sum(); villWork.setPblmOne(pblmOne); int pblmTwo = result.stream().mapToInt(VillWork::getPblmTwo).sum(); villWork.setPblmTwo(pblmTwo); int pblmThree = result.stream().mapToInt(VillWork::getPblmThree).sum(); villWork.setPblmThree(pblmThree); result.add(villWork); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(villWork); list.add(listMap); if("1".equals(isExport)){ ExportAbstract export = new ExcelExport(); export.setFileName( "省+单位-人饮水督查工作统计" );//view.getView_name() export.setExport_ps_export( true ); export.setExport_ps_type( ExportAbstract.XLS ); export.setExport_bzip( false ); export.setTitle( "省+单位-人饮水督查工作统计" ); ArrayList cols = new ArrayList(); cols.add( "adName[省份]" ); cols.add( "name[单位]" ); cols.add( "group[组]" ); cols.add( "pers[人]" ); cols.add( "pros[省]" ); cols.add( "country[县]" ); cols.add( "vill[行政村]" ); cols.add( "wUser[用水户]" ); cols.add( "cws[农饮工程]" ); cols.add( "water[水源地]" ); cols.add( "pblmOne[一般问题]" ); cols.add( "pblmTwo[较重问题]" ); cols.add( "pblmThree[严重问题]" ); cols.add( "pblm[问题合计]" ); export.setCols( cols ); export.setGroupable( false ); // 设置视图指标 export.setLevel(1); export.setLocksize(0); try { export.Export(response); export.ExportHeadForCustom(response);//导出表头 export.ContinueExport(list); export.EndExport(); } catch (Exception e) { e.printStackTrace(); } } return result; } /** * 单位+省份--获取水毁督查工作情况统计表 * @return */ @Override public List getRectWorkByOrgPro(HttpServletResponse response, String adName, String orgName, String isExport,String sttm,String entm,String state,String province) { List result = new ArrayList<>(); Map params=getMap(province); String length=params.get("length"); String zero=params.get("zero"); List list0 = briefReportDao.getAdCodeByType("003",adName,orgName,province,length,zero); List list1 = briefReportDao.getOrgProGroupList("003",adName,orgName,sttm,entm,province,length,zero); List list2 = briefReportDao.getOrgProPersList("003",adName,orgName,sttm,entm,province,length,zero); List list4 = briefReportDao.getOrgProRectCountryList(adName,orgName,sttm,entm,state,province);//添加督查状态 List list5 = briefReportDao.getOrgProRectList(adName,orgName,sttm,entm,state,province);//添加督查状态 Map map = new HashMap<>(); map.put("orgName",orgName); map.put("adName",adName); map.put("objType","3"); map.put("sttm",sttm); map.put("length",length); map.put("zero",zero); map.put("entm",entm); map.put("province",province); map.put("state",state); List list6 = briefReportDao.getOrgProPblmList(map); map = new HashMap<>(); map.put("objType","3"); map.put("orgName",orgName); map.put("adName",adName); map.put("cate","0"); map.put("sttm",sttm); map.put("entm",entm); map.put("length",length); map.put("zero",zero); map.put("province",province); map.put("state",state); List list7 = briefReportDao.getOrgProPblmList(map); map.put("cate","1"); List list8 = briefReportDao.getOrgProPblmList(map); map.put("cate","2"); List list9 = briefReportDao.getOrgProPblmList(map); Map map1 = list1.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map2 = list2.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map4 = list4.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map5 = list5.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map6 = list6.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map7 = list7.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map8 = list8.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map9 = list9.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); List> list = new ArrayList<>(); for (BriefReport brief : list0) { String ad_code = brief.getAdCode(); String ad_name = brief.getAdName(); String code = brief.getCode(); String pnm = brief.getPnm(); // int num = brief.getNum(); RectWork rectWork = new RectWork(); rectWork.setAdCode(ad_code); rectWork.setAdName(ad_name); rectWork.setCode(code); rectWork.setName(pnm); // rectWork.setGroup(num); ad_code += code; int group = 0; if(map1.get(ad_code)!=null){ group = map1.get(ad_code); } rectWork.setGroup(group); int pers = 0; if(map2.get(ad_code)!=null){ pers = map2.get(ad_code); } rectWork.setPers(pers); int country = 0; if(map4.get(ad_code)!=null){ country = map4.get(ad_code); } rectWork.setCountry(country); int rect = 0; if(map5.get(ad_code)!=null){ rect = map5.get(ad_code); } rectWork.setRect(rect); int pblm = 0; if(map6.get(ad_code)!=null){ pblm = map6.get(ad_code); } rectWork.setPblm(pblm); int pblmOne = 0; if(map7.get(ad_code)!=null){ pblmOne = map7.get(ad_code); } rectWork.setPblmOne(pblmOne); int pblmTwo = 0; if(map8.get(ad_code)!=null){ pblmTwo = map8.get(ad_code); } rectWork.setPblmTwo(pblmTwo); int pblmThree = 0; if(map9.get(ad_code)!=null){ pblmThree = map9.get(ad_code); } rectWork.setPblmThree(pblmThree); result.add(rectWork); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(rectWork); list.add(listMap); } RectWork rectWork = new RectWork(); rectWork.setAdCode("000000000000"); rectWork.setAdName("全部"); rectWork.setCode(AdCodeLabel.START_PARENT_ADCODE); rectWork.setName("合计"); int group = result.stream().mapToInt(RectWork::getGroup).sum(); rectWork.setGroup(group); int pers = result.stream().mapToInt(RectWork::getPers).sum(); rectWork.setPers(pers); int country = result.stream().mapToInt(RectWork::getCountry).sum(); rectWork.setCountry(country); int rect = result.stream().mapToInt(RectWork::getRect).sum(); rectWork.setRect(rect); int pblm = result.stream().mapToInt(RectWork::getPblm).sum(); rectWork.setPblm(pblm); int pblmOne = result.stream().mapToInt(RectWork::getPblmOne).sum(); rectWork.setPblmOne(pblmOne); int pblmTwo = result.stream().mapToInt(RectWork::getPblmTwo).sum(); rectWork.setPblmTwo(pblmTwo); int pblmThree = result.stream().mapToInt(RectWork::getPblmThree).sum(); rectWork.setPblmThree(pblmThree); result.add(rectWork); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(rectWork); list.add(listMap); if("1".equals(isExport)){ ExportAbstract export = new ExcelExport(); export.setFileName( "省+分类-水毁督查工作统计" );//view.getView_name() export.setExport_ps_export( true ); export.setExport_ps_type( ExportAbstract.XLS ); export.setExport_bzip( false ); export.setTitle( "省+分类-水毁督查工作统计" ); ArrayList cols = new ArrayList(); cols.add( "adName[省份]" ); cols.add( "name[单位]" ); cols.add( "group[组]" ); cols.add( "pers[人]" ); cols.add( "country[县]" ); cols.add( "rect[项目]" ); cols.add( "pblmOne[一般问题]" ); cols.add( "pblmTwo[较重问题]" ); cols.add( "pblmThree[严重问题]" ); cols.add( "pblm[问题合计]" ); export.setCols( cols ); export.setGroupable( false ); // 设置视图指标 export.setLevel(1); export.setLocksize(0); try { export.Export(response); export.ExportHeadForCustom(response);//导出表头 export.ContinueExport(list); export.EndExport(); } catch (Exception e) { e.printStackTrace(); } } return result; } private Map persCountDtoToMapByType( List dtos) { Map map = new HashedMap(); for (PersCountDto proDto : dtos) { if (!map.keySet().contains(proDto.getId() + proDto.getType())) { map.put(proDto.getId() + proDto.getType(), Long.valueOf(proDto.getCount())); } } return map; } private String getIdsByName(List list,String name,boolean flag){ StringBuffer buffer = new StringBuffer(""); list.forEach(obj -> { try{ Field field = obj.getClass().getDeclaredField(name); field.setAccessible(true); String value = String.valueOf(field.get(obj)); if (org.apache.commons.lang3.StringUtils.isNotBlank(value)) { if (buffer.length() > 3000) { if (flag) { buffer.append(";"); } } buffer.append("'").append(value).append("',"); } } catch (Exception e){ e.printStackTrace(); } }); String persId = buffer.toString(); if (persId.length() > 0) { persId = persId.substring(0, persId.lastIndexOf(",")); } return persId; } private String getAdNames( List adNameDtoList,BriefReportParam briefReportParam) { String adNames = ""; for (AdNameDto adNameDto : adNameDtoList) { if (org.apache.commons.lang.StringUtils.isNotBlank(briefReportParam.getAdName())) { if (adNameDto.getAdName().indexOf(briefReportParam.getAdName()) != -1) { adNames = adNames + adNameDto.getAdName() + "、";//如果行政区是多个 用、分隔 } else { continue; } } else { adNames = adNames + adNameDto.getAdName() + "、";//如果行政区是多个 用、分隔 } } if (adNames.length() > 0) { adNames = adNames.substring(0,adNames.lastIndexOf("、")); } return adNames; } private Map> persAchiveNameListToMap(List adNameDtoList ) { Map> adNameMap = new HashedMap(); for (AdNameDto adNameDto : adNameDtoList) { if (adNameMap.keySet().contains(adNameDto.getId())) { adNameMap.get(adNameDto.getId()).add(adNameDto); } else { List dtos = new ArrayList<>(); dtos.add(adNameDto); adNameMap.put(adNameDto.getId(), dtos); } } return adNameMap; } private Map persCountDtoToMapById( List dtos) { Map map = new HashedMap(); for (PersCountDto proDto : dtos) { if (!map.keySet().contains(proDto.getId() + proDto.getType())) { map.put(proDto.getId(), Long.valueOf(proDto.getCount())); } } return map; } @Override public List getRiverSupervisionCwsCount(HttpServletResponse response, BriefReportParam briefReportParam) { //存放最终结果 List riverSupervisionCwsCountList = new ArrayList<>(); List result = new ArrayList<>(); //获取流域id和名称、组id和名称 riverSupervisionCwsCountList = this.briefReportDao.getRiverSupervisionCwsCount(briefReportParam); if (riverSupervisionCwsCountList.size() > 0) { String groupId = getIdsByName(riverSupervisionCwsCountList, "groupId", false); if (org.apache.commons.lang3.StringUtils.isNotBlank(groupId)) { List adNameDtos = this.briefReportDao.getCwsAdNameDtoListByGroupIds(groupId); Map> adNameMap = persAchiveNameListToMap(adNameDtos); //人员列表 List persCountDtos = briefReportDao.getPersCountById(groupId); Map persMap = persCountDtoToMapById(persCountDtos); //县列表 List countryDtos = briefReportDao.getCwsCountyCountById(groupId); Map countMap = persCountDtoToMapById(countryDtos); //人饮列表 List rsDtos = briefReportDao.getVillageCountByGroupId(groupId,briefReportParam.getSttm(), briefReportParam.getEntm(), briefReportParam.getState()); Map rsMap = persCountDtoToMapByType(rsDtos); //问题列表 List proDtos = briefReportDao.getAllProCountByGroupId("2", groupId, "2", briefReportParam.getSttm(), briefReportParam.getEntm(), briefReportParam.getState()); Map proMap = persCountDtoToMapByType(proDtos); for (RiverSupervisionCwsCount r : riverSupervisionCwsCountList) { if (r.getGroupId() != null) { if (adNameMap.get(r.getGroupId()) == null) { continue; } String adName = getAdNames(adNameMap.get(r.getGroupId()),briefReportParam); if (org.apache.commons.lang3.StringUtils.isBlank(adName) && org.apache.commons.lang3.StringUtils.isNotBlank(briefReportParam.getAdName())) { continue; } RiverSupervisionCwsCount r1 = new RiverSupervisionCwsCount(); r1.setProName(adName);//省(市、自治区) r1.setBasinId(r.getBasinId()); r1.setBasinName(r.getBasinName()); r1.setGroupId(r.getGroupId()); r1.setGroupName(r.getGroupName()); r1.setProCount((long) (adNameMap.get(r.getGroupId()) == null ? 0 : adNameMap.get(r.getGroupId()).size()));//省(市、自治区)数量 r1.setPersCount((long) (persMap.get(r.getGroupId()) == null ? 0 : persMap.get(r.getGroupId())));//人数 r1.setCountyCount((long) (countMap.get(r.getGroupId()) == null ? 0 : countMap.get(r.getGroupId())));//县(市、区) r1.setVillageCount((long) (rsMap.get(r.getGroupId() + "1")== null ? 0 : rsMap.get(r.getGroupId()+"1")));//行政村 r1.setWatCount((long) (rsMap.get(r.getGroupId() + "2")== null ? 0 : rsMap.get(r.getGroupId()+"2")));//用水户 r1.setVlgCount((long)(rsMap.get(r.getGroupId() + "3")== null ? 0 : rsMap.get(r.getGroupId()+"3")));//农饮工程 r1.setSourceCount((long) (rsMap.get(r.getGroupId() + "4")== null ? 0 : rsMap.get(r.getGroupId()+"4")));//水源地 r1.setOneProCount((long) (proMap.get(r.getGroupId()+"0") == null ? 0 : proMap.get(r.getGroupId() + "0")));//一般问题统计 r1.setTwoProCount((long) (proMap.get(r.getGroupId()+"1") == null ? 0 : proMap.get(r.getGroupId() + "1")));//较重问题统计 r1.setThreeProCount((long)(proMap.get(r.getGroupId()+"2") == null ? 0 : proMap.get(r.getGroupId() + "2")));//严重问题统计 r1.setAllProCount(r1.getOneProCount() + r1.getTwoProCount() + r1.getThreeProCount());//问题总数 result.add(r1); } } } } if ("1".equals(briefReportParam.getIsExport())) { List> list = new ArrayList<>(); if (result.size() > 0) { result.forEach(riverSupervisionRivCount -> { Map listMap = BeanUtil.transBean2Map(riverSupervisionRivCount); list.add(listMap); }); } ExportAbstract export = new ExcelExport(); export.setFileName("人饮流域督查统计");//view.getView_name() export.setExport_ps_export(true); export.setExport_ps_type(ExportAbstract.XLS); export.setExport_bzip(false); export.setTitle("人饮流域督查统计"); ArrayList cols = new ArrayList(); cols.add("basinName[流域]"); cols.add("groupName[组]"); cols.add("proName[省(市、自治区)]"); cols.add("proCount[省(市、自治区)数量]"); cols.add("persCount[人数]"); cols.add("countyCount[县(市、区)]"); cols.add("villageCount[行政村]"); cols.add("watCount[用水户]"); cols.add("vlgCount[人饮工程]"); cols.add("sourceCount[水源地]"); cols.add("oneProCount[一般问题]"); cols.add("twoProCount[较重问题]"); cols.add("threeProCount[严重问题]"); cols.add("allProCount[问题合计]"); export.setCols(cols); export.setGroupable(false); // 设置视图指标 export.setLevel(1); export.setLocksize(0); try { export.Export(response); export.ExportHeadForCustom(response);//导出表头 export.ContinueExport(list); export.EndExport(); } catch (Exception e) { e.printStackTrace(); } } return result; } @Override public List getRiverSupervisionRivCount(HttpServletResponse response, BriefReportParam briefReportParam) { //存放最终结果 List riverSupervisionCwsCountList = new ArrayList<>(); List result = new ArrayList<>(); //获取流域id和名称、组id和名称 riverSupervisionCwsCountList = this.briefReportDao.getRiverSupervisionRivCount(briefReportParam); if (riverSupervisionCwsCountList.size() > 0) { String groupId = getIdsByName(riverSupervisionCwsCountList, "groupId", false); if (org.apache.commons.lang3.StringUtils.isNotBlank(groupId)) { List adNameDtos = this.briefReportDao.getRivAdNameDtoListByGroupIds(groupId); Map> adNameMap = persAchiveNameListToMap(adNameDtos); //人员列表 List persCountDtos = briefReportDao.getPersCountById(groupId); Map persMap = persCountDtoToMapById(persCountDtos); //县列表 List countryDtos = briefReportDao.getRivCountyCountById(groupId); Map countMap = persCountDtoToMapById(countryDtos); //水库列表 List rsDtos = briefReportDao.getRsCountByGroupId(groupId,briefReportParam.getState()); Map rsMap = persCountDtoToMapByType(rsDtos); //问题列表 List proDtos = briefReportDao.getAllProCountByGroupId("1", groupId, "1", briefReportParam.getSttm(), briefReportParam.getEntm(), briefReportParam.getState()); Map proMap = persCountDtoToMapByType(proDtos); for (RiverSupervisionRivCount r : riverSupervisionCwsCountList) { if (r.getGroupId() != null) { if (adNameMap.get(r.getGroupId()) == null) { continue; } RiverSupervisionRivCount r1 = new RiverSupervisionRivCount(); String adName = getAdNames(adNameMap.get(r.getGroupId()),briefReportParam); if (org.apache.commons.lang3.StringUtils.isBlank(adName) && org.apache.commons.lang3.StringUtils.isNotBlank(briefReportParam.getAdName())) { continue; } r1.setProName(adName);//省(市、自治区) r1.setBasinId(r.getBasinId()); r1.setBasinName(r.getBasinName()); r1.setGroupId(r.getGroupId()); r1.setGroupName(r.getGroupName()); r1.setProCount((long) (adNameMap.get(r.getGroupId()) == null ? 0 : adNameMap.get(r.getGroupId()).size()));//省(市、自治区)数量 r1.setPersCount((long) (persMap.get(r.getGroupId()) == null ? 0 : persMap.get(r.getGroupId())));//人数 r1.setCountyCount((long) (countMap.get(r.getGroupId()) == null ? 0 : countMap.get(r.getGroupId())));//县(市、区) r1.setOneRsCount((long) (rsMap.get(r.getGroupId()+"4") == null ? 0 : rsMap.get(r.getGroupId()+"4")));//小(1) r1.setTwoRsCount((long) (rsMap.get(r.getGroupId()+"5") == null ? 0 : rsMap.get(r.getGroupId()+"5")));//小(2) r1.setAllRsCount(r1.getOneRsCount() + r1.getTwoRsCount()); r1.setOneProCount((long) (proMap.get(r.getGroupId()+"0") == null ? 0 : proMap.get(r.getGroupId() + "0")));//一般问题统计 r1.setTwoProCount((long) (proMap.get(r.getGroupId()+"1") == null ? 0 : proMap.get(r.getGroupId() + "1")));//较重问题统计 r1.setThreeProCount((long)(proMap.get(r.getGroupId()+"2") == null ? 0 : proMap.get(r.getGroupId() + "2")));//严重问题统计 r1.setFourProCount((long) (proMap.get(r.getGroupId()+"3") == null ? 0 : proMap.get(r.getGroupId() + "3")));//严重问题统计 r1.setAllProCount(r1.getOneProCount() + r1.getTwoProCount() + r1.getThreeProCount() + r1.getFourProCount());//问题总数 result.add(r1); } } } } if ("1".equals(briefReportParam.getIsExport())) { List> list = new ArrayList<>(); if (result.size() > 0) { result.forEach(riverSupervisionRivCount -> { Map listMap = BeanUtil.transBean2Map(riverSupervisionRivCount); list.add(listMap); }); } ExportAbstract export = new ExcelExport(); export.setFileName("水库流域督查统计");//view.getView_name() export.setExport_ps_export(true); export.setExport_ps_type(ExportAbstract.XLS); export.setExport_bzip(false); export.setTitle("水库流域督查统计"); ArrayList cols = new ArrayList(); cols.add("basinName[流域]"); cols.add("groupName[组]"); cols.add("proName[省(市、自治区)]"); cols.add("proCount[省(市、自治区)数量]"); cols.add("persCount[人数]"); cols.add("countyCount[县(市、区)]"); cols.add("oneRsCount[小(1)水库数量]"); cols.add("twoRsCount[小(2)水库数量]"); cols.add("allRsCount[小计]"); cols.add("oneProCount[一般问题]"); cols.add("twoProCount[较重问题]"); cols.add("threeProCount[严重问题]"); cols.add("fourProCount[特别严重问题]"); cols.add("allProCount[问题合计]"); export.setCols(cols); export.setGroupable(false); // 设置视图指标 export.setLevel(1); export.setLocksize(0); try { export.Export(response); export.ExportHeadForCustom(response);//导出表头 export.ContinueExport(list); export.EndExport(); } catch (Exception e) { e.printStackTrace(); } } return result; } /** * 省+项目统计 * @param response * @param adName * @param typeName * @param isExport * @return */ @Override public List getVillRsvrRectWorkByPro(HttpServletResponse response, String adName, String typeName, String isExport,String sttm,String entm,String state,String province) { List result = new ArrayList<>(); List> list = new ArrayList<>(); if(typeName!=null&&!"".equals(typeName)&&"人饮水安全".contains(typeName)){ List villList = getVillWorkByOrgPro(response,adName,"","0",sttm,entm,state,province); for (VillWork vill:villList) { BriefWork briefWork = new BriefWork(); briefWork.setAdCode(vill.getAdCode()); briefWork.setAdName(vill.getAdName()); briefWork.setCode(vill.getCode()); briefWork.setName(vill.getName()); briefWork.setTypeName(vill.getTypeName()); briefWork.setGroup(vill.getGroup()); briefWork.setPers(vill.getPers()); briefWork.setPros(vill.getPros()); briefWork.setCountry(vill.getCountry()); briefWork.setPblmOne(vill.getPblmOne()); briefWork.setPblmTwo(vill.getPblmTwo()); briefWork.setPblmThree(vill.getPblmThree()); briefWork.setPblm(vill.getPblm()); result.add(briefWork); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(briefWork); list.add(listMap); } }else if(typeName!=null&&!"".equals(typeName)&&("小水库".contains(typeName)||"大中型水库".contains(typeName))){ List rsvrList = getRsvrWorkByOrgPro(response,adName,"","0",sttm,entm,"", state,province); for (RsvrWork rsvr:rsvrList) { BriefWork briefWork = new BriefWork(); briefWork.setAdCode(rsvr.getAdCode()); briefWork.setAdName(rsvr.getAdName()); briefWork.setCode(rsvr.getCode()); briefWork.setName(rsvr.getName()); briefWork.setTypeName(rsvr.getTypeName()); briefWork.setGroup(rsvr.getGroup()); briefWork.setPers(rsvr.getPers()); briefWork.setPros(rsvr.getPros()); briefWork.setCountry(rsvr.getCountry()); briefWork.setPblmOne(rsvr.getPblmOne()); briefWork.setPblmTwo(rsvr.getPblmTwo()); briefWork.setPblmThree(rsvr.getPblmThree()); briefWork.setPblmFour(rsvr.getPblmFour()); briefWork.setPblm(rsvr.getPblm()); result.add(briefWork); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(briefWork); list.add(listMap); } }else if(typeName!=null&&!"".equals(typeName)&&"水毁工程".contains(typeName)){ List rectList = getRectWorkByOrgPro(response,adName,"","0",sttm,entm, state,province); for (RectWork rect:rectList) { BriefWork briefWork = new BriefWork(); briefWork.setAdCode(rect.getAdCode()); briefWork.setAdName(rect.getAdName()); briefWork.setCode(rect.getCode()); briefWork.setName(rect.getName()); briefWork.setTypeName(rect.getTypeName()); briefWork.setGroup(rect.getGroup()); briefWork.setPers(rect.getPers()); briefWork.setPros(rect.getPros()); briefWork.setCountry(rect.getCountry()); briefWork.setPblmOne(rect.getPblmOne()); briefWork.setPblmTwo(rect.getPblmTwo()); briefWork.setPblmThree(rect.getPblmThree()); briefWork.setPblm(rect.getPblm()); result.add(briefWork); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(briefWork); list.add(listMap); } }else if(typeName!=null&&!"".equals(typeName)&&"172重点工程建设".contains(typeName)){ List empwtConWorkList = getEmpwtConWorkByOrgPro(response,adName,"","0",sttm,entm,null, state,province); for (EmpwtConWork empwtConWork:empwtConWorkList) { BriefWork briefWork = new BriefWork(); briefWork.setAdCode(empwtConWork.getAdCode()); briefWork.setAdName(empwtConWork.getAdName()); briefWork.setCode(empwtConWork.getCode()); briefWork.setName(empwtConWork.getName()); briefWork.setTypeName(empwtConWork.getTypeName()); briefWork.setGroup(empwtConWork.getGroup()); briefWork.setPers(empwtConWork.getPers()); briefWork.setPros(empwtConWork.getPros()); briefWork.setCountry(empwtConWork.getCountry()); briefWork.setPblmOne(empwtConWork.getPblmOne()); briefWork.setPblmTwo(empwtConWork.getPblmTwo()); briefWork.setPblmThree(empwtConWork.getPblmThree()); briefWork.setPblm(empwtConWork.getPblm()); result.add(briefWork); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(briefWork); list.add(listMap); } }else if(typeName!=null&&!"".equals(typeName)&&"172重点工程运行".contains(typeName)){ List empwtRunWorkList = getEmpwtRunWorkByOrgPro(response,adName,"","0",sttm,entm,null, state,province); for (EmpwtRunWork empwtRunWork:empwtRunWorkList) { BriefWork briefWork = new BriefWork(); briefWork.setAdCode(empwtRunWork.getAdCode()); briefWork.setAdName(empwtRunWork.getAdName()); briefWork.setCode(empwtRunWork.getCode()); briefWork.setName(empwtRunWork.getName()); briefWork.setTypeName(empwtRunWork.getTypeName()); briefWork.setGroup(empwtRunWork.getGroup()); briefWork.setPers(empwtRunWork.getPers()); briefWork.setPros(empwtRunWork.getPros()); briefWork.setCountry(empwtRunWork.getCountry()); briefWork.setPblmOne(empwtRunWork.getPblmOne()); briefWork.setPblmTwo(empwtRunWork.getPblmTwo()); briefWork.setPblmThree(empwtRunWork.getPblmThree()); briefWork.setPblm(empwtRunWork.getPblm()); result.add(briefWork); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(briefWork); list.add(listMap); } }else if(typeName!=null&&!"".equals(typeName)&&"水闸工程".contains(typeName)){ List wagaWorkList = getWagaWorkByOrgPro(response,adName,"","0",sttm,entm,null, state,province); for (WagaWork wagaWork:wagaWorkList) { BriefWork briefWork = new BriefWork(); briefWork.setAdCode(wagaWork.getAdCode()); briefWork.setAdName(wagaWork.getAdName()); briefWork.setCode(wagaWork.getCode()); briefWork.setName(wagaWork.getName()); briefWork.setTypeName(wagaWork.getTypeName()); briefWork.setGroup(wagaWork.getGroup()); briefWork.setPers(wagaWork.getPers()); briefWork.setPros(wagaWork.getPros()); briefWork.setCountry(wagaWork.getCountry()); briefWork.setPblmOne(wagaWork.getPblmOne()); briefWork.setPblmTwo(wagaWork.getPblmTwo()); briefWork.setPblmThree(wagaWork.getPblmThree()); briefWork.setPblm(wagaWork.getPblm()); result.add(briefWork); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(briefWork); list.add(listMap); } }else if("".equals(typeName)||typeName==null) { List villList = getVillWorkByOrgPro(response, adName, "", "0", sttm, entm, state,province); BriefWork a = new BriefWork(); for (VillWork vill : villList) { BriefWork briefWork = new BriefWork(); briefWork.setAdCode(vill.getAdCode()); briefWork.setAdName(vill.getAdName()); briefWork.setCode(vill.getCode()); briefWork.setName(vill.getName()); briefWork.setTypeName(vill.getTypeName()); briefWork.setGroup(vill.getGroup()); briefWork.setPers(vill.getPers()); briefWork.setPros(vill.getPros()); briefWork.setCountry(vill.getCountry()); briefWork.setPblmOne(vill.getPblmOne()); briefWork.setPblmTwo(vill.getPblmTwo()); briefWork.setPblmThree(vill.getPblmThree()); briefWork.setPblm(vill.getPblm()); if (!AdCodeLabel.START_PARENT_ADCODE.equals(vill.getCode())) { result.add(briefWork); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(briefWork); list.add(listMap); } else { a = briefWork; } } List rsvrList = getRsvrWorkByOrgPro(response, adName, "", "0", sttm, entm,"", state,province); BriefWork b = new BriefWork(); for (RsvrWork rsvr : rsvrList) { BriefWork briefWork = new BriefWork(); briefWork.setAdCode(rsvr.getAdCode()); briefWork.setAdName(rsvr.getAdName()); briefWork.setCode(rsvr.getCode()); briefWork.setName(rsvr.getName()); briefWork.setTypeName(rsvr.getTypeName()); briefWork.setGroup(rsvr.getGroup()); briefWork.setPers(rsvr.getPers()); briefWork.setPros(rsvr.getPros()); briefWork.setCountry(rsvr.getCountry()); briefWork.setPblmOne(rsvr.getPblmOne()); briefWork.setPblmTwo(rsvr.getPblmTwo()); briefWork.setPblmThree(rsvr.getPblmThree()); briefWork.setPblmFour(rsvr.getPblmFour()); briefWork.setPblm(rsvr.getPblm()); if (!AdCodeLabel.START_PARENT_ADCODE.equals(rsvr.getCode())) { result.add(briefWork); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(briefWork); list.add(listMap); } else { b = briefWork; } } List enpwtConList = getEmpwtConWorkByOrgPro(response, adName, "", "0", sttm, entm,"", state,province); BriefWork e = new BriefWork(); for (EmpwtConWork rsvr : enpwtConList) { BriefWork briefWork = new BriefWork(); briefWork.setAdCode(rsvr.getAdCode()); briefWork.setAdName(rsvr.getAdName()); briefWork.setCode(rsvr.getCode()); briefWork.setName(rsvr.getName()); briefWork.setTypeName(rsvr.getTypeName()); briefWork.setGroup(rsvr.getGroup()); briefWork.setPers(rsvr.getPers()); briefWork.setPros(rsvr.getPros()); briefWork.setCountry(rsvr.getCountry()); briefWork.setPblmOne(rsvr.getPblmOne()); briefWork.setPblmTwo(rsvr.getPblmTwo()); briefWork.setPblmThree(rsvr.getPblmThree()); briefWork.setPblmFour(rsvr.getPblmFour()); briefWork.setPblm(rsvr.getPblm()); if (!AdCodeLabel.START_PARENT_ADCODE.equals(rsvr.getCode())) { result.add(briefWork); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(briefWork); list.add(listMap); } else { e = briefWork; } } List enpwtRunList = getEmpwtRunWorkByOrgPro(response, adName, "", "0", sttm, entm,"", state,province); BriefWork f = new BriefWork(); for (EmpwtRunWork rsvr : enpwtRunList) { BriefWork briefWork = new BriefWork(); briefWork.setAdCode(rsvr.getAdCode()); briefWork.setAdName(rsvr.getAdName()); briefWork.setCode(rsvr.getCode()); briefWork.setName(rsvr.getName()); briefWork.setTypeName(rsvr.getTypeName()); briefWork.setGroup(rsvr.getGroup()); briefWork.setPers(rsvr.getPers()); briefWork.setPros(rsvr.getPros()); briefWork.setCountry(rsvr.getCountry()); briefWork.setPblmOne(rsvr.getPblmOne()); briefWork.setPblmTwo(rsvr.getPblmTwo()); briefWork.setPblmThree(rsvr.getPblmThree()); briefWork.setPblmFour(rsvr.getPblmFour()); briefWork.setPblm(rsvr.getPblm()); if (!AdCodeLabel.START_PARENT_ADCODE.equals(rsvr.getCode())) { result.add(briefWork); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(briefWork); list.add(listMap); } else { f = briefWork; } } List wagaWorkList = getWagaWorkByOrgPro(response, adName, "", "0", sttm, entm,"", state,province); BriefWork g = new BriefWork(); for (WagaWork rsvr : wagaWorkList) { BriefWork briefWork = new BriefWork(); briefWork.setAdCode(rsvr.getAdCode()); briefWork.setAdName(rsvr.getAdName()); briefWork.setCode(rsvr.getCode()); briefWork.setName(rsvr.getName()); briefWork.setTypeName(rsvr.getTypeName()); briefWork.setGroup(rsvr.getGroup()); briefWork.setPers(rsvr.getPers()); briefWork.setPros(rsvr.getPros()); briefWork.setCountry(rsvr.getCountry()); briefWork.setPblmOne(rsvr.getPblmOne()); briefWork.setPblmTwo(rsvr.getPblmTwo()); briefWork.setPblmThree(rsvr.getPblmThree()); briefWork.setPblmFour(rsvr.getPblmFour()); briefWork.setPblm(rsvr.getPblm()); if (!AdCodeLabel.START_PARENT_ADCODE.equals(rsvr.getCode())) { result.add(briefWork); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(briefWork); list.add(listMap); } else { g = briefWork; } } List rectList = getRectWorkByOrgPro(response, adName, "", "0", sttm, entm, state,province); BriefWork c = new BriefWork(); for (RectWork rect : rectList) { BriefWork briefWork = new BriefWork(); briefWork.setAdCode(rect.getAdCode()); briefWork.setAdName(rect.getAdName()); briefWork.setCode(rect.getCode()); briefWork.setName(rect.getName()); briefWork.setTypeName(rect.getTypeName()); briefWork.setGroup(rect.getGroup()); briefWork.setPers(rect.getPers()); briefWork.setPros(rect.getPros()); briefWork.setCountry(rect.getCountry()); briefWork.setPblmOne(rect.getPblmOne()); briefWork.setPblmTwo(rect.getPblmTwo()); briefWork.setPblmThree(rect.getPblmThree()); briefWork.setPblm(rect.getPblm()); if (!AdCodeLabel.START_PARENT_ADCODE.equals(rect.getCode())) { result.add(briefWork); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(briefWork); list.add(listMap); } else { c = briefWork; } } BriefWork d = new BriefWork(); d.setAdCode("000000000000"); d.setAdName("全部"); d.setCode(AdCodeLabel.START_PARENT_ADCODE); d.setName("合计"); d.setTypeName("所有"); int group = 0; int pers = 0; int pros = 0; int country = 0; int pblmOne = 0; int pblmTwo = 0; int pblmThree = 0; int pblmFour = 0; int pblm = 0; if (a != null) { group += a.getGroup(); pers += a.getPers(); pros += a.getPros(); country += a.getCountry(); pblmOne += a.getPblmOne(); pblmTwo += a.getPblmTwo(); pblmThree += a.getPblmThree(); pblm += a.getPblm(); } if (b != null) { group += b.getGroup(); pers += b.getPers(); pros += b.getPros(); country += b.getCountry(); pblmOne += b.getPblmOne(); pblmTwo += b.getPblmTwo(); pblmThree += b.getPblmThree(); pblmFour += b.getPblmFour(); pblm += b.getPblm(); } if (c != null) { group += c.getGroup(); pers += c.getPers(); pros += c.getPros(); country += c.getCountry(); pblmOne += c.getPblmOne(); pblmTwo += c.getPblmTwo(); pblmThree += c.getPblmThree(); pblm += c.getPblm(); } if (e != null) { group += e.getGroup(); pers += e.getPers(); pros += e.getPros(); country += e.getCountry(); pblmOne += e.getPblmOne(); pblmTwo += e.getPblmTwo(); pblmThree += e.getPblmThree(); pblm += e.getPblm(); } if (f != null) { group += f.getGroup(); pers += f.getPers(); pros += f.getPros(); country += f.getCountry(); pblmOne += f.getPblmOne(); pblmTwo += f.getPblmTwo(); pblmThree += f.getPblmThree(); pblm += f.getPblm(); } if (g != null) { group += g.getGroup(); pers += g.getPers(); pros += g.getPros(); country += g.getCountry(); pblmOne += g.getPblmOne(); pblmTwo += g.getPblmTwo(); pblmThree += g.getPblmThree(); pblm += g.getPblm(); } d.setGroup(group); d.setPers(pers); d.setPros(pros); d.setCountry(country); d.setPblmOne(pblmOne); d.setPblmTwo(pblmTwo); d.setPblmThree(pblmThree); d.setPblmFour(pblmFour); d.setPblm(pblm); SortList sortList = new SortList<>(); result = sortList.sort(result, "getName", "desc"); result.add(d); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(d); list.add(listMap); } if("1".equals(isExport)){ ExportAbstract export = new ExcelExport(); export.setFileName( "督查工作统计" ); // view.getView_name() export.setExport_ps_export( true ); export.setExport_ps_type( ExportAbstract.XLS ); export.setExport_bzip( false ); export.setTitle( "督查工作统计" ); ArrayList cols = new ArrayList(); cols.add( "name[单位]" ); cols.add( "typeName[检查项目]" ); cols.add( "group[组]" ); cols.add( "pers[人]" ); cols.add( "pros[省]" ); cols.add( "country[县]" ); cols.add( "pblmOne[一般问题]" ); cols.add( "pblmTwo[较重问题]" ); cols.add( "pblmThree[严重问题]" ); cols.add( "pblmFour[特别严重问题]" ); cols.add( "pblm[问题合计]" ); export.setCols( cols ); export.setGroupable( false ); // 设置视图指标 export.setLevel(1); export.setLocksize(0); try { export.Export(response); export.ExportHeadForCustom(response);//导出表头 export.ContinueExport(list); export.EndExport(); } catch (Exception e) { e.printStackTrace(); } } return result; } @Override public List getRiverNode(String type,String orgId,String province) { return this.briefReportDao.getRiverNode(type,orgId,province); } //人员业绩统计(水库) @Override public List getRiverPersAchive(HttpServletResponse response, BriefReportParam briefReportParam,String province) { //存放最终结果 List riverSupervisionCwsCountList = new ArrayList<>(); List result = new ArrayList<>(); List> list = new ArrayList<>(); briefReportParam.setType("001"); briefReportParam.setProvince(province); //机构、组和人员 String shortPro=province.replace(AdCodeLabel.START_PARENT_ADCODE,""); riverSupervisionCwsCountList = this.briefReportDao.getRiverPersSupervisionInfo(briefReportParam); if(riverSupervisionCwsCountList.size()>0){ List adNameDtoList = new ArrayList<>(); for(RiverSupervisionRivCount r : riverSupervisionCwsCountList){//遍历获取其他数据 RiverSupervisionRivCount r1 = new RiverSupervisionRivCount(); adNameDtoList = this.briefReportDao.getPersAdFullNameDtoList(r.getPersId(),shortPro);//根据组id获取要督查的省 String adName = ""; if(adNameDtoList.size()>0) { for (AdNameDto adNameDto : adNameDtoList) { if (briefReportParam.getAdName() != null) { if (adNameDto.getAdName().indexOf(briefReportParam.getAdName()) != -1) { adName = adName + adNameDto.getAdName() + "、";//如果行政区是多个 用、分隔 } else { continue; } } else { adName = adName + adNameDto.getAdName() + "、";//如果行政区是多个 用、分隔 } } if (adName == null) { continue; } adName = adName.substring(0,adName.length()-1); r1.setProName(adName);//省(市、自治区) } r1.setBasinId(r.getBasinId()); r1.setBasinName(r.getBasinName()); r1.setGroupId(r.getGroupId()); r1.setGroupName(r.getGroupName()); r1.setPersName(r.getPersName()); r1.setOneRsCount((long) this.briefReportDao.getPersRsCount("4",r.getPersId(),briefReportParam.getSttm(), briefReportParam.getEntm(),briefReportParam.getState(),province));//小(1) r1.setTwoRsCount((long) this.briefReportDao.getPersRsCount("5",r.getPersId(),briefReportParam.getSttm(), briefReportParam.getEntm(),briefReportParam.getState(),province));//小(2) r1.setAllRsCount(r1.getOneRsCount()+r1.getTwoRsCount()); r1.setOneProCount((long) this.briefReportDao.getPersAllProCount("1",r.getPersId(),"0",briefReportParam.getSttm() ,briefReportParam.getEntm(), briefReportParam.getState(),province));//一般问题统计 r1.setTwoProCount((long) this.briefReportDao.getPersAllProCount("1",r.getPersId(),"1",briefReportParam.getSttm(), briefReportParam.getEntm(), briefReportParam.getState(),province));//较重问题统计 r1.setThreeProCount((long) this.briefReportDao.getPersAllProCount("1",r.getPersId(),"2",briefReportParam.getSttm(), briefReportParam.getEntm(), briefReportParam.getState(),province));//严重问题统计 r1.setFourProCount((long) this.briefReportDao.getPersAllProCount("1",r.getPersId(),"3",briefReportParam.getSttm(), briefReportParam.getEntm(), briefReportParam.getState(),province));//严重问题统计 r1.setAllProCount(r1.getOneProCount()+r1.getTwoProCount()+r1.getThreeProCount()+r1.getFourProCount());//问题总数 r1.setMileage(bisInspMileageDao.calMileageByPerAndDate(r.getPersId(), briefReportParam.getSttm(),briefReportParam.getEntm())); result.add(r1); if("1".equals(briefReportParam.getIsExport())){ Map listMap = BeanUtil.transBean2Map(r1); list.add(listMap); } } } if("1".equals(briefReportParam.getIsExport())){ ExportAbstract export = new ExcelExport(); export.setFileName( "水库人员业绩统计" );//view.getView_name() export.setExport_ps_export( true ); export.setExport_ps_type( ExportAbstract.XLS ); export.setExport_bzip( false ); export.setTitle( "水库人员业绩统计" ); ArrayList cols = new ArrayList(); cols.add( "basinName[机构]" ); cols.add( "proName[地区]" ); cols.add("persName[人员]"); cols.add( "oneRsCount[小(1)水库数量]" ); cols.add( "twoRsCount[小(2)水库数量]" ); cols.add( "allRsCount[小计]" ); cols.add( "oneProCount[一般问题]" ); cols.add( "twoProCount[较重问题]" ); cols.add( "threeProCount[严重问题]" ); cols.add( "fourProCount[特别严重问题]" ); cols.add( "allProCount[问题合计]" ); cols.add( "mileage[里程(米)]" ); export.setCols( cols ); export.setGroupable( false ); // 设置视图指标 export.setLevel(1); export.setLocksize(0); try { export.Export(response); export.ExportHeadForCustom(response);//导出表头 export.ContinueExport(list); export.EndExport(); } catch (Exception e) { e.printStackTrace(); } } return result; } @Override public List getCwsPersAchive(HttpServletResponse response, BriefReportParam briefReportParam,String province) { //存放最终结果 List riverSupervisionCwsCountList = new ArrayList<>(); List result = new ArrayList<>(); List> list = new ArrayList<>(); briefReportParam.setType("002"); //机构、组和人员 String shortPro=province.replace(AdCodeLabel.START_PARENT_ADCODE,""); briefReportParam.setProvince(province); riverSupervisionCwsCountList = this.briefReportDao.getRiverPersSupervisionCwsInfo(briefReportParam); if(riverSupervisionCwsCountList.size()>0){ List adNameDtoList = new ArrayList<>(); for(RiverSupervisionCwsCount r : riverSupervisionCwsCountList){//遍历获取其他数据 RiverSupervisionCwsCount r1 = new RiverSupervisionCwsCount(); adNameDtoList = this.briefReportDao.getPersAdFullNameDtoList(r.getPersId(),shortPro);//根据组id获取要督查的省 if(adNameDtoList.size()>0){ String adName = ""; for(AdNameDto adNameDto : adNameDtoList){ if(org.apache.commons.lang.StringUtils.isNotBlank(briefReportParam.getAdName())) { if (adNameDto.getAdName().indexOf(briefReportParam.getAdName()) != -1){ adName = adName + adNameDto.getAdName()+"、";//如果行政区是多个 用、分隔 }else{ continue; } }else { adName = adName + adNameDto.getAdName() + "、";//如果行政区是多个 用、分隔 } } if(adName==null){ continue; } r1.setBasinId(r.getBasinId()); r1.setBasinName(r.getBasinName()); r1.setGroupId(r.getGroupId()); r1.setGroupName(r.getGroupName()); adName = adName.substring(0,adName.length()-1); r1.setProName(adName);//省(市、自治区) r1.setPersName(r.getPersName()); // r1.setProCount((long) adNameDtoList.size());//省(市、自治区)数量 // r1.setPersCount((long) this.briefReportDao.getPersCount(r.getGroupId()));//人数 // r1.setCountyCount((long) this.briefReportDao.getCwsCountyCount(r.getGroupId()));//县(市、区) r1.setVillageCount((long) this.briefReportDao.getPersVillageCount("1",r.getPersId(),briefReportParam.getSttm(),briefReportParam.getEntm(),briefReportParam.getState()));//行政村 r1.setWatCount((long) this.briefReportDao.getPersVillageCount("2",r.getPersId(),briefReportParam.getSttm(),briefReportParam.getEntm(),briefReportParam.getState()));//用水户 r1.setVlgCount((long) this.briefReportDao.getPersVillageCount("3",r.getPersId(),briefReportParam.getSttm(),briefReportParam.getEntm(),briefReportParam.getState()));//农饮工程 r1.setSourceCount((long) this.briefReportDao.getPersVillageCount("4",r.getPersId(),briefReportParam.getSttm(),briefReportParam.getEntm(),briefReportParam.getState()));//水源地 r1.setOneProCount((long) this.briefReportDao.getPersAllProCount("2",r.getPersId(),"0",briefReportParam.getSttm(),briefReportParam.getEntm(), briefReportParam.getState(),province));//一般问题统计 r1.setTwoProCount((long) this.briefReportDao.getPersAllProCount("2",r.getPersId(),"1",briefReportParam.getSttm(),briefReportParam.getEntm(), briefReportParam.getState(),province));//较重问题统计 r1.setThreeProCount((long) this.briefReportDao.getPersAllProCount("2",r.getPersId(),"2",briefReportParam.getSttm(),briefReportParam.getEntm(), briefReportParam.getState(),province));//严重问题统计 r1.setAllProCount(r1.getOneProCount()+r1.getTwoProCount()+r1.getThreeProCount());//问题总数 r1.setMileage(bisInspMileageDao.calMileageByPerAndDate(r.getPersId(), briefReportParam.getSttm(),briefReportParam.getEntm())); result.add(r1); if("1".equals(briefReportParam.getIsExport())){ Map listMap = BeanUtil.transBean2Map(r1); list.add(listMap); } } } } if("1".equals(briefReportParam.getIsExport())){ ExportAbstract export = new ExcelExport(); export.setFileName( "人饮人员业绩统计" );//view.getView_name() export.setExport_ps_export( true ); export.setExport_ps_type( ExportAbstract.XLS ); export.setExport_bzip( false ); export.setTitle( "人饮人员业绩统计" ); ArrayList cols = new ArrayList(); cols.add( "basinName[流域]" ); cols.add( "groupName[组]" ); cols.add( "proName[省(市、自治区)]" ); // cols.add( "proCount[省(市、自治区)数量]" ); // cols.add( "persCount[人数]" ); // cols.add( "countyCount[县(市、区)]" ); cols.add( "persName[人员]" ); cols.add( "villageCount[行政村]" ); cols.add( "watCount[用水户]" ); cols.add( "vlgCount[人饮工程]" ); cols.add( "sourceCount[水源地]" ); cols.add( "oneProCount[一般问题]" ); cols.add( "twoProCount[较重问题]" ); cols.add( "threeProCount[严重问题]" ); cols.add( "allProCount[问题合计]" ); cols.add( "mileage[里程(米)]" ); export.setCols( cols ); export.setGroupable( false ); // 设置视图指标 export.setLevel(1); export.setLocksize(0); try { export.Export(response); export.ExportHeadForCustom(response);//导出表头 export.ContinueExport(list); export.EndExport(); } catch (Exception e) { e.printStackTrace(); } } return result; } //人员业绩统计(水毁) @Override public List getWtdstPersAchive(HttpServletResponse response, BriefReportParam briefReportParam,String province) { //存放最终结果 List riverSupervisionCwsCountList = new ArrayList<>(); List result = new ArrayList<>(); List> list = new ArrayList<>(); briefReportParam.setType("003"); briefReportParam.setProvince(province); //获取流域id和名称、组id和名称、人员 String shortPro=province.replace(AdCodeLabel.START_PARENT_ADCODE,""); riverSupervisionCwsCountList = this.briefReportDao.getPersRiverSupervisionWtdInfo(briefReportParam); if(riverSupervisionCwsCountList.size()>0){ List adNameDtoList = new ArrayList<>(); for(RiverSupervisionWtdCount r : riverSupervisionCwsCountList){//遍历获取其他数据 RiverSupervisionWtdCount r1 = new RiverSupervisionWtdCount(); adNameDtoList = this.briefReportDao.getPersAdFullNameDtoList(r.getPersId(),shortPro);//根据组id获取要督查的省 if(adNameDtoList.size()>0){ String adName = ""; for(AdNameDto adNameDto : adNameDtoList){ if(org.apache.commons.lang.StringUtils.isNotBlank(briefReportParam.getAdName())) { if (adNameDto.getAdName().indexOf(briefReportParam.getAdName()) != -1){ adName = adName + adNameDto.getAdName()+"、";//如果行政区是多个 用、分隔 }else{ continue; } }else { adName = adName + adNameDto.getAdName() + "、";//如果行政区是多个 用、分隔 } } if(adName==null){ continue; } r1.setBasinId(r.getBasinId()); r1.setBasinName(r.getBasinName()); r1.setGroupId(r.getGroupId()); r1.setGroupName(r.getGroupName()); adName = adName.substring(0,adName.length()-1); r1.setProName(adName);//省(市、自治区) r1.setPersName(r.getPersName()); r1.setAllWtdCount((long) this.briefReportDao.getPersWtdCount(r.getPersId(),briefReportParam.getSttm(),briefReportParam.getEntm(),briefReportParam.getState())); r1.setOneProCount((long) this.briefReportDao.getPersAllProCount("3",r.getPersId(),"0",briefReportParam.getSttm(),briefReportParam.getEntm(), briefReportParam.getState(),province));//一般问题统计 r1.setTwoProCount((long) this.briefReportDao.getPersAllProCount("3",r.getPersId(),"1",briefReportParam.getSttm(),briefReportParam.getEntm(), briefReportParam.getState(),province));//较重问题统计 r1.setThreeProCount((long) this.briefReportDao.getPersAllProCount("3",r.getPersId(),"2",briefReportParam.getSttm(),briefReportParam.getEntm(), briefReportParam.getState(),province));//严重问题统计 r1.setAllProCount(r1.getOneProCount()+r1.getTwoProCount()+r1.getThreeProCount());//问题总数 r1.setMileage(bisInspMileageDao.calMileageByPerAndDate(r.getPersId(), briefReportParam.getSttm(),briefReportParam.getEntm())); result.add(r1); if("1".equals(briefReportParam.getIsExport())){ Map listMap = BeanUtil.transBean2Map(r1); list.add(listMap); } } } } if("1".equals(briefReportParam.getIsExport())){ ExportAbstract export = new ExcelExport(); export.setFileName( "水毁人员业绩统计" );//view.getView_name() export.setExport_ps_export( true ); export.setExport_ps_type( ExportAbstract.XLS ); export.setExport_bzip( false ); export.setTitle( "水毁人员业绩统计" ); ArrayList cols = new ArrayList(); cols.add( "basinName[流域]" ); cols.add( "persName[人员]" ); cols.add( "proName[省(市、自治区)]" ); cols.add( "countyCount[县(市、区)]" ); cols.add( "allWtdCount[项目数量]" ); cols.add( "oneProCount[一般问题]" ); cols.add( "twoProCount[较重问题]" ); cols.add( "threeProCount[严重问题]" ); cols.add( "allProCount[问题合计]" ); cols.add( "mileage[里程(米)]" ); export.setCols( cols ); export.setGroupable( false ); // 设置视图指标 export.setLevel(1); export.setLocksize(0); try { export.Export(response); export.ExportHeadForCustom(response);//导出表头 export.ContinueExport(list); export.EndExport(); } catch (Exception e) { e.printStackTrace(); } } return result; } @Override public List getRiverSupervisionEmpwtConCount(HttpServletResponse response, BriefReportParam briefReportParam,String province) { //存放最终结果 List riverSupervisionEmpwtCountList = new ArrayList<>(); List result = new ArrayList<>(); List> list = new ArrayList<>(); //获取流域id和名称、组id和名称 briefReportParam.setProvince(province); riverSupervisionEmpwtCountList = this.briefReportDao.getRiverSupervisionEmpwtConCount(briefReportParam); if(riverSupervisionEmpwtCountList.size()>0){ List adNameDtoList = new ArrayList<>(); for(RiverSupervisionEmpwtCount r : riverSupervisionEmpwtCountList){//遍历获取其他数据 RiverSupervisionEmpwtCount r1 = new RiverSupervisionEmpwtCount(); adNameDtoList = this.briefReportDao.getEmpwtAdNameDtoList(r.getGroupId(),"4",province);//根据组id获取要督查的省 if(adNameDtoList.size()>0){ String adName = ""; for(AdNameDto adNameDto : adNameDtoList){ if(adNameDto.getAdName()!=null) { if (briefReportParam.getAdName() != null) { if (adNameDto.getAdName().indexOf(briefReportParam.getAdName()) != -1) { adName = adName + adNameDto.getAdName() + "、";//如果行政区是多个 用、分隔 } else { continue; } } else { adName = adName + adNameDto.getAdName() + "、";//如果行政区是多个 用、分隔 } } } if(adName==null){ continue; } r1.setBasinId(r.getBasinId()); r1.setBasinName(r.getBasinName()); r1.setGroupId(r.getGroupId()); r1.setGroupName(r.getGroupName()); if(org.apache.commons.lang.StringUtils.isNotBlank(adName)) { adName = adName.substring(0, adName.length() - 1); } r1.setProName(adName);//省(市、自治区) r1.setProCount((long) adNameDtoList.size());//省(市、自治区)数量 r1.setPersCount((long) this.briefReportDao.getPersCount(r.getGroupId(),province));//人数 r1.setCountyCount((long) this.briefReportDao.getRivCountyCount(r.getGroupId(),province));//县(市、区) r1.setEmpwtConCount((long) this.briefReportDao.getEmpwtCount(r.getGroupId(), briefReportParam.getState(),province)); r1.setOneProCount((long) this.briefReportDao.getAllProCount("4",r.getGroupId(),"0",briefReportParam.getSttm(), briefReportParam.getEntm(), briefReportParam.getState(),province));//一般问题统计 r1.setTwoProCount((long) this.briefReportDao.getAllProCount("4",r.getGroupId(),"1",briefReportParam.getSttm(), briefReportParam.getEntm(), briefReportParam.getState(),province));//较重问题统计 r1.setThreeProCount((long) this.briefReportDao.getAllProCount("4",r.getGroupId(),"2",briefReportParam.getSttm(), briefReportParam.getEntm(), briefReportParam.getState(),province));//严重问题统计 r1.setAllProCount(r1.getOneProCount()+r1.getTwoProCount()+r1.getThreeProCount());//问题总数 result.add(r1); if("1".equals(briefReportParam.getIsExport())){ Map listMap = BeanUtil.transBean2Map(r1); list.add(listMap); } } } } if("1".equals(briefReportParam.getIsExport())){ ExportAbstract export = new ExcelExport(); export.setFileName( "172重点工程建设流域督查统计" );//view.getView_name() export.setExport_ps_export( true ); export.setExport_ps_type( ExportAbstract.XLS ); export.setExport_bzip( false ); export.setTitle( "172重点工程建设流域督查统计" ); ArrayList cols = new ArrayList(); cols.add( "basinName[流域]" ); cols.add( "groupName[组]" ); cols.add( "proName[省(市、自治区)]" ); cols.add( "proCount[省(市、自治区)数量]" ); cols.add( "persCount[人数]" ); cols.add( "countyCount[县(市、区)]" ); cols.add( "empwtConCount[工程统计]" ); cols.add( "oneProCount[一般问题]" ); cols.add( "twoProCount[较重问题]" ); cols.add( "threeProCount[严重问题]" ); cols.add( "allProCount[问题合计]" ); export.setCols( cols ); export.setGroupable( false ); // 设置视图指标 export.setLevel(1); export.setLocksize(0); try { export.Export(response); export.ExportHeadForCustom(response);//导出表头 export.ContinueExport(list); export.EndExport(); } catch (Exception e) { e.printStackTrace(); } } return result; } @Override public List getRiverSupervisionEmpwtRunCount(HttpServletResponse response, BriefReportParam briefReportParam,String province) { //存放最终结果 List riverSupervisionEmpwtCountList = new ArrayList<>(); List result = new ArrayList<>(); List> list = new ArrayList<>(); //获取流域id和名称、组id和名称 briefReportParam.setProvince(province); riverSupervisionEmpwtCountList = this.briefReportDao.getRiverSupervisionEmpwtRunCount(briefReportParam); if(riverSupervisionEmpwtCountList.size()>0){ List adNameDtoList = new ArrayList<>(); for(RiverSupervisionEmpwtCount r : riverSupervisionEmpwtCountList){//遍历获取其他数据 RiverSupervisionEmpwtCount r1 = new RiverSupervisionEmpwtCount(); adNameDtoList = this.briefReportDao.getEmpwtAdNameDtoList(r.getGroupId(),"7",province);//根据组id获取要督查的省 if(adNameDtoList.size()>0){ String adName = ""; for(AdNameDto adNameDto : adNameDtoList){ if(adNameDto.getAdName()!=null) { if (briefReportParam.getAdName() != null) { if (adNameDto.getAdName().indexOf(briefReportParam.getAdName()) != -1) { adName = adName + adNameDto.getAdName() + "、";//如果行政区是多个 用、分隔 } else { continue; } } else { adName = adName + adNameDto.getAdName() + "、";//如果行政区是多个 用、分隔 } } } if(adName==null){ continue; } r1.setBasinId(r.getBasinId()); r1.setBasinName(r.getBasinName()); r1.setGroupId(r.getGroupId()); r1.setGroupName(r.getGroupName()); if(org.apache.commons.lang.StringUtils.isNotBlank(adName)) { adName = adName.substring(0, adName.length() - 1); } r1.setProName(adName);//省(市、自治区) r1.setProCount((long) adNameDtoList.size());//省(市、自治区)数量 r1.setPersCount((long) this.briefReportDao.getPersCount(r.getGroupId(),province));//人数 r1.setCountyCount((long) this.briefReportDao.getRivCountyCount(r.getGroupId(),province));//县(市、区) r1.setEmpwtConCount((long) this.briefReportDao.getEmpwtCount(r.getGroupId(),briefReportParam.getState(),province)); r1.setOneProCount((long) this.briefReportDao.getAllProCount("7",r.getGroupId(),"0",briefReportParam.getSttm(), briefReportParam.getEntm(), briefReportParam.getState(),province));//一般问题统计 r1.setTwoProCount((long) this.briefReportDao.getAllProCount("7",r.getGroupId(),"1",briefReportParam.getSttm(), briefReportParam.getEntm(), briefReportParam.getState(),province));//较重问题统计 r1.setThreeProCount((long) this.briefReportDao.getAllProCount("7",r.getGroupId(),"2",briefReportParam.getSttm(), briefReportParam.getEntm(), briefReportParam.getState(),province));//严重问题统计 r1.setAllProCount(r1.getOneProCount()+r1.getTwoProCount()+r1.getThreeProCount());//问题总数 result.add(r1); if("1".equals(briefReportParam.getIsExport())){ Map listMap = BeanUtil.transBean2Map(r1); list.add(listMap); } } } } if("1".equals(briefReportParam.getIsExport())){ ExportAbstract export = new ExcelExport(); export.setFileName( "172重点工程运行流域督查统计" );//view.getView_name() export.setExport_ps_export( true ); export.setExport_ps_type( ExportAbstract.XLS ); export.setExport_bzip( false ); export.setTitle( "172重点工程运行流域督查统计" ); ArrayList cols = new ArrayList(); cols.add( "basinName[流域]" ); cols.add( "groupName[组]" ); cols.add( "proName[省(市、自治区)]" ); cols.add( "proCount[省(市、自治区)数量]" ); cols.add( "persCount[人数]" ); cols.add( "countyCount[县(市、区)]" ); cols.add( "empwtConCount[工程统计]" ); cols.add( "oneProCount[一般问题]" ); cols.add( "twoProCount[较重问题]" ); cols.add( "threeProCount[严重问题]" ); cols.add( "allProCount[问题合计]" ); export.setCols( cols ); export.setGroupable( false ); // 设置视图指标 export.setLevel(1); export.setLocksize(0); try { export.Export(response); export.ExportHeadForCustom(response);//导出表头 export.ContinueExport(list); export.EndExport(); } catch (Exception e) { e.printStackTrace(); } } return result; } @Override public List getRiverSupervisionWagaCount(HttpServletResponse response, BriefReportParam briefReportParam,String province) { //存放最终结果 List riverSupervisionWagaCountList = new ArrayList<>(); List result = new ArrayList<>(); List> list = new ArrayList<>(); //获取流域id和名称、组id和名称 briefReportParam.setProvince(province); riverSupervisionWagaCountList = this.briefReportDao.getRiverSupervisionWagaCount(briefReportParam); if(riverSupervisionWagaCountList.size()>0){ List adNameDtoList = new ArrayList<>(); for(RiverSupervisionWagaCount r : riverSupervisionWagaCountList) {//遍历获取其他数据 if(r.getGroupId()!=null){ RiverSupervisionWagaCount r1 = new RiverSupervisionWagaCount(); adNameDtoList = this.briefReportDao.getWagaAdNameDtoList(r.getGroupId());//根据组id获取要督查的省 if (adNameDtoList.size() > 0) { String adName = ""; for (AdNameDto adNameDto : adNameDtoList) { if (briefReportParam.getAdName() != null) { if (adNameDto.getAdName().indexOf(briefReportParam.getAdName()) != -1) { adName = adName + adNameDto.getAdName() + "、";//如果行政区是多个 用、分隔 } else { continue; } } else { adName = adName + adNameDto.getAdName() + "、";//如果行政区是多个 用、分隔 } } if (adName == null) { continue; } r1.setBasinId(r.getBasinId()); r1.setBasinName(r.getBasinName()); r1.setGroupId(r.getGroupId()); r1.setGroupName(r.getGroupName()); adName = adName.substring(0, adName.length() - 1); r1.setProName(adName);//省(市、自治区) r1.setProCount((long) adNameDtoList.size());//省(市、自治区)数量 r1.setPersCount((long) this.briefReportDao.getPersCount(r.getGroupId(),province));//人数 r1.setCountyCount((long) this.briefReportDao.getRivCountyCount(r.getGroupId(),province));//县(市、区) r1.setOneWagaCount((long) this.briefReportDao.getWagaCount("1", r.getGroupId(),briefReportParam.getState(),province));//大型 r1.setTwoWagaCount((long) this.briefReportDao.getWagaCount("2", r.getGroupId(),briefReportParam.getState(),province));//中型 r1.setThreeWagaCount((long) this.briefReportDao.getWagaCount("3", r.getGroupId(),briefReportParam.getState(),province));//小型 r1.setFourWagaCount((long) this.briefReportDao.getWagaCount(null, r.getGroupId(),briefReportParam.getState(),province));//其他 r1.setAllWagaCount(r1.getOneWagaCount() + r1.getTwoWagaCount() + r1.getThreeWagaCount() + r1.getFourWagaCount()); r1.setOneProCount((long) this.briefReportDao.getAllProCount("6", r.getGroupId(), "0", briefReportParam.getSttm(), briefReportParam.getEntm(), briefReportParam.getState(),province));//一般问题统计 r1.setTwoProCount((long) this.briefReportDao.getAllProCount("6", r.getGroupId(), "1", briefReportParam.getSttm(), briefReportParam.getEntm(), briefReportParam.getState(),province));//较重问题统计 r1.setThreeProCount((long) this.briefReportDao.getAllProCount("6", r.getGroupId(), "2", briefReportParam.getSttm(), briefReportParam.getEntm(), briefReportParam.getState(),province));//严重问题统计 r1.setFourProCount((long) this.briefReportDao.getAllProCount("6", r.getGroupId(), "3", briefReportParam.getSttm(), briefReportParam.getEntm(), briefReportParam.getState(),province));//非常严重问题统计 r1.setAllProCount(r1.getOneProCount() + r1.getTwoProCount() + r1.getThreeProCount()+r1.getFourProCount());//问题总数 result.add(r1); if ("1".equals(briefReportParam.getIsExport())) { Map listMap = BeanUtil.transBean2Map(r1); list.add(listMap); } } } } } if("1".equals(briefReportParam.getIsExport())){ ExportAbstract export = new ExcelExport(); export.setFileName( "水闸流域督查统计" );//view.getView_name() export.setExport_ps_export( true ); export.setExport_ps_type( ExportAbstract.XLS ); export.setExport_bzip( false ); export.setTitle( "水闸流域督查统计" ); ArrayList cols = new ArrayList(); cols.add( "basinName[流域]" ); cols.add( "groupName[组]" ); cols.add( "proName[省(市、自治区)]" ); cols.add( "proCount[省(市、自治区)数量]" ); cols.add( "persCount[人数]" ); cols.add( "countyCount[县(市、区)]" ); cols.add( "oneWagaCount[大型数量]" ); cols.add( "twoWagaCount[中型水闸数量]" ); cols.add( "threeWagaCount[小型水闸数量]" ); cols.add( "fourWagaCount[其他水闸数量]" ); cols.add( "allWagaCount[小计]" ); cols.add( "oneProCount[一般问题]" ); cols.add( "twoProCount[较重问题]" ); cols.add( "threeProCount[严重问题]" ); cols.add( "fourProCount[特别严重问题]" ); cols.add( "allProCount[问题合计]" ); export.setCols( cols ); export.setGroupable( false ); // 设置视图指标 export.setLevel(1); export.setLocksize(0); try { export.Export(response); export.ExportHeadForCustom(response);//导出表头 export.ContinueExport(list); export.EndExport(); } catch (Exception e) { e.printStackTrace(); } } return result; } @Override public List getEmpwtConPersAchive(HttpServletResponse response, BriefReportParam briefReportParam,String province) { //存放最终结果 List riverSupervisionEmpwtCountList = new ArrayList<>(); List result = new ArrayList<>(); List> list = new ArrayList<>(); briefReportParam.setType("004"); //获取流域id和名称、组id和名称 briefReportParam.setProvince(province); String shortPro=province.replace(AdCodeLabel.START_PARENT_ADCODE,""); riverSupervisionEmpwtCountList = this.briefReportDao.getPersRiverSupervisionEmpwtConCount(briefReportParam); if(riverSupervisionEmpwtCountList.size()>0){ List adNameDtoList = new ArrayList<>(); for(RiverSupervisionEmpwtCount r : riverSupervisionEmpwtCountList){//遍历获取其他数据 RiverSupervisionEmpwtCount r1 = new RiverSupervisionEmpwtCount(); adNameDtoList = this.briefReportDao.getPersAdFullNameDtoList(r.getPersId(),shortPro);//根据组id获取要督查的省 if(adNameDtoList.size()>0){ String adName = ""; for(AdNameDto adNameDto : adNameDtoList){ if(adNameDto.getAdName()!=null) { if (briefReportParam.getAdName() != null) { if (adNameDto.getAdName().indexOf(briefReportParam.getAdName()) != -1) { adName = adName + adNameDto.getAdName() + "、";//如果行政区是多个 用、分隔 } else { continue; } } else { adName = adName + adNameDto.getAdName() + "、";//如果行政区是多个 用、分隔 } } } if(adName==null){ continue; } r1.setPersName(r.getPersName()); r1.setBasinId(r.getBasinId()); r1.setBasinName(r.getBasinName()); r1.setGroupId(r.getGroupId()); r1.setGroupName(r.getGroupName()); if(org.apache.commons.lang.StringUtils.isNotBlank(adName)) { adName = adName.substring(0, adName.length() - 1); } r1.setProName(adName);//省(市、自治区) r1.setEmpwtConCount((long) this.briefReportDao.getPersEmpwtCount("2",r.getPersId(),briefReportParam.getSttm(),briefReportParam.getEntm(),briefReportParam.getState(),province)); r1.setOneProCount((long) this.briefReportDao.getPersAllProCount("4",r.getPersId(),"0",briefReportParam.getSttm(),briefReportParam.getEntm(), briefReportParam.getState(),province));//一般问题统计 r1.setTwoProCount((long) this.briefReportDao.getPersAllProCount("4",r.getPersId(),"1",briefReportParam.getSttm(),briefReportParam.getEntm(), briefReportParam.getState(),province));//较重问题统计 r1.setThreeProCount((long) this.briefReportDao.getPersAllProCount("4",r.getPersId(),"2",briefReportParam.getSttm(),briefReportParam.getEntm(), briefReportParam.getState(),province));//严重问题统计 r1.setAllProCount(r1.getOneProCount()+r1.getTwoProCount()+r1.getThreeProCount());//问题总数 r1.setMileage(bisInspMileageDao.calMileageByPerAndDate(r.getPersId(), briefReportParam.getSttm(),briefReportParam.getEntm())); result.add(r1); if("1".equals(briefReportParam.getIsExport())){ Map listMap = BeanUtil.transBean2Map(r1); list.add(listMap); } } } } if("1".equals(briefReportParam.getIsExport())){ ExportAbstract export = new ExcelExport(); export.setFileName( "172重点工程建设流域督查统计" );//view.getView_name() export.setExport_ps_export( true ); export.setExport_ps_type( ExportAbstract.XLS ); export.setExport_bzip( false ); export.setTitle( "172重点工程建设流域督查统计" ); ArrayList cols = new ArrayList(); cols.add( "basinName[流域]" ); cols.add( "groupName[组]" ); cols.add( "proName[省(市、自治区)]" ); cols.add( "proCount[省(市、自治区)数量]" ); cols.add( "persCount[人数]" ); cols.add( "countyCount[县(市、区)]" ); cols.add( "empwtConCount[工程统计]" ); cols.add( "oneProCount[一般问题]" ); cols.add( "twoProCount[较重问题]" ); cols.add( "threeProCount[严重问题]" ); cols.add( "allProCount[问题合计]" ); cols.add( "mileage[里程(米)]" ); export.setCols( cols ); export.setGroupable( false ); // 设置视图指标 export.setLevel(1); export.setLocksize(0); try { export.Export(response); export.ExportHeadForCustom(response);//导出表头 export.ContinueExport(list); export.EndExport(); } catch (Exception e) { e.printStackTrace(); } } return result; } @Override public List getEmpwtRunPersAchive(HttpServletResponse response, BriefReportParam briefReportParam,String province) { //存放最终结果 List riverSupervisionEmpwtCountList = new ArrayList<>(); List result = new ArrayList<>(); List> list = new ArrayList<>(); briefReportParam.setType("007"); //获取流域id和名称、组id和名称 briefReportParam.setProvince(province); String shortPro=province.replace(AdCodeLabel.START_PARENT_ADCODE,""); riverSupervisionEmpwtCountList = this.briefReportDao.getPersRiverSupervisionEmpwtRunCount(briefReportParam); if(riverSupervisionEmpwtCountList.size()>0){ List adNameDtoList = new ArrayList<>(); for(RiverSupervisionEmpwtCount r : riverSupervisionEmpwtCountList){//遍历获取其他数据 RiverSupervisionEmpwtCount r1 = new RiverSupervisionEmpwtCount(); adNameDtoList = this.briefReportDao.getPersAdFullNameDtoList(r.getPersId(),shortPro);//根据组id获取要督查的省 if(adNameDtoList.size()>0){ String adName = ""; for(AdNameDto adNameDto : adNameDtoList){ if(adNameDto.getAdName()!=null) { if (briefReportParam.getAdName() != null) { if (adNameDto.getAdName().indexOf(briefReportParam.getAdName()) != -1) { adName = adName + adNameDto.getAdName() + "、";//如果行政区是多个 用、分隔 } else { continue; } } else { adName = adName + adNameDto.getAdName() + "、";//如果行政区是多个 用、分隔 } } } if(adName==null){ continue; } r1.setPersName(r.getPersName()); r1.setBasinId(r.getBasinId()); r1.setBasinName(r.getBasinName()); r1.setGroupId(r.getGroupId()); r1.setGroupName(r.getGroupName()); if(org.apache.commons.lang.StringUtils.isNotBlank(adName)) { adName = adName.substring(0, adName.length() - 1); } r1.setProName(adName);//省(市、自治区) r1.setEmpwtConCount((long) this.briefReportDao.getPersEmpwtCount("1",r.getPersId(),briefReportParam.getSttm(),briefReportParam.getEntm(),briefReportParam.getState(),province)); r1.setOneProCount((long) this.briefReportDao.getPersAllProCount("7",r.getPersId(),"0",briefReportParam.getSttm(),briefReportParam.getEntm(), briefReportParam.getState(),province));//一般问题统计 r1.setTwoProCount((long) this.briefReportDao.getPersAllProCount("7",r.getPersId(),"1",briefReportParam.getSttm(),briefReportParam.getEntm(), briefReportParam.getState(),province));//较重问题统计 r1.setThreeProCount((long) this.briefReportDao.getPersAllProCount("7",r.getPersId(),"2",briefReportParam.getSttm(),briefReportParam.getEntm(), briefReportParam.getState(),province));//严重问题统计 r1.setAllProCount(r1.getOneProCount()+r1.getTwoProCount()+r1.getThreeProCount());//问题总数 r1.setMileage(bisInspMileageDao.calMileageByPerAndDate(r.getPersId(), briefReportParam.getSttm(),briefReportParam.getEntm())); result.add(r1); if("1".equals(briefReportParam.getIsExport())){ Map listMap = BeanUtil.transBean2Map(r1); list.add(listMap); } } } } if("1".equals(briefReportParam.getIsExport())){ ExportAbstract export = new ExcelExport(); export.setFileName( "172重点工程运行流域督查统计" );//view.getView_name() export.setExport_ps_export( true ); export.setExport_ps_type( ExportAbstract.XLS ); export.setExport_bzip( false ); export.setTitle( "172重点工程运行流域督查统计" ); ArrayList cols = new ArrayList(); cols.add( "basinName[流域]" ); cols.add( "groupName[组]" ); cols.add( "proName[省(市、自治区)]" ); cols.add( "proCount[省(市、自治区)数量]" ); cols.add( "persCount[人数]" ); cols.add( "countyCount[县(市、区)]" ); cols.add( "empwtConCount[工程统计]" ); cols.add( "oneProCount[一般问题]" ); cols.add( "twoProCount[较重问题]" ); cols.add( "threeProCount[严重问题]" ); cols.add( "allProCount[问题合计]" ); cols.add( "mileage[里程(米)]" ); export.setCols( cols ); export.setGroupable( false ); // 设置视图指标 export.setLevel(1); export.setLocksize(0); try { export.Export(response); export.ExportHeadForCustom(response);//导出表头 export.ContinueExport(list); export.EndExport(); } catch (Exception e) { e.printStackTrace(); } } return result; } @Override public List getWagaPersAchive(HttpServletResponse response, BriefReportParam briefReportParam,String province) { //存放最终结果 List riverSupervisionWagaCountList = new ArrayList<>(); List result = new ArrayList<>(); List> list = new ArrayList<>(); briefReportParam.setType("006"); //获取流域id和名称、组id和名称 String shortPro=province.replace(AdCodeLabel.START_PARENT_ADCODE,""); briefReportParam.setProvince(province); riverSupervisionWagaCountList = this.briefReportDao.getPersRiverSupervisionWagaCount(briefReportParam); if(riverSupervisionWagaCountList.size()>0){ List adNameDtoList = new ArrayList<>(); for(RiverSupervisionWagaCount r : riverSupervisionWagaCountList) {//遍历获取其他数据 RiverSupervisionWagaCount r1 = new RiverSupervisionWagaCount(); adNameDtoList = this.briefReportDao.getPersAdFullNameDtoList(r.getPersId(),shortPro);//根据组id获取要督查的省 if (adNameDtoList.size() > 0) { String adName = ""; for (AdNameDto adNameDto : adNameDtoList) { if (briefReportParam.getAdName() != null) { if (adNameDto.getAdName().indexOf(briefReportParam.getAdName()) != -1) { adName = adName + adNameDto.getAdName() + "、";//如果行政区是多个 用、分隔 } else { continue; } } else { adName = adName + adNameDto.getAdName() + "、";//如果行政区是多个 用、分隔 } } if (adName == null) { continue; } r1.setPersName(r.getPersName()); r1.setBasinId(r.getBasinId()); r1.setBasinName(r.getBasinName()); r1.setGroupId(r.getGroupId()); r1.setGroupName(r.getGroupName()); adName = adName.substring(0, adName.length() - 1); r1.setProName(adName);//省(市、自治区) r1.setOneWagaCount((long) this.briefReportDao.getPersWagaCount("1", r.getPersId(), briefReportParam.getSttm(), briefReportParam.getEntm(),briefReportParam.getState(),province));//大型 r1.setTwoWagaCount((long) this.briefReportDao.getPersWagaCount("2", r.getPersId(), briefReportParam.getSttm(), briefReportParam.getEntm(), briefReportParam.getState(),province));//中型 r1.setThreeWagaCount((long) this.briefReportDao.getPersWagaCount("3", r.getPersId(), briefReportParam.getSttm(), briefReportParam.getEntm(), briefReportParam.getState(),province));//小型 r1.setFourWagaCount((long) this.briefReportDao.getPersWagaCount(null, r.getPersId(), briefReportParam.getSttm(), briefReportParam.getEntm(), briefReportParam.getState(),province));//其他 r1.setAllWagaCount(r1.getOneWagaCount() + r1.getTwoWagaCount() + r1.getThreeWagaCount() + r1.getFourWagaCount()); r1.setOneProCount((long) this.briefReportDao.getPersAllProCount("6", r.getPersId(), "0", briefReportParam.getSttm(), briefReportParam.getEntm(), briefReportParam.getState(),province));//一般问题统计 r1.setTwoProCount((long) this.briefReportDao.getPersAllProCount("6", r.getPersId(), "1", briefReportParam.getSttm(), briefReportParam.getEntm(), briefReportParam.getState(),province));//较重问题统计 r1.setThreeProCount((long) this.briefReportDao.getPersAllProCount("6", r.getPersId(), "2", briefReportParam.getSttm(), briefReportParam.getEntm(), briefReportParam.getState(),province));//严重问题统计 r1.setFourProCount((long) this.briefReportDao.getPersAllProCount("6", r.getPersId(), "3", briefReportParam.getSttm(), briefReportParam.getEntm(), briefReportParam.getState(),province));//非常严重问题 r1.setAllProCount(r1.getOneProCount() + r1.getTwoProCount() + r1.getThreeProCount());//问题总数 r1.setMileage(bisInspMileageDao.calMileageByPerAndDate(r.getPersId(), briefReportParam.getSttm(),briefReportParam.getEntm())); result.add(r1); if ("1".equals(briefReportParam.getIsExport())) { Map listMap = BeanUtil.transBean2Map(r1); list.add(listMap); } } } } if("1".equals(briefReportParam.getIsExport())){ ExportAbstract export = new ExcelExport(); export.setFileName( "水闸流域督查统计" );//view.getView_name() export.setExport_ps_export( true ); export.setExport_ps_type( ExportAbstract.XLS ); export.setExport_bzip( false ); export.setTitle( "水闸流域督查统计" ); ArrayList cols = new ArrayList(); cols.add( "basinName[流域]" ); cols.add( "groupName[组]" ); cols.add( "proName[省(市、自治区)]" ); cols.add( "proCount[省(市、自治区)数量]" ); cols.add( "persCount[人数]" ); cols.add( "countyCount[县(市、区)]" ); cols.add( "oneWagaCount[大型数量]" ); cols.add( "twoWagaCount[中型水闸数量]" ); cols.add( "threeWagaCount[小型水闸数量]" ); cols.add( "fourWagaCount[其他水闸数量]" ); cols.add( "allWagaCount[小计]" ); cols.add( "oneProCount[一般问题]" ); cols.add( "twoProCount[较重问题]" ); cols.add( "threeProCount[严重问题]" ); cols.add( "fourProCount[特别严重问题]" ); cols.add( "allProCount[问题合计]" ); cols.add( "mileage[里程(米)]" ); export.setCols( cols ); export.setGroupable( false ); // 设置视图指标 export.setLevel(1); export.setLocksize(0); try { export.Export(response); export.ExportHeadForCustom(response);//导出表头 export.ContinueExport(list); export.EndExport(); } catch (Exception e) { e.printStackTrace(); } } return result; } @Override public List getEmpwtConWorkByOrgPro(HttpServletResponse response, String adName, String orgName, String isExport, String sttm, String entm, String persid, String state,String province) { if(persid!=null&&persid!=""){ List objectNameDtoList = this.briefReportDao.getNmByPersid(persid,province); if(objectNameDtoList.size()>0){ int i = 0; for(ObjectNameDto o : objectNameDtoList){ if(o.getId().length()==3){ i ++ ; } } if(i==0){ ObjectNameDto ond = this.briefReportDao.getOrgName(objectNameDtoList.get(0).getId().substring(0,6)); orgName = ond.getName(); } } } Map params=getMap(province); String length=params.get("length"); String zero=params.get("zero"); List result = new ArrayList<>(); List list0 = briefReportDao.getAdCodeByType("004",adName,orgName,province,length,zero); List list1 = briefReportDao.getOrgProGroupList("004",adName,orgName,sttm,entm,province,length,zero); List list2 = briefReportDao.getOrgProPersList("004",adName,orgName,sttm,entm,province,length,zero); List list3 = briefReportDao.getOrgProEmpwtCountryList("2",adName,orgName,sttm,entm,state,province);//添加督查状态 List list4 = briefReportDao.getOrgProEmpwtList("2",adName,orgName,sttm,entm,state,province); Map map = new HashMap<>(); map.put("orgName",orgName); map.put("adName",adName); map.put("objType","4"); map.put("sttm",sttm); map.put("length",length); map.put("zero",zero); map.put("entm",entm); map.put("state",state); map.put("province",province); List list7 = briefReportDao.getOrgProPblmList(map); map = new HashMap<>(); map.put("objType","4"); map.put("orgName",orgName); map.put("adName",adName); map.put("cate","0"); map.put("sttm",sttm); map.put("entm",entm); map.put("length",length); map.put("zero",zero); map.put("province",province); map.put("state",state); List list8 = briefReportDao.getOrgProPblmList(map); map.put("cate","1"); List list9 = briefReportDao.getOrgProPblmList(map); map.put("cate","2"); List list10 = briefReportDao.getOrgProPblmList(map); map.put("cate","3"); List list11 = briefReportDao.getOrgProPblmList(map); Map map1 = list1.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map2 = list2.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map3 = list3.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map4 = list4.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map7 = list7.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map8 = list8.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map9 = list9.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map10 = list10.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map11 = list11.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); List> list = new ArrayList<>(); for (BriefReport brief : list0) { String ad_code = brief.getAdCode(); String ad_name = brief.getAdName(); String code = brief.getCode(); String pnm = brief.getPnm(); EmpwtConWork empwtConWork = new EmpwtConWork(); empwtConWork.setAdCode(ad_code); empwtConWork.setAdName(ad_name); empwtConWork.setNm(ad_name); empwtConWork.setCode(code); empwtConWork.setName(pnm); ad_code += code; int group = 0; if(map1.get(ad_code)!=null){ group = map1.get(ad_code); } empwtConWork.setGroup(group); int pers = 0; if(map2.get(ad_code)!=null){ pers = map2.get(ad_code); } empwtConWork.setPers(pers); int country = 0; if(map3.get(ad_code)!=null){ country = map3.get(ad_code); } empwtConWork.setCountry(country); int empwt = 0; if(map4.get(ad_code)!=null){ empwt = map4.get(ad_code); } empwtConWork.setEmpwt(empwt); int pblm = 0; if(map7.get(ad_code)!=null){ pblm = map7.get(ad_code); } empwtConWork.setPblm(pblm); int pblmOne = 0; if(map8.get(ad_code)!=null){ pblmOne = map8.get(ad_code); } empwtConWork.setPblmOne(pblmOne); int pblmTwo = 0; if(map9.get(ad_code)!=null){ pblmTwo = map9.get(ad_code); } empwtConWork.setPblmTwo(pblmTwo); int pblmThree = 0; if(map10.get(ad_code)!=null){ pblmThree = map10.get(ad_code); } int pblmFour=0; if(map11.get(ad_code)!=null){ pblmFour = map11.get(ad_code); } empwtConWork.setPblmThree(pblmThree); empwtConWork.setPblmFour(pblmFour); result.add(empwtConWork); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(empwtConWork); list.add(listMap); } EmpwtConWork empwtConWork = new EmpwtConWork(); empwtConWork.setCode(AdCodeLabel.START_PARENT_ADCODE); empwtConWork.setAdCode("000000000000"); empwtConWork.setAdName("全部"); empwtConWork.setNm("全部"); empwtConWork.setName("合计"); int group = result.stream().mapToInt(EmpwtConWork::getGroup).sum(); empwtConWork.setGroup(group); int pers = result.stream().mapToInt(EmpwtConWork::getPers).sum(); empwtConWork.setPers(pers); int country = result.stream().mapToInt(EmpwtConWork::getCountry).sum(); empwtConWork.setCountry(country); int empwt = result.stream().mapToInt(EmpwtConWork::getEmpwt).sum(); empwtConWork.setEmpwt(empwt); int pblm = result.stream().mapToInt(EmpwtConWork::getPblm).sum(); empwtConWork.setPblm(pblm); int pblmOne = result.stream().mapToInt(EmpwtConWork::getPblmOne).sum(); empwtConWork.setPblmOne(pblmOne); int pblmTwo = result.stream().mapToInt(EmpwtConWork::getPblmTwo).sum(); empwtConWork.setPblmTwo(pblmTwo); int pblmThree = result.stream().mapToInt(EmpwtConWork::getPblmThree).sum(); empwtConWork.setPblmThree(pblmThree); int pblmFour = result.stream().mapToInt(EmpwtConWork::getPblmFour).sum(); empwtConWork.setPblmFour(pblmFour); result.add(empwtConWork); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(empwtConWork); list.add(listMap); if("1".equals(isExport)){ ExportAbstract export = new ExcelExport(); export.setFileName( "省+单位-172重点工程建设督查工作统计" );//view.getView_name() export.setExport_ps_export( true ); export.setExport_ps_type( ExportAbstract.XLS ); export.setExport_bzip( false ); export.setTitle( "省+单位-172重点工程建设督查工作统计" ); ArrayList cols = new ArrayList(); cols.add( "adName[省份]" ); cols.add( "name[单位]" ); cols.add( "group[组]" ); cols.add( "pers[人]" ); cols.add( "country[县]" ); cols.add( "empwt[172重点工程建设]" ); cols.add( "pblmOne[一般问题]" ); cols.add( "pblmTwo[较重问题]" ); cols.add( "pblmThree[严重问题]" ); cols.add( "pblmFour[特别严重问题]" ); cols.add( "pblm[问题合计]" ); export.setCols( cols ); export.setGroupable( false ); // 设置视图指标 export.setLevel(1); export.setLocksize(0); try { export.Export(response); export.ExportHeadForCustom(response);//导出表头 export.ContinueExport(list); export.EndExport(); } catch (Exception e) { e.printStackTrace(); } } return result; } @Override public List getEmpwtRunWorkByOrgPro(HttpServletResponse response, String adName, String orgName, String isExport, String sttm, String entm, String persid, String state,String province) { if(persid!=null&&persid!=""){ List objectNameDtoList = this.briefReportDao.getNmByPersid(persid,province); if(objectNameDtoList.size()>0){ int i = 0; for(ObjectNameDto o : objectNameDtoList){ if(o.getId().length()==3){ i ++ ; } } if(i==0){ ObjectNameDto ond = this.briefReportDao.getOrgName(objectNameDtoList.get(0).getId().substring(0,6)); orgName = ond.getName(); } } } Map params=getMap(province); String length=params.get("length"); String zero=params.get("zero"); List result = new ArrayList<>(); List list0 = briefReportDao.getAdCodeByType("007",adName,orgName,province,length,zero); List list1 = briefReportDao.getOrgProGroupList("007",adName,orgName,sttm,entm,province,length,zero); List list2 = briefReportDao.getOrgProPersList("007",adName,orgName,sttm,entm,province,length,zero); List list3 = briefReportDao.getOrgProEmpwtCountryList("1",adName,orgName,sttm,entm,state,province);//添加督查状态 List list4 = briefReportDao.getOrgProEmpwtList("1",adName,orgName,sttm,entm,state,province); Map map = new HashMap<>(); map.put("orgName",orgName); map.put("adName",adName); map.put("objType","7"); map.put("sttm",sttm); map.put("length",length); map.put("zero",zero); map.put("entm",entm); map.put("state",state); map.put("province",province); List list7 = briefReportDao.getOrgProPblmList(map); map = new HashMap<>(); map.put("objType","7"); map.put("orgName",orgName); map.put("adName",adName); map.put("cate","0"); map.put("sttm",sttm); map.put("length",length); map.put("zero",zero); map.put("province",province); map.put("entm",entm); map.put("state",state); List list8 = briefReportDao.getOrgProPblmList(map); map.put("cate","1"); List list9 = briefReportDao.getOrgProPblmList(map); map.put("cate","2"); List list10 = briefReportDao.getOrgProPblmList(map); map.put("cate","3"); List list11 = briefReportDao.getOrgProPblmList(map); Map map1 = list1.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map2 = list2.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map3 = list3.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map4 = list4.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map7 = list7.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map8 = list8.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map9 = list9.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map10 = list10.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map11 = list11.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); List> list = new ArrayList<>(); for (BriefReport brief : list0) { String ad_code = brief.getAdCode(); String ad_name = brief.getAdName(); String code = brief.getCode(); String pnm = brief.getPnm(); EmpwtRunWork empwtRunWork = new EmpwtRunWork(); empwtRunWork.setAdCode(ad_code); empwtRunWork.setAdName(ad_name); empwtRunWork.setNm(ad_name); empwtRunWork.setCode(code); empwtRunWork.setName(pnm); ad_code += code; int group = 0; if(map1.get(ad_code)!=null){ group = map1.get(ad_code); } empwtRunWork.setGroup(group); int pers = 0; if(map2.get(ad_code)!=null){ pers = map2.get(ad_code); } empwtRunWork.setPers(pers); int country = 0; if(map3.get(ad_code)!=null){ country = map3.get(ad_code); } empwtRunWork.setCountry(country); int empwt = 0; if(map4.get(ad_code)!=null){ empwt = map4.get(ad_code); } empwtRunWork.setEmpwt(empwt); int pblm = 0; if(map7.get(ad_code)!=null){ pblm = map7.get(ad_code); } empwtRunWork.setPblm(pblm); int pblmOne = 0; if(map8.get(ad_code)!=null){ pblmOne = map8.get(ad_code); } empwtRunWork.setPblmOne(pblmOne); int pblmTwo = 0; if(map9.get(ad_code)!=null){ pblmTwo = map9.get(ad_code); } empwtRunWork.setPblmTwo(pblmTwo); int pblmThree = 0; if(map10.get(ad_code)!=null){ pblmThree = map10.get(ad_code); } int pblmFour=0; if(map11.get(ad_code)!=null){ pblmFour = map11.get(ad_code); } empwtRunWork.setPblmThree(pblmThree); empwtRunWork.setPblmFour(pblmFour); result.add(empwtRunWork); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(empwtRunWork); list.add(listMap); } EmpwtRunWork empwtRunWork = new EmpwtRunWork(); empwtRunWork.setCode(AdCodeLabel.START_PARENT_ADCODE); empwtRunWork.setAdCode("000000000000"); empwtRunWork.setAdName("全部"); empwtRunWork.setNm("全部"); empwtRunWork.setName("合计"); int group = result.stream().mapToInt(EmpwtRunWork::getGroup).sum(); empwtRunWork.setGroup(group); int pers = result.stream().mapToInt(EmpwtRunWork::getPers).sum(); empwtRunWork.setPers(pers); int country = result.stream().mapToInt(EmpwtRunWork::getCountry).sum(); empwtRunWork.setCountry(country); int empwt = result.stream().mapToInt(EmpwtRunWork::getEmpwt).sum(); empwtRunWork.setEmpwt(empwt); int pblm = result.stream().mapToInt(EmpwtRunWork::getPblm).sum(); empwtRunWork.setPblm(pblm); int pblmOne = result.stream().mapToInt(EmpwtRunWork::getPblmOne).sum(); empwtRunWork.setPblmOne(pblmOne); int pblmTwo = result.stream().mapToInt(EmpwtRunWork::getPblmTwo).sum(); empwtRunWork.setPblmTwo(pblmTwo); int pblmThree = result.stream().mapToInt(EmpwtRunWork::getPblmThree).sum(); empwtRunWork.setPblmThree(pblmThree); int pblmFour = result.stream().mapToInt(EmpwtRunWork::getPblmFour).sum(); empwtRunWork.setPblmFour(pblmFour); result.add(empwtRunWork); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(empwtRunWork); list.add(listMap); if("1".equals(isExport)){ ExportAbstract export = new ExcelExport(); export.setFileName( "省+单位-172重点工程运行督查工作统计" );//view.getView_name() export.setExport_ps_export( true ); export.setExport_ps_type( ExportAbstract.XLS ); export.setExport_bzip( false ); export.setTitle( "省+单位-172重点工程运行督查工作统计" ); ArrayList cols = new ArrayList(); cols.add( "adName[省份]" ); cols.add( "name[单位]" ); cols.add( "group[组]" ); cols.add( "pers[人]" ); cols.add( "country[县]" ); cols.add( "empwt[172重点工程运行]" ); cols.add( "pblmOne[一般问题]" ); cols.add( "pblmTwo[较重问题]" ); cols.add( "pblmThree[严重问题]" ); cols.add( "pblmFour[特别严重问题]" ); cols.add( "pblm[问题合计]" ); export.setCols( cols ); export.setGroupable( false ); // 设置视图指标 export.setLevel(1); export.setLocksize(0); try { export.Export(response); export.ExportHeadForCustom(response);//导出表头 export.ContinueExport(list); export.EndExport(); } catch (Exception e) { e.printStackTrace(); } } return result; } @Override public List getWagaWorkByOrgPro(HttpServletResponse response, String adName, String orgName, String isExport, String sttm, String entm, String persid, String state,String province) { if(persid!=null&&persid!=""){ List objectNameDtoList = this.briefReportDao.getNmByPersid(persid,province); if(objectNameDtoList.size()>0){ int i = 0; for(ObjectNameDto o : objectNameDtoList){ if(o.getId().length()==3){ i ++ ; } } if(i==0){ ObjectNameDto ond = this.briefReportDao.getOrgName(objectNameDtoList.get(0).getId().substring(0,6)); orgName = ond.getName(); } } } Map params=getMap(province); String length=params.get("length"); String zero=params.get("zero"); List result = new ArrayList<>(); List list0 = briefReportDao.getAdCodeByType("006",adName,orgName,province,length,zero); List list1 = briefReportDao.getOrgProGroupList("006",adName,orgName,sttm,entm,province,length,zero); List list2 = briefReportDao.getOrgProPersList("006",adName,orgName,sttm,entm,province,length,zero); List list3 = briefReportDao.getOrgProWagaCountryList(adName,orgName,sttm,entm,state,province);//添加督查状态 List list4 = briefReportDao.getOrgProWagaList("",adName,orgName,sttm,entm,state,province);//添加督查状态 List list5 = briefReportDao.getOrgProWagaList("1",adName,orgName,sttm,entm,state,province); List list6 = briefReportDao.getOrgProWagaList("2",adName,orgName,sttm,entm,state,province); List list61 = briefReportDao.getOrgProWagaList("3",adName,orgName,sttm,entm,state,province); List list62 = briefReportDao.getOrgProWagaList(null,adName,orgName,sttm,entm,state,province); Map map = new HashMap<>(); map.put("orgName",orgName); map.put("adName",adName); map.put("objType","6"); map.put("sttm",sttm); map.put("entm",entm); map.put("state",state); map.put("province",province); map.put("length",length); map.put("zero",zero); List list7 = briefReportDao.getOrgProPblmList(map); map = new HashMap<>(); map.put("objType","6"); map.put("orgName",orgName); map.put("adName",adName); map.put("length",length); map.put("zero",zero); map.put("cate","0"); map.put("province",province); map.put("sttm",sttm); map.put("entm",entm); map.put("state",state); List list8 = briefReportDao.getOrgProPblmList(map); map.put("cate","1"); List list9 = briefReportDao.getOrgProPblmList(map); map.put("cate","2"); List list10 = briefReportDao.getOrgProPblmList(map); map.put("cate","3"); List list11 = briefReportDao.getOrgProPblmList(map); Map map1 = list1.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map2 = list2.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map3 = list3.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map4 = list4.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map5 = list5.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map6 = list6.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map7 = list7.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map8 = list8.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map9 = list9.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map10 = list10.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map11 = list11.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map61 = list61.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); Map map62 = list62.stream().collect(Collectors.toMap(BriefReport::getAddCode, BriefReport::getNum, (key1, key2) -> key2)); List> list = new ArrayList<>(); for (BriefReport brief : list0) { String ad_code = brief.getAdCode(); String ad_name = brief.getAdName(); String code = brief.getCode(); String pnm = brief.getPnm(); WagaWork wagaWork = new WagaWork(); wagaWork.setAdCode(ad_code); wagaWork.setAdName(ad_name); wagaWork.setNm(ad_name); wagaWork.setCode(code); wagaWork.setName(pnm); ad_code += code; int group = 0; if(map1.get(ad_code)!=null){ group = map1.get(ad_code); } wagaWork.setGroup(group); int pers = 0; if(map2.get(ad_code)!=null){ pers = map2.get(ad_code); } wagaWork.setPers(pers); int country = 0; if(map3.get(ad_code)!=null){ country = map3.get(ad_code); } wagaWork.setCountry(country); int waga = 0; if(map4.get(ad_code)!=null){ waga = map4.get(ad_code); } wagaWork.setWaga(waga); int wagaOne = 0; if(map5.get(ad_code)!=null){ wagaOne = map5.get(ad_code); } wagaWork.setWagaOne(wagaOne); int wagaTwo = 0; if(map6.get(ad_code)!=null){ wagaTwo = map6.get(ad_code); } wagaWork.setWagaTwo(wagaTwo); int wagaThree = 0; if(map61.get(ad_code)!=null){ wagaThree = map61.get(ad_code); } wagaWork.setWagaThree(wagaThree); int wagaFour = 0; if(map62.get(ad_code)!=null){ wagaFour = map62.get(ad_code); } wagaWork.setWagaFour(wagaFour); int pblm = 0; if(map7.get(ad_code)!=null){ pblm = map7.get(ad_code); } wagaWork.setPblm(pblm); int pblmOne = 0; if(map8.get(ad_code)!=null){ pblmOne = map8.get(ad_code); } wagaWork.setPblmOne(pblmOne); int pblmTwo = 0; if(map9.get(ad_code)!=null){ pblmTwo = map9.get(ad_code); } wagaWork.setPblmTwo(pblmTwo); int pblmThree = 0; if(map10.get(ad_code)!=null){ pblmThree = map10.get(ad_code); } int pblmFour=0; if(map11.get(ad_code)!=null){ pblmFour = map11.get(ad_code); } wagaWork.setPblmThree(pblmThree); wagaWork.setPblmFour(pblmFour); result.add(wagaWork); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(wagaWork); list.add(listMap); } WagaWork wagaWork = new WagaWork(); wagaWork.setCode(AdCodeLabel.START_PARENT_ADCODE); wagaWork.setAdCode("000000000000"); wagaWork.setAdName("全部"); wagaWork.setNm("全部"); wagaWork.setName("合计"); int group = result.stream().mapToInt(WagaWork::getGroup).sum(); wagaWork.setGroup(group); int pers = result.stream().mapToInt(WagaWork::getPers).sum(); wagaWork.setPers(pers); int country = result.stream().mapToInt(WagaWork::getCountry).sum(); wagaWork.setCountry(country); int waga = result.stream().mapToInt(WagaWork::getWaga).sum(); wagaWork.setWaga(waga); int wagaOne = result.stream().mapToInt(WagaWork::getWagaOne).sum(); wagaWork.setWagaOne(wagaOne); int wagaTwo = result.stream().mapToInt(WagaWork::getWagaTwo).sum(); wagaWork.setWagaTwo(wagaTwo); int wagaThree = result.stream().mapToInt(WagaWork::getWagaThree).sum(); wagaWork.setWagaThree(wagaThree); int wagaFour = result.stream().mapToInt(WagaWork::getWagaFour).sum(); wagaWork.setWagaFour(wagaFour); int pblm = result.stream().mapToInt(WagaWork::getPblm).sum(); wagaWork.setPblm(pblm); int pblmOne = result.stream().mapToInt(WagaWork::getPblmOne).sum(); wagaWork.setPblmOne(pblmOne); int pblmTwo = result.stream().mapToInt(WagaWork::getPblmTwo).sum(); wagaWork.setPblmTwo(pblmTwo); int pblmThree = result.stream().mapToInt(WagaWork::getPblmThree).sum(); wagaWork.setPblmThree(pblmThree); int pblmFour = result.stream().mapToInt(WagaWork::getPblmFour).sum(); wagaWork.setPblmFour(pblmFour); result.add(wagaWork); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(wagaWork); list.add(listMap); if("1".equals(isExport)){ ExportAbstract export = new ExcelExport(); export.setFileName( "省+单位-水闸督查工作统计" );//view.getView_name() export.setExport_ps_export( true ); export.setExport_ps_type( ExportAbstract.XLS ); export.setExport_bzip( false ); export.setTitle( "省+单位-水闸督查工作统计" ); ArrayList cols = new ArrayList(); cols.add( "adName[省份]" ); cols.add( "name[单位]" ); cols.add( "group[组]" ); cols.add( "pers[人]" ); cols.add( "country[县]" ); cols.add( "waga[水闸]" ); cols.add( "wagaOne[大型水闸]" ); cols.add( "wagaTwo[中型水闸]" ); cols.add( "wagaThree[小型水闸]" ); cols.add( "pblmOne[一般问题]" ); cols.add( "pblmTwo[较重问题]" ); cols.add( "pblmThree[严重问题]" ); cols.add( "pblmFour[特别严重问题]" ); cols.add( "pblm[问题合计]" ); export.setCols( cols ); export.setGroupable( false ); // 设置视图指标 export.setLevel(1); export.setLocksize(0); try { export.Export(response); export.ExportHeadForCustom(response);//导出表头 export.ContinueExport(list); export.EndExport(); } catch (Exception e) { e.printStackTrace(); } } return result; } @Override public List getEmpwtConWork(HttpServletResponse response, String orgName, String isExport, String sttm, String entm, String state,String province,String orgId) { List result = new ArrayList<>(); Map map = new HashMap<>(); map.put("orgName",orgName); map.put("type","004"); map.put("orgId",orgId); map.put("province",province); List list0 = briefReportDao.getGroupCountListByType(map); map.put("sttm",sttm); map.put("entm",entm); List list1 = briefReportDao.getGroupCountListByType(map); List list2 = briefReportDao.getPersCountListByType(map); List list3 = briefReportDao.getEmpwtProCountList("2",orgName,sttm,entm, state,province);//添加督查状态 List list4 = briefReportDao.getEmpwtCtCountList("2",orgName,sttm,entm, state,province);//添加督查状态 List list5 = briefReportDao.getEmpwtCountListByType("2",orgName,sttm,entm, state,province);//添加督查状态 map = new HashMap<>(); map.put("objType","4"); map.put("orgName",orgName); map.put("sttm",sttm); map.put("entm",entm); map.put("orgId",orgId); map.put("province",province); map.put("state",state); List list8 = briefReportDao.getPblmCountList(map); map = new HashMap<>(); map.put("objType","4"); map.put("orgName",orgName); map.put("cate","0"); map.put("sttm",sttm); map.put("orgId",orgId); map.put("province",province); map.put("entm",entm); map.put("state",state); List list9 = briefReportDao.getPblmCountList(map); map.put("cate","1"); List list10 = briefReportDao.getPblmCountList(map); map.put("cate","2"); List list11 = briefReportDao.getPblmCountList(map); map.put("cate","3"); List list12 = briefReportDao.getPblmCountList(map); Map map1 = list1.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map2 = list2.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map3 = list3.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map4 = list4.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map5 = list5.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map8 = list8.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map9 = list9.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map10 = list10.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map11 = list11.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map12 = list12.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); List> list = new ArrayList<>(); for (BriefReport brief : list0) { String code = brief.getCode(); String pnm = brief.getPnm(); EmpwtConWork empwtConWork = new EmpwtConWork(); empwtConWork.setCode(code); empwtConWork.setName(pnm); int group = 0; if(map1.get(code)!=null){ group = map1.get(code); } empwtConWork.setGroup(group); int pers = 0; if(map2.get(code)!=null){ pers = map2.get(code); } empwtConWork.setPers(pers); int pros = 0; if(map3.get(code)!=null){ pros = map3.get(code); } empwtConWork.setPros(pros); int country = 0; if(map4.get(code)!=null){ country = map4.get(code); } empwtConWork.setCountry(country); int empwt = 0; if(map5.get(code)!=null){ empwt = map5.get(code); } empwtConWork.setEmpwt(empwt); int pblm = 0; if(map8.get(code)!=null){ pblm = map8.get(code); } empwtConWork.setPblm(pblm); int pblmOne = 0; if(map9.get(code)!=null){ pblmOne = map9.get(code); } empwtConWork.setPblmOne(pblmOne); int pblmTwo = 0; if(map10.get(code)!=null){ pblmTwo = map10.get(code); } empwtConWork.setPblmTwo(pblmTwo); int pblmThree = 0; if(map11.get(code)!=null){ pblmThree = map11.get(code); } empwtConWork.setPblmThree(pblmThree); int pblmFour = 0; if(map12.get(code)!=null){ pblmFour = map12.get(code); } empwtConWork.setPblmFour(pblmFour); result.add(empwtConWork); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(empwtConWork); list.add(listMap); } EmpwtConWork empwtConWork = new EmpwtConWork(); empwtConWork.setCode(AdCodeLabel.START_PARENT_ADCODE); empwtConWork.setName("合计"); int group = result.stream().mapToInt(EmpwtConWork::getGroup).sum(); empwtConWork.setGroup(group); int pers = result.stream().mapToInt(EmpwtConWork::getPers).sum(); empwtConWork.setPers(pers); int pros = result.stream().mapToInt(EmpwtConWork::getPros).sum(); empwtConWork.setPros(pros); int country = result.stream().mapToInt(EmpwtConWork::getCountry).sum(); empwtConWork.setCountry(country); int empwt = result.stream().mapToInt(EmpwtConWork::getEmpwt).sum(); empwtConWork.setEmpwt(empwt); int pblm = result.stream().mapToInt(EmpwtConWork::getPblm).sum(); empwtConWork.setPblm(pblm); int pblmOne = result.stream().mapToInt(EmpwtConWork::getPblmOne).sum(); empwtConWork.setPblmOne(pblmOne); int pblmTwo = result.stream().mapToInt(EmpwtConWork::getPblmTwo).sum(); empwtConWork.setPblmTwo(pblmTwo); int pblmThree = result.stream().mapToInt(EmpwtConWork::getPblmThree).sum(); empwtConWork.setPblmThree(pblmThree); result.add(empwtConWork); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(empwtConWork); list.add(listMap); if("1".equals(isExport)){ ExportAbstract export = new ExcelExport(); export.setFileName( "172重点工程建设督查工作统计" );//view.getView_name() export.setExport_ps_export( true ); export.setExport_ps_type( ExportAbstract.XLS ); export.setExport_bzip( false ); export.setTitle( "172重点工程建设督查工作统计" ); ArrayList cols = new ArrayList(); cols.add( "name[单位]" ); cols.add( "group[组]" ); cols.add( "pers[人]" ); cols.add( "pros[省]" ); cols.add( "country[县]" ); cols.add( "empwt[172重点工程建设]" ); cols.add( "pblmOne[一般问题]" ); cols.add( "pblmTwo[较重问题]" ); cols.add( "pblmThree[严重问题]" ); cols.add( "pblm[问题合计]" ); export.setCols( cols ); export.setGroupable( false ); // 设置视图指标 export.setLevel(1); export.setLocksize(0); try { export.Export(response); export.ExportHeadForCustom(response);//导出表头 export.ContinueExport(list); export.EndExport(); } catch (Exception e) { e.printStackTrace(); } } return result; } @Override public List getEmpwtRunWork(HttpServletResponse response, String orgName, String isExport, String sttm, String entm, String state,String province,String orgId) { List result = new ArrayList<>(); Map map = new HashMap<>(); map.put("orgName",orgName); map.put("type","007"); map.put("orgId",orgId); map.put("province",province); List list0 = briefReportDao.getGroupCountListByType(map); map.put("sttm",sttm); map.put("entm",entm); List list1 = briefReportDao.getGroupCountListByType(map); List list2 = briefReportDao.getPersCountListByType(map); List list3 = briefReportDao.getEmpwtProCountList("1",orgName,sttm,entm, state,province);//添加督查状态 List list4 = briefReportDao.getEmpwtCtCountList("1",orgName,sttm,entm, state,province);//添加督查状态 List list5 = briefReportDao.getEmpwtCountListByType("1",orgName,sttm,entm, state,province);//添加督查状态 map = new HashMap<>(); map.put("objType","7"); map.put("orgName",orgName); map.put("sttm",sttm); map.put("entm",entm); map.put("orgId",orgId); map.put("province",province); map.put("state",state); List list8 = briefReportDao.getPblmCountList(map); map = new HashMap<>(); map.put("objType","7"); map.put("orgName",orgName); map.put("cate","0"); map.put("orgId",orgId); map.put("province",province); map.put("sttm",sttm); map.put("entm",entm); map.put("state",state); List list9 = briefReportDao.getPblmCountList(map); map.put("cate","1"); List list10 = briefReportDao.getPblmCountList(map); map.put("cate","2"); List list11 = briefReportDao.getPblmCountList(map); map.put("cate","3"); List list12 = briefReportDao.getPblmCountList(map); Map map1 = list1.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map2 = list2.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map3 = list3.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map4 = list4.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map5 = list5.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map8 = list8.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map9 = list9.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map10 = list10.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map11 = list11.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map12 = list12.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); List> list = new ArrayList<>(); for (BriefReport brief : list0) { String code = brief.getCode(); String pnm = brief.getPnm(); EmpwtRunWork empwtRunWork = new EmpwtRunWork(); empwtRunWork.setCode(code); empwtRunWork.setName(pnm); int group = 0; if(map1.get(code)!=null){ group = map1.get(code); } empwtRunWork.setGroup(group); int pers = 0; if(map2.get(code)!=null){ pers = map2.get(code); } empwtRunWork.setPers(pers); int pros = 0; if(map3.get(code)!=null){ pros = map3.get(code); } empwtRunWork.setPros(pros); int country = 0; if(map4.get(code)!=null){ country = map4.get(code); } empwtRunWork.setCountry(country); int empwt = 0; if(map5.get(code)!=null){ empwt = map5.get(code); } empwtRunWork.setEmpwt(empwt); int pblm = 0; if(map8.get(code)!=null){ pblm = map8.get(code); } empwtRunWork.setPblm(pblm); int pblmOne = 0; if(map9.get(code)!=null){ pblmOne = map9.get(code); } empwtRunWork.setPblmOne(pblmOne); int pblmTwo = 0; if(map10.get(code)!=null){ pblmTwo = map10.get(code); } empwtRunWork.setPblmTwo(pblmTwo); int pblmThree = 0; if(map11.get(code)!=null){ pblmThree = map11.get(code); } empwtRunWork.setPblmThree(pblmThree); int pblmFour = 0; if(map12.get(code)!=null){ pblmFour = map12.get(code); } empwtRunWork.setPblmFour(pblmFour); result.add(empwtRunWork); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(empwtRunWork); list.add(listMap); } EmpwtRunWork empwtRunWork = new EmpwtRunWork(); empwtRunWork.setCode(AdCodeLabel.START_PARENT_ADCODE); empwtRunWork.setName("合计"); int group = result.stream().mapToInt(EmpwtRunWork::getGroup).sum(); empwtRunWork.setGroup(group); int pers = result.stream().mapToInt(EmpwtRunWork::getPers).sum(); empwtRunWork.setPers(pers); int pros = result.stream().mapToInt(EmpwtRunWork::getPros).sum(); empwtRunWork.setPros(pros); int country = result.stream().mapToInt(EmpwtRunWork::getCountry).sum(); empwtRunWork.setCountry(country); int empwt = result.stream().mapToInt(EmpwtRunWork::getEmpwt).sum(); empwtRunWork.setEmpwt(empwt); int pblm = result.stream().mapToInt(EmpwtRunWork::getPblm).sum(); empwtRunWork.setPblm(pblm); int pblmOne = result.stream().mapToInt(EmpwtRunWork::getPblmOne).sum(); empwtRunWork.setPblmOne(pblmOne); int pblmTwo = result.stream().mapToInt(EmpwtRunWork::getPblmTwo).sum(); empwtRunWork.setPblmTwo(pblmTwo); int pblmThree = result.stream().mapToInt(EmpwtRunWork::getPblmThree).sum(); empwtRunWork.setPblmThree(pblmThree); result.add(empwtRunWork); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(empwtRunWork); list.add(listMap); if("1".equals(isExport)){ ExportAbstract export = new ExcelExport(); export.setFileName( "172重点工程运行督查工作统计" );//view.getView_name() export.setExport_ps_export( true ); export.setExport_ps_type( ExportAbstract.XLS ); export.setExport_bzip( false ); export.setTitle( "172重点工程运行督查工作统计" ); ArrayList cols = new ArrayList(); cols.add( "name[单位]" ); cols.add( "group[组]" ); cols.add( "pers[人]" ); cols.add( "pros[省]" ); cols.add( "country[县]" ); cols.add( "empwt[172重点工程运行]" ); cols.add( "pblmOne[一般问题]" ); cols.add( "pblmTwo[较重问题]" ); cols.add( "pblmThree[严重问题]" ); cols.add( "pblm[问题合计]" ); export.setCols( cols ); export.setGroupable( false ); // 设置视图指标 export.setLevel(1); export.setLocksize(0); try { export.Export(response); export.ExportHeadForCustom(response);//导出表头 export.ContinueExport(list); export.EndExport(); } catch (Exception e) { e.printStackTrace(); } } return result; } @Override public List getWagaWork(HttpServletResponse response, String orgName, String isExport, String sttm, String entm, String state,String province,String orgId) { List result = new ArrayList<>(); Map map = new HashMap<>(); map.put("orgName",orgName); map.put("type","006"); map.put("orgId",orgId); map.put("province",province); List list0 = briefReportDao.getGroupCountListByType(map); map.put("sttm",sttm); map.put("entm",entm); map.put("orgId",orgId); map.put("province",province); List list1 = briefReportDao.getGroupCountListByType(map); List list2 = briefReportDao.getPersCountListByType(map); List list3 = briefReportDao.getWagaProCountList(orgName,sttm,entm,state,province);//添加督查状态 List list4 = briefReportDao.getWagaCtCountList(orgName,sttm,entm,state,province);//添加督查状态 List list5 = briefReportDao.getWagaCountListByType(orgName,"",sttm,entm,state,province);//添加督查状态 List list6 = briefReportDao.getWagaCountListByType(orgName,"1",sttm,entm,state,province); List list7 = briefReportDao.getWagaCountListByType(orgName,"2",sttm,entm,state,province); List list71 = briefReportDao.getWagaCountListByType(orgName,"3",sttm,entm,state,province); List list72 = briefReportDao.getWagaCountListByType(orgName,null,sttm,entm,state,province); map = new HashMap<>(); map.put("objType","6"); map.put("orgName",orgName); map.put("sttm",sttm); map.put("entm",entm); map.put("orgId",orgId); map.put("province",province); map.put("state",state); List list8 = briefReportDao.getPblmCountList(map); map = new HashMap<>(); map.put("objType","6"); map.put("orgName",orgName); map.put("cate","0"); map.put("sttm",sttm); map.put("orgId",orgId); map.put("province",province); map.put("entm",entm); map.put("state",state); List list9 = briefReportDao.getPblmCountList(map); map.put("cate","1"); List list10 = briefReportDao.getPblmCountList(map); map.put("cate","2"); List list11 = briefReportDao.getPblmCountList(map); map.put("cate","3"); List list12 = briefReportDao.getPblmCountList(map); Map map1 = list1.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map2 = list2.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map3 = list3.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map4 = list4.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map5 = list5.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map6 = list6.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map7 = list7.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map8 = list8.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map9 = list9.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map10 = list10.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map11 = list11.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map12 = list12.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map71 = list71.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); Map map72 = list72.stream().collect(Collectors.toMap(BriefReport::getCode, BriefReport::getNum, (key1, key2) -> key2)); List> list = new ArrayList<>(); for (BriefReport brief : list0) { String code = brief.getCode(); String pnm = brief.getPnm(); // int num = brief.getNum(); WagaWork wagaWork = new WagaWork(); wagaWork.setCode(code); wagaWork.setName(pnm); // wagaWork.setGroup(num); int group = 0; if(map1.get(code)!=null){ group = map1.get(code); } wagaWork.setGroup(group); int pers = 0; if(map2.get(code)!=null){ pers = map2.get(code); } wagaWork.setPers(pers); int pros = 0; if(map3.get(code)!=null){ pros = map3.get(code); } wagaWork.setPros(pros); int country = 0; if(map4.get(code)!=null){ country = map4.get(code); } wagaWork.setCountry(country); int waga = 0; if(map5.get(code)!=null){ waga = map5.get(code); } wagaWork.setWaga(waga); int wagaOne = 0; if(map6.get(code)!=null){ wagaOne = map6.get(code); } wagaWork.setWagaOne(wagaOne); int wagaTwo = 0; if(map7.get(code)!=null){ wagaTwo = map7.get(code); } wagaWork.setWagaTwo(wagaTwo); int wagaThree = 0; if(map71.get(code)!=null){ wagaThree = map71.get(code); } wagaWork.setWagaThree(wagaThree); int wagaFour = 0; if(map72.get(code)!=null){ wagaFour = map72.get(code); } wagaWork.setWagaFour(wagaFour); int pblm = 0; if(map8.get(code)!=null){ pblm = map8.get(code); } wagaWork.setPblm(pblm); int pblmOne = 0; if(map9.get(code)!=null){ pblmOne = map9.get(code); } wagaWork.setPblmOne(pblmOne); int pblmTwo = 0; if(map10.get(code)!=null){ pblmTwo = map10.get(code); } wagaWork.setPblmTwo(pblmTwo); int pblmThree = 0; if(map11.get(code)!=null){ pblmThree = map11.get(code); } wagaWork.setPblmThree(pblmThree); int pblmFour = 0; if(map12.get(code)!=null){ pblmFour = map12.get(code); } wagaWork.setPblmFour(pblmFour); result.add(wagaWork); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(wagaWork); list.add(listMap); } WagaWork wagaWork = new WagaWork(); wagaWork.setCode(AdCodeLabel.START_PARENT_ADCODE); wagaWork.setName("合计"); int group = result.stream().mapToInt(WagaWork::getGroup).sum(); wagaWork.setGroup(group); int pers = result.stream().mapToInt(WagaWork::getPers).sum(); wagaWork.setPers(pers); int pros = result.stream().mapToInt(WagaWork::getPros).sum(); wagaWork.setPros(pros); int country = result.stream().mapToInt(WagaWork::getCountry).sum(); wagaWork.setCountry(country); int waga = result.stream().mapToInt(WagaWork::getWaga).sum(); wagaWork.setWaga(waga); int wagaOne = result.stream().mapToInt(WagaWork::getWagaOne).sum(); wagaWork.setWagaOne(wagaOne); int wagaTwo = result.stream().mapToInt(WagaWork::getWagaTwo).sum(); wagaWork.setWagaTwo(wagaTwo); int wagaThree = result.stream().mapToInt(WagaWork::getWagaThree).sum(); wagaWork.setWagaThree(wagaThree); int wagaFour = result.stream().mapToInt(WagaWork::getWagaFour).sum(); wagaWork.setWagaFour(wagaFour); int pblm = result.stream().mapToInt(WagaWork::getPblm).sum(); wagaWork.setPblm(pblm); int pblmOne = result.stream().mapToInt(WagaWork::getPblmOne).sum(); wagaWork.setPblmOne(pblmOne); int pblmTwo = result.stream().mapToInt(WagaWork::getPblmTwo).sum(); wagaWork.setPblmTwo(pblmTwo); int pblmThree = result.stream().mapToInt(WagaWork::getPblmThree).sum(); wagaWork.setPblmThree(pblmThree); result.add(wagaWork); // 将javaBean 转换为map Map listMap = BeanUtil.transBean2Map(wagaWork); list.add(listMap); if("1".equals(isExport)){ ExportAbstract export = new ExcelExport(); export.setFileName( "水闸督查工作统计" );//view.getView_name() export.setExport_ps_export( true ); export.setExport_ps_type( ExportAbstract.XLS ); export.setExport_bzip( false ); export.setTitle( "水闸督查工作统计" ); ArrayList cols = new ArrayList(); cols.add( "name[单位]" ); cols.add( "group[组]" ); cols.add( "pers[人]" ); cols.add( "pros[省]" ); cols.add( "country[县]" ); cols.add( "waga[水闸]" ); cols.add( "wagaOne[大型水闸]" ); cols.add( "wagaTwo[中型水闸]" ); cols.add( "wagaThree[小型水闸]" ); cols.add( "pblmOne[一般问题]" ); cols.add( "pblmTwo[较重问题]" ); cols.add( "pblmThree[严重问题]" ); cols.add( "pblm[问题合计]" ); export.setCols( cols ); export.setGroupable( false ); // 设置视图指标 export.setLevel(1); export.setLocksize(0); try { export.Export(response); export.ExportHeadForCustom(response);//导出表头 export.ContinueExport(list); export.EndExport(); } catch (Exception e) { e.printStackTrace(); } } return result; } //流域督查统计(人饮) @Override public List getRiverSupervisionCwsCount(HttpServletResponse response,BriefReportParam briefReportParam,String province,String orgId) { //存放最终结果 List riverSupervisionCwsCountList = new ArrayList<>(); List result = new ArrayList<>(); List> list = new ArrayList<>(); //获取流域id和名称、组id和名称 briefReportParam.setProvince(province); briefReportParam.setOrgId(orgId); riverSupervisionCwsCountList = this.briefReportDao.getRiverSupervisionCwsCount(briefReportParam); if(riverSupervisionCwsCountList.size()>0){ List adNameDtoList = new ArrayList<>(); for(RiverSupervisionCwsCount r : riverSupervisionCwsCountList){//遍历获取其他数据 RiverSupervisionCwsCount r1 = new RiverSupervisionCwsCount(); adNameDtoList = this.briefReportDao.getCwsAdNameDtoList(r.getGroupId(),province);//根据组id获取要督查的省 if(adNameDtoList.size()>0){ String adName = ""; for(AdNameDto adNameDto : adNameDtoList){ if(org.apache.commons.lang.StringUtils.isNotBlank(briefReportParam.getAdName())) { if (adNameDto.getAdName().indexOf(briefReportParam.getAdName()) != -1){ adName = adName + adNameDto.getAdName()+"、";//如果行政区是多个 用、分隔 }else{ continue; } }else { adName = adName + adNameDto.getAdName() + "、";//如果行政区是多个 用、分隔 } } if(adName==null){ continue; } r1.setBasinId(r.getBasinId()); r1.setBasinName(r.getBasinName()); r1.setGroupId(r.getGroupId()); r1.setGroupName(r.getGroupName()); adName = adName.substring(0,adName.length()-1); r1.setProName(adName);//省(市、自治区) r1.setProCount((long) adNameDtoList.size());//省(市、自治区)数量 r1.setPersCount((long) this.briefReportDao.getPersCount(r.getGroupId(),province));//人数 r1.setCountyCount((long) this.briefReportDao.getCwsCountyCount(r.getGroupId(),province));//县(市、区) r1.setVillageCount((long) this.briefReportDao.getVillageCount("1",r.getGroupId(),briefReportParam.getSttm(),briefReportParam.getEntm(),briefReportParam.getState(),province));//行政村 r1.setWatCount((long) this.briefReportDao.getVillageCount("2",r.getGroupId(),briefReportParam.getSttm(),briefReportParam.getEntm(),briefReportParam.getState(),province));//用水户 r1.setVlgCount((long) this.briefReportDao.getVillageCount("3",r.getGroupId(),briefReportParam.getSttm(),briefReportParam.getEntm(),briefReportParam.getState(),province));//农饮工程 r1.setSourceCount((long) this.briefReportDao.getVillageCount("4",r.getGroupId(),briefReportParam.getSttm(),briefReportParam.getEntm(),briefReportParam.getState(),province));//水源地 r1.setOneProCount((long) this.briefReportDao.getAllProCount("2",r.getGroupId(),"0",briefReportParam.getSttm(),briefReportParam.getEntm(), briefReportParam.getState(),province));//一般问题统计 r1.setTwoProCount((long) this.briefReportDao.getAllProCount("2",r.getGroupId(),"1",briefReportParam.getSttm(),briefReportParam.getEntm(), briefReportParam.getState(),province));//较重问题统计 r1.setThreeProCount((long) this.briefReportDao.getAllProCount("2",r.getGroupId(),"2",briefReportParam.getSttm(),briefReportParam.getEntm(), briefReportParam.getState(),province));//严重问题统计 r1.setAllProCount(r1.getOneProCount()+r1.getTwoProCount()+r1.getThreeProCount());//问题总数 result.add(r1); if("1".equals(briefReportParam.getIsExport())){ Map listMap = BeanUtil.transBean2Map(r1); list.add(listMap); } } } } if("1".equals(briefReportParam.getIsExport())){ ExportAbstract export = new ExcelExport(); export.setFileName( "人饮流域督查统计" );//view.getView_name() export.setExport_ps_export( true ); export.setExport_ps_type( ExportAbstract.XLS ); export.setExport_bzip( false ); export.setTitle( "人饮流域督查统计" ); ArrayList cols = new ArrayList(); cols.add( "basinName[流域]" ); cols.add( "groupName[组]" ); cols.add( "proName[省(市、自治区)]" ); cols.add( "proCount[省(市、自治区)数量]" ); cols.add( "persCount[人数]" ); cols.add( "countyCount[县(市、区)]" ); cols.add( "villageCount[行政村]" ); cols.add( "watCount[用水户]" ); cols.add( "vlgCount[人饮工程]" ); cols.add( "sourceCount[水源地]" ); cols.add( "oneProCount[一般问题]" ); cols.add( "twoProCount[较重问题]" ); cols.add( "threeProCount[严重问题]" ); cols.add( "allProCount[问题合计]" ); export.setCols( cols ); export.setGroupable( false ); // 设置视图指标 export.setLevel(1); export.setLocksize(0); try { export.Export(response); export.ExportHeadForCustom(response);//导出表头 export.ContinueExport(list); export.EndExport(); } catch (Exception e) { e.printStackTrace(); } } return result; } @Override public List getRiverSupervisionRivCount(HttpServletResponse response,BriefReportParam briefReportParam,String province,String orgId) { //存放最终结果 List riverSupervisionCwsCountList = new ArrayList<>(); List result = new ArrayList<>(); List> list = new ArrayList<>(); //获取流域id和名称、组id和名称 briefReportParam.setOrgId(orgId); briefReportParam.setProvince(province); riverSupervisionCwsCountList = this.briefReportDao.getRiverSupervisionRivCount(briefReportParam); if(riverSupervisionCwsCountList.size()>0){ List adNameDtoList = new ArrayList<>(); for(RiverSupervisionRivCount r : riverSupervisionCwsCountList) {//遍历获取其他数据 if (r.getGroupId() != null){ RiverSupervisionRivCount r1 = new RiverSupervisionRivCount(); adNameDtoList = this.briefReportDao.getRivAdNameDtoList(r.getGroupId(),province);//根据组id获取要督查的省 if (adNameDtoList.size() > 0) { String adName = ""; for (AdNameDto adNameDto : adNameDtoList) { if (org.apache.commons.lang.StringUtils.isNotBlank(briefReportParam.getAdName())) { if (adNameDto.getAdName().indexOf(briefReportParam.getAdName()) != -1) { adName = adName + adNameDto.getAdName() + "、";//如果行政区是多个 用、分隔 } else { continue; } } else { adName = adName + adNameDto.getAdName() + "、";//如果行政区是多个 用、分隔 } } if (adName == null) { continue; } r1.setBasinId(r.getBasinId()); r1.setBasinName(r.getBasinName()); r1.setGroupId(r.getGroupId()); r1.setGroupName(r.getGroupName()); adName = adName.substring(0, adName.length() - 1); r1.setProName(adName);//省(市、自治区) r1.setProCount((long) adNameDtoList.size());//省(市、自治区)数量 r1.setPersCount((long) this.briefReportDao.getPersCount(r.getGroupId(),province));//人数 r1.setCountyCount((long) this.briefReportDao.getRivCountyCount(r.getGroupId(),province));//县(市、区) r1.setOneRsCount((long) this.briefReportDao.getRsCount("4", r.getGroupId(),briefReportParam.getState(),province));//小(1) r1.setTwoRsCount((long) this.briefReportDao.getRsCount("5", r.getGroupId(),briefReportParam.getState(),province));//小(2) r1.setAllRsCount(r1.getOneRsCount() + r1.getTwoRsCount()); r1.setOneProCount((long) this.briefReportDao.getAllProCount("1", r.getGroupId(), "0", briefReportParam.getSttm(), briefReportParam.getEntm(), briefReportParam.getState(),province));//一般问题统计 r1.setTwoProCount((long) this.briefReportDao.getAllProCount("1", r.getGroupId(), "1", briefReportParam.getSttm(), briefReportParam.getEntm(), briefReportParam.getState(),province));//较重问题统计 r1.setThreeProCount((long) this.briefReportDao.getAllProCount("1", r.getGroupId(), "2", briefReportParam.getSttm(), briefReportParam.getEntm(), briefReportParam.getState(),province));//严重问题统计 r1.setFourProCount((long) this.briefReportDao.getAllProCount("1", r.getGroupId(), "3", briefReportParam.getSttm(), briefReportParam.getEntm(), briefReportParam.getState(),province));//严重问题统计 r1.setAllProCount(r1.getOneProCount() + r1.getTwoProCount() + r1.getThreeProCount() + r1.getFourProCount());//问题总数 result.add(r1); if ("1".equals(briefReportParam.getIsExport())) { Map listMap = BeanUtil.transBean2Map(r1); list.add(listMap); } } } } } if("1".equals(briefReportParam.getIsExport())){ ExportAbstract export = new ExcelExport(); export.setFileName( "水库流域督查统计" );//view.getView_name() export.setExport_ps_export( true ); export.setExport_ps_type( ExportAbstract.XLS ); export.setExport_bzip( false ); export.setTitle( "水库流域督查统计" ); ArrayList cols = new ArrayList(); cols.add( "basinName[流域]" ); cols.add( "groupName[组]" ); cols.add( "proName[省(市、自治区)]" ); cols.add( "proCount[省(市、自治区)数量]" ); cols.add( "persCount[人数]" ); cols.add( "countyCount[县(市、区)]" ); cols.add( "oneRsCount[小(1)水库数量]" ); cols.add( "twoRsCount[小(2)水库数量]" ); cols.add( "allRsCount[小计]" ); cols.add( "oneProCount[一般问题]" ); cols.add( "twoProCount[较重问题]" ); cols.add( "threeProCount[严重问题]" ); cols.add( "fourProCount[特别严重问题]" ); cols.add( "allProCount[问题合计]" ); export.setCols( cols ); export.setGroupable( false ); // 设置视图指标 export.setLevel(1); export.setLocksize(0); try { export.Export(response); export.ExportHeadForCustom(response);//导出表头 export.ContinueExport(list); export.EndExport(); } catch (Exception e) { e.printStackTrace(); } } return result; } @Override public List getRiverSupervisionWtdCount(HttpServletResponse response,BriefReportParam briefReportParam,String province,String orgId) { //存放最终结果 List riverSupervisionCwsCountList = new ArrayList<>(); List result = new ArrayList<>(); List> list = new ArrayList<>(); //获取流域id和名称、组id和名称 briefReportParam.setOrgId(orgId); briefReportParam.setProvince(province); riverSupervisionCwsCountList = this.briefReportDao.getRiverSupervisionWtdCount(briefReportParam); if(riverSupervisionCwsCountList.size()>0){ List adNameDtoList = new ArrayList<>(); for(RiverSupervisionWtdCount r : riverSupervisionCwsCountList){//遍历获取其他数据 RiverSupervisionWtdCount r1 = new RiverSupervisionWtdCount(); adNameDtoList = this.briefReportDao.getWtdAdNameDtoList(r.getGroupId(),province);//根据组id获取要督查的省 if(adNameDtoList.size()>0){ String adName = ""; for(AdNameDto adNameDto : adNameDtoList){ if(org.apache.commons.lang.StringUtils.isNotBlank(briefReportParam.getAdName())) { if (adNameDto.getAdName().indexOf(briefReportParam.getAdName()) != -1){ adName = adName + adNameDto.getAdName()+"、";//如果行政区是多个 用、分隔 }else{ continue; } }else { adName = adName + adNameDto.getAdName() + "、";//如果行政区是多个 用、分隔 } } if(adName==null){ continue; } r1.setBasinId(r.getBasinId()); r1.setBasinName(r.getBasinName()); r1.setGroupId(r.getGroupId()); r1.setGroupName(r.getGroupName()); adName = adName.substring(0,adName.length()-1); r1.setProName(adName);//省(市、自治区) r1.setProCount((long) adNameDtoList.size());//省(市、自治区)数量 r1.setPersCount((long) this.briefReportDao.getPersCount(r.getGroupId(),province));//人数 r1.setCountyCount((long) this.briefReportDao.getWtdCountyCount(r.getGroupId(),briefReportParam.getState(),province));//县(市、区)//添加督查状态 r1.setAllWtdCount((long) this.briefReportDao.getWtdCount(r.getGroupId(),briefReportParam.getState(),province));//添加督查状态 r1.setOneProCount((long) this.briefReportDao.getAllProCount("3",r.getGroupId(),"0",briefReportParam.getSttm(),briefReportParam.getEntm(), briefReportParam.getState(),province));//一般问题统计 r1.setTwoProCount((long) this.briefReportDao.getAllProCount("3",r.getGroupId(),"1",briefReportParam.getSttm(),briefReportParam.getEntm(), briefReportParam.getState(),province));//较重问题统计 r1.setThreeProCount((long) this.briefReportDao.getAllProCount("3",r.getGroupId(),"2",briefReportParam.getSttm(),briefReportParam.getEntm(), briefReportParam.getState(),province));//严重问题统计 r1.setAllProCount(r1.getOneProCount()+r1.getTwoProCount()+r1.getThreeProCount());//问题总数 result.add(r1); if("1".equals(briefReportParam.getIsExport())){ Map listMap = BeanUtil.transBean2Map(r1); list.add(listMap); } } } } if("1".equals(briefReportParam.getIsExport())){ ExportAbstract export = new ExcelExport(); export.setFileName( "水毁流域督查统计" ); export.setExport_ps_export( true ); export.setExport_ps_type( ExportAbstract.XLS ); export.setExport_bzip( false ); export.setTitle( "水毁流域督查统计" ); ArrayList cols = new ArrayList(); cols.add( "basinName[流域]" ); cols.add( "groupName[组]" ); cols.add( "proName[省(市、自治区)]" ); cols.add( "proCount[省(市、自治区)数量]" ); cols.add( "persCount[人数]" ); cols.add( "countyCount[县(市、区)]" ); cols.add( "allWtdCount[项目数量]" ); cols.add( "oneProCount[一般问题]" ); cols.add( "twoProCount[较重问题]" ); cols.add( "threeProCount[严重问题]" ); cols.add( "allProCount[问题合计]" ); export.setCols( cols ); export.setGroupable( false ); // 设置视图指标 export.setLevel(1); export.setLocksize(0); try { export.Export(response); export.ExportHeadForCustom(response);//导出表头 export.ContinueExport(list); export.EndExport(); } catch (Exception e) { e.printStackTrace(); } } return result; } }