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