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);