fix 打包管理中已开票金额为0
This commit is contained in:
+19
-6
@@ -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<PayPackCompany, IPa
|
||||
// 获取 打包费用,实际到账金额
|
||||
List<PayCommonProject> 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<PayPackCompany, IPa
|
||||
packCompanyProjectLambdaQueryWrapper.eq(PayPackCompanyProject::getPackId,id);
|
||||
List<PayPackCompanyProject> packCompanyProjectList = payPackCompanyProjectService.list(packCompanyProjectLambdaQueryWrapper);
|
||||
List<String> projectIdList = packCompanyProjectList.stream().map(PayPackCompanyProject::getProjectId).collect(Collectors.toList());
|
||||
LambdaQueryWrapper<PayMailBillProject> queryPayMailBillProject = new LambdaQueryWrapper<>();
|
||||
queryPayMailBillProject.in(PayMailBillProject::getProjectId,projectIdList);
|
||||
List<PayMailBillProject> listPayMailBillProject = payMailBillProjectService.list(queryPayMailBillProject);
|
||||
List<PayMailBillProject> listPayMailBillProject = new ArrayList<>();
|
||||
if (!projectIdList.isEmpty()){
|
||||
LambdaQueryWrapper<PayMailBillProject> 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);
|
||||
|
||||
Reference in New Issue
Block a user