diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbecollectionapply/LoanBeCollectionApplyService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbecollectionapply/LoanBeCollectionApplyService.java index f538f6b31c..1d1e6008fc 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbecollectionapply/LoanBeCollectionApplyService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbecollectionapply/LoanBeCollectionApplyService.java @@ -378,7 +378,7 @@ public class LoanBeCollectionApplyService extends MybatisBaseService records = new ArrayList<>(); } \ No newline at end of file diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/becollection/AppBePadsincereVehDetailsVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/becollection/AppBePadsincereVehDetailsVo.java index 777e1655c2..8956f91bb9 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/becollection/AppBePadsincereVehDetailsVo.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/becollection/AppBePadsincereVehDetailsVo.java @@ -31,6 +31,8 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.math.BigDecimal; + /** * Project: anrui-riskcenter(垫款申请)
* File: LoanBePadsincereVehVo.java
@@ -63,13 +65,13 @@ public class AppBePadsincereVehDetailsVo implements Vo { @ApiModelProperty("期数") private String instalments; @ApiModelProperty("系统逾期金额") - private String sysBeMoney; + private BigDecimal sysBeMoney; @ApiModelProperty("资方逾期金额") - private String bankBeMoney; + private BigDecimal bankBeMoney; @ApiModelProperty("资方逾期罚息") - private String bankBeInter; + private BigDecimal bankBeInter; @ApiModelProperty("垫款金额") - private String padMoney; + private BigDecimal padMoney; @ApiModelProperty("付款账户") private String paymentAccount; @ApiModelProperty("付款账号") diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/becollection/BeCollectionFeign.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/becollection/BeCollectionFeign.java index b786b3af14..739930fd4d 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/becollection/BeCollectionFeign.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/becollection/BeCollectionFeign.java @@ -1,6 +1,7 @@ package com.yxt.anrui.terminal.api.risk.becollection; +import com.yxt.anrui.terminal.api.autoservice.saleOrders.flowable.AppOrderDelegateQuery; import com.yxt.anrui.terminal.api.risk.becollection.flowable.*; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; @@ -83,6 +84,10 @@ public interface BeCollectionFeign { @ResponseBody ResultBean getFlowOperateTitle(@SpringQueryMap BeCollectionQuery query); + @ApiOperation(value = "加签") + @PutMapping(value = "/delegate") + @ResponseBody + public ResultBean delegate(@RequestBody AppBeCollectionDelegateQuery delegateQuery); /****************************************垫款流程审批******************************************/ @ApiOperation("办理") @@ -110,4 +115,8 @@ public interface BeCollectionFeign { @ResponseBody ResultBean getFlowOperateTitlePad(@SpringQueryMap BeCollectionQuery query); + @ApiOperation(value = "加签") + @PutMapping(value = "/delegatePad") + @ResponseBody + public ResultBean delegatePad(@RequestBody AppBeCollectionDelegateQuery delegateQuery); } diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/becollection/flowable/AppBeCollectionDelegateQuery.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/becollection/flowable/AppBeCollectionDelegateQuery.java new file mode 100644 index 0000000000..1d15dba927 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/becollection/flowable/AppBeCollectionDelegateQuery.java @@ -0,0 +1,25 @@ +package com.yxt.anrui.terminal.api.risk.becollection.flowable; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/9/28 10:16 + */ +@Data +public class AppBeCollectionDelegateQuery { + @ApiModelProperty + private String userSid; + @ApiModelProperty("流程实例id") + @JsonProperty("procInsId") + private String instanceId; + @ApiModelProperty("任务Id") + private String taskId; + @ApiModelProperty("审批人sid") + private String assignee; + @ApiModelProperty("填写意见") + private String views; +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/becollection/BeCollectionRest.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/becollection/BeCollectionRest.java index f8d8154e5f..ac67c01bc2 100644 --- a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/becollection/BeCollectionRest.java +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/becollection/BeCollectionRest.java @@ -106,6 +106,11 @@ public class BeCollectionRest implements BeCollectionFeign { return beCollectionService.getFlowOperateTitle(query); } + @Override + public ResultBean delegate(AppBeCollectionDelegateQuery delegateQuery) { + return beCollectionService.delegate(delegateQuery); + } + @Override public ResultBean agreeCreditInfoPad(CompleteBeCollectionDto dto) { return beCollectionService.agreeCreditInfoPad(dto); @@ -130,4 +135,9 @@ public class BeCollectionRest implements BeCollectionFeign { public ResultBean getFlowOperateTitlePad(BeCollectionQuery query) { return beCollectionService.getFlowOperateTitlePad(query); } + + @Override + public ResultBean delegatePad(AppBeCollectionDelegateQuery delegateQuery) { + return beCollectionService.delegatePad(delegateQuery); + } } diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/becollection/BeCollectionService.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/becollection/BeCollectionService.java index 1192198916..1a5a061d75 100644 --- a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/becollection/BeCollectionService.java +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/becollection/BeCollectionService.java @@ -29,8 +29,10 @@ package com.yxt.anrui.terminal.biz.risk.becollection; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateUtil; import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder; +import com.yxt.anrui.buscenter.api.bussalesorder.flowable.BusSalesOrderDelegateQuery; import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign; import com.yxt.anrui.buscenter.api.bussalesordervehicle.ReaRepaymentDto; +import com.yxt.anrui.fin.api.finpaymentrecord.FinPaymentrecordFeign; import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; @@ -65,6 +67,7 @@ import com.yxt.common.core.vo.PagerVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -159,6 +162,15 @@ public class BeCollectionService { return rb.success().setData(data); } + public ResultBean delegate(AppBeCollectionDelegateQuery delegateQuery) { + ResultBean rb = ResultBean.fireFail(); + LoanBeCollectionApplyDelegateQuery delegateQuery1 = new + LoanBeCollectionApplyDelegateQuery(); + BeanUtil.copyProperties(delegateQuery, delegateQuery1); + loanBeCollectionApplyFeign.delegate(delegateQuery1); + return rb.success(); + } + /******************************************************************************************************************************************/ public ResultBean agreeCreditInfoPad(CompleteBeCollectionDto dto) { @@ -231,6 +243,15 @@ public class BeCollectionService { return rb.success().setData(data); } + public ResultBean delegatePad(AppBeCollectionDelegateQuery delegateQuery) { + ResultBean rb = ResultBean.fireFail(); + LoanBePadsincereDelegateQuery delegateQuery1 = new + LoanBePadsincereDelegateQuery(); + BeanUtil.copyProperties(delegateQuery, delegateQuery1); + loanBePadsincereApplyFeign.delegate(delegateQuery1); + return rb.success(); + } + /******************************************************************************************************************************************/ public ResultBean collectionDetail(String sid) { @@ -250,7 +271,7 @@ public class BeCollectionService { appBeCollectionApplyDetailsVo.setProcInsId(loanBeCollectionApplyDetailsVo.getProcInstSid()); List files = loanBeCollectionApplyDetailsVo.getFiles(); List fj = new ArrayList<>(); - if (files != null && files.size() > 0){ + if (files != null && files.size() > 0) { for (LoanBeCollectionFileVo file : files) { fj.add(file.getUrl()); } @@ -274,7 +295,7 @@ public class BeCollectionService { appBeCollectionVehDetailsVo.setBeOverdueMoneyAndPeriod(loanBeCollectionVehDetail.getBeOverdueMoneyAndPeriod()); List hkxyFiles = loanBeCollectionVehDetail.getHkxyFiles(); ArrayList appHkxys = new ArrayList<>(); - if (hkxyFiles != null && hkxyFiles.size() > 0){ + if (hkxyFiles != null && hkxyFiles.size() > 0) { for (LoanBeCollectionFileVo hkxyFile : hkxyFiles) { appHkxys.add(hkxyFile.getUrl()); } @@ -282,19 +303,19 @@ public class BeCollectionService { appBeCollectionVehDetailsVo.setAppHkxy(appHkxys); List sids = loanBeCollectionVehDetail.getSids(); for (LoanBeCollectionVehFile loanBeCollectionVehFile : sids) { - if ("催收记录".equals(loanBeCollectionVehFile.getName())){ + if ("催收记录".equals(loanBeCollectionVehFile.getName())) { appBeCollectionVehDetailsVo.setCsjlSid(loanBeCollectionVehFile.getSid()); } - if ("开票信息".equals(loanBeCollectionVehFile.getName())){ + if ("开票信息".equals(loanBeCollectionVehFile.getName())) { appBeCollectionVehDetailsVo.setKpglSid(loanBeCollectionVehFile.getSid()); } - if ("月还明细".equals(loanBeCollectionVehFile.getName())){ + if ("月还明细".equals(loanBeCollectionVehFile.getName())) { appBeCollectionVehDetailsVo.setYhmxSid(loanBeCollectionVehFile.getSid()); } - if ("金融方案".equals(loanBeCollectionVehFile.getName())){ + if ("金融方案".equals(loanBeCollectionVehFile.getName())) { appBeCollectionVehDetailsVo.setJrfaSid(loanBeCollectionVehFile.getSid()); } - if ("家访考察报告".equals(loanBeCollectionVehFile.getName())){ + if ("家访考察报告".equals(loanBeCollectionVehFile.getName())) { appBeCollectionVehDetailsVo.setJfkcSid(loanBeCollectionVehFile.getSid()); } } @@ -317,7 +338,7 @@ public class BeCollectionService { appBePadsincereApplyDetailsVo.setProcInsId(loanBePadsincereApplyDetailsVo.getProcInstSid()); List fileUrlList = loanBePadsincereApplyDetailsVo.getFileUrlList(); List fj = new ArrayList<>(); - if (fileUrlList != null && fileUrlList.size() > 0){ + if (fileUrlList != null && fileUrlList.size() > 0) { for (LoanBePadsincereFile file : fileUrlList) { fj.add(file.getUrl()); } @@ -334,10 +355,10 @@ public class BeCollectionService { appBePadsincereVehDetailsVo.setCusName(loanBePadsincereVehDetailsVo.getCustomerName()); appBePadsincereVehDetailsVo.setLoanName(loanBePadsincereVehDetailsVo.getBorrowerName()); appBePadsincereVehDetailsVo.setInstalments("期數:" + loanBePadsincereVehDetailsVo.getPeriod()); - appBePadsincereVehDetailsVo.setSysBeMoney(loanBePadsincereVehDetailsVo.getSysBeMoney()); - appBePadsincereVehDetailsVo.setBankBeMoney(loanBePadsincereVehDetailsVo.getBankBeMoney()); - appBePadsincereVehDetailsVo.setBankBeInter(loanBePadsincereVehDetailsVo.getBankBeInter()); - appBePadsincereVehDetailsVo.setPadMoney(loanBePadsincereVehDetailsVo.getPadMoney()); + appBePadsincereVehDetailsVo.setSysBeMoney(new BigDecimal(loanBePadsincereVehDetailsVo.getSysBeMoney())); + appBePadsincereVehDetailsVo.setBankBeMoney(new BigDecimal(loanBePadsincereVehDetailsVo.getBankBeMoney())); + appBePadsincereVehDetailsVo.setBankBeInter(new BigDecimal(loanBePadsincereVehDetailsVo.getBankBeInter())); + appBePadsincereVehDetailsVo.setPadMoney(new BigDecimal(loanBePadsincereVehDetailsVo.getPadMoney())); appBePadsincereVehDetailsVo.setPaymentAccount(loanBePadsincereVehDetailsVo.getPaymentAccount()); appBePadsincereVehDetailsVo.setPaymentNum(loanBePadsincereVehDetailsVo.getPaymentNum()); appBePadsincereVehDetailsVo.setBankCollectionAcc(loanBePadsincereVehDetailsVo.getBankCollectionAcc()); @@ -346,6 +367,16 @@ public class BeCollectionService { appBePadsincereVehDetailsVos.add(appBePadsincereVehDetailsVo); } appBePadsincereApplyDetailsVo.setRecords(appBePadsincereVehDetailsVos); + //平台逾期月还合计 + BigDecimal ptyqyhTotal = appBePadsincereVehDetailsVos.stream().map(AppBePadsincereVehDetailsVo::getSysBeMoney).reduce(BigDecimal.ZERO, BigDecimal::add); + //资方逾期月还合计 + BigDecimal zfyqyhTotal = appBePadsincereVehDetailsVos.stream().map(AppBePadsincereVehDetailsVo::getBankBeMoney).reduce(BigDecimal.ZERO, BigDecimal::add); + //资方逾期利息合计 + BigDecimal zfyqlxTotal = appBePadsincereVehDetailsVos.stream().map(AppBePadsincereVehDetailsVo::getBankBeInter).reduce(BigDecimal.ZERO, BigDecimal::add); + //垫款金额合计 + BigDecimal dkjeTotal = appBePadsincereVehDetailsVos.stream().map(AppBePadsincereVehDetailsVo::getPadMoney).reduce(BigDecimal.ZERO, BigDecimal::add); + String totalAmount = "平台逾期月还合计:" + ptyqyhTotal.toString() + ",资方逾期月还合计:" + zfyqyhTotal.toString() + ",资方逾期利息合计:" + zfyqlxTotal.toString() + ",垫款金额合计:" + dkjeTotal.toString(); + appBePadsincereApplyDetailsVo.setTotalAmount(totalAmount); return rb.success().setData(appBePadsincereApplyDetailsVo); } @@ -390,14 +421,14 @@ public class BeCollectionService { ResultBean rb = ResultBean.fireFail(); ReaRepaymentVo reaRepaymentVo = loanBeOverdueVehFegin.initReaRepayment(saleVehSid).getData(); AppReaRepaymentVo appReaRepaymentVo = new AppReaRepaymentVo(); - BeanUtil.copyProperties(reaRepaymentVo,appReaRepaymentVo); + BeanUtil.copyProperties(reaRepaymentVo, appReaRepaymentVo); return rb.success().setData(appReaRepaymentVo); } public ResultBean maintReaRepayment(AppReaRepaymentDto appReaRepaymentDto) { ResultBean rb = ResultBean.fireFail(); ReaRepaymentDto reaRepaymentDto = new ReaRepaymentDto(); - BeanUtil.copyProperties(appReaRepaymentDto,reaRepaymentDto); + BeanUtil.copyProperties(appReaRepaymentDto, reaRepaymentDto); busSalesOrderVehicleFeign.maintReaRepayment(reaRepaymentDto); return rb.success(); } @@ -406,7 +437,7 @@ public class BeCollectionService { ResultBean rb = ResultBean.fireFail(); LoanBeCollectionRecordInit loanBeCollectionRecordInit = loanBeCollectionRecordFeign.init(saleVehSid).getData(); AppBeCollectionRecordInit appBeCollectionRecordInit = new AppBeCollectionRecordInit(); - BeanUtil.copyProperties(loanBeCollectionRecordInit,appBeCollectionRecordInit); + BeanUtil.copyProperties(loanBeCollectionRecordInit, appBeCollectionRecordInit); List loanBeCollectionRecordVehInitList = loanBeCollectionRecordInit.getLoanBeCollectionRecordVehInitList(); List appBeCollectionRecordVehInits = new ArrayList<>(); for (LoanBeCollectionRecordVehInit loanBeCollectionRecordVehInit : loanBeCollectionRecordVehInitList) { @@ -461,7 +492,7 @@ public class BeCollectionService { loanBeCollectionRecordDto.setSaleVehSids(dto.getSaleVehSids()); List files = dto.getFiles(); List loanBeCollectionRecordFiles = new ArrayList<>(); - if (files != null && files.size() > 0){ + if (files != null && files.size() > 0) { for (String file : files) { LoanBeCollectionRecordFile loanBeCollectionRecordFile = new LoanBeCollectionRecordFile(); loanBeCollectionRecordFile.setUrl(file);