add 合同新增参会人,自动关联,参会人详情回显合同编号
This commit is contained in:
+3
-3
@@ -405,18 +405,18 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
||||
}
|
||||
PayMeetingSituation payMeetingSituation = payMeetingSituationService.getById(p.getProjectId());
|
||||
if(Objects.isNull(payMeetingSituation)){
|
||||
throw new JeroBootException("会员项目不存在!");
|
||||
throw new JeroBootException("会议项目不存在!");
|
||||
}
|
||||
PayMeeting payMeeting = payMeetingService.getById(payMeetingSituation.getMeetingId());
|
||||
if (Objects.isNull(payMeeting)) {
|
||||
throw new JeroBootException("会员项目不存在!");
|
||||
throw new JeroBootException("会议项目不存在!");
|
||||
}
|
||||
// 验证企业是否正确
|
||||
if(!Objects.equals(payMeetingSituation.getCompanyId(),payIncomeContract.getSignedCompanyId())){
|
||||
throw new JeroBootException("企业不匹配!");
|
||||
}
|
||||
//验证参会人是否审核已通过
|
||||
if (Objects.nonNull(payMeetingSituation.getPaymentRecord())
|
||||
if (StringUtils.isNotBlank(payMeetingSituation.getPaymentRecord())
|
||||
&& payMeetingSituation.getCheckResult().equals(MeetingSubitemCommon.SIGNUP_STATUS_1)) {
|
||||
throw new JeroBootException("未通过审核,不可关联。");
|
||||
}
|
||||
|
||||
+7
-1
@@ -399,7 +399,13 @@ public class PayMeetingSituation implements Serializable {
|
||||
/**
|
||||
* 收入合同id
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "收入合同id")
|
||||
private String contractId;
|
||||
|
||||
/**
|
||||
* 收入合同编号
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "收入合同编号")
|
||||
private String contractNum;
|
||||
}
|
||||
|
||||
+64
-35
@@ -23,8 +23,10 @@ import com.jero.company.entity.PayContactsManagement;
|
||||
import com.jero.company.service.IPayCompanyManagementService;
|
||||
import com.jero.company.service.IPayContactsManagementService;
|
||||
import com.jero.contract.common.PayIncomeContractCommon;
|
||||
import com.jero.contract.entity.PayIncomeContract;
|
||||
import com.jero.contract.entity.PayIncomeContractAssociated;
|
||||
import com.jero.contract.service.IPayIncomeContractAssociatedService;
|
||||
import com.jero.contract.service.IPayIncomeContractService;
|
||||
import com.jero.data.entity.PayCaseCommitteeSubitem;
|
||||
import com.jero.data.service.IPayCaseCommitteeSubitemService;
|
||||
import com.jero.mail.entity.PayMailBill;
|
||||
@@ -106,6 +108,8 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
private SendMessageService sendMessageService;
|
||||
@Resource
|
||||
private ContractCreateProjectSendMessageService contractCreateProjectSendMessageService;
|
||||
@Resource
|
||||
private IPayIncomeContractService payIncomeContractService;
|
||||
|
||||
private static final String[] CAN_MODIFY_LIST = new String[]{"arrivalTime","departureTime","checkInHotel"};
|
||||
|
||||
@@ -121,6 +125,7 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
PayMeetingSituation payMeetingSituation1 = getPayMeetingSituation(payMeetingSituation);
|
||||
|
||||
saveMeetingSituation(payMeetingSituation1);
|
||||
|
||||
//处理打包情况
|
||||
handlePack(payMeetingSituation1);
|
||||
|
||||
@@ -134,12 +139,33 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
PayMeeting payMeeting = meetingService.getById(meetingId);
|
||||
//上传付款凭证发送邮件提醒审批
|
||||
SendPaymentRecordMessage(payMeetingSituation1, payMeeting);
|
||||
|
||||
//如果合同id存在则关联参会人到合同
|
||||
String contractId = payMeetingSituation.getContractId();
|
||||
if (StringUtils.isNotBlank(contractId)) {
|
||||
PayIncomeContract payIncomeContract = payIncomeContractService.getById(contractId);
|
||||
if(Objects.isNull(payIncomeContract)){
|
||||
throw new JeroBootException("合同不存在!");
|
||||
}
|
||||
// 验证企业是否正确
|
||||
if(!Objects.equals(payMeetingSituation.getCompanyId(),payIncomeContract.getSignedCompanyId())){
|
||||
throw new JeroBootException("企业不匹配!");
|
||||
}
|
||||
//合同关联参会人自动审核通过
|
||||
payMeetingSituation1.setCheckResult(MeetingSubitemCommon.SIGNUP_STATUS_1);
|
||||
payMeetingSituation1.setContractId(contractId);
|
||||
saveOrUpdate(payMeetingSituation1);
|
||||
//保存关联关系
|
||||
PayIncomeContractAssociated payIncomeContractAssociated = new PayIncomeContractAssociated();
|
||||
payIncomeContractAssociated.setContractId(contractId);
|
||||
payIncomeContractAssociated.setProjectId(payMeetingSituation1.getId());
|
||||
payIncomeContractAssociated.setProjectType(Integer.parseInt(PayIncomeContractCommon.PROJECT_TYPE3));
|
||||
payIncomeContractAssociatedService.save(payIncomeContractAssociated);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 上传付款凭证发送邮件提醒审批
|
||||
* @param payMeetingSituation
|
||||
* @param payMeeting
|
||||
*/
|
||||
private void SendPaymentRecordMessage(PayMeetingSituation payMeetingSituation, PayMeeting payMeeting) {
|
||||
String paymentRecord = payMeetingSituation.getPaymentRecord();
|
||||
@@ -171,7 +197,6 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
/**
|
||||
* 处理打包情况
|
||||
*
|
||||
* @param payMeetingSituation1
|
||||
*/
|
||||
private void handlePack(PayMeetingSituation payMeetingSituation1) {
|
||||
if (payMeetingSituation1.getPack().equals(PayProjectCommon.PACKAGING1)) {
|
||||
@@ -198,7 +223,6 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
/**
|
||||
* 报名
|
||||
*
|
||||
* @param payMeetingSituation
|
||||
*/
|
||||
@Override
|
||||
public void signUp(PayMeetingSituation payMeetingSituation) {
|
||||
@@ -267,8 +291,6 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
/**
|
||||
* 判断发送哪种类型的消息
|
||||
*
|
||||
* @param payMeeting
|
||||
* @param payMeetingSituation
|
||||
* @param isSubItem 是否是组成员
|
||||
*/
|
||||
private void judgeSend(PayMeeting payMeeting, PayMeetingSituation payMeetingSituation, boolean isSubItem) {
|
||||
@@ -295,7 +317,6 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
* 汇款凭证审核不通过 CompanyMessageEnums.MSG5
|
||||
* 非成员单位审核通过且上传的缴费凭证审核通过也发送。(即需要审核的都审核通过才发送)CompanyMessageEnums.MSG6
|
||||
*
|
||||
* @param payMeetingSituation
|
||||
* @author lijiarao
|
||||
* @date 2021/9/24 17:51
|
||||
*/
|
||||
@@ -330,7 +351,6 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
/**
|
||||
* 审核
|
||||
*
|
||||
* @param checkVO
|
||||
*/
|
||||
@Override
|
||||
public void check(CheckVO checkVO) {
|
||||
@@ -381,11 +401,8 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
}
|
||||
/**
|
||||
* 判断是否有权限审核
|
||||
* @param payMeetingSituation
|
||||
* @param payMeeting
|
||||
* @author lijiarao
|
||||
* @date 2021/9/28
|
||||
* @return void
|
||||
*/
|
||||
private void extracted(PayMeetingSituation payMeetingSituation, PayMeeting payMeeting) {
|
||||
//判断是否有权限审核
|
||||
@@ -635,8 +652,6 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
|
||||
/**
|
||||
* 处理校验参会人信息
|
||||
* @param payMeetingSituation
|
||||
* @return
|
||||
*/
|
||||
@NotNull
|
||||
private PayMeetingSituation getPayMeetingSituation(PayMeetingSituation payMeetingSituation) {
|
||||
@@ -729,20 +744,36 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
} else if (Objects.equals(payMode, MeetingSubitemCommon.PAY_MODE_1)
|
||||
|| Objects.equals(payMode, MeetingSubitemCommon.PAY_MODE_2)) {
|
||||
ValidUtil.validate(commonPeopleVO, NotPack.class);
|
||||
//缴费方式为线上缴费时,判断是否为会议期间
|
||||
String paymentRecord = payMeetingSituation.getPaymentRecord();
|
||||
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("线上缴费时,付款凭证只能在会议期间上传");
|
||||
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("线上缴费时,付款凭证只能在会议期间上传");
|
||||
}
|
||||
}
|
||||
payMeetingSituation1.setPaymentRecord(paymentRecord);
|
||||
} else {
|
||||
payMeetingSituation1.setPaymentRecord(paymentRecord);
|
||||
}
|
||||
payMeetingSituation1.setOrderCode(payMeetingSituation.getOrderCode());
|
||||
payMeetingSituation1.setPaymentRecord(paymentRecord);
|
||||
|
||||
payMeetingSituation1.setOrderCode(orderCode);
|
||||
payMeetingSituation1.setNeedInvoice(payMeetingSituation.getNeedInvoice());
|
||||
|
||||
//如果是标协会议判断会员类型
|
||||
@@ -863,7 +894,6 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
/**
|
||||
* 解除参会人打包
|
||||
*
|
||||
* @param id
|
||||
*/
|
||||
private void removeSituationPack(String id) {
|
||||
PayMeetingSituation payMeetingSituation = getById(id);
|
||||
@@ -902,7 +932,14 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
*/
|
||||
@Override
|
||||
public PayMeetingSituation queryById(String id) {
|
||||
return getById(id);
|
||||
PayMeetingSituation meetingSituation = getById(id);
|
||||
//如果有关联合同id返回合同编号
|
||||
String contractId = meetingSituation.getContractId();
|
||||
if (StringUtils.isNotBlank(contractId)) {
|
||||
PayIncomeContract incomeContract = payIncomeContractService.getById(contractId);
|
||||
meetingSituation.setContractNum(incomeContract.getContractNum());
|
||||
}
|
||||
return meetingSituation;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -945,10 +982,6 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
/**
|
||||
* 判断时间是否在时间段内
|
||||
*
|
||||
* @param nowTime
|
||||
* @param beginTime
|
||||
* @param endTime
|
||||
* @return
|
||||
*/
|
||||
public static boolean belongCalendar(Date nowTime, Date beginTime,
|
||||
Date endTime) {
|
||||
@@ -961,10 +994,6 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
Calendar end = Calendar.getInstance();
|
||||
end.setTime(endTime);
|
||||
|
||||
if (date.after(begin) && date.before(end)) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
return date.after(begin) && date.before(end);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user