| | |
| | | //通过受益人名称,将税前、税后的值相加 |
| | | Map<String, Double> sumAmount = serviceFunddetails.stream().collect(Collectors.groupingBy(ServiceFunddetail::getBeneficiaryname, Collectors.summingDouble(ServiceFunddetail::getAmount))); |
| | | Map<String, Double> sumTaxdAmount = serviceFunddetails.stream().collect(Collectors.groupingBy(ServiceFunddetail::getBeneficiaryname, Collectors.summingDouble(ServiceFunddetail::getTaxedamount))); |
| | | // 新增口径:增值税、城建税、劳务税前、劳务个税按受益人合计 |
| | | Map<String, Double> sumVat = serviceFunddetails.stream().collect(Collectors.groupingBy(ServiceFunddetail::getBeneficiaryname, |
| | | Collectors.summingDouble(d -> d.getVatAmount() == null ? 0.0 : d.getVatAmount()))); |
| | | Map<String, Double> sumCityTax = serviceFunddetails.stream().collect(Collectors.groupingBy(ServiceFunddetail::getBeneficiaryname, |
| | | Collectors.summingDouble(d -> d.getCityTaxAmount() == null ? 0.0 : d.getCityTaxAmount()))); |
| | | Map<String, Double> sumLaborPretax = serviceFunddetails.stream().collect(Collectors.groupingBy(ServiceFunddetail::getBeneficiaryname, |
| | | Collectors.summingDouble(d -> d.getLaborPretaxAmount() == null ? 0.0 : d.getLaborPretaxAmount()))); |
| | | Map<String, Double> sumTax = serviceFunddetails.stream().collect(Collectors.groupingBy(ServiceFunddetail::getBeneficiaryname, |
| | | Collectors.summingDouble(d -> d.getTaxamount() == null ? 0.0 : d.getTaxamount()))); |
| | | |
| | | for (String key : sumAmount.keySet()) { |
| | | ServiceFunddetailExcel serviceFunddetailExcel = new ServiceFunddetailExcel(); |
| | | serviceFunddetailExcel.setAmount(sumAmount.getOrDefault(key, 0.0)); |
| | | serviceFunddetailExcel.setVatAmount(sumVat.getOrDefault(key, 0.0)); |
| | | serviceFunddetailExcel.setCityTaxAmount(sumCityTax.getOrDefault(key, 0.0)); |
| | | serviceFunddetailExcel.setLaborPretaxAmount(sumLaborPretax.getOrDefault(key, 0.0)); |
| | | serviceFunddetailExcel.setTaxamount(sumTax.getOrDefault(key, 0.0)); |
| | | serviceFunddetailExcel.setTaxedamount(sumTaxdAmount.getOrDefault(key, 0.0)); |
| | | for (ServiceFunddetail serviceFunddetail2 : serviceFunddetails) { |
| | | if (serviceFunddetail2.getBeneficiaryname().equals(key)) { |