优化来款
This commit is contained in:
-2
@@ -53,6 +53,4 @@ public class PayPaymentCheckController extends JeroController<PayPaymentCheck, I
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+15
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
+117
-160
@@ -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();//实收
|
newPaidAmount =addPaidAmount(payCommonProject.getPaidAmount(),payPaymentRecord.getAmountReceived());//累加实收
|
||||||
//是否还能再添加来款
|
inAccount = getInAccount(payCommonProject.getReceivableAmount(), newPaidAmount);//到账状态
|
||||||
isAdd = isAdd(receivableAmount,paidAmount, payPaymentRecord.getAmountReceived());
|
|
||||||
if(isAdd){
|
|
||||||
newPaidAmount =addPaidAmount(paidAmount,payPaymentRecord.getAmountReceived());//累加实收
|
|
||||||
inAccount = getInAccount(receivableAmount, newPaidAmount);//到账状态
|
|
||||||
|
|
||||||
//更新主列表
|
//更新主列表
|
||||||
payCommonProject.setPaidAmount(newPaidAmount);
|
payCommonProject.setPaidAmount(newPaidAmount);
|
||||||
payCommonProject.setInAccount(inAccount);
|
payCommonProject.setInAccount(inAccount);
|
||||||
payCommonProjectMapper.updateById(payCommonProject);
|
payCommonProjectMapper.updateById(payCommonProject);
|
||||||
}else{
|
|
||||||
throw new JeroBootException("到账金额大于当前欠款金额,不可提交!");
|
|
||||||
}
|
|
||||||
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,34 +306,27 @@ 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;
|
||||||
//标协会员
|
//标协会员
|
||||||
case PayIncomeContractCommon.PROJECT_TYPE5:
|
case PayIncomeContractCommon.PROJECT_TYPE5:
|
||||||
@@ -363,19 +336,24 @@ 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());//累加实收
|
principalId = tbMemberProject.getDirectorId();
|
||||||
inAccount = getInAccount(receivableAmount, newPaidAmount);//到账状态
|
project = tbMemberProject.getProjectName();
|
||||||
|
PayContactsManagement tbMemberPayContactsManagement = payContactsManagementService.getById(tbMember.getLiaisonManId());
|
||||||
|
if(!Objects.isNull(tbMemberPayContactsManagement)){
|
||||||
|
String str = JSON.toJSONString(tbMemberPayContactsManagement);
|
||||||
|
PayContactsManagementTemporary meetingTemporary = JSONObject.parseObject(str,PayContactsManagementTemporary.class);
|
||||||
|
listId.add(meetingTemporary);
|
||||||
|
}
|
||||||
|
|
||||||
|
newPaidAmount =addPaidAmount(tbMember.getPaidAmount(),payPaymentRecord.getAmountReceived());//累加实收
|
||||||
|
inAccount = getInAccount(tbMember.getAmountReceivable(), newPaidAmount);//到账状态
|
||||||
|
|
||||||
//更新主列表
|
//更新主列表
|
||||||
tbMember.setPaidAmount(newPaidAmount);
|
tbMember.setPaidAmount(newPaidAmount);
|
||||||
@@ -387,19 +365,6 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
|
|||||||
tbCheckVo.setId(tbMember.getTbPaymentId());
|
tbCheckVo.setId(tbMember.getTbPaymentId());
|
||||||
tbCheckVo.setCheckMark(payPaymentRecord.getRemark());
|
tbCheckVo.setCheckMark(payPaymentRecord.getRemark());
|
||||||
typr5List.add(tbCheckVo);
|
typr5List.add(tbCheckVo);
|
||||||
}else{
|
|
||||||
throw new JeroBootException("到账金额大于当前欠款金额,不可提交!");
|
|
||||||
}
|
|
||||||
principalId = tbMemberProject.getDirectorId();
|
|
||||||
project = tbMemberProject.getProjectName();
|
|
||||||
receivableAmount = tbMember.getAmountReceivable();//应收
|
|
||||||
paidAmount=tbMember.getPaidAmount();//实收
|
|
||||||
PayContactsManagement tbMemberPayContactsManagement = payContactsManagementService.getById(tbMember.getLiaisonManId());
|
|
||||||
if(!Objects.isNull(tbMemberPayContactsManagement)){
|
|
||||||
String str = JSON.toJSONString(tbMemberPayContactsManagement);
|
|
||||||
PayContactsManagementTemporary meetingTemporary = JSONObject.parseObject(str,PayContactsManagementTemporary.class);
|
|
||||||
listId.add(meetingTemporary);
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
break;
|
||||||
default:break;
|
default:break;
|
||||||
@@ -407,60 +372,7 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
|
|||||||
//插入来款记录表
|
//插入来款记录表
|
||||||
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,8 +614,8 @@ 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);//到账状态
|
||||||
|
|
||||||
@@ -657,9 +623,7 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
|
|||||||
payCommonProject.setPaidAmount(newPaidAmount);
|
payCommonProject.setPaidAmount(newPaidAmount);
|
||||||
payCommonProject.setInAccount(inAccount);
|
payCommonProject.setInAccount(inAccount);
|
||||||
payCommonProjectMapper.updateById(payCommonProject);
|
payCommonProjectMapper.updateById(payCommonProject);
|
||||||
}else{
|
|
||||||
throw new JeroBootException("到账金额大于当前欠款金额,不可提交!");
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
// 工作组项目
|
// 工作组项目
|
||||||
case PayIncomeContractCommon.PROJECT_TYPE2:
|
case PayIncomeContractCommon.PROJECT_TYPE2:
|
||||||
@@ -669,8 +633,8 @@ 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);//到账状态
|
||||||
|
|
||||||
@@ -678,9 +642,7 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
|
|||||||
payWorking.setPaidAmount(newPaidAmount);
|
payWorking.setPaidAmount(newPaidAmount);
|
||||||
payWorking.setInAccount(inAccount);
|
payWorking.setInAccount(inAccount);
|
||||||
payWorkingGroupSubItemMapper.updateById(payWorking);
|
payWorkingGroupSubItemMapper.updateById(payWorking);
|
||||||
}else{
|
|
||||||
throw new JeroBootException("到账金额大于当前欠款金额,不可提交!");
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
//会议项目
|
//会议项目
|
||||||
case PayIncomeContractCommon.PROJECT_TYPE3:
|
case PayIncomeContractCommon.PROJECT_TYPE3:
|
||||||
@@ -693,8 +655,8 @@ 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);//到账状态
|
||||||
|
|
||||||
@@ -702,9 +664,7 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
|
|||||||
meeting.setPaidAmount(newPaidAmount);
|
meeting.setPaidAmount(newPaidAmount);
|
||||||
meeting.setInAccount(inAccount);
|
meeting.setInAccount(inAccount);
|
||||||
payMeetingSituationMapper.updateById(meeting);
|
payMeetingSituationMapper.updateById(meeting);
|
||||||
}else{
|
|
||||||
throw new JeroBootException("到账金额大于当前欠款金额,不可提交!");
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
//会员项目
|
//会员项目
|
||||||
case PayIncomeContractCommon.PROJECT_TYPE4:
|
case PayIncomeContractCommon.PROJECT_TYPE4:
|
||||||
@@ -714,8 +674,8 @@ 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());//累加实收
|
newPaidAmount =addPaidAmount(paidAmount,payPaymentRecord.getAmountReceived());//累加实收
|
||||||
inAccount = getInAccount(receivableAmount, newPaidAmount);//到账状态
|
inAccount = getInAccount(receivableAmount, newPaidAmount);//到账状态
|
||||||
|
|
||||||
@@ -724,9 +684,6 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
|
|||||||
member.setInAccount(inAccount);
|
member.setInAccount(inAccount);
|
||||||
payMemberProjectSubitemMapper.updateById(member);
|
payMemberProjectSubitemMapper.updateById(member);
|
||||||
|
|
||||||
}else{
|
|
||||||
throw new JeroBootException("到账金额大于当前欠款金额,不可提交!");
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
//标协会员
|
//标协会员
|
||||||
case PayIncomeContractCommon.PROJECT_TYPE5:
|
case PayIncomeContractCommon.PROJECT_TYPE5:
|
||||||
|
|||||||
Reference in New Issue
Block a user