add 开票新增和编辑功能增加税额
This commit is contained in:
@@ -3,10 +3,12 @@ package com.jero.mail;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.jero.mail.entity.PayMailBill;
|
||||
import com.jero.mail.entity.PayMailBillProject;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
|
||||
import javax.validation.constraints.DecimalMax;
|
||||
import javax.validation.constraints.NotBlank;
|
||||
@@ -28,4 +30,18 @@ public class PayMailBillVO extends PayMailBill {
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "bmpId")
|
||||
private java.lang.String bmpId;
|
||||
|
||||
/**税额*/
|
||||
@Excel(name = "税额", width = 15)
|
||||
@ApiModelProperty(value = "税额")
|
||||
@DecimalMax(value = "9999999999.99",message = "税额")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
||||
private BigDecimal tax;
|
||||
|
||||
/**未税金额*/
|
||||
@Excel(name = "未税金额", width = 15)
|
||||
@ApiModelProperty(value = "未税金额")
|
||||
@DecimalMax(value = "9999999999.99",message = "未税金额")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
||||
private BigDecimal noTaxAmount;
|
||||
}
|
||||
|
||||
+1
-1
@@ -45,7 +45,7 @@
|
||||
</select>
|
||||
|
||||
<select id="selectInvoicingStage" resultType="com.jero.mail.PayMailBillVO">
|
||||
select pmb.id as id,pmbp.id as bmpId,pmb.project_name,pmbp.invoice_amount,pmb.bill_no,pmb.bill_date,pmbp.remark
|
||||
select pmb.id as id,pmbp.id as bmpId,pmb.project_name,pmbp.invoice_amount,pmb.bill_no,pmb.bill_date,pmbp.remark,pmbp.no_tax_amount,pmbp.tax
|
||||
from pay_mail_bill pmb
|
||||
inner JOIN pay_mail_bill_project pmbp on pmb.id = pmbp.bill_id
|
||||
where pmbp.project_id=#{projectId}
|
||||
|
||||
+126
-12
@@ -45,6 +45,7 @@ import com.jero.member.service.ITbCertificatePaymentService;
|
||||
import com.jero.member.service.ITbMemberProjectService;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import com.jero.payment.service.IPayPaymentRecordService;
|
||||
import com.jero.project.entity.PayCommonProject;
|
||||
import com.jero.project.entity.PayWorkingGroup;
|
||||
import com.jero.project.entity.PayWorkingGroupSubItem;
|
||||
@@ -62,11 +63,13 @@ import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
@@ -136,7 +139,8 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
private ITbCertificatePaymentService certificatePaymentService;
|
||||
@Resource
|
||||
private IPayWorkingGroupSubItemContactsService payWorkingGroupSubItemContactsService;
|
||||
|
||||
@Autowired
|
||||
private IPayPaymentRecordService payPaymentRecordService;
|
||||
|
||||
@Override
|
||||
public List<PayMailBill> selectMailBillVO(String projectId) {
|
||||
@@ -776,6 +780,13 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
invoiceAmount=new BigDecimal("0");
|
||||
}
|
||||
BigDecimal oldInvoiceAmount;//开票金额
|
||||
BigDecimal noTaxAmount = payMailBillProject.getNoTaxAmount();
|
||||
BigDecimal tax = payMailBillProject.getTax();
|
||||
if (noTaxAmount == null || tax == null){
|
||||
noTaxAmount = invoiceAmount.divide(new BigDecimal("1.06"), 2, RoundingMode.HALF_UP);
|
||||
tax = invoiceAmount.subtract(noTaxAmount);
|
||||
}
|
||||
payPaymentRecordService.isTax(noTaxAmount,tax,invoiceAmount);
|
||||
switch (payMailBillProject.getProjectType().toString()) {
|
||||
|
||||
// 普通项目
|
||||
@@ -789,6 +800,9 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
}
|
||||
//之前开票总额+本次开票金额
|
||||
invoiceAmount = oldInvoiceAmount.add(invoiceAmount).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
//税额
|
||||
noTaxAmount = payPaymentRecordService.addPaidAmount(noTaxAmount,payCommonProject.getInvoiceNoTaxAmount());
|
||||
tax = payPaymentRecordService.addPaidAmount(tax,payCommonProject.getInvoiceTax());
|
||||
//逗号拼接邮寄信息
|
||||
if(i==0){
|
||||
projectName.append(payCommonProject.getChargeProject());
|
||||
@@ -813,7 +827,9 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
}
|
||||
//之前开票总额+本次开票金额
|
||||
invoiceAmount = oldInvoiceAmount.add(invoiceAmount).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
|
||||
//税额
|
||||
noTaxAmount = payPaymentRecordService.addPaidAmount(noTaxAmount,workingGroup.getInvoiceNoTaxAmount());
|
||||
tax = payPaymentRecordService.addPaidAmount(tax,workingGroup.getInvoiceTax());
|
||||
//查父表
|
||||
PayWorkingGroup payWorkingGroup = payWorkingGroupMapper.selectById(workingGroup.getWorkingGroupId());
|
||||
//逗号拼接邮寄信息
|
||||
@@ -840,7 +856,9 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
}
|
||||
//之前开票总额+本次开票金额
|
||||
invoiceAmount = oldInvoiceAmount.add(invoiceAmount).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
|
||||
//税额
|
||||
noTaxAmount = payPaymentRecordService.addPaidAmount(noTaxAmount,meeting.getInvoiceNoTaxAmount());
|
||||
tax = payPaymentRecordService.addPaidAmount(tax,meeting.getInvoiceTax());
|
||||
//查父表
|
||||
PayMeeting payMeeting = payMeetingMapper.selectById(meeting.getMeetingId());
|
||||
LambdaQueryWrapper<SysUser> queryPayMeetingSysUser = new LambdaQueryWrapper<>();
|
||||
@@ -874,7 +892,9 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
}
|
||||
//之前开票总额+本次开票金额
|
||||
invoiceAmount = oldInvoiceAmount.add(invoiceAmount).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
|
||||
//税额
|
||||
noTaxAmount = payPaymentRecordService.addPaidAmount(noTaxAmount,memberProject.getInvoiceNoTaxAmount());
|
||||
tax = payPaymentRecordService.addPaidAmount(tax,memberProject.getInvoiceTax());
|
||||
//查父表
|
||||
PayMemberProject payMemberProject = payMemberProjectMapper.selectById(memberProject.getProjectId());
|
||||
LambdaQueryWrapper<SysUser> queryPayMemberProjectSysUser = new LambdaQueryWrapper<>();
|
||||
@@ -908,7 +928,9 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
}
|
||||
//之前开票总额+本次开票金额
|
||||
invoiceAmount = oldInvoiceAmount.add(invoiceAmount).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
|
||||
//税额
|
||||
noTaxAmount = payPaymentRecordService.addPaidAmount(noTaxAmount,tbMemberProject.getInvoiceNoTaxAmount());
|
||||
tax = payPaymentRecordService.addPaidAmount(tax,tbMemberProject.getInvoiceTax());
|
||||
//查父表
|
||||
TbMemberProject tbProject = tbMemberProjectMapper.selectById(tbMemberProject.getProjectId());
|
||||
SysUser queryTbMemberProjectSysUser = sysUserService.getById(tbProject.getDirectorId());
|
||||
@@ -936,7 +958,9 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
}
|
||||
//之前开票总额+本次开票金额
|
||||
invoiceAmount = oldInvoiceAmount.add(invoiceAmount).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
|
||||
//税额
|
||||
noTaxAmount = payPaymentRecordService.addPaidAmount(noTaxAmount,tbMemberCertificate.getInvoiceNoTaxAmount());
|
||||
tax = payPaymentRecordService.addPaidAmount(tax,tbMemberCertificate.getInvoiceTax());
|
||||
//查父表
|
||||
TbMemberProject tbProjectCer = tbMemberProjectMapper.selectById(tbMemberCertificate.getProjectId());
|
||||
SysUser queryTbMemberProjectSysUserCer = sysUserService.getById(tbProjectCer.getDirectorId());
|
||||
@@ -988,6 +1012,8 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
newCommon.setId(payMailBillProject.getProjectId());
|
||||
newCommon.setMakeInvoice(makeInvoice);
|
||||
newCommon.setInvoiceAmount(invoiceAmount);
|
||||
newCommon.setInvoiceNoTaxAmount(noTaxAmount);
|
||||
newCommon.setInvoiceTax(tax);
|
||||
payCommonProjectMapper.updateById(newCommon);
|
||||
break;
|
||||
// 工作组项目
|
||||
@@ -996,6 +1022,8 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
newWorkingGroup.setId(payMailBillProject.getProjectId());
|
||||
newWorkingGroup.setMakeInvoice(makeInvoice);
|
||||
newWorkingGroup.setInvoiceAmount(invoiceAmount);
|
||||
newWorkingGroup.setInvoiceNoTaxAmount(noTaxAmount);
|
||||
newWorkingGroup.setInvoiceTax(tax);
|
||||
payWorkingGroupSubItemMapper.updateById(newWorkingGroup);
|
||||
break;
|
||||
//会议项目
|
||||
@@ -1004,6 +1032,8 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
newMeeting.setId(payMailBillProject.getProjectId());
|
||||
newMeeting.setMakeInvoice(makeInvoice);
|
||||
newMeeting.setInvoiceAmount(invoiceAmount);
|
||||
newMeeting.setInvoiceNoTaxAmount(noTaxAmount);
|
||||
newMeeting.setInvoiceTax(tax);
|
||||
payMeetingSituationMapper.updateById(newMeeting);
|
||||
break;
|
||||
//会员项目
|
||||
@@ -1012,6 +1042,8 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
newMemberProject.setId(payMailBillProject.getProjectId());
|
||||
newMemberProject.setMakeInvoice(makeInvoice);
|
||||
newMemberProject.setInvoiceAmount(invoiceAmount);
|
||||
newMemberProject.setInvoiceNoTaxAmount(noTaxAmount);
|
||||
newMemberProject.setInvoiceTax(tax);
|
||||
payMemberProjectSubitemMapper.updateById(newMemberProject);
|
||||
break;
|
||||
//标协会员
|
||||
@@ -1020,6 +1052,8 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
newTbMemberProject.setId(payMailBillProject.getProjectId());
|
||||
newTbMemberProject.setMakeInvoice(makeInvoice);
|
||||
newTbMemberProject.setInvoiceAmount(invoiceAmount);
|
||||
newTbMemberProject.setInvoiceNoTaxAmount(noTaxAmount);
|
||||
newTbMemberProject.setInvoiceTax(tax);
|
||||
tbMemberProjectSubitemMapper.updateById(newTbMemberProject);
|
||||
break;
|
||||
//标协证书
|
||||
@@ -1028,6 +1062,8 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
newCertificate.setId(payMailBillProject.getProjectId());
|
||||
newCertificate.setMakeInvoice(makeInvoice);
|
||||
newCertificate.setInvoiceAmount(invoiceAmount);
|
||||
newCertificate.setInvoiceNoTaxAmount(noTaxAmount);
|
||||
newCertificate.setInvoiceTax(tax);
|
||||
certificatePaymentMapper.updateById(newCertificate);
|
||||
break;
|
||||
default:
|
||||
@@ -1058,6 +1094,8 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
payMailBillProject.setId(payMailBillVo.getBmpId());
|
||||
payMailBillProject.setInvoiceAmount(payMailBillVo.getInvoiceAmount());
|
||||
payMailBillProject.setRemark(payMailBillVo.getRemark());
|
||||
payMailBillProject.setNoTaxAmount(payMailBillVo.getNoTaxAmount());
|
||||
payMailBillProject.setTax(payMailBillVo.getTax());
|
||||
payMailBillProjectService.updateById(payMailBillProject);
|
||||
}
|
||||
|
||||
@@ -1073,6 +1111,18 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
//原始开票总额+本次开票金额
|
||||
BigDecimal invoiceAmount=new BigDecimal("0");
|
||||
|
||||
BigDecimal thisInvoiceAmount = bm.getInvoiceAmount();
|
||||
BigDecimal oldNoTaxAmount;
|
||||
BigDecimal oldTax;
|
||||
BigDecimal noTaxAmount = bm.getNoTaxAmount();
|
||||
BigDecimal tax = bm.getTax();
|
||||
if (noTaxAmount == null || tax == null){
|
||||
noTaxAmount = thisInvoiceAmount.divide(new BigDecimal("1.06"), 2, RoundingMode.HALF_UP);
|
||||
tax = thisInvoiceAmount.subtract(noTaxAmount);
|
||||
bm.setNoTaxAmount(noTaxAmount);
|
||||
bm.setTax(tax);
|
||||
}
|
||||
payPaymentRecordService.isTax(noTaxAmount,tax,thisInvoiceAmount);
|
||||
switch (oldBmp.getProjectType().toString()) {
|
||||
// 普通项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE1:
|
||||
@@ -1086,7 +1136,7 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
oldInvoiceAmount= new BigDecimal("0");
|
||||
}
|
||||
//原始开票总额+本次开票金额
|
||||
invoiceAmount = oldInvoiceAmount.add(bm.getInvoiceAmount()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
invoiceAmount = oldInvoiceAmount.add(thisInvoiceAmount).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
//开票总额>应收
|
||||
if(invoiceAmount.compareTo(payCommonProject.getReceivableAmount()) == 1){
|
||||
return "开票金额大于当前未开票金额,输入有误!";
|
||||
@@ -1095,6 +1145,12 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
if(!Objects.isNull(payCompanyManagement) && "2".equals(payCompanyManagement.getStatus()) ){
|
||||
return "企业未审核,需要审核后开票";
|
||||
}
|
||||
//之前的税额
|
||||
oldNoTaxAmount = payCommonProject.getInvoiceNoTaxAmount().subtract(oldBmp.getNoTaxAmount());
|
||||
oldTax = payCommonProject.getInvoiceTax().subtract(oldBmp.getTax());
|
||||
//税额
|
||||
noTaxAmount = payPaymentRecordService.addPaidAmount(noTaxAmount,oldNoTaxAmount);
|
||||
tax = payPaymentRecordService.addPaidAmount(tax,oldTax);
|
||||
break;
|
||||
// 工作组项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE2:
|
||||
@@ -1108,7 +1164,7 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
oldInvoiceAmount= new BigDecimal("0");
|
||||
}
|
||||
//原始开票总额+本次开票金额
|
||||
invoiceAmount = oldInvoiceAmount.add(bm.getInvoiceAmount()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
invoiceAmount = oldInvoiceAmount.add(thisInvoiceAmount).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
//开票总额>应收
|
||||
if(invoiceAmount.compareTo(workingGroup.getReceivableAmount()) == 1){
|
||||
return "开票金额大于当前未开票金额,输入有误!";
|
||||
@@ -1117,6 +1173,12 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
if(!Objects.isNull(payCompanyManagementWorkingGroup) && "2".equals(payCompanyManagementWorkingGroup.getStatus()) ){
|
||||
return "企业未审核,需要审核后开票";
|
||||
}
|
||||
//之前的税额
|
||||
oldNoTaxAmount = workingGroup.getInvoiceNoTaxAmount().subtract(oldBmp.getNoTaxAmount());
|
||||
oldTax = workingGroup.getInvoiceTax().subtract(oldBmp.getTax());
|
||||
//税额
|
||||
noTaxAmount = payPaymentRecordService.addPaidAmount(noTaxAmount,oldNoTaxAmount);
|
||||
tax = payPaymentRecordService.addPaidAmount(tax,oldTax);
|
||||
break;
|
||||
//会议项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE3:
|
||||
@@ -1130,7 +1192,7 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
oldInvoiceAmount= new BigDecimal("0");
|
||||
}
|
||||
//原始开票总额+本次开票金额
|
||||
invoiceAmount = oldInvoiceAmount.add(bm.getInvoiceAmount()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
invoiceAmount = oldInvoiceAmount.add(thisInvoiceAmount).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
//开票总额>应收
|
||||
if(invoiceAmount.compareTo(meeting.getAmountReceivable()) == 1){
|
||||
return "开票金额大于当前未开票金额,输入有误!";
|
||||
@@ -1139,6 +1201,12 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
if(!Objects.isNull(payCompanyManagementMeeting) && payCompanyManagementMeeting.getStatus()==2 ){
|
||||
return "企业未审核,需要审核后开票";
|
||||
}
|
||||
//之前的税额
|
||||
oldNoTaxAmount = meeting.getInvoiceNoTaxAmount().subtract(oldBmp.getNoTaxAmount());
|
||||
oldTax = meeting.getInvoiceTax().subtract(oldBmp.getTax());
|
||||
//税额
|
||||
noTaxAmount = payPaymentRecordService.addPaidAmount(noTaxAmount,oldNoTaxAmount);
|
||||
tax = payPaymentRecordService.addPaidAmount(tax,oldTax);
|
||||
break;
|
||||
//会员项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE4:
|
||||
@@ -1152,7 +1220,7 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
oldInvoiceAmount= new BigDecimal("0");
|
||||
}
|
||||
//原始开票总额+本次开票金额
|
||||
invoiceAmount = oldInvoiceAmount.add(bm.getInvoiceAmount()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
invoiceAmount = oldInvoiceAmount.add(thisInvoiceAmount).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
//开票总额>应收
|
||||
if(invoiceAmount.compareTo(memberProject.getAmountReceivable()) == 1){
|
||||
return "开票金额大于当前未开票金额,输入有误!";
|
||||
@@ -1161,6 +1229,12 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
if(!Objects.isNull(payCompanyManagementMember) && "2".equals(payCompanyManagementMember.getStatus()) ){
|
||||
return "企业未审核,需要审核后开票";
|
||||
}
|
||||
//之前的税额
|
||||
oldNoTaxAmount = memberProject.getInvoiceNoTaxAmount().subtract(oldBmp.getNoTaxAmount());
|
||||
oldTax = memberProject.getInvoiceTax().subtract(oldBmp.getTax());
|
||||
//税额
|
||||
noTaxAmount = payPaymentRecordService.addPaidAmount(noTaxAmount,oldNoTaxAmount);
|
||||
tax = payPaymentRecordService.addPaidAmount(tax,oldTax);
|
||||
break;
|
||||
//标协会员
|
||||
case PayIncomeContractCommon.PROJECT_TYPE5:
|
||||
@@ -1174,7 +1248,7 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
oldInvoiceAmount= new BigDecimal("0");
|
||||
}
|
||||
//原始开票总额+本次开票金额
|
||||
invoiceAmount = oldInvoiceAmount.add(bm.getInvoiceAmount()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
invoiceAmount = oldInvoiceAmount.add(thisInvoiceAmount).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
//开票总额!=应收
|
||||
if(invoiceAmount.compareTo(tbMemberProject.getAmountReceivable()) != 0){
|
||||
return "开票金额应等于当前未开票金额,输入有误!";
|
||||
@@ -1183,6 +1257,12 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
if(!Objects.isNull(payCompanyManagementTbMember) && payCompanyManagementTbMember.getStatus()==2 ){
|
||||
return "企业未审核,需要审核后开票";
|
||||
}
|
||||
//之前的税额
|
||||
oldNoTaxAmount = tbMemberProject.getInvoiceNoTaxAmount().subtract(oldBmp.getNoTaxAmount());
|
||||
oldTax = tbMemberProject.getInvoiceTax().subtract(oldBmp.getTax());
|
||||
//税额
|
||||
noTaxAmount = payPaymentRecordService.addPaidAmount(noTaxAmount,oldNoTaxAmount);
|
||||
tax = payPaymentRecordService.addPaidAmount(tax,oldTax);
|
||||
break;
|
||||
//标协证书
|
||||
case PayIncomeContractCommon.PROJECT_TYPE6:
|
||||
@@ -1196,7 +1276,7 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
oldInvoiceAmount= new BigDecimal("0");
|
||||
}
|
||||
//原始开票总额+本次开票金额
|
||||
invoiceAmount = oldInvoiceAmount.add(bm.getInvoiceAmount()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
invoiceAmount = oldInvoiceAmount.add(thisInvoiceAmount).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
//开票总额!=应收
|
||||
if(invoiceAmount.compareTo(tbMemberCertificate.getAmountReceivable()) != 0){
|
||||
return "开票金额应等于当前未开票金额,输入有误!";
|
||||
@@ -1205,6 +1285,12 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
if(!Objects.isNull(payCompanyManagementTbMemberCer) && payCompanyManagementTbMemberCer.getStatus()==2 ){
|
||||
return "企业未审核,需要审核后开票";
|
||||
}
|
||||
//之前的税额
|
||||
oldNoTaxAmount = tbMemberCertificate.getInvoiceNoTaxAmount().subtract(oldBmp.getNoTaxAmount());
|
||||
oldTax = tbMemberCertificate.getInvoiceTax().subtract(oldBmp.getTax());
|
||||
//税额
|
||||
noTaxAmount = payPaymentRecordService.addPaidAmount(noTaxAmount,oldNoTaxAmount);
|
||||
tax = payPaymentRecordService.addPaidAmount(tax,oldTax);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@@ -1240,6 +1326,8 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
newCommon.setId(oldBmp.getProjectId());
|
||||
newCommon.setMakeInvoice(makeInvoice);
|
||||
newCommon.setInvoiceAmount(invoiceAmount);
|
||||
newCommon.setInvoiceNoTaxAmount(noTaxAmount);
|
||||
newCommon.setInvoiceTax(tax);
|
||||
payCommonProjectMapper.updateById(newCommon);
|
||||
break;
|
||||
// 工作组项目
|
||||
@@ -1248,6 +1336,8 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
newWorkingGroup.setId(oldBmp.getProjectId());
|
||||
newWorkingGroup.setMakeInvoice(makeInvoice);
|
||||
newWorkingGroup.setInvoiceAmount(invoiceAmount);
|
||||
newWorkingGroup.setInvoiceNoTaxAmount(noTaxAmount);
|
||||
newWorkingGroup.setInvoiceTax(tax);
|
||||
payWorkingGroupSubItemMapper.updateById(newWorkingGroup);
|
||||
break;
|
||||
//会议项目
|
||||
@@ -1256,6 +1346,8 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
newMeeting.setId(oldBmp.getProjectId());
|
||||
newMeeting.setMakeInvoice(makeInvoice);
|
||||
newMeeting.setInvoiceAmount(invoiceAmount);
|
||||
newMeeting.setInvoiceNoTaxAmount(noTaxAmount);
|
||||
newMeeting.setInvoiceTax(tax);
|
||||
payMeetingSituationMapper.updateById(newMeeting);
|
||||
break;
|
||||
//会员项目
|
||||
@@ -1264,8 +1356,30 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
newMemberProject.setId(oldBmp.getProjectId());
|
||||
newMemberProject.setMakeInvoice(makeInvoice);
|
||||
newMemberProject.setInvoiceAmount(invoiceAmount);
|
||||
newMemberProject.setInvoiceNoTaxAmount(noTaxAmount);
|
||||
newMemberProject.setInvoiceTax(tax);
|
||||
payMemberProjectSubitemMapper.updateById(newMemberProject);
|
||||
break;
|
||||
//标协会员
|
||||
case PayIncomeContractCommon.PROJECT_TYPE5:
|
||||
TbMemberProjectSubitem newTbMemberProject = new TbMemberProjectSubitem();
|
||||
newTbMemberProject.setId(oldBmp.getProjectId());
|
||||
newTbMemberProject.setMakeInvoice(makeInvoice);
|
||||
newTbMemberProject.setInvoiceAmount(invoiceAmount);
|
||||
newTbMemberProject.setInvoiceNoTaxAmount(noTaxAmount);
|
||||
newTbMemberProject.setInvoiceTax(tax);
|
||||
tbMemberProjectSubitemMapper.updateById(newTbMemberProject);
|
||||
break;
|
||||
//标协证书
|
||||
case PayIncomeContractCommon.PROJECT_TYPE6:
|
||||
TbCertificatePayment newCertificate = new TbCertificatePayment();
|
||||
newCertificate.setId(oldBmp.getProjectId());
|
||||
newCertificate.setMakeInvoice(makeInvoice);
|
||||
newCertificate.setInvoiceAmount(invoiceAmount);
|
||||
newCertificate.setInvoiceNoTaxAmount(noTaxAmount);
|
||||
newCertificate.setInvoiceTax(tax);
|
||||
certificatePaymentMapper.updateById(newCertificate);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
+5
@@ -68,6 +68,11 @@ public interface IPayPaymentRecordService extends IService<PayPaymentRecord> {
|
||||
|
||||
void updateStandards(String tbPaymentId, MemberInfo memberInfo);
|
||||
|
||||
/**
|
||||
* 税额是否正确
|
||||
*/
|
||||
void isTax(BigDecimal tax, BigDecimal noTaxAmount, BigDecimal amountReceived);
|
||||
|
||||
/**
|
||||
* 累加实收并四舍五入
|
||||
* @param paidAmount 实收
|
||||
|
||||
+2
-1
@@ -803,7 +803,8 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
|
||||
* @param noTaxAmount 未税金额
|
||||
* @param amountReceived 总金额
|
||||
*/
|
||||
private void isTax(BigDecimal tax,BigDecimal noTaxAmount,BigDecimal amountReceived){
|
||||
@Override
|
||||
public void isTax(BigDecimal tax,BigDecimal noTaxAmount,BigDecimal amountReceived){
|
||||
if (amountReceived.compareTo(tax.add(noTaxAmount)) != 0) {
|
||||
throw new JeroBootException("税额和未税金额相加不等于总金额");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user