From 74b7695ef61a95100ac1e8f8692844f8f606a6a2 Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Fri, 21 Feb 2025 22:43:04 +0800 Subject: [PATCH] =?UTF-8?q?=E9=94=80=E5=94=AE=E6=8A=A5=E8=A1=A8=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../biz/dailyreport/DailyReportMapper.java | 16 + .../biz/dailyreport/DailyReportMapper.xml | 1382 +++++--- .../biz/dailyreport/DailyReportRest.java | 4 +- .../biz/dailyreport/DailyReportService.java | 2939 ++++++++++++++--- 4 files changed, 3386 insertions(+), 955 deletions(-) diff --git a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.java b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.java index e0aaef1b58..dfcedeb91c 100644 --- a/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.java +++ b/anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/dailyreport/DailyReportMapper.java @@ -12,6 +12,7 @@ import org.apache.ibatis.annotations.Param; import org.springframework.web.bind.annotation.RequestParam; import java.util.List; +import java.util.Map; /** * @description: @@ -41,8 +42,10 @@ public interface DailyReportMapper extends BaseMapper { String select3(@Param("busOrgSid") String busOrgSid, @Param("brandSid") String brandSid, @Param("vehModelSid") String vehModelSid, @Param("vehMConfigSid") String vehMConfigSid, @Param("createTime") String createTime); List selectByBrand(@Param("sybOrgSid") String sybOrgSid, @Param("queryTime") String queryTime); + List selectByBrandNew(@Param("sybOrgSid") String sybOrgSid, @Param("startDate") String startDate,@Param("endDate") String endDate); List selectReport(@Param("join") List brandList, @Param("sybOrgSid") String sybOrgSid, @Param("queryTime") String queryTime); + List selectReportNew(@Param("join") List brandList, @Param("sybOrgSid") String sybOrgSid, @Param("startDate") String startDate,@Param("endDate") String endDate); IPage pageList1(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); IPage pageList2(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); @@ -50,14 +53,27 @@ public interface DailyReportMapper extends BaseMapper { ReportVo getReport(@Param(Constants.WRAPPER) QueryWrapper qw); List selectReport2(String date); + List selectReport2New(@Param("startDate") String startDate,@Param("endDate") String endDate); List list2(String date); List list3(@Param("date") String date, @Param("busOrgSid") String busOrgSid); + List list3New(@Param("startDate") String startDate,@Param("endDate") String endDate, @Param("busOrgSid") String busOrgSid); List selectReport3(@Param("date") String date, @Param("busOrgSid") String busOrgSid); + List selectReport3New(@Param("startDate") String startDate,@Param("endDate") String endDate, @Param("busOrgSid") String busOrgSid); List selectByBrand2(@Param("useOrgSid") String useOrgSid, @Param("date") String date,@Param(Constants.WRAPPER) QueryWrapper qw); + List selectByBrand2New(@Param("useOrgSid") String useOrgSid,@Param("startDate") String startDate,@Param("endDate") String endDate,@Param(Constants.WRAPPER) QueryWrapper qw); List selectReport4(@Param("join") List brandList, @Param("useOrgSid") String useOrgSid, @Param("date") String date,@Param(Constants.WRAPPER) QueryWrapper qw); + List selectReport4New(@Param(Constants.WRAPPER) QueryWrapper qw); + + List selectRecordList(@Param("map") Map map, @Param(Constants.WRAPPER)QueryWrapper qw); + + int selectRecordCount(@Param(Constants.WRAPPER)QueryWrapper qw); + + List selectRecordList2(@Param("map") Map map, @Param(Constants.WRAPPER)QueryWrapper qw); + + List selectRecordList3(@Param("map") Map map, @Param(Constants.WRAPPER)QueryWrapper qw); } 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 dabb7578be..a250aaf351 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 @@ -10,111 +10,111 @@ ${ew.sqlSegment} --> select ifnull(sum(dr.saleOfStockRatio), 0) - as saleOfStockRatio, - ifnull(sum(dr.stock_total), 0) as stock_total, - ifnull(sum(dr.stock_unreserve), 0) as stock_unreserve, - ifnull(sum(dr.stock_reserve), 0) as stock_reserve, - ifnull(sum(dr.stock_subtotal), 0) as stock_subtotal, - ifnull(sum(dr.stock_buyout_unreserve), 0) as stock_buyout_unreserve, - ifnull(sum(dr.stock_buyout_reserve), 0) as stock_buyout_reserve, - ifnull(sum(dr.stock_buyout_subtotal), 0) as stock_buyout_subtotal, - ifnull(sum(dr.pcOrder_unreserve), 0) as pcOrder_unreserve, - ifnull(sum(dr.pcOrder_reserve), 0) as pcOrder_reserve, - ifnull(sum(dr.pcOrder_subtotal), 0) as pcOrder_subtotal, - ifnull(sum(dr.simpleOrder_day), 0) as simpleOrder_day, - ifnull(sum(dr.simpleOrder_month), 0) as simpleOrder_month, - ifnull(sum(dr.saleOrder_full_day), 0) as saleOrder_full_day, - ifnull(sum(dr.saleOrder_loan_day), 0) as saleOrder_loan_day, - ifnull(sum(dr.saleOrder_subtotal_day), 0) as saleOrder_subtotal_day, - ifnull(sum(dr.saleOrder_full_month), 0) as saleOrder_full_month, - ifnull(sum(dr.saleOrder_loan_month), 0) as saleOrder_loan_month, - ifnull(sum(dr.saleOrder_subtotal_month), 0) as saleOrder_subtotal_month, - ifnull(sum(dr.saleOrder_waitVeh_total), 0) as saleOrder_waitVeh_total, - ifnull(sum(dr.sale_full_day), 0) as sale_full_day, - ifnull(sum(dr.sale_loan_day), 0) as sale_loan_day, - ifnull(sum(dr.sale_subtotal_day), 0) as sale_subtotal_day, - ifnull(sum(dr.sale_full_month), 0) as sale_full_month, - ifnull(sum(dr.sale_loan_month), 0) as sale_loan_month, - ifnull(sum(dr.sale_subtotal_month), 0) as sale_subtotal_month, - ifnull(sum(dr.sale_full_year), 0) as sale_full_year, - ifnull(sum(dr.sale_loan_year), 0) as sale_loan_year, - ifnull(sum(dr.sale_subtotal_year), 0) as sale_subtotal_year, - ifnull(sum(dr.manufacturer_invoicing_year), 0) as manufacturer_invoicing_year, - ifnull(sum(dr.buyout_day), 0) as buyout_day, - ifnull(sum(dr.buyout_month), 0) as buyout_month, - ifnull(sum(dr.buyout_year), 0) as buyout_year, - ifnull(sum(dr.arrears_carry_veh_count), 0) as arrears_carry_veh_count, - ifnull(sum(dr.arrears_carry_veh_amount), 0) as arrears_carry_veh_amount, - ifnull(sum(dr.loan_not_count), 0) as loan_not_count, - ifnull(sum(dr.loan_not_amount), 0) as loan_not_amount, - ifnull(sum(dr.deliver_loan_day), 0) as deliver_loan_day, - ifnull(sum(dr.deliver_full_day), 0) as deliver_full_day, - ifnull(sum(dr.deliver_subtotal_day), 0) as deliver_subtotal_day, - ifnull(sum(dr.deliver_loan_month), 0) as deliver_loan_month, - ifnull(sum(dr.deliver_full_month), 0) as deliver_full_month, - ifnull(sum(dr.deliver_subtotal_month), 0) as deliver_subtotal_month, - ifnull(sum(dr.deliver_loan_year), 0) as deliver_loan_year, - ifnull(sum(dr.deliver_full_year), 0) as deliver_full_year, - ifnull(sum(dr.deliver_subtotal_year), 0) as deliver_subtotal_year, - ifnull(sum(dr.saleAllToThree), 0) as saleAllToThree - , - ifnull(sum(dr.loan_not_counts), 0) as loan_not_counts, - ifnull(sum(dr.loan_not_amounts), 0) as loan_not_amounts, - dr.busOrgName, - dr.brandName, - dr.busOrgSid, - dr.useOrgSid, - dr.useOrgName, - dr.remarks, - bm.vehicleAlias vehModeName, - bmc.carColor, - bmc.specification, - bmc.fuelTank, - bmc.baffleModel, - bmc.independentSources, - bmc.tireCover, - bmc.saddle, - bmc.airConditioner, - bmc.rearAxleRatio, - bmc.rearAxleValue, - bmc.tireSize, - bmc.slowMachine, - bmc.rearViewMirror, - bmc.wheelbase, - bmc.suspension, - bmc.packingCase, - bmc.seat, - bmc.hubMaterial, - bmc.configuringBao, - bmc.multimedia, - bmc.bumper, - bmc.clutchValue, - bmc.dirMachineValue, - bmc.proponsValue, - bmc.doorAndWindowValue, - bmc.doorLockValue, - bmc.headlightValue, - bmc.boardPedalValue, - bmc.steerWheelValue, - bmc.storagBatteryValue, - bmc.comfortPackValue, - bmc.cheBasePackValue, - bmc.savingPackValue, - bmc.conPackValue, - bm.vehicleTypeValue, - bm.emissionStandardValue, - bm.productLineValue, - bm.driveFormValue, - bm.powerValue, - bm.tranCaseTypeValue, - bm.gearboxTypeValue, - bm.fuelTypeValue, - bm.vehicleVersionValue, - bm.engineTypeValue, - bm.specifications + as saleOfStockRatio, + ifnull(sum(dr.stock_total), 0) as stock_total, + ifnull(sum(dr.stock_unreserve), 0) as stock_unreserve, + ifnull(sum(dr.stock_reserve), 0) as stock_reserve, + ifnull(sum(dr.stock_subtotal), 0) as stock_subtotal, + ifnull(sum(dr.stock_buyout_unreserve), 0) as stock_buyout_unreserve, + ifnull(sum(dr.stock_buyout_reserve), 0) as stock_buyout_reserve, + ifnull(sum(dr.stock_buyout_subtotal), 0) as stock_buyout_subtotal, + ifnull(sum(dr.pcOrder_unreserve), 0) as pcOrder_unreserve, + ifnull(sum(dr.pcOrder_reserve), 0) as pcOrder_reserve, + ifnull(sum(dr.pcOrder_subtotal), 0) as pcOrder_subtotal, + ifnull(sum(dr.simpleOrder_day), 0) as simpleOrder_day, + ifnull(sum(dr.simpleOrder_month), 0) as simpleOrder_month, + ifnull(sum(dr.saleOrder_full_day), 0) as saleOrder_full_day, + ifnull(sum(dr.saleOrder_loan_day), 0) as saleOrder_loan_day, + ifnull(sum(dr.saleOrder_subtotal_day), 0) as saleOrder_subtotal_day, + ifnull(sum(dr.saleOrder_full_month), 0) as saleOrder_full_month, + ifnull(sum(dr.saleOrder_loan_month), 0) as saleOrder_loan_month, + ifnull(sum(dr.saleOrder_subtotal_month), 0) as saleOrder_subtotal_month, + ifnull(sum(dr.saleOrder_waitVeh_total), 0) as saleOrder_waitVeh_total, + ifnull(sum(dr.sale_full_day), 0) as sale_full_day, + ifnull(sum(dr.sale_loan_day), 0) as sale_loan_day, + ifnull(sum(dr.sale_subtotal_day), 0) as sale_subtotal_day, + ifnull(sum(dr.sale_full_month), 0) as sale_full_month, + ifnull(sum(dr.sale_loan_month), 0) as sale_loan_month, + ifnull(sum(dr.sale_subtotal_month), 0) as sale_subtotal_month, + ifnull(sum(dr.sale_full_year), 0) as sale_full_year, + ifnull(sum(dr.sale_loan_year), 0) as sale_loan_year, + ifnull(sum(dr.sale_subtotal_year), 0) as sale_subtotal_year, + ifnull(sum(dr.manufacturer_invoicing_year), 0) as manufacturer_invoicing_year, + ifnull(sum(dr.buyout_day), 0) as buyout_day, + ifnull(sum(dr.buyout_month), 0) as buyout_month, + ifnull(sum(dr.buyout_year), 0) as buyout_year, + ifnull(sum(dr.arrears_carry_veh_count), 0) as arrears_carry_veh_count, + ifnull(sum(dr.arrears_carry_veh_amount), 0) as arrears_carry_veh_amount, + ifnull(sum(dr.loan_not_count), 0) as loan_not_count, + ifnull(sum(dr.loan_not_amount), 0) as loan_not_amount, + ifnull(sum(dr.deliver_loan_day), 0) as deliver_loan_day, + ifnull(sum(dr.deliver_full_day), 0) as deliver_full_day, + ifnull(sum(dr.deliver_subtotal_day), 0) as deliver_subtotal_day, + ifnull(sum(dr.deliver_loan_month), 0) as deliver_loan_month, + ifnull(sum(dr.deliver_full_month), 0) as deliver_full_month, + ifnull(sum(dr.deliver_subtotal_month), 0) as deliver_subtotal_month, + ifnull(sum(dr.deliver_loan_year), 0) as deliver_loan_year, + ifnull(sum(dr.deliver_full_year), 0) as deliver_full_year, + ifnull(sum(dr.deliver_subtotal_year), 0) as deliver_subtotal_year, + ifnull(sum(dr.saleAllToThree), 0) as saleAllToThree + , + ifnull(sum(dr.loan_not_counts), 0) as loan_not_counts, + ifnull(sum(dr.loan_not_amounts), 0) as loan_not_amounts, + dr.busOrgName, + dr.brandName, + dr.busOrgSid, + dr.useOrgSid, + dr.useOrgName, + dr.remarks, + bm.vehicleAlias vehModeName, + bmc.carColor, + bmc.specification, + bmc.fuelTank, + bmc.baffleModel, + bmc.independentSources, + bmc.tireCover, + bmc.saddle, + bmc.airConditioner, + bmc.rearAxleRatio, + bmc.rearAxleValue, + bmc.tireSize, + bmc.slowMachine, + bmc.rearViewMirror, + bmc.wheelbase, + bmc.suspension, + bmc.packingCase, + bmc.seat, + bmc.hubMaterial, + bmc.configuringBao, + bmc.multimedia, + bmc.bumper, + bmc.clutchValue, + bmc.dirMachineValue, + bmc.proponsValue, + bmc.doorAndWindowValue, + bmc.doorLockValue, + bmc.headlightValue, + bmc.boardPedalValue, + bmc.steerWheelValue, + bmc.storagBatteryValue, + bmc.comfortPackValue, + bmc.cheBasePackValue, + bmc.savingPackValue, + bmc.conPackValue, + bm.vehicleTypeValue, + bm.emissionStandardValue, + bm.productLineValue, + bm.driveFormValue, + bm.powerValue, + bm.tranCaseTypeValue, + bm.gearboxTypeValue, + bm.fuelTypeValue, + bm.vehicleVersionValue, + bm.engineTypeValue, + bm.specifications 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 + 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 ${ew.sqlSegment} @@ -122,67 +122,67 @@ select DATE_FORMAT(createTime, '%Y-%m-%d') as date, - sum(saleOfStockRatio) as saleOfStockRatio, - sum(stock_subtotal) as stock_subtotal, - sum(pcOrder_subtotal) as pcOrder_subtotal, - sum(saleOrder_subtotal_day) as saleOrder_subtotal_day, - sum(sale_subtotal_day) as sale_subtotal_day, - sum(arrears_carry_veh_amount) as arrears_carry_veh_amount, - sum(loan_not_amount) as loan_not_amount, - sum(loan_not_amounts) as loan_not_amounts, - sum(buyout_day) as buyout_day, - useOrgSid, - sum(saleAllToThree) as saleAllToThree, - SUM(stock_total) as stock_total + sum(saleOfStockRatio) as saleOfStockRatio, + sum(stock_subtotal) as stock_subtotal, + sum(pcOrder_subtotal) as pcOrder_subtotal, + sum(saleOrder_subtotal_day) as saleOrder_subtotal_day, + sum(sale_subtotal_day) as sale_subtotal_day, + sum(arrears_carry_veh_amount) as arrears_carry_veh_amount, + sum(loan_not_amount) as loan_not_amount, + sum(loan_not_amounts) as loan_not_amounts, + sum(buyout_day) as buyout_day, + useOrgSid, + sum(saleAllToThree) as saleAllToThree, + SUM(stock_total) as stock_total from daily_report ${ew.sqlSegment} @@ -301,69 +301,99 @@ GROUP BY dr.brandSid order by dr.brandSid desc + + + + + select DATE_FORMAT(createTime, '%Y-%m-%d') as date, - - ifnull(sum(saleOfStockRatio), 0) as saleOfStockRatio, - ifnull(sum(stock_total), 0) as stock_total, - ifnull(sum(stock_subtotal), 0) as stock_subtotal, - ifnull(sum(stock_unreserve), 0) as stock_unreserve, - ifnull(sum(stock_reserve), 0) as stock_reserve, - ifnull(sum(stock_buyout_unreserve), 0) as stock_buyout_unreserve, - ifnull(sum(stock_buyout_reserve), 0) as stock_buyout_reserve, - ifnull(sum(stock_buyout_subtotal), 0) as stock_buyout_subtotal, - ifnull(sum(pcOrder_unreserve), 0) as pcOrder_unreserve, - ifnull(sum(pcOrder_reserve), 0) as pcOrder_reserve, - ifnull(sum(pcOrder_subtotal), 0) as pcOrder_subtotal, - - ifnull(sum(simpleOrder_day), 0) as simpleOrder_day, - ifnull(sum(simpleOrder_month), 0) as simpleOrder_month, - ifnull(sum(saleOrder_full_day), 0) as saleOrder_full_day, - ifnull(sum(saleOrder_loan_day), 0) as saleOrder_loan_day, - ifnull(sum(saleOrder_subtotal_day), 0) as saleOrder_subtotal_day, - ifnull(sum(saleOrder_full_month), 0) as saleOrder_full_month, - ifnull(sum(saleOrder_loan_month), 0) as saleOrder_loan_month, - ifnull(sum(saleOrder_subtotal_month), 0) as saleOrder_subtotal_month, - ifnull(sum(saleOrder_waitVeh_total), 0) as saleOrder_waitVeh_total, - - ifnull(sum(sale_full_day), 0) as sale_full_day, - ifnull(sum(sale_loan_day), 0) as sale_loan_day, - ifnull(sum(sale_subtotal_day), 0) as sale_subtotal_day, - ifnull(sum(sale_full_month), 0) as sale_full_month, - ifnull(sum(sale_loan_month), 0) as sale_loan_month, - ifnull(sum(sale_subtotal_month), 0) as sale_subtotal_month, - ifnull(sum(sale_full_year), 0) as sale_full_year, - ifnull(sum(sale_loan_year), 0) as sale_loan_year, - ifnull(sum(sale_subtotal_year), 0) as sale_subtotal_year, - ifnull(sum(deliver_loan_day), 0) as deliver_loan_day, - ifnull(sum(deliver_full_day), 0) as deliver_full_day, - ifnull(sum(deliver_subtotal_day), 0) as deliver_subtotal_day, - ifnull(sum(deliver_loan_month), 0) as deliver_loan_month, - ifnull(sum(deliver_full_month), 0) as deliver_full_month, - ifnull(sum(deliver_subtotal_month), 0) as deliver_subtotal_month, - ifnull(sum(deliver_loan_year), 0) as deliver_loan_year, - ifnull(sum(deliver_full_year), 0) as deliver_full_year, - ifnull(sum(deliver_subtotal_year), 0) as deliver_subtotal_year, + ifnull(sum(saleOfStockRatio), 0) as saleOfStockRatio, + ifnull(sum(stock_total), 0) as stock_total, + ifnull(sum(stock_subtotal), 0) as stock_subtotal, + ifnull(sum(stock_unreserve), 0) as stock_unreserve, + ifnull(sum(stock_reserve), 0) as stock_reserve, + ifnull(sum(stock_buyout_unreserve), 0) as stock_buyout_unreserve, + ifnull(sum(stock_buyout_reserve), 0) as stock_buyout_reserve, + ifnull(sum(stock_buyout_subtotal), 0) as stock_buyout_subtotal, + ifnull(sum(pcOrder_unreserve), 0) as pcOrder_unreserve, + ifnull(sum(pcOrder_reserve), 0) as pcOrder_reserve, + ifnull(sum(pcOrder_subtotal), 0) as pcOrder_subtotal, + + ifnull(sum(simpleOrder_day), 0) as simpleOrder_day, + ifnull(sum(simpleOrder_month), 0) as simpleOrder_month, + ifnull(sum(saleOrder_full_day), 0) as saleOrder_full_day, + ifnull(sum(saleOrder_loan_day), 0) as saleOrder_loan_day, + ifnull(sum(saleOrder_subtotal_day), 0) as saleOrder_subtotal_day, + ifnull(sum(saleOrder_full_month), 0) as saleOrder_full_month, + ifnull(sum(saleOrder_loan_month), 0) as saleOrder_loan_month, + ifnull(sum(saleOrder_subtotal_month), 0) as saleOrder_subtotal_month, + ifnull(sum(saleOrder_waitVeh_total), 0) as saleOrder_waitVeh_total, + + ifnull(sum(sale_full_day), 0) as sale_full_day, + ifnull(sum(sale_loan_day), 0) as sale_loan_day, + ifnull(sum(sale_subtotal_day), 0) as sale_subtotal_day, + ifnull(sum(sale_full_month), 0) as sale_full_month, + ifnull(sum(sale_loan_month), 0) as sale_loan_month, + ifnull(sum(sale_subtotal_month), 0) as sale_subtotal_month, + ifnull(sum(sale_full_year), 0) as sale_full_year, + ifnull(sum(sale_loan_year), 0) as sale_loan_year, + ifnull(sum(sale_subtotal_year), 0) as sale_subtotal_year, + ifnull(sum(deliver_loan_day), 0) as deliver_loan_day, + ifnull(sum(deliver_full_day), 0) as deliver_full_day, + ifnull(sum(deliver_subtotal_day), 0) as deliver_subtotal_day, + ifnull(sum(deliver_loan_month), 0) as deliver_loan_month, + ifnull(sum(deliver_full_month), 0) as deliver_full_month, + ifnull(sum(deliver_subtotal_month), 0) as deliver_subtotal_month, + ifnull(sum(deliver_loan_year), 0) as deliver_loan_year, + ifnull(sum(deliver_full_year), 0) as deliver_full_year, + ifnull(sum(deliver_subtotal_year), 0) as deliver_subtotal_year, ifnull(sum(manufacturer_invoicing_year), 0) as manufacturer_invoicing_year, - ifnull(sum(buyout_day), 0) as buyout_day, - ifnull(sum(buyout_month), 0) as buyout_month, - ifnull(sum(buyout_year), 0) as buyout_year, - ifnull(sum(arrears_carry_veh_count), 0) as arrears_carry_veh_count, - ifnull(sum(arrears_carry_veh_amount), 0) as arrears_carry_veh_amount, - ifnull(sum(loan_not_count), 0) as loan_not_count, - ifnull(sum(loan_not_amount), 0) as loan_not_amount, - ifnull(sum(saleAllToThree), 0) as saleAllToThree, - ifnull(sum(loan_not_counts), 0) as loan_not_counts, - ifnull(sum(loan_not_amounts), 0) as loan_not_amounts, + ifnull(sum(buyout_day), 0) as buyout_day, + ifnull(sum(buyout_month), 0) as buyout_month, + ifnull(sum(buyout_year), 0) as buyout_year, + ifnull(sum(arrears_carry_veh_count), 0) as arrears_carry_veh_count, + ifnull(sum(arrears_carry_veh_amount), 0) as arrears_carry_veh_amount, + ifnull(sum(loan_not_count), 0) as loan_not_count, + ifnull(sum(loan_not_amount), 0) as loan_not_amount, + ifnull(sum(saleAllToThree), 0) as saleAllToThree, + ifnull(sum(loan_not_counts), 0) as loan_not_counts, + ifnull(sum(loan_not_amounts), 0) as loan_not_amounts, busOrgSid, useOrgSid, busOrgName, @@ -487,63 +583,122 @@ + + + + + + + + + + + \ No newline at end of file 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 2bb1476f64..4564cf1b40 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 @@ -74,7 +74,7 @@ public class DailyReportRest implements DailyReportFeign { @Override public ResultBean list1Old(String date, String busOrgSid) { - return dailyReportService.list1(date, busOrgSid); + return dailyReportService.list1Old(date, busOrgSid); } @Override @@ -106,7 +106,7 @@ public class DailyReportRest implements DailyReportFeign { @Override public ResultBean list4Old(String date, String useOrgSid) { - return dailyReportService.list4(date, useOrgSid); + return dailyReportService.list4Old(date, useOrgSid); } @Override 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 a3b58d131d..0b1b477f72 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 @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.google.common.util.concurrent.ThreadFactoryBuilder; import com.yxt.anrui.base.api.basemodelconfig.BaseModelConfig; import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModel; +import com.yxt.anrui.portal.api.flow.app.FlowTaskFinishVo; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; import com.yxt.anrui.reportcenter.api.dailyreport.*; import com.yxt.anrui.reportcenter.api.reportset.ReportSetVo; @@ -15,6 +16,7 @@ import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; +import lombok.extern.slf4j.Slf4j; import net.sf.jsqlparser.expression.StringValue; import org.apache.commons.lang3.StringUtils; import org.apache.tomcat.util.threads.ThreadPoolExecutor; @@ -36,6 +38,7 @@ import java.util.stream.Collectors; * @date: 2023/9/28 **/ @Service +@Slf4j public class DailyReportService extends MybatisBaseService { @Autowired @@ -447,7 +450,7 @@ public class DailyReportService extends MybatisBaseService list1(String date, String busOrgSid) { + public ResultBean list1Old(String date, String busOrgSid) { ResultBean rb = ResultBean.fireFail(); DailyReportAppVo dailyReportAppVo = new DailyReportAppVo(); List rows1 = baseMapper.selectByBrand(busOrgSid, date); @@ -726,7 +729,7 @@ public class DailyReportService extends MybatisBaseService list1New(String date, String busOrgSid) { + public ResultBean list1New_old(String date, String busOrgSid) { ResultBean rb = ResultBean.fireFail(); DailyReportAppBrandVo dailyReportAppVo = new DailyReportAppBrandVo(); List rows1 = baseMapper.selectByBrand(busOrgSid, date); @@ -1316,451 +1319,773 @@ public class DailyReportService extends MybatisBaseService pageList1(PagerQuery pagerQuery) { - DailyReportAppPagerQuery query = pagerQuery.getParams(); - QueryWrapper qw = new QueryWrapper<>(); - if (query != null) { - + public ResultBean list1New(String date, String busOrgSid) { + long startTime = System.currentTimeMillis(); // 记录开始时间 + ResultBean rb = ResultBean.fireFail(); + DailyReportAppBrandVo dailyReportAppVo = new DailyReportAppBrandVo(); + String startDate = date + " 00:00:00"; + String endDate = date + " 23:59:59"; + List rows1 = baseMapper.selectByBrandNew(busOrgSid, startDate, endDate); + 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()); + }); } - IPage page = PagerUtil.queryToPage(pagerQuery); - IPage pagging = baseMapper.pageList1(page, qw); - List recordList = pagging.getRecords(); - recordList.removeAll(Collections.singleton(null)); - if (!recordList.isEmpty()) { - for (int i = 0; i < recordList.size(); i++) { - DailyReportListVo dailyReportListVo = recordList.get(i); - String ratio = ""; - if (StringUtils.isBlank(dailyReportListVo.getSaleAllToThree())) { - ratio = dailyReportListVo.getStock_subtotal() + ":1"; - } else { - if ("0".equals(dailyReportListVo.getSaleAllToThree())) { - ratio = dailyReportListVo.getStock_subtotal() + ":1"; + dailyReportAppVo.setRow1(rows1); + List brandList = rows1.stream().map(v -> v.getLinkSid()).collect(Collectors.toList()); + List dailyReportVoList = baseMapper.selectReportNew(brandList, busOrgSid, startDate, endDate); + //排放标准 + List row3 = dailyReportVoList.stream().map(v -> v.getEmissionStandardValue()).collect(Collectors.toList()); + dailyReportAppVo.setRow3(row3); + + //按品牌sid分组,为保证dailyReportVoList分组的顺序,使用LinkedHashMap + 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("小计"); + fuelTypeVo.setRowspan(String.valueOf(2)); + 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 { - ratio = new BigDecimal(dailyReportListVo.getStock_total()).divide((new BigDecimal(dailyReportListVo.getSaleAllToThree()).divide(new BigDecimal(3), 4, BigDecimal.ROUND_HALF_UP)), 0, BigDecimal.ROUND_HALF_UP).toString() + ":1"; + 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"; } - } - dailyReportListVo.setSaleOfStockRatio(ratio); - } - } - PagerVo p = PagerUtil.pageToVo(pagging, null); - - return p; - } - - public ResultBean getReport(String date, String userSid, String orgPath, String type) { - ResultBean rb = ResultBean.fireFail(); - QueryWrapper qw = new QueryWrapper<>(); - if (StringUtils.isNotBlank(date)) { - qw.like("createTime", date); - } - if (StringUtils.isNotBlank(type)) {//事业部或分公司 - if ("syb".equals(type)) { - if (StringUtils.isNotBlank(orgPath)) { - List stringList = Arrays.asList(orgPath.split("/")); - String busOrgSid = orgPath.substring(37, 73); - qw.eq("busOrgSid", busOrgSid); - } - } else if ("fgs".equals(type)) { - if (StringUtils.isNotBlank(orgPath)) { - String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData(); - qw.eq("useOrgSid", useOrgSid); - } - } - } - ReportVo reportVo = baseMapper.getReport(qw); - String ratio = ""; - if (StringUtils.isBlank(reportVo.getSaleAllToThree())) { - ratio = reportVo.getStock_subtotal() + ":1"; - } else { - if ("0".equals(reportVo.getSaleAllToThree())) { - ratio = reportVo.getStock_subtotal() + ":1"; - } else { - ratio = new BigDecimal(reportVo.getStock_total()).divide((new BigDecimal(reportVo.getSaleAllToThree()).divide(new BigDecimal(3), 4, BigDecimal.ROUND_HALF_UP)), 0, BigDecimal.ROUND_HALF_UP).toString() + ":1"; - } - } - reportVo.setSaleOfStockRatio(ratio); - ResultBean> listResultBean = reportSetService.selectVoByUserSid(userSid); - if (listResultBean.getSuccess()) { - List list = listResultBean.getData(); - reportVo.setList(list); - } - return rb.success().setData(reportVo); - } + 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()); - public ResultBean list2(String date) { - ResultBean rb = ResultBean.fireFail(); - DailyReportAppVo dailyReportAppVo = new DailyReportAppVo(); - dailyReportAppVo.setTitle("集团(事业部)" + date + "日报"); - List rows1 = baseMapper.list2(date); - rows1.removeAll(Collections.singleton(null)); - dailyReportAppVo.setRow1(rows1); - List dailyReportVoList = baseMapper.selectReport2(date); - /*//存销比 - List row4 = dailyReportVoList.stream().map(v -> v.getSaleOfStockRatio()).collect(Collectors.toList()); - //合计 - BigDecimal row4All = row4.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); - row4.add(row4All.toString()); - dailyReportAppVo.setRow4(row4);*/ - //存销比 - /*List row4 = dailyReportVoList.stream().map(v -> - v.getSaleOfStockRatio().contains(".") ? dicimalToFraction(Double.valueOf(v.getSaleOfStockRatio())) : (v.getSaleOfStockRatio() + ":1") - ).collect(Collectors.toList()); - //合计 - BigDecimal row4All = dailyReportVoList.stream().map(v -> - v.getSaleOfStockRatio() - ).collect(Collectors.toList()).stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); - String row4alll = row4All.toString().contains(".") ? dicimalToFraction(Double.valueOf(row4All.toString())) : (row4All.toString() + ":1"); - row4.add(row4alll); - dailyReportAppVo.setRow4(row4);*/ - /*List row4 = dailyReportVoList.stream().map(v -> - v.getSaleOfStockRatio() + ":1" - ).collect(Collectors.toList()); - BigDecimal row4All = dailyReportVoList.stream().map(v -> - v.getSaleOfStockRatio() - ).collect(Collectors.toList()).stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); - String row4alll = row4All.toString() + ":1"; - row4.add(row4alll); - dailyReportAppVo.setRow4(row4);*/ - List row4 = dailyReportVoList.stream().map(v -> { - 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"; - } - } - return saleOfStockRatio; - }).collect(Collectors.toList()); - 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 row5 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_total())).collect(Collectors.toList()); - BigDecimal row5All = row5.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); - row5.add(row5All.toString()); - dailyReportAppVo.setRow5(row5); - //库存未定 - List row6 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_unreserve())).collect(Collectors.toList()); - BigDecimal row6All = row6.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); - row6.add(row6All.toString()); - dailyReportAppVo.setRow6(row6); - //库存-已定 - List row7 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_reserve())).collect(Collectors.toList()); - BigDecimal row7All = row7.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + //订车-本日销售订单-贷款 + 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 row8 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_subtotal())).collect(Collectors.toList()); - BigDecimal row8All = row8.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + //库存-小计-合计 + 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 row9 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_unreserve())).collect(Collectors.toList()); - BigDecimal row9All = row9.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row10 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_reserve())).collect(Collectors.toList()); - BigDecimal row10All = row10.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row11 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_subtotal())).collect(Collectors.toList()); - BigDecimal row11All = row11.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); - row11.add(row11All.toString()); + 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 row12 = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_unreserve())).collect(Collectors.toList()); - BigDecimal row12All = row12.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row13 = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_reserve())).collect(Collectors.toList()); - BigDecimal row13All = row13.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row14 = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_subtotal())).collect(Collectors.toList()); - BigDecimal row14All = row14.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row15 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSimpleOrder_day())).collect(Collectors.toList()); - BigDecimal row15All = row15.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row16 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSimpleOrder_month())).collect(Collectors.toList()); - BigDecimal row16All = row16.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row17 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_loan_day())).collect(Collectors.toList()); - BigDecimal row17All = row17.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row18 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_full_day())).collect(Collectors.toList()); - BigDecimal row18All = row18.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row19 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_subtotal_day())).collect(Collectors.toList()); - BigDecimal row19All = row19.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row20 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_loan_month())).collect(Collectors.toList()); - BigDecimal row20All = row20.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row21 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_full_month())).collect(Collectors.toList()); - BigDecimal row21All = row21.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row22 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_subtotal_month())).collect(Collectors.toList()); - BigDecimal row22All = row22.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row23 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_waitVeh_total())).collect(Collectors.toList()); - BigDecimal row23All = row23.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row24 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_loan_day())).collect(Collectors.toList()); - BigDecimal row24All = row24.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row25 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_full_day())).collect(Collectors.toList()); - BigDecimal row25All = row25.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row26 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_subtotal_day())).collect(Collectors.toList()); - BigDecimal row26All = row26.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row27 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_loan_month())).collect(Collectors.toList()); - BigDecimal row27All = row27.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row28 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_full_month())).collect(Collectors.toList()); - BigDecimal row28All = row28.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row29 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_subtotal_month())).collect(Collectors.toList()); - BigDecimal row29All = row29.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row30 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_loan_year())).collect(Collectors.toList()); - BigDecimal row30All = row30.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row31 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_full_year())).collect(Collectors.toList()); - BigDecimal row31All = row31.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row32 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_subtotal_year())).collect(Collectors.toList()); - BigDecimal row32All = row32.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row33 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_loan_day())).collect(Collectors.toList()); - BigDecimal row33All = row33.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row34 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_full_day())).collect(Collectors.toList()); - BigDecimal row34All = row34.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row35 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_day())).collect(Collectors.toList()); - BigDecimal row35All = row35.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row36 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_loan_month())).collect(Collectors.toList()); - BigDecimal row36All = row36.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row37 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_full_month())).collect(Collectors.toList()); - BigDecimal row37All = row37.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row38 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_month())).collect(Collectors.toList()); - BigDecimal row38All = row38.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row39 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_loan_year())).collect(Collectors.toList()); - BigDecimal row39All = row39.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row40 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_full_year())).collect(Collectors.toList()); - BigDecimal row40All = row40.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row41 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_year())).collect(Collectors.toList()); - BigDecimal row41All = row41.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row42 = dailyReportVoList.stream().map(v -> String.valueOf(v.getManufacturer_invoicing_year())).collect(Collectors.toList()); - BigDecimal row42All = row42.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row43 = dailyReportVoList.stream().map(v -> String.valueOf(v.getBuyout_day())).collect(Collectors.toList()); - BigDecimal row43All = row43.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row44 = dailyReportVoList.stream().map(v -> String.valueOf(v.getBuyout_month())).collect(Collectors.toList()); - BigDecimal row44All = row44.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row45 = dailyReportVoList.stream().map(v -> String.valueOf(v.getBuyout_year())).collect(Collectors.toList()); - BigDecimal row45All = row45.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row46 = dailyReportVoList.stream().map(v -> String.valueOf(v.getArrears_carry_veh_count())).collect(Collectors.toList()); - BigDecimal row46All = row46.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row47 = dailyReportVoList.stream().map(v -> String.valueOf(v.getArrears_carry_veh_amount())).collect(Collectors.toList()); - BigDecimal row47All = row47.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row48 = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_count())).collect(Collectors.toList()); - BigDecimal row48All = row48.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row49 = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_amount())).collect(Collectors.toList()); - BigDecimal row49All = row49.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row50 = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_counts())).collect(Collectors.toList()); - BigDecimal row50All = row50.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row51 = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_amounts())).collect(Collectors.toList()); - BigDecimal row51All = row51.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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); + long endTime = System.currentTimeMillis(); // 记录结束时间 + long duration = endTime - startTime; // 计算耗时 + log.info("事业部品牌接口耗时 {} ms", duration); // 输出日志 return rb.success().setData(dailyReportAppVo); } - public ResultBean list3(String date, String busOrgSid) { - ResultBean rb = ResultBean.fireFail(); - DailyReportAppVo dailyReportAppVo = new DailyReportAppVo(); - List rows1 = baseMapper.list3(date, busOrgSid); - dailyReportAppVo.setTitle("事业部(分公司)" + date + "日报"); - rows1.removeAll(Collections.singleton(null)); - dailyReportAppVo.setRow1(rows1); - List dailyReportVoList = baseMapper.selectReport3(date, busOrgSid); - /*//存销比 - List row4 = dailyReportVoList.stream().map(v -> v.getSaleOfStockRatio()).collect(Collectors.toList()); - //合计 - BigDecimal row4All = row4.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); - row4.add(row4All.toString()); - dailyReportAppVo.setRow4(row4);*/ - //存销比 - /*List row4 = dailyReportVoList.stream().map(v -> - v.getSaleOfStockRatio().contains(".") ? dicimalToFraction(Double.valueOf(v.getSaleOfStockRatio())) : (v.getSaleOfStockRatio() + ":1") - ).collect(Collectors.toList()); - //合计 - BigDecimal row4All = dailyReportVoList.stream().map(v -> - v.getSaleOfStockRatio() - ).collect(Collectors.toList()).stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); - String row4alll = row4All.toString().contains(".") ? dicimalToFraction(Double.valueOf(row4All.toString())) : (row4All.toString() + ":1"); - row4.add(row4alll); - dailyReportAppVo.setRow4(row4);*/ - /*List row4 = dailyReportVoList.stream().map(v -> - v.getSaleOfStockRatio() + ":1" - ).collect(Collectors.toList()); - BigDecimal row4All = dailyReportVoList.stream().map(v -> - v.getSaleOfStockRatio() - ).collect(Collectors.toList()).stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); - String row4alll = row4All.toString() + ":1"; - row4.add(row4alll); - dailyReportAppVo.setRow4(row4);*/ - List row4 = dailyReportVoList.stream().map(v -> { - 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"; + public PagerVo pageList1_old(PagerQuery pagerQuery) { + DailyReportAppPagerQuery query = pagerQuery.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if (query != null) { + + } + IPage page = PagerUtil.queryToPage(pagerQuery); + IPage pagging = baseMapper.pageList1(page, qw); + List recordList = pagging.getRecords(); + recordList.removeAll(Collections.singleton(null)); + if (!recordList.isEmpty()) { + for (int i = 0; i < recordList.size(); i++) { + DailyReportListVo dailyReportListVo = recordList.get(i); + String ratio = ""; + if (StringUtils.isBlank(dailyReportListVo.getSaleAllToThree())) { + ratio = dailyReportListVo.getStock_subtotal() + ":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"; + if ("0".equals(dailyReportListVo.getSaleAllToThree())) { + ratio = dailyReportListVo.getStock_subtotal() + ":1"; + } else { + ratio = new BigDecimal(dailyReportListVo.getStock_total()).divide((new BigDecimal(dailyReportListVo.getSaleAllToThree()).divide(new BigDecimal(3), 4, BigDecimal.ROUND_HALF_UP)), 0, BigDecimal.ROUND_HALF_UP).toString() + ":1"; + } } + dailyReportListVo.setSaleOfStockRatio(ratio); } - return saleOfStockRatio; - }).collect(Collectors.toList()); - 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 row5 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_total())).collect(Collectors.toList()); - BigDecimal row5All = row5.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); - row5.add(row5All.toString()); - dailyReportAppVo.setRow5(row5); - //库存未定 - List row6 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_unreserve())).collect(Collectors.toList()); - BigDecimal row6All = row6.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); - row6.add(row6All.toString()); - dailyReportAppVo.setRow6(row6); - //库存-已定 - List row7 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_reserve())).collect(Collectors.toList()); - BigDecimal row7All = row7.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); - row7.add(row7All.toString()); - dailyReportAppVo.setRow7(row7); - //库存-小计 - List row8 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_subtotal())).collect(Collectors.toList()); + PagerVo p = PagerUtil.pageToVo(pagging, null); + + return p; + } + + public PagerVo pageList1(PagerQuery pagerQuery) { + long startTime = System.currentTimeMillis(); // 记录开始时间 + PagerVo page = new PagerVo<>(); + long pageNum = pagerQuery.getCurrent(); + long pageSize = pagerQuery.getSize(); + DailyReportAppPagerQuery query = pagerQuery.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if (query != null) { + + } + + Map map = new HashMap<>(); + map.put("page", (pageNum - 1) * pageSize); + map.put("size", pageSize); + List recordList = baseMapper.selectRecordList(map, qw); + recordList.removeAll(Collections.singleton(null)); + if (!recordList.isEmpty()) { + for (int i = 0; i < recordList.size(); i++) { + DailyReportListVo dailyReportListVo = recordList.get(i); + String ratio = ""; + if (StringUtils.isBlank(dailyReportListVo.getSaleAllToThree())) { + ratio = dailyReportListVo.getStock_subtotal() + ":1"; + } else { + if ("0".equals(dailyReportListVo.getSaleAllToThree())) { + ratio = dailyReportListVo.getStock_subtotal() + ":1"; + } else { + ratio = new BigDecimal(dailyReportListVo.getStock_total()).divide((new BigDecimal(dailyReportListVo.getSaleAllToThree()).divide(new BigDecimal(3), 4, BigDecimal.ROUND_HALF_UP)), 0, BigDecimal.ROUND_HALF_UP).toString() + ":1"; + } + } + dailyReportListVo.setSaleOfStockRatio(ratio); + } + } + int count = baseMapper.selectRecordCount(qw); + page.setRecords(recordList); + page.setCurrent(pageNum); + page.setSize(pageSize); + page.setTotal(count); + long pages = (count + pageSize - 1) / pageSize; + page.setPages(pages); + long endTime = System.currentTimeMillis(); // 记录结束时间 + long duration = endTime - startTime; // 计算耗时 + log.info("集团日报列表接口耗时 {} ms", duration); // 输出日志 + return page; + } + + public ResultBean getReport(String date, String userSid, String orgPath, String type) { + long startTime = System.currentTimeMillis(); // 记录开始时间 + ResultBean rb = ResultBean.fireFail(); + QueryWrapper qw = new QueryWrapper<>(); + if (StringUtils.isNotBlank(date)) { + // 假设你传入的日期格式是 '2025-02-21' + String startDate = date + " 00:00:00"; + String endDate = date + " 23:59:59"; + qw.ge("createTime", startDate) // 大于等于 startDate + .lt("createTime", endDate); // 小于 endDate + } + if (StringUtils.isNotBlank(type)) {//事业部或分公司 + if ("syb".equals(type)) { + if (StringUtils.isNotBlank(orgPath)) { + List stringList = Arrays.asList(orgPath.split("/")); + String busOrgSid = orgPath.substring(37, 73); + qw.eq("busOrgSid", busOrgSid); + } + } else if ("fgs".equals(type)) { + if (StringUtils.isNotBlank(orgPath)) { + String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData(); + qw.eq("useOrgSid", useOrgSid); + } + } + } + ReportVo reportVo = baseMapper.getReport(qw); + String ratio = ""; + if (StringUtils.isBlank(reportVo.getSaleAllToThree())) { + ratio = reportVo.getStock_subtotal() + ":1"; + } else { + if ("0".equals(reportVo.getSaleAllToThree())) { + ratio = reportVo.getStock_subtotal() + ":1"; + } else { + ratio = new BigDecimal(reportVo.getStock_total()).divide((new BigDecimal(reportVo.getSaleAllToThree()).divide(new BigDecimal(3), 4, BigDecimal.ROUND_HALF_UP)), 0, BigDecimal.ROUND_HALF_UP).toString() + ":1"; + } + } + reportVo.setSaleOfStockRatio(ratio); + ResultBean> listResultBean = reportSetService.selectVoByUserSid(userSid); + if (listResultBean.getSuccess()) { + List list = listResultBean.getData(); + reportVo.setList(list); + } + long endTime = System.currentTimeMillis(); // 记录结束时间 + long duration = endTime - startTime; // 计算耗时 + log.info("集团日期初始化接口耗时 {} ms", duration); // 输出日志 + return rb.success().setData(reportVo); + } + + public ResultBean list2_old(String date) { + ResultBean rb = ResultBean.fireFail(); + DailyReportAppVo dailyReportAppVo = new DailyReportAppVo(); + dailyReportAppVo.setTitle("集团(事业部)" + date + "日报"); + List rows1 = baseMapper.list2(date); + rows1.removeAll(Collections.singleton(null)); + dailyReportAppVo.setRow1(rows1); + List dailyReportVoList = baseMapper.selectReport2(date); + List row4 = dailyReportVoList.stream().map(v -> { + 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"; + } + } + return saleOfStockRatio; + }).collect(Collectors.toList()); + 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 row5 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_total())).collect(Collectors.toList()); + BigDecimal row5All = row5.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row5.add(row5All.toString()); + dailyReportAppVo.setRow5(row5); + //库存未定 + List row6 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_unreserve())).collect(Collectors.toList()); + BigDecimal row6All = row6.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row6.add(row6All.toString()); + dailyReportAppVo.setRow6(row6); + //库存-已定 + List row7 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_reserve())).collect(Collectors.toList()); + BigDecimal row7All = row7.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row7.add(row7All.toString()); + dailyReportAppVo.setRow7(row7); + //库存-小计 + List row8 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_subtotal())).collect(Collectors.toList()); BigDecimal row8All = row8.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); row8.add(row8All.toString()); dailyReportAppVo.setRow8(row8); @@ -1969,6 +2294,7 @@ public class DailyReportService extends MybatisBaseService row50 = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_counts())).collect(Collectors.toList()); BigDecimal row50All = row50.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); @@ -1982,66 +2308,17 @@ public class DailyReportService extends MybatisBaseService list4(String date, String useOrgSid) { + public ResultBean list2(String date) { + long startTime = System.currentTimeMillis(); // 记录开始时间 ResultBean rb = ResultBean.fireFail(); - QueryWrapper qw = new QueryWrapper<>(); DailyReportAppVo dailyReportAppVo = new DailyReportAppVo(); - 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); + dailyReportAppVo.setTitle("集团(事业部)" + date + "日报"); + List rows1 = baseMapper.list2(date); rows1.removeAll(Collections.singleton(null)); 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); - //存销比 - /*List row4 = dailyReportVoList.stream().map(v -> - v.getSaleOfStockRatio().contains(".") ? dicimalToFraction(Double.valueOf(v.getSaleOfStockRatio())) : (v.getSaleOfStockRatio() + ":1") - ).collect(Collectors.toList()); - //合计 - BigDecimal row4All = dailyReportVoList.stream().map(v -> - v.getSaleOfStockRatio() - ).collect(Collectors.toList()).stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); - String row4alll = row4All.toString().contains(".") ? dicimalToFraction(Double.valueOf(row4All.toString())) : (row4All.toString() + ":1"); - row4.add(row4alll); - dailyReportAppVo.setRow4(row4);*/ - /* List row4 = dailyReportVoList.stream().map(v -> - v.getSaleOfStockRatio() + ":1" - ).collect(Collectors.toList()); - BigDecimal row4All = dailyReportVoList.stream().map(v -> - v.getSaleOfStockRatio() - ).collect(Collectors.toList()).stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); - String row4alll = row4All.toString() + ":1"; - row4.add(row4alll); - dailyReportAppVo.setRow4(row4);*/ + String startDate = date + " 00:00:00"; + String endDate = date + " 23:59:59"; + List dailyReportVoList = baseMapper.selectReport2New(startDate, endDate); List row4 = dailyReportVoList.stream().map(v -> { String saleOfStockRatio = ""; String saleAllToThree = String.valueOf(v.getSaleAllToThree()); @@ -2055,8 +2332,1622 @@ public class DailyReportService extends MybatisBaseService 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 row5 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_total())).collect(Collectors.toList()); + BigDecimal row5All = row5.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row5.add(row5All.toString()); + dailyReportAppVo.setRow5(row5); + //库存未定 + List row6 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_unreserve())).collect(Collectors.toList()); + BigDecimal row6All = row6.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row6.add(row6All.toString()); + dailyReportAppVo.setRow6(row6); + //库存-已定 + List row7 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_reserve())).collect(Collectors.toList()); + BigDecimal row7All = row7.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row7.add(row7All.toString()); + dailyReportAppVo.setRow7(row7); + //库存-小计 + List row8 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_subtotal())).collect(Collectors.toList()); + BigDecimal row8All = row8.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row8.add(row8All.toString()); + dailyReportAppVo.setRow8(row8); + //其中买断-未定 + List row9 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_unreserve())).collect(Collectors.toList()); + BigDecimal row9All = row9.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row9.add(row9All.toString()); + dailyReportAppVo.setRow9(row9); + //其中买断-已定 + List row10 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_reserve())).collect(Collectors.toList()); + BigDecimal row10All = row10.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row10.add(row10All.toString()); + dailyReportAppVo.setRow10(row10); + //其中买断-小计 + List row11 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_subtotal())).collect(Collectors.toList()); + BigDecimal row11All = row11.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row11.add(row11All.toString()); + dailyReportAppVo.setRow11(row11); + //排产-未定 + List row12 = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_unreserve())).collect(Collectors.toList()); + BigDecimal row12All = row12.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row12.add(row12All.toString()); + dailyReportAppVo.setRow12(row12); + //排产-已定 + List row13 = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_reserve())).collect(Collectors.toList()); + BigDecimal row13All = row13.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row13.add(row13All.toString()); + dailyReportAppVo.setRow13(row13); + //排产-小计 + List row14 = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_subtotal())).collect(Collectors.toList()); + BigDecimal row14All = row14.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row14.add(row14All.toString()); + dailyReportAppVo.setRow14(row14); + //订车-简易订单-本日 + List row15 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSimpleOrder_day())).collect(Collectors.toList()); + BigDecimal row15All = row15.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row15.add(row15All.toString()); + dailyReportAppVo.setRow15(row15); + //订车-简易订单-本月 + List row16 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSimpleOrder_month())).collect(Collectors.toList()); + BigDecimal row16All = row16.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row16.add(row16All.toString()); + dailyReportAppVo.setRow16(row16); + //订车-本日销售订单-贷款 + List row17 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_loan_day())).collect(Collectors.toList()); + BigDecimal row17All = row17.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row17.add(row17All.toString()); + dailyReportAppVo.setRow17(row17); + //订车-本日销售订单-全款 + List row18 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_full_day())).collect(Collectors.toList()); + BigDecimal row18All = row18.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row18.add(row18All.toString()); + dailyReportAppVo.setRow18(row18); + //订车-本日销售订单-小计 + List row19 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_subtotal_day())).collect(Collectors.toList()); + BigDecimal row19All = row19.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row19.add(row19All.toString()); + dailyReportAppVo.setRow19(row19); + //订车-本月销售订单-贷款 + List row20 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_loan_month())).collect(Collectors.toList()); + BigDecimal row20All = row20.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row20.add(row20All.toString()); + dailyReportAppVo.setRow20(row20); + //订车-本月销售订单-全款 + List row21 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_full_month())).collect(Collectors.toList()); + BigDecimal row21All = row21.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row21.add(row21All.toString()); + dailyReportAppVo.setRow21(row21); + //订车-本月销售订单-小计 + List row22 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_subtotal_month())).collect(Collectors.toList()); + BigDecimal row22All = row22.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row22.add(row22All.toString()); + dailyReportAppVo.setRow22(row22); + //订车-待交车累计总订单 + List row23 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_waitVeh_total())).collect(Collectors.toList()); + BigDecimal row23All = row23.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row23.add(row23All.toString()); + dailyReportAppVo.setRow23(row23); + //销售-本日销售-贷款 + List row24 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_loan_day())).collect(Collectors.toList()); + BigDecimal row24All = row24.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row24.add(row24All.toString()); + dailyReportAppVo.setRow24(row24); + //销售-本日销售-全款 + List row25 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_full_day())).collect(Collectors.toList()); + BigDecimal row25All = row25.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row25.add(row25All.toString()); + dailyReportAppVo.setRow25(row25); + //销售-本日销售-小计 + List row26 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_subtotal_day())).collect(Collectors.toList()); + BigDecimal row26All = row26.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row26.add(row26All.toString()); + dailyReportAppVo.setRow26(row26); + //销售-本月销售-贷款 + List row27 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_loan_month())).collect(Collectors.toList()); + BigDecimal row27All = row27.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row27.add(row27All.toString()); + dailyReportAppVo.setRow27(row27); + //销售-本月销售-全款 + List row28 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_full_month())).collect(Collectors.toList()); + BigDecimal row28All = row28.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row28.add(row28All.toString()); + dailyReportAppVo.setRow28(row28); + //销售-本月销售-小计 + List row29 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_subtotal_month())).collect(Collectors.toList()); + BigDecimal row29All = row29.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row29.add(row29All.toString()); + dailyReportAppVo.setRow29(row29); + //销售-全年销售-贷款 + List row30 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_loan_year())).collect(Collectors.toList()); + BigDecimal row30All = row30.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row30.add(row30All.toString()); + dailyReportAppVo.setRow30(row30); + //销售-全年销售-全款 + List row31 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_full_year())).collect(Collectors.toList()); + BigDecimal row31All = row31.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row31.add(row31All.toString()); + dailyReportAppVo.setRow31(row31); + //销售-全年销售-小计 + List row32 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_subtotal_year())).collect(Collectors.toList()); + BigDecimal row32All = row32.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row32.add(row32All.toString()); + dailyReportAppVo.setRow32(row32); + //交付-本日交付-贷款 + List row33 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_loan_day())).collect(Collectors.toList()); + BigDecimal row33All = row33.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row33.add(row33All.toString()); + dailyReportAppVo.setRow33(row33); + //交付-本日交付-全款 + List row34 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_full_day())).collect(Collectors.toList()); + BigDecimal row34All = row34.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row34.add(row34All.toString()); + dailyReportAppVo.setRow34(row34); + //交付-本日交付-小计 + List row35 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_day())).collect(Collectors.toList()); + BigDecimal row35All = row35.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row35.add(row35All.toString()); + dailyReportAppVo.setRow35(row35); + //交付-本月交付-贷款 + List row36 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_loan_month())).collect(Collectors.toList()); + BigDecimal row36All = row36.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row36.add(row36All.toString()); + dailyReportAppVo.setRow36(row36); + //交付-本月交付-全款 + List row37 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_full_month())).collect(Collectors.toList()); + BigDecimal row37All = row37.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row37.add(row37All.toString()); + dailyReportAppVo.setRow37(row37); + //交付-本月交付-小计 + List row38 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_month())).collect(Collectors.toList()); + BigDecimal row38All = row38.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row38.add(row38All.toString()); + dailyReportAppVo.setRow38(row38); + //交付-全年交付-贷款 + List row39 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_loan_year())).collect(Collectors.toList()); + BigDecimal row39All = row39.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row39.add(row39All.toString()); + dailyReportAppVo.setRow39(row39); + //交付-全年交付-全款 + List row40 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_full_year())).collect(Collectors.toList()); + BigDecimal row40All = row40.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row40.add(row40All.toString()); + dailyReportAppVo.setRow40(row40); + //交付-全年交付-小计 + List row41 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_year())).collect(Collectors.toList()); + BigDecimal row41All = row41.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row41.add(row41All.toString()); + dailyReportAppVo.setRow41(row41); + //全年厂家开票数 + List row42 = dailyReportVoList.stream().map(v -> String.valueOf(v.getManufacturer_invoicing_year())).collect(Collectors.toList()); + BigDecimal row42All = row42.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row42.add(row42All.toString()); + dailyReportAppVo.setRow42(row42); + //买断-本日 + List row43 = dailyReportVoList.stream().map(v -> String.valueOf(v.getBuyout_day())).collect(Collectors.toList()); + BigDecimal row43All = row43.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row43.add(row43All.toString()); + dailyReportAppVo.setRow43(row43); + //买断-本月 + List row44 = dailyReportVoList.stream().map(v -> String.valueOf(v.getBuyout_month())).collect(Collectors.toList()); + BigDecimal row44All = row44.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row44.add(row44All.toString()); + dailyReportAppVo.setRow44(row44); + //买断-本年 + List row45 = dailyReportVoList.stream().map(v -> String.valueOf(v.getBuyout_year())).collect(Collectors.toList()); + BigDecimal row45All = row45.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row45.add(row45All.toString()); + dailyReportAppVo.setRow45(row45); + //欠款出库数量 + List row46 = dailyReportVoList.stream().map(v -> String.valueOf(v.getArrears_carry_veh_count())).collect(Collectors.toList()); + BigDecimal row46All = row46.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row46.add(row46All.toString()); + dailyReportAppVo.setRow46(row46); + //欠款出库金额 + List row47 = dailyReportVoList.stream().map(v -> String.valueOf(v.getArrears_carry_veh_amount())).collect(Collectors.toList()); + BigDecimal row47All = row47.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row47.add(row47All.toString()); + dailyReportAppVo.setRow47(row47); + //金融未放款-数量 + List row48 = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_count())).collect(Collectors.toList()); + BigDecimal row48All = row48.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row48.add(row48All.toString()); + dailyReportAppVo.setRow48(row48); + //金融未放款-金额 + List row49 = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_amount())).collect(Collectors.toList()); + BigDecimal row49All = row49.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row49.add(row49All.toString()); + dailyReportAppVo.setRow49(row49); + + //金融未放款-数量-已信审终审 + List row50 = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_counts())).collect(Collectors.toList()); + BigDecimal row50All = row50.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row50.add(row50All.toString()); + dailyReportAppVo.setRow50(row50); + //金融未放款-金额-已信审终审 + List row51 = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_amounts())).collect(Collectors.toList()); + BigDecimal row51All = row51.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row51.add(row51All.toString()); + dailyReportAppVo.setRow51(row51); + long endTime = System.currentTimeMillis(); // 记录结束时间 + long duration = endTime - startTime; // 计算耗时 + log.info("集团事业部合集日报表接口耗时 {} ms", duration); // 输出日志 + return rb.success().setData(dailyReportAppVo); + } + + + public ResultBean list3_old(String date, String busOrgSid) { + ResultBean rb = ResultBean.fireFail(); + DailyReportAppVo dailyReportAppVo = new DailyReportAppVo(); + List rows1 = baseMapper.list3(date, busOrgSid); + dailyReportAppVo.setTitle("事业部(分公司)" + date + "日报"); + rows1.removeAll(Collections.singleton(null)); + dailyReportAppVo.setRow1(rows1); + List dailyReportVoList = baseMapper.selectReport3(date, busOrgSid); + /*//存销比 + List row4 = dailyReportVoList.stream().map(v -> v.getSaleOfStockRatio()).collect(Collectors.toList()); + //合计 + BigDecimal row4All = row4.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row4.add(row4All.toString()); + dailyReportAppVo.setRow4(row4);*/ + //存销比 + /*List row4 = dailyReportVoList.stream().map(v -> + v.getSaleOfStockRatio().contains(".") ? dicimalToFraction(Double.valueOf(v.getSaleOfStockRatio())) : (v.getSaleOfStockRatio() + ":1") + ).collect(Collectors.toList()); + //合计 + BigDecimal row4All = dailyReportVoList.stream().map(v -> + v.getSaleOfStockRatio() + ).collect(Collectors.toList()).stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + String row4alll = row4All.toString().contains(".") ? dicimalToFraction(Double.valueOf(row4All.toString())) : (row4All.toString() + ":1"); + row4.add(row4alll); + dailyReportAppVo.setRow4(row4);*/ + /*List row4 = dailyReportVoList.stream().map(v -> + v.getSaleOfStockRatio() + ":1" + ).collect(Collectors.toList()); + BigDecimal row4All = dailyReportVoList.stream().map(v -> + v.getSaleOfStockRatio() + ).collect(Collectors.toList()).stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + String row4alll = row4All.toString() + ":1"; + row4.add(row4alll); + dailyReportAppVo.setRow4(row4);*/ + List row4 = dailyReportVoList.stream().map(v -> { + 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"; + } + } + return saleOfStockRatio; + }).collect(Collectors.toList()); + 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 row5 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_total())).collect(Collectors.toList()); + BigDecimal row5All = row5.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row5.add(row5All.toString()); + dailyReportAppVo.setRow5(row5); + //库存未定 + List row6 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_unreserve())).collect(Collectors.toList()); + BigDecimal row6All = row6.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row6.add(row6All.toString()); + dailyReportAppVo.setRow6(row6); + //库存-已定 + List row7 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_reserve())).collect(Collectors.toList()); + BigDecimal row7All = row7.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row7.add(row7All.toString()); + dailyReportAppVo.setRow7(row7); + //库存-小计 + List row8 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_subtotal())).collect(Collectors.toList()); + BigDecimal row8All = row8.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row8.add(row8All.toString()); + dailyReportAppVo.setRow8(row8); + //其中买断-未定 + List row9 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_unreserve())).collect(Collectors.toList()); + BigDecimal row9All = row9.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row9.add(row9All.toString()); + dailyReportAppVo.setRow9(row9); + //其中买断-已定 + List row10 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_reserve())).collect(Collectors.toList()); + BigDecimal row10All = row10.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row10.add(row10All.toString()); + dailyReportAppVo.setRow10(row10); + //其中买断-小计 + List row11 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_subtotal())).collect(Collectors.toList()); + BigDecimal row11All = row11.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row11.add(row11All.toString()); + dailyReportAppVo.setRow11(row11); + //排产-未定 + List row12 = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_unreserve())).collect(Collectors.toList()); + BigDecimal row12All = row12.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row12.add(row12All.toString()); + dailyReportAppVo.setRow12(row12); + //排产-已定 + List row13 = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_reserve())).collect(Collectors.toList()); + BigDecimal row13All = row13.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row13.add(row13All.toString()); + dailyReportAppVo.setRow13(row13); + //排产-小计 + List row14 = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_subtotal())).collect(Collectors.toList()); + BigDecimal row14All = row14.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row14.add(row14All.toString()); + dailyReportAppVo.setRow14(row14); + //订车-简易订单-本日 + List row15 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSimpleOrder_day())).collect(Collectors.toList()); + BigDecimal row15All = row15.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row15.add(row15All.toString()); + dailyReportAppVo.setRow15(row15); + //订车-简易订单-本月 + List row16 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSimpleOrder_month())).collect(Collectors.toList()); + BigDecimal row16All = row16.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row16.add(row16All.toString()); + dailyReportAppVo.setRow16(row16); + //订车-本日销售订单-贷款 + List row17 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_loan_day())).collect(Collectors.toList()); + BigDecimal row17All = row17.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row17.add(row17All.toString()); + dailyReportAppVo.setRow17(row17); + //订车-本日销售订单-全款 + List row18 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_full_day())).collect(Collectors.toList()); + BigDecimal row18All = row18.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row18.add(row18All.toString()); + dailyReportAppVo.setRow18(row18); + //订车-本日销售订单-小计 + List row19 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_subtotal_day())).collect(Collectors.toList()); + BigDecimal row19All = row19.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row19.add(row19All.toString()); + dailyReportAppVo.setRow19(row19); + //订车-本月销售订单-贷款 + List row20 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_loan_month())).collect(Collectors.toList()); + BigDecimal row20All = row20.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row20.add(row20All.toString()); + dailyReportAppVo.setRow20(row20); + //订车-本月销售订单-全款 + List row21 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_full_month())).collect(Collectors.toList()); + BigDecimal row21All = row21.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row21.add(row21All.toString()); + dailyReportAppVo.setRow21(row21); + //订车-本月销售订单-小计 + List row22 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_subtotal_month())).collect(Collectors.toList()); + BigDecimal row22All = row22.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row22.add(row22All.toString()); + dailyReportAppVo.setRow22(row22); + //订车-待交车累计总订单 + List row23 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_waitVeh_total())).collect(Collectors.toList()); + BigDecimal row23All = row23.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row23.add(row23All.toString()); + dailyReportAppVo.setRow23(row23); + //销售-本日销售-贷款 + List row24 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_loan_day())).collect(Collectors.toList()); + BigDecimal row24All = row24.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row24.add(row24All.toString()); + dailyReportAppVo.setRow24(row24); + //销售-本日销售-全款 + List row25 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_full_day())).collect(Collectors.toList()); + BigDecimal row25All = row25.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row25.add(row25All.toString()); + dailyReportAppVo.setRow25(row25); + //销售-本日销售-小计 + List row26 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_subtotal_day())).collect(Collectors.toList()); + BigDecimal row26All = row26.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row26.add(row26All.toString()); + dailyReportAppVo.setRow26(row26); + //销售-本月销售-贷款 + List row27 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_loan_month())).collect(Collectors.toList()); + BigDecimal row27All = row27.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row27.add(row27All.toString()); + dailyReportAppVo.setRow27(row27); + //销售-本月销售-全款 + List row28 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_full_month())).collect(Collectors.toList()); + BigDecimal row28All = row28.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row28.add(row28All.toString()); + dailyReportAppVo.setRow28(row28); + //销售-本月销售-小计 + List row29 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_subtotal_month())).collect(Collectors.toList()); + BigDecimal row29All = row29.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row29.add(row29All.toString()); + dailyReportAppVo.setRow29(row29); + //销售-全年销售-贷款 + List row30 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_loan_year())).collect(Collectors.toList()); + BigDecimal row30All = row30.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row30.add(row30All.toString()); + dailyReportAppVo.setRow30(row30); + //销售-全年销售-全款 + List row31 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_full_year())).collect(Collectors.toList()); + BigDecimal row31All = row31.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row31.add(row31All.toString()); + dailyReportAppVo.setRow31(row31); + //销售-全年销售-小计 + List row32 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_subtotal_year())).collect(Collectors.toList()); + BigDecimal row32All = row32.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row32.add(row32All.toString()); + dailyReportAppVo.setRow32(row32); + //交付-本日交付-贷款 + List row33 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_loan_day())).collect(Collectors.toList()); + BigDecimal row33All = row33.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row33.add(row33All.toString()); + dailyReportAppVo.setRow33(row33); + //交付-本日交付-全款 + List row34 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_full_day())).collect(Collectors.toList()); + BigDecimal row34All = row34.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row34.add(row34All.toString()); + dailyReportAppVo.setRow34(row34); + //交付-本日交付-小计 + List row35 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_day())).collect(Collectors.toList()); + BigDecimal row35All = row35.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row35.add(row35All.toString()); + dailyReportAppVo.setRow35(row35); + //交付-本月交付-贷款 + List row36 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_loan_month())).collect(Collectors.toList()); + BigDecimal row36All = row36.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row36.add(row36All.toString()); + dailyReportAppVo.setRow36(row36); + //交付-本月交付-全款 + List row37 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_full_month())).collect(Collectors.toList()); + BigDecimal row37All = row37.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row37.add(row37All.toString()); + dailyReportAppVo.setRow37(row37); + //交付-本月交付-小计 + List row38 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_month())).collect(Collectors.toList()); + BigDecimal row38All = row38.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row38.add(row38All.toString()); + dailyReportAppVo.setRow38(row38); + //交付-全年交付-贷款 + List row39 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_loan_year())).collect(Collectors.toList()); + BigDecimal row39All = row39.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row39.add(row39All.toString()); + dailyReportAppVo.setRow39(row39); + //交付-全年交付-全款 + List row40 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_full_year())).collect(Collectors.toList()); + BigDecimal row40All = row40.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row40.add(row40All.toString()); + dailyReportAppVo.setRow40(row40); + //交付-全年交付-小计 + List row41 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_year())).collect(Collectors.toList()); + BigDecimal row41All = row41.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row41.add(row41All.toString()); + dailyReportAppVo.setRow41(row41); + //全年厂家开票数 + List row42 = dailyReportVoList.stream().map(v -> String.valueOf(v.getManufacturer_invoicing_year())).collect(Collectors.toList()); + BigDecimal row42All = row42.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row42.add(row42All.toString()); + dailyReportAppVo.setRow42(row42); + //买断-本日 + List row43 = dailyReportVoList.stream().map(v -> String.valueOf(v.getBuyout_day())).collect(Collectors.toList()); + BigDecimal row43All = row43.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row43.add(row43All.toString()); + dailyReportAppVo.setRow43(row43); + //买断-本月 + List row44 = dailyReportVoList.stream().map(v -> String.valueOf(v.getBuyout_month())).collect(Collectors.toList()); + BigDecimal row44All = row44.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row44.add(row44All.toString()); + dailyReportAppVo.setRow44(row44); + //买断-本年 + List row45 = dailyReportVoList.stream().map(v -> String.valueOf(v.getBuyout_year())).collect(Collectors.toList()); + BigDecimal row45All = row45.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row45.add(row45All.toString()); + dailyReportAppVo.setRow45(row45); + //欠款出库数量 + List row46 = dailyReportVoList.stream().map(v -> String.valueOf(v.getArrears_carry_veh_count())).collect(Collectors.toList()); + BigDecimal row46All = row46.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row46.add(row46All.toString()); + dailyReportAppVo.setRow46(row46); + //欠款出库金额 + List row47 = dailyReportVoList.stream().map(v -> String.valueOf(v.getArrears_carry_veh_amount())).collect(Collectors.toList()); + BigDecimal row47All = row47.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row47.add(row47All.toString()); + dailyReportAppVo.setRow47(row47); + //金融未放款-数量 + List row48 = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_count())).collect(Collectors.toList()); + BigDecimal row48All = row48.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row48.add(row48All.toString()); + dailyReportAppVo.setRow48(row48); + //金融未放款-金额 + List row49 = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_amount())).collect(Collectors.toList()); + BigDecimal row49All = row49.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row49.add(row49All.toString()); + dailyReportAppVo.setRow49(row49); + //金融未放款-数量-已信审终审 + List row50 = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_counts())).collect(Collectors.toList()); + BigDecimal row50All = row50.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row50.add(row50All.toString()); + dailyReportAppVo.setRow50(row50); + //金融未放款-金额-已信审终审 + List row51 = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_amounts())).collect(Collectors.toList()); + BigDecimal row51All = row51.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row51.add(row51All.toString()); + dailyReportAppVo.setRow51(row51); + return rb.success().setData(dailyReportAppVo); + } + + public ResultBean list3(String date, String busOrgSid) { + long startTime = System.currentTimeMillis(); // 记录开始时间 + ResultBean rb = ResultBean.fireFail(); + DailyReportAppVo dailyReportAppVo = new DailyReportAppVo(); + String startDate = date + " 00:00:00"; + String endDate = date + " 23:59:59"; + List rows1 = baseMapper.list3New(startDate, endDate, busOrgSid); + dailyReportAppVo.setTitle("事业部(分公司)" + date + "日报"); + rows1.removeAll(Collections.singleton(null)); + dailyReportAppVo.setRow1(rows1); + List dailyReportVoList = baseMapper.selectReport3New(startDate, endDate, busOrgSid); + List row4 = dailyReportVoList.stream().map(v -> { + 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"; + } + } + return saleOfStockRatio; + }).collect(Collectors.toList()); + 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 row5 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_total())).collect(Collectors.toList()); + BigDecimal row5All = row5.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row5.add(row5All.toString()); + dailyReportAppVo.setRow5(row5); + //库存未定 + List row6 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_unreserve())).collect(Collectors.toList()); + BigDecimal row6All = row6.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row6.add(row6All.toString()); + dailyReportAppVo.setRow6(row6); + //库存-已定 + List row7 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_reserve())).collect(Collectors.toList()); + BigDecimal row7All = row7.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row7.add(row7All.toString()); + dailyReportAppVo.setRow7(row7); + //库存-小计 + List row8 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_subtotal())).collect(Collectors.toList()); + BigDecimal row8All = row8.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row8.add(row8All.toString()); + dailyReportAppVo.setRow8(row8); + //其中买断-未定 + List row9 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_unreserve())).collect(Collectors.toList()); + BigDecimal row9All = row9.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row9.add(row9All.toString()); + dailyReportAppVo.setRow9(row9); + //其中买断-已定 + List row10 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_reserve())).collect(Collectors.toList()); + BigDecimal row10All = row10.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row10.add(row10All.toString()); + dailyReportAppVo.setRow10(row10); + //其中买断-小计 + List row11 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_subtotal())).collect(Collectors.toList()); + BigDecimal row11All = row11.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row11.add(row11All.toString()); + dailyReportAppVo.setRow11(row11); + //排产-未定 + List row12 = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_unreserve())).collect(Collectors.toList()); + BigDecimal row12All = row12.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row12.add(row12All.toString()); + dailyReportAppVo.setRow12(row12); + //排产-已定 + List row13 = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_reserve())).collect(Collectors.toList()); + BigDecimal row13All = row13.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row13.add(row13All.toString()); + dailyReportAppVo.setRow13(row13); + //排产-小计 + List row14 = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_subtotal())).collect(Collectors.toList()); + BigDecimal row14All = row14.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row14.add(row14All.toString()); + dailyReportAppVo.setRow14(row14); + //订车-简易订单-本日 + List row15 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSimpleOrder_day())).collect(Collectors.toList()); + BigDecimal row15All = row15.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row15.add(row15All.toString()); + dailyReportAppVo.setRow15(row15); + //订车-简易订单-本月 + List row16 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSimpleOrder_month())).collect(Collectors.toList()); + BigDecimal row16All = row16.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row16.add(row16All.toString()); + dailyReportAppVo.setRow16(row16); + //订车-本日销售订单-贷款 + List row17 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_loan_day())).collect(Collectors.toList()); + BigDecimal row17All = row17.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row17.add(row17All.toString()); + dailyReportAppVo.setRow17(row17); + //订车-本日销售订单-全款 + List row18 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_full_day())).collect(Collectors.toList()); + BigDecimal row18All = row18.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row18.add(row18All.toString()); + dailyReportAppVo.setRow18(row18); + //订车-本日销售订单-小计 + List row19 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_subtotal_day())).collect(Collectors.toList()); + BigDecimal row19All = row19.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row19.add(row19All.toString()); + dailyReportAppVo.setRow19(row19); + //订车-本月销售订单-贷款 + List row20 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_loan_month())).collect(Collectors.toList()); + BigDecimal row20All = row20.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row20.add(row20All.toString()); + dailyReportAppVo.setRow20(row20); + //订车-本月销售订单-全款 + List row21 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_full_month())).collect(Collectors.toList()); + BigDecimal row21All = row21.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row21.add(row21All.toString()); + dailyReportAppVo.setRow21(row21); + //订车-本月销售订单-小计 + List row22 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_subtotal_month())).collect(Collectors.toList()); + BigDecimal row22All = row22.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row22.add(row22All.toString()); + dailyReportAppVo.setRow22(row22); + //订车-待交车累计总订单 + List row23 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_waitVeh_total())).collect(Collectors.toList()); + BigDecimal row23All = row23.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row23.add(row23All.toString()); + dailyReportAppVo.setRow23(row23); + //销售-本日销售-贷款 + List row24 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_loan_day())).collect(Collectors.toList()); + BigDecimal row24All = row24.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row24.add(row24All.toString()); + dailyReportAppVo.setRow24(row24); + //销售-本日销售-全款 + List row25 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_full_day())).collect(Collectors.toList()); + BigDecimal row25All = row25.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row25.add(row25All.toString()); + dailyReportAppVo.setRow25(row25); + //销售-本日销售-小计 + List row26 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_subtotal_day())).collect(Collectors.toList()); + BigDecimal row26All = row26.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row26.add(row26All.toString()); + dailyReportAppVo.setRow26(row26); + //销售-本月销售-贷款 + List row27 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_loan_month())).collect(Collectors.toList()); + BigDecimal row27All = row27.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row27.add(row27All.toString()); + dailyReportAppVo.setRow27(row27); + //销售-本月销售-全款 + List row28 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_full_month())).collect(Collectors.toList()); + BigDecimal row28All = row28.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row28.add(row28All.toString()); + dailyReportAppVo.setRow28(row28); + //销售-本月销售-小计 + List row29 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_subtotal_month())).collect(Collectors.toList()); + BigDecimal row29All = row29.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row29.add(row29All.toString()); + dailyReportAppVo.setRow29(row29); + //销售-全年销售-贷款 + List row30 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_loan_year())).collect(Collectors.toList()); + BigDecimal row30All = row30.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row30.add(row30All.toString()); + dailyReportAppVo.setRow30(row30); + //销售-全年销售-全款 + List row31 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_full_year())).collect(Collectors.toList()); + BigDecimal row31All = row31.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row31.add(row31All.toString()); + dailyReportAppVo.setRow31(row31); + //销售-全年销售-小计 + List row32 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_subtotal_year())).collect(Collectors.toList()); + BigDecimal row32All = row32.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row32.add(row32All.toString()); + dailyReportAppVo.setRow32(row32); + //交付-本日交付-贷款 + List row33 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_loan_day())).collect(Collectors.toList()); + BigDecimal row33All = row33.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row33.add(row33All.toString()); + dailyReportAppVo.setRow33(row33); + //交付-本日交付-全款 + List row34 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_full_day())).collect(Collectors.toList()); + BigDecimal row34All = row34.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row34.add(row34All.toString()); + dailyReportAppVo.setRow34(row34); + //交付-本日交付-小计 + List row35 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_day())).collect(Collectors.toList()); + BigDecimal row35All = row35.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row35.add(row35All.toString()); + dailyReportAppVo.setRow35(row35); + //交付-本月交付-贷款 + List row36 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_loan_month())).collect(Collectors.toList()); + BigDecimal row36All = row36.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row36.add(row36All.toString()); + dailyReportAppVo.setRow36(row36); + //交付-本月交付-全款 + List row37 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_full_month())).collect(Collectors.toList()); + BigDecimal row37All = row37.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row37.add(row37All.toString()); + dailyReportAppVo.setRow37(row37); + //交付-本月交付-小计 + List row38 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_month())).collect(Collectors.toList()); + BigDecimal row38All = row38.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row38.add(row38All.toString()); + dailyReportAppVo.setRow38(row38); + //交付-全年交付-贷款 + List row39 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_loan_year())).collect(Collectors.toList()); + BigDecimal row39All = row39.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row39.add(row39All.toString()); + dailyReportAppVo.setRow39(row39); + //交付-全年交付-全款 + List row40 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_full_year())).collect(Collectors.toList()); + BigDecimal row40All = row40.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row40.add(row40All.toString()); + dailyReportAppVo.setRow40(row40); + //交付-全年交付-小计 + List row41 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_year())).collect(Collectors.toList()); + BigDecimal row41All = row41.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row41.add(row41All.toString()); + dailyReportAppVo.setRow41(row41); + //全年厂家开票数 + List row42 = dailyReportVoList.stream().map(v -> String.valueOf(v.getManufacturer_invoicing_year())).collect(Collectors.toList()); + BigDecimal row42All = row42.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row42.add(row42All.toString()); + dailyReportAppVo.setRow42(row42); + //买断-本日 + List row43 = dailyReportVoList.stream().map(v -> String.valueOf(v.getBuyout_day())).collect(Collectors.toList()); + BigDecimal row43All = row43.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row43.add(row43All.toString()); + dailyReportAppVo.setRow43(row43); + //买断-本月 + List row44 = dailyReportVoList.stream().map(v -> String.valueOf(v.getBuyout_month())).collect(Collectors.toList()); + BigDecimal row44All = row44.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row44.add(row44All.toString()); + dailyReportAppVo.setRow44(row44); + //买断-本年 + List row45 = dailyReportVoList.stream().map(v -> String.valueOf(v.getBuyout_year())).collect(Collectors.toList()); + BigDecimal row45All = row45.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row45.add(row45All.toString()); + dailyReportAppVo.setRow45(row45); + //欠款出库数量 + List row46 = dailyReportVoList.stream().map(v -> String.valueOf(v.getArrears_carry_veh_count())).collect(Collectors.toList()); + BigDecimal row46All = row46.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row46.add(row46All.toString()); + dailyReportAppVo.setRow46(row46); + //欠款出库金额 + List row47 = dailyReportVoList.stream().map(v -> String.valueOf(v.getArrears_carry_veh_amount())).collect(Collectors.toList()); + BigDecimal row47All = row47.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row47.add(row47All.toString()); + dailyReportAppVo.setRow47(row47); + //金融未放款-数量 + List row48 = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_count())).collect(Collectors.toList()); + BigDecimal row48All = row48.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row48.add(row48All.toString()); + dailyReportAppVo.setRow48(row48); + //金融未放款-金额 + List row49 = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_amount())).collect(Collectors.toList()); + BigDecimal row49All = row49.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row49.add(row49All.toString()); + dailyReportAppVo.setRow49(row49); + //金融未放款-数量-已信审终审 + List row50 = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_counts())).collect(Collectors.toList()); + BigDecimal row50All = row50.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row50.add(row50All.toString()); + dailyReportAppVo.setRow50(row50); + //金融未放款-金额-已信审终审 + List row51 = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_amounts())).collect(Collectors.toList()); + BigDecimal row51All = row51.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row51.add(row51All.toString()); + dailyReportAppVo.setRow51(row51); + long endTime = System.currentTimeMillis(); // 记录结束时间 + long duration = endTime - startTime; // 计算耗时 + log.info("事业部分公司接口耗时 {} ms", duration); // 输出日志 + return rb.success().setData(dailyReportAppVo); + } + + public ResultBean list4Old(String date, String useOrgSid) { + ResultBean rb = ResultBean.fireFail(); + QueryWrapper qw = new QueryWrapper<>(); + DailyReportAppVo dailyReportAppVo = new DailyReportAppVo(); + 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)); + 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); + //存销比 + /*List row4 = dailyReportVoList.stream().map(v -> + v.getSaleOfStockRatio().contains(".") ? dicimalToFraction(Double.valueOf(v.getSaleOfStockRatio())) : (v.getSaleOfStockRatio() + ":1") + ).collect(Collectors.toList()); + //合计 + BigDecimal row4All = dailyReportVoList.stream().map(v -> + v.getSaleOfStockRatio() + ).collect(Collectors.toList()).stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + String row4alll = row4All.toString().contains(".") ? dicimalToFraction(Double.valueOf(row4All.toString())) : (row4All.toString() + ":1"); + row4.add(row4alll); + dailyReportAppVo.setRow4(row4);*/ + /* List row4 = dailyReportVoList.stream().map(v -> + v.getSaleOfStockRatio() + ":1" + ).collect(Collectors.toList()); + BigDecimal row4All = dailyReportVoList.stream().map(v -> + v.getSaleOfStockRatio() + ).collect(Collectors.toList()).stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + String row4alll = row4All.toString() + ":1"; + row4.add(row4alll); + dailyReportAppVo.setRow4(row4);*/ + List row4 = dailyReportVoList.stream().map(v -> { + 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"; + } + } + return saleOfStockRatio; + }).collect(Collectors.toList()); + 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 row5 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_total())).collect(Collectors.toList()); + BigDecimal row5All = row5.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row5.add(row5All.toString()); + dailyReportAppVo.setRow5(row5); + //库存未定 + List row6 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_unreserve())).collect(Collectors.toList()); + BigDecimal row6All = row6.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row6.add(row6All.toString()); + dailyReportAppVo.setRow6(row6); + //库存-已定 + List row7 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_reserve())).collect(Collectors.toList()); + BigDecimal row7All = row7.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row7.add(row7All.toString()); + dailyReportAppVo.setRow7(row7); + //库存-小计 + List row8 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_subtotal())).collect(Collectors.toList()); + BigDecimal row8All = row8.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row8.add(row8All.toString()); + dailyReportAppVo.setRow8(row8); + //其中买断-未定 + List row9 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_unreserve())).collect(Collectors.toList()); + BigDecimal row9All = row9.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row9.add(row9All.toString()); + dailyReportAppVo.setRow9(row9); + //其中买断-已定 + List row10 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_reserve())).collect(Collectors.toList()); + BigDecimal row10All = row10.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row10.add(row10All.toString()); + dailyReportAppVo.setRow10(row10); + //其中买断-小计 + List row11 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_subtotal())).collect(Collectors.toList()); + BigDecimal row11All = row11.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row11.add(row11All.toString()); + dailyReportAppVo.setRow11(row11); + //排产-未定 + List row12 = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_unreserve())).collect(Collectors.toList()); + BigDecimal row12All = row12.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row12.add(row12All.toString()); + dailyReportAppVo.setRow12(row12); + //排产-已定 + List row13 = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_reserve())).collect(Collectors.toList()); + BigDecimal row13All = row13.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row13.add(row13All.toString()); + dailyReportAppVo.setRow13(row13); + //排产-小计 + List row14 = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_subtotal())).collect(Collectors.toList()); + BigDecimal row14All = row14.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row14.add(row14All.toString()); + dailyReportAppVo.setRow14(row14); + //订车-简易订单-本日 + List row15 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSimpleOrder_day())).collect(Collectors.toList()); + BigDecimal row15All = row15.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row15.add(row15All.toString()); + dailyReportAppVo.setRow15(row15); + //订车-简易订单-本月 + List row16 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSimpleOrder_month())).collect(Collectors.toList()); + BigDecimal row16All = row16.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row16.add(row16All.toString()); + dailyReportAppVo.setRow16(row16); + //订车-本日销售订单-贷款 + List row17 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_loan_day())).collect(Collectors.toList()); + BigDecimal row17All = row17.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row17.add(row17All.toString()); + dailyReportAppVo.setRow17(row17); + //订车-本日销售订单-全款 + List row18 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_full_day())).collect(Collectors.toList()); + BigDecimal row18All = row18.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row18.add(row18All.toString()); + dailyReportAppVo.setRow18(row18); + //订车-本日销售订单-小计 + List row19 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_subtotal_day())).collect(Collectors.toList()); + BigDecimal row19All = row19.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row19.add(row19All.toString()); + dailyReportAppVo.setRow19(row19); + //订车-本月销售订单-贷款 + List row20 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_loan_month())).collect(Collectors.toList()); + BigDecimal row20All = row20.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row20.add(row20All.toString()); + dailyReportAppVo.setRow20(row20); + //订车-本月销售订单-全款 + List row21 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_full_month())).collect(Collectors.toList()); + BigDecimal row21All = row21.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row21.add(row21All.toString()); + dailyReportAppVo.setRow21(row21); + //订车-本月销售订单-小计 + List row22 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_subtotal_month())).collect(Collectors.toList()); + BigDecimal row22All = row22.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row22.add(row22All.toString()); + dailyReportAppVo.setRow22(row22); + //订车-待交车累计总订单 + List row23 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_waitVeh_total())).collect(Collectors.toList()); + BigDecimal row23All = row23.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row23.add(row23All.toString()); + dailyReportAppVo.setRow23(row23); + //销售-本日销售-贷款 + List row24 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_loan_day())).collect(Collectors.toList()); + BigDecimal row24All = row24.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row24.add(row24All.toString()); + dailyReportAppVo.setRow24(row24); + //销售-本日销售-全款 + List row25 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_full_day())).collect(Collectors.toList()); + BigDecimal row25All = row25.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row25.add(row25All.toString()); + dailyReportAppVo.setRow25(row25); + //销售-本日销售-小计 + List row26 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_subtotal_day())).collect(Collectors.toList()); + BigDecimal row26All = row26.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row26.add(row26All.toString()); + dailyReportAppVo.setRow26(row26); + //销售-本月销售-贷款 + List row27 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_loan_month())).collect(Collectors.toList()); + BigDecimal row27All = row27.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row27.add(row27All.toString()); + dailyReportAppVo.setRow27(row27); + //销售-本月销售-全款 + List row28 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_full_month())).collect(Collectors.toList()); + BigDecimal row28All = row28.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row28.add(row28All.toString()); + dailyReportAppVo.setRow28(row28); + //销售-本月销售-小计 + List row29 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_subtotal_month())).collect(Collectors.toList()); + BigDecimal row29All = row29.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row29.add(row29All.toString()); + dailyReportAppVo.setRow29(row29); + //销售-全年销售-贷款 + List row30 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_loan_year())).collect(Collectors.toList()); + BigDecimal row30All = row30.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row30.add(row30All.toString()); + dailyReportAppVo.setRow30(row30); + //销售-全年销售-全款 + List row31 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_full_year())).collect(Collectors.toList()); + BigDecimal row31All = row31.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row31.add(row31All.toString()); + dailyReportAppVo.setRow31(row31); + //销售-全年销售-小计 + List row32 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_subtotal_year())).collect(Collectors.toList()); + BigDecimal row32All = row32.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row32.add(row32All.toString()); + dailyReportAppVo.setRow32(row32); + //交付-本日交付-贷款 + List row33 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_loan_day())).collect(Collectors.toList()); + BigDecimal row33All = row33.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row33.add(row33All.toString()); + dailyReportAppVo.setRow33(row33); + //交付-本日交付-全款 + List row34 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_full_day())).collect(Collectors.toList()); + BigDecimal row34All = row34.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row34.add(row34All.toString()); + dailyReportAppVo.setRow34(row34); + //交付-本日交付-小计 + List row35 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_day())).collect(Collectors.toList()); + BigDecimal row35All = row35.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row35.add(row35All.toString()); + dailyReportAppVo.setRow35(row35); + //交付-本月交付-贷款 + List row36 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_loan_month())).collect(Collectors.toList()); + BigDecimal row36All = row36.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row36.add(row36All.toString()); + dailyReportAppVo.setRow36(row36); + //交付-本月交付-全款 + List row37 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_full_month())).collect(Collectors.toList()); + BigDecimal row37All = row37.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row37.add(row37All.toString()); + dailyReportAppVo.setRow37(row37); + //交付-本月交付-小计 + List row38 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_month())).collect(Collectors.toList()); + BigDecimal row38All = row38.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row38.add(row38All.toString()); + dailyReportAppVo.setRow38(row38); + //交付-全年交付-贷款 + List row39 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_loan_year())).collect(Collectors.toList()); + BigDecimal row39All = row39.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row39.add(row39All.toString()); + dailyReportAppVo.setRow39(row39); + //交付-全年交付-全款 + List row40 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_full_year())).collect(Collectors.toList()); + BigDecimal row40All = row40.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row40.add(row40All.toString()); + dailyReportAppVo.setRow40(row40); + //交付-全年交付-小计 + List row41 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_year())).collect(Collectors.toList()); + BigDecimal row41All = row41.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row41.add(row41All.toString()); + dailyReportAppVo.setRow41(row41); + //全年厂家开票数 + List row42 = dailyReportVoList.stream().map(v -> String.valueOf(v.getManufacturer_invoicing_year())).collect(Collectors.toList()); + BigDecimal row42All = row42.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row42.add(row42All.toString()); + dailyReportAppVo.setRow42(row42); + //买断-本日 + List row43 = dailyReportVoList.stream().map(v -> String.valueOf(v.getBuyout_day())).collect(Collectors.toList()); + BigDecimal row43All = row43.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row43.add(row43All.toString()); + dailyReportAppVo.setRow43(row43); + //买断-本月 + List row44 = dailyReportVoList.stream().map(v -> String.valueOf(v.getBuyout_month())).collect(Collectors.toList()); + BigDecimal row44All = row44.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row44.add(row44All.toString()); + dailyReportAppVo.setRow44(row44); + //买断-本年 + List row45 = dailyReportVoList.stream().map(v -> String.valueOf(v.getBuyout_year())).collect(Collectors.toList()); + BigDecimal row45All = row45.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row45.add(row45All.toString()); + dailyReportAppVo.setRow45(row45); + //欠款出库数量 + List row46 = dailyReportVoList.stream().map(v -> String.valueOf(v.getArrears_carry_veh_count())).collect(Collectors.toList()); + BigDecimal row46All = row46.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row46.add(row46All.toString()); + dailyReportAppVo.setRow46(row46); + //欠款出库金额 + List row47 = dailyReportVoList.stream().map(v -> String.valueOf(v.getArrears_carry_veh_amount())).collect(Collectors.toList()); + BigDecimal row47All = row47.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row47.add(row47All.toString()); + dailyReportAppVo.setRow47(row47); + //金融未放款-数量 + List row48 = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_count())).collect(Collectors.toList()); + BigDecimal row48All = row48.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row48.add(row48All.toString()); + dailyReportAppVo.setRow48(row48); + //金融未放款-金额 + List row49 = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_amount())).collect(Collectors.toList()); + BigDecimal row49All = row49.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row49.add(row49All.toString()); + dailyReportAppVo.setRow49(row49); + //金融未放款-数量-已信审终审 + List row50 = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_counts())).collect(Collectors.toList()); + BigDecimal row50All = row50.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row50.add(row50All.toString()); + dailyReportAppVo.setRow50(row50); + //金融未放款-金额-已信审终审 + List row51 = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_amounts())).collect(Collectors.toList()); + BigDecimal row51All = row51.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + row51.add(row51All.toString()); + dailyReportAppVo.setRow51(row51); + List dynamicRows = new ArrayList<>(); + + + /*List parameterVoList = baseMapper.selectByParameters(useOrgSid); + parameterVoList.removeAll(Collections.singleton(null));*/ + 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 ResultBean list4New(String date, String useOrgSid) { + long startTime = System.currentTimeMillis(); // 记录开始时间 + ResultBean rb = ResultBean.fireFail(); + QueryWrapper qw = new QueryWrapper<>(); + DailyReportAppBrandVo dailyReportAppVo = new DailyReportAppBrandVo(); + dailyReportAppVo.setTitle("分公司" + date + "日报"); + String startDate = date + " 00:00:00"; + String endDate = date + " 23:59:59"; + qw.between("ddr.createTime", startDate,endDate); + 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.selectByBrand2New(useOrgSid, startDate,endDate, 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.between("dr.createTime", startDate,endDate); + 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.selectReport4New(qw); + //排放标准 + 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 = ""; @@ -2068,246 +3959,244 @@ public class DailyReportService extends MybatisBaseService row5 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_total())).collect(Collectors.toList()); - BigDecimal row5All = row5.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + //库存总计-合计 + 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 row6 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_unreserve())).collect(Collectors.toList()); - BigDecimal row6All = row6.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + //库存未定-合计 + 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 row7 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_reserve())).collect(Collectors.toList()); - BigDecimal row7All = row7.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + //库存-已定-合计 + 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 row8 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_subtotal())).collect(Collectors.toList()); - BigDecimal row8All = row8.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + //库存-小计-合计 + 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 row9 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_unreserve())).collect(Collectors.toList()); - BigDecimal row9All = row9.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row10 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_reserve())).collect(Collectors.toList()); - BigDecimal row10All = row10.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row11 = dailyReportVoList.stream().map(v -> String.valueOf(v.getStock_buyout_subtotal())).collect(Collectors.toList()); - BigDecimal row11All = row11.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row12 = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_unreserve())).collect(Collectors.toList()); - BigDecimal row12All = row12.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row13 = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_reserve())).collect(Collectors.toList()); - BigDecimal row13All = row13.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row14 = dailyReportVoList.stream().map(v -> String.valueOf(v.getPcOrder_subtotal())).collect(Collectors.toList()); - BigDecimal row14All = row14.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row15 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSimpleOrder_day())).collect(Collectors.toList()); - BigDecimal row15All = row15.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row16 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSimpleOrder_month())).collect(Collectors.toList()); - BigDecimal row16All = row16.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row17 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_loan_day())).collect(Collectors.toList()); - BigDecimal row17All = row17.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row18 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_full_day())).collect(Collectors.toList()); - BigDecimal row18All = row18.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row19 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_subtotal_day())).collect(Collectors.toList()); - BigDecimal row19All = row19.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row20 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_loan_month())).collect(Collectors.toList()); - BigDecimal row20All = row20.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row21 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_full_month())).collect(Collectors.toList()); - BigDecimal row21All = row21.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row22 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_subtotal_month())).collect(Collectors.toList()); - BigDecimal row22All = row22.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row23 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSaleOrder_waitVeh_total())).collect(Collectors.toList()); - BigDecimal row23All = row23.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row24 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_loan_day())).collect(Collectors.toList()); - BigDecimal row24All = row24.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row25 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_full_day())).collect(Collectors.toList()); - BigDecimal row25All = row25.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row26 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_subtotal_day())).collect(Collectors.toList()); - BigDecimal row26All = row26.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row27 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_loan_month())).collect(Collectors.toList()); - BigDecimal row27All = row27.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row28 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_full_month())).collect(Collectors.toList()); - BigDecimal row28All = row28.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row29 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_subtotal_month())).collect(Collectors.toList()); - BigDecimal row29All = row29.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row30 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_loan_year())).collect(Collectors.toList()); - BigDecimal row30All = row30.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row31 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_full_year())).collect(Collectors.toList()); - BigDecimal row31All = row31.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row32 = dailyReportVoList.stream().map(v -> String.valueOf(v.getSale_subtotal_year())).collect(Collectors.toList()); - BigDecimal row32All = row32.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row33 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_loan_day())).collect(Collectors.toList()); - BigDecimal row33All = row33.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row34 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_full_day())).collect(Collectors.toList()); - BigDecimal row34All = row34.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row35 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_day())).collect(Collectors.toList()); - BigDecimal row35All = row35.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row36 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_loan_month())).collect(Collectors.toList()); - BigDecimal row36All = row36.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row37 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_full_month())).collect(Collectors.toList()); - BigDecimal row37All = row37.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row38 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_month())).collect(Collectors.toList()); - BigDecimal row38All = row38.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row39 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_loan_year())).collect(Collectors.toList()); - BigDecimal row39All = row39.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row40 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_full_year())).collect(Collectors.toList()); - BigDecimal row40All = row40.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row41 = dailyReportVoList.stream().map(v -> String.valueOf(v.getDeliver_subtotal_year())).collect(Collectors.toList()); - BigDecimal row41All = row41.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row42 = dailyReportVoList.stream().map(v -> String.valueOf(v.getManufacturer_invoicing_year())).collect(Collectors.toList()); - BigDecimal row42All = row42.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row43 = dailyReportVoList.stream().map(v -> String.valueOf(v.getBuyout_day())).collect(Collectors.toList()); - BigDecimal row43All = row43.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row44 = dailyReportVoList.stream().map(v -> String.valueOf(v.getBuyout_month())).collect(Collectors.toList()); - BigDecimal row44All = row44.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row45 = dailyReportVoList.stream().map(v -> String.valueOf(v.getBuyout_year())).collect(Collectors.toList()); - BigDecimal row45All = row45.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row46 = dailyReportVoList.stream().map(v -> String.valueOf(v.getArrears_carry_veh_count())).collect(Collectors.toList()); - BigDecimal row46All = row46.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row47 = dailyReportVoList.stream().map(v -> String.valueOf(v.getArrears_carry_veh_amount())).collect(Collectors.toList()); - BigDecimal row47All = row47.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row48 = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_count())).collect(Collectors.toList()); - BigDecimal row48All = row48.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row49 = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_amount())).collect(Collectors.toList()); - BigDecimal row49All = row49.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row50 = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_counts())).collect(Collectors.toList()); - BigDecimal row50All = row50.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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 row51 = dailyReportVoList.stream().map(v -> String.valueOf(v.getLoan_not_amounts())).collect(Collectors.toList()); - BigDecimal row51All = row51.stream().map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + 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<>(); - - /*List parameterVoList = baseMapper.selectByParameters(useOrgSid); - parameterVoList.removeAll(Collections.singleton(null));*/ int totalRowspan = 3; if (!parameterVoList.isEmpty()) { for (int i = 0; i < parameterVoList.size(); i++) { @@ -2393,10 +4282,13 @@ public class DailyReportService extends MybatisBaseService list4New(String date, String useOrgSid) { + public ResultBean list4New_old(String date, String useOrgSid) { ResultBean rb = ResultBean.fireFail(); QueryWrapper qw = new QueryWrapper<>(); DailyReportAppBrandVo dailyReportAppVo = new DailyReportAppBrandVo(); @@ -2499,13 +4391,13 @@ public class DailyReportService extends MybatisBaseService7){ + } else { + if (parameterVoList.size() > 7) { fuelTypeVo.setRowspan(String.valueOf(9)); - }else{ - fuelTypeVo.setRowspan(String.valueOf(2+parameterVoList.size())); + } else { + fuelTypeVo.setRowspan(String.valueOf(2 + parameterVoList.size())); } } row2.add(fuelTypeVo); @@ -3107,6 +4999,7 @@ public class DailyReportService extends MybatisBaseService getCommon(List parameterVoList, QueryWrapper qw) { if (!parameterVoList.isEmpty()) { for (int i = 0; i < parameterVoList.size(); i++) { @@ -3228,7 +5121,46 @@ public class DailyReportService extends MybatisBaseService pageList2_old(PagerQuery pagerQuery) { + DailyReportAppPagerQuery query = pagerQuery.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if (query != null) { + //查询事业部 + if (StringUtils.isNotBlank(query.getOrgPath())) { + List stringList = Arrays.asList(query.getOrgPath().split("/")); + String busOrgSid = query.getOrgPath().substring(37, 73); + qw.eq("busOrgSid", busOrgSid); + } + } + IPage page = PagerUtil.queryToPage(pagerQuery); + IPage pagging = baseMapper.pageList2(page, qw); + List recordList = pagging.getRecords(); + recordList.removeAll(Collections.singleton(null)); + if (!recordList.isEmpty()) { + for (int i = 0; i < recordList.size(); i++) { + DailyReportListVo dailyReportListVo = recordList.get(i); + String ratio = ""; + if (StringUtils.isBlank(dailyReportListVo.getSaleAllToThree())) { + ratio = dailyReportListVo.getStock_subtotal() + ":1"; + } else { + if ("0".equals(dailyReportListVo.getSaleAllToThree())) { + ratio = dailyReportListVo.getStock_subtotal() + ":1"; + } else { + ratio = new BigDecimal(dailyReportListVo.getStock_total()).divide((new BigDecimal(dailyReportListVo.getSaleAllToThree()).divide(new BigDecimal(3), 4, BigDecimal.ROUND_HALF_UP)), 0, BigDecimal.ROUND_HALF_UP).toString() + ":1"; + } + } + dailyReportListVo.setSaleOfStockRatio(ratio); + } + } + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + */ public PagerVo pageList2(PagerQuery pagerQuery) { + long startTime = System.currentTimeMillis(); // 记录开始时间 + PagerVo page = new PagerVo<>(); + long pageNum = pagerQuery.getCurrent(); + long pageSize = pagerQuery.getSize(); DailyReportAppPagerQuery query = pagerQuery.getParams(); QueryWrapper qw = new QueryWrapper<>(); if (query != null) { @@ -3239,9 +5171,10 @@ public class DailyReportService extends MybatisBaseService page = PagerUtil.queryToPage(pagerQuery); - IPage pagging = baseMapper.pageList2(page, qw); - List recordList = pagging.getRecords(); + Map map = new HashMap<>(); + map.put("page", (pageNum - 1) * pageSize); + map.put("size", pageSize); + List recordList = baseMapper.selectRecordList2(map, qw); recordList.removeAll(Collections.singleton(null)); if (!recordList.isEmpty()) { for (int i = 0; i < recordList.size(); i++) { @@ -3259,8 +5192,17 @@ public class DailyReportService extends MybatisBaseService p = PagerUtil.pageToVo(pagging, null); - return p; + int count = baseMapper.selectRecordCount(qw); + page.setRecords(recordList); + page.setCurrent(pageNum); + page.setSize(pageSize); + page.setTotal(count); + long pages = (count + pageSize - 1) / pageSize; + page.setPages(pages); + long endTime = System.currentTimeMillis(); // 记录结束时间 + long duration = endTime - startTime; // 计算耗时 + log.info("事业部日报列表接口耗时 {} ms", duration); // 输出日志 + return page; } public ResultBean getReport2(String date, String orgPath, String userSid) { @@ -3294,7 +5236,7 @@ public class DailyReportService extends MybatisBaseService pageList3(PagerQuery pagerQuery) { + public PagerVo pageList3_old(PagerQuery pagerQuery) { DailyReportAppPagerQuery query = pagerQuery.getParams(); QueryWrapper qw = new QueryWrapper<>(); if (query != null) { @@ -3329,6 +5271,55 @@ public class DailyReportService extends MybatisBaseService pageList3(PagerQuery pagerQuery) { + long startTime = System.currentTimeMillis(); // 记录开始时间 + PagerVo page = new PagerVo<>(); + long pageNum = pagerQuery.getCurrent(); + long pageSize = pagerQuery.getSize(); + DailyReportAppPagerQuery query = pagerQuery.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if (query != null) { + //查询分公司 + if (StringUtils.isNotBlank(query.getOrgPath())) { + List stringList = Arrays.asList(query.getOrgPath().split("/")); + String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(query.getOrgPath()).getData(); + qw.eq("useOrgSid", useOrgSid); + } + } + Map map = new HashMap<>(); + map.put("page", (pageNum - 1) * pageSize); + map.put("size", pageSize); + List recordList = baseMapper.selectRecordList2(map, qw); + recordList.removeAll(Collections.singleton(null)); + if (!recordList.isEmpty()) { + for (int i = 0; i < recordList.size(); i++) { + DailyReportListVo dailyReportListVo = recordList.get(i); + String ratio = ""; + if (StringUtils.isBlank(dailyReportListVo.getSaleAllToThree())) { + ratio = dailyReportListVo.getStock_subtotal() + ":1"; + } else { + if ("0".equals(dailyReportListVo.getSaleAllToThree())) { + ratio = dailyReportListVo.getStock_subtotal() + ":1"; + } else { + ratio = new BigDecimal(dailyReportListVo.getStock_total()).divide((new BigDecimal(dailyReportListVo.getSaleAllToThree()).divide(new BigDecimal(3), 4, BigDecimal.ROUND_HALF_UP)), 0, BigDecimal.ROUND_HALF_UP).toString() + ":1"; + } + } + dailyReportListVo.setSaleOfStockRatio(ratio); + } + } + int count = baseMapper.selectRecordCount(qw); + page.setRecords(recordList); + page.setCurrent(pageNum); + page.setSize(pageSize); + page.setTotal(count); + long pages = (count + pageSize - 1) / pageSize; + page.setPages(pages); + long endTime = System.currentTimeMillis(); // 记录结束时间 + long duration = endTime - startTime; // 计算耗时 + log.info("分公司日报列表接口耗时 {} ms", duration); // 输出日志 + return page; + } + public ResultBean getReport3(String date, String orgPath, String userSid) { ResultBean rb = ResultBean.fireFail(); QueryWrapper qw = new QueryWrapper<>();