开票
This commit is contained in:
+94
-9
@@ -40,14 +40,8 @@ import com.jero.meeting.entity.PayMeetingSituation;
|
||||
import com.jero.meeting.mapper.PayMeetingMapper;
|
||||
import com.jero.meeting.mapper.PayMeetingSituationMapper;
|
||||
import com.jero.meeting.service.IPayMeetingService;
|
||||
import com.jero.member.entity.PayMemberProject;
|
||||
import com.jero.member.entity.PayMemberProjectSubitem;
|
||||
import com.jero.member.entity.TbMemberProject;
|
||||
import com.jero.member.entity.TbMemberProjectSubitem;
|
||||
import com.jero.member.mapper.PayMemberProjectMapper;
|
||||
import com.jero.member.mapper.PayMemberProjectSubitemMapper;
|
||||
import com.jero.member.mapper.TbMemberProjectMapper;
|
||||
import com.jero.member.mapper.TbMemberProjectSubitemMapper;
|
||||
import com.jero.member.entity.*;
|
||||
import com.jero.member.mapper.*;
|
||||
import com.jero.member.service.IPayMemberProjectService;
|
||||
import com.jero.member.service.ITbMemberProjectService;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
@@ -108,6 +102,8 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
@Resource
|
||||
private TbMemberProjectSubitemMapper tbMemberProjectSubitemMapper;
|
||||
@Resource
|
||||
private TbCertificatePaymentMapper certificatePaymentMapper;
|
||||
@Resource
|
||||
private TbMemberProjectMapper tbMemberProjectMapper;
|
||||
@Resource
|
||||
private PayContactsManagementMapper payContactsManagementMapper;
|
||||
@@ -193,6 +189,17 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
//推送开票数据到会员系统
|
||||
pushBillToStandards(payMailBill, id);
|
||||
}
|
||||
if (PayIncomeContractCommon.PROJECT_TYPE6.equals(String.valueOf(payMailBillProject.getProjectType()))) {
|
||||
String id = payMailBillProject.getProjectId();
|
||||
LambdaQueryWrapper<PayMailBillProject> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(PayMailBillProject::getProjectId, id);
|
||||
wrapper.eq(PayMailBillProject::getProjectType, PayIncomeContractCommon.PROJECT_TYPE6);
|
||||
List<PayMailBillProject> type6List = payMailBillProjectService.list(wrapper);
|
||||
|
||||
if (type6List != null && type6List.size() > 0) {
|
||||
throw new JeroBootException("标协证书项目,只能开票一次。");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -352,6 +359,24 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
listId.add(meetingTemporary);
|
||||
}
|
||||
break;
|
||||
//标协证书
|
||||
case PayIncomeContractCommon.PROJECT_TYPE6:
|
||||
TbCertificatePayment tbMemberCertificate = certificatePaymentMapper.selectById(p.getProjectId());
|
||||
if(Objects.isNull(tbMemberCertificate)){
|
||||
throw new JeroBootException("标协会员成员不存在!");
|
||||
}
|
||||
TbMemberProject tbMemberProjectCertificate = tbMemberProjectService.getById(tbMemberCertificate.getProjectId());
|
||||
if(Objects.isNull(tbMemberProjectCertificate)){
|
||||
throw new JeroBootException("标协会员不存在!");
|
||||
}
|
||||
project = tbMemberProjectCertificate.getProjectName();
|
||||
PayContactsManagement tbMemberPayContactsManagementCer = payContactsManagementService.getById(tbMemberCertificate.getLiaisonManId());
|
||||
if(!Objects.isNull(tbMemberPayContactsManagementCer)){
|
||||
String str = JSON.toJSONString(tbMemberPayContactsManagementCer);
|
||||
PayContactsManagementTemporary meetingTemporary = JSONObject.parseObject(str,PayContactsManagementTemporary.class);
|
||||
listId.add(meetingTemporary);
|
||||
}
|
||||
break;
|
||||
default:break;
|
||||
|
||||
}
|
||||
@@ -630,6 +655,31 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
return "企业未审核,需要审核后开票";
|
||||
}
|
||||
break;
|
||||
//标协证书
|
||||
case PayIncomeContractCommon.PROJECT_TYPE6:
|
||||
TbCertificatePayment tbMemberCertificate = certificatePaymentMapper.selectById(bmpList.get(i).getProjectId());
|
||||
//将第一个项目作为基准公司
|
||||
if (i == 0) {
|
||||
standardCompanyId = tbMemberCertificate.getCompanyId();
|
||||
}
|
||||
if (!standardCompanyId.equals(tbMemberCertificate.getCompanyId())) {
|
||||
return "打包开票只能是同一个企业";
|
||||
}
|
||||
oldInvoiceAmount = tbMemberCertificate.getInvoiceAmount();
|
||||
if(oldInvoiceAmount==null){
|
||||
oldInvoiceAmount= new BigDecimal("0");
|
||||
}
|
||||
//之前开票总额+本次开票金额
|
||||
invoiceAmount = oldInvoiceAmount.add(bmpList.get(i).getInvoiceAmount()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
//开票总额>应收
|
||||
if(invoiceAmount.compareTo(tbMemberCertificate.getAmountReceivable()) != 0){
|
||||
return "开票金额应等于当前未开票金额,输入有误!";
|
||||
}
|
||||
PayCompanyManagement payCompanyManagementTbMemberCer = payCompanyManagementService.getById(tbMemberCertificate.getCompanyId());
|
||||
if(!Objects.isNull(payCompanyManagementTbMemberCer) && "2".equals(payCompanyManagementTbMemberCer.getStatus()) ){
|
||||
return "企业未审核,需要审核后开票";
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -820,6 +870,34 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
principalId.append(",").append(tbProject.getDirectorId());
|
||||
}
|
||||
break;
|
||||
//标协证书
|
||||
case PayIncomeContractCommon.PROJECT_TYPE6:
|
||||
TbCertificatePayment tbMemberCertificate = certificatePaymentMapper.selectById(payMailBillProject.getProjectId());
|
||||
amountReceivable = tbMemberCertificate.getAmountReceivable();//应收
|
||||
needInvoice = tbMemberCertificate.getInvoiceRequirements();//是否需要发票
|
||||
oldInvoiceAmount = tbMemberCertificate.getInvoiceAmount();
|
||||
if(oldInvoiceAmount==null){
|
||||
oldInvoiceAmount= new BigDecimal("0");
|
||||
}
|
||||
//之前开票总额+本次开票金额
|
||||
invoiceAmount = oldInvoiceAmount.add(invoiceAmount).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
|
||||
//查父表
|
||||
TbMemberProject tbProjectCer = tbMemberProjectMapper.selectById(tbMemberCertificate.getProjectId());
|
||||
SysUser queryTbMemberProjectSysUserCer = sysUserService.getById(tbProjectCer.getDirectorId());
|
||||
//逗号拼接邮寄信息
|
||||
if(i==0){
|
||||
projectName.append(tbProjectCer.getProjectName());
|
||||
chargeCompanyName.append(tbMemberCertificate.getCompanyName());
|
||||
principalName.append(queryTbMemberProjectSysUserCer.getRealname());
|
||||
principalId.append(tbProjectCer.getDirectorId());
|
||||
}else{
|
||||
projectName.append(",").append(tbMemberCertificate.getProjectName());
|
||||
chargeCompanyName.append(",").append(tbMemberCertificate.getCompanyName());
|
||||
principalName.append(",").append(queryTbMemberProjectSysUserCer.getRealname());
|
||||
principalId.append(",").append(tbProjectCer.getDirectorId());
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -888,7 +966,14 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
||||
newTbMemberProject.setMakeInvoice(makeInvoice);
|
||||
newTbMemberProject.setInvoiceAmount(invoiceAmount);
|
||||
tbMemberProjectSubitemMapper.updateById(newTbMemberProject);
|
||||
|
||||
break;
|
||||
//标协证书
|
||||
case PayIncomeContractCommon.PROJECT_TYPE6:
|
||||
TbCertificatePayment newCertificate = new TbCertificatePayment();
|
||||
newCertificate.setId(payMailBillProject.getProjectId());
|
||||
newCertificate.setMakeInvoice(makeInvoice);
|
||||
newCertificate.setInvoiceAmount(invoiceAmount);
|
||||
certificatePaymentMapper.updateById(newCertificate);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user