第二版,来款审核

This commit is contained in:
baozhipeng
2021-12-22 19:53:26 +08:00
parent 2575a6d6f1
commit 3216cd281c
4 changed files with 94 additions and 72 deletions
@@ -0,0 +1,20 @@
package com.jero.common.enums;
/**
* 是否是本阶段最新一条标记
*/
public enum LastSignEnum {
LAST("LAST"),//本阶段最新一条
OLD("OLD");//过去的
private String code;
private LastSignEnum(String code) {
this.code = code;
}
public String getCode() {
return code;
}
}
@@ -121,14 +121,14 @@ public class PayPaymentCheckController extends JeroController<PayPaymentRecordSu
@GetMapping(value = "/getLastRecord")
public Result<?> getLastRecord(String projectId) {
List<PayPaymentRecord> list;
List<PayPaymentRecordSub> list;
try{
LambdaQueryWrapper<PayPaymentRecord> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(PayPaymentRecord::getProjectId, projectId);
wrapper.eq(PayPaymentRecord::getPaymentStatus, PaymentStatusEnum.TO_BE_REVIEWED.getCode());
wrapper.orderByDesc(PayPaymentRecord::getCreateTime);
LambdaQueryWrapper<PayPaymentRecordSub> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(PayPaymentRecordSub::getProjectId, projectId);
wrapper.eq(PayPaymentRecordSub::getPaymentStatus, PaymentStatusEnum.TO_BE_REVIEWED.getCode());
wrapper.orderByDesc(PayPaymentRecordSub::getCreateTime);
wrapper.last("limit 1");
list = payPaymentRecordService.list(wrapper);
list = payPaymentCheckService.list(wrapper);
}catch (Exception e){
log.error("审核异常",e);
@@ -40,9 +40,9 @@ public class PayPaymentRecordSub implements Serializable {
/**项目id*/
@ApiModelProperty(value = "项目id")
private java.lang.String projectId;
/**主记录id*/
@ApiModelProperty(value = "主记录id")
private java.lang.String recordId;
/**LAST:本阶段最新一条OLD:过去的*/
@ApiModelProperty(value = "LAST:本阶段最新一条OLD:过去的")
private java.lang.String lastSign;
/**项目类型*/
@ApiModelProperty(value = "项目类型")
private Integer projectType;
@@ -9,6 +9,7 @@ import com.jero.common.common.ProjectCommon;
import com.jero.common.common.RoleCommon;
import com.jero.common.dto.SendMessageDTO;
import com.jero.common.enums.CompanyMessageEnums;
import com.jero.common.enums.LastSignEnum;
import com.jero.common.enums.ManagementMessageEnums;
import com.jero.common.enums.PaymentStatusEnum;
import com.jero.common.exception.JeroBootException;
@@ -106,10 +107,11 @@ public class PayPaymentCheckServiceImpl extends ServiceImpl<PayPaymentCheckMappe
@Override
public Map<String,Object> amountReceivedList(String id, String projectType){
//列表
LambdaQueryWrapper<PayPaymentRecord> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(PayPaymentRecord::getProjectId, id);
wrapper.orderByAsc(PayPaymentRecord::getPaymentDate);
List<PayPaymentRecord> list = payPaymentRecordService.list(wrapper);
LambdaQueryWrapper<PayPaymentRecordSub> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(PayPaymentRecordSub::getProjectId, id);
wrapper.eq(PayPaymentRecordSub::getLastSign, LastSignEnum.LAST.getCode());//只查每个阶段最新的那条
wrapper.orderByAsc(PayPaymentRecordSub::getPaymentDate);
List<PayPaymentRecordSub> list = payPaymentCheckService.list(wrapper);
list.forEach(p-> {
if(StringUtils.isNotBlank(p.getPaymentStatus())){
p.setPaymentStatus_dictText(sysBaseAPI.translateDict("payment_record_status", String.valueOf(p.getPaymentStatus())));
@@ -237,18 +239,20 @@ public class PayPaymentCheckServiceImpl extends ServiceImpl<PayPaymentCheckMappe
default:break;
}
//插入来款记录表、子表
//插入来款记录子表
LoginUser sysUser = (LoginUser)SecurityUtils.getSubject().getPrincipal();
payPaymentRecord.setApplicantName(sysUser.getRealname());
payPaymentRecord.setPaymentStatus(PaymentStatusEnum.TO_BE_REVIEWED.getCode());
payPaymentRecordMapper.insert(payPaymentRecord);
// payPaymentRecord.setApplicantName(sysUser.getRealname());
// payPaymentRecord.setPaymentStatus(PaymentStatusEnum.TO_BE_REVIEWED.getCode());
// payPaymentRecordMapper.insert(payPaymentRecord);
PayPaymentRecordSub payPaymentRecordSub = new PayPaymentRecordSub();
payPaymentRecord.setApplicantName(sysUser.getRealname());
payPaymentRecord.setCreateBy(sysUser.getUsername());
payPaymentRecord.setCreateTime(new Date());
payPaymentRecord.setPaymentStatus(PaymentStatusEnum.TO_BE_REVIEWED.getCode());
BeanUtils.copyProperties(payPaymentRecord, payPaymentRecordSub);
payPaymentRecordSub.setId(null);
payPaymentRecordSub.setRecordId(payPaymentRecord.getId());
payPaymentRecordSub.setLastSign(LastSignEnum.LAST.getCode());
payPaymentCheckMapper.insert(payPaymentRecordSub);
//发消息
@@ -327,11 +331,10 @@ public class PayPaymentCheckServiceImpl extends ServiceImpl<PayPaymentCheckMappe
default:break;
}
//更新来款记录表
LoginUser sysUser = (LoginUser)SecurityUtils.getSubject().getPrincipal();
payPaymentRecord.setApplicantName(sysUser.getRealname());
payPaymentRecord.setPaymentStatus(PaymentStatusEnum.TO_BE_REVIEWED.getCode());
payPaymentRecordMapper.updateById(payPaymentRecord);
// payPaymentRecordMapper.updateById(payPaymentRecord);
//新增子表
PayPaymentRecordSub payPaymentRecordSub = new PayPaymentRecordSub();
@@ -340,9 +343,14 @@ public class PayPaymentCheckServiceImpl extends ServiceImpl<PayPaymentCheckMappe
BeanUtils.copyProperties(payPaymentRecord, payPaymentRecordSub);
payPaymentRecordSub.setId(null);
payPaymentRecordSub.setRecordId(payPaymentRecord.getId());
payPaymentRecordSub.setLastSign(LastSignEnum.LAST.getCode());
payPaymentCheckMapper.insert(payPaymentRecordSub);
//将之前的那条置为OLD
PayPaymentRecordSub oldPayPaymentRecordSub= new PayPaymentRecordSub();
oldPayPaymentRecordSub.setId(payPaymentRecord.getId());
oldPayPaymentRecordSub.setLastSign(LastSignEnum.OLD.getCode());
payPaymentCheckMapper.updateById(oldPayPaymentRecordSub);
//发消息
uploadSendMessage(principalId,payPaymentRecord.getProjectId(), project,String.valueOf(payPaymentRecord.getProjectType()));
}
@@ -452,28 +460,22 @@ public class PayPaymentCheckServiceImpl extends ServiceImpl<PayPaymentCheckMappe
if(!PaymentStatusEnum.TO_BE_REVIEWED.getCode().equals(payCommonProject.getPaymentStatus())){
throw new JeroBootException("只有待审核的才可以审核");
}
principalId = payCommonProject.getPrincipalId();
project=payCommonProject.getChargeProject();
if(PaymentStatusEnum.COMPLETED.getCode().equals(payPaymentRecord.getPaymentStatus())) {
//已同意
newPaidAmount = payPaymentRecordService.addPaidAmount(payCommonProject.getPaidAmount(), payPaymentRecord.getAmountReceived());//累加实收
inAccount = payPaymentRecordService.getInAccount(payCommonProject.getReceivableAmount(), newPaidAmount);//到账状态
payCommonProject.setPaidAmount(newPaidAmount);
payCommonProject.setInAccount(inAccount);
paymentStatus = getPaymentStatus(payCommonProject.getReceivableAmount(), newPaidAmount, PaymentStatusEnum.COMPLETED.getCode());//缴费状态
//发消息
payPaymentRecordService.sendMessage( principalId,project, payPaymentRecord,listId);
List<PayPaymentRecord> payPaymentRecords = new ArrayList<>();
payPaymentRecords.add(payPaymentRecord);
payPaymentRecordService.addAmountReceived(payPaymentRecords,ProjectCommon.PAYMENT_FLAG2);
}else{
paymentStatus = getPaymentStatus(payCommonProject.getReceivableAmount(), payCommonProject.getPaidAmount(), PaymentStatusEnum.REJECTED.getCode());//缴费状态
payCommonProject.setPaymentStatus(paymentStatus);
//更新主列表
payCommonProjectMapper.updateById(payCommonProject);
//发消息
principalId = payCommonProject.getPrincipalId();
project = payCommonProject.getChargeProject();
checkSendMessage(payPaymentRecord.getCreateBy(), principalId,project, String.valueOf(payPaymentRecord.getProjectType()));
}
payCommonProject.setPaymentStatus(paymentStatus);
//更新主列表
payCommonProjectMapper.updateById(payCommonProject);
break;
// 工作组项目
case PayIncomeContractCommon.PROJECT_TYPE2:
@@ -484,27 +486,22 @@ public class PayPaymentCheckServiceImpl extends ServiceImpl<PayPaymentCheckMappe
throw new JeroBootException("只有待审核的才可以审核");
}
principalId = payWorkingGroup.getPrincipalIdA();
project = payWorkingGroup.getWorkingGroupProject();
if(PaymentStatusEnum.COMPLETED.getCode().equals(payPaymentRecord.getPaymentStatus())) {
//已同意
newPaidAmount =payPaymentRecordService.addPaidAmount(payWorking.getPaidAmount(),payPaymentRecord.getAmountReceived());//累加实收
inAccount = payPaymentRecordService.getInAccount(payWorking.getReceivableAmount(), newPaidAmount);//到账状态
payWorking.setPaidAmount(newPaidAmount);
payWorking.setInAccount(inAccount);
paymentStatus = getPaymentStatus(payWorking.getReceivableAmount(), newPaidAmount, PaymentStatusEnum.COMPLETED.getCode());//缴费状态
//发消息
payPaymentRecordService.sendMessage( principalId,project, payPaymentRecord,listId);
List<PayPaymentRecord> payPaymentRecords = new ArrayList<>();
payPaymentRecords.add(payPaymentRecord);
payPaymentRecordService.addAmountReceived(payPaymentRecords,ProjectCommon.PAYMENT_FLAG2);
}else{
paymentStatus = getPaymentStatus(payWorking.getReceivableAmount(), payWorking.getPaidAmount(), PaymentStatusEnum.REJECTED.getCode());//缴费状态
payWorking.setPaymentStatus(paymentStatus);
//更新主列表
payWorkingGroupSubItemMapper.updateById(payWorking);
//发消息
principalId = payWorkingGroup.getPrincipalIdA();
project = payWorkingGroup.getWorkingGroupProject();
checkSendMessage(payPaymentRecord.getCreateBy(), principalId,project, String.valueOf(payPaymentRecord.getProjectType()));
}
payWorking.setPaymentStatus(paymentStatus);
//更新主列表
payWorkingGroupSubItemMapper.updateById(payWorking);
break;
//会员项目
case PayIncomeContractCommon.PROJECT_TYPE4:
@@ -515,26 +512,22 @@ public class PayPaymentCheckServiceImpl extends ServiceImpl<PayPaymentCheckMappe
throw new JeroBootException("只有待审核的才可以审核");
}
//发消息参数
principalId = payMemberProject.getDirectorId();
project = payMemberProject.getProjectName();
if(PaymentStatusEnum.COMPLETED.getCode().equals(payPaymentRecord.getPaymentStatus())) {
//已同意
newPaidAmount =payPaymentRecordService.addPaidAmount(member.getPaidAmount(),payPaymentRecord.getAmountReceived());//累加实收
inAccount = payPaymentRecordService.getInAccount(member.getAmountReceivable(), newPaidAmount);//到账状态
member.setPaidAmount(newPaidAmount);
member.setInAccount(inAccount);
paymentStatus = getPaymentStatus(member.getAmountReceivable(), newPaidAmount, PaymentStatusEnum.COMPLETED.getCode());//缴费状态
// 发消息
payPaymentRecordService.sendMessage( principalId,project, payPaymentRecord,listId);
List<PayPaymentRecord> payPaymentRecords = new ArrayList<>();
payPaymentRecords.add(payPaymentRecord);
payPaymentRecordService.addAmountReceived(payPaymentRecords,ProjectCommon.PAYMENT_FLAG2);
}else{
paymentStatus = getPaymentStatus(member.getAmountReceivable(), member.getPaidAmount(), PaymentStatusEnum.REJECTED.getCode());//缴费状态
member.setPaymentStatus(paymentStatus);
//更新主列表
payMemberProjectSubitemMapper.updateById(member);
//发消息
principalId = payMemberProject.getDirectorId();
project = payMemberProject.getProjectName();
checkSendMessage(payPaymentRecord.getCreateBy(), principalId,project, String.valueOf(payPaymentRecord.getProjectType()));
}
member.setPaymentStatus(paymentStatus);
//更新主列表
payMemberProjectSubitemMapper.updateById(member);
break;
//标协会员
case PayIncomeContractCommon.PROJECT_TYPE5:
@@ -565,11 +558,18 @@ public class PayPaymentCheckServiceImpl extends ServiceImpl<PayPaymentCheckMappe
tbCheckVo.setCheckResult(PayProjectCommon.YES);
//发消息
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);
}
payPaymentRecordService.sendMessage( principalId,project, payPaymentRecord,listId);
}else{
paymentStatus = getPaymentStatus(tbMember.getAmountReceivable(), tbMember.getPaidAmount(), PaymentStatusEnum.REJECTED.getCode());//缴费状态
tbCheckVo.setCheckResult(PayProjectCommon.NO);
checkSendMessage(payPaymentRecord.getCreateBy(), principalId,project, String.valueOf(payPaymentRecord.getProjectType()));
}
tbMember.setPaymentStatus(paymentStatus);
@@ -612,17 +612,19 @@ public class PayPaymentCheckServiceImpl extends ServiceImpl<PayPaymentCheckMappe
tbCheckCerVo.setCheckResult(PayProjectCommon.YES);
//发消息
PayContactsManagement tbMemberPayContactsManagementCer = payContactsManagementService.getById(tbMemberCertificate.getLiaisonManId());
if(!Objects.isNull(tbMemberPayContactsManagementCer)){
String str = JSON.toJSONString(tbMemberPayContactsManagementCer);
PayContactsManagementTemporary meetingTemporaryCer = JSONObject.parseObject(str,PayContactsManagementTemporary.class);
listId.add(meetingTemporaryCer);
}
//发消息
payPaymentRecordService.sendMessage( principalId,project, payPaymentRecord,listId);
}else{
paymentStatus = getPaymentStatus(tbMemberCertificate.getAmountReceivable(), tbMemberCertificate.getPaidAmount(), PaymentStatusEnum.REJECTED.getCode());//缴费状态
tbCheckCerVo.setCheckResult(PayProjectCommon.NO);
checkSendMessage(payPaymentRecord.getCreateBy(), principalId,project, String.valueOf(payPaymentRecord.getProjectType()));
}
tbMemberCertificate.setPaymentStatus(paymentStatus);
@@ -649,14 +651,15 @@ public class PayPaymentCheckServiceImpl extends ServiceImpl<PayPaymentCheckMappe
PayIncomeContractCommon.PROJECT_TYPE2.equals(String.valueOf(payPaymentRecord.getProjectType())) ||
PayIncomeContractCommon.PROJECT_TYPE4.equals(String.valueOf(payPaymentRecord.getProjectType()))){
//更新来款记录主表
payPaymentRecordMapper.updateById(payPaymentRecord);
// payPaymentRecordMapper.updateById(payPaymentRecord);
//更新来款记录表子表
LambdaUpdateWrapper<PayPaymentRecordSub> wrapper = new LambdaUpdateWrapper<>();
wrapper.eq(PayPaymentRecordSub::getRecordId,payPaymentRecord.getId());
wrapper.eq(PayPaymentRecordSub::getProjectId,payPaymentRecord.getProjectId());
wrapper.orderByDesc(PayPaymentRecordSub::getCreateTime);
PayPaymentRecordSub sub = payPaymentCheckMapper.selectList(wrapper).get(0);
// LambdaUpdateWrapper<PayPaymentRecordSub> wrapper = new LambdaUpdateWrapper<>();
// wrapper.eq(PayPaymentRecordSub::getRecordId,payPaymentRecord.getId());
// wrapper.eq(PayPaymentRecordSub::getProjectId,payPaymentRecord.getProjectId());
// wrapper.orderByDesc(PayPaymentRecordSub::getCreateTime);
// PayPaymentRecordSub sub = payPaymentCheckMapper.selectList(wrapper).get(0);
PayPaymentRecordSub sub = new PayPaymentRecordSub();
sub.setId(payPaymentRecord.getId());
sub.setRemark(payPaymentRecord.getRemark());
sub.setPaymentStatus(payPaymentRecord.getPaymentStatus());
sub.setReviewerId(payPaymentRecord.getReviewerId());
@@ -664,7 +667,6 @@ public class PayPaymentCheckServiceImpl extends ServiceImpl<PayPaymentCheckMappe
sub.setReviewTime(payPaymentRecord.getReviewTime());
sub.setReviewInstructions(payPaymentRecord.getReviewInstructions());
payPaymentCheckMapper.updateById(sub);
}
}