来款审核
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
package com.jero.common.enums;
|
||||
|
||||
/**
|
||||
* 缴费状态
|
||||
*/
|
||||
public enum PaymentStatusEnum {
|
||||
|
||||
TO_BE_UPLOADED("TO_BE_UPLOADED"),//待上传
|
||||
TO_BE_REVIEWED("TO_BE_REVIEWED"),//待审核
|
||||
REJECTED("REJECTED"),//已拒绝
|
||||
COMPLETED("COMPLETED");//已完结
|
||||
|
||||
private String code;
|
||||
|
||||
private PaymentStatusEnum(String code) {
|
||||
this.code = code;
|
||||
}
|
||||
|
||||
public String getCode() {
|
||||
return code;
|
||||
}
|
||||
}
|
||||
+2
-2
@@ -83,8 +83,8 @@ public class PayPaymentRecord implements Serializable {
|
||||
@ApiModelProperty(value = "申请人名字")
|
||||
private String applicantName;
|
||||
|
||||
@ApiModelProperty(value = "审核结果")
|
||||
private String reviewResult;
|
||||
@ApiModelProperty(value = "审核状态")
|
||||
private String reviewStatus;
|
||||
|
||||
@ApiModelProperty(value = "审核人id")
|
||||
private String reviewerId;
|
||||
|
||||
+10
@@ -36,6 +36,13 @@ public interface IPayPaymentRecordService extends IService<PayPaymentRecord> {
|
||||
*/
|
||||
void addAmountReceived(List<PayPaymentRecord> list,Integer flag);
|
||||
|
||||
/**
|
||||
* 来款条件校验
|
||||
* @param payPaymentRecord
|
||||
* @param flag
|
||||
*/
|
||||
void amountReceivedVerification(PayPaymentRecord payPaymentRecord,Integer flag);
|
||||
|
||||
/**
|
||||
* 添加一个来款
|
||||
* @param payPaymentRecord
|
||||
@@ -51,6 +58,9 @@ public interface IPayPaymentRecordService extends IService<PayPaymentRecord> {
|
||||
|
||||
void updateStandards(String tbPaymentId, MemberInfo memberInfo);
|
||||
|
||||
//标协类型新增时条件校验
|
||||
void type5AddCheck(PayPaymentRecord payPaymentRecord);
|
||||
|
||||
/**
|
||||
* 编辑来款
|
||||
* @param payPaymentRecord
|
||||
|
||||
+117
-64
@@ -98,12 +98,8 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
|
||||
@Resource
|
||||
private ISysBaseAPI sysBaseAPI;
|
||||
@Resource
|
||||
private IPayCompanyManagementTemporaryService payCompanyManagementTemporaryService;
|
||||
@Resource
|
||||
private IPayContactsManagementTemporaryService payContactsManagementTemporaryService;
|
||||
@Resource
|
||||
private IPayCompanyManagementService payCompanyManagementService;
|
||||
@Resource
|
||||
private IPayWorkingGroupService payWorkingGroupService;
|
||||
@Resource
|
||||
private IPayMeetingService payMeetingService;
|
||||
@@ -120,8 +116,6 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
|
||||
|
||||
@Value("${jero.path.upload}")
|
||||
private String upLoadPath;
|
||||
@Value("${standards.url}")
|
||||
private String url;
|
||||
|
||||
/**
|
||||
* 到账开票主列表
|
||||
@@ -169,24 +163,16 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加一个来款记录
|
||||
* 来款条件校验
|
||||
* @param payPaymentRecord
|
||||
* @param flag
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public void addOneAmountReceived(PayPaymentRecord payPaymentRecord,List<TbCheckVo> typr5List,Integer flag){
|
||||
public void amountReceivedVerification(PayPaymentRecord payPaymentRecord,Integer flag){
|
||||
|
||||
BigDecimal receivableAmount;
|
||||
Boolean isAdd;
|
||||
BigDecimal newPaidAmount;
|
||||
BigDecimal paidAmount;
|
||||
Integer inAccount;
|
||||
String principalId = "";
|
||||
String project = "";
|
||||
List<PayContactsManagementTemporary> listId = new ArrayList<>();
|
||||
//累加主列表实收金额
|
||||
switch (String.valueOf(payPaymentRecord.getProjectType())){
|
||||
|
||||
// 普通项目
|
||||
@@ -199,7 +185,106 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
|
||||
paidAmount=payCommonProject.getPaidAmount();//实收
|
||||
//是否还能再添加来款
|
||||
isAdd(receivableAmount,paidAmount, payPaymentRecord.getAmountReceived());
|
||||
|
||||
|
||||
break;
|
||||
// 工作组项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE2:
|
||||
PayWorkingGroupSubItem payWorking = payWorkingGroupSubItemMapper.selectById(payPaymentRecord.getProjectId());
|
||||
if(Objects.isNull(payWorking)){
|
||||
throw new JeroBootException("项目不存在,不可提交!");
|
||||
}
|
||||
PayWorkingGroup payWorkingGroup = payWorkingGroupService.getById(payWorking.getWorkingGroupId());
|
||||
if(Objects.isNull(payWorkingGroup)){
|
||||
throw new JeroBootException("工作组不存在,不可提交!");
|
||||
}
|
||||
receivableAmount = payWorking.getReceivableAmount();//应收
|
||||
paidAmount=payWorking.getPaidAmount();//实收
|
||||
|
||||
//是否还能再添加来款
|
||||
isAdd(receivableAmount,paidAmount, payPaymentRecord.getAmountReceived());
|
||||
|
||||
break;
|
||||
//会议项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE3:
|
||||
PayMeetingSituation meeting = payMeetingSituationMapper.selectById(payPaymentRecord.getProjectId());
|
||||
if(Objects.isNull(meeting)){
|
||||
throw new JeroBootException("项目不存在,不可提交!");
|
||||
}
|
||||
PayMeeting payMeeting =payMeetingService.getById(meeting.getMeetingId());
|
||||
if(Objects.isNull(payMeeting)){
|
||||
throw new JeroBootException("会议不存在,不可提交!");
|
||||
}
|
||||
// 来款方式为汇款/现场缴费的不可进行到账操作 1为汇款,2为线上缴费
|
||||
if(!Objects.equals(ProjectCommon.PAYMENT_FLAG1,flag) && (Objects.equals(meeting.getPayMode(), MeetingSubitemCommon.PAY_MODE_1) || Objects.equals(meeting.getPayMode(),MeetingSubitemCommon.PAY_MODE_2))){
|
||||
throw new JeroBootException("会议项目在参会人审核通过后会系统自动到账!");
|
||||
}
|
||||
receivableAmount = meeting.getAmountReceivable();//应收
|
||||
paidAmount=meeting.getPaidAmount();//实收
|
||||
|
||||
//是否还能再添加来款
|
||||
isAdd(receivableAmount,paidAmount, payPaymentRecord.getAmountReceived());
|
||||
|
||||
break;
|
||||
//会员项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE4:
|
||||
PayMemberProjectSubitem member = payMemberProjectSubitemMapper.selectById(payPaymentRecord.getProjectId());
|
||||
if(Objects.isNull(member)){
|
||||
throw new JeroBootException("项目不存在,不可提交!");
|
||||
}
|
||||
PayMemberProject payMemberProject = memberProjectService.getById(member.getProjectId());
|
||||
if(Objects.isNull(payMemberProject)){
|
||||
throw new JeroBootException("会员项目不存在,不可提交!");
|
||||
}
|
||||
|
||||
receivableAmount = member.getAmountReceivable();//应收
|
||||
paidAmount=member.getPaidAmount();//实收
|
||||
//是否还能再添加来款
|
||||
isAdd(receivableAmount, paidAmount,payPaymentRecord.getAmountReceived());
|
||||
|
||||
break;
|
||||
//标协会员
|
||||
case PayIncomeContractCommon.PROJECT_TYPE5:
|
||||
//标协类型条件校验
|
||||
type5AddCheck(payPaymentRecord);
|
||||
|
||||
TbMemberProjectSubitem tbMember = tbMemberProjectSubitemMapper.selectById(payPaymentRecord.getProjectId());
|
||||
receivableAmount = tbMember.getAmountReceivable();//应收
|
||||
paidAmount=tbMember.getPaidAmount();//实收
|
||||
TbMemberProject tbMemberProject = tbMemberProjectService.getById(tbMember.getProjectId());
|
||||
if(Objects.isNull(tbMemberProject)){
|
||||
throw new JeroBootException("标协会员不存在!");
|
||||
}
|
||||
//是否还能再添加来款
|
||||
isAdd(receivableAmount,paidAmount, payPaymentRecord.getAmountReceived());
|
||||
|
||||
break;
|
||||
default:break;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加一个来款记录
|
||||
* @param payPaymentRecord
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public void addOneAmountReceived(PayPaymentRecord payPaymentRecord,List<TbCheckVo> typr5List,Integer flag){
|
||||
|
||||
BigDecimal newPaidAmount;
|
||||
Integer inAccount;
|
||||
String principalId = "";
|
||||
String project = "";
|
||||
List<PayContactsManagementTemporary> listId = new ArrayList<>();
|
||||
//累加主列表实收金额
|
||||
switch (String.valueOf(payPaymentRecord.getProjectType())){
|
||||
|
||||
// 普通项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE1:
|
||||
//来款条件校验
|
||||
amountReceivedVerification( payPaymentRecord, flag);
|
||||
|
||||
PayCommonProject payCommonProject = payCommonProjectMapper.selectById(payPaymentRecord.getProjectId());
|
||||
|
||||
PayContactsManagementTemporary payCommonProjectTemporary = payContactsManagementTemporaryService.getById(payCommonProject.getContactsTemporaryId());
|
||||
if(!Objects.isNull(payCommonProjectTemporary)){
|
||||
listId.add(payCommonProjectTemporary);
|
||||
@@ -218,20 +303,12 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
|
||||
break;
|
||||
// 工作组项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE2:
|
||||
//来款条件校验
|
||||
amountReceivedVerification( payPaymentRecord, flag);
|
||||
|
||||
PayWorkingGroupSubItem payWorking = payWorkingGroupSubItemMapper.selectById(payPaymentRecord.getProjectId());
|
||||
if(Objects.isNull(payWorking)){
|
||||
throw new JeroBootException("项目不存在,不可提交!");
|
||||
}
|
||||
PayWorkingGroup payWorkingGroup = payWorkingGroupService.getById(payWorking.getWorkingGroupId());
|
||||
if(Objects.isNull(payWorkingGroup)){
|
||||
throw new JeroBootException("工作组不存在,不可提交!");
|
||||
}
|
||||
receivableAmount = payWorking.getReceivableAmount();//应收
|
||||
paidAmount=payWorking.getPaidAmount();//实收
|
||||
|
||||
//是否还能再添加来款
|
||||
isAdd(receivableAmount,paidAmount, payPaymentRecord.getAmountReceived());
|
||||
|
||||
PayContactsManagementTemporary payWorkingTemporaryOne = payContactsManagementTemporaryService.getById(payWorking.getContactsTemporaryIdOne());
|
||||
if(!Objects.isNull(payWorkingTemporaryOne)){
|
||||
listId.add(payWorkingTemporaryOne);
|
||||
@@ -262,24 +339,12 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
|
||||
break;
|
||||
//会议项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE3:
|
||||
//来款条件校验
|
||||
amountReceivedVerification( payPaymentRecord, flag);
|
||||
|
||||
PayMeetingSituation meeting = payMeetingSituationMapper.selectById(payPaymentRecord.getProjectId());
|
||||
if(Objects.isNull(meeting)){
|
||||
throw new JeroBootException("项目不存在,不可提交!");
|
||||
}
|
||||
PayMeeting payMeeting =payMeetingService.getById(meeting.getMeetingId());
|
||||
if(Objects.isNull(payMeeting)){
|
||||
throw new JeroBootException("会议不存在,不可提交!");
|
||||
}
|
||||
// 来款方式为汇款/现场缴费的不可进行到账操作 1为汇款,2为线上缴费
|
||||
if(!Objects.equals(ProjectCommon.PAYMENT_FLAG1,flag) && (Objects.equals(meeting.getPayMode(), MeetingSubitemCommon.PAY_MODE_1) || Objects.equals(meeting.getPayMode(),MeetingSubitemCommon.PAY_MODE_2))){
|
||||
throw new JeroBootException("会议项目在参会人审核通过后会系统自动到账!");
|
||||
}
|
||||
receivableAmount = meeting.getAmountReceivable();//应收
|
||||
paidAmount=meeting.getPaidAmount();//实收
|
||||
|
||||
//是否还能再添加来款
|
||||
isAdd(receivableAmount,paidAmount, payPaymentRecord.getAmountReceived());
|
||||
|
||||
PayContactsManagement meetingPayContactsManagement = payContactsManagementService.getById(meeting.getContractId());
|
||||
if(!Objects.isNull(meetingPayContactsManagement)){
|
||||
String str = JSON.toJSONString(meetingPayContactsManagement);
|
||||
@@ -300,20 +365,12 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
|
||||
break;
|
||||
//会员项目
|
||||
case PayIncomeContractCommon.PROJECT_TYPE4:
|
||||
//来款条件校验
|
||||
amountReceivedVerification( payPaymentRecord, flag);
|
||||
|
||||
PayMemberProjectSubitem member = payMemberProjectSubitemMapper.selectById(payPaymentRecord.getProjectId());
|
||||
if(Objects.isNull(member)){
|
||||
throw new JeroBootException("项目不存在,不可提交!");
|
||||
}
|
||||
PayMemberProject payMemberProject = memberProjectService.getById(member.getProjectId());
|
||||
if(Objects.isNull(payMemberProject)){
|
||||
throw new JeroBootException("会员项目不存在,不可提交!");
|
||||
}
|
||||
|
||||
receivableAmount = member.getAmountReceivable();//应收
|
||||
paidAmount=member.getPaidAmount();//实收
|
||||
//是否还能再添加来款
|
||||
isAdd(receivableAmount, paidAmount,payPaymentRecord.getAmountReceived());
|
||||
|
||||
PayContactsManagementTemporary memberTemporary = payContactsManagementTemporaryService.getById(member.getCompanyContactTemporaryId());
|
||||
if(!Objects.isNull(memberTemporary)){
|
||||
listId.add(memberTemporary);
|
||||
@@ -334,16 +391,11 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
|
||||
case PayIncomeContractCommon.PROJECT_TYPE5:
|
||||
//标协类型条件校验
|
||||
type5AddCheck(payPaymentRecord);
|
||||
//来款条件校验
|
||||
amountReceivedVerification( payPaymentRecord, flag);
|
||||
|
||||
TbMemberProjectSubitem tbMember = tbMemberProjectSubitemMapper.selectById(payPaymentRecord.getProjectId());
|
||||
receivableAmount = tbMember.getAmountReceivable();//应收
|
||||
paidAmount=tbMember.getPaidAmount();//实收
|
||||
TbMemberProject tbMemberProject = tbMemberProjectService.getById(tbMember.getProjectId());
|
||||
if(Objects.isNull(tbMemberProject)){
|
||||
throw new JeroBootException("标协会员不存在!");
|
||||
}
|
||||
//是否还能再添加来款
|
||||
isAdd(receivableAmount,paidAmount, payPaymentRecord.getAmountReceived());
|
||||
|
||||
principalId = tbMemberProject.getDirectorId();
|
||||
project = tbMemberProject.getProjectName();
|
||||
@@ -430,7 +482,8 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
|
||||
}
|
||||
|
||||
//标协类型新增时条件校验
|
||||
private void type5AddCheck(PayPaymentRecord payPaymentRecord){
|
||||
@Override
|
||||
public void type5AddCheck(PayPaymentRecord payPaymentRecord){
|
||||
|
||||
LambdaQueryWrapper<PayPaymentRecord> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(PayPaymentRecord::getProjectId, payPaymentRecord.getProjectId());
|
||||
@@ -536,7 +589,7 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
|
||||
|
||||
}
|
||||
//发送消息
|
||||
public void SendMessage(String principalId,String project,PayPaymentRecord payPaymentRecord,
|
||||
private void SendMessage(String principalId,String project,PayPaymentRecord payPaymentRecord,
|
||||
List<PayContactsManagementTemporary> listId){
|
||||
// 发送给项目负责人
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
|
||||
Reference in New Issue
Block a user