fix: 打包管理项目来款开票bug

This commit is contained in:
2024-03-12 15:31:15 +08:00
parent f2bf3872cc
commit ed7b94a461
2 changed files with 73 additions and 4 deletions
@@ -403,8 +403,7 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
if (!Objects.isNull(payPackCompanyTemporary)) {
listId.add(payPackCompanyTemporary);
}
PayCompanyManagement company = payCompanyManagementService.getById(payPackCompany.getCompanyId());
project = company.getCompanyName();
project = payPackCompany.getCompanyTemporaryName();
break;
default:
break;
@@ -725,6 +724,21 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
noTaxAmount = payPaymentRecordService.subtractPaidAmount(noTaxAmount,memberProject.getInvoiceNoTaxAmount());
tax = payPaymentRecordService.subtractPaidAmount(tax,memberProject.getInvoiceTax());
break;
// 打包项目
case PayIncomeContractCommon.PROJECT_TYPE8:
PayPackCompany payPackCompany = payPackCompanyService.getById(payMailBillProject.getProjectId());
amountReceivable = payPackCompany.getReceivableAmount();//应收
needInvoice = payPackCompany.getNeedInvoice();//是否需要发票
oldInvoiceAmount = payPackCompany.getInvoiceAmount();
if(oldInvoiceAmount==null){
oldInvoiceAmount= new BigDecimal("0");
}
//之前开票总额+本次开票金额
invoiceAmount = oldInvoiceAmount.subtract(invoiceAmount).setScale(2, BigDecimal.ROUND_HALF_UP);
//税额
noTaxAmount = payPaymentRecordService.subtractPaidAmount(noTaxAmount,payPackCompany.getInvoiceNoTaxAmount());
tax = payPaymentRecordService.subtractPaidAmount(tax,payPackCompany.getInvoiceTax());
break;
default:
break;
}
@@ -794,6 +808,16 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
newMemberProject.setInvoiceTax(tax);
payMemberProjectSubitemMapper.updateById(newMemberProject);
break;
// 打包项目
case PayIncomeContractCommon.PROJECT_TYPE8:
PayPackCompany payPackCompany = new PayPackCompany();
payPackCompany.setId(payMailBillProject.getProjectId());
payPackCompany.setMakeInvoice(makeInvoice);
payPackCompany.setInvoiceAmount(invoiceAmount);
payPackCompany.setInvoiceNoTaxAmount(noTaxAmount);
payPackCompany.setInvoiceTax(tax);
payPackCompanyService.updateById(payPackCompany);
break;
default:
break;
}
@@ -972,7 +996,7 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
//if(1!=tbMemberCertificate.getInAccount()){
// return "标协证书项目必须先审核通过才可开票";
//}
// 普通项目
// 打包项目
case PayIncomeContractCommon.PROJECT_TYPE8:
PayPackCompany payPackCompany = payPackCompanyService.getById(bmpList.get(i).getProjectId());
//将第一个项目作为基准公司
@@ -1235,6 +1259,33 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
principalId.append(",").append(tbProjectCer.getDirectorId());
}
break;
// 打包项目
case PayIncomeContractCommon.PROJECT_TYPE8:
PayPackCompany payPackCompany = payPackCompanyService.getById(payMailBillProject.getProjectId());
amountReceivable = payPackCompany.getReceivableAmount();//应收
needInvoice = payPackCompany.getNeedInvoice();//是否需要发票
oldInvoiceAmount = payPackCompany.getInvoiceAmount();
if(oldInvoiceAmount==null){
oldInvoiceAmount= new BigDecimal("0");
}
//之前开票总额+本次开票金额
invoiceAmount = oldInvoiceAmount.add(invoiceAmount).setScale(2, BigDecimal.ROUND_HALF_UP);
//税额
noTaxAmount = payPaymentRecordService.addPaidAmount(noTaxAmount,payPackCompany.getInvoiceNoTaxAmount());
tax = payPaymentRecordService.addPaidAmount(tax,payPackCompany.getInvoiceTax());
//逗号拼接邮寄信息
if(i==0){
projectName.append(payPackCompany.getCompanyTemporaryName());
chargeCompanyName.append(payPackCompany.getCompanyTemporaryName());
principalName.append(payPackCompany.getPackPrincipalName());
principalId.append(payPackCompany.getPackPrincipalId());
}else{
projectName.append(",").append(payPackCompany.getCompanyTemporaryName());
chargeCompanyName.append(",").append(payPackCompany.getCompanyTemporaryName());
principalName.append(",").append(payPackCompany.getPackPrincipalName());
principalId.append(",").append(payPackCompany.getPackPrincipalId());
}
break;
default:
break;
}
@@ -1324,6 +1375,16 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
newCertificate.setInvoiceTax(tax);
certificatePaymentMapper.updateById(newCertificate);
break;
// 打包项目
case PayIncomeContractCommon.PROJECT_TYPE8:
PayPackCompany payPackCompany = new PayPackCompany();
payPackCompany.setId(payMailBillProject.getProjectId());
payPackCompany.setMakeInvoice(makeInvoice);
payPackCompany.setInvoiceAmount(invoiceAmount);
payPackCompany.setInvoiceNoTaxAmount(noTaxAmount);
payPackCompany.setInvoiceTax(tax);
payPackCompanyService.updateById(payPackCompany);
break;
default:
break;
}
@@ -567,6 +567,13 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
case PayIncomeContractCommon.PROJECT_TYPE8:
PayPackCompany payPackCompany = payPackCompanyService.getById(payPaymentRecord.getProjectId());
PayContactsManagementTemporary payPackProjectTemporary = payContactsManagementTemporaryService.getById(payPackCompany.getPackContactTemporaryId());
if (!Objects.isNull(payPackProjectTemporary)) {
listId.add(payPackProjectTemporary);
}
principalId = payPackCompany.getPackPrincipalId();
project = payPackCompany.getCompanyTemporaryName();
newPaidAmount = addPaidAmount(payPackCompany.getPaidAmount(),payPaymentRecord.getAmountReceived());//累加实收
inAccount = getInAccount(payPackCompany.getReceivableAmount(), newPaidAmount);//到账状态
tax = addPaidAmount(payPackCompany.getPaidTax(),payPaymentRecord.getTax());
@@ -578,7 +585,8 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
payPackCompany.setInAccount(inAccount);
payPackCompanyService.updateById(payPackCompany);
break;
default:break;
default:
break;
}
//插入来款记录表
payPaymentRecord.setId(null);