diff --git a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/orderindex/OrderIndexService.java b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/orderindex/OrderIndexService.java index 670af72..b2dd7ea 100644 --- a/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/orderindex/OrderIndexService.java +++ b/yxt-supervise-gf-biz/src/main/java/com/yxt/supervise/gf/biz/orderindex/OrderIndexService.java @@ -56,14 +56,14 @@ public class OrderIndexService extends ServiceImpl kfsz = baseMapper.selectList(getQueryWrapper(order_index.getSearch_time()).eq("group_id", 7)); - List jjsh = baseMapper.selectList(getQueryWrapper(order_index.getSearch_time()).eq("group_id", 8)); - List cbfh = baseMapper.selectList(getQueryWrapper(order_index.getSearch_time()).eq("group_id", 9)); - List dzsg = baseMapper.selectList(getQueryWrapper(order_index.getSearch_time()).eq("group_id", 10)); - List dzbw = baseMapper.selectList(getQueryWrapper(order_index.getSearch_time()).eq("group_id", 11)); - List xcys = baseMapper.selectList(getQueryWrapper(order_index.getSearch_time()).eq("group_id", 12)); - List dzyy = baseMapper.selectList(getQueryWrapper(order_index.getSearch_time()).eq("group_id", 13)); - exportExcel(kfsz,jjsh,cbfh,dzsg,dzbw,xcys,dzyy); + List kfsz = baseMapper.selectList(new QueryWrapper().eq("group_id", 7)); + List jjsh = baseMapper.selectList(new QueryWrapper().eq("group_id", 8)); + List cbfh = baseMapper.selectList(new QueryWrapper().eq("group_id", 9)); + List dzsg = baseMapper.selectList(new QueryWrapper().eq("group_id", 10)); + List dzbw = baseMapper.selectList(new QueryWrapper().eq("group_id", 11)); + List xcys = baseMapper.selectList(new QueryWrapper().eq("group_id", 12)); + List dzyy = baseMapper.selectList(new QueryWrapper().eq("group_id", 13)); + exportExcel(kfsz,jjsh,cbfh,dzsg,dzbw,xcys,dzyy,order_index); } /** @@ -71,7 +71,8 @@ public class OrderIndexService extends ServiceImpl getQueryWrapper(String[] search_time) { + private List getDateTime(String[] search_time) { + List longs = new ArrayList<>(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date dateFirst = null; Date dateLast = null; @@ -83,12 +84,12 @@ public class OrderIndexService extends ServiceImpl wrapper = new QueryWrapper<>(); - wrapper.ge("create_time", dateFirstTime).le("create_time", dateLastTime); - return wrapper; + longs.add(dateFirstTime); + longs.add(dateLastTime); + return longs; } - public void exportExcel(List kfsz,List jjsh,List cbfh,List dzsg,List dzbw,List xcys,List dzyy){ + public void exportExcel(List kfsz,List jjsh,List cbfh,List dzsg,List dzbw,List xcys,List dzyy,Order_Index order_index){ Calendar calendar=Calendar.getInstance(); int month=calendar.get(Calendar.MONTH); calendar.set(Calendar.MONTH, month-1); @@ -99,7 +100,6 @@ public class OrderIndexService extends ServiceImpl> collect = null; //设置sheet名称,并创建新的sheet对象 Sheet stuSheet = wb.createSheet(); stuSheet.autoSizeColumn(0); @@ -166,6 +166,7 @@ public class OrderIndexService extends ServiceImpl> collect1 = getOrderIndexDbGroup(i,kfsz,jjsh,cbfh,dzsg,dzbw,xcys,dzyy); Row leftTitleRowTitle = stuSheet.createRow(4+i); leftTitleRowTitle.setHeight((short) 600); CellRangeAddress leftCallHead = new CellRangeAddress(4+i, 7+i,0,0); @@ -177,119 +178,153 @@ public class OrderIndexService extends ServiceImpl it.getOrder_type_text())); - break; - case 4: - collect = jjsh.stream().collect(Collectors.groupingBy(it -> it.getOrder_type_text())); - break; - case 8: - collect = dzsg.stream().collect(Collectors.groupingBy(it -> it.getOrder_type_text())); - break; - case 12: - collect = dzbw.stream().collect(Collectors.groupingBy(it -> it.getOrder_type_text())); - break; - case 16: - collect = xcys.stream().collect(Collectors.groupingBy(it -> it.getOrder_type_text())); - break; - case 20: - collect = dzyy.stream().collect(Collectors.groupingBy(it -> it.getOrder_type_text())); - break; - } cellTwoData = leftTitleRowTitle.createCell(2); - long h = collect.get("户用") == null ? 0 : (long) collect.get("户用").size(); - long g = collect.get("工商业") == null ? 0 : (long) collect.get("工商业").size(); - cellTwoData.setCellValue(h+g); + long h1 = collect1.get("户用") == null ? 0 : (long) collect1.get("户用").size(); + long g1 = collect1.get("工商业") == null ? 0 : (long) collect1.get("工商业").size(); + cellTwoData.setCellValue(h1+g1); cellTwoData.setCellStyle(cellStyle1); cellTwoData = leftTitleRowTitle.createCell(3); - long hg = collect.get("户用") == null ? 0 : (long) collect.get("户用").stream().mapToInt(it -> Integer.parseInt(it.getAll_power())).sum(); - long gg = collect.get("工商业") == null ? 0 : (long) collect.get("工商业").stream().mapToInt(it -> Integer.parseInt(it.getAll_power())).sum(); - cellTwoData.setCellValue(hg+gg); + long hg1 = collect1.get("户用") == null ? 0 : (long) collect1.get("户用").stream().mapToInt(it -> Integer.parseInt(it.getAll_power())).sum(); + long gg1 = collect1.get("工商业") == null ? 0 : (long) collect1.get("工商业").stream().mapToInt(it -> Integer.parseInt(it.getAll_power())).sum(); + cellTwoData.setCellValue(hg1+gg1); cellTwoData.setCellStyle(cellStyle1); cellTwoData = leftTitleRowTitle.createCell(4); - cellTwoData.setCellValue(h); + cellTwoData.setCellValue(h1); cellTwoData.setCellStyle(cellStyle1); cellTwoData = leftTitleRowTitle.createCell(5); - cellTwoData.setCellValue(hg); + cellTwoData.setCellValue(hg1); cellTwoData.setCellStyle(cellStyle1); + Map num1 = getNum(collect1); cellTwoData = leftTitleRowTitle.createCell(6); - List list = collect.get("户用") == null ? null : collect.get("户用"); - List listG = collect.get("工商业") == null ? null : collect.get("工商业"); - long ha = 0;int hag = 0;long hz = 0;int hzg = 0;long hq = 0;int hqg = 0; - if (list != null){ - ha = list.stream().filter(it -> it.getData_id().contains("安阳")).count(); - hag = list.stream().filter(it -> it.getData_id().contains("安阳")).mapToInt(it -> Integer.parseInt(it.getAll_power())).sum(); - hz = list.stream().filter(it -> it.getData_id().contains("庄河")).count(); - hzg = list.stream().filter(it -> it.getData_id().contains("庄河")).mapToInt(it -> Integer.parseInt(it.getAll_power())).sum(); - hq = list.stream().filter(it -> it.getData_id().contains("曲阜")).count(); - hqg = list.stream().filter(it -> it.getData_id().contains("曲阜")).mapToInt(it -> Integer.parseInt(it.getAll_power())).sum(); - - } - long ga = 0;int gag = 0;long gz = 0;int gzg = 0;long gq = 0;int gqg = 0; - if (listG != null){ - ga = listG.stream().filter(it -> it.getData_id().contains("安阳")).count(); - gag = listG.stream().filter(it -> it.getData_id().contains("安阳")).mapToInt(it -> Integer.parseInt(it.getAll_power())).sum(); - gz = listG.stream().filter(it -> it.getData_id().contains("庄河")).count(); - gzg = listG.stream().filter(it -> it.getData_id().contains("庄河")).mapToInt(it -> Integer.parseInt(it.getAll_power())).sum(); - gq = listG.stream().filter(it -> it.getData_id().contains("曲阜")).count(); - gqg = listG.stream().filter(it -> it.getData_id().contains("曲阜")).mapToInt(it -> Integer.parseInt(it.getAll_power())).sum(); - - } - cellTwoData.setCellValue(ha); + cellTwoData.setCellValue(num1.get("ha").toString()); cellTwoData.setCellStyle(cellStyle1); cellTwoData = leftTitleRowTitle.createCell(7); - cellTwoData.setCellValue(hag); + cellTwoData.setCellValue(num1.get("hag").toString()); cellTwoData.setCellStyle(cellStyle1); cellTwoData = leftTitleRowTitle.createCell(8); - cellTwoData.setCellValue(hz); + cellTwoData.setCellValue(num1.get("hz").toString()); cellTwoData.setCellStyle(cellStyle1); cellTwoData = leftTitleRowTitle.createCell(9); - cellTwoData.setCellValue(hzg); + cellTwoData.setCellValue(num1.get("hzg").toString()); cellTwoData.setCellStyle(cellStyle1); cellTwoData = leftTitleRowTitle.createCell(10); - cellTwoData.setCellValue(hq); + cellTwoData.setCellValue(num1.get("hq").toString()); cellTwoData.setCellStyle(cellStyle1); cellTwoData = leftTitleRowTitle.createCell(11); - cellTwoData.setCellValue(hqg); + cellTwoData.setCellValue(num1.get("hqg") .toString()); cellTwoData.setCellStyle(cellStyle1); cellTwoData = leftTitleRowTitle.createCell(12); - cellTwoData.setCellValue(g); + cellTwoData.setCellValue(g1); cellTwoData.setCellStyle(cellStyle1); cellTwoData = leftTitleRowTitle.createCell(13); - cellTwoData.setCellValue(gg); + cellTwoData.setCellValue(gg1); cellTwoData.setCellStyle(cellStyle1); - cellTwoData = leftTitleRowTitle.createCell(14); - cellTwoData.setCellValue(ga); + cellTwoData.setCellValue(num1.get("ga").toString()); cellTwoData.setCellStyle(cellStyle1); cellTwoData = leftTitleRowTitle.createCell(15); - cellTwoData.setCellValue(gag); + cellTwoData.setCellValue(num1.get("gag").toString()); cellTwoData.setCellStyle(cellStyle1); cellTwoData = leftTitleRowTitle.createCell(16); - cellTwoData.setCellValue(gz); + cellTwoData.setCellValue(num1.get("gz").toString()); cellTwoData.setCellStyle(cellStyle1); cellTwoData = leftTitleRowTitle.createCell(17); - cellTwoData.setCellValue(gzg); + cellTwoData.setCellValue(num1.get("gzg").toString()); cellTwoData.setCellStyle(cellStyle1); cellTwoData = leftTitleRowTitle.createCell(18); - cellTwoData.setCellValue(gq); + cellTwoData.setCellValue(num1.get("gq").toString()); cellTwoData.setCellStyle(cellStyle1); cellTwoData = leftTitleRowTitle.createCell(19); - cellTwoData.setCellValue(gqg); + cellTwoData.setCellValue(num1.get("gqg").toString()); cellTwoData.setCellStyle(cellStyle1); + + //todo 数据填充 + List dateTime = getDateTime(order_index.getSearch_time()); + Map> collect = getOrderIndexDbGroup(i, + kfsz.stream().filter(it -> it.getCreate_time() >= dateTime.get(0)).filter(it -> it.getCreate_time() <= dateTime.get(1)).collect(Collectors.toList()), + jjsh.stream().filter(it -> it.getCreate_time() >= dateTime.get(0)).filter(it -> it.getCreate_time() <= dateTime.get(1)).collect(Collectors.toList()), + cbfh.stream().filter(it -> it.getCreate_time() >= dateTime.get(0)).filter(it -> it.getCreate_time() <= dateTime.get(1)).collect(Collectors.toList()), + dzsg.stream().filter(it -> it.getCreate_time() >= dateTime.get(0)).filter(it -> it.getCreate_time() <= dateTime.get(1)).collect(Collectors.toList()), + dzbw.stream().filter(it -> it.getCreate_time() >= dateTime.get(0)).filter(it -> it.getCreate_time() <= dateTime.get(1)).collect(Collectors.toList()), + xcys.stream().filter(it -> it.getCreate_time() >= dateTime.get(0)).filter(it -> it.getCreate_time() <= dateTime.get(1)).collect(Collectors.toList()), + dzyy.stream().filter(it -> it.getCreate_time() >= dateTime.get(0)).filter(it -> it.getCreate_time() <= dateTime.get(1)).collect(Collectors.toList())); Row leftTitleRowTitleTwo = stuSheet.createRow(5+k); leftTitleRowTitleTwo.setHeight((short) 600); Cell cellTwo1 = leftTitleRowTitleTwo.createCell(1); cellTwo1.setCellValue(sdf.format(endTime).split("-")[1]+"月"); cellTwo1.setCellStyle(cellStyle1); k++; + Cell cell2 = null; + cell2 = leftTitleRowTitleTwo.createCell(2); + long h = collect.get("户用") == null ? 0 : (long) collect.get("户用").size(); + long g = collect.get("工商业") == null ? 0 : (long) collect.get("工商业").size(); + cell2.setCellValue(h+g); + cell2.setCellStyle(cellStyle1); + cell2 = leftTitleRowTitleTwo.createCell(3); + long hg = collect.get("户用") == null ? 0 : (long) collect.get("户用").stream().mapToInt(it -> Integer.parseInt(it.getAll_power())).sum(); + long gg = collect.get("工商业") == null ? 0 : (long) collect.get("工商业").stream().mapToInt(it -> Integer.parseInt(it.getAll_power())).sum(); + cell2.setCellValue(hg+gg); + cell2.setCellStyle(cellStyle1); + cell2 = leftTitleRowTitleTwo.createCell(4); + cell2.setCellValue(h); + cell2.setCellStyle(cellStyle1); + cell2 = leftTitleRowTitleTwo.createCell(5); + cell2.setCellValue(hg); + cell2.setCellStyle(cellStyle1); + Map num = getNum(collect); + cell2 = leftTitleRowTitleTwo.createCell(6); + cell2.setCellValue(num.get("ha").toString()); + cell2.setCellStyle(cellStyle1); + cell2 = leftTitleRowTitleTwo.createCell(7); + cell2.setCellValue(num.get("hag").toString()); + cell2.setCellStyle(cellStyle1); + cell2 = leftTitleRowTitleTwo.createCell(8); + cell2.setCellValue(num.get("hz").toString()); + cell2.setCellStyle(cellStyle1); + cell2 = leftTitleRowTitleTwo.createCell(9); + cell2.setCellValue(num.get("hzg").toString()); + cell2.setCellStyle(cellStyle1); + cell2 = leftTitleRowTitleTwo.createCell(10); + cell2.setCellValue(num.get("hq").toString()); + cell2.setCellStyle(cellStyle1); + cell2 = leftTitleRowTitleTwo.createCell(11); + cell2.setCellValue(num.get("hqg").toString()); + cell2.setCellStyle(cellStyle1); + cell2 = leftTitleRowTitleTwo.createCell(12); + cell2.setCellValue(g); + cell2.setCellStyle(cellStyle1); + cell2 = leftTitleRowTitleTwo.createCell(13); + cell2.setCellValue(gg); + cell2.setCellStyle(cellStyle1); + + cell2 = leftTitleRowTitleTwo.createCell(14); + cell2.setCellValue(num.get("ga").toString()); + cell2.setCellStyle(cellStyle1); + cell2 = leftTitleRowTitleTwo.createCell(15); + cell2.setCellValue(num.get("gag").toString()); + cell2.setCellStyle(cellStyle1); + cell2 = leftTitleRowTitleTwo.createCell(16); + cell2.setCellValue(num.get("gz").toString()); + cell2.setCellStyle(cellStyle1); + cell2 = leftTitleRowTitleTwo.createCell(17); + cell2.setCellValue(num.get("gzg").toString()); + cell2.setCellStyle(cellStyle1); + cell2 = leftTitleRowTitleTwo.createCell(18); + cell2.setCellValue(num.get("gq").toString()); + cell2.setCellStyle(cellStyle1); + cell2 = leftTitleRowTitleTwo.createCell(19); + cell2.setCellValue(num.get("gqg").toString()); + cell2.setCellStyle(cellStyle1); + + //todo 补充第35周的数据 Row leftTitleRowTitleTwo1 = stuSheet.createRow(5+k); leftTitleRowTitleTwo1.setHeight((short) 600); Cell cellTwo11 = leftTitleRowTitleTwo1.createCell(1); cellTwo11.setCellValue("第35周"); cellTwo11.setCellStyle(cellStyle1); k++; + + //todo 补充每月低的数据 Row leftTitleRowTitleTwo11 = stuSheet.createRow(5+k); leftTitleRowTitleTwo11.setHeight((short) 600); Cell cellTwo111 = leftTitleRowTitleTwo11.createCell(1); @@ -315,4 +350,76 @@ public class OrderIndexService extends ServiceImpl> + **/ + private Map> getOrderIndexDbGroup(int i,List kfsz,List jjsh,List cbfh,List dzsg,List dzbw,List xcys,List dzyy){ + Map> collect = null; + switch (i){ + case 0: + collect = kfsz.stream().collect(Collectors.groupingBy(it -> it.getOrder_type_text())); + break; + case 4: + collect = jjsh.stream().collect(Collectors.groupingBy(it -> it.getOrder_type_text())); + break; + case 8: + collect = cbfh.stream().collect(Collectors.groupingBy(it -> it.getOrder_type_text())); + break; + case 12: + collect = dzsg.stream().collect(Collectors.groupingBy(it -> it.getOrder_type_text())); + break; + case 16: + collect = dzbw.stream().collect(Collectors.groupingBy(it -> it.getOrder_type_text())); + break; + case 20: + collect = xcys.stream().collect(Collectors.groupingBy(it -> it.getOrder_type_text())); + break; + case 24: + collect = dzyy.stream().collect(Collectors.groupingBy(it -> it.getOrder_type_text())); + break; + } + return collect; + } + + private Map getNum(Map> collect){ + Map map = new HashMap<>(); + List list = collect.get("户用") == null ? null : collect.get("户用"); + List listG = collect.get("工商业") == null ? null : collect.get("工商业"); + long ha = 0;int hag = 0;long hz = 0;int hzg = 0;long hq = 0;int hqg = 0; + if (list != null){ + ha = list.stream().filter(it -> it.getData_id().contains("安阳")).count(); + hag = list.stream().filter(it -> it.getData_id().contains("安阳")).mapToInt(it -> Integer.parseInt(it.getAll_power())).sum(); + hz = list.stream().filter(it -> it.getData_id().contains("庄河")).count(); + hzg = list.stream().filter(it -> it.getData_id().contains("庄河")).mapToInt(it -> Integer.parseInt(it.getAll_power())).sum(); + hq = list.stream().filter(it -> it.getData_id().contains("曲阜")).count(); + hqg = list.stream().filter(it -> it.getData_id().contains("曲阜")).mapToInt(it -> Integer.parseInt(it.getAll_power())).sum(); + + } + long ga = 0;int gag = 0;long gz = 0;int gzg = 0;long gq = 0;int gqg = 0; + if (listG != null){ + ga = listG.stream().filter(it -> it.getData_id().contains("安阳")).count(); + gag = listG.stream().filter(it -> it.getData_id().contains("安阳")).mapToInt(it -> Integer.parseInt(it.getAll_power())).sum(); + gz = listG.stream().filter(it -> it.getData_id().contains("庄河")).count(); + gzg = listG.stream().filter(it -> it.getData_id().contains("庄河")).mapToInt(it -> Integer.parseInt(it.getAll_power())).sum(); + gq = listG.stream().filter(it -> it.getData_id().contains("曲阜")).count(); + gqg = listG.stream().filter(it -> it.getData_id().contains("曲阜")).mapToInt(it -> Integer.parseInt(it.getAll_power())).sum(); + + } + map.put("ha",ha); + map.put("hag",hag); + map.put("hz",hz); + map.put("hzg",hzg); + map.put("hq",hq); + map.put("hqg",hqg); + map.put("ga",ga); + map.put("gag",gag); + map.put("gz",gz); + map.put("gzg",gzg); + map.put("gq",gq); + map.put("gqg",gqg); + return map; + } }