到账开票,打包添加会议成员审核认证

This commit is contained in:
梁琦涛
2021-10-19 17:28:49 +08:00
parent 1a53f10c64
commit e3257bf4be
5 changed files with 44 additions and 8 deletions
@@ -328,6 +328,10 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
if(invoiceAmount.compareTo(payCommonProject.getReceivableAmount()) == 1){
return "开票金额大于当前未开票金额,输入有误!";
}
PayCompanyManagementTemporary payCompanyManagement = payCompanyManagementTemporaryService.getById(payCommonProject.getChargeCompanyTemporaryId());
if(!Objects.isNull(payCompanyManagement) && "2".equals(payCompanyManagement.getStatus()) ){
return "企业未审核,需要审核后开票";
}
break;
// 工作组项目
case PayIncomeContractCommon.PROJECT_TYPE2:
@@ -349,6 +353,10 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
if(invoiceAmount.compareTo(workingGroup.getReceivableAmount()) == 1){
return "开票金额大于当前未开票金额,输入有误!";
}
PayCompanyManagementTemporary payCompanyManagementWorkingGroup = payCompanyManagementTemporaryService.getById(workingGroup.getChargeCompanyTemporaryId());
if(!Objects.isNull(payCompanyManagementWorkingGroup) && "2".equals(payCompanyManagementWorkingGroup.getStatus()) ){
return "企业未审核,需要审核后开票";
}
break;
//会议项目
case PayIncomeContractCommon.PROJECT_TYPE3:
@@ -370,6 +378,14 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
if(invoiceAmount.compareTo(meeting.getAmountReceivable()) == 1){
return "开票金额大于当前未开票金额,输入有误!";
}
// 缺少会议报名审核状态(非凭证审核的状态)的校验,审核通过的可以来款 (0未审核,1已通过)
if(Objects.equals(meeting.getRegisterCheckResult(),0)){
return "报名信息未审核,需要审核后开票";
}
PayCompanyManagement payCompanyManagementMeeting = payCompanyManagementService.getById(meeting.getCompanyId());
if(!Objects.isNull(payCompanyManagementMeeting) && "2".equals(payCompanyManagementMeeting.getStatus()) ){
return "企业未审核,需要审核后开票";
}
break;
//会员项目
case PayIncomeContractCommon.PROJECT_TYPE4:
@@ -391,6 +407,10 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
if(invoiceAmount.compareTo(memberProject.getAmountReceivable()) == 1){
return "开票金额大于当前未开票金额,输入有误!";
}
PayCompanyManagementTemporary payCompanyManagementMember = payCompanyManagementTemporaryService.getById(memberProject.getCompanyTemporaryId());
if(!Objects.isNull(payCompanyManagementMember) && "2".equals(payCompanyManagementMember.getStatus()) ){
return "企业未审核,需要审核后开票";
}
break;
//标协会员
case PayIncomeContractCommon.PROJECT_TYPE5:
@@ -412,6 +432,10 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
if(invoiceAmount.compareTo(tbMemberProject.getAmountReceivable()) != 0){
return "开票金额应等于当前未开票金额,输入有误!";
}
PayCompanyManagement payCompanyManagementTbMember = payCompanyManagementService.getById(tbMemberProject.getCompanyId());
if(!Objects.isNull(payCompanyManagementTbMember) && "2".equals(payCompanyManagementTbMember.getStatus()) ){
return "企业未审核,需要审核后开票";
}
break;
default:
break;
@@ -65,6 +65,7 @@
from pay_meeting meeting
inner join pay_meeting_situation sit on meeting.id = sit.meeting_id
<where>
sit.register_check_result != 0
<if test="companyId != null and companyId != ''">
AND sit.company_id = #{companyId}
</if>
@@ -171,6 +172,7 @@
from pay_meeting meeting
inner join pay_meeting_situation sit on meeting.id = sit.meeting_id
<where>
sit.register_check_result != 0
<if test="projectId != null and projectId != ''">
AND sit.id = #{projectId}
</if>
@@ -4,10 +4,10 @@
<!-- 到账开票主列表-->
<select id="mainList" resultType="com.jero.project.entity.PayCommonProject">
select p.id,p.charge_project, p.charge_use, p.principal_id,p.principal_name,p.charge_company_id,p.charge_company_temporary_name,p.receivable_amount,p.paid_amount,p.need_invoice,p.pack,p.in_account,p.make_invoice,p.mail,p.create_time,p.projectType,p.invoice_amount,p.mail_contacts_id
select p.id,p.charge_project, p.charge_use, p.principal_id,p.principal_name,p.charge_company_id,p.charge_company_temporary_name,p.receivable_amount,p.paid_amount,p.need_invoice,p.pack,p.in_account,p.make_invoice,p.mail,p.create_time,p.projectType,p.invoice_amount,p.mail_contacts_id,p.register_check_result
from
(<!-- 普通项目-->
select c.id,c.charge_project, c.charge_use, c.principal_id,c.principal_name,c.charge_company_id,c.charge_company_temporary_name,c.receivable_amount,c.paid_amount,c.need_invoice,c.pack,c.in_account,c.make_invoice,c.mail,c.create_time,1 as projectType,c.invoice_amount,c.mail_contacts_id
select c.id,c.charge_project, c.charge_use, c.principal_id,c.principal_name,c.charge_company_id,c.charge_company_temporary_name,c.receivable_amount,c.paid_amount,c.need_invoice,c.pack,c.in_account,c.make_invoice,c.mail,c.create_time,1 as projectType,c.invoice_amount,c.mail_contacts_id,'' as register_check_result
from pay_common_project c
where
c.receivable_amount <![CDATA[<>]]> 0
@@ -23,7 +23,7 @@
</if>
<!--工作组项目-->
UNION ALL
select gsub.id,g.working_group_project, gsub.charge_use, g.principal_id_a,g.principal_name_a,gsub.charge_company_id,gsub.charge_company_temporary_name,gsub.receivable_amount,gsub.paid_amount,gsub.need_invoice,gsub.pack,gsub.in_account,gsub.make_invoice,gsub.mail,gsub.create_time,2,gsub.invoice_amount,gsub.mail_contacts_id
select gsub.id,g.working_group_project, gsub.charge_use, g.principal_id_a,g.principal_name_a,gsub.charge_company_id,gsub.charge_company_temporary_name,gsub.receivable_amount,gsub.paid_amount,gsub.need_invoice,gsub.pack,gsub.in_account,gsub.make_invoice,gsub.mail,gsub.create_time,2,gsub.invoice_amount,gsub.mail_contacts_id,'' as register_check_result
from pay_working_group g
inner join pay_working_group_subitem gsub on g.id = gsub.working_group_id
where
@@ -40,7 +40,7 @@
</if>
<!-- 会议项目-->
UNION ALL
select sit.id,meeting.meeting_name,sit.charge_use, meeting.director_id, meeting.director_name,sit.company_id,sit.company_name,sit.amount_receivable,sit.paid_amount,sit.need_invoice,sit.pack,sit.in_account,sit.make_invoice,sit.mail,sit.create_time,3,sit.invoice_amount,sit.post_contact_id
select sit.id,meeting.meeting_name,sit.charge_use, meeting.director_id, meeting.director_name,sit.company_id,sit.company_name,sit.amount_receivable,sit.paid_amount,sit.need_invoice,sit.pack,sit.in_account,sit.make_invoice,sit.mail,sit.create_time,3,sit.invoice_amount,sit.post_contact_id,sit.register_check_result
from pay_meeting meeting
inner join pay_meeting_situation sit on meeting.id = sit.meeting_id
where
@@ -57,7 +57,7 @@
</if>
<!-- 会员项目-->
UNION ALL
select msub.id,member.project_name,msub.charge_use,member.director_id,member.director_name,msub.company_id,msub.company_name,msub.amount_receivable,msub.paid_amount,msub.need_invoice,msub.pack,msub.in_account,msub.make_invoice,msub.mail,msub.create_time,4,msub.invoice_amount,msub.post_contact_id
select msub.id,member.project_name,msub.charge_use,member.director_id,member.director_name,msub.company_id,msub.company_name,msub.amount_receivable,msub.paid_amount,msub.need_invoice,msub.pack,msub.in_account,msub.make_invoice,msub.mail,msub.create_time,4,msub.invoice_amount,msub.post_contact_id,'' as register_check_result
from pay_member_project member
inner join pay_member_project_subitem msub on member.id=msub.project_id
where
@@ -74,7 +74,7 @@
</if>
<!-- 标协会员项目-->
UNION ALL
select tmsub.id,tmember.project_name,tmsub.charge_use,'空','空',tmsub.company_id,tmsub.company_name,tmsub.amount_receivable,tmsub.paid_amount,tmsub.invoice_requirements,tmsub.pack,tmsub.in_account,tmsub.make_invoice,tmsub.mail,tmsub.create_time,5,tmsub.invoice_amount,tmsub.liaison_man_id
select tmsub.id,tmember.project_name,tmsub.charge_use,'空','空',tmsub.company_id,tmsub.company_name,tmsub.amount_receivable,tmsub.paid_amount,tmsub.invoice_requirements,tmsub.pack,tmsub.in_account,tmsub.make_invoice,tmsub.mail,tmsub.create_time,5,tmsub.invoice_amount,tmsub.liaison_man_id,'' as register_check_result
from tb_member_project tmember
inner join tb_member_project_subitem tmsub on tmember.id=tmsub.project_id
where
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.api.vo.Result;
import com.jero.common.common.ProjectCommon;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.api.ISysBaseAPI;
import com.jero.common.util.oConvertUtils;
@@ -92,7 +93,8 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
if(!StringUtils.isBlank(payCommonProject.getChargeCompanyTemporaryName())){
payCommonProject.setChargeCompanyTemporaryName(oConvertUtils.replaceAllPercent(payCommonProject.getChargeCompanyTemporaryName()));
}
return payPaymentRecordMapper.mainList(page, payCommonProject,projectType, paymentDate);
List<PayCommonProject> list = payPaymentRecordMapper.mainList(page, payCommonProject,projectType, paymentDate);
return list;
}
/**
@@ -196,7 +198,10 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
}else{
throw new JeroBootException("到账金额大于当前欠款金额,不可提交!");
}
// TODO 缺少会议报名审核状态(非凭证审核的状态)的校验,审核通过的可以开票
// 缺少会议报名审核状态(非凭证审核的状态)的校验,审核通过的可以开票 (0未审核,1已通过)
if(Objects.equals(meeting.getRegisterCheckResult(),0)){
throw new JeroBootException("报名信息未审核,需要审核后来款");
}
PayCompanyManagement payCompanyManagementMeeting = payCompanyManagementService.getById(meeting.getCompanyId());
if(!Objects.isNull(payCompanyManagementMeeting) && "2".equals(payCompanyManagementMeeting.getStatus()) ){
throw new JeroBootException("企业未审核,需要审核后来款");
@@ -207,4 +207,9 @@ public class PayCommonProject implements Serializable {
*/
@TableField(exist = false)
private String principal;
/**
* 会议报名信息审核状态(0未审核,1已通过)
*/
@TableField(exist = false)
private String registerCheckResult;
}