Merge remote-tracking branch 'origin/branch20211210' into branch20211210

This commit is contained in:
zhangqinlin
2021-12-16 19:20:51 +08:00
3 changed files with 126 additions and 102 deletions
@@ -66,6 +66,30 @@ public class PayPaymentCheckController extends JeroController<PayPaymentRecordSu
return Result.OK("操作成功");
}
@ApiOperation(value="删除", notes="删除")
@PostMapping(value = "/delete")
public Result<?> delete(@RequestBody PayPaymentRecord payPaymentRecord) {
try{
payPaymentCheckService.delete(payPaymentRecord);
}catch (Exception e){
log.error("删除异常",e);
return Result.error(e.getMessage());
}
return Result.OK("操作成功");
}
@ApiOperation(value="编辑", notes="编辑")
@PostMapping(value = "/edit")
public Result<?> edit(@RequestBody PayPaymentRecord payPaymentRecord) {
try{
payPaymentCheckService.edit(payPaymentRecord);
}catch (Exception e){
log.error("编辑异常",e);
return Result.error(e.getMessage());
}
return Result.OK("操作成功");
}
@ApiOperation(value="审核", notes="审核")
@PostMapping(value = "/check")
@RequiresPermissions("incomePaymentAndInvoiving:audit")
@@ -29,6 +29,18 @@ public interface IPayPaymentCheckService extends IService<PayPaymentRecordSub> {
*/
void applicant(PayPaymentRecord payPaymentRecord);
/**
* 删除
* @param payPaymentRecord
*/
void delete(PayPaymentRecord payPaymentRecord);
/**
* 编辑
* @param payPaymentRecord
*/
void edit(PayPaymentRecord payPaymentRecord);
/**
* 审核
* @param payPaymentRecord
@@ -37,6 +37,7 @@ import com.jero.project.entity.PayWorkingGroup;
import com.jero.project.entity.PayWorkingGroupSubItem;
import com.jero.project.mapper.PayCommonProjectMapper;
import com.jero.project.mapper.PayWorkingGroupSubItemMapper;
import com.jero.project.service.IPayWorkingGroupService;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
@@ -84,6 +85,8 @@ public class PayPaymentCheckServiceImpl extends ServiceImpl<PayPaymentCheckMappe
private SendMessageService sendMessageService;
@Resource
private ISysBaseAPI sysBaseAPI;
@Resource
private IPayWorkingGroupService payWorkingGroupService;
/**
* 来款列表
@@ -144,6 +147,7 @@ public class PayPaymentCheckServiceImpl extends ServiceImpl<PayPaymentCheckMappe
//列表
LambdaQueryWrapper<PayPaymentRecordSub> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(PayPaymentRecordSub::getProjectId, id);
wrapper.ne(PayPaymentRecordSub::getPaymentStatus, PaymentStatusEnum.TO_BE_REVIEWED.getCode());
wrapper.orderByAsc(PayPaymentRecordSub::getPaymentDate);
List<PayPaymentRecordSub> list = payPaymentCheckService.list(wrapper);
list.forEach(p -> {
@@ -170,8 +174,8 @@ public class PayPaymentCheckServiceImpl extends ServiceImpl<PayPaymentCheckMappe
throw new JeroBootException("有待完成的阶段信息");
}
String projectId;
String projectName;
String principalId;
String project;
switch (String.valueOf(payPaymentRecord.getProjectType())){
// 普通项目
@@ -179,41 +183,29 @@ public class PayPaymentCheckServiceImpl extends ServiceImpl<PayPaymentCheckMappe
//来款条件校验
payPaymentRecordService.amountReceivedVerification( payPaymentRecord, ProjectCommon.PAYMENT_FLAG2);
PayCommonProject payCommonProject = new PayCommonProject();
payCommonProject.setId(payPaymentRecord.getProjectId());
PayCommonProject payCommonProject = payCommonProjectMapper.selectById(payPaymentRecord.getProjectId());
payCommonProject.setPaymentStatus(PaymentStatusEnum.TO_BE_REVIEWED.getCode());
payCommonProjectMapper.updateById(payCommonProject);
//
// projectId = payCommonProject.getId();
// projectName=payCommonProject.getChargeProject();
//发消息参数
principalId = payCommonProject.getId();
project=payCommonProject.getChargeProject();
break;
// 工作组项目
case PayIncomeContractCommon.PROJECT_TYPE2:
//来款条件校验
payPaymentRecordService.amountReceivedVerification( payPaymentRecord, ProjectCommon.PAYMENT_FLAG2);
PayWorkingGroupSubItem payWorking = new PayWorkingGroupSubItem();
// PayWorkingGroup payWorkingGroup = payWorkingGroupService.getById(payWorking.getWorkingGroupId());
PayWorkingGroupSubItem payWorking = payWorkingGroupSubItemMapper.selectById(payPaymentRecord.getProjectId());
PayWorkingGroup payWorkingGroup = payWorkingGroupService.getById(payWorking.getWorkingGroupId());
payWorking.setId(payPaymentRecord.getProjectId());
payWorking.setPaymentStatus(PaymentStatusEnum.TO_BE_REVIEWED.getCode());
payWorkingGroupSubItemMapper.updateById(payWorking);
// projectId = payWorking.getId();
// projectName=payWorking.getChargeProject();
break;
//会议项目
case PayIncomeContractCommon.PROJECT_TYPE3:
//来款条件校验
payPaymentRecordService.amountReceivedVerification( payPaymentRecord, ProjectCommon.PAYMENT_FLAG2);
PayMeetingSituation meeting = new PayMeetingSituation();
meeting.setId(payPaymentRecord.getProjectId());
meeting.setPaymentStatus(PaymentStatusEnum.TO_BE_REVIEWED.getCode());
payMeetingSituationMapper.updateById(meeting);
//
// projectId = meeting.getId();
// projectName=meeting.getChargeProject();
//发消息参数
principalId = payWorkingGroup.getPrincipalIdA();
project = payWorkingGroup.getWorkingGroupProject();
break;
//会员项目
case PayIncomeContractCommon.PROJECT_TYPE4:
@@ -225,32 +217,6 @@ public class PayPaymentCheckServiceImpl extends ServiceImpl<PayPaymentCheckMappe
member.setPaymentStatus(PaymentStatusEnum.TO_BE_REVIEWED.getCode());
payMemberProjectSubitemMapper.updateById(member);
break;
//标协会员
case PayIncomeContractCommon.PROJECT_TYPE5:
//标协类型条件校验
payPaymentRecordService.type5AddCheck(payPaymentRecord);
//来款条件校验
payPaymentRecordService.amountReceivedVerification( payPaymentRecord, ProjectCommon.PAYMENT_FLAG2);
TbMemberProjectSubitem tbMember= new TbMemberProjectSubitem();
tbMember.setId(payPaymentRecord.getProjectId());
tbMember.setPaymentStatus(PaymentStatusEnum.TO_BE_REVIEWED.getCode());
tbMemberProjectSubitemMapper.updateById(tbMember);
break;
//标协证书
case PayIncomeContractCommon.PROJECT_TYPE6:
//标协类型条件校验
payPaymentRecordService.type6AddCheck(payPaymentRecord);
//来款条件校验
payPaymentRecordService.amountReceivedVerification( payPaymentRecord, ProjectCommon.PAYMENT_FLAG2);
TbCertificatePayment certificatePayment= new TbCertificatePayment();
certificatePayment.setId(payPaymentRecord.getProjectId());
certificatePayment.setPaymentStatus(PaymentStatusEnum.TO_BE_REVIEWED.getCode());
certificatePaymentMapper.updateById(certificatePayment);
break;
default:break;
}
@@ -262,12 +228,83 @@ public class PayPaymentCheckServiceImpl extends ServiceImpl<PayPaymentCheckMappe
payPaymentRecordMapper.insert(payPaymentRecord);
PayPaymentRecordSub payPaymentRecordSub = new PayPaymentRecordSub();
payPaymentRecordSub.setRecordId(payPaymentRecord.getId());
BeanUtils.copyProperties(payPaymentRecord, payPaymentRecordSub);
payPaymentCheckMapper.insert(payPaymentRecordSub);
// uploadSendMessage();
}
/**
* 删除
* @param payPaymentRecord
*/
public void delete(PayPaymentRecord payPaymentRecord){
if(!PaymentStatusEnum.REJECTED.getCode().equals(payPaymentRecord.getPaymentStatus())){
throw new JeroBootException("只有拒绝的才可删除");
}
payPaymentRecordMapper.deleteById(payPaymentRecord.getId());
}
/**
* 编辑
* @param payPaymentRecord
*/
public void edit(PayPaymentRecord payPaymentRecord){
if(!PaymentStatusEnum.REJECTED.getCode().equals(payPaymentRecord.getPaymentStatus())){
throw new JeroBootException("只有拒绝的才可编辑");
}
switch (String.valueOf(payPaymentRecord.getProjectType())){
// 普通项目
case PayIncomeContractCommon.PROJECT_TYPE1:
//来款条件校验
payPaymentRecordService.amountReceivedVerification( payPaymentRecord, ProjectCommon.PAYMENT_FLAG2);
PayCommonProject payCommonProject = new PayCommonProject();
payCommonProject.setId(payPaymentRecord.getProjectId());
payCommonProject.setPaymentStatus(PaymentStatusEnum.TO_BE_REVIEWED.getCode());
payCommonProjectMapper.updateById(payCommonProject);
break;
// 工作组项目
case PayIncomeContractCommon.PROJECT_TYPE2:
//来款条件校验
payPaymentRecordService.amountReceivedVerification( payPaymentRecord, ProjectCommon.PAYMENT_FLAG2);
PayWorkingGroupSubItem payWorking = new PayWorkingGroupSubItem();
payWorking.setId(payPaymentRecord.getProjectId());
payWorking.setPaymentStatus(PaymentStatusEnum.TO_BE_REVIEWED.getCode());
payWorkingGroupSubItemMapper.updateById(payWorking);
break;
//会员项目
case PayIncomeContractCommon.PROJECT_TYPE4:
//来款条件校验
payPaymentRecordService.amountReceivedVerification( payPaymentRecord, ProjectCommon.PAYMENT_FLAG2);
PayMemberProjectSubitem member = new PayMemberProjectSubitem();
member.setId(payPaymentRecord.getProjectId());
member.setPaymentStatus(PaymentStatusEnum.TO_BE_REVIEWED.getCode());
payMemberProjectSubitemMapper.updateById(member);
break;
default:break;
}
//更新来款记录表
LoginUser sysUser = (LoginUser)SecurityUtils.getSubject().getPrincipal();
payPaymentRecord.setApplicantName(sysUser.getRealname());
payPaymentRecord.setPaymentStatus(PaymentStatusEnum.TO_BE_REVIEWED.getCode());
payPaymentRecordMapper.updateById(payPaymentRecord);
//新增子表
PayPaymentRecordSub payPaymentRecordSub = new PayPaymentRecordSub();
BeanUtils.copyProperties(payPaymentRecord, payPaymentRecordSub);
payPaymentRecordSub.setId(null);
payPaymentCheckMapper.insert(payPaymentRecordSub);
}
/**
* @Description 企业人员上传完汇款凭证之后 来款管理者 给财务人员 发送消息
* @Date 2021/12/16 11:16
@@ -366,7 +403,6 @@ public class PayPaymentCheckServiceImpl extends ServiceImpl<PayPaymentCheckMappe
wrapper.eq(PayPaymentRecordSub::getProjectId,payPaymentRecord.getProjectId());
payPaymentCheckMapper.update(payPaymentRecordSub,wrapper);
//通过
BigDecimal newPaidAmount;
Integer inAccount;
String paymentStatus;
@@ -418,29 +454,6 @@ public class PayPaymentCheckServiceImpl extends ServiceImpl<PayPaymentCheckMappe
//更新主列表
payWorkingGroupSubItemMapper.updateById(payWorking);
break;
//会议项目
case PayIncomeContractCommon.PROJECT_TYPE3:
//来款条件校验
payPaymentRecordService.amountReceivedVerification( payPaymentRecord, ProjectCommon.PAYMENT_FLAG2);
PayMeetingSituation meeting = payMeetingSituationMapper.selectById(payPaymentRecord.getProjectId());
if(PaymentStatusEnum.COMPLETED.getCode().equals(payPaymentRecord.getPaymentStatus())) {
//已同意
newPaidAmount =payPaymentRecordService.addPaidAmount(meeting.getPaidAmount(),payPaymentRecord.getAmountReceived());//累加实收
inAccount = payPaymentRecordService.getInAccount(meeting.getAmountReceivable(), newPaidAmount);//到账状态
meeting.setPaidAmount(newPaidAmount);
meeting.setInAccount(inAccount);
paymentStatus = getPaymentStatus(meeting.getAmountReceivable(), newPaidAmount, PaymentStatusEnum.COMPLETED.getCode());//缴费状态
}else{
paymentStatus = getPaymentStatus(meeting.getAmountReceivable(), meeting.getPaidAmount(), PaymentStatusEnum.REJECTED.getCode());//缴费状态
}
meeting.setPaymentStatus(paymentStatus);
//更新主列表
payMeetingSituationMapper.updateById(meeting);
break;
//会员项目
case PayIncomeContractCommon.PROJECT_TYPE4:
@@ -464,31 +477,6 @@ public class PayPaymentCheckServiceImpl extends ServiceImpl<PayPaymentCheckMappe
//更新主列表
payMemberProjectSubitemMapper.updateById(member);
break;
//标协会员
case PayIncomeContractCommon.PROJECT_TYPE5:
//标协类型条件校验
payPaymentRecordService.type5AddCheck(payPaymentRecord);
//来款条件校验
payPaymentRecordService.amountReceivedVerification( payPaymentRecord, ProjectCommon.PAYMENT_FLAG2);
TbMemberProjectSubitem tbMember = tbMemberProjectSubitemMapper.selectById(payPaymentRecord.getProjectId());
if(PaymentStatusEnum.COMPLETED.getCode().equals(payPaymentRecord.getPaymentStatus())) {
//已同意
newPaidAmount =payPaymentRecordService.addPaidAmount(tbMember.getPaidAmount(),payPaymentRecord.getAmountReceived());//累加实收
inAccount = payPaymentRecordService.getInAccount(tbMember.getAmountReceivable(), newPaidAmount);//到账状态
tbMember.setPaidAmount(newPaidAmount);
tbMember.setInAccount(inAccount);
paymentStatus = getPaymentStatus(tbMember.getAmountReceivable(), newPaidAmount, PaymentStatusEnum.COMPLETED.getCode());//缴费状态
}else{
paymentStatus = getPaymentStatus(tbMember.getAmountReceivable(), tbMember.getPaidAmount(), PaymentStatusEnum.REJECTED.getCode());//缴费状态
}
tbMember.setPaymentStatus(paymentStatus);
//更新主列表
tbMemberProjectSubitemMapper.updateById(tbMember);
break;
default:break;
}
@@ -519,7 +507,7 @@ public class PayPaymentCheckServiceImpl extends ServiceImpl<PayPaymentCheckMappe
// 应收>0 && 实收金额 == 应收金额
if(amountReceivable.compareTo(new BigDecimal("0.00")) > 0
&& paidAmount.compareTo(amountReceivable) == 0){
paymentStatus = PaymentStatusEnum.COMPLETED.getCode();//完结
paymentStatus = PaymentStatusEnum.COMPLETED.getCode();//完结
}
return paymentStatus;
}