update 需求变更 新增参会人时,选择打包后可以选择发票

This commit is contained in:
lijiarao
2021-11-03 10:17:03 +08:00
parent 792c76f061
commit 5d7fec3e64
@@ -990,83 +990,74 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
BeanUtils.copyProperties(payMeetingSituation, commonPeopleVO);
Integer payMode = commonPeopleVO.getPayMode();
payMeetingSituation1.setPayMode(payMode);
//缴费方式为打包时,不处理邮寄联系人和地址
if (Objects.equals(payMode, MeetingSubitemCommon.PAY_MODE_3)) {
ValidUtil.validate(commonPeopleVO);
//存入打包字段
//payMeetingSituation1.setPack(PayProjectCommon.PACKAGING1);
payMeetingSituation1.setAmountReceivable(payMeeting.getMeetingCosts());
//缴费方式为汇款或线上缴费
} else if (Objects.equals(payMode, MeetingSubitemCommon.PAY_MODE_1)
|| Objects.equals(payMode, MeetingSubitemCommon.PAY_MODE_2)) {
Integer needInvoice = commonPeopleVO.getNeedInvoice();
//需要发票时校验邮寄
if (!needInvoice.equals(ProjectCommon.NEED_INVOICE0)){
ValidUtil.validate(commonPeopleVO, NotPack.class);
//所有缴费方式,都有需要发票
Integer needInvoice = commonPeopleVO.getNeedInvoice();
//需要发票时校验邮寄
if (!needInvoice.equals(ProjectCommon.NEED_INVOICE0)){
ValidUtil.validate(commonPeopleVO, NotPack.class);
}
String paymentRecord = payMeetingSituation.getPaymentRecord();
String orderCode = payMeetingSituation.getOrderCode();
//优先判断合同 判断是否为合同添加的参会人
String contractId = payMeetingSituation.getContractId();
if (StringUtils.isNotBlank(contractId)) {
PayIncomeContract payIncomeContract = payIncomeContractService.getById(contractId);
if (Objects.isNull(payIncomeContract)) {
throw new JeroBootException("合同不存在!");
}
String paymentRecord = payMeetingSituation.getPaymentRecord();
String orderCode = payMeetingSituation.getOrderCode();
//优先判断合同 判断是否为合同添加的参会人
String contractId = payMeetingSituation.getContractId();
if (StringUtils.isNotBlank(contractId)) {
PayIncomeContract payIncomeContract = payIncomeContractService.getById(contractId);
if (Objects.isNull(payIncomeContract)) {
throw new JeroBootException("合同不存在!");
}
//合同添加的参会人,付款凭证和订单号后四位必填
if (StringUtils.isBlank(paymentRecord)) {
throw new JeroBootException("付款凭证必填");
}
if (payMode.equals(MeetingSubitemCommon.PAY_MODE_2) && StringUtils.isBlank(orderCode)) {
throw new JeroBootException("订单号后四位必填");
}
} else {
//缴费方式为线上缴费时,判断是否为会议期间
if (payMode.equals(MeetingSubitemCommon.PAY_MODE_2) && StringUtils.isNotBlank(paymentRecord)) {
Date startTime = payMeeting.getStartTime();
Date endTime = payMeeting.getEndTime();
//如果不在会议期间,不允许上传缴费凭证
if (!belongCalendar(new Date(), startTime, endTime)) {
throw new JeroBootException("线上缴费时,付款凭证只能在会议期间上传");
}
//合同添加的参会人,付款凭证和订单号后四位必填
if (StringUtils.isBlank(paymentRecord)) {
throw new JeroBootException("付款凭证必填");
}
if (payMode.equals(MeetingSubitemCommon.PAY_MODE_2) && StringUtils.isBlank(orderCode)) {
throw new JeroBootException("订单号后四位必填");
}
} else {
//缴费方式为线上缴费时,判断是否为会议期间
if (payMode.equals(MeetingSubitemCommon.PAY_MODE_2) && StringUtils.isNotBlank(paymentRecord)) {
Date startTime = payMeeting.getStartTime();
Date endTime = payMeeting.getEndTime();
//如果不在会议期间,不允许上传缴费凭证
if (!belongCalendar(new Date(), startTime, endTime)) {
throw new JeroBootException("线上缴费时,付款凭证只能在会议期间上传");
}
}
payMeetingSituation1.setPaymentRecord(paymentRecord);
if (!Objects.equals(payMeetingSituation.getCheckResult(),MeetingSubitemCommon.SIGNUP_STATUS_1)
&&!Objects.equals(payMeetingSituation.getCheckResult(),MeetingSubitemCommon.SIGNUP_STATUS_2)) {
payMeetingSituation1.setCheckResult(MeetingSubitemCommon.SIGNUP_STATUS_0);
}
payMeetingSituation1.setOrderCode(orderCode);
payMeetingSituation1.setNeedInvoice(payMeetingSituation.getNeedInvoice());
}
payMeetingSituation1.setPaymentRecord(paymentRecord);
if (!Objects.equals(payMeetingSituation.getCheckResult(),MeetingSubitemCommon.SIGNUP_STATUS_1)
&&!Objects.equals(payMeetingSituation.getCheckResult(),MeetingSubitemCommon.SIGNUP_STATUS_2)) {
payMeetingSituation1.setCheckResult(MeetingSubitemCommon.SIGNUP_STATUS_0);
}
payMeetingSituation1.setOrderCode(orderCode);
payMeetingSituation1.setNeedInvoice(payMeetingSituation.getNeedInvoice());
//如果是标协会议判断会员类型
if (meetingType.equals(Integer.parseInt(MeetingCommon.STANDARD_MEETING))) {
//根据企业名称和会员类型不为null判断是否为标协会员
//如果是标协会员就存入会议费用(标协会员)
if (checkMember(payMeetingSituation1.getCompanyName())) {
payMeetingSituation1.setAmountReceivable(payMeeting.getMeetingCostsVip());
} else {
payMeetingSituation1.setAmountReceivable(payMeeting.getMeetingCosts());
}
//如果是标协会议判断会员类型
if (meetingType.equals(Integer.parseInt(MeetingCommon.STANDARD_MEETING))) {
//根据企业名称和会员类型不为null判断是否为标协会员
//如果是标协会员就存入会议费用(标协会员)
if (checkMember(payMeetingSituation1.getCompanyName())) {
payMeetingSituation1.setAmountReceivable(payMeeting.getMeetingCostsVip());
} else {
payMeetingSituation1.setAmountReceivable(payMeeting.getMeetingCosts());
}
ValidUtil.validate(commonPeopleVO);
//需要发票时校验邮寄
if (!needInvoice.equals(ProjectCommon.NEED_INVOICE0)){
//校验邮寄联系人
String postContactId = commonPeopleVO.getPostContactId();
PayContactsManagement postContact = contactsManagementService.getById(postContactId);
//校验是否是选择的企业的联系人
String companyId2 = postContact.getCompanyId();
if (companyId2.equals(companyId)) {
payMeetingSituation1.setPostContactId(postContact.getId());
payMeetingSituation1.setPostContactName(postContact.getName());
payMeetingSituation1.setPostContactAddress(payMeetingSituation.getPostContactAddress());
payMeetingSituation1.setPostCode(payMeetingSituation.getPostCode());
} else {
throw new JeroBootException("邮寄联系人不是所选企业的企业联系人");
}
} else {
payMeetingSituation1.setAmountReceivable(payMeeting.getMeetingCosts());
}
ValidUtil.validate(commonPeopleVO);
//需要发票时校验邮寄
if (!needInvoice.equals(ProjectCommon.NEED_INVOICE0)){
//校验邮寄联系人
String postContactId = commonPeopleVO.getPostContactId();
PayContactsManagement postContact = contactsManagementService.getById(postContactId);
//校验是否是选择的企业的联系人
String companyId2 = postContact.getCompanyId();
if (companyId2.equals(companyId)) {
payMeetingSituation1.setPostContactId(postContact.getId());
payMeetingSituation1.setPostContactName(postContact.getName());
payMeetingSituation1.setPostContactAddress(payMeetingSituation.getPostContactAddress());
payMeetingSituation1.setPostCode(payMeetingSituation.getPostCode());
} else {
throw new JeroBootException("邮寄联系人不是所选企业的企业联系人");
}
}
payMeetingSituation1.setCheckInHotel(payMeetingSituation.getCheckInHotel());