优化来款

This commit is contained in:
baozhipeng
2021-12-15 16:12:48 +08:00
parent af401f3fea
commit 975df4481e
3 changed files with 178 additions and 208 deletions
@@ -53,6 +53,4 @@ public class PayPaymentCheckController extends JeroController<PayPaymentCheck, I
} }
} }
@@ -79,4 +79,19 @@ public class PayPaymentRecord implements Serializable {
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新日期") @ApiModelProperty(value = "更新日期")
private java.util.Date updateTime; private java.util.Date updateTime;
@ApiModelProperty(value = "申请人名字")
private String applicantName;
@ApiModelProperty(value = "审核结果")
private String reviewResult;
@ApiModelProperty(value = "审核人id")
private String reviewerId;
@ApiModelProperty(value = "审核人姓名")
private String reviewerName;
@ApiModelProperty(value = "审核时间")
private String reviewTime;
} }
@@ -195,32 +195,25 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
if(Objects.isNull(payCommonProject)){ if(Objects.isNull(payCommonProject)){
throw new JeroBootException("项目不存在,不可提交!"); throw new JeroBootException("项目不存在,不可提交!");
} }
PayCompanyManagementTemporary payCompanyManagement = payCompanyManagementTemporaryService.getById(payCommonProject.getChargeCompanyTemporaryId()); receivableAmount = payCommonProject.getReceivableAmount();//应收
if(!Objects.isNull(payCompanyManagement) && "2".equals(payCompanyManagement.getStatus()) ){ paidAmount=payCommonProject.getPaidAmount();//实收
throw new JeroBootException("企业未审核,需要审核后来款"); //是否还能再添加来款
} isAdd(receivableAmount,paidAmount, payPaymentRecord.getAmountReceived());
PayContactsManagementTemporary payCommonProjectTemporary = payContactsManagementTemporaryService.getById(payCommonProject.getContactsTemporaryId()); PayContactsManagementTemporary payCommonProjectTemporary = payContactsManagementTemporaryService.getById(payCommonProject.getContactsTemporaryId());
if(!Objects.isNull(payCommonProjectTemporary)){ if(!Objects.isNull(payCommonProjectTemporary)){
listId.add(payCommonProjectTemporary); listId.add(payCommonProjectTemporary);
} }
principalId = payCommonProject.getPrincipalId(); principalId = payCommonProject.getPrincipalId();
project = payCommonProject.getChargeProject(); project = payCommonProject.getChargeProject();
receivableAmount = payCommonProject.getReceivableAmount();//应收
paidAmount=payCommonProject.getPaidAmount();//实收
//是否还能再添加来款
isAdd = isAdd(receivableAmount,paidAmount, payPaymentRecord.getAmountReceived());
if(isAdd){
newPaidAmount =addPaidAmount(paidAmount,payPaymentRecord.getAmountReceived());//累加实收
inAccount = getInAccount(receivableAmount, newPaidAmount);//到账状态
//更新主列表 newPaidAmount =addPaidAmount(payCommonProject.getPaidAmount(),payPaymentRecord.getAmountReceived());//累加实收
payCommonProject.setPaidAmount(newPaidAmount); inAccount = getInAccount(payCommonProject.getReceivableAmount(), newPaidAmount);//到账状态
payCommonProject.setInAccount(inAccount);
payCommonProjectMapper.updateById(payCommonProject); //更新主列表
}else{ payCommonProject.setPaidAmount(newPaidAmount);
throw new JeroBootException("到账金额大于当前欠款金额,不可提交!"); payCommonProject.setInAccount(inAccount);
} payCommonProjectMapper.updateById(payCommonProject);
break;
// 工作组项目 // 工作组项目
case PayIncomeContractCommon.PROJECT_TYPE2: case PayIncomeContractCommon.PROJECT_TYPE2:
PayWorkingGroupSubItem payWorking = payWorkingGroupSubItemMapper.selectById(payPaymentRecord.getProjectId()); PayWorkingGroupSubItem payWorking = payWorkingGroupSubItemMapper.selectById(payPaymentRecord.getProjectId());
@@ -231,10 +224,12 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
if(Objects.isNull(payWorkingGroup)){ if(Objects.isNull(payWorkingGroup)){
throw new JeroBootException("工作组不存在,不可提交!"); throw new JeroBootException("工作组不存在,不可提交!");
} }
PayCompanyManagementTemporary payCompanyManagementWorkingGroup = payCompanyManagementTemporaryService.getById(payWorking.getChargeCompanyTemporaryId()); receivableAmount = payWorking.getReceivableAmount();//应收
if(!Objects.isNull(payCompanyManagementWorkingGroup) && "2".equals(payCompanyManagementWorkingGroup.getStatus()) ){ paidAmount=payWorking.getPaidAmount();//实收
throw new JeroBootException("企业未审核,需要审核后来款");
} //是否还能再添加来款
isAdd(receivableAmount,paidAmount, payPaymentRecord.getAmountReceived());
PayContactsManagementTemporary payWorkingTemporaryOne = payContactsManagementTemporaryService.getById(payWorking.getContactsTemporaryIdOne()); PayContactsManagementTemporary payWorkingTemporaryOne = payContactsManagementTemporaryService.getById(payWorking.getContactsTemporaryIdOne());
if(!Objects.isNull(payWorkingTemporaryOne)){ if(!Objects.isNull(payWorkingTemporaryOne)){
listId.add(payWorkingTemporaryOne); listId.add(payWorkingTemporaryOne);
@@ -251,25 +246,16 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
listId.add(payWorkingTemporaryThree); listId.add(payWorkingTemporaryThree);
} }
} }
principalId = payWorkingGroup.getPrincipalIdA(); principalId = payWorkingGroup.getPrincipalIdA();
project = payWorkingGroup.getWorkingGroupProject(); project = payWorkingGroup.getWorkingGroupProject();
receivableAmount = payWorking.getReceivableAmount();//应收
paidAmount=payWorking.getPaidAmount();//实收
//是否还能再添加来款 newPaidAmount =addPaidAmount(payWorking.getPaidAmount(),payPaymentRecord.getAmountReceived());//累加实收
isAdd = isAdd(receivableAmount,paidAmount, payPaymentRecord.getAmountReceived()); inAccount = getInAccount(payWorking.getReceivableAmount(), newPaidAmount);//到账状态
if(isAdd){
newPaidAmount =addPaidAmount(paidAmount,payPaymentRecord.getAmountReceived());//累加实收
inAccount = getInAccount(receivableAmount, newPaidAmount);//到账状态
//更新主列表 //更新主列表
payWorking.setPaidAmount(newPaidAmount); payWorking.setPaidAmount(newPaidAmount);
payWorking.setInAccount(inAccount); payWorking.setInAccount(inAccount);
payWorkingGroupSubItemMapper.updateById(payWorking); payWorkingGroupSubItemMapper.updateById(payWorking);
}else{
throw new JeroBootException("到账金额大于当前款金额,不可提交!");
}
break; break;
//会议项目 //会议项目
@@ -286,10 +272,12 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
if(!Objects.equals(ProjectCommon.PAYMENT_FLAG1,flag) && (Objects.equals(meeting.getPayMode(), MeetingSubitemCommon.PAY_MODE_1) || Objects.equals(meeting.getPayMode(),MeetingSubitemCommon.PAY_MODE_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("会议项目在参会人审核通过后会系统自动到账!"); throw new JeroBootException("会议项目在参会人审核通过后会系统自动到账!");
} }
PayCompanyManagement payCompanyManagementMeeting = payCompanyManagementService.getById(meeting.getCompanyId()); receivableAmount = meeting.getAmountReceivable();//应收
if(!Objects.isNull(payCompanyManagementMeeting) && "2".equals(payCompanyManagementMeeting.getStatus()) ){ paidAmount=meeting.getPaidAmount();//实收
throw new JeroBootException("企业未审核,需要审核后来款!");
} //是否还能再添加来款
isAdd(receivableAmount,paidAmount, payPaymentRecord.getAmountReceived());
PayContactsManagement meetingPayContactsManagement = payContactsManagementService.getById(meeting.getContractId()); PayContactsManagement meetingPayContactsManagement = payContactsManagementService.getById(meeting.getContractId());
if(!Objects.isNull(meetingPayContactsManagement)){ if(!Objects.isNull(meetingPayContactsManagement)){
String str = JSON.toJSONString(meetingPayContactsManagement); String str = JSON.toJSONString(meetingPayContactsManagement);
@@ -298,22 +286,14 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
} }
principalId = payMeeting.getDirectorId(); principalId = payMeeting.getDirectorId();
project = payMeeting.getMeetingName(); project = payMeeting.getMeetingName();
receivableAmount = meeting.getAmountReceivable();//应收
paidAmount=meeting.getPaidAmount();//实收
//是否还能再添加来款 newPaidAmount =addPaidAmount(meeting.getPaidAmount(),payPaymentRecord.getAmountReceived());//累加实收
isAdd = isAdd(receivableAmount,paidAmount, payPaymentRecord.getAmountReceived()); inAccount = getInAccount(meeting.getAmountReceivable(), newPaidAmount);//到账状态
if(isAdd){
newPaidAmount =addPaidAmount(paidAmount,payPaymentRecord.getAmountReceived());//累加实收
inAccount = getInAccount(receivableAmount, newPaidAmount);//到账状态
//更新主列表 //更新主列表
meeting.setPaidAmount(newPaidAmount); meeting.setPaidAmount(newPaidAmount);
meeting.setInAccount(inAccount); meeting.setInAccount(inAccount);
payMeetingSituationMapper.updateById(meeting); payMeetingSituationMapper.updateById(meeting);
}else{
throw new JeroBootException("到账金额大于当前欠款金额,不可提交!");
}
break; break;
//会员项目 //会员项目
@@ -326,33 +306,26 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
if(Objects.isNull(payMemberProject)){ if(Objects.isNull(payMemberProject)){
throw new JeroBootException("会员项目不存在,不可提交!"); throw new JeroBootException("会员项目不存在,不可提交!");
} }
PayCompanyManagementTemporary payCompanyManagementMember = payCompanyManagementTemporaryService.getById(member.getCompanyTemporaryId());
if(!Objects.isNull(payCompanyManagementMember) && "2".equals(payCompanyManagementMember.getStatus()) ){ receivableAmount = member.getAmountReceivable();//应收
throw new JeroBootException("企业未审核,需要审核后来款"); paidAmount=member.getPaidAmount();//实收
} //是否还能再添加来款
isAdd(receivableAmount, paidAmount,payPaymentRecord.getAmountReceived());
PayContactsManagementTemporary memberTemporary = payContactsManagementTemporaryService.getById(member.getCompanyContactTemporaryId()); PayContactsManagementTemporary memberTemporary = payContactsManagementTemporaryService.getById(member.getCompanyContactTemporaryId());
if(!Objects.isNull(memberTemporary)){ if(!Objects.isNull(memberTemporary)){
listId.add(memberTemporary); listId.add(memberTemporary);
} }
principalId = payMemberProject.getDirectorId(); principalId = payMemberProject.getDirectorId();
project = payMemberProject.getProjectName(); project = payMemberProject.getProjectName();
receivableAmount = member.getAmountReceivable();//应收
paidAmount=member.getPaidAmount();//实收
//是否还能再添加来款 newPaidAmount =addPaidAmount(member.getPaidAmount(),payPaymentRecord.getAmountReceived());//累加实收
isAdd = isAdd(receivableAmount, paidAmount,payPaymentRecord.getAmountReceived()); inAccount = getInAccount(member.getAmountReceivable(), newPaidAmount);//到账状态
if(isAdd){
newPaidAmount =addPaidAmount(paidAmount,payPaymentRecord.getAmountReceived());//累加实收
inAccount = getInAccount(receivableAmount, newPaidAmount);//到账状态
//更新主列表 //更新主列表
member.setPaidAmount(newPaidAmount); member.setPaidAmount(newPaidAmount);
member.setInAccount(inAccount); member.setInAccount(inAccount);
payMemberProjectSubitemMapper.updateById(member); payMemberProjectSubitemMapper.updateById(member);
}else{
throw new JeroBootException("到账金额大于当前欠款金额,不可提交!");
}
break; break;
//标协会员 //标协会员
@@ -363,37 +336,15 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
TbMemberProjectSubitem tbMember = tbMemberProjectSubitemMapper.selectById(payPaymentRecord.getProjectId()); TbMemberProjectSubitem tbMember = tbMemberProjectSubitemMapper.selectById(payPaymentRecord.getProjectId());
receivableAmount = tbMember.getAmountReceivable();//应收 receivableAmount = tbMember.getAmountReceivable();//应收
paidAmount=tbMember.getPaidAmount();//实收 paidAmount=tbMember.getPaidAmount();//实收
PayCompanyManagement payCompanyManagementTbMember = payCompanyManagementService.getById(tbMember.getCompanyId());
if(!Objects.isNull(payCompanyManagementTbMember) && "2".equals(payCompanyManagementTbMember.getStatus()) ){
throw new JeroBootException("企业未审核,需要审核后来款");
}
TbMemberProject tbMemberProject = tbMemberProjectService.getById(tbMember.getProjectId()); TbMemberProject tbMemberProject = tbMemberProjectService.getById(tbMember.getProjectId());
if(Objects.isNull(tbMemberProject)){ if(Objects.isNull(tbMemberProject)){
throw new JeroBootException("标协会员不存在!"); throw new JeroBootException("标协会员不存在!");
} }
//是否还能再添加来款 //是否还能再添加来款
isAdd = isAdd(receivableAmount,paidAmount, payPaymentRecord.getAmountReceived()); isAdd(receivableAmount,paidAmount, payPaymentRecord.getAmountReceived());
if(isAdd){
newPaidAmount =addPaidAmount(paidAmount,payPaymentRecord.getAmountReceived());//累加实收
inAccount = getInAccount(receivableAmount, newPaidAmount);//到账状态
//更新主列表
tbMember.setPaidAmount(newPaidAmount);
tbMember.setInAccount(inAccount);
tbMemberProjectSubitemMapper.updateById(tbMember);
//拼装推到标协缴费的参数
TbCheckVo tbCheckVo = new TbCheckVo();
tbCheckVo.setId(tbMember.getTbPaymentId());
tbCheckVo.setCheckMark(payPaymentRecord.getRemark());
typr5List.add(tbCheckVo);
}else{
throw new JeroBootException("到账金额大于当前欠款金额,不可提交!");
}
principalId = tbMemberProject.getDirectorId(); principalId = tbMemberProject.getDirectorId();
project = tbMemberProject.getProjectName(); project = tbMemberProject.getProjectName();
receivableAmount = tbMember.getAmountReceivable();//应收
paidAmount=tbMember.getPaidAmount();//实收
PayContactsManagement tbMemberPayContactsManagement = payContactsManagementService.getById(tbMember.getLiaisonManId()); PayContactsManagement tbMemberPayContactsManagement = payContactsManagementService.getById(tbMember.getLiaisonManId());
if(!Objects.isNull(tbMemberPayContactsManagement)){ if(!Objects.isNull(tbMemberPayContactsManagement)){
String str = JSON.toJSONString(tbMemberPayContactsManagement); String str = JSON.toJSONString(tbMemberPayContactsManagement);
@@ -401,66 +352,27 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
listId.add(meetingTemporary); listId.add(meetingTemporary);
} }
newPaidAmount =addPaidAmount(tbMember.getPaidAmount(),payPaymentRecord.getAmountReceived());//累加实收
inAccount = getInAccount(tbMember.getAmountReceivable(), newPaidAmount);//到账状态
//更新主列表
tbMember.setPaidAmount(newPaidAmount);
tbMember.setInAccount(inAccount);
tbMemberProjectSubitemMapper.updateById(tbMember);
//拼装推到标协缴费的参数
TbCheckVo tbCheckVo = new TbCheckVo();
tbCheckVo.setId(tbMember.getTbPaymentId());
tbCheckVo.setCheckMark(payPaymentRecord.getRemark());
typr5List.add(tbCheckVo);
break; break;
default:break; default:break;
} }
//插入来款记录表 //插入来款记录表
payPaymentRecordMapper.insert(payPaymentRecord); payPaymentRecordMapper.insert(payPaymentRecord);
// 发消息 // 发消息
// 获取项目负责人,发送消息 SendMessage( principalId, project, payPaymentRecord, listId);
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if(!StringUtils.isEmpty(principalId)){
SysUser sysUserInfo = sysUserService.getById(principalId);
// 发送消息
SendMessageDTO sendMessageDTO = new SendMessageDTO();
if(!StringUtils.isBlank(sysUserInfo.getEmail())){
sendMessageDTO.setEmail(PasswordUtil.decrypt(sysUserInfo.getEmail()));
}
if(!StringUtils.isEmpty(sysUserInfo.getPhone())){
sendMessageDTO.setPhone(PasswordUtil.decrypt(sysUserInfo.getPhone()));
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
HashMap<String,String> map = new HashMap<>();
map.put("projectName", project);
map.put("time", sdf.format(payPaymentRecord.getCreateTime()));
map.put("amount", String.valueOf(payPaymentRecord.getAmountReceived()));
sendMessageDTO.setFromUser(sysUser.getUsername());
sendMessageDTO.setToUser(sysUserInfo.getUsername());
sendMessageDTO.setTemplateCode(ManagementMessageEnums.MSG11.getCode());
sendMessageDTO.setTemplateParam(map);
sendMessageDTO.setBusType("M_OPEN_TYPE11");
JSONObject json = new JSONObject();
json.put("id",payPaymentRecord.getProjectId());
sendMessageDTO.setBusId(json.toJSONString());
sendMessageService.SendMessageService(sendMessageDTO);
}
// 发送给项目企业联系人
if(!CollectionUtils.isEmpty(listId)){
String finalProject = project;
listId.forEach(p->{
// 发送消息
SendMessageDTO sendMessageDTO = new SendMessageDTO();
if(!StringUtils.isBlank(p.getEmail())){
sendMessageDTO.setEmail(PasswordUtil.decrypt(p.getEmail()));
}
if(!StringUtils.isEmpty(p.getPhone())){
sendMessageDTO.setPhone(PasswordUtil.decrypt(p.getPhone()));
sendMessageDTO.setToUser(PasswordUtil.decrypt(p.getPhone()));
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
HashMap<String,String> map = new HashMap<>();
map.put("projectName", finalProject);
map.put("amount", String.valueOf(payPaymentRecord.getAmountReceived()));
sendMessageDTO.setFromUser(sysUser.getUsername());
sendMessageDTO.setTemplateCode(CompanyMessageEnums.MSG14.getCode());
sendMessageDTO.setTemplateParam(map);
sendMessageDTO.setBusType("C_OPEN_TYPE14");
JSONObject json = new JSONObject();
json.put("id",payPaymentRecord.getProjectId());
sendMessageDTO.setBusId(json.toJSONString());
sendMessageService.SendMessageService(sendMessageDTO);
});
}
} }
/** /**
@@ -557,7 +469,7 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
* @param amountReceived 到账 * @param amountReceived 到账
* @return * @return
*/ */
private Boolean isAdd(BigDecimal receivableAmount,BigDecimal paidAmount,BigDecimal amountReceived){ private void isAdd(BigDecimal receivableAmount,BigDecimal paidAmount,BigDecimal amountReceived){
if(receivableAmount == null){ if(receivableAmount == null){
receivableAmount = new BigDecimal("0"); receivableAmount = new BigDecimal("0");
} }
@@ -568,10 +480,7 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
BigDecimal debt = receivableAmount.subtract(paidAmount).setScale(2, BigDecimal.ROUND_HALF_UP); BigDecimal debt = receivableAmount.subtract(paidAmount).setScale(2, BigDecimal.ROUND_HALF_UP);
if(amountReceived.compareTo(debt) == 1){ if(amountReceived.compareTo(debt) == 1){
//本次到账金额大于欠款 throw new JeroBootException("到账金额大于当前款金额,不可提交!");
return Boolean.FALSE;
}else{
return Boolean.TRUE;
} }
} }
@@ -624,7 +533,64 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
} }
} }
//发送消息
public void SendMessage(String principalId,String project,PayPaymentRecord payPaymentRecord,
List<PayContactsManagementTemporary> listId){
// 发送给项目负责人
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if(!StringUtils.isEmpty(principalId)){
SysUser sysUserInfo = sysUserService.getById(principalId);
// 发送消息
SendMessageDTO sendMessageDTO = new SendMessageDTO();
if(!StringUtils.isBlank(sysUserInfo.getEmail())){
sendMessageDTO.setEmail(PasswordUtil.decrypt(sysUserInfo.getEmail()));
}
if(!StringUtils.isEmpty(sysUserInfo.getPhone())){
sendMessageDTO.setPhone(PasswordUtil.decrypt(sysUserInfo.getPhone()));
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
HashMap<String,String> map = new HashMap<>();
map.put("projectName", project);
map.put("time", sdf.format(payPaymentRecord.getCreateTime()));
map.put("amount", String.valueOf(payPaymentRecord.getAmountReceived()));
sendMessageDTO.setFromUser(sysUser.getUsername());
sendMessageDTO.setToUser(sysUserInfo.getUsername());
sendMessageDTO.setTemplateCode(ManagementMessageEnums.MSG11.getCode());
sendMessageDTO.setTemplateParam(map);
sendMessageDTO.setBusType("M_OPEN_TYPE11");
JSONObject json = new JSONObject();
json.put("id",payPaymentRecord.getProjectId());
sendMessageDTO.setBusId(json.toJSONString());
sendMessageService.SendMessageService(sendMessageDTO);
}
// 发送给项目企业联系人
if(!CollectionUtils.isEmpty(listId)){
String finalProject = project;
listId.forEach(p->{
// 发送消息
SendMessageDTO sendMessageDTO = new SendMessageDTO();
if(!StringUtils.isBlank(p.getEmail())){
sendMessageDTO.setEmail(PasswordUtil.decrypt(p.getEmail()));
}
if(!StringUtils.isEmpty(p.getPhone())){
sendMessageDTO.setPhone(PasswordUtil.decrypt(p.getPhone()));
sendMessageDTO.setToUser(PasswordUtil.decrypt(p.getPhone()));
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
HashMap<String,String> map = new HashMap<>();
map.put("projectName", finalProject);
map.put("amount", String.valueOf(payPaymentRecord.getAmountReceived()));
sendMessageDTO.setFromUser(sysUser.getUsername());
sendMessageDTO.setTemplateCode(CompanyMessageEnums.MSG14.getCode());
sendMessageDTO.setTemplateParam(map);
sendMessageDTO.setBusType("C_OPEN_TYPE14");
JSONObject json = new JSONObject();
json.put("id",payPaymentRecord.getProjectId());
sendMessageDTO.setBusId(json.toJSONString());
sendMessageService.SendMessageService(sendMessageDTO);
});
}
}
/** /**
* 编辑来款 * 编辑来款
* @param payPaymentRecord * @param payPaymentRecord
@@ -648,18 +614,16 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
receivableAmount = payCommonProject.getReceivableAmount();//应收 receivableAmount = payCommonProject.getReceivableAmount();//应收
paidAmount=payCommonProject.getPaidAmount().subtract(oldRecord.getAmountReceived()).setScale(2, BigDecimal.ROUND_HALF_UP);//实收-上次来款 paidAmount=payCommonProject.getPaidAmount().subtract(oldRecord.getAmountReceived()).setScale(2, BigDecimal.ROUND_HALF_UP);//实收-上次来款
//是否还能再添加来款 //是否还能再添加来款
isAdd = isAdd(receivableAmount,paidAmount, payPaymentRecord.getAmountReceived()); isAdd(receivableAmount,paidAmount, payPaymentRecord.getAmountReceived());
if(isAdd){
newPaidAmount =addPaidAmount(paidAmount,payPaymentRecord.getAmountReceived());//累加实收 newPaidAmount =addPaidAmount(paidAmount,payPaymentRecord.getAmountReceived());//累加实收
inAccount = getInAccount(receivableAmount, newPaidAmount);//到账状态 inAccount = getInAccount(receivableAmount, newPaidAmount);//到账状态
//更新主列表
payCommonProject.setPaidAmount(newPaidAmount);
payCommonProject.setInAccount(inAccount);
payCommonProjectMapper.updateById(payCommonProject);
//更新主列表
payCommonProject.setPaidAmount(newPaidAmount);
payCommonProject.setInAccount(inAccount);
payCommonProjectMapper.updateById(payCommonProject);
}else{
throw new JeroBootException("到账金额大于当前欠款金额,不可提交!");
}
break; break;
// 工作组项目 // 工作组项目
case PayIncomeContractCommon.PROJECT_TYPE2: case PayIncomeContractCommon.PROJECT_TYPE2:
@@ -669,18 +633,16 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
paidAmount=payWorking.getPaidAmount().subtract(oldRecord.getAmountReceived()).setScale(2, BigDecimal.ROUND_HALF_UP);//实收-上次来款 paidAmount=payWorking.getPaidAmount().subtract(oldRecord.getAmountReceived()).setScale(2, BigDecimal.ROUND_HALF_UP);//实收-上次来款
//是否还能再添加来款 //是否还能再添加来款
isAdd = isAdd(receivableAmount,paidAmount, payPaymentRecord.getAmountReceived()); isAdd(receivableAmount,paidAmount, payPaymentRecord.getAmountReceived());
if(isAdd){
newPaidAmount =addPaidAmount(paidAmount,payPaymentRecord.getAmountReceived());//累加实收 newPaidAmount =addPaidAmount(paidAmount,payPaymentRecord.getAmountReceived());//累加实收
inAccount = getInAccount(receivableAmount, newPaidAmount);//到账状态 inAccount = getInAccount(receivableAmount, newPaidAmount);//到账状态
//更新主列表
payWorking.setPaidAmount(newPaidAmount);
payWorking.setInAccount(inAccount);
payWorkingGroupSubItemMapper.updateById(payWorking);
//更新主列表
payWorking.setPaidAmount(newPaidAmount);
payWorking.setInAccount(inAccount);
payWorkingGroupSubItemMapper.updateById(payWorking);
}else{
throw new JeroBootException("到账金额大于当前欠款金额,不可提交!");
}
break; break;
//会议项目 //会议项目
case PayIncomeContractCommon.PROJECT_TYPE3: case PayIncomeContractCommon.PROJECT_TYPE3:
@@ -693,18 +655,16 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
paidAmount=meeting.getPaidAmount().subtract(oldRecord.getAmountReceived()).setScale(2, BigDecimal.ROUND_HALF_UP);//实收-上次来款 paidAmount=meeting.getPaidAmount().subtract(oldRecord.getAmountReceived()).setScale(2, BigDecimal.ROUND_HALF_UP);//实收-上次来款
//是否还能再添加来款 //是否还能再添加来款
isAdd = isAdd(receivableAmount,paidAmount, payPaymentRecord.getAmountReceived()); isAdd(receivableAmount,paidAmount, payPaymentRecord.getAmountReceived());
if(isAdd){
newPaidAmount =addPaidAmount(paidAmount,payPaymentRecord.getAmountReceived());//累加实收 newPaidAmount =addPaidAmount(paidAmount,payPaymentRecord.getAmountReceived());//累加实收
inAccount = getInAccount(receivableAmount, newPaidAmount);//到账状态 inAccount = getInAccount(receivableAmount, newPaidAmount);//到账状态
//更新主列表
meeting.setPaidAmount(newPaidAmount);
meeting.setInAccount(inAccount);
payMeetingSituationMapper.updateById(meeting);
//更新主列表
meeting.setPaidAmount(newPaidAmount);
meeting.setInAccount(inAccount);
payMeetingSituationMapper.updateById(meeting);
}else{
throw new JeroBootException("到账金额大于当前欠款金额,不可提交!");
}
break; break;
//会员项目 //会员项目
case PayIncomeContractCommon.PROJECT_TYPE4: case PayIncomeContractCommon.PROJECT_TYPE4:
@@ -714,19 +674,16 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
paidAmount=member.getPaidAmount().subtract(oldRecord.getAmountReceived()).setScale(2, BigDecimal.ROUND_HALF_UP);//实收-上次来款 paidAmount=member.getPaidAmount().subtract(oldRecord.getAmountReceived()).setScale(2, BigDecimal.ROUND_HALF_UP);//实收-上次来款
//是否还能再添加来款 //是否还能再添加来款
isAdd = isAdd(receivableAmount, paidAmount,payPaymentRecord.getAmountReceived()); isAdd(receivableAmount, paidAmount,payPaymentRecord.getAmountReceived());
if(isAdd){
newPaidAmount =addPaidAmount(paidAmount,payPaymentRecord.getAmountReceived());//累加实收
inAccount = getInAccount(receivableAmount, newPaidAmount);//到账状态
//更新主列表 newPaidAmount =addPaidAmount(paidAmount,payPaymentRecord.getAmountReceived());//累加实收
member.setPaidAmount(newPaidAmount); inAccount = getInAccount(receivableAmount, newPaidAmount);//到账状态
member.setInAccount(inAccount);
payMemberProjectSubitemMapper.updateById(member); //更新主列表
member.setPaidAmount(newPaidAmount);
member.setInAccount(inAccount);
payMemberProjectSubitemMapper.updateById(member);
}else{
throw new JeroBootException("到账金额大于当前欠款金额,不可提交!");
}
break; break;
//标协会员 //标协会员
case PayIncomeContractCommon.PROJECT_TYPE5: case PayIncomeContractCommon.PROJECT_TYPE5: