辣鸡代码

生产Bug的机器罢了
salaryDetailVOList.stream().collect(Collectors.groupingBy(t -> t.getTeamId() == null ? NO_TEAM_GROUP_MARK : t.getTeamId(), Collectors.toList())).forEach((key, groupMap) -> {

    if (NO_TEAM_GROUP_MARK.equals(key)) {
        // 假装有代码
    } else {
        groupMap.forEach(vo -> {
            ContributionCost cost = new ContributionCost();
            cost.setSalaryDetailData(vo);
            cost.setYear(year);
            cost.setMonth(month);
            cost.setCooperateRatio(String.valueOf(teamCooperateRatio));
    
            BigDecimal expensePerson = personExpenseList
                    .stream()
                    .filter(p -> p.getUserId().equals(vo.getUserId()))
                    .map(ExpenseVO::getAmount)
                    .reduce(BigDecimal.ZERO, BigDecimal::add);
    
            cost.setExpensePerson(expensePerson);
    
            BigDecimal contributionPerson = contribution
                    .stream()
                    .filter(performanceDetailVO -> performanceDetailVO.getUserId().equals(vo.getUserId()))
                    .map(PerformanceDetailVO::getContributionOutput)
                    .reduce(BigDecimal.ZERO, BigDecimal::add);
    
            cost.setContribution(contributionPerson);
    
            if (vo.getActualWorkingDays().intValue() == 0 && teamActualWorkingDays.intValue() == 0) {
                cost.setExpensePublic(CalcUtil.mul(teamExpensePublic, BigDecimal.valueOf(workingDay), 2));
                cost.setExpensePublicRent(CalcUtil.mul(expensePublicRent, BigDecimal.valueOf(workingDay), 2));
                cost.setExpensePublicInside(CalcUtil.mul(expensePublicInsidePer, BigDecimal.valueOf(workingDay), 2));
            } else {
                cost.setExpensePublic(CalcUtil.mul(teamExpensePublic, vo.getActualWorkingDays(), 2));
                cost.setExpensePublicRent(CalcUtil.mul(expensePublicRent, vo.getActualWorkingDays(), 2));
                cost.setExpensePublicInside(CalcUtil.mul(expensePublicInsidePer, vo.getActualWorkingDays(), 2));
            }
    
            cost.setExpensePublicReplace(expensePublicReplace);
            cost.setCost(CalcUtil.sumOwn(cost.getLaborCost(), cost.getExpensePerson(), cost.getExpensePublic(), cost.getExpensePublicRent(), cost.getExpensePublicReplace(), cost.getExpensePublicInside()));
    
            cost.setSettlement(CalcUtil.mul(cost.getContribution(), new BigDecimal(cost.getCooperateRatio()), 2));
    
            list.add(cost);
        });

    });

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容