From 83e4b0e7488036f69a71fd1d559cfe7943dafd91 Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Thu, 28 Mar 2024 17:35:30 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=BB=E5=8A=A8=E7=AB=AF=E5=88=86=E5=85=AC?= =?UTF-8?q?=E5=8F=B8=E5=93=81=E7=89=8C=E6=98=8E=E7=BB=86=E7=AE=97=E6=B3=95?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/dailyreport/DailyReportFeign.java | 7 +- .../biz/dailyreport/DailyReportMapper.xml | 3 +- .../biz/dailyreport/DailyReportRest.java | 7 +- .../biz/dailyreport/DailyReportService.java | 712 +++++++++++++++++- 4 files changed, 725 insertions(+), 4 deletions(-) diff --git a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReportFeign.java b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReportFeign.java index 59fd964ddc..64f42b88e2 100644 --- a/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReportFeign.java +++ b/anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/dailyreport/DailyReportFeign.java @@ -107,10 +107,15 @@ public interface DailyReportFeign { @ResponseBody ResultBean list3(@RequestParam("date") String date, @RequestParam("busOrgSid") String busOrgSid); + @ApiOperation("分公司明细日报表") + @GetMapping("list4Old") + @ResponseBody + ResultBean list4Old(@RequestParam("date") String date, @RequestParam("useOrgSid") String useOrgSid); + @ApiOperation("分公司明细日报表") @GetMapping("list4") @ResponseBody - ResultBean list4(@RequestParam("date") String date, @RequestParam("useOrgSid") String useOrgSid); + ResultBean list4(@RequestParam("date") String date, @RequestParam("useOrgSid") String useOrgSid); @ApiOperation("事业部分页列表") @PostMapping("pageList2") diff --git a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.xml b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.xml index 96d03a49a9..731aecb88e 100644 --- a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.xml +++ b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.xml @@ -796,7 +796,8 @@ bm.fuelTypeValue, bm.vehicleVersionValue, bm.engineTypeValue, - bm.specifications + bm.specifications, + dr.brandSid from daily_report dr left join anrui_base.base_vehicle_model bm on bm.sid = dr.vehModelSid left join anrui_base.base_model_config bmc on bmc.sid = dr.vehMConfigSid diff --git a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportRest.java b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportRest.java index ffca99b3f7..2bb1476f64 100644 --- a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportRest.java +++ b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportRest.java @@ -105,10 +105,15 @@ public class DailyReportRest implements DailyReportFeign { } @Override - public ResultBean list4(String date, String useOrgSid) { + public ResultBean list4Old(String date, String useOrgSid) { return dailyReportService.list4(date, useOrgSid); } + @Override + public ResultBean list4(String date, String useOrgSid) { + return dailyReportService.list4New(date, useOrgSid); + } + @Override public ResultBean pageList2(PagerQuery pagerQuery) { ResultBean rb = ResultBean.fireFail(); diff --git a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportService.java b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportService.java index 6e282d62df..b91bea6424 100644 --- a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportService.java +++ b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportService.java @@ -748,7 +748,7 @@ public class DailyReportService extends MybatisBaseService> groupedByBrandSid = dailyReportVoList.stream() - .collect(Collectors.groupingBy(DailyReportVo::getBrandSid,LinkedHashMap::new,Collectors.toList())); + .collect(Collectors.groupingBy(DailyReportVo::getBrandSid, LinkedHashMap::new, Collectors.toList())); //遍历分组并组装每组的数据 List row2 = new ArrayList<>(); List row4 = new ArrayList<>(); @@ -2396,6 +2396,716 @@ public class DailyReportService extends MybatisBaseService list4New(String date, String useOrgSid) { + ResultBean rb = ResultBean.fireFail(); + QueryWrapper qw = new QueryWrapper<>(); + DailyReportAppBrandVo dailyReportAppVo = new DailyReportAppBrandVo(); + dailyReportAppVo.setTitle("分公司" + date + "日报"); + qw.like("ddr.createTime", date); + qw.eq("ddr.useOrgSid", useOrgSid); + qw.groupBy("ddr.brandSid"); + qw.groupBy("bm.fuelTypeValue"); + qw.groupBy("bm.emissionStandardValue"); + qw.orderByDesc("ddr.brandSid"); + List parameterVoList = baseMapper.selectByParameters(useOrgSid); + parameterVoList.removeAll(Collections.singleton(null)); + qw = getCommon(parameterVoList, qw); + List rows1 = baseMapper.selectByBrand2(useOrgSid, date, qw); + rows1.removeAll(Collections.singleton(null)); + if (!rows1.isEmpty()) { + rows1.forEach(v -> { + v.setColspan(Integer.parseInt(v.getColspan()) > 0 ? String.valueOf(Integer.parseInt(v.getColspan()) + 1) : v.getColspan()); + }); + } + dailyReportAppVo.setRow1(rows1); + List brandList = rows1.stream().map(v -> v.getLinkSid()).collect(Collectors.toList()); + brandList.removeAll(Collections.singleton(null)); + if (brandList.isEmpty()) { + return rb.success(); + } + qw = new QueryWrapper<>(); + qw.eq("dr.useOrgSid", useOrgSid); + qw.like("dr.createTime", date); + qw.in("dr.brandSid", brandList); + qw.orderByDesc("dr.brandSid"); + qw.groupBy("dr.brandSid"); + qw.groupBy("bm.fuelTypeValue"); + qw.groupBy("bm.emissionStandardValue"); + qw.orderByDesc("bm.fuelTypeValue"); + qw.orderByDesc("bm.emissionStandardValue"); + qw = getCommon(parameterVoList, qw); + List dailyReportVoList = baseMapper.selectReport4(brandList, useOrgSid, date, qw); + //燃料 + /* List row2 = dailyReportVoList.stream().map(v -> v.getFuelTypeValue()).collect(Collectors.toList()); + dailyReportAppVo.setRow2(row2);*/ + //排放标准 + List row3 = dailyReportVoList.stream().map(v -> v.getEmissionStandardValue()).collect(Collectors.toList()); + dailyReportAppVo.setRow3(row3); + //按品牌sid分组 + Map> groupedByBrandSid = dailyReportVoList.stream() + .collect(Collectors.groupingBy(DailyReportVo::getBrandSid, LinkedHashMap::new, Collectors.toList())); + //遍历分组并组装每组的数据 + List row2 = new ArrayList<>(); + List row4 = new ArrayList<>(); + List row5 = new ArrayList<>(); + List row6 = new ArrayList<>(); + List row7 = new ArrayList<>(); + List row8 = new ArrayList<>(); + List row9 = new ArrayList<>(); + List row10 = new ArrayList<>(); + List row11 = new ArrayList<>(); + List row12 = new ArrayList<>(); + List row13 = new ArrayList<>(); + List row14 = new ArrayList<>(); + List row15 = new ArrayList<>(); + List row16 = new ArrayList<>(); + List row17 = new ArrayList<>(); + List row18 = new ArrayList<>(); + List row19 = new ArrayList<>(); + List row20 = new ArrayList<>(); + List row21 = new ArrayList<>(); + List row22 = new ArrayList<>(); + List row23 = new ArrayList<>(); + List row24 = new ArrayList<>(); + List row25 = new ArrayList<>(); + List row26 = new ArrayList<>(); + List row27 = new ArrayList<>(); + List row28 = new ArrayList<>(); + List row29 = new ArrayList<>(); + List row30 = new ArrayList<>(); + List row31 = new ArrayList<>(); + List row32 = new ArrayList<>(); + List row33 = new ArrayList<>(); + List row34 = new ArrayList<>(); + List row35 = new ArrayList<>(); + List row36 = new ArrayList<>(); + List row37 = new ArrayList<>(); + List row38 = new ArrayList<>(); + List row39 = new ArrayList<>(); + List row40 = new ArrayList<>(); + List row41 = new ArrayList<>(); + List row42 = new ArrayList<>(); + List row43 = new ArrayList<>(); + List row44 = new ArrayList<>(); + List row45 = new ArrayList<>(); + List row46 = new ArrayList<>(); + List row47 = new ArrayList<>(); + List row48 = new ArrayList<>(); + List row49 = new ArrayList<>(); + List row50 = new ArrayList<>(); + List row51 = new ArrayList<>(); + groupedByBrandSid.forEach((brandSid, sameBrandSidList) -> { + for (int i = 0; i <= sameBrandSidList.size(); i++) { + if (i == sameBrandSidList.size()) { + FuelTypeVo fuelTypeVo = new FuelTypeVo(); + fuelTypeVo.setName("小计"); + if(parameterVoList.isEmpty()){ + fuelTypeVo.setRowspan(String.valueOf(2)); + }else{ + if(parameterVoList.size()>7){ + fuelTypeVo.setRowspan(String.valueOf(9)); + }else{ + fuelTypeVo.setRowspan(String.valueOf(2+parameterVoList.size())); + } + } + row2.add(fuelTypeVo); + //小计 + int saleAllToThreeAll = sameBrandSidList.stream().mapToInt(v -> v.getSaleAllToThree()).sum(); + int stock_totalAll = sameBrandSidList.stream().mapToInt(v -> v.getStock_total()).sum(); + String saleOfStockRatioString = ""; + if (saleAllToThreeAll == 0) { + saleOfStockRatioString = stock_totalAll + ":1"; + } else { + saleOfStockRatioString = new BigDecimal(stock_totalAll).divide((new BigDecimal(saleAllToThreeAll).divide(new BigDecimal(3), 4, BigDecimal.ROUND_HALF_UP)), 0, BigDecimal.ROUND_HALF_UP).toString() + ":1"; + } + row4.add(saleOfStockRatioString); + List row5i = sameBrandSidList.stream().map(v -> String.valueOf(v.getStock_total())).collect(Collectors.toList()); + BigDecimal row5All = row5i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row5.add(row5All.toString()); + List row6i = sameBrandSidList.stream().map(v -> String.valueOf(v.getStock_unreserve())).collect(Collectors.toList()); + BigDecimal row6All = row6i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row6.add(row6All.toString()); + List row7i = sameBrandSidList.stream().map(v -> String.valueOf(v.getStock_reserve())).collect(Collectors.toList()); + BigDecimal row7All = row7i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row7.add(row7All.toString()); + List row8i = sameBrandSidList.stream().map(v -> String.valueOf(v.getStock_subtotal())).collect(Collectors.toList()); + BigDecimal row8All = row8i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row8.add(row8All.toString()); + List row9i = sameBrandSidList.stream().map(v -> String.valueOf(v.getStock_buyout_unreserve())).collect(Collectors.toList()); + BigDecimal row9All = row9i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row9.add(row9All.toString()); + List row10i = sameBrandSidList.stream().map(v -> String.valueOf(v.getStock_buyout_reserve())).collect(Collectors.toList()); + BigDecimal row10All = row10i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row10.add(row10All.toString()); + List row11i = sameBrandSidList.stream().map(v -> String.valueOf(v.getStock_buyout_subtotal())).collect(Collectors.toList()); + BigDecimal row11All = row11i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row11.add(row11All.toString()); + List row12i = sameBrandSidList.stream().map(v -> String.valueOf(v.getPcOrder_unreserve())).collect(Collectors.toList()); + BigDecimal row12All = row12i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row12.add(row12All.toString()); + List row13i = sameBrandSidList.stream().map(v -> String.valueOf(v.getPcOrder_reserve())).collect(Collectors.toList()); + BigDecimal row13All = row13i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row13.add(row13All.toString()); + List row14i = sameBrandSidList.stream().map(v -> String.valueOf(v.getPcOrder_subtotal())).collect(Collectors.toList()); + BigDecimal row14All = row14i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row14.add(row14All.toString()); + List row15i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSimpleOrder_day())).collect(Collectors.toList()); + BigDecimal row15All = row15i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row15.add(row15All.toString()); + List row16i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSimpleOrder_month())).collect(Collectors.toList()); + BigDecimal row16All = row16i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row16.add(row16All.toString()); + + //订车-本日销售订单-贷款 + List row17i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSaleOrder_loan_day())).collect(Collectors.toList()); + BigDecimal row17All = row17i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row17.add(row17All.toString()); + //订车-本日销售订单-全款 + List row18i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSaleOrder_full_day())).collect(Collectors.toList()); + BigDecimal row18All = row18i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row18.add(row18All.toString()); + //订车-本日销售订单-小计 + List row19i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSaleOrder_subtotal_day())).collect(Collectors.toList()); + BigDecimal row19All = row19i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row19.add(row19All.toString()); + //订车-本月销售订单-贷款 + List row20i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSaleOrder_loan_month())).collect(Collectors.toList()); + BigDecimal row20All = row20i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row20.add(row20All.toString()); + //订车-本月销售订单-全款 + List row21i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSaleOrder_full_month())).collect(Collectors.toList()); + BigDecimal row21All = row21i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row21.add(row21All.toString()); + //订车-本月销售订单-小计 + List row22i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSaleOrder_subtotal_month())).collect(Collectors.toList()); + BigDecimal row22All = row22i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row22.add(row22All.toString()); + //订车-待交车累计总订单 + List row23i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSaleOrder_waitVeh_total())).collect(Collectors.toList()); + BigDecimal row23All = row23i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row23.add(row23All.toString()); + //销售-本日销售-贷款 + List row24i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSale_loan_day())).collect(Collectors.toList()); + BigDecimal row24All = row24i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row24.add(row24All.toString()); + //销售-本日销售-全款 + List row25i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSale_full_day())).collect(Collectors.toList()); + BigDecimal row25All = row25i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row25.add(row25All.toString()); + //销售-本日销售-小计 + List row26i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSale_subtotal_day())).collect(Collectors.toList()); + BigDecimal row26All = row26i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row26.add(row26All.toString()); + //销售-本月销售-贷款 + List row27i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSale_loan_month())).collect(Collectors.toList()); + BigDecimal row27All = row27i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row27.add(row27All.toString()); + //销售-本月销售-全款 + List row28i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSale_full_month())).collect(Collectors.toList()); + BigDecimal row28All = row28i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row28.add(row28All.toString()); + //销售-本月销售-小计 + List row29i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSale_subtotal_month())).collect(Collectors.toList()); + BigDecimal row29All = row29i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row29.add(row29All.toString()); + //销售-全年销售-贷款 + List row30i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSale_loan_year())).collect(Collectors.toList()); + BigDecimal row30All = row30i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row30.add(row30All.toString()); + //销售-全年销售-全款 + List row31i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSale_full_year())).collect(Collectors.toList()); + BigDecimal row31All = row31i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row31.add(row31All.toString()); + //销售-全年销售-小计 + List row32i = sameBrandSidList.stream().map(v -> String.valueOf(v.getSale_subtotal_year())).collect(Collectors.toList()); + BigDecimal row32All = row32i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row32.add(row32All.toString()); + //交付-本日交付-贷款 + List row33i = sameBrandSidList.stream().map(v -> String.valueOf(v.getDeliver_loan_day())).collect(Collectors.toList()); + BigDecimal row33All = row33i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row33.add(row33All.toString()); + //交付-本日交付-全款 + List row34i = sameBrandSidList.stream().map(v -> String.valueOf(v.getDeliver_full_day())).collect(Collectors.toList()); + BigDecimal row34All = row34i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row34.add(row34All.toString()); + //交付-本日交付-小计 + List row35i = sameBrandSidList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_day())).collect(Collectors.toList()); + BigDecimal row35All = row35i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row35.add(row35All.toString()); + //交付-本月交付-贷款 + List row36i = sameBrandSidList.stream().map(v -> String.valueOf(v.getDeliver_loan_month())).collect(Collectors.toList()); + BigDecimal row36All = row36i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row36.add(row36All.toString()); + //交付-本月交付-全款 + List row37i = sameBrandSidList.stream().map(v -> String.valueOf(v.getDeliver_full_month())).collect(Collectors.toList()); + BigDecimal row37All = row37i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row37.add(row37All.toString()); + //交付-本月交付-小计 + List row38i = sameBrandSidList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_month())).collect(Collectors.toList()); + BigDecimal row38All = row38i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row38.add(row38All.toString()); + //交付-全年交付-贷款 + List row39i = sameBrandSidList.stream().map(v -> String.valueOf(v.getDeliver_loan_year())).collect(Collectors.toList()); + BigDecimal row39All = row39i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row39.add(row39All.toString()); + //交付-全年交付-全款 + List row40i = sameBrandSidList.stream().map(v -> String.valueOf(v.getDeliver_full_year())).collect(Collectors.toList()); + BigDecimal row40All = row40i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row40.add(row40All.toString()); + //交付-全年交付-小计 + List row41i = sameBrandSidList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_year())).collect(Collectors.toList()); + BigDecimal row41All = row41i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row41.add(row41All.toString()); + //全年厂家开票数 + List row42i = sameBrandSidList.stream().map(v -> String.valueOf(v.getManufacturer_invoicing_year())).collect(Collectors.toList()); + BigDecimal row42All = row42i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row42.add(row42All.toString()); + //买断-本日 + List row43i = sameBrandSidList.stream().map(v -> String.valueOf(v.getBuyout_day())).collect(Collectors.toList()); + BigDecimal row43All = row43i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row43.add(row43All.toString()); + //买断-本月 + List row44i = sameBrandSidList.stream().map(v -> String.valueOf(v.getBuyout_month())).collect(Collectors.toList()); + BigDecimal row44All = row44i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row44.add(row44All.toString()); + //买断-本年 + List row45i = sameBrandSidList.stream().map(v -> String.valueOf(v.getBuyout_year())).collect(Collectors.toList()); + BigDecimal row45All = row45i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row45.add(row45All.toString()); + //欠款出库数量 + List row46i = sameBrandSidList.stream().map(v -> String.valueOf(v.getArrears_carry_veh_count())).collect(Collectors.toList()); + BigDecimal row46All = row46i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row46.add(row46All.toString()); + //欠款出库金额 + List row47i = sameBrandSidList.stream().map(v -> String.valueOf(v.getArrears_carry_veh_amount())).collect(Collectors.toList()); + BigDecimal row47All = row47i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row47.add(row47All.toString()); + //金融未放款-数量 + List row48i = sameBrandSidList.stream().map(v -> String.valueOf(v.getLoan_not_count())).collect(Collectors.toList()); + BigDecimal row48All = row48i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row48.add(row48All.toString()); + //金融未放款-金额 + List row49i = sameBrandSidList.stream().map(v -> String.valueOf(v.getLoan_not_amount())).collect(Collectors.toList()); + BigDecimal row49All = row49i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row49.add(row49All.toString()); + + //金融未放款-数量-已信审终审 + List row50i = sameBrandSidList.stream().map(v -> String.valueOf(v.getLoan_not_counts())).collect(Collectors.toList()); + BigDecimal row50All = row50i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row50.add(row50All.toString()); + //金融未放款-金额-已信审终审 + List row51i = sameBrandSidList.stream().map(v -> String.valueOf(v.getLoan_not_amounts())).collect(Collectors.toList()); + BigDecimal row51All = row51i.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row51.add(row51All.toString()); + } else { + FuelTypeVo fuelTypeVo = new FuelTypeVo(); + DailyReportVo v = sameBrandSidList.get(i); + String saleOfStockRatio = ""; + String saleAllToThree = String.valueOf(v.getSaleAllToThree()); + String stock_total = String.valueOf(v.getStock_total()); + if (StringUtils.isBlank(saleAllToThree)) { + saleOfStockRatio = stock_total + ":1"; + } else { + if ("0".equals(saleAllToThree)) { + saleOfStockRatio = stock_total + ":1"; + } else { + saleOfStockRatio = new BigDecimal(stock_total).divide((new BigDecimal(saleAllToThree).divide(new BigDecimal(3), 4, BigDecimal.ROUND_HALF_UP)), 0, BigDecimal.ROUND_HALF_UP).toString() + ":1"; + } + } + fuelTypeVo.setName(v.getFuelTypeValue()); + fuelTypeVo.setRowspan(String.valueOf(1)); + row2.add(fuelTypeVo); + row4.add(saleOfStockRatio); + row5.add(String.valueOf(v.getStock_total())); + row6.add(String.valueOf(v.getStock_unreserve())); + row7.add(String.valueOf(v.getStock_reserve())); + row8.add(String.valueOf(v.getStock_subtotal())); + row9.add(String.valueOf(v.getStock_buyout_unreserve())); + row10.add(String.valueOf(v.getStock_buyout_reserve())); + row11.add(String.valueOf(v.getStock_buyout_subtotal())); + row12.add(String.valueOf(v.getPcOrder_unreserve())); + row13.add(String.valueOf(v.getPcOrder_reserve())); + row14.add(String.valueOf(v.getPcOrder_subtotal())); + row15.add(String.valueOf(v.getSimpleOrder_day())); + row16.add(String.valueOf(v.getSimpleOrder_month())); + row17.add(String.valueOf(v.getSaleOrder_loan_day())); + row18.add(String.valueOf(v.getSaleOrder_full_day())); + row19.add(String.valueOf(v.getSaleOrder_subtotal_day())); + row20.add(String.valueOf(v.getSaleOrder_loan_month())); + row21.add(String.valueOf(v.getSaleOrder_full_month())); + row22.add(String.valueOf(v.getSaleOrder_subtotal_month())); + row23.add(String.valueOf(v.getSaleOrder_waitVeh_total())); + row24.add(String.valueOf(v.getSale_loan_day())); + row25.add(String.valueOf(v.getSale_full_day())); + row26.add(String.valueOf(v.getSale_subtotal_day())); + row27.add(String.valueOf(v.getSale_loan_month())); + row28.add(String.valueOf(v.getSale_full_month())); + row29.add(String.valueOf(v.getSale_subtotal_month())); + row30.add(String.valueOf(v.getSale_loan_year())); + row31.add(String.valueOf(v.getSale_full_year())); + row32.add(String.valueOf(v.getSale_subtotal_year())); + row33.add(String.valueOf(v.getDeliver_loan_day())); + row34.add(String.valueOf(v.getDeliver_full_day())); + row35.add(String.valueOf(v.getDeliver_subtotal_day())); + row36.add(String.valueOf(v.getDeliver_loan_month())); + row37.add(String.valueOf(v.getDeliver_full_month())); + row38.add(String.valueOf(v.getDeliver_subtotal_month())); + row39.add(String.valueOf(v.getDeliver_loan_year())); + row40.add(String.valueOf(v.getDeliver_full_year())); + row41.add(String.valueOf(v.getDeliver_subtotal_year())); + row42.add(String.valueOf(v.getManufacturer_invoicing_year())); + row43.add(String.valueOf(v.getBuyout_day())); + row44.add(String.valueOf(v.getBuyout_month())); + row45.add(String.valueOf(v.getBuyout_year())); + row46.add(String.valueOf(v.getArrears_carry_veh_count())); + row47.add(String.valueOf(v.getArrears_carry_veh_amount())); + row48.add(String.valueOf(v.getLoan_not_count())); + row49.add(String.valueOf(v.getLoan_not_amount())); + row50.add(String.valueOf(v.getLoan_not_counts())); + row51.add(String.valueOf(v.getLoan_not_amounts())); + } + + } + + }); + dailyReportAppVo.setRow2(row2); + int saleAllToThreeAll = dailyReportVoList.stream().mapToInt(v -> v.getSaleAllToThree()).sum(); + int stock_totalAll = dailyReportVoList.stream().mapToInt(v -> v.getStock_total()).sum(); + String saleOfStockRatioString = ""; + if (saleAllToThreeAll == 0) { + saleOfStockRatioString = stock_totalAll + ":1"; + } else { + saleOfStockRatioString = new BigDecimal(stock_totalAll).divide((new BigDecimal(saleAllToThreeAll).divide(new BigDecimal(3), 4, BigDecimal.ROUND_HALF_UP)), 0, BigDecimal.ROUND_HALF_UP).toString() + ":1"; + } + row4.add(saleOfStockRatioString); + dailyReportAppVo.setRow4(row4); + + //库存总计-合计 + List row5ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_total())).collect(Collectors.toList()); + BigDecimal row5All = row5ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row5.add(row5All.toString()); + dailyReportAppVo.setRow5(row5); + //库存未定-合计 + List row6ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_unreserve())).collect(Collectors.toList()); + BigDecimal row6All = row6ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row6.add(row6All.toString()); + dailyReportAppVo.setRow6(row6); + //库存-已定-合计 + List row7ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_reserve())).collect(Collectors.toList()); + BigDecimal row7All = row7ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row7.add(row7All.toString()); + dailyReportAppVo.setRow7(row7); + //库存-小计-合计 + List row8ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_subtotal())).collect(Collectors.toList()); + BigDecimal row8All = row8ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row8.add(row8All.toString()); + dailyReportAppVo.setRow8(row8); + //其中买断-未定 + List row9ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_unreserve())).collect(Collectors.toList()); + BigDecimal row9All = row9ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row9.add(row9All.toString()); + dailyReportAppVo.setRow9(row9); + //其中买断-已定 + List row10ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_reserve())).collect(Collectors.toList()); + BigDecimal row10All = row10ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row10.add(row10All.toString()); + dailyReportAppVo.setRow10(row10); + //其中买断-小计 + List row11ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_subtotal())).collect(Collectors.toList()); + BigDecimal row11All = row11ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row11.add(row11All.toString()); + dailyReportAppVo.setRow11(row11); + //排产-未定 + List row12ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_unreserve())).collect(Collectors.toList()); + BigDecimal row12All = row12ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row12.add(row12All.toString()); + dailyReportAppVo.setRow12(row12); + //排产-已定 + List row13ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_reserve())).collect(Collectors.toList()); + BigDecimal row13All = row13ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row13.add(row13All.toString()); + dailyReportAppVo.setRow13(row13); + //排产-小计 + List row14ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_subtotal())).collect(Collectors.toList()); + BigDecimal row14All = row14ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row14.add(row14All.toString()); + dailyReportAppVo.setRow14(row14); + //订车-简易订单-本日 + List row15ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSimpleOrder_day())).collect(Collectors.toList()); + BigDecimal row15All = row15ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row15.add(row15All.toString()); + dailyReportAppVo.setRow15(row15); + //订车-简易订单-本月 + List row16ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSimpleOrder_month())).collect(Collectors.toList()); + BigDecimal row16All = row16ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row16.add(row16All.toString()); + dailyReportAppVo.setRow16(row16); + //订车-本日销售订单-贷款 + List row17ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_loan_day())).collect(Collectors.toList()); + BigDecimal row17All = row17ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row17.add(row17All.toString()); + dailyReportAppVo.setRow17(row17); + //订车-本日销售订单-全款 + List row18ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_full_day())).collect(Collectors.toList()); + BigDecimal row18All = row18ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row18.add(row18All.toString()); + dailyReportAppVo.setRow18(row18); + //订车-本日销售订单-小计 + List row19ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_subtotal_day())).collect(Collectors.toList()); + BigDecimal row19All = row19ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row19.add(row19All.toString()); + dailyReportAppVo.setRow19(row19); + //订车-本月销售订单-贷款 + List row20ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_loan_month())).collect(Collectors.toList()); + BigDecimal row20All = row20ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row20.add(row20All.toString()); + dailyReportAppVo.setRow20(row20); + //订车-本月销售订单-全款 + List row21ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_full_month())).collect(Collectors.toList()); + BigDecimal row21All = row21ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row21.add(row21All.toString()); + dailyReportAppVo.setRow21(row21); + //订车-本月销售订单-小计 + List row22ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_subtotal_month())).collect(Collectors.toList()); + BigDecimal row22All = row22ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row22.add(row22All.toString()); + dailyReportAppVo.setRow22(row22); + //订车-待交车累计总订单 + List row23ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_waitVeh_total())).collect(Collectors.toList()); + BigDecimal row23All = row23ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row23.add(row23All.toString()); + dailyReportAppVo.setRow23(row23); + //销售-本日销售-贷款 + List row24ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_loan_day())).collect(Collectors.toList()); + BigDecimal row24All = row24ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row24.add(row24All.toString()); + dailyReportAppVo.setRow24(row24); + //销售-本日销售-全款 + List row25ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_full_day())).collect(Collectors.toList()); + BigDecimal row25All = row25ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row25.add(row25All.toString()); + dailyReportAppVo.setRow25(row25); + //销售-本日销售-小计 + List row26ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_subtotal_day())).collect(Collectors.toList()); + BigDecimal row26All = row26ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row26.add(row26All.toString()); + dailyReportAppVo.setRow26(row26); + //销售-本月销售-贷款 + List row27ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_loan_month())).collect(Collectors.toList()); + BigDecimal row27All = row27ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row27.add(row27All.toString()); + dailyReportAppVo.setRow27(row27); + //销售-本月销售-全款 + List row28ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_full_month())).collect(Collectors.toList()); + BigDecimal row28All = row28ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row28.add(row28All.toString()); + dailyReportAppVo.setRow28(row28); + //销售-本月销售-小计 + List row29ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_subtotal_month())).collect(Collectors.toList()); + BigDecimal row29All = row29ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row29.add(row29All.toString()); + dailyReportAppVo.setRow29(row29); + //销售-全年销售-贷款 + List row30ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_loan_year())).collect(Collectors.toList()); + BigDecimal row30All = row30ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row30.add(row30All.toString()); + dailyReportAppVo.setRow30(row30); + //销售-全年销售-全款 + List row31ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_full_year())).collect(Collectors.toList()); + BigDecimal row31All = row31ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row31.add(row31All.toString()); + dailyReportAppVo.setRow31(row31); + //销售-全年销售-小计 + List row32ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_subtotal_year())).collect(Collectors.toList()); + BigDecimal row32All = row32ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row32.add(row32All.toString()); + dailyReportAppVo.setRow32(row32); + //交付-本日交付-贷款 + List row33ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_loan_day())).collect(Collectors.toList()); + BigDecimal row33All = row33ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row33.add(row33All.toString()); + dailyReportAppVo.setRow33(row33); + //交付-本日交付-全款 + List row34ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_full_day())).collect(Collectors.toList()); + BigDecimal row34All = row34ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row34.add(row34All.toString()); + dailyReportAppVo.setRow34(row34); + //交付-本日交付-小计 + List row35ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_day())).collect(Collectors.toList()); + BigDecimal row35All = row35ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row35.add(row35All.toString()); + dailyReportAppVo.setRow35(row35); + //交付-本月交付-贷款 + List row36ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_loan_month())).collect(Collectors.toList()); + BigDecimal row36All = row36ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row36.add(row36All.toString()); + dailyReportAppVo.setRow36(row36); + //交付-本月交付-全款 + List row37ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_full_month())).collect(Collectors.toList()); + BigDecimal row37All = row37ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row37.add(row37All.toString()); + dailyReportAppVo.setRow37(row37); + //交付-本月交付-小计 + List row38ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_month())).collect(Collectors.toList()); + BigDecimal row38All = row38ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row38.add(row38All.toString()); + dailyReportAppVo.setRow38(row38); + //交付-全年交付-贷款 + List row39ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_loan_year())).collect(Collectors.toList()); + BigDecimal row39All = row39ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row39.add(row39All.toString()); + dailyReportAppVo.setRow39(row39); + //交付-全年交付-全款 + List row40ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_full_year())).collect(Collectors.toList()); + BigDecimal row40All = row40ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row40.add(row40All.toString()); + dailyReportAppVo.setRow40(row40); + //交付-全年交付-小计 + List row41ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_year())).collect(Collectors.toList()); + BigDecimal row41All = row41ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row41.add(row41All.toString()); + dailyReportAppVo.setRow41(row41); + //全年厂家开票数 + List row42ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getManufacturer_invoicing_year())).collect(Collectors.toList()); + BigDecimal row42All = row42ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row42.add(row42All.toString()); + dailyReportAppVo.setRow42(row42); + //买断-本日 + List row43ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getBuyout_day())).collect(Collectors.toList()); + BigDecimal row43All = row43ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row43.add(row43All.toString()); + dailyReportAppVo.setRow43(row43); + //买断-本月 + List row44ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getBuyout_month())).collect(Collectors.toList()); + BigDecimal row44All = row44ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row44.add(row44All.toString()); + dailyReportAppVo.setRow44(row44); + //买断-本年 + List row45ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getBuyout_year())).collect(Collectors.toList()); + BigDecimal row45All = row45ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row45.add(row45All.toString()); + dailyReportAppVo.setRow45(row45); + //欠款出库数量 + List row46ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getArrears_carry_veh_count())).collect(Collectors.toList()); + BigDecimal row46All = row46ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row46.add(row46All.toString()); + dailyReportAppVo.setRow46(row46); + //欠款出库金额 + List row47ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getArrears_carry_veh_amount())).collect(Collectors.toList()); + BigDecimal row47All = row47ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row47.add(row47All.toString()); + dailyReportAppVo.setRow47(row47); + //金融未放款-数量 + List row48ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_count())).collect(Collectors.toList()); + BigDecimal row48All = row48ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row48.add(row48All.toString()); + dailyReportAppVo.setRow48(row48); + //金融未放款-金额 + List row49ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_amount())).collect(Collectors.toList()); + BigDecimal row49All = row49ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row49.add(row49All.toString()); + dailyReportAppVo.setRow49(row49); + + //金融未放款-数量-已信审终审 + List row50ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_counts())).collect(Collectors.toList()); + BigDecimal row50All = row50ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row50.add(row50All.toString()); + dailyReportAppVo.setRow50(row50); + //金融未放款-金额-已信审终审 + List row51ii = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_amounts())).collect(Collectors.toList()); + BigDecimal row51All = row51ii.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row51.add(row51All.toString()); + dailyReportAppVo.setRow51(row51); + List dynamicRows = new ArrayList<>(); + + int totalRowspan = 3; + if (!parameterVoList.isEmpty()) { + for (int i = 0; i < parameterVoList.size(); i++) { + DailyParameterVo dailyParameterVo = parameterVoList.get(i); + String tableName = Arrays.asList(dailyParameterVo.getTableNameKey().split("\\.")).get(1); + ParameterVo parameterVo = new ParameterVo(); + parameterVo.setName(dailyParameterVo.getColText()); + + List columnNames = dailyReportVoList.stream().map(v -> { + String columnName = ""; + try { + Field field = v.getClass().getDeclaredField(dailyParameterVo.getColName()); + field.setAccessible(true); + columnName = (String) field.get(v); + } catch (NoSuchFieldException | IllegalAccessException e) { + e.printStackTrace(); + } + if (StringUtils.isBlank(columnName)) { + return "-"; + } else { + return columnName; + } + }).collect(Collectors.toList()); + parameterVo.setRow(columnNames); + dynamicRows.add(parameterVo); + } + dailyReportAppVo.setDynamicRows(dynamicRows); + if (!dynamicRows.isEmpty()) { + for (int i = 0; i < dynamicRows.size(); i++) { + if (i > 6) { + break; + } else { + ParameterVo parameterVo = dynamicRows.get(i); + switch (i) { + case 0: + if (parameterVo != null) { + dailyReportAppVo.setRow101(parameterVo); + totalRowspan = totalRowspan + 1; + } + break; + case 1: + if (parameterVo != null) { + dailyReportAppVo.setRow102(parameterVo); + totalRowspan = totalRowspan + 1; + } + break; + case 2: + if (parameterVo != null) { + dailyReportAppVo.setRow103(parameterVo); + totalRowspan = totalRowspan + 1; + } + break; + case 3: + if (parameterVo != null) { + dailyReportAppVo.setRow104(parameterVo); + totalRowspan = totalRowspan + 1; + } + break; + case 4: + if (parameterVo != null) { + dailyReportAppVo.setRow105(parameterVo); + totalRowspan = totalRowspan + 1; + } + break; + case 5: + if (parameterVo != null) { + dailyReportAppVo.setRow106(parameterVo); + totalRowspan = totalRowspan + 1; + } + break; + case 6: + if (parameterVo != null) { + dailyReportAppVo.setRow107(parameterVo); + totalRowspan = totalRowspan + 1; + } + break; + default: + break; + } + } + } + } + } + + dailyReportAppVo.setTotalRowspan(totalRowspan); + return rb.success().setData(dailyReportAppVo); + } + public QueryWrapper getCommon(List parameterVoList, QueryWrapper qw) { if (!parameterVoList.isEmpty()) {