处理taxRate或price为零的情况

master
OathK1per 2022-12-27 10:32:09 +08:00
parent 2ff7bd8c33
commit 2f509c0bdd
4 changed files with 17 additions and 13 deletions

View File

@ -370,7 +370,7 @@ public class ProjectController extends BaseController {
Set<String> rates = new HashSet<>(); Set<String> rates = new HashSet<>();
StringBuilder incomeTaxSb = new StringBuilder(); StringBuilder incomeTaxSb = new StringBuilder();
for (ProjectBudgetIncomeDetail projectBudgetIncomeDetail : budgetIncomeDetail) { for (ProjectBudgetIncomeDetail projectBudgetIncomeDetail : budgetIncomeDetail) {
if (!rates.contains(projectBudgetIncomeDetail.getTaxRate().toPlainString())) { if (projectBudgetIncomeDetail.getTaxRate() != null && !rates.contains(projectBudgetIncomeDetail.getTaxRate().toPlainString())) {
incomeTaxSb.append(projectBudgetIncomeDetail.getTaxRate().toPlainString()).append("%,"); incomeTaxSb.append(projectBudgetIncomeDetail.getTaxRate().toPlainString()).append("%,");
rates.add(projectBudgetIncomeDetail.getTaxRate().toPlainString()); rates.add(projectBudgetIncomeDetail.getTaxRate().toPlainString());
} }
@ -392,7 +392,7 @@ public class ProjectController extends BaseController {
Set<String> rates2 = new HashSet<>(); Set<String> rates2 = new HashSet<>();
StringBuilder costTaxSb = new StringBuilder(); StringBuilder costTaxSb = new StringBuilder();
for (ProjectBudgetCostDetail projectBudgetCostDetail : budgetCostDetail) { for (ProjectBudgetCostDetail projectBudgetCostDetail : budgetCostDetail) {
if (!rates2.contains(projectBudgetCostDetail.getTaxRate().toPlainString())) { if (projectBudgetCostDetail.getTaxRate() != null && !rates2.contains(projectBudgetCostDetail.getTaxRate().toPlainString())) {
costTaxSb.append(projectBudgetCostDetail.getTaxRate().toPlainString()).append("%,"); costTaxSb.append(projectBudgetCostDetail.getTaxRate().toPlainString()).append("%,");
rates2.add(projectBudgetCostDetail.getTaxRate().toPlainString()); rates2.add(projectBudgetCostDetail.getTaxRate().toPlainString());
} }
@ -701,7 +701,7 @@ public class ProjectController extends BaseController {
Set<String> rates = new HashSet<>(); Set<String> rates = new HashSet<>();
StringBuilder incomeTaxSb = new StringBuilder(); StringBuilder incomeTaxSb = new StringBuilder();
for (ProjectBudgetIncomeDetail projectBudgetIncomeDetail : budgetIncomeDetail) { for (ProjectBudgetIncomeDetail projectBudgetIncomeDetail : budgetIncomeDetail) {
if (!rates.contains(projectBudgetIncomeDetail.getTaxRate().toPlainString())) { if (projectBudgetIncomeDetail.getTaxRate() != null && !rates.contains(projectBudgetIncomeDetail.getTaxRate().toPlainString())) {
incomeTaxSb.append(projectBudgetIncomeDetail.getTaxRate().toPlainString()).append("%,"); incomeTaxSb.append(projectBudgetIncomeDetail.getTaxRate().toPlainString()).append("%,");
rates.add(projectBudgetIncomeDetail.getTaxRate().toPlainString()); rates.add(projectBudgetIncomeDetail.getTaxRate().toPlainString());
} }
@ -715,7 +715,7 @@ public class ProjectController extends BaseController {
Set<String> rates2 = new HashSet<>(); Set<String> rates2 = new HashSet<>();
StringBuilder costTaxSb = new StringBuilder(); StringBuilder costTaxSb = new StringBuilder();
for (ProjectBudgetCostDetail projectBudgetCostDetail : budgetCostDetail) { for (ProjectBudgetCostDetail projectBudgetCostDetail : budgetCostDetail) {
if (!rates2.contains(projectBudgetCostDetail.getTaxRate().toPlainString())) { if (projectBudgetCostDetail.getTaxRate() != null && !rates2.contains(projectBudgetCostDetail.getTaxRate().toPlainString())) {
costTaxSb.append(projectBudgetCostDetail.getTaxRate().toPlainString()).append("%,"); costTaxSb.append(projectBudgetCostDetail.getTaxRate().toPlainString()).append("%,");
rates2.add(projectBudgetCostDetail.getTaxRate().toPlainString()); rates2.add(projectBudgetCostDetail.getTaxRate().toPlainString());
} }

View File

@ -188,14 +188,16 @@ public class ProjectBudgetCostDetailBase {
public BigDecimal getTotalTaxInclude(){ public BigDecimal getTotalTaxInclude(){
if(null == price){ if(null == price){
return null; return BigDecimal.ZERO;
} }
return price.multiply(amount); return price.multiply(amount);
} }
public BigDecimal getTotalTaxExclude(){ public BigDecimal getTotalTaxExclude(){
BigDecimal totalTaxInclude = getTotalTaxInclude(); BigDecimal totalTaxInclude = getTotalTaxInclude();
if(null == totalTaxInclude || taxRate == null){ if(null == totalTaxInclude) {
return null; return BigDecimal.ZERO;
} else if (taxRate == null){
return totalTaxInclude;
} }
//不含税总金额=含税总金额/1+税率) //不含税总金额=含税总金额/1+税率)
@ -205,7 +207,7 @@ public class ProjectBudgetCostDetailBase {
public BigDecimal getTotalTax(){ public BigDecimal getTotalTax(){
BigDecimal totalTaxInclude = getTotalTaxInclude(); BigDecimal totalTaxInclude = getTotalTaxInclude();
if(null == totalTaxInclude || taxRate == null){ if(null == totalTaxInclude || taxRate == null){
return null; return BigDecimal.ZERO;
} }
//不含税总金额=含税总金额/1+税率) //不含税总金额=含税总金额/1+税率)

View File

@ -162,7 +162,7 @@ public class ProjectBudgetCostProjectManageDetailBase {
public BigDecimal getTotal(){ public BigDecimal getTotal(){
if(null == price){ if(null == price){
return null; return BigDecimal.ZERO;
} }
return price.multiply(amount); return price.multiply(amount);
} }

View File

@ -131,14 +131,16 @@ public class ProjectBudgetIncomeDetailBase {
public BigDecimal getTotalTaxInclude(){ public BigDecimal getTotalTaxInclude(){
if(null == price){ if(null == price){
return null; return BigDecimal.ZERO;
} }
return price.multiply(amount); return price.multiply(amount);
} }
public BigDecimal getTotalTaxExclude(){ public BigDecimal getTotalTaxExclude(){
BigDecimal totalTaxInclude = getTotalTaxInclude(); BigDecimal totalTaxInclude = getTotalTaxInclude();
if(null == totalTaxInclude || taxRate == null){ if(null == totalTaxInclude) {
return null; return BigDecimal.ZERO;
} else if (taxRate == null){
return totalTaxInclude;
} }
//不含税总金额=含税总金额/1+税率) //不含税总金额=含税总金额/1+税率)
@ -149,7 +151,7 @@ public class ProjectBudgetIncomeDetailBase {
public BigDecimal getTotalTax(){ public BigDecimal getTotalTax(){
BigDecimal totalTaxInclude = getTotalTaxInclude(); BigDecimal totalTaxInclude = getTotalTaxInclude();
if(null == totalTaxInclude || taxRate == null){ if(null == totalTaxInclude || taxRate == null){
return null; return BigDecimal.ZERO;
} }
//不含税总金额=含税总金额/1+税率) //不含税总金额=含税总金额/1+税率)