From 461b2902890b1fbcf1384317eca8153205d34db2 Mon Sep 17 00:00:00 2001 From: lijiarao Date: Mon, 14 Feb 2022 10:19:36 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E6=89=93=E5=8C=85=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E4=B8=AD=E5=B7=B2=E5=BC=80=E7=A5=A8=E9=87=91=E9=A2=9D=E4=B8=BA?= =?UTF-8?q?0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/PayPackCompanyController.java | 25 ++++++++++++++----- 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/pack/controller/PayPackCompanyController.java b/jero-boot-incoming-payment/src/main/java/com/jero/pack/controller/PayPackCompanyController.java index 3861d916..486cc756 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/pack/controller/PayPackCompanyController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/pack/controller/PayPackCompanyController.java @@ -1,6 +1,7 @@ package com.jero.pack.controller; import java.math.BigDecimal; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Objects; @@ -235,7 +236,11 @@ public class PayPackCompanyController extends JeroController listPayCommonProject = payPackCompanyService.queryPackListCount(Arrays.asList(payPackCompany.getId().split(","))); if(!CollectionUtils.isEmpty(listPayCommonProject)){ - payPackCompany.setReceiptExpense(listPayCommonProject.get(0).getPaidAmount()); + BigDecimal paidAmount = listPayCommonProject.get(0).getPaidAmount() ; + if (paidAmount == null){ + paidAmount = new BigDecimal("0.00"); + } + payPackCompany.setReceiptExpense(paidAmount); }else{ payPackCompany.setReceiptExpense(new BigDecimal("0.00")); } @@ -247,16 +252,24 @@ public class PayPackCompanyController extends JeroController packCompanyProjectList = payPackCompanyProjectService.list(packCompanyProjectLambdaQueryWrapper); List projectIdList = packCompanyProjectList.stream().map(PayPackCompanyProject::getProjectId).collect(Collectors.toList()); - LambdaQueryWrapper queryPayMailBillProject = new LambdaQueryWrapper<>(); - queryPayMailBillProject.in(PayMailBillProject::getProjectId,projectIdList); - List listPayMailBillProject = payMailBillProjectService.list(queryPayMailBillProject); + List listPayMailBillProject = new ArrayList<>(); + if (!projectIdList.isEmpty()){ + LambdaQueryWrapper queryPayMailBillProject = new LambdaQueryWrapper<>(); + queryPayMailBillProject.in(PayMailBillProject::getProjectId,projectIdList); + listPayMailBillProject = payMailBillProjectService.list(queryPayMailBillProject); + } + BigDecimal receiptExpense = payPackCompany.getReceiptExpense() == null ? new BigDecimal("0.00") : payPackCompany.getReceiptExpense(); if(!CollectionUtils.isEmpty(listPayMailBillProject)){ BigDecimal d = listPayMailBillProject.stream().map(PayMailBillProject::getInvoiceAmount).reduce(BigDecimal.ZERO,BigDecimal::add); payPackCompany.setInvoiceAmount(d); - payPackCompany.setUninvoicedAmount(payPackCompany.getReceiptExpense().subtract(d)); + BigDecimal uninvoicedAmount = receiptExpense.subtract(d); + if (uninvoicedAmount.compareTo(BigDecimal.ZERO) < 0){ + uninvoicedAmount = new BigDecimal("0.00"); + } + payPackCompany.setUninvoicedAmount(uninvoicedAmount); }else{ payPackCompany.setInvoiceAmount(new BigDecimal("0.00")); - payPackCompany.setUninvoicedAmount(payPackCompany.getReceiptExpense()); + payPackCompany.setUninvoicedAmount(receiptExpense); } return Result.OK(payPackCompany);